분류 전체보기 (242) 썸네일형 리스트형 4월 5주차 주간회고 저번주는 기업 과제 테스트를 몰입해서 마무리하고 이번주는 다시 프로젝트를 고도화를 진행했다. 이전에 JpaSpecification으로 적용된 동적 쿼리를 QueryDSL을 이용해 직접 쿼리를 날리도록 적용해보면서 DIP에 대해 약간 이해할 수 있었고, 추가로 시간이 남아 스웨거를 적용해보는 시간을 가졌다. 직접 쿼리 날리기 이전에 포트폴리오에서 필터기능을 구현하면서 JPA Repository가 제공해주는 CRUD에만 의존하니 굉장히 어려움을 겪었다. Specification을 이용했었는데, 잘모르고 사용했기 때문에 이번 기회에 직접 쿼리를 날리는 방식으로 리팩토링해보기로 했다. 왜 QueryDSL을 써야할까? 사실 JPA에서 제공하는 JPQL를 DAO구현체에 쿼리로 작성해 날려도 상관 없다. 하지만 J.. 4월 4주차 주간회고 이번 주에는 거의 5일간 기업 과제테스트에 몰입했다. Nest.js를 이용하는게 조건이었는데, 한번도 써보지 않은 프레임워크라 조금은 어려움이 있었지만 나름 재미있었고 코드를 작성하면서 어떤 부분에 집중해서 테스트를 하면 좋은지 배울 수 있었다. 우선순위 정하기 nestJS로 웹을 만들기 위한 최소한의 지식을 익히고나니 제출기한이 4일밖에 남지 않았다. 주어진 시간 안에 최우선으로 구현할 기능과 테스트해야할 부분이 무엇일지 고민해보았다. 기능 과제 내용이 유출되면 안되어서 자세하게 적지는 못하지만, 포트폴리오에서 진행했던 것처럼 내일 당장 제출해야 한다면 어떤 기능을 먼저 만들어야 할 것인지 고민해보았고, 자연스레 인증인가는 후순위로 미루게 되었다. 가장 필요한 기능을 먼저 구현하고 나중에 추가된 기능을.. 4월 3주차 주간회고 저번주에는 JWT의 취약한 부분들을 찾아보고, 어떻게 취약점을 보완할지 고민해보았다. 이번주에는 고민한 내용들을 실제로 적용해 보았는데, JWT뿐만 아니라 쿠키에 대한 이해도 좀 더 높일 수 있었다. 토큰 전달 방법 선택 리프레쉬 토큰을 적용하면서, 먼저 리프레쉬 토큰을 어떻게 클라이언트에게 전달해줄지 고민을 해보았다. 토큰을 응답 바디로 주는 방법과 쿠키에 담아서 전달하는 방법이 있고 장단점은 다음과 같다. 쿠키 방식 장점 - http only 옵션을 이용해 스크립트 공격을 막을 수 있음 쿠키 방식 단점 - 일부 브라우저는 쿠키를 사용하지 않도록 설정 되어있을 수 있기 때문에 CORS문제가 발생할 수 있다. - 인증된 사용자 권한을 이용해 위조된 요청을 보내는 CSRF공격에 취약하다. 응답 바디 방식.. 4월 2주차 주간회고 저번주 세운 목표는 github actions을 이용한 CI/CD파이프라인 구축이었다. 이번주도 다행히 목표로 한것들을 초과 달성할 수 있었다. 이번주에 했던 내용들을 살펴보면 세개로 분류할 수 있을 것 같다. - CI/CD 파이프라인 구축 - 운영체제 공부 - JWT 취약점 보완하기 이번주 진행했던 내용들을 돌아보면서 어떤 점들이 좋았는지 복기해본다. github actions를 이용한 CI/CD파이프라인 구축 CI는 github actions에서 제공해주는 gradle-build-action 액션을 이용해서 비교적 편하게 빌드와 테스트 파이프라인을 구축할 수 있었다. CD는 훨씬 더 어려울 것이라 생각하고 5일 정도 시간이 걸릴 것으로 예상했다. 하지만 CD 역시 잘 만들어 놓은 액션이 존재했다.(아.. 4월 1주차 주간회고 저번주 목표였던 AWS와 도커를 이용한 서버 구축을 진행해보았다. 한주간 서버구축을 하면서 느낀점은, 하나의 기술을 적용하려면 여러 문제점을 겪게 되면서 다른 CS지식을 자연스럽게 공부하게 되는 선순환이 발생하는 것 같다. 이번주에 내가 겪은 문제점들을 돌아보며 어떤 공부를 했는지 돌아본다. AWS 인스턴스 서버 다운 지금 취준생 신분이다 보니 AWS에서 제공하는 프리티어(무료계정)을 사용하고 있다. 프리티어로 사용할 수 있는 인스턴스는 메모리가 1GB밖에 되지 않기 때문에 스프링 부트 웹서버를 띄우다 보면 자주 다운되는 상황이 발생된다. 하지만 더 좋은 인스턴스를 사용하기에는 경제적으로 여유가 없어 메모리를 늘릴 방법을 찾다가 하드디스크 일부를 메모리로 변환해서 사용할 수 있는 스왑 메모리 기술을 사용.. 3월 4주차 주간회고 CS공부를 하다보니 적용 해보고싶은게 생겼다. 도커에 관해서 공부를 하다가 글로만 보니 와닿지 않아서 직접 써보면서 익히는건 어떨까? 라는 생각이 들었다. 그래서 다음주는 컨테이너를 이용해 직접 서버를 구축해보자!라는 목표를 세우게 되었다. 지금까지 왜 도커를 안써봤을까? 요새 MSA가 유행처럼 번지고 있는데, 그중 핵심이 되는 기술이 도커를 이용한 서버구축 기술이다. 근데 왜 나는 도커와 지금까지 친하지 않을까 고민을 해보니, 직접 서버 구축을 한게 아니라 헤로쿠처럼 서버를 구축해주는 플랫폼에 익숙해지다 보니 도커를 쓸 기회가 없었던 것 같다. 직접 서버구축 해보기 서버 개발자로써 서버를 구축해본 경험이 없다는게 아이러니다. 이번기회에 도커와 AWS인스턴스를 이용해 서버를 구축해보고자 한다. 서버 구축.. 3월 3주차 주간회고 이번 한주간 취업을 위해서 커피챗도 꾸준히 다녔고, 두 번의 면접도 보았다. 내가 어떤 부분을 보충해야 할지 깨달을 수 있었던 주간이었던 것 같다. 목요일날 휴레이 포지티브라는 기업의 면접을 보았는데, 면접분위기가 지금까지 보았던 곳 중 가장 편안하고 좋았다. 가고싶은 기업이라는 이미지를 처음 받았던 것 같다. 하지만 좋은 기업답게 채용도 진심으로 진행했다. 기술면접이 정말 디테일한 질문이 많았는데 대답을 잘 못한 부분이 많아서 당장 이력서를 고칠 게 아니라는 생각이 들었다. 커피챗에서도 개발자의 CS 지식에 대한 중요성을 굉장히 강조하셨다. 이번에 새로 들어온 신입개발자는 어느정도의 실력을 갖추었는지 여쭈어 보았는데, 하나의 CS주제로 5분이상은 이야기 할 수 있다고 하셨다. 웹과 연결된 CS공부를 처.. 3월 2주차 주간회고 저번주에 양으로 이력서를 쏟아부은 결과 감사하게도 이번주 구직활동을 할 기회가 여럿 생겼다. 인우님이 추천해주신 취준컴퍼니에서 커피챗을 할 기회도 있었고, 화요일날 면접 본곳에서 합격소식을 들을 수 있었다. (하지만 면접 봤을때 느꼈던 분위기를 떠올렸을 때 내가 찾던 개발문화가 아닐 것 같다는 생각이 들어 다른 곳을 찾아보기로 했다.) 지우님이 취업 방향에 대해서 조언을 해주신게 도움이 정말 많이 되었다. 이번주에는 커피챗을 자주 해서 내가 보완할 부분을 찾는데 특히 노력을 기울였던 것 같다. 내가 부족한 부분을 최대한 많은 사람에게 피드백 받을 수 있어서 내가 어떤 위치인지 객관적으로 파악할 수 있어서 정말 좋았다. 재열님과의 커피챗에서는 이력서에 대한 피드백을 많이 받았는데, 소프트 스킬보다는 하드 .. 짝프로 코테 풀기(23.02.15TIL) 포트폴리오 기간동안 짝프로그래밍을 하지 않아서 오늘부터 준형님과 함께 코딩테스트를 짝프로그래밍을 다시 진행해보기로 했다. 혼자서 코테풀때와 같이 어떻게 풀것인지 리드미 파일 작성을 한 뒤 함께 문제를 푸는 순서로 진행했다. 이전부터 짝프로그래밍을 할 때 코딩 스타일이 너무 다르면 중간에 비효율적인 부분들이 발생한 적이 있었기 때문에 서로의 풀이 방식이 대한 설명시간을 가졌다. 그리고 서로 풀이방식의 장점을 배워보기 위해 날마다 번갈아가면서 방식을 바꿔 진행하기로 했고, 오늘은 내 방식으로 코딩테스트를 진행하기로 했다. 내 방식은 일단 리드미 파일에서 문제에서 해결해야 하는 부분들을 하나하나 나열한다. 그리고 이것들이 전부 단위 테스트에 대한 인터페이스가 되기 때문에 준형님과 함께 해결해야할 것들을 나열해.. 기술적 경험(23.02.05TIL) 금요일날 노아님의 워크샵을 듣고 한주간 이력서를 작성하는 주간이 되었다. 하지만 이력서에서 어떤것을 어필하면 좋을지 준형님과 함께 고민해보았다. 이력서 작성 키워드 워크샵에서 노아님이 말씀해주신 부분들에 더해서 우리가 어떤 키워드로 이력서를 작성하면 좋을지 리스트업을 해보았다. 테스트코드 작성 데일리 스크럼, 1주단위의 스프린트 풀스택 웹개발 깃헙 프로젝트 문서화 페어 프로그래밍 코드리뷰 충분히 강점을 어필할수 있는 키워드들이 많았지만, 프로젝트에서 기술적인 이슈를 해결하기 위해서 어떤 부분들을 고민해봤는지 적기가 애매했다. 기술적인 고민 내일은 TIL을 먼저 살펴보고 기술적인 고민을 했던 부분을 정리해보고 포트폴리오를 점검하면서 새로운 기술을 적용해서 해결할만한 문제가 있는지 한번 살펴보아야겠다. 이전 1 2 3 4 ··· 25 다음