본문 바로가기

전체 글147

2022년 회고 2022년 회고2021년의 회고이제 개발 공부를 시작한 지 1년이 되었다. 21년에 한정수님의 체대 출신 개발자의 회고를 보고 나름 따라 해보려고 갓 시작했던 때 회고글을 작성했었다. 이때 썼던 많은 사람은 1년 동안 많은 것을 해낸다고 썼는데 과연 나는 1년을 의미 있게 보냈을까?2022년 요약2022년도를 한마디로 표현하면 혼자에서 함께이다. 공무원 준비를 하던 때에는 철저하게 혼자였다. 집과 스터디카페를 왔다 갔다 하는 생활을 했고 만나자는 약속은 다 거절했었다. 그런데 개발 공부를 시작하고 내 삶이 다채로워졌고 행복하다는 생각을 자주 했다(내 실력을 보며 절망도 많이 느꼈다). 고등학교 친구가 컴공 친구를 소개해주었고 함께 멘토링 프로그램을 신청하여 평소 롤모델이었던 이동욱님께 멘토링을 받았다. .. 2023. 1. 7.
TDD, 클린 코드 with Java 피드백 정리 간략한 소감: 넥스트스텝 하길 잘했다! 리뷰요청을 하고 나면 편지를 받는 것처럼 무슨 내용이 들어있을지 너무 기다려졌다. 2주에 한번씩 라이브로 줌에 참여했을 때 내가 성장하려는 사람들 속에 함께 속해있다는 것도 공부를 지속시키는 힘이 되었던 것 같다. 언젠간 나도 저렇게 될 수 있지 않을까라는 희망이 생겼다. 그리고 무엇보다 내 코드에 대해 피드백 해줄 수 있는 사람이 생겼다는 것이 좋았고 개선될 때의 짜릿함을 느낄 수 있었다. PR 링크 자동차 경주용 게임 구현 로또 게임 구현 사다리 타기 구현 볼링 게임 점수판 구현 자동차 경주 컬렉션 사이즈 검증 // before assertThat(numbers.size()).isEqualTo(3); // after assertThat(numbers).hasSi.. 2022. 12. 15.
우테코 프리코스 회고(10.26~11.22) 회고 성취감 4주간의 우테코 프리코스가 끝났다! 11월 22일 23시 55분 학교 도서관에 남아 제출을 마무리했다..! 미션을 모두 끝냈다는 생각에 너무 뿌듯하고 뭐든 할 수 있을 것만 같았다. (그 감정은 자고 일어나니까 사라졌다.) 하나의 미션에 주어지는 시간이 일주일이었는데 그중에 반은 나 자신과 싸우는데 썼다. ‘난 못해…’라는 생각이 자꾸 들었고, 정말 코딩에 미쳐있는 사람들이 많았는데(커밋 100개..) 나는 그렇지 않다는 생각이 들었다. 나만 그런가 싶어 슬랙을 눈팅하면서 위안을 얻기도하고 그러다 마감기한이 다가오면 해내야 한다는 생각으로 바뀌었다. 못하면 나한테 지는 것 같았고, 못한다고 생각했던 걸 해냈을 때의 성취감은 중독성이 있었다. 특히 마지막 미션의 성취감은 정말 미쳤다. 성장 우.. 2022. 11. 26.
[모각코 10회차] 네이버 지역검색 API 활용 맛집 리스트 만들기 목표: 네이버 지역검색 API 활용 맛집 리스트 만들기저장할 Entity 생성 @NoArgsConstructor @AllArgsConstructor @Data public class WishListEntity extends MemoryDbEntity { private String title; // 음식명, 장소명 private String category; // 카테고리 private String address; // 주소 private String roadAddress; // 도로명 private String homePageLink; // 홈페이지 주소 private String imageLink; // 음식, 가게 이미지 주소 private boolean isVisit; // 방문여부 private .. 2022. 9. 8.
[모각코 9회차] 상품관리 REST API 클론 프로젝트(feat.React) 목표: 상품관리 REST API 클론 프로젝트상품추가App.js const [items, setItems] = useState([]); //기본상태 const handleAddClicked = (id) => { //같은 아이디 찾기 const product = products.find((v) => v.id === id); const found = items.find((v) => v.id === id); const updatedItems = //상품확인...모든속성 복사, 개수 +1/없으면 기존 아이템 반환 //기존것 복사 + 새로운 상품 추가 found ? items.map((v) => (v.id === id ? { ...v, count: v.count + 1 } : v)) : [ ...items, { .. 2022. 8. 30.
[모각코 8회차] Spring Security with JWT 목표: 시큐리티 파트2Stateful과 StatelessStateless기반의 JWT에 대해 알아보기 전에 Stateful과 Stateless방식의 차이점을 알아보자 Stateful Session 사용 Session Cluster필요(수평확장 어렵) 단일 사용자의 다중 로그인 컨트롤, 사용자 유효성 체크, 강제 로그아웃 기능 구현 쉬움 Stateless Session 사용 x, 근데 서버는 사용자를 식별할 수 있어야 함 Session Cluster필요x(수평확장 쉬움) 단일 사용자의 다중 로그인 컨트롤, 사용자 유효성 체크, 강제 로그아웃 기능 구현 어려움 JWT (Json Web Token) Stateless 상태를 유지하며, 서버에서 사용자를 식별할 수 있는 수단을 제공 서버에서 사용자 인증되면 JW.. 2022. 8. 25.
[모각코 7회차] Spring Security Internals 목표: 스프링 시큐리티 파트1Thread Per Request 모델과 ThreadLocal Thread Per Request 모델 병렬처리 기법 중 하나 WAS는 ThradPool을 생성하는데 HTTP 요청이 들어오면 Queue에 적재되고, ThreadPool 내의 특정 Thread가 Queue에서 요청을 가져와 처리 WAS의 최대 동시 처리 HTTP 요청의 갯수는 ThreadPool의 갯수와 같음 ThreadLocal 동일 Thread 내에서는 언제든 읽고 쓸 수 있는 변수 final static ThreadLocal threadLocalValue = new ThreadLocal(); public static void main(String[] args) { System.out.println(getCur.. 2022. 8. 19.
[모각코 6회차] 주문관리 API 목표: 주문 API 만들기 실습 ERD Entity Order Entity는 아이디, 주문시간, 주문상태, 메모, 회원, 주문아이템을 필드로 갖으며 작성자와 생성시간을 제공하는 BaseEntity를 상속 받음 Order 엔티티에서 setMember와 addOrderItem 연관관계 편의 메서드를 제공 오더와 멤버는 다대일 관계 오더와 오더아이템은 일대다 관계 @Entity @Table(name = "orders") @Getter @Setter public class Order extends BaseEntity { @Id @Column(name = "id") private String uuid; @Column(name = "order_datetime", columnDefinition = "TIMESTAMP.. 2022. 8. 11.