November 27, 2025
이벤트 스토밍(Event Storming)이라는 단어는 익숙치 않을 것이다. 그럼 브레인 스토밍(Brain Storming)은 어떠한가? 상대적으로 더 익숙할 것이다. 브레인 스토밍은 “머릿속 아이디어를 스토밍으로 쏟아낸다.”라고 표현할 수 있다. 그럼 이벤트 스토밍은 어떻게 표현할 수 있을까? “발생 가능한 이벤트를 스토밍으로 자유롭게 도출한다.” 라고…
November 10, 2025
리눅스 리눅스는 리눅스 커널을 기반의 유닉스 계열의 오픈 소스 운영체제이다. 오픈소스이다보니 자신들의 목적에 맞게 자유롭게 커스텀마이징된 다양한 버전들이 있다. Ubuntu, Debian, CentOS, Fedora 등이 이에 속하고 이들을 리눅스 배포판이라고 부른다. 그렇기에 리눅스 배포판들은 각각의 장단점을 가진다. 리눅스를 잘 이해한하게 된다면 상황…
November 01, 2025
자라기 달인이 되기 위한 방법으로 1만시간의 법칙이 흔히 거론된다. 여기서, 1만 시간의 법칙이란 “특정 분야에서 1만 시간 이상 일을 하면 그 분야에 달인이 된다”라는 말이다. 그럼 우리가 매일하는 양치는 1만 시간이 넘을텐데 양치의 달인이라고 할 수 있는가? 아니다. 시간만 투자한다고 해서 그 분야의 전문가라고 할 수는 없을 것이다. 달인이 되기 위해…
October 20, 2025
FIRST 원칙은 "Robert C. Martin in his book "Clean Code: A Handbook of Agile Software Craftsmanship"에서 소개되었다. 유명한 책이라 소지하고 있었고, 가끔 궁금한 부분을 펼쳐서 읽곤 했는데.. 이게 있었다는게 기억이 나지 않는 걸 보니 읽지 않았던 모양이다. 그래서 겸사겸사 꺼내서 읽…
October 15, 2025
기존에는 ddl-auto=create/update 옵션을 사용해 스키마를 관리하고 있었지만, 이 방식은 환경마다 스키마 불일치가 발생할 수 있고, DB 변경 이력이 추적되지 않습니다. 이 부분을 해결하고자 Flyway 도입을 하고자 했습니다. Flyway를 사용하면 애플리케이션 실행 시 자동으로 데이터베이스와 스키마 이력을 관리하여 모든 환경에서 동일한 …
October 14, 2025
개발을 (거의) 완료했다는 것의 의미 완료의 의미를 생각해보면 (거의) 사용 가능한 상태까지 만든 것을 완료했다라고 말할 수 있을 것 같다. 개발을 배포한 상태라던가, QA 전 상태라던가, 운영 배포 전 상태라던가 이런식 개발을 완료했다라는 것은 실제로 요구한 기능을 거의 사용 가능한 상태로 만들었다고 정의할 수 있을 것이다 완료에 필요한 개발활동은 그럼…
October 03, 2025
라우터의 핵심 기능은 패킷이 이동할 최적의 경로를 설정한 뒤 해당 경로로 패킷을 이동시키는 것입니다. 이를 라우팅이라고 합니다. 라우팅 테이블이 만들어지는 방법과 프로토콜에 따라 라우팅을 분류하면 아래 그림과 같이 표현할 수 있습니다. 라우터와 라우팅 테이블 라우터 네트워크 계층의 장비로 라우터만 알아도 큰 무리가 없을 정도로, 라우터는 네트워크 계층의 …
October 03, 2025
데이터 링크 계층의 한계 물리 계층과 데이터 링크 계층만으로 LAN을 넘어서 다른 도시나 다른 국가에 있는 노드와 통신할 수 있을까요? 언뜻 들으면 가능할 것 같지만, 데이터 링크 계층에는 송수신지를 특정할 수 있는 잘 보인 MAC 주소라는 개념이 있으니까, 이 정보를 바탕으로 다른 도시, 다른 국가에 있는 수신지로 전송하면 될 것 같습니다. 그러나 결론…
October 03, 2025
네트워크 주소와 호스트 주소 하나의 IP 주소는 크게 네트워크 주소와 호스트 주소로 나뉩니다. 아이피는 32비트로 구성되어있습니고, 아래 그림은 네트워크 주소가 16비트, 호스트 주소가 16비트인 IP 주소의 예시입니다. 네트워크 주소 : 호스트가 속한 특정 네트워크를 식별하는 역할 호스트 주소 : 네트워크 내에서 특정 호스트를 식별하는 역할 만약 네트…
September 30, 2025
이더넷 물리 계층과 데이터 링크 계층은 서로 밀접하게 연관되어 있습니다. 오늘날의 두 계층은 이더넷(ethernet)이라는 공통된 기술이 사용되기 때문입니 다. 이더넷은 현대 LAN, 특히 유선 LAN 환경에서 가장 대중적으로 사용되는 기술입니다. 예를 들어, 두 대의 컴퓨터가 있습니다고 가정해봅시다. 이 컴퓨터끼리 정보를 주고 받으려면 가장 먼저 케이블과…