본문 바로가기

전체 글23

INFO:uvicorn.error:Application startup complete. 무슨 에러가 발생했나? FastAPI 서버를 실행하면 terminal에서 로그들을 보여줍니다. 이때 아래와 같은 문구가 나올 때가 있습니다. INFO:uvicorn.error:Application startup complete. 처음에 로그를 유심히 보지 않고, 첫 부분만 읽었을 때에는 uvicorn에서 무슨 에러가 발생했나?라고 생각할 수 있겠지만 뒷부분을 보면 Application startup complete.이라고 나옵니다. 저도 이 문구를 봤을 때 에러가 발생한건지? 아닌 건지? 헷갈렸었는데요. mizhgun이라는 개발자가 그 답을 알려줬습니다. 'uvicorn.error' is just the logger's name. 관련 내용 - https://github.com/encode/uvicorn.. 2022. 8. 21.
[이력서] 매력적인 신입 개발자 이력서 작성하기 채용 공고에서 지원 가능성 따져보기 개발자 채용 공고를 보면 "n년 경력 이상에 준하는 경험" 이런 문구를 한 번씩 본 적이 있을 것이다. 신입 개발자 입장에서는 미치고 팔짝 뛸 노릇이다. 이런 문구를 보면 거의 skip 했었는데, skip 하고 나니 지원할 수 있는 기업이 없었다. 하지만 원티드의 취업 특강을 듣고 나의 잘못된 구직 태도였다는 사실을 깨달았다. 채용 공고를 보면 주요 업무, 자격 조건, 우대 사항이 있다. 인사/채용 담당자 입장에서 채용하고 싶은 조건들을 최대한 많이 채용 공고에 넣는다고 한다. 그리고 이 사람들도 이 조건을 다 충족하는 사람이 별로 없다는 사실을 알고 있다고 한다. 그래서 채용 공고를 보고 바로 포기하지 말고, 자격 조건과 우대사항의 리스트를 보고 50% 이상 나에게 .. 2022. 8. 17.
[백엔드] REST API 설계 URL 설계 REST는 자원의 형태이고 모델입니다. 따라서 user(단수)가 아닌 users(복수)로 만들어야 합니다. # REST API - User CRUD # 유저 정보를 가져와 GET /users # 유저를 만들어 POST /users # 1번 유저 정보를 가져와/수정해/삭제해 GET/PUT(PATCH)/DELETE /users/1 # 유저 모델(users)에서 name이 AAA인 것을 가져와 GET /users?name=AAA # Function # 1번 유저가 membership에 가입했다. POST /users/1/registration REST API Example 자원을 표현할 때 명사를 사용하며, 동사를 사용하지 않습니다. Method Url 생성 POST some-address/gam.. 2022. 8. 17.
[백엔드] HTTP Status Code HTTP Status Code 백엔드에서 REST API를 설계할 때, response로 상태에 알맞은HTTP Status Code를 작성해야 합니다. 모든 상태 코드를 외울 필요 없이, 공식 문서를 참고하여 사용하면 됩니다. 자주 사용하는 상태 코드를 정리해봤습니다. 공식 문서 - https://www.django-rest-framework.org/api-guide/status-codes/#status-codes Suceesful - 2xx 2xx 코드는 클라이언트의 요청을 성공적으로 받았다는 의미입니다. 200과 204 code의 차이점은 GET은 항상 데이터를 받아와야 하지만, PUT/DELETE는 행위 성공 여부만 리턴 받아도 됩니다. 200 Ok 서버가 request를 성공적으로 처리했을 때 (.. 2022. 8. 17.
[코테 후기] 프로그래머스 2022 여름방학 스타트업 인턴 코딩 테스트 코딩 테스트 결과는? 시험 시간: 2시간 문제 수: 알고리즘 3문제, SQL 1문제 알고리즘 2솔 - 테스트 케이스 전부 통과 (100%) 결과 - 탈락 코딩 테스트 후기 프로그래머스 특성상 문제 지문이 길고 요구 사항도 많았다. 2문제 테케 100% 통과해서 결과가 괜찮을 것 같았는데 효율성에서 시간 초과가 되었는지 아니면 3솔을 해야 통과해야 하는지는 모르겠다. 어떤 문제가 나왔는지 복기를 할 텐데, 문제는 각색할 것이다. 어떤 유형인지 느낌을 받았으면 좋겠다. 1번 문제 알고리즘이라기 보다는 지문에서 요구하는 사항대로 푸는 구현하는 문제다. 강수량에 따라 일회용 우산을 사용할 것이다. 최대 3번까지 사용할 수 있고, 3번 사용하고 나면 폐기하고 새로운 우산을 사용해야 한다. 강수량 수치는 4단계로 .. 2022. 5. 9.
[알고리즘] 병합 정렬 (Merge Sort) 병합 정렬이란 배열을 앞부분과 뒷부분 두 그룹으로 나누어 각각 정렬한 후, 다시 병합하는 작업을 반복하는 알고리즘입니다. 분할 정복(divide and conquer) 방법을 사용하여 문제를 해결합니다. 병합 정렬 예 [5, 3, 2, 1, 6, 8, 7, 4] #정렬하려는 배열 1. divide 1단계: [5] [3]을 병합하면 [3, 5] [2] [1]을 병합하면 [1, 2] [6] [8]을 병합하면 [6, 8] [7] [4]을 병합하면 [4, 7] 2단계: [3, 5] 과 [1, 2]을 병합하면 [1, 2, 3, 5] [6, 8] 와 [4, 7]을 병합하면 [4, 6, 7, 8] A : [1, 2, 3, 5] #정렬된 배열 B : [4, 6, 7, 8] #정렬된 배열 C : [] #정렬할 원소를 저.. 2022. 5. 2.
[회고] 다시 취준생으로... 6개월의 인턴 생활이 끝나고 다시 백수로 돌아왔다. 정규직 전환에 실패했다. 시험 통과를 못했지만, 하고 싶지도 않았다. 이게 무슨 개소리인가?? 벡엔드 엔지니어 인턴으로 입사했지만, 내가 맡은 일은 업무 자동화 개발을 맡았다. 다른 부서 사람들의 업무 생산성을 높이는 일이라고 보면된다. 인턴이 "처음부터 중요한 일을 맡을 생각을 하냐"라고 반문 할 수 있다. 당연히 차근차근 업무 숙련도를 높여서 벡엔드 업무를 맡을 수 있을 것이라고 희망을 가졌지만 그건 희망 고문이라는 생각이 들었다. 다른 부서에서 요청이 오는 업무 자동화 개발을 6개월 내내 전담했다. 이게 바로 시험을 통과하고 싶지 않은 이유이다. 그럼에도 불구하고 이 기업에서 6개월 동안 개발자로써 좋은 경험이 있어 공유해보려 한다. 1. 스크럼 .. 2022. 5. 1.