목차
- 토익 점수와 개발 실력 중 무엇에 집중할까?
- AI 개발 도구 비교: Cursor vs Copilot vs Cody
- VSCode 문제 해결 팁
- 영어 실력과 개발 능력의 관계
- AI 도구 사용 제한과 비용 문제
- 면접 경험과 느낌 공유
- FK(외래키) 제약조건 사용 논쟁
- 마이크로서비스와 DB 무결성 관리
- 백엔드 쿠키 설정 및 CORS 문제
- API Gateway, Kong 사용에 대한 조언
1. 토익 점수와 개발 실력 중 무엇에 집중할까?
- 토익 800점 이상이면 IT 기업 지원 시 문서 이해나 의사소통에 어느 정도 도움이 됨.
- 하지만 단순 점수보다는 실제 회화 능력이 더 중요하다는 의견 다수.
- 회사마다 영어 점수를 다르게 평가:
- 외국 엔지니어와 메일 소통이 많은 곳은 영어 점수 우대.
- 일부 회사(샌드버드, 쿠팡 등)는 영어 능력을 전략적으로 중요하게 봄.
- 토익 점수가 800점 이상이면 한두 달 내에 도달 가능하므로, 토익 준비보다는 프로젝트 등 개발 실력 향상에 시간을 투자하는 게 더 추천됨.
- 영어와 개발 실력 모두 중요하니 둘 다 적절히 병행하는 게 최선.
2. AI 개발 도구 비교: Cursor vs Copilot vs Cody
- Cursor: IDE와 통합되어 프로젝트 전체 코드를 파악하여 똑똑한 도움을 줌. 특히 반복 작업(노가다)을 줄여주는 데 도움 큼.
- Copilot: VSCode에서 널리 사용, 좋은 자동완성 기능 제공. 다만 가끔은 코드 전체 컨텍스트 파악에서 아쉬움도 있음.
- Cody: VSCode보다 다양한 기능 제공, 사용자는 Copilot보다 더 똑똑하다고 느끼기도 함(개인차 있음).
- IDE 통합 AI도구 사용은 작업 능률 향상에 크게 기여하지만, 각 도구마다 특징이 다르며 취향에 맞게 선택 가능.
- JetBrains IDE 패밀리는 AI 도구 기능 외 IDE 자체 성능이 더 뛰어나다고 평가됨.
- AI 도구 이용 시 자주 느끼는 단점으로는 개인정보나 작업물이 감시당하는 느낌이 드는 경우가 있음.
3. VSCode 문제 해결 팁
- VSCode에서 "windows is not responding" 에러 발생 시
- terminal > integrated > gpu acceleration 옵션을 비활성화(off)하면 문제 해결 가능.
- AI 도구 요청 제한 문제:
- 예: Cursor는 모델에 따라 500회 제한 있음.
- ChatGPT 계정 연동 시 무제한 사용 가능하나, 비용이 발생할 수 있음.
- 무료계도 하루에 한번만 50회 제한되어 빠르게 소진될 수 있으니 주의 필요.
4. 영어 실력과 개발 능력의 관계
- 영어가 퍼스트 랭귀지(모국어)면 코드 이해와 문서 파악에 도움이 크다고 봄.
- 하지만 영어 실력이 높아도 개발 개념 숙달과 실력 차이가 존재함.
- 좋은 영어 실력은 정보 수집 및 해외 기술 문서 이해에 유리하며, 업무 협업에도 긍정적 영향.
- 영어와 개발은 서로 보완적 관계지만, 개발 실력이 본질임을 다시 한번 강조함.
5. AI 도구 사용 제한과 비용 문제
- Cursor, Copilot 등 AI 코드 도우미는 대부분 호출 횟수 제한 있음.
- 유료 결제를 하면 일부 기능은 무제한 사용 가능.
- AI 도구 사용 시 각 도구별 정책과 제한 사항 확인 필요.
- 참고로, Cursor의 agent 기능(IDE 내 모델 질문 등)은 사용 만족도가 높음.
6. 면접 경험과 느낌 공유
- 면접은 질문을 받으며 자신의 경험과 고민을 되돌아보는 재미있는 과정이라는 의견.
- 면접 대비 팁:
- 너무 긴장하지 말고, 자신이 해온 고민과 경험을 솔직히 이야기하길 추천.
- 혼자서 오래 개발하다가 면접 때 사람과 대화하는 게 오히려 즐거울 수 있음.
- 리더 평가 때는 좋은 점은 솔직히 칭찬하고 아쉬운 점도 상황 봐서 적절히 언급하는 게 무난함.
7. FK(외래키) 제약조건 사용 논쟁
- FK는 데이터 무결성(참조 일관성)을 보장하는 중요한 제약조건.
- 하지만 프로젝트 특성에 따라 FK 사용이 불가능하거나 부적절할 수 있음.
- 예) 마이크로서비스 아키텍처에서 각 서비스별 DB 분리 시 FK 물리적 제약이 불가능.
- 대용량 및 운영 환경에서는 스키마 변경 시 FK로 인해 락 발생, 운영에 부담이 될 수 있음.
- FK를 아예 쓰지 않는 팀도 있지만, 대부분 안전벨트 의미에서 필수적으로 사용하는 경우 많음.
- ORM(Prisma, TypeORM 등) 사용 시 FK 제약조건에 따라 조인 처리 방식과 오류 관리 방식이 달라짐.
- 데이터 무결성 보장 방식으로는 도메인 이벤트, 최종 일관성 패턴 등을 사용하기도 함.
8. 마이크로서비스와 DB 무결성 관리
- 마이크로서비스 구조에서는 각 서비스가 독립 DB를 갖기 때문에,
- 전통적인 FK를 걸 수 없고,
- 데이터 무결성 보장은 도메인 이벤트를 통한 비동기 처리, 최종 일관성 보장 방식으로 해결.
- 서비스 간 연관 데이터 생성/삭제 시 이벤트 발행 및 처리 체계가 중요.
- 상황에 따라 FK 사용 여부와 데이터 무결성 방식을 결정해야 함.
9. 백엔드 쿠키 설정 및 CORS 문제
- Vue 등 프론트엔드에서 백엔드 쿠키를 읽을 때 문제 발생 시 확인 사항:
- withCredentials: true 설정을 꼭 해야 함.
- 백엔드 CORS 설정에서 origin을 정확히 설정하고, credentials: true도 활성화해야 함.
- 쿠키 domain 속성도 도메인 일치하게 설정해야 쿠키가 제대로 전송됨.
- httpOnly 옵션을 풀어놓아도 도메인 설정 불일치나 CORS 정책 미비로 쿠키에 접근하지 못하는 경우 많음.
- 네트워크 탭을 캡처하여 요청/응답 헤더를 보며 문제 원인을 분석하는 것이 도움이 됨.
10. API Gateway, Kong 사용에 대한 조언
- 여러 API 서버를 하나로 관리하기 위해 API Gateway 도입 고려 중.
- 단순히 요청을 모으는 것뿐 아니라 인증, 인가, 로깅, 캐싱, rate limiting 같은 횡단 관심사 처리 목적에 적합함.
- 서비스가 2~3개 정도라면 기존 구조 유지하면서 천천히 학습해보는 것도 좋은 방법.
- Kong 같은 Gateway는 초반에 진입장벽이 있으니 문서 및 커뮤니티 도움을 받으며 점진적으로 적용 권장.
면접팁⚡
- 면접은 '내가 한 고민, 경험을 다시 확인하는 기회'라고 생각하고 즐기자.
- 자신감 있게 솔직하게 답변하는 것이 중요함.
- 영어 실력보다는 개발 역량과 문제해결 능력에 더 집중하는 것이 좋음.
- 리더 평가 시 좋은 점+아쉬운 점 균형 있게 작성하되 상황에 따라 다르게 접근.
링크🔗
- Swagger PHP: https://github.com/zircote/swagger-php
- Swagger PHP 공식 문서: https://zircote.github.io/swagger-php/
- JSON5: https://json5.org
- StackOverflow: Advantages of defining Foreign Key
https://stackoverflow.com/questions/10183116/what-are-the-advantages-of-defining-a-foreign-key
#개발도구#영어능력#AI코딩도우미#데이터베이스#외래키#마이크로서비스#API#쿠키#CORS#면접팁