🚀 토스 출신 | 백엔드 8년차
🎥 2만 유튜버 | 개발 콘텐츠 제작
📚 인프런 강사 | 누적 수강생 5,000+
🤖 AI 와 개발자 취업에 진심입니다
👨👩👧👦 개취뽀 커뮤니티 운영중 4,000+
코딩을 뒤집다, 딩코딩코. 쉽고, 연역적으로 이해되는 지식을 전달합니다.
講義
受講レビュー
- 38社合格秘訣、2025コーディングテスト必須アルゴリズム
- たった60分! Pythonコアコンセプト超圧縮講義 - 理論より理解中心
- 38社合格秘訣、2025コーディングテスト必須アルゴリズム
- 38社合格秘訣、2025コーディングテスト必須アルゴリズム
- 38社合格秘訣、2025コーディングテスト必須アルゴリズム
投稿
Q&A
선택 정렬 질문
안녕하세요 개발님!! 좋은 질문 넘넘 감사드립니다!! 확인을 해보니 말씀해주신것처럼 교재에 오타가 있었습니다!! 선택 정렬 특성상, 가장 키 작은 사람을 맨 앞으로 보내고 앞자리를 제외한 상태로 반복하게 되어 있습니다그 관점에서 보면 앞의 숫자들이 하나씩 없어지면서 출력되는, 즉 개발님이 적어주신 내용으로 변경되는 것이 맞습니다!! 좋은 질문해주셔서 넘넘 감사드립니다 덕분에 교재에 반영했습니다!! 😀🥰오늘도 좋은 하루 보내세요!!
- 0
- 2
- 22
Q&A
main.tf 파일에서 EIP 설정 로직 수정이 필요할거 같습니다.
오 성욱님 안녕하세요!!말씀해주신 내용을 확인해보니, 해당 PR 기준으로 deprecated 되었던 것 같습니다확인해주셔서 넘 감사합니다!!! 파일 내에서 변경해두겠습니다 ㅎㅎㅎ 기여해주셔서 넘넘 감사드립니다 즐거운 주말 저녁 보내세요!! 🥰https://github.com/hashicorp/terraform-provider-aws/pull/42340
- 0
- 2
- 46
Q&A
비관적 락, 원자적 업데이트
안녕하세요 수환님 좋은 질문 해주셔서 감사합니다!!!너무 좋은 관점의 고민이고 생각의 흐름입니다!!! 블로그 너무 잘봤습니다 👍👍1. 원자적 업데이트의 성능 이점우선, 원자적 업데이트를 쓰면 좋은 이유를 성능상 이점 관점에서 파악해보는 것도 좋을 것 같아요. 실제로 락 걸리는 시간이나 처리량을 측정해서 비교해보면 더 설득력 있는 데이터가 나올 것 같습니다!2. 비관적 락을 써야만 하는 경우원자적 행위에서 모든 걸 처리해주지 못하는 경우입니다. 우리 수업에서 진행했던 것과 비슷한 사례로 보면, Event의 숫자를 업데이트하고 EventParticipant를 Insert해야 됩니다. 즉, 특정 모델 업데이트 후에 관계형 데이터를 넣어줘야 하는 경우 처럼 하나의 엔티티 기준으로 원자적 연산을 하지 못하는 경우에 락이 필요하다고 봐주시면 될 것 같습니다!이와 비슷하게 다른 엔티티를 추가하거나 수정해야만 하는 비즈니스 규칙이 존재하는 것을 가정해보면 좋을 것 같습니다.3. 이력서 작성 관점제 생각에는 특정 키워드가 있어보이다기 보다는 각각을 비교해서 부하를 얼마만큼 단계적으로 개선했다는 내용을 쓰는게 더 있어보일 것 같습니다!!그래서 어떻게 이 사고의 흐름을 나아갔는지 이력서에 명시해보길 추천드립니다. "처음엔 이렇게 생각했는데, 성능 측정해보니 이런 결과가 나와서 이 방식으로 바꿨다" 이런 식의 문제 해결 과정을 보여주는 거죠.실제 프로젝트에 적용해서 수치를 만들어보시고, 이런 경험을 쌓아서 이력서에 써보시면 너무 좋을 것 같습니다!! 또 빠이팅해보시져 !!!
- 0
- 2
- 31
Q&A
문제 생각 몇분정도가 좋을까요
안녕하세요 Estados 님 좋은 질문 감사합니다!!초보자 시기에는 15-20분 정도 충분히 고민해보시는 게 좋습니다. 그 시간 동안 문제를 분석하고 여러 접근법을 시도해보는 과정 자체가 사고력을 기르는 핵심이빈다!!만약 20분 안에 전혀 실마리가 안 보이면 힌트나 풀이를 보시고, 이해한 후에 다시 처음부터 혼자 구현해보세요. 완전히 막혔을 때 무작정 더 오래 붙잡고 있으면 오히려 비효율적일 거에요!!최빈수 같은 기초 문제들을 많이 경험하시면서 점차 패턴이 보이기 시작할 거예요. 지금은 시간보다는 문제 해결 과정을 체화하는 게 더 중요한 단계입니다!! 또 언제든 질문 편하게 해주세용~~~ 🔥
- 0
- 1
- 71
Q&A
파이참 코드 힌트
안녕하세요 Estados 님 좋은 질문 감사합니다!!제 생각에는 연습할 땐 AI 힌트를 끄는 것이 좋다고 생각합니다!!실제 코딩 테스트 환경에서는 AI 기능이 없기 때문에, 의존하면 실전 감각과 사고력이 떨어질 수 있습니다.초기 학습 단계에서는 활용하되, 문제 풀이 단계부터는 점차 끄고 연습하세요.디버깅, 시간 제한, 손코딩 등으로 실전 대비 훈련을 병행하면 좋습니다.AI는 학습엔 도움이 되지만, 연습에선 스스로 푸는 경험이 훨씬 중요합니다.언제든 또 편하게 질문 주세요 감사합니다!! 🔥
- 0
- 1
- 38
Q&A
그라파나 대시보드 오타가 있는 거 같아요
안녕하세요 민우님!!!아닛!!! 교재를 확인해보니 P50 라벨을 붙인 쿼리가 실제로는 quantile="0.95"를 조회하고 있습니다. 이건 명백한 오타입니다!!! 말씀해주셔서 너무너무 감사드립니다 🙇🙇 아마 잘 수정하셨겠지만, 다음과 같이 변경을 통해 P50과 P95를 정확히 비교할 수 있을 것 같습니다 { "datasource": { "type": "prometheus", "uid": "dec2qjm357jlsc" }, "editorMode": "code", "expr": "max by(http_method, path, query_type) (app_query_per_request{quantile=\"0.50\"})", "hide": false, "instant": false, "legendFormat": "P50 - {{http_method}} {{path}} - {{query_type}}", "range": true, "refId": "B" } 기여해주셔서 다시 한 번 감사드립니다!!! 🙇🙇🙇🙇🙇
- 0
- 2
- 45
Q&A
이력서 작성 시 궁금한 점
수환님 좋은 질문 해주셔서 감사합니다!!!저도 처음에 성능 개선할 때 같은 걱정했었어요. "이 수치가 너무 극단적이면 의심받지 않을까?"그런데 사실 23초는 전혀 이상하지 않습니다.실제로 현업에서 일하다 보면 이런 일이 정말 많습니다. 특히 데이터가 쌓이기 시작하면 처음에는 데이터 적어서 괜찮았는데 몇 달 지나니까 갑자기 통계 화면이 안 열리거나 몇십 초씩 걸리고 있는게 흔한 패턴입니다!! 그래서 너무 걱정하지 않으셔도 됩니다.데이터 규모와 비즈니스 상황을 구체적으로 설명만 해주신다면 충분히 납득가능한 상황이라고 느껴질 수 있으니, 걱정하지 않으셔도 됩니다면접에서 데이터가 어느 정도 규모였는지, 어떤 상황이었는지 질문이 들어올 거고 이에 대해 자연스럽게 설명만 해주시면 될 것 같아요 결국 중요한 건 숫자 자체보다는 "문제를 어떻게 발견하고 해결했는지"가 더 중요하기 때문입니다.직접 프로젝트에 적용해보시고 수치까지 얻으시는 모습 넘넘 좋습니다!!! 빠이팅입니닷 ㅎㅎㅎ
- 0
- 2
- 51
Q&A
수업교재 링크 문의
안녕하세요 민영님!!헛 혹시 어떻게 교재 링크가 뜨는지 보여주실 수 있을까요? 브라우져나 운영체제의 차이로 보이는데 어떤 현상인지 공유해주시면 방법을 찾아보겠습니다!!
- 0
- 3
- 57
Q&A
동적쿼리를 이용한 List로 가져올 때의 캐쉬??
안녕하세요 kongminoo님!!! 좋은 질문 해주셔서 감사합니다. 먼저 제안드리고 싶은 방법은, 쿼리 조건 기반 캐시 키 생성입니다!결국 유저들이 검색하는 패턴이 무한하지 않고, 많은 검색들이 특정 유사경우들이 발생할거라서, 쿼리조건을 해싱하여 만든 값으로 캐싱하는 것을 추천드립니다.저도 그 외의 방법들이 궁금해서 실제 대기업들이 어떻게 하는지 찾아보니까 다른 방법들이 있어 공유드립니다!Netflix는 사용자별로 다음과 같이 캐시 키를 만든다고 합니다// Netflix 방식 예시 String cacheKey = "search:user_" + userId + ":query_" + hashQuery(searchParams) + ":page_" + pageNumber;밤에 배치로 개인화 결과를 미리 만들어놓고, 실시간으로는 짧은 TTL로 캐싱해서 응답시간을 줄인다고 합니다Uber는 초당 4천만건 읽기를 처리하면데, 복합 검색 조건이 엄청 복잡해요 (위치, 차종, 가격, 시간 등). 그래서 H3 육각형 지리공간 인덱싱을 통해 위치를 육각형 ID로 변환해서 캐시 키에 포함한다고 합니다. 이를 통해 캐시 히트율 & CPU 사용량을 매우 감소시켰다고 합니다. 요런 사례를 가지고 개선 사례를 제시해봐도 너무너무 좋을 것 같네요!! 좋은 질문 주셔서 감사합니다 민우님!!// Uber식 위치 기반 캐시 키 String cacheKey = "driver_search:" + h3Index + ":" + carType + ":" + timeSlot;
- 0
- 2
- 70
Q&A
bootRun 실행 문제
안녕하세요 포포뇨님!! 좋은 질문 감사합니다 ㅎ.ㅎ MySQL 8.0 이상에서는 기본 인증 플러그인이 caching_sha2_password로 변경되었는데, 일부 클라이언트 라이브러리가 이를 완전히 지원하지 못해 발생하는 문제로 보입니다!루트 프로젝트의 docker-compose.yml 에서 아래와 같이 수정을 해보시고 다시. 실행해보실 수 있을까요? 한 번 츄라이해보시고 안되시면 말씀해주세요!!db: image: mysql:8.0 command: --default-authentication-plugin=mysql_native_password
- 0
- 3
- 66