딩코딩코
@dingcodingco
수강생
12,794
수강평
1,337
강의 평점
4.9
🚀 토스, 포항공대 출신 | 백엔드 8년
🎥2만 유튜버 | 개발 콘텐츠 제작
📚 인프런 강사 | 누적 수강생 8,000+
👥 개발자 취업 커뮤니티 운영 중 (8,000+)
🧩 오픈소스 (Gradle, Spring AI 등) 다수 Contributor
📝38개 서류 합격 및 크몽 이력서 첨삭 100+회 이상 경험 (평점 5.0점)
코딩을 뒤집다, 딩코딩코. 쉽고, 연역적으로 이해되는 지식을 전달합니다.
강의
클립
전체 4AI 코딩 그렇게 하는 거 아닌데 - 켄트 백 (40년차)
AI가 코딩을 대신해 줄 때, 그냥 '돌아가기만 하면 되는' 코드를 만들게 놔두면 미래를 망치는 '씨앗을 먹어버리는' 꼴이 될 수 있어요. 켄트 백은 개발자가 주도권을 잡고 AI를 똑똑하게 활용하는 '아규먼티드 코딩'이라는 새로운 방법을 제안합니다.1. AI 코딩의 위
딩코딩코
11월 9일
개발자 이력서, '숫자'로 말해야 합격합니다: 문제 해결 경험 만드는 법
요즘 취업, 이직 시장 정말 빡세죠. 특히 그 첫 번째 관문인 '서류 전형' 때문에 골머리 앓는 분들 많으시죠? 코딩 테스트나 기술 면접은 진짜 자신 있는데, 이력서에서 '광탈'해서 기회조차 못 받아서 힘든 상황들이 많은 것 같습니다안 그래도 경쟁 치열한데, 요즘은 더
딩코딩코
11월 4일
로드맵
전체 2수강평
- 비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE
- 단 60분! 파이썬 핵심 개념 초압축 강의 - 이론보다 이해 중심
- 6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
- [Lv1] 면접에서 '설명할 수 있는' Spring Boot - 경험으로 답변하는 백엔드 개발
- 6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
게시글
질문&답변
에뮬레이터 질문
킴주니님 해당 수강생분 좋은 질문 해주셔서 감사합니다!!이 문제는 Flutter 개발할 때 정말 흔하게 발생하는 현상이에요. 웹에서는 되는데 에뮬레이터에서만 기본 화면이 나오는 건, 보통 빌드가 제대로 반영이 안 됐을 때 생기는 현상입니다. 하루종일 씨름하셨다니 정말 답답하셨겠습니다 ㅠㅠㅜ1. 가장 먼저 시도해볼 방법터미널에서 아래 명령어를 순서대로 실행해보세요.먼저 flutter clean으로 기존 빌드 파일을 다 지우고, flutter pub get으로 패키지를 다시 받은 다음, flutter run으로 새로 실행해보길 추천드립니다!!flutter clean flutter pub get flutter run 2. 그래도 안 되면 Hot Restart 시도Cursor에서 앱이 실행 중일 때 단축키 Shift+R을 터미널에서 눌러보세요. 일반 Hot Reload(r키)는 일부 변경사항만 반영하는데, Hot Restart는 앱을 완전히 재시작해서 모든 변경사항을 반영해줍니다.3. 에뮬레이터에서 앱 삭제 후 재설치에뮬레이터 안에서 앱 아이콘을 길게 눌러서 삭제한 다음, 다시 flutter run 해보세요. 이전에 설치된 앱이 캐시되어 있어서 새 코드가 반영 안 되는 경우가 있거든요.4. 에뮬레이터 완전히 껐다 켜기Android Studio에서 에뮬레이터를 완전히 종료하고(Device Manager에서 Stop 버튼), 다시 시작한 뒤 flutter run 해보세요. 가끔 에뮬레이터 자체가 이전 상태를 기억하고 있어서 새 빌드를 안 받아들이는 경우가 있습니다.그래도 안 되면 에러 메시지나 터미널에 나오는 내용을 캡처해서 다시 올려주시면, 더 구체적으로 같이 확인해보시죠!! 언제든 편하게 질문해주세요!
- 0
- 2
- 34
질문&답변
[수업자료 문의] RedisTemplate으로 SETNX 시 리턴값 문의
happyrichman님 제보 해주셔서 감사합니다!!!!발견하신 내용이 정확합니다!!!! 수업 자료에 오타가 있었습니다!!!! 꼼꼼하게 확인해주셔서 감사드립니다 🙇🙇🙇🙇🙇🙇🙇1. 올바른 동작 설명RedisTemplate의 setIfAbsent() 메서드는 Redis의 SET NX 명령어를 사용하며, 키 존재 여부에 따라 다른 값을 반환합니다.키가 존재하지 않을 때는 새로 키를 저장하고 true를 반환합니다. 이 경우 락을 정상적으로 획득한 것입니다. 키가 이미 존재할 때는 아무 작업도 수행하지 않고 false를 반환합니다. 이 경우 다른 서버가 이미 락을 보유 중이므로 락 획득에 실패한 것입니다.Spring Data Redis 공식 문서에서도 setIfAbsent 메서드가 "Set key to hold the string value if key is absent"라고 설명하고 있으며, 반환 타입이 Boolean으로 저장 성공 여부를 나타냅니다. https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/core/ValueOperations.html#setIfAbsent(K,V)Redis 공식 문서의 SET 명령어 NX 옵션 부분을 보시면 "Only set the key if it does not already exist"라고 명시되어 있고, 키가 설정되면 OK, 설정되지 않으면 nil을 반환한다고 되어 있습니다. Spring의 setIfAbsent는 이 OK/nil을 true/false로 변환해서 반환하는 것입니다.2. 실제 코드에서의 활용분산 락 구현 시 이 반환값을 기준으로 락 획득 성공/실패를 판단하게 됩니다.Boolean lockAcquired = redisTemplate.opsForValue() .setIfAbsent(lockKey, value, timeout, TimeUnit.MILLISECONDS); if (Boolean.TRUE.equals(lockAcquired)) { // 락 획득 성공 - 작업 수행 } else { // 락 획득 실패 - 재시도 또는 실패 처리 }수업 자료 오타 발견해주셔서 너무너무 감사드립니다!!! 덕분에 강의 내용을 더 개선할 수 있었습니다!!! 혹시 추가로 궁금하신 부분 있으시면 편하게 질문 남겨주세요!!!! 🙇🙇🙇
- 0
- 3
- 44
질문&답변
[수업자료 문의] RedisTemplate으로 SETNX 시 리턴값 문의
happyrichman님 제보 해주셔서 감사합니다!!!!발견하신 내용이 정확합니다!!!! 수업 자료에 오타가 있었습니다!!!! 꼼꼼하게 확인해주셔서 감사드립니다 🙇🙇🙇🙇🙇🙇🙇1. 올바른 동작 설명RedisTemplate의 setIfAbsent() 메서드는 Redis의 SET NX 명령어를 사용하며, 키 존재 여부에 따라 다른 값을 반환합니다.키가 존재하지 않을 때는 새로 키를 저장하고 true를 반환합니다. 이 경우 락을 정상적으로 획득한 것입니다. 키가 이미 존재할 때는 아무 작업도 수행하지 않고 false를 반환합니다. 이 경우 다른 서버가 이미 락을 보유 중이므로 락 획득에 실패한 것입니다.Spring Data Redis 공식 문서에서도 setIfAbsent 메서드가 "Set key to hold the string value if key is absent"라고 설명하고 있으며, 반환 타입이 Boolean으로 저장 성공 여부를 나타냅니다. https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/core/ValueOperations.html#setIfAbsent(K,V)Redis 공식 문서의 SET 명령어 NX 옵션 부분을 보시면 "Only set the key if it does not already exist"라고 명시되어 있고, 키가 설정되면 OK, 설정되지 않으면 nil을 반환한다고 되어 있습니다. Spring의 setIfAbsent는 이 OK/nil을 true/false로 변환해서 반환하는 것입니다.2. 실제 코드에서의 활용분산 락 구현 시 이 반환값을 기준으로 락 획득 성공/실패를 판단하게 됩니다.Boolean lockAcquired = redisTemplate.opsForValue() .setIfAbsent(lockKey, value, timeout, TimeUnit.MILLISECONDS); if (Boolean.TRUE.equals(lockAcquired)) { // 락 획득 성공 - 작업 수행 } else { // 락 획득 실패 - 재시도 또는 실패 처리 }수업 자료 오타 발견해주셔서 너무너무 감사드립니다!!! 덕분에 강의 내용을 더 개선할 수 있었습니다!!! 혹시 추가로 궁금하신 부분 있으시면 편하게 질문 남겨주세요!!!! 🙇🙇🙇
- 0
- 3
- 44
질문&답변
[수업 자료 질문] Cache Aside의 특징 문의
happyrichman님 좋은 질문 해주셔서 감사합니다!!!정말 날카로운 관점이에요. 1. "구현이 간단하다"의 의미여기서 "간단하다"는 코드 양이 적다는 뜻이 아니였습니다!! Read Through와 비교했을 때의 맥락입니다.Read Through는 캐시 시스템 자체가 DB 조회와 저장을 자동으로 처리해줘야 하빈다. 이걸 구현하려면 캐시 미들웨어에 DB 연동 로직을 심어야 하고, 캐시 프로바이더가 이 기능을 지원해야 합니다. 즉, 인프라 레벨의 설정과 의존성이 필요합니다.반면 Cache Aside는 그냥 Redis 하나만 띄워놓고, 애플리케이션 코드에서 조건문 몇 줄이면 바로 구현할 수 있어요. 별도의 캐시 프레임워크 설정이나 미들웨어 연동 없이도 동작합니다. 그래서 "진입 장벽이 낮다", "별도 인프라 의존 없이 바로 적용 가능하다"는 의미에서 간단하다고 표현해봤습니다!2. "캐시 효율이 뛰어나다"의 의미이건 Lazy Loading의 특성 때문이에요. Cache Aside는 실제로 조회 요청이 들어온 데이터만 캐시에 올라가요.Write Through 같은 전략은 데이터가 변경될 때마다 캐시에도 저장하기 때문에, 한 번도 조회되지 않을 데이터까지 캐시 메모리를 차지할 수 있어요. 반면 Cache Aside는 누군가 실제로 읽은 데이터만 캐싱되니까, 캐시 공간을 효율적으로 사용하게 됩니다.3. Write Around와의 관계질문하신 부분이 정확히 맞아요. 사실 교재 설명의 "데이터가 변경되었을 때 실시간으로 반영되지 않아 데이터 불일치 가능성"은 Cache Aside 단독이 아니라 Cache Aside + Write Around 조합에서 발생하는 특성입니다.Cache Aside는 읽기 전략이고, Write Around는 쓰기 전략인데, 실무에서는 이 둘을 자주 함께 사용해요. 교재 뒷부분에 나오는 "Cache Aside (읽기) + Write Around (쓰기) + TTL" 조합이 바로 그 예시죠.이 조합에서는 쓰기 시 DB만 업데이트하고 캐시는 건드리지 않기 때문에, TTL이 만료되기 전까지는 캐시에 오래된 값이 남아있게 됩니다. 그래서 불일치가 발생할 수 있게 됩니다!정리하면, 교재의 해당 설명은 Cache Aside가 가장 흔히 사용되는 조합(Write Around와 함께)에서의 특성을 함께 설명한 것으로 보시면 됩니다.이런 식으로 전략들의 조합과 트레이드오프를 이해하시면, 면접에서 "왜 이 전략을 선택했는지" 설명하실 때 훨씬 설득력 있게 말씀하실 수 있을 거예요. 넘 좋은 질문 감사합니다!!!! 🥰
- 0
- 2
- 36
질문&답변
3-1 github action 연동시 질문 드립니다
안녕하세요 김밥햄도둑님! 수업에서 진행한 repo 에 대해서 다시 PR 을 올려봤는데 현재 워크플로우가 정상 동작하고 있는 것으로 보입니다https://github.com/dingcodingco/code-review-test/pull/7 해당 워크플로우들과 유사하게 한 번 구성해보시는 건 어떨지 제안드립니다!혹은 햄도둑님의 레포를 알려주시면 한 번 구경해보겠습니다!!
- 0
- 2
- 61
질문&답변
1-8. Dispatcher에 멘토 규칙 추가
안녕하세요 Gyu 님 좋은 질문 감사합니다!맞습니다! 현재 process.exit(2); 라는 코드를 통해 말씀해주신 것처럼 편집이 불가하도록 제어하고 있습니다.그런데, 종종 올려주시는 질문 내용에 미루어보아, 클로드 내에서 dispatcher 를 작성했다고 하더라도 클로드 자체 판단에 의해 편집을 수행하는 경우가 발생하고 있습니다. 즉, dispatcher 패턴이 적용된다고 하더라도 동작을 100% 신뢰할 수는 없는 케이스가 종종 발생하고 있는 것으로 보입니다.
- 0
- 2
- 40
질문&답변
superbase 질문
안녕하세요 킴주니님! 자체 클라우드 말고 supabase 를 연동하는 기능에 대해서 새로 업데이트한 영상을 준비 중에 있습니다! 얼른 업로드 해서 새소식으로 공유드리겠습니다 학습에 불편을 드려 죄송합니다
- 0
- 2
- 34
질문&답변
도와주세요 superbase
안녕하세요 킴주니님! 시청에 불편을 드려 죄송합니다 ;_;supabase UI 변경사항 영상을 추가 촬영을 완료했고 편집 완료되는대로 새소식으로 공지드리겠습니다 불편을 드려 죄송합니다!!
- 0
- 2
- 41
질문&답변
데이터베이스 교육자료
감사합니다 좋은 하루 보내세요!!
- 0
- 2
- 40
질문&답변
러버블 프로젝트를 cursor로 바꾼다음에 다시 러버블로...
안녕하세요 정우님!넵 그건 불가합니다! ㅠㅠ 러버블에서 import 기능은 제공하고 있지 않습니다supabase 를 연동한 것들에 대해서만 개발하는게 가능합니다! lovable cloud 는 로컬 프로젝트에서 연결할 수 없습니다. 따라서 supabase 와 연동하는 것을 권장드리고 있습니다
- 0
- 2
- 48





