TIL(177)
-
(TIL) 20220311, 어떻게 문제를 풀 것인가
🏴Facts(한 것) 알고리즘 문제 풀기(Java,파이썬) 카카오 모빌리티 코딩테스트 완료(코딜리티) 짝프로그래밍 어떻게 문제를 풀 것인가 독서 🏴Findings(배운 것) 어제 를 읽으면서 나눈 이야기 중에 '나는 문제를 어떻게 푸는가'가 있었고, 그중에서 에 나와 있는 방식대로 문제를 접근하고 있다는 분의 얘기를 봤다. 그래서 한 번 읽고 실천하지 않은 책을 다시 꺼내 들었고, 아주 중요한 것을 확인할 수 있었다. (그리고 이를 파이썬 문제 풀이에 적용했다.) 저자는 해답을 찾으려는 사고를 4가지 단계로 분류하였다. 문제를 "이해" 하라 여러 가지 사항들이 어떻게 관련되어 있는지 파악하고 계획을 세워라 계획을 실행하라 완성된 풀이를 되돌아보라 가장 먼저 문제를 이해해야 한다. 문제를..
2022.03.12 -
(TIL) 20220303
📕Facts(한 것) 클린 코드 독서 Java 문법 복습(Java 8 중심) 알고리즘 문제 풀기 프로젝트 코드 리팩터링 및 예제데이터 추가 📕Findings(배운 것) 미루고 미뤘던 좋아요를 클릭여부 로직을 변경했다. 기존에는 게시글을 조회하고, 좋아요도 따로 조회요청을 해야한다고 생각했는데 두번 요청하는것이 비효율적이면서, 아무런 상호작용이 일어나지도 않았는데 조회요청하는게 이상하다고 생각해서 게시글, 리뷰글을 조회할 때 바꾸는 로직으로 변경했다. \클린 코드 2장을 읽었다. 코드 컴플리트랑 내용이 일맥상통 하면서도 좀 더 재밌다. 클린코드 2장에 대한 내용 정리은 아래에. (클린코드) 2장. 의미 있는 이름 클린코드 2장, 의미 있는 이름 챕터를 정리한 글이다. 오른 쪽에 유명한 통계가 있다. 개발자..
2022.03.03 -
(TIL)20220228, 당근 끝!
📕Facts(한 것) 당근마켓 과제 완료! 📕Findings(배운 것) 당근 마켓 과제를 드디어 끝냈다. Spring Batch라는 기술을 처음 사용해봤다. 왜 Spring Batch 였을까? 스프링 배치는 대용량 데이터 처리에 아주 적합하다. 왜 적합할까? 기존의 MVC구조는 대용량 데이터 처리에 왜 부적합 할까? MVC구조에서 JPA findAll()을 준다고 해보자. 그럼 DB에 있는 모든 데이터를 불러올게 아닌가? 그렇다면 많은 트래픽이 발생할 것이고, 이는 하드웨어 자원을 갉아 먹을 것이다. 하지만 스프링 배치는 그렇지 않다. 읽어 들이는 사이즈를 조절 할 수 있어서 데이터를 천천히, 많이, 하드웨어 자원을 아끼면서 가져올 수 있다. 스프링 배치에 대해서 서적으로 출판 된 것이 아주 적다. 나는..
2022.03.01 -
(TIL) 20222021, 만들면서 배우는 클린 아키텍처
📕Facts(한 것) 스타트업 면접 DB 트랜젝션과 락에 대해서 더 공부 비슷한 프로젝트를 진행하는 분과 컨텍 정규화와 비정규화에 대한 고찰 만들면서 배우는 클린아키텍처 독서(단일 책임 원칙) 📕Findings(배운 것) 어제에 이어 오늘도 면접을 진행했다! 첫 오프라인 직장 면접이어서 많이 설레면서 떨렸다. 편한 분위기에서 나의 프로젝트와 내가 해온 것들에 대해서 설명했고, 내가 평소에 추구하는 개발 방향, 협업 방식, 테스트코드에 대한 생각 등을 이야기 했다. (내 스스로 나의 부족한 점을 잘 숨기지 않았을까 싶다) 트렌젝션과 락에 대한 질문이 들어왔는데, 사실 락에 대한 개념이 잘 탑재가 되어 있지 않아서 길게 설명을 못했다. 그래서 오늘 공부했다. 아래의 글을 보고 트렌젝션과 락에 대해 알아보자...
2022.02.22 -
(TIL) 20220201, aws에서 스프링 프로젝트 배포하는 방법
📕Facts(한 것) AWS로 배포 성공 서버 상에서 swagger 확인 가능 EIP 적용 중 📕Findings(배운 것) 도커로 빌드하기 전에 막혀서 aws상에서 배포를 진행했다. aws상에서 배포, 뭔가 거창해 보이지만 단어 하나하나 풀어보면 그렇게 거창하지 않다. 먼저 배포란 뭘까? 배포를 어떻게 해야 배포인 걸까? 배포는 서버를 실행하는 것과 동일하다고 생각하면 된다. 하지만 이 서버가 항상 실행이 된 상태여야 클라이언트가 언제든 요청할 수 있지 않겠는가? 당연히 우리 개인 컴퓨터로도 할 수 있지만, 우리의 컴퓨터가 서버용도 아닐뿐더러, 굳이 비싼 노트북, 맥북을 써서 이렇게 할 이유가 없다. 그래서 우리는 아마존의 서버를 빌려서, 내 스프링 프로젝트를 실행하는 것이다. 배포하는 방법은 간단하다...
2022.02.02 -
(TIL) 20220128, docker로 배포
📕Facts(한 것) Docker로 user 부분 배포 시도(로컬에서는 가능, aws에서는 아직...) Like부분 C, D 구현 완료. 팀원 코드 리뷰 진행 📕Findings(배운 것) Docker의 기본 명령어를 숙지 할 수 있는 삽질을 진행했다.... 도커를 통한 배포과정은 다음과 같다. 도커파일 생성 도커 이미지 생성 도커 빌드 배포 루트프로젝트에 Dockerfile을 생성하여 기본 설정을 해주고, 도커 이미지를 생성해서 , 빌드를 진행해준다. docker tag [프로젝트네임+버전] [docker id/docekr repository이름] . 을 통해서 이미지를 생성해주고 docker build 를 진행해준다.(자세한 내용은 추후에...) 그리고 docker run을 하면 로컬에서는 실행이 가능..
2022.01.29