인프런 워밍업 스터디 3기 후기
·
인프런 워밍업 스터디
📌 인프런 워밍업 스터디?인프런 워밍업 스터디는 한 달 동안 인프런에 올라와있는 지식 공유자의 강의를 듣습니다. 하지만 단순히 강의만 듣는 것이 아니라, 강의와 관련된 미션 등을 수행하고 지식 공유자와 직접 소통할 수 있습니다.제가 참여한 인프런 워밍업 스터디는 박우빈님의 클린 코드 & 테스트 코드입니다.워밍업 스터디 참여 이전에 박우빈님의 테스트 코드 강의를 본 적이 있는데, 만족도가 높아 참여하게 되었습니다.📌 워밍업 스터디 참여!워밍업 스터디를 시작하기 전에 프로젝트를 진행하면서 추상화라는 단어가 제 머리속에 들어왔었습니다. 그래서 ‘어떻게 하는 것이 좋은 추상화일까?’라는 고민을 하던 중, 타이밍이 좋게 워밍업 스터디가 열려 시작하였습니다.워밍업 스터디에서는 강의를 듣는 것 외에 다양한 활동이..
[4주차 발자국] 워밍업 스터디 마무리
·
인프런 워밍업 스터디
인프런 ‘Readable Code: 읽기 좋은 코드를 작성하는 사고법’을 수강한 후, 작성한 내용입니다.📌 강의 내용Presentation Layer기존에 프로젝트에서 Presentation Layer 테스트는 건너뛴 경우가 많았다. 대부분 Business Layer까지만 테스트를 작성했고 사실 어떻게 Presentation Layer 테스트를 작성해야할지 잘 몰라서 안했던 것도 컸다,이번 강의를 통해 MockMVC을 사용하여 Presentation Layer 테스트에 대해 익힐 수 있었고, 프로젝트에도 적용해봐야겠다.Mock을 마주하는 자세Mock은 주로 테스트 하는 대상에 대해 집중하기 위해 사용한다. 예를 들어, 외부 클라이언트에 의존하는 기능이 있을 때 실제 이 기능을 사용하면서까지 테스트할 필..
[3주차 발자국] 스프링과 테스트 코드
·
인프런 워밍업 스터디
📌 3주차 강의Spring & JPA 기반 테스트레이어드 아키텍처와 테스트레이어를 구분하는 이유 ⇒ 관심사의 분리!스프링과 JPA라는 기술 자체가 중요한 것이 아니라,무엇을 어떻게 테스트 할 것인지가 중요하다.통합 테스트여러 모듈이 협력하는 기능을 통합적으로 검증단위 테스트만으로는 기능 전체의 신뢰성을 보장하기 어렵다.풍부한 단위 테스트 & 큰 기능 단위를 검증하는 통합 테스트Spring / JPA 훑어보기 & 기본 엔티티 설계Library vs Framework라이브러리는 내 코드가 주체가 된다.프레임워크에서는 코드를 작성해서 끼워넣는다.SpringIoC : 객체의 생명주기에 대한 관리를 제 3자가 한다.DI : 컨테이너가 주입해준 객체를 사용한다.AOP : 코드 상으로 흩어져있는 부가적인 앞뒤로 해..
[인프런 워밍업 스터디] 2주차 발자국: Readable Code 적용기
·
인프런 워밍업 스터디
인프런 ‘Readable Code: 읽기 좋은 코드를 작성하는 사고법’을 수강한 후, 작성한 내용입니다.📌 2주차 강의 (Readable Code)코드 다듬기주석의 양면성주석이 많다 ⇒ 비즈니스 요구사항을 코드에 잘 녹이지 못했나 의심해보자.추상화로 설명이 덜 된 것은 아닐까?주석에 의존하면 적절하지 않은 추상화 레벨을 가지게 된다.좋은 주석우리가 가진 모든 표현 방법을 총동원해 코드에 의도를 녹여내고, 그럼에도 불구하고 전달해야 할 정보가 남았을 때 사용하는 주석의사 결정의 히스토리를 도저히 코드로 표현할 수 없을 때, 주석으로 상세하게 설명!번수와 메서드의 나열 순서변수는 사용하는 순서대로 나열하자.인지적 경제성메서드의 순서는 객체의 입장에서 생각해보자.객체는 외부 세계와 어떻게 소통할 것인지가 중..
[인프런 워밍업 스터디] 추상과 객체 지향의 구체화
·
인프런 워밍업 스터디
인프런 ‘Readable Code: 읽기 좋은 코드를 작성하는 사고법’을 수강한 후, 작성한 내용입니다.📌 1주차 기간 강의섹션 2. 추상코드를 잘 짠다는 것은?개발자라면 코드를 잘 짜기 위해 노력한다. ‘코드를 잘 짠다’라는 것은 무엇일까?코드를 잘 짠다는 것은 이해하기 쉬운 코드, 즉 ‘읽기 좋은 코드’라는 것에 동의하지 않는 사람은 없을 것이다.내가 짠 코드를 읽는 대상은 결국 나와 동료이다. 미래의 나와 동료를 위해 매 순간 읽기 좋은 코드를 작성하려고 노력해보자.클린 코드와 리팩토링의 가장 좋은 예시는 테스트 코드 생성 사이클로 볼 수 있다.리팩토링 대상/범위 확인기능 보장을 위한 테스트 코드리팩토링 & 테스트 코드로 검증클린 코드를 추구하는 이유그런데 클린 코드를 추구하는 이유는 뭘까?코드가..
[미션 Day 4] 코드 리팩토링 및 나만의 언어로 작성한 SOLID 원칙
·
인프런 워밍업 스터디
📌 1. 코드 리팩토링✔️ 사용자가 생성한 '주문'이 유효한지를 검증하는 메서드.✔️ Order는 주문 객체이고, 필요하다면 Order에 추가적인 메서드를 만들어도 된다. (Order 내부의 구현을 구체적으로 할 필요는 없다.)✔️ 필요하다면 메서드를 추출할 수 있다.public boolean validateOrder(Order order) { if (order.getItems().size() == 0) { log.info("주문 항목이 없습니다."); return false; } else { if (order.getTotalPrice() > 0) { if (!order.hasCustomerInfo()) { ..
AI 시대의 개발자의 가치
·
인프런 워밍업 스터디
인프런 지식공유자 박우빈님의 강의내용을 기반으로 작성된 글 입니다!최근 몇 년 사이에 AI 라는 단어가 더 가까이 다가온 듯 합니다. 과거 알파고를 통해 AI를 간접적으로 경험하였지만, 제 생활과는 거리가 먼 이야기 같았습니다. 하지만 이제는 모두가 ChatGPT를 알고, IT 업계가 아니더라도 잘 활용되고 있습니다. 또한 최근에는 딥시크가 화제에 오르기도 하였습니다.AI!AI…AI는 세상을 급변화시키고 있고, 현재 엄청난 생산성을 가져다주는 도구입니다. 하지만 반대로 이로 인해 대체되는 일도 생기게 됩니다.개발자! 개발자의 미래는 어떻게 될까요?AI는 PMF(제품 시장 적합성, Product Market Fit) 임계값을 급변시켜 붕괴를 일으킬 수 있다!PMF 임계값을 급변시킨다는게 뭐지..?우빈님께서..