[기술 공부]- JPA의 사실과 오해 2월 간에는 2주 동안 매주 토요일 JPA 사실과 오해 강의를 들으러 갔다.그동안 Spring Data JPA를 사용함에 있어서 고민하고 있던 부분들, 그리고 새로운 시각에 대해서 깨닫고 배울 수 있는 좋은 기회였다.금액이 적지는 않지만, 누군가의 큰 고민이 담긴 결정체라고 생각한다면 충분히 납득할 만한 금액이다. [개인 프로젝트]계속 시도하고 있는 개인 프로젝트가 있는데, 3월에는 잠시 중지했으나,2월 달에는 정말 열심히 고민했다.정형화 되지 않고 공통점이 적은 것을 추상화하려니 많은 어려움이 있었고, 아직도 고민 중인 상태이다. 그러나 다양한 케이스들을 접하며 조금씩은 실마리가 보이는데, 얼른 불안한 이 시기가 지나고 다시 몰입하고 싶다. [회고법에 대한 고민]항..
ALL

⌨️ 2024년 회고인데 거의 한 달이 지나서 해야 하나 말아야 하나할 땐 일단 하자.2024년을 돌아보고 2025년 목표를 세울 건데.. 돌아보기는 하는 데 뭔가 처참하다1. 20241.1. 월 별 활동1월 - 취업 준비2월 - 취업 준비3월 - 취업 준비4월 - 입사5월 - 회사 적응 / 밀린 공부(취업 준비에 밀려 못한 것들)6월 - 이산 수학7월 - 신규 프로젝트 진행8월 - 신규 프로젝트 진행9월 -??10월 - WebSocket / STOMP11월 - 코드잇 스프린트 백엔드 도움..? 서포터..? 참가 (1)12월 - 코드잇 스프린트 백엔드 도움..? 서포터..? 참가 (2) / go lang + gRPC1.2. 뭔가 뭔 가인 1년돌이켜 보면 한 거는 많은 뭔가 기억에 확 남질 않는다.여기저기..
⌨️ 인프런 워밍업 클럽 2기 미션 Day-18이번 미션은 @Mock, @MockBean, @Spy, @SpyBean @InjectMock의 차이점과 주어진 테스트 상황의 구조를 수정하는 미션 두 가지이다. 먼저 Test Double에 대해서 정리를 하도록 하겠다.1. @Mock, @MockBean, @Spy, @SpyBean, @InjectMock의 차이1.1 Test Double과 각 Annotation의 차이https://www.martinfowler.com/bliki/TestDouble.html bliki: Test DoubleTest Double is generic term for fakes, mocks, stubs, dummies and spies.martinfowler.com 마틴 파울러의 ..
⌨️ 인프런 워밍업 클럽 2기 미션 Day-15이번 미션은 Layerd Architecture의 각 레이어별로 어떤 특징이 있고, 어떻게 테스트하면 좋을지 나만의 언어로 정리하는 것이다.1. 레이어 별 특징레이어를 3단계 혹은 4단계로 나누는데 나는 3단계로 나누어서 작성토록 하겠다.1.1 Persistence Layer✅ Data Access의 역할✅ 비즈니스 가공 로직이 포함되어서는 안 된다. Data에 대한 CRUD에만 집중한 레이어 DB의 연결만을 위한 Layer라고 생각한다. 간혹 비즈니스 레이어 (서비스 레이어)에 DB의 연결과 쿼리까지 있는 경우가 있는데,유지 보수하기도 힘들었던 기억이 있다. 크게는 두 분류의 프레임워크를 사용하는데 ORM과 SQL Mapper다.간혹 ORM이 SQL Map..
⌨️ 인프런 워밍업 클럽 2기 미션 Day-4인프런 박우빈님의 백엔드 과정 진행 중 미션을 작성해야 하는데 마땅한 곳이 없어 끄적끄적인다.1. 리팩토링 public boolean validateOrder(Order order) { if (order.getItems().size() == 0) { log.info("주문 항목이 없습니다."); return false; } else { if (order.getTotalPrice() > 0) { if (!order.hasCustomerInfo()) { log.info("사용자 정보가 없습니다."); return false; ..

⌨️ 사고법을 중요시 생각하는 이유?이는 이 강의를 내신 배경과 관련이 있을까? 혼자 만의 뇌피셜이지만,강사께서는 AI로 인해 대체 가능한 역량과 대체 불가능한 역량을 나름의 기준으로 나누었는데그중에서 사고 즉 판단과 통찰 등 정량적인 지표로는 함부로 평가할 수 없는 것들을 중요하게 생각하는 것 같다✅ 고민의 흔적이 느껴지는 강의모든 강의가 당연 고민의 흔적이 느껴지지만, 이 강의에서는 나는 지식공유자가 학습자를 위해 고민한 것과그 이상의 것이 느껴져서 굉장히 긍정적인 경험이었다. 강의의 개요를 보면 강의를 통해 얻을 수 있는 것이 읽기 좋은 코드를 작성하는 사고방식코드 레벨에서 맛보는 객체 지향 패러다임엉망인 코드를 더 나은 코드로 리팩토링하는 경험머릿속에 남는 키워드 정리정도로 요약하고 있다. 그에 ..

⌨️ 개인의 편리를 위해 규약을 느슨하게 해선 안된다결론부터 말하자면 살짝 느슨해진 것 같다.일을 하다 보니 어느새 귀찮은 것들에 대해 피하고 싶어 졌고, 그것이 곧 옳지 못한 구현으로 이어지기도 했다.이 글은 그런 날을 돌이키며 기억해 두고 채찍질하기 위함이다. 🤔 쿼리스트링이 긴게 문제일까? 동료가 다른 일을 하는 동안 나는 작업하기 편하게 프론트를 조금 만져주는 걸로 일을 나누었다.프론트에서 `Get` 요청을 보낼 때 쿼리스트링으로 만들어 주길 요청했으나. 나는 쿼리스트링이 너무 길어져서 불편해서 그런데 `Post`로 RequestBody에 담아도 될까요?라고 했다. 이런저런 이야기가 오고 갔지만, 결과적으론 쿼리스트링이 길어서 불편하다는 내 의견은 그냥개인의 불편함을 호소하는 것뿐 합당한 이유..

⌨️ 유연한 사고?유연하게 사고하는 것은 생각보다 문제 해결에 있어서 중요하다고 생각합니다.생각보다 사고는 더욱 경직되어 있어서 유연한가? 싶어도 돌아보면 딱딱한 상태더군요. 🤔 불필요한 데이터를 삭제하는 일요구사항을 구현하기 위해 만든 기능에서, 불필요한 데이터가 남는 상황을 발견했습니다.이 외에도 간간히 이런 것들에 대해 고민을 한 적이 있습니다. 예를 들어 이미 올라온 파일(이미지나 동영상) 등의 참조가 변경되어 더 이상 사용하지 않는 자료가 되어 버린다든지 어찌 됐든 나의 저장소로 차지하는 것에 있어서 해결을 하고 싶었던 적이 있었습니다. ✅ 지연 처리가 나쁜 건 아니잖아?제가 꽤 자주 하는 실수 중 하나가 바로 '즉각성'에 너무 과몰입하는 것입니다. 즉각적으로 요청과 응답이 주고받아지고 그..

KOSA 후기를 보고 고민 중인 개발자 취준생분들에게KOSA 교육 과정에 대한 후기를 제법 보십니다.생각보다 후기가 많이 없어서 그런가 싶습니다. 저의 주관이지만 KOSA 과정을 교육의 처음으로 시작하시는 분들보다 n회차인 분들이 확실히 많은 것 같습니다.아무래도 KDT 수료 횟수를 제한하지 않는 점이 크지 않나 합니다. 다양한 고민을 일반화 할 순 없지만 저 또한 그 입장이기에 어느 정도 공감을 합니다.크게 두 가지 고민을 많이 말씀 주시는데, 1. 교육을 또 듣는 것이 큰 의미가 있을까?2. 채용 연계라는데 과연 이 채용 연계가 정말 효력이 있을까? 우선 초치는 말이지만 당연히 교육을 듣는다고 채용이 되지는 않습니다.아직까지도 어려운 취업 시장에서 당연히 걱정하시고 계신 부분들은 알지만그래도 본인들께..