분류 전체보기 120

[일본여행] 2박3일 후쿠오카 여행 - 3월 중순 후쿠오카 / CROSS life Hakata Tenjin 호텔 후기 / 근교 모지코, 시모노세키, 고쿠라 / 가라토시장 후기

인천에서 후쿠오카로, 후쿠오카 공항에서 공항에서 시내로 23년 3월, 대학교 동기인 여자 세명과 함께 갑작스럽게 후쿠오카에 가게 되었다! 내 기억이 맞다면 번개로 만나서 밥 먹다가 뜬금없이 비행기 끊고 가게 됐던 거 같은데... 사실 시간이 꽤 지난지라 자세한 정보를 담은 후기보다는 거의 일기에 가깝지 않을까 싶다.  😂  여행일정은 3월 11일 토요일부터 3월 13일 월요일까지였다. 2박 3일이라 시내만 둘러보기에도 힘들지 않을까 싶었는데 모지코부터 유후인까지 참 알차게 다녔다.   3월이면 벚꽃피지 않을까 싶었는데  아쉽게도 그렇진 않았다 🥲  일본에서도 비교적 따뜻한 남쪽인 후쿠오카임에도 불구하고 한낮을 지나면 약간 쌀쌀했던 기억이 있다. 내가 워낙 추위를 많이 타는 것도 한몫하지만 얇은 외투 ..

Trip/2023 일본 2024.08.30

Junit In Action - TDD를 위한 테스트 원칙, 도구 및 활용 Review - 모의 객체로 테스트 하기 (Mock) (1/2)

간단한 스텁과 모의 객체  리뷰Stub은 특정 상황에서 "결과만" 중요할 때 사용 →  Stub은 메서드가 무엇을 반환하는지에만 집중Mock은 "행위"가 중요할 때 사용 → 특정 메서드가 호출되었는지, 호출 횟수는 몇 번인지 등을 검증할 때 사용스텁을 활용하면 소스코드를 웹 서버, 파일 시스템, 데이터베이스 등의 환경에서 격리하여 단위 테스트를 수행할 수 있다. 그러나 메서드 호출을 다른 클래스로부터 격리하는 것과 같은 세밀한 격리를 위한 테스트는 모의객체(Mock)을 활용하여 효과적으로 수행할 수 있다. 즉, 각 메서드별로 개별적인 단위 테스트를 만들어 개발하는 것이 가능해진다.   모의 객체란?메서드에 집중하는 테스트를 만들 수 있다 → 대상 메서드가 다른 객체를 호출해서 발생하는 부수 효과가 생길일..

Dev/TDD 2024.08.27

2024 상반기 회고 ( feat. 미루고 미뤘던 숙제 같은 글 )

들어가기 전에 블로그를 시작하고 기록하는 것에 대한 중요성을 느끼면서 매년 상반기, 하반기에 대한 회고록을 작성하고 싶다고 생각했는데 치열한 현대 사회를 겪어 나가느라(보다는 그냥 귀찮아서) 늘 그렇듯 또 미뤘다! 상반기는 6월까지니 따지고 보면 2개월이나 밀린 글을 이제야 쓰는 셈이다. 어찌 됐건 시작했다는 것에 의의를 두면서 하나씩 정리해 보겠다. 무슨 일들이 있었나?어디 떠들고 싶지 않은 사생활을 제외하고 가장 큰 키워드를 추려보면 이사, 이직을 해냈다. 연고지가 없는 곳으로 이동하게 되는 큰 결정을 하면서 가구, 가전, 인테리어를 알아본다고 2월부터 정말(x2) 바빴던 것 같다. 키우는 고양이도 한 마리 더 늘면서 합사까지 동시에 진행했다. 마냥 단순하고 착한 줄 알았던 첫째 고양이는 알고 보니 ..

회고 2024.08.18

abstract class VS interface

들어가기 전에회사를 그만두고 있었던 공백기간에 주로 코드 리팩터링, 내가 지향하는 클린코드의 기준을 만들기 위해 노력했다. 사실 사용자 입장에서는 똑같은 기능이겠지만 뭐랄까... 리팩터링(혹은 최적화가)이 성공적으로 완료되어 내가 원하는 대로 애플리케이션이 실행될 때의 그 쾌감은 동종 업계 사람들이라면 다 공감하지 않을까?  이번 주제는 리팩터링하면서 오래간만에 기초부터 다시 다듬게 된 abstract과 interface다.     추상 클래스(abstract class) 클래스를 일반 설계도라고 한다면, 추상 클래스는 미완성 설계도에 비유할 수 있다. 미완성 설계도로 완성된 제품을 만들 수 없듯이 추상클래스로 인스턴스는 생성할 수 없다. 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다...

Dev/Java 2024.07.15

[일본 여행] 도쿄 4박5일 여행기 - 시부야 스카이/아사쿠사와 나카미세 도리/센소지/푸글렌 아사쿠사 점/시바 공원/도쿄 타워/메가 돈키호테 시부야 본점

이전 포스팅은 여기로 2024.05.17 - [Trip/2024 일본] - [일본 여행] 도쿄 4박5일 여행기 - 도쿄 근교 가마쿠라여행/시치리가하마역/고마치도리거리/롯폰기일루미네이션/롯폰기꼬치집추천/죠몬롯폰기점 [일본 여행] 도쿄 4박5일 여행기 - 도쿄 근교 가마쿠라여행/시치리가하마역/고마치도리거리/롯폰이전 포스팅은 여기로 2024.05.15 - [여행정보/2024 일본] - [일본 여행] 도쿄 4박5일 여행기 - 디즈니씨(DisneySea)후기/게이오플라자호텔디즈니랜드셔틀후기/신주쿠역근처텐동 [일본 여행] 도쿄 4박5일zigo-autumn.tistory.com   시부야 스카이는 예약이 필수  마지막날에는 크게 오전에는 시부야 스카이, 오후에는 아사쿠사와 도쿄 타워를 구경하기로 했다. 다녀온지 얼마..

Trip/2024 일본 2024.07.15

Jenkins, Ansible로 CI/CD 구축하기 (3/3)

이전 포스팅은 여기로 2024.07.02 - [Dev/CI&CD] - Jenkins, Ansible로 CI/CD 구축하기 (2/3) Jenkins, Ansible로 CI/CD 구축하기 (2/3)이전 포스팅은 여기로 2024.07.01 - [Dev/CI&CD] - Jenkins, Ansible로 CI/CD 구축하기 (1/2) Jenkins, Ansible로 CI/CD 구축하기 (1/2)들어가기 전에사실 CI/CD는 전부터 사용하고 있었는데, 뭔가 A to Z로 구축하는 가이zigo-autumn.tistory.com   들어가기 전에 이번 글에서는 Ansible의 보다 자세한 개념과 Jenkins + Ansible을 통해 배포 파이프라인을 구축하는 방법을 정리했다. 글에서 언급되는 Agent는 hosts설정..

Dev/CI&CD 2024.07.15

Junit In Action - TDD를 위한 테스트 원칙, 도구 및 활용 Review - 큰 단위의 테스트를 위한 스텁(Stub)

스텁(Stub)과 모의 객체(Mock)의 필요성애플리케이션을 개발하다 보면 몇몇 코드 혹은 클래스들은 필수불가결하게 다른 클래스 혹은 특정환경에 의존한다.  특정 런타임 환경에 의존하는 애플리케이션을 위한 단위 테스트를 작성하는 것은 매우 어렵다. 테스트는 안정적이어야 하며 반복적으로 수행하더라도 같은 결과가 나와야 하기 때문이다. 예를 들어, 작성중인 애플리케이션이 타사에서 제공하는 웹 서버에 HTTP통신을 해야 하는 경우, 개발 환경에서는 그런 서버 통신을 하는 것이 사실상 불가능하다. ( 이것은 생각보다 실무에서 빈번하게 발생하는 문제이기도 하다. 개발 환경에 필요한 필수적인 인프라 스트럭처가 구체화되지 않았는데 개발자는 기능 구현을 할 수 있어야 한다. 😳 ) 그러므로 실제 장비 지원 없이도 소..

Dev/TDD 2024.07.14

Jenkins, Ansible로 CI/CD 구축하기 (2/3)

이전 포스팅은 여기로 2024.07.01 - [Dev/CI&CD] - Jenkins, Ansible로 CI/CD 구축하기 (1/2) Jenkins, Ansible로 CI/CD 구축하기 (1/2)들어가기 전에사실 CI/CD는 전부터 사용하고 있었는데, 뭔가 A to Z로 구축하는 가이드를 작성해두고 싶어서 강의를 듣고 이것저것 시도(라고 하고 삽질이라고 읽는다) 해보다가 드디어 글을 쓸 결zigo-autumn.tistory.com  들어가기 전에이전 게시글에서는 CI/CD의 등장배경과 실습에 사용할 Jenkins, Ansible에 대한 내용을 간략히 정리했다. 이번 글에서는 실제로 Jenkins를 구축하는 방법에 대해 기술하려고 한다. 기본적인 가상환경 컨테이너의 개념과 서버 간 통신 방식을 알고 있음을 ..

Dev/CI&CD 2024.07.02

Jenkins, Ansible로 CI/CD 구축하기 (1/3)

들어가기 전에사실 CI/CD는 전부터 사용하고 있었는데, 뭔가 A to Z로 구축하는 가이드를 작성해두고 싶어서 강의를 듣고 이것저것 시도(라고 하고 삽질이라고 읽는다) 해보다가 드디어 글을 쓸 결심을 했다. 아무래도 스터디를 위한 글이나, 간단한 트러블 슈팅글보다는 캡처해야 할 내용도 많고 기억을 더듬어야 해서 작성할 때 시간이 오래 걸리는데... 어떻게 7월 초안에는 마무리를 했으면 좋겠다🥹 ... 힘을 내 나 자신아!    각설하고, 본 글에서는 CI/CD의 간단한 개념과 Jenkins, Ansible 을 통한 CI/CD구축 방법등을 담을 예정이다.  이 다음에는 k8s, AWS 환경까지 포함해서 파이프라인을 구축하는 글이 이어지지 않을까 싶다.       CI / CD 는 어디서 시작 되었을까?..

Dev/CI&CD 2024.07.01

Junit In Action - TDD를 위한 테스트 원칙, 도구 및 활용 Review - 소프트웨어 테스트 원칙과 테스트 품질 ( 2/2 )

테스트 커버리지 측정하기 이상적으로는 테스트가 애플리케이션 코드의 100%를 커버하는 것이 좋다. 테스트 커버리지는 그 자체로 코드의 품질을 어느 정도 보증한다. 하지만 절대적이지는 않다. 높은 테스트커버리지가 테스트의 질을 완전히 보장하지는 않기 때문이다. 훌륭한 개발자는 테스트를 실행하여 얻어 낸 기계적인 백분율 수치 이상을 볼 수 있어야 한다.  테스트 커버리지란?테스트 커버리지를 계산하는 데 다양한 지표가 활용될 수 있다. 가장 기본적인 지표는 테스트 묶음을 실행하는 동안 호출되는 애플리케이션의 메서드나 코드 줄의 수를 가지고 나타낸 백분율이다. 혹은 테스트가 호출하는 메서드를 추적해서 집계할 수 있다.  메서드가 어떻게 구현되어 있는지 자세히 알고 있다면 단위 테스트를 작성할 수 있다. 테스트 ..

Dev/TDD 2024.07.01