본문 바로가기

스파르타코딩 내일배움캠프

(87)
내일배움캠프 수료식 feat. 특강 수료식 2022년 1월 14일 스파르타코딩클럽의 '내일배움캠프' 수료식을 했다. 먼저 박**님의 취업/면접/진로 특강을 듣고 짧게 수료식이 진행 되었다. 캠프 자체는 1월 7일 종료 되었지만, 수료증과 상장을 나눠주기 위해 수료식이 진행 되었다. 수료식에 앞서 마니또처럼 '다른 동기 칭찬하기'를 했는데, 이날 상위 7명을 발표하여 선물을 준다고 했다. 이 공지를 봤을 때 솔직히 '내가 순위에 들어갈까?' 하며 생각했다. 캠프에서 "매컴싸" 이외에도 슬랙에 개발 입문 하신지 얼마 안되는 사람들을 위해 자료 공유를 열심히 했기 때문이다. 두둥! 내가 순위에 들어갔다. 나랑 다른 한분은 매니저님께서 특별히 언급을 해주셨다. 7명에게 칭찬을 받은, 가장 칭찬을 많이 받..
모의 면접 후기 1. MongoDB와 MySQL의 차이. 어떤 서비스에서 MySQL을 쓸 것 같은지? (어떤 서비스에 MongoDB가 적합한지?) 2. CI/CD가 무엇이냐? 구성을 설명해달라. CI와 CD의 차이를 말해보라. Git Action의 무엇이야. 3. HTTP와 HTTPS의 차이. (SSL, 암호화, 복호화) 4. Elastic beanstalk를 어디까지 써봤는지? Elastic Beanstalk의 각 기능. (auto scaling) 5. dispatcher servlet 6. 의존성 주입시 방법이 뭐냐 (생성자, 필드, 세터). 7. 정규화. 테이블 명시하기. 명확하게 쓰기. 8. DI, IoC에 대해서 공부하기. 9. 이력서에 쓴 키워드 중심으로 질문하기 때문에 이력서에 쓴 키워드는 다 숙지하기. 자..
내일배움캠프 117일차 - 최종회고 내일배움캠프 117일차이다. 내 해군OCS기수가 117기인데... 117이란 숫자가 나랑 인연이 있는건가? 드디어 끝났다. 117일 간의 여정을 마쳤다. 7월부터 C, 파이썬을 파트타임으로 배우다가 8월 25일 하던 일 중단하고, 8월 26일 스파르타코딩클럽 내일배움캠프 지원을 하고, 8월 27일 서류 통과했다고 통보 받고, 8월 29일 신** 매니저님이랑 면접 보고, 8월 30일 합격 문자를 받았다. 노트북 배터리 수명이 거의 다 되어서 9월 1일은 노트북 수리 맡기고, 9월 2일부터 '생활코딩'의 '웹' 수업부터 듣기 시작했다. 혼자 수업을 들으며 선행 학습을 하는데, '얼른 9월 13일이 되어서 캠프를 시작 했으면 좋겠다'고 생각했다. '항해99&#..
내일배움캠프 - 최종 프로젝트 회고 12월 31일 최종 프로젝트 발표를 했다. 최선을 다 해서 발표를 했다. 아쉽다. 여러모로. 1. 캠프 초반에 정말 사용자들이 쓸만한 제품을 만들고 싶었다. 이런저런 논의를 하는 과정에서 "여러분들은 백엔드 개발자이지 기획자가 아니다. 여러분들이 하는 고민은 기획자가 하는 고민이다"라는 피드백을 들었다. 사용자에 대한 고민보다 기능 구현에 중점을 두었다. 그런데 최종 발표회에서 좋은 피드백을 받은 팀은 사용자/고객에 대한 고민을 한 팀이었다. 2. 다양한 기능을 시도해보고 싶었다. 그러나 '기능 다이어트를 하라'라는 피드백이 왔다. 그래서 기본 CRUD + a 를 구현했다. "프로젝트 기능이 적다고 기죽지 마세요"라는 이야기를 들었다. 사람들의 생각은 다 다양하고, 증명을 요구하는 수학이나, 물질의 속성..
내일배움캠프 116일차 - 모의면접 유명한 쌀 개발자 분의 모의면접을 봐주셨다. 15분동안 실전면접처럼 하시고, 나머지 5분을 질의응답 방식으로 진행하셨다. 받은 피드백 1. 자기 소개를 하는 이유는 지원자의 호기심을 자극하기 위해. 지원자를 더 궁금하도록 하게 만들어라. 자기 소개 듣고 질문이 2-3개는 나와야 함. "적응이 평균보다 빠르다"라는 이야기를 들은 것에 대해서 질문. "백/프론트/인프라를 다 할 수 있는 개발자 라고 했는데 각각 얼만큼 할 줄 아나요?" 2. 신입 개발자는 실력 발전 속도가 다 비슷하기 때문에, 지원자가 어떤 사람인지를 보고 뽑는 것임. 그러니까 내가 사회 생활을 잘한 것에 대해서 어필하면 충분한 매력이 될 수 있음. 3. 프로젝트는 필요하다고 생각되는 서비스를 만드는 것이 중요. 고객의 피드백을 받아보는 것..
내일배움캠프 - 115일 - 1차 모의면접 안xx 튜터님께 받은 피드백 - 테스트코드 작성하는 법 배우기 - 자기소개. 스토리 만들어서 소개하기. 다른 분야에서 왜 넘어오게 되었는지. - 스프링에 대한 지식을 보완하기 bean, IoC, DI, Annotation 받은 질문 - "프로젝트 중 가장 어려웠던 문제는?" 답변: 로컬에서 잘 작동 했는데, AWS EB에서는 500에러가 발생. 나중에 알고 봤더니 새로운 기능을 추가하는 과정에서 entity 변경이 발생해서 생긴 문제였음. 로컬 서버는 h2 db인데, AWS는 AWS RDS를 사용하니까, 로컬에서는 되고, EB에서는 안 되었던 것임. 질문: 다음에 비슷한 문제가 발생하면 어떻게 해결할 것인가? 피드백: 이 문제를 해결하는 방법은 테스트코드를 작성해보면, 미리 문제를 감지를 할 수 있고, ..
내일배움캠프 - 113일 이력서 첨삭 박** 튜터님으로부터 받은 이력서 피드백 1. 이력서 양식과 디자인도 어느정도 중요하다. 읽는 사람이 보기 편해야 한다. 2. 게시판 CRUD 내용은 별로 흥미롭지 않다. 3. 공백기의 이유에 대해서 써놓은 것 좋았다. 4. 프로젝트 2-3 하는 것이 더 좋아. 5. 언어 하나만 파는 것이 더 나음. 다른 건 빨리 배울 수 있음. 6. 프로젝트에서 구현한 내용을 조금 더 구체적으로 적기.
내일배움캠프 99일차 - 쾌감 이틀동안 붙잡고 있던 페이징 처리를 오늘 밤 중 구현했다. 잔잔하면서도 강렬한 쾌감이 이마, 전두엽, 머릿속에서 느껴졌다. 여느 때처럼 느낀 굵고 짧은 "아싸!"와 같은 쾌감이 아니었다. 수업에서 구현한 페이징 처리를 내 코드에 맞게 옮기는 것에 어려움을 느꼈다. 내가 스프링에 대한 이해가 부족해서 구매한 책을 처음부터 다시 읽고 싶은 충동을 강하게 느꼈다. 페이징에 해당 되는 부분만 봐도 내가 원하는 것만 뽑아오기에는 어디만 가져오면 되는지 구분이 되지 않았다. 게다가 타임리프를 쓰니 어디까지 내 코드에 적용 가능한지 식별이 쉽지 않았다. 그래서 튜터님께 "페이징 처리에 관련해서 여러 자료를 봐도, 스프링에 대한 이해가 부족해서인지 필요한 부분만 가져와서 코드에 적용하기 힘들다. 그래서 자꾸 책을 처음..
내일배움캠프 99일차 - 페이징 처리 디버깅 페이징 처리 프론트에서 GET 요청을 했더니 서버에서 다음과 같은 에러가 났다. java.lang.NullPointerException: null at shop.heartmuscle.heartmuscle.controller.QnaController.getQna(QnaController.java:36) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk...
내일배움캠프 94일차 회의 아침 회의를 3분만에 끝냈다. 회의 안건을 미리 준비한 후 회의 시작 했을 때 빠르게 전파하고, 특이사항 없다는 것을 확인 후 각자 다들 일을 할 수 있도록 회의 마쳤다. 개발 튜터님 피드백 피드백 사항 중 하나인 "댓글에 작성자 표기" 기능 구현에 착수했다. 다른 팀의 코드를 참고해서 작성했다. 중간에 CascadeType.Remove와 CascadeType.All이 궁금했다. 찾아보니 이해를 하기 위해서는 시간을 더 투자해야 하는 것 같았다. fetch = FetchType.LAZY / Eager도 찾아봐야 했다. 다른 팀원이 튜터님께 다른 "엔티티" 불러오는 것과 관련해서 질문 후 나도 질문했다. 질문은 "CascadeType.Remove와 All 차이가 뭔가요?" 튜터님께서 자기가 설명 해주..