우아한스터디-4주차-스터디-회고
만들면서 배우는 클린 아키텍쳐 스터디 4주차 회고 빌드 아티팩트 실무에서 아키텍처 경계를 강제하기 위해 가장 현실적이고 실용적인 방법이 바로 메이븐(Maven)과 그레이들(Gradle)과 같은 빌드 아티팩트를 사용하는 방법입니다.
만들면서 배우는 클린 아키텍쳐 스터디 4주차 회고 빌드 아티팩트 실무에서 아키텍처 경계를 강제하기 위해 가장 현실적이고 실용적인 방법이 바로 메이븐(Maven)과 그레이들(Gradle)과 같은 빌드 아티팩트를 사용하는 방법입니다.
personal 3가지 패키지(adapter, application, domain) 중에서domain 패키지와 application 패키지, 그리고 adapter 패키지에 대한 설명을 하였습니다.
만들면서 배우는 클린 아키텍쳐 스터디 3주차 회고 테스트 코드를 작성시 가독성을 위해 계층형으로 작성하는 것이 좋다. 테스트코드를 작성하기 위해 사용하는 프레임워크는 여러 개 있지만 어떤 것이든 상관없습니다.
만들면서 배우는 클린 아키텍쳐 12장 정리 아키텍처 스타일 결정하기 언제 실제로 육각형 아키텍처 스타일을 사용해야 할까요?
만들면서 배우는 클린 아키텍쳐 11장 정리 의식적으로 지름길 사용하기
만들면서 배우는 클린 아키텍쳐 10장 정리 아키텍처 경계 강제하기
만들면서 배우는 클린 아키텍쳐 9장 정리 애플리케이션 조립하기 유스케이스, 웹 어댑터, 영속성 어댑터를 구현한 다음은 이것들 조립할 무언가가 필요합니다.
만들면서 배우는 클린 아키텍쳐 8장 정리 경계 간 매핑하기 경계 간 매핑을 하는 것에 대해 찬반의견이 분분합니다.
만들면서 배우는 클린 아키텍쳐 7장 정리 아키텍처 요소 테스트하기 이번 장에서는 육각형 아키텍처에서의 테스트 전략과 아키텍처의 각 요소들을 테스트할 수 있는 테스트 유형에 대해 이야기합니다.
personal 3가지 패키지(adapter, application, domain) 중에서domain 패키지와 application 패키지에 대한 설명을 하였고, 이제 adapter 패키지에 대한 설명을 하도록 하겠습니다.
personal 3가지 패키지(adapter, application, domain) 중에서domain 패키지를 먼저 설명하였고, 다음으로는 application 패키지에 대한 설명을 하도록 하겠습니다.
토이 프로젝트를 시작 하게 된 이유 스프링에 대한 지식이 너무 없다보니 일단 지식을 쌓자는 생각으로 김영한님의 ‘스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술’(무료)와 ‘스프링 핵심 원리 기본편’, ‘실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이...
만들면서 배우는 클린 아키텍쳐 스터디 2주차 Q&A 유스케이스의 입력 모델과 웹 어댑터의 입력 모델 사이의 차이는 무엇인가?
만들면서 배우는 클린 아키텍쳐 6장 정리 영속성 어댑터 구현하기 의존성 역전 애플리케이션 서비스에서는 영속성 기능을 사용하기 의해 포트 인터페이스를 호출합니다.
만들면서 배우는 클린 아키텍쳐 5장 정리 웹 어댑터 구현하기 오늘날의 애플리케이션은 대부분 웹 브라우저를 통해 상호작용할 수 있는 UI나 다른 시스템에서 애플리케이션을 상호작용하는 HTTP API와 같은 웹 인터페이스를 제공합니다.
만들면서 배우는 클린 아키텍쳐 4장 정리 유스케이스 구현하기 애플리케이션, 웹, 영속성 계층을 느슨하게 결합하면 도메인 코드를 원하는대로 자유롭게 모델링할 수 있습니다.
만들면서 배우는 클린 아키텍쳐 스터디 1주차 Q&A 왜 엔티티 클래스의 필드 멤버에 id가 존재하는가? 1장에서 “계층형 아키텍처는 데이터베이스 설계를 유도한다.”고 말하고 있습니다.
만들면서 배우는 클린 아키텍쳐 3장 정리 코드 구성하기 처음에 프로젝트를 할 때 가장 먼저 신경쓰는 것이 패키지 구조입니다. 그래서 처음에 공들여서 패키지 구조를 만듭니다. 하지만 시간이 지남에 따라 다른 패키지에서 접근을 하면 안되는 패키지에 접근을 하게됨으로써 패키지 구분이 무...
만들면서 배우는 클린 아키텍쳐 2장 정리 의존성 역전하기 단일 책임 원칙 단일 책임 원칙의 일반적인 해석은 다음과 같습니다. 하나의 컴포넌트는 오로지 한 가지 일만 해야 하고, 그것을 올바르게 수행해야 한다. 그러나 이는 단일 책임 원칙의 실제 의도는 아닙니다. 단일 책임 원칙의 ...
만들면서 배우는 클린 아키텍쳐 1장 정리 저자 서문 우선 전통적인 계층형 아키텍처와 육각형 아키텍처에 대한 이야기가 먼저 나옵니다. 요약하자면 전통적인 계층형 아키텍처는 문제가 많고, 이를 해결하기 의헤 육각형 아키텍처를 사용해야 한다는 것 같습니다.
우아한 스터디 신청 계기 올해 우아한 스터디 모집공고를 보고 나서 어떤 스터디를 신청할까 고민하였습니다. ‘HTTP 완벽 가이드 완독하기’와 ‘헥사고날 아키텍쳐로 구현하는 작은 스프링 부트 토이 프로젝트’사이에서 고민하였습니다. ‘HTTP 완벽 가이드’는 사놓고 읽지를 않아서 스터...
코드숨 - 스프링 4주차 회고 이번 주는 저번 주까지 진행하던 할 일 목록 리스트를 응용하여 새로운 프로젝트를 진행하였습니다. 고양이 장난감 가게 프로젝트를 진행하였는데, 엔티티의 필드만 늘어났지 결국에 원리는 할 일 목록과 같았기 때문에 구현을 함에 있어서는 큰 문제는 없었습니다...
코드숨 - 스프링 3주차 회고 이번주는 저번 주에 작성한 프로젝트에 대한 테스트 코드를 구현하였습니다. Service의 경우 JUnit을 이용하여 테스트하였는데 이는 예전에 해 본 경험이 있어서 방법 자체는 어렵지 않았습니다. 그러나 controller 테스트에서 스프링의 힘을 빌...
코드숨 - 스프링 2주차 회고 드디어 스프링을 이용하여 프로젝트를 구현하였습니다. 스프링 자체가 처음인데다가 marko를 이용해 구현된 프론트엔트와 접목을 시키려니 어려웠습니다.
코드숨 - 스프링 1주차 회고 혼자 자바 공부를 하다가 스스로 잘하고 있는건지 불안한 마음도 들고, 나태해지기도 하여 혼자서는 쉽지 않겠다는 생각을 하게 되었습니다. 그래서 어떤 강의를 들을까 찾아보다가 이전에 코드숨을 신청하신 분의 블로그 글을 보고 코드숨을 알게되어 신청해야겠다...
시작하며 저번 시간까지 가계부(AccountBook) 프로젝트를 하면서 추상클래스, 추상메소드, 부모와 자식간의 상속의 개념을 배울 수 있었습니다. Java프로젝트하면서 추상클래스, 추상메소드, 다형성, 부모와 자식간의 상속 개념 배우기
시작하며 저번 시간에 가계부(AccountBook)에서 사용할 엔티티 클래스인 Account, Income과 Outgo에 대해서 정의했습니다. Account, Income과 Outgo클래스 만들기
시작하며 이번 시간에는 저번 시간에 만든 Date클래스(LocalDate를 활용하여 커스터마이징한 Date)를 활용하여 가계부(AccountBook)프로그램을 구현하려고 합니다. Java의 LocalDate를 활용해서 나만의 Date클래스 만들기
LocalDate 클래스 LocalDate는 Java 8부터 제공하는 날짜 정보와 관련된 처리를 도와주는 유용한 라이브러리 클래스입니다. 이전에는 Date와 Calender 클래스가 있었다고 하는데 요새는 거의 안쓴다고 하네요. 시간의 경우 LocalTime을 사용하면 되고, 시간...
데이터베이스 개념 설명 데이터베이스에 간단한 개념 설명은 예전에 진행한 주소록 프로그램에서 MySQL과 연동할 때 설명하였습니다. 데이터베이스 기초 설명
CUI Programming 자바입출력 및 VisitingCardBinder의 모든 메소드들이 잘돌아가는지 확인하기 위해 콘솔창을 이용하는 CUI Programming을 구현하였습니다. CUI는 구분선을 만들기 위해 printf나 println을 많이 이용하는 노가다(?)성질이 있...
명함철에서 필요한 파일 개수 이번에는 CUI 프로그래밍으로 넘어가기 전에 먼저 외부텍스트파일의 데이터를 불러오고, 저장할 수 있게 load 와 save 메소드를 먼저 정의하려고 합니다. 그 과정에서 RandomAccessFile을 쓰는 이유와 사용 방법에 대해 설명하도록 하겠습니다...
도메인 용어 정의 저번 시간에 만들었던 VisitingCard클래스를 관리하는 control인 명함철, VisitingCardBinder를 구현하면서 LinkedList에서 얕은 복사 깊은 복사를 설명하도록 하겠습니다. 명함철을 구현할 때는 저번에 주소록과는 다른 도메인 용어를 사...
명함철 프로젝트를 시작하면서 저번까지 ArrayList를 활용하여 주소록 프로그램을 만들면서 String의 특성, ArrayList의 얕은 복사, 깊은 복사, 문자열 입출력, CUI프로그래밍, MySQL등 다양한 것들을 배웠습니다. 이번에는 LinkedList를 활용하여 명함철 프...
MySQL연동하기 앞에서 구현했던 CUI프로그램은 외부파일 입출력을 통해 주소록의 데이터를 저장하고 불러올 수 있었습니다. 이제 여기서 더 나아가 관계형 데이터베이스 중 하나인 MySQL과 연동을 해보려고 합니다.
자바 입출력 지금까지는 프로그램을 종료시킬 때마다 주소록에 입력되었던 내용이 저장되지 않고 모두 사라졌습니다. 그 이유는 주소록에 입력된 데이터들이 RAM에서만 임시로 저장되어 있다가 프로그램이 종료되면서 RAM에서 프로그램이 사용하던 공간을 반납하면서 저장된 데이터도 날라가기 때...
Java와 C++차이점 필자는 제일 처음 C를 공부하였고, C를 통해 다수의 프로그램을 구현하였습니다. 이 후 객체지향언어인 C++를 배웠고, C에서 구현했던 프로그램들을 C++로 옮기는 작업을 거쳤습니다. 또한 C로 옮긴 프로젝트로는 객체지향에 대해서 제대로 공부할 수 없었기 때...
AddresssBook 클래스 구현을 시작하며 Java를 이용해 주소록(AddressBook)프로그램을 만들 때 이전 글에서 개인의 데이터를 가지고 있는 entity역할을 하는 Personal(개인)클래스를 구현에 대한 설명을 하였습니다. 이번 시간에는 Personal(Entity...
글을 시작하며 Java를 이용해 주소록(AddressBook)프로그램을 만들 때 먼저 개인의 데이터를 가지고 있는 entity역할을 하는 Personal(개인)클래스를 구현해야 합니다. 이 Personal클래스를 구현하면서 String의 특성으로 인해 얕은 복사를 하더라도 깊은 복...
TMAP Open API return값 확인 주소 (보행자 경로안내)
redis에서 상속 개념 적용 처음 redis를 사용해보면서 redis에 데이터를 저장하는 방법이 두가지 있다는 것을 알게 되었습니다.
상황 설명 이동수단(자전거 등)을 대여하고 반납하는 공간이 있습니다.