목록분류 전체보기 (75)
Leeyebin의 블로그
2.1 네 개의 영역 1. 표현 영역 - 사용자의 요청을 받아 응용 영역에 전달한다. 2. 응용 영역 - 기능을 구현하기 위해 도메인 영역의 도메인 모델을 사용한다. - 로직을 직접 수행하기보다는 도메인 모델에 로직 수행을 위임한다. 3. 도메인 영역 -도메인 모델을 구현한다. 4. 인프라 스트럭처 -구현 기술에 대한 것(RDBMS / MQ, SMTP...) -논리적인 개념을 표현하기보다는 실제 구현을 다룬다. 2.2 계층 구조 아키텍처 표현 계층은 응용 계층에 의존하고 응용 계층이 도메인 계층에 의존한다. 반대 방향으로는 의존 하지는 않는다. 엄격하게는 상위 계층은 바로 아래 계층에만 의존을 가져야 하지만 구현의 편리함을 위해 유연하게 적용할 수 있다. 응용 계층 -> 도메인 계층 / 응용 계층 -> ..
도메인 주도개발 책 공부를 하면서 내용 정리 1.1 도메인이란? 도메인이란? SI회사에 다닐 때 개발스킬이 아니라 업무에 대한 지식을 얘기할 때 도메인 지식이라는 말을 사용했던 것같은데 쉽게 설명하자면 "소프트웨어 프로그램에 대한 기능적으로 구분한 영역? 단위?"이라고 할 수 있을거 같다. 책에서는 온라인 서점을 예시로 보여준다. 한 도메인은 다시 하위 도메인으로 나눌 수 있다. 사진에서와 같이 온라인 서점 도메인은 몇 개의 하위 도메인으로 나눌 수 있다. 한 하위 도메인은 다른 하위 도메인과 연동하여 완전한 기능을 제공한다. 하지만 특정 도메인을 위한 소프트웨어라고 해서 도메인이 제공해야 할 모든 기능을 직접 구현하는 것은 아니다. (ex: 배송시스템/결제 시스템 등은 외부 업체를 이용해서 처리할 때가..
그외 팁 1. 소스 공유 필자의 사내 전산시스템의 프로젝트의 안에 소스는 넥사크로(front)와 자바 파일로 구성되어있는데 젠킨스에서는 하나의 svn프로젝트에 web빌드와 was빌드로 job을 나눠놨다. 젠킨스에서는 workspace에서 job단위별로 작업장을 만든다. SVN이 같더라도 JOB이 다르면 각 JOB폴더에 같은 소스더라도 각각 JOB에 따로 받는다. 어차피 같은 SVN에서 받아서 Ant build를 돌릴거면 하나의 소스를 바라보고 build를 하게 할 수는 없을까 하다가 찾아보게 되었다. 본인은 C:\Jenkins 에 젠킨스를 설치하였는데 여기에 하위폴더를 만들어놓는다. 예) C:\Jenkins\test JOB에가서 구성을 클릭한다. "General"탭에 고급을 누르면 아래와같이 나온다. t..
Jenkins(window용) 설치 https://jenkins.io/ Jenkins Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software jenkins.io 위 사이트를 참고하여 운영체제에 맞게 다운로드 받아 설치하자 [주의] Jenkins 설치 위치가 곧 Jenkins의 Workspace이고 소스를 받는 장소이기 때문에 Jenkins 설치 위치를 신중하게 설치하자 설치 대화창을 넘어가게 되면 Customize Jenkins가 보이게 되는데 필요한것만 골라서 할수도있지만 필자는 왼쪽을 선택하여 설치하였다. 계정을 만..
부족한 부분이 많아 작성에 앞서 조언/비판 환영합니다. 결과적으로 말씀드리자면 pipeline으로 사용하지않고 기초적인 방식으로 구축을 하였습니다. 처음에는 공식적으로 구축하지않고, 개인적으로 구축했기때문에 회사 컴퓨터(윈도우)에 jenkins(window버전)을 설치하였습니다. 이 글은 내가 Jenkins를 사내 전산시스템에 구축하면서 각종 삽질을 하였던것을 직장에서 매 프로젝트에서 공통팀에서 구축해놓은 것을 사용만 해봤었는데 내가 직접 구축해 볼 기회가 없었던 CI환경.. 환경이 사람을 만든다고 했던가 가내수공업으로 개발서버와 운영서버를 반영하는 것을 도저히 견딜 수가 없었다. 기존의 배포방식(가내수공업) 본인의 PC혹은 SVN서버(윈도서버)에 원격 접속 후 이클립스로 소스 최신화(java파일 및 넥..
그전에는 무식하게 로그를 다운받아 ultraedit으로 보기도 하였는데 간단하게 찾을 수 있으면서 강력한 기능을 알게되었다. 1. grep으로 문구를 찾는다. grep -n "찾고싶은 단어혹은 문장" ./filename 이렇게 라인을 찾는다. 2. awk로 특정 라인만을 출력한다.( 필요 라인에 플러스마이너스 100정도로 세팅) awk "NR >= 100 && NR
4년 3개월의 SI 회사를 뒤로하고 그룹사 IT서비스를 담당하는 회사에 오게 된 지 3주 정도가 된 것 같다. 이직을 특이하게 한 케이스라 보통 일주일 동안 진행하는 OJT도 이틀간 속성으로 진행했고 바로 업무를 진행할 계열사가 정해져 들어오게 되었다. 내가 들어온 시점이 재밌는데, 새로운 시스템 구축 프로젝트 진행 중에 문제가 생겨 오픈이 무기한 연기되는 시점에 들어오게 되었다. 이어서 개발을 할 업체도 선정 중이고 일부는 팀원들이 개발을 진행하는 중이다. 하는 일로만 보면 아직 내가 회사를 이직한 건지 여기에 파견을 온 것인지 헷갈릴 때도 있지만 재미있다. 우선 걱정되었던 부분 중에 괜찮은 사람들과 일할 수 있느냐가 있었는데 팀원분들이 다들 좋아서 다행이었다. 조직관리와 회계파트의 마감 쪽을 담당하게..
프로젝트 철수를 하루 앞두고 한 문장으로 표현하자면 "가장 힘들었던 프로젝트, 하지만 여러 경험을 할 수 있게 만들어준 프로젝트" 이미 설계단계는 지났고, 한창 앞만 보고 달려야 하는 개발단계 중간에 투입이 되어 개발환경에 익숙해져야하는데 진척은 계속 밀리고 할 수 있는 거라고는 시간을 쏟아 붙는 것밖에 없었다. 설계단계 아니 개발단계 처음부터 투입되었더라면 as-is코드에서 좀 더 효율적으로 코드를 짰을 거 같은데 아쉬움이 많이 남는 부분이다. 출장도 정말 힘이 들었다. PL급이 가는 출장에 내가 가게 된 것도 "나를 보내도 믿을 만 하니까 보냈겠지."하면서 하루하루 이겨냈던 기억이다. 어떻게든 문제를 해결하기 위해 조금이라도 알만한 사람이라면 그 사람도 바쁠 텐데 라는 생각에 업무시간에는 못하고, 질..
SW 재사용성을 높일 수 있는 방안 복사(Copy) & 붙이기(Paste) 초보적인 재사용 방식으로 비슷한 예제를 다른 Source에서 복사해서 사용한다. 문제점 JDK 버전이 바뀌어 동일한 기능을 제공하는 향상된 인터페이스가 나오면 위의 코드를 사용한 클래스를 모두 변경해야한다. Method(function) 자주 사용되고, 유사한 기능들을 모아 메서드로 정의하여 재사용한다. 문제점 메서드의 Signature(메서드명, 리턴타입, 아규먼트)를 변경하면 이 메서드를 사용하는 모든 클래스에 영향을 준다. Class(Inheritance)상속 자주 사용되고, 유사한 기능들을 모아 메서드로 정의하여 재사용한다. 메서드가 변경되더라도 인터페이스가 변하지 않으면 나무지 클래스들은 영향을 받지 않는다. 문제점 부모..
1. 분산 원장을 지원하는 기술 p.s 원장이란? 회계에서 쓰이는 용어다. 모든 계정의 거래내역을 기록하는 장부로 분개장에서 각각 분개한 것을 모으게 된다.(출처는 나무위키) 여기에서 나오는 의미는 금융관련 용어라고 할 수 있는데 내식대로 표현하자면 거래 내역이던 어떤 것에 이용 내역이던 내역을 기록하는 장부라고 이해 했다. 블록체인은 금융 분야에만 국한되지 않고 '분산 원장'으로 각 분야에 응용할 수 있는 범용성이 높은 기술이다. 이것의 의미는 지금까지 각 시스템이 개별적으로 데이터베이스에 저장하고 있던 원장 데이터를 블록체인 기술을 통해 네트워크로 공유할 수 있게 된다는것이다.분산 원장은 동일한 원장 데이터가 여러 시스템에 배치되어 있다. 사용자로부터 쓰기 요청이 있는 경우 그 상태를 모든 시스템에 ..