그때그때 기록을 잘 남겼으면 좋았을텐데, 지난 기억을 되새기며 작성했다. 부정확한 부분들이 있다. 시작 나는 경력을 시작하고 10년 동안 외주개발자(솔루션SI)로 일했다. 업무를 빠르게 파악하고, 소통하고, 문제없는 개발결과물 내는 것을 잘했다. 처음 3~4년 야근을 많이하고, 업무시간 이후에 업무/개발하는게 너무 싫었다. 개발은 나에게 일이고, 재미없지만 억지로 하는 것이었다. java, spring, javascript, jquery, oracle등 기술스택을 사용하고 controller, service, dao의 3layer에 업무를 구현했다. DB가 중심인, 트랜잭션 스트립트였다. 4~5년차쯤 하나의 회사에 4년정도 파견근무 했다. 년차도 차고, 한 코드를 오래보게 되었다. 코드에 뭔가 개선이 필..
원본글은 github에 있습니다. 에릭 에반스가 직접 요약한 DDD문서도 있다. 전략적 설계의 3가지 주제 전략적 설계를 위한 3가지 주제(컨텍스트, 디스틸레이션, 대규모구조)는 여러가지 하위 항목(기법)을 가지고 있다. 아래 내용은 내 나름대로 읽고 배운 것을 짧게 정리한 것이다. 나의 무지와 경험부족으로 잘 못 정리되어 있을 수 있다. 14. 모델의 무결성 유지(CONTEXT) 팀(BOUNDED CONTEXT)과 팀이 잘 협업하기 위한 기법들. BOUNDED CONTEXT: 의사소통하는 개인들의 집합(팀)으로 경계를 만들어라. CONTINUOUS INTEGRATION: 자동화된 테스트와 함께 모든 코드와 그 밖의 구현 산출물을 빈번하게 병합하는 프로세스를 수립하라. CONTEXT MAP: BOUNDE..
원본글은 github에 있습니다. 'DDD', '도메인 주도 설계'란 단어를 여기저기서 볼 수 있었다. 한번 공부를 해봐야겠다 생각했는데, 오리지널 책(더 빅 블루북)은 어렵단다. 그래도 구입해서 읽어보았다. 역시나 읽기가 쉽지 않았다.. 익숙치 않은 용어들도 나오고 글 전개도 친절하지 않았던걸로 기억한다. 앞부분 보다가 그만두었다. 이규원님 페북에서, 전략적 설계가 핵심이라는 이야기를 들었다. 아 그래도 DDD책은 너무 지루하지. 하고 시간이 많이 지났는데.. 회사 동료가 스터디를 하는데 14장(전략적 설계)를 읽을 차례라고 해서 나도 무심코 참가했다가, 4부를 다 읽었다.(나이스 나도 이제 전략적 설계 읽었다.) 전략적 설계란? 세 가지 원칙은 누구도 완벽하게 이해할 수 없도록 불규칙하게 뻗어나간 시..
원본글은 github에 있습니다. 정말 중요한 것은 무엇일까요? 소프트웨어는 - 중요하지 않는 일에 시간을 쓰기에는 - 빌어먹게 어렵습니다. 그래서, 처음부터 다시 시작해서, 우리에게 절대적으로 중요한 것은 무엇입니까? 코딩(Coding) 궁극적으로, 프로그램이 실행되지 않거나, 고객을 위해 돈을 벌지 못한다면, 당신은 아무것도 하지 않은 것입니다. 테스팅(Testing) 당신은 당신의 작업이 완료되었는지 알아야만 합니다. 테스트는 이것을 당신에게 알려줍니다. 당신이 지혜롭다면, 테스트를 먼저 작성하여 작업이 완료되는 즉시 알 수 있습니다. 그렇지 않으면, 당신은 아마도 완료할 수 있다는 생각에 사로잡히고, 그런데 또 끝낼수 없다는 것을 알게되고, 결국 완료에 얼마나 가까워지는지 확신하지 못합니다. 경청..
원본글은 github에 있습니다. 제가 현재 사용하는 클래스/메소드를 네이밍하는 방법을 소개합니다. 제 방법에 대한 의견/비판 환영합니다! 방법 요구사항을 간결히 한다. 요구사항을 템플릿으로 변경한다. 구현한다. 요구사항 간추리기 50자가 넘지 않는 문장을 사용한다. 50자가 넘으면 문장을 나눈다. 1문장이 완성되면, 작업을 시작할 수 있다. 진행중에 먼저 작업해야할 요구사항(작업사항)이 생기면 그 것부터 한다. 템플릿 Result result = new What(input1, input2).action(); What은 명사 or 명사구 action은 동사(return 이 없으면) or 명사(뭔가 return하면) Result 명사 or 명사구 로 하되 간결하게 한다. 예시 요구사항 쉼표(,) 또는 콜론..
원본글은 github에 있습니다. 지난 2021-03-01 ~ 2021-05-04(11기) 까지 TDD, 클린코드 with Java 강의를 수강하였다. 결론 부터 이야기 하자면, 나의 프로그래밍은 TDD, 클린코드 with Java 강의 이전과 이후로 나뉜다. 1. 강의 추천이유. 업무시간 이외에 코딩하는 습관이 길러졌다. 코딩의 새로운 재미를 느꼈다. 좋은 개발문화에 대해 알게 되었다. tdd, clean code를 학습하는 데 큰 도움이 되었다. 강의전 나는 13년차 개발자였다. 대부분 경력을 외주 개발자로 일했다. 업무는 열심히 했지만, 개인시간을 프로그래밍 학습하는데 사용하지 않았다. 나는 이미 꽤 많은 개발경력을 가지고 있었지만, 이 강의로 많은 것을 배우고 경험할 수 있었다. 오래된(?) 개발..
원본글은 github에 있습니다. 관련 코드도 확인하실 수 있습니다. spring boot 프로젝트를 준비한 후 entity, repository 코드를 이전과 똑같이 작성한다. @Entity @Table(name = "Post") public class Post { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID") private Long id; @Column(name = "CATEGORY_ID") private Long categoryId; @Column(name = "TITLE") private String title; @Column(name = "CONTENT") private String content; @Co..
원본글은 github에 있습니다. 관련 코드도 확인하실 수 있습니다. 먼저 테스트 코드 없이, 아주 간단한 블로그를 만들어보자. java, spring boot, jpa를 사용해서 대충대충 만들어보자. 먼저 spring initializr를 이용해서 spring web, jpa, lombok 를 추가해서 프로젝트 베이스를 만들었다. 나는 서비스(기능)을 만들때 일반적으로 데이터베이스 영역부터 만들었다. 블로그 글을 담을 entity @Entity @Table(name = "Post") public class Post { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID") private Long id; @Column(na..
- Total
- Today
- Yesterday
- 객체지향프로그래밍
- agile
- 도메인 주도 설계
- Domain Driven Design
- 자소서
- 테스트코드
- Test Code
- 전략적설계
- repository test
- 객체지향
- nhn
- 취업
- OOP
- XP
- 익스트림 프로그래밍
- Alan Kay
- Object Oriented Programming
- OO
- testcode
- strategic design
- Object Oriented
- 테스트 코드
- 애자일
- DDD
- 앨런 캐이
- 기본은 테스트코드
- akoop
- Yegor
- repositorytest
- 도메인주도설계
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |