개발과 스케치를 좋아하는 개발자, 소프트웨어 장인 정신을 지향합니다.
-
Sonarkube - 소나 큐브 java 규칙 번역
죽어있나 살아있나 할만하면 돌아오는 근황입니다. 올해 상반기에는 소나 큐브에 있는 java 규칙을 번역하는 프로젝트를 진행 중입니다. 작년에 회사 동료의 집들이를 갔다가 오픈 소스 기여같은 걸 진행해보고 싶다고 하시더라구요. 저는 또 꾸준히하는 것은 자신이 있어서, 그럼 평상시에 관심이 많았던 정적 분석 도구인 소나 큐브의 규칙들을 번역해보자 해서 진행하고 있습니다. 자바쪽 규칙이 총 600개 정도 되는 데, 원래의 계산대로라면 하루에 한 개씩해서 1년안에 마무리하는 게 목표였습니다. 그런데 생각보다 규칙이 그렇게 어렵지 않고 매일같이 하기에는 급한 일이 생기는 경우도 많더라고요. 그래서 지금은 비정기적으로 하루에 3개씩한다거나 어떤 주에는 한주에 20개씩 하는 경우도 있는 것 같습니다. 그리고 미약하지..
2023.02.13 16:50 -
2022년 프로젝트 회고
관리를 거의하지 않는 티스토리이지만, 일기 겸 해서 2022년을 회고하며 올해는 목표를 얼마나 달성했는지 살펴보려고 합니다. 평상시에 거의 이런 짓을 하지 않지만, 어느 순간 개인들한테도 연말 행사처럼 이런 내용을 정리할 수 있는 기회가 있으면 좋겠다라는 생각을 했거든요. 아무튼, 저는 매년 1월 첫째쯤해서 올해의 목표같은 것을 설정합니다. 이렇게 들으면 거창하지만 아래 그림을 보면 얼마나 볼품 없는지 아실겁니다. 돌이켜보니 그래도 달성률이 65%는 되는군요. (개발 서적은 7/10...!) 독립은 어떻게 했다치고! 일단 읽은 책부터 정리해볼게요. 올해 읽은 개발 서적 도메인 주도 설계 https://kok202.tistory.com/342 테스트 주도 개발로 배우는 객체 지향 설계와 실천 https:/..
2022.12.25 20:21 -
Java/Spring 주니어 개발자를 위한 오답노트
인프런에 강의를 하나 올리게 되서 홍보차 글을 작성하네요! 올해의 버킷 리스트중 하나로 강의를 하나 찍어서 올리는 게 있었는데요. 연말이 가기 전에 어떻게 마무리해서 결국 오픈하게 됐습니다. :) 그리하여 홍보차 글쓰기 위해 전단지를 돌리는 중인데, 관심 있으신 분들은 오셔서 한번 씩 봐주시고 가시면 감사하겠습니다. 초급자를 위해 준비한 [백엔드, 개발 · 프로그래밍] 강의이고요. https://www.youtube.com/watch?v=PAYouphJvT4&ab_channel=woogeunkim 아래와 같은 내용을 다룹니다. 주니어 개발자가 많이 하는 실수 교정 주니어 개발자가 스프링을 쓰면서 많이 하는 실수 교정 의존성 / Entity 등에 대한 잘못된 오해 교정 실무에 필요한 개념 정리 (MSA, ..
2022.12.25 19:12 -
앵귤러 강의 정리
회사 업무중 앵귤러를 다뤄야하는 프로젝트가 생겨 아래 강의를 듣고 정리합니다. https://www.inflearn.com/course/Angular/dashboard [무료] Angular(2+) Front에서 Back까지 - Nest js를 알려면 Angular 모듈을 알아야한다! - 인프런 | 강의 이 강좌는 Angular의 기본 개념을 익히는데 그 목적을 두고 있습니다. Nest js도 잘 하려면 이 기본 개념을 알아야하죠. Angular는 러닝커브가 높다고들 이야기가 되곤하는데, 전혀 어렵지 않음을 알려 www.inflearn.com @Input // 리액트로 치면 Props 에 대응되는 개념인 듯. @Component(...) class MyComponent { @Input test: stri..
2022.07.02 22:32 -
오브젝트 디자인 스타일 가이드 (2/2) CQRS, 추상화, 이벤트, 책임
http://www.yes24.com/Product/Goods/91167539 오브젝트 디자인 스타일 가이드 - YES24 잘 작성한 객체지향 코드는 읽고 변경하고 디버그하기 즐겁다. 이 책에서 보여주는 객체 디자인에 대한 보편적 모범 사례를 익혀 코딩 스타일을 향상하자. 이 명확한 규칙은 어떤 객체지향 언어 www.yes24.com 코드 레벨에 대한 설명이 많아 이는 생략하고 보편적인 가치 위주로 정리합니다. (😛) 은 사견입니다. 변경 메소드가 반환 값을 갖게 하지마라 변경과 반환이 둘다 있으면 클라이언트 입장에서 혼란스럽다. 메소드는 항상 명령 메소드 이거나 질의 메소드 이어야한다. (CQRS) 테스트를 위해 종종 command 메소드가 return this 를 하는 경우도 있는데, 이것도 피해야할..
2022.06.06 18:33 -
오브젝트 디자인 스타일 가이드 (1/2) 서비스와 객체
http://www.yes24.com/Product/Goods/91167539 오브젝트 디자인 스타일 가이드 - YES24 잘 작성한 객체지향 코드는 읽고 변경하고 디버그하기 즐겁다. 이 책에서 보여주는 객체 디자인에 대한 보편적 모범 사례를 익혀 코딩 스타일을 향상하자. 이 명확한 규칙은 어떤 객체지향 언어 www.yes24.com 코드 레벨에 대한 설명이 많아 이는 생략하고 보편적인 가치 위주로 정리합니다. (😛) 은 사견입니다. 의존성 객체 A가 일을 처리하는데 객체 B를 필요하면 A가 B에 의존한다고 한다. A가 B에 의존하는 방식은 여러가지다. A에서 B 인스턴스를 만들어서 의존할 경우 알고 있는 위치에서 B 인스턴스를 가져와서 의존할 경우 생성할 때 주입한 B의 인스턴스에 의존할 경우 의존성을..
2022.06.06 18:09 -
Duby 를 오픈했습니다.
Duby 기간 2021.11.01 ~ 진행중 https://duby.dev/ Duby duby.dev 오픈 그래프 태그가 빠져서 만들어진 링크가 예쁘진 않네요! 조만간 추가해야겠습니다. 이번 개인 프로젝트는 개발자들에게 필요한 툴킷을 모아둔 사이트입니다. 회사 동기였던 https://github.com/yeonjuan 와 함께 팀 프로젝트 형태로 진행했는데, 협업 자체도 좋았지만 개발 관련해서는 React lazy loading 에 관한 내용을 알 수 있어서 좋았습니다. 장기적으로는 개발 커뮤니티로 발전하는 방향도 생각하고 있는데, 당장은 실무에서 필요한 개발 도구들을 모아보자고 합의가되서 툴킷으로 방향잡고 집중해봤네요. 필요한 도구가 있다면 피드백 주시는대로 추가를 고려해보겠습니다. 주요 기능 JSON..
2022.05.31 00:10 -
쏙쏙 들어오는 함수형 코딩
http://www.yes24.com/Product/Goods/108748841 쏙쏙 들어오는 함수형 코딩 - YES24 소프트웨어의 복잡성을 다루기 위해 꼭 읽어야 할 책이 책은 함수형 사고를 통해 의도하지 않은 복잡성이 코드 전체로 퍼져나가는 것을 막고 프로그래밍을 간단하게 하는 법을 담았다. 시스템 www.yes24.com 코드 레벨에 대한 설명이 많아 이는 생략하고 보편적인 가치 위주로 정리합니다. (😛) 은 사견입니다. 함수형 프로그래밍 수학 함수를 사용하고 부수 효과를 피하는 것이 특징인 프로그래밍 패러다임 부수효과 없이 순수 함수마 사용하는 프로그래밍 스타일 부수효과 부수효과는 함수가 리턴 값 이외에 하는 모든 일을 의미한다. 부수효과는 소프트웨어를 사용하는 근본적인 이유다. 😛 가급적이면 ..
2022.05.29 23:00 -
레거시 코드 활용 전략
http://www.yes24.com/Product/Goods/64586851 레거시 코드 활용 전략 - YES24 시스템 내에 오래된 코드를 다루는 방법을 배울 수 있다. 오래된 코드, 즉 레거시 코드는 그 코드에 익숙한 사람도 없고, 테스트 루틴도 없어 관리하기 어렵다. 저자는 다년간의 현장 경험과 실 www.yes24.com 코드 레벨에 대한 설명이 많아 이는 생략하고 보편적인 가치 위주로 정리합니다. (😛) 은 사견입니다. 레거시 코드 저자가 생각하는 레거시 코드란 단순히 테스트 루틴이 없는 코드다. 다만 이 정의는 다소 불완전하다. 테스트 루틴이 없는 코드는 나쁜코드다. 코드가 얼마나 훌륭하게 작성돼 있는지는 상관없다. 아무리 깔끔하고 객체 지향적이며 캡슐화가 잘돼 있어도 소용없다. 테스트 루틴..
2022.04.18 02:42 -
테스트 주도 개발로 배우는 객체 지향 설계와 실천
http://www.yes24.com/Product/Goods/9008455 테스트 주도 개발로 배우는 객체 지향 설계와 실천 - YES24 TDD로 좀 더 탄탄한 객체 지향 개발을 이끄는 안내서 소프트웨어 개발의 여러 층위에서 TDD가 어떻게 작동하는지 보여주면서 테스트로 코드를 객체 지향적으로 구성하고 기능을 구현하며 목 객체 www.yes24.com 코드 레벨에 대한 설명이 많아 이는 생략하고 보편적인 가치 위주로 정리합니다. (😛) 은 사견입니다. 앨런 케이 어록 객체란 서로 메시지를 주고받는 생물학적 세포와 비슷해야한다. 중요한 것은 메시지 전달이며 위대하고 성장 가능한 시스템을 만들 때의 핵심은 모듈 간의 의사소통에 있지 모듈의 내부 특성이나 작동 방식에 있지 않다. 품질 외부 품질은 시스템이..
2022.04.04 23:37