Hothead Factory
취소

Jenkins로 Spring Boot 서버 자동 배포하기 – 2. 젠킨스에서 빌드하기

https://blog.h2f.kr/?p=2026 1편에서 젠킨스를 설치했다. 이제 젠킨스가 자동 빌드를 하도록 만들어 보자. 새로운 item을 선택한다. Freestyle Project를 선택하고 하단의 OK를 누른다. General 탭에서는 GitHub Project를 체크하고 빌드할 GitHub 저장소 주소를 입...

Jenkins로 Spring Boot 서버 자동 배포하기 - 1. 도커와 젠킨스 설치

준비사항 우선 이 글을 따라가기 위한 준비물을 소개한다. 아마존 EC2 우분투 18.04 LTS 인스턴스 두 개. 자신의 것이거나 관리 권한을 가지고 있는 GitHub repository에 올라간 Spring Boot 프로젝트. 도커와 Gradle, 쉘 스크립트에 대한 아주 기초적인 배경 지식. 끈기와 멘탈. 도커 위에...

우아한테크코스 레벨2 회고

명품 코드 짜기 부푼 마음을 안고 시작했던 우아한테크코스가 벌써 절반이나 지나갔다. 그동안 나는 무엇이 변했을까? 곰곰이 생각해 보았더니, 코딩을 통해서 나오는 ‘겉으로 보이는 결과물’은 그렇게 크게 변하진 않은 것 같다. 이전에도 간단한 웹사이트를 여러 개 만들어 봤으니 말이다. 하지만 그 안은 모든 것이 바뀌었다고 말해도 좋을 정도로 크게 ...

맥북으로 바꾸다

그동안 열렬한 씽크패드+리눅스 매니아였건만, 우아한테크코스를 진행하면서 X1 카본의 부족한 성능과 리눅스의 버그와 부실한 앱 지원에서 어려움을 겪고 맥으로 옮기게 되었다. 우테코의 맥 점유율이 심상치 않다. 구입한 모델은 맥북 프로 2018년식 i5 16GB/512GB CTO. 중고로 괜찮은 가격에 구매했다. 이와 함께 그동안 집에서 사용하던 맥미...

스프링 프레임워크 빈 등록과 컴포넌트 스캔

수동 빈 등록 방법 설정 클래스에 다음과 같이 새 메소드를 만들어 빈으로 생성하길 원하는 클래스의 객체를 리턴하도록 만든다. `@Configuration public class AppCtx { @Bean public ChessBoardPrinter chessBoardPrinter() { return new ChessBoardPrinter()...

2016년 이후 신형 맥에서 시동음 활성화하는 방법

macOS Big Sur 베타 버전부터 부팅음이 부활해서 위의 설정 없이도 기본으로 활성화되어 있으며, 사운드 설정에서 ‘시작 시 사운드 재생’ 을 토글해 켜거나 끌 수 있다. 카탈리나 또는 그 이하 버전을 사용하고 있을 경우 아래 내용을 참조하면 된다. 애플 맥의 상징과도 같았던 시동음. 2016년식 이후로 사라졌는데 이를 다시 되살리는 ...

Spring Data JDBC의 Query Method

Spring Data는 Repository의 메소드명으로 쿼리를 생성할 수 있는 쿼리 메소드 기능을 제공한다. 복잡한 쿼리문 대신 마치 영어 문장을 쓰듯 원하는 쿼리를 바로 만들어 사용할 수 있다. `interface PersonRepository extends Repository<Person, Long> { List<Perso...

git cherry-pick 사용법

우테코에선 항상 git으로 미션을 진행하는데, 페어 프로그래밍의 경우도 마찬가지다. 페어 프로그래밍에서의 git 사용법은 주로 둘 중 한 명의 노트북으로 같이 미션을 진행한다. 노트북 주인의 fork한 저장소에 커밋이 저장된다. 미션을 완수한 다음 다른 한 명은 노트북 주인의 저장소를 pull request로 가져간다. 각자 pull r...

스프링의 생성자 주입이 필드 주입보다 권장되는 이유

스프링에서 한 클래스에 다른 클래스의 의존성을 부여하는 방법은 두 가지가 있다. @Autowired 이용하기 (필드 주입) `package wooteco.helloworld.core; ... @Component public class UserController { @Autowired private UserService userS...

try-with-resources

JDBC DAO 객체에서, 다음과 같은 코드를 짤 수 있다. `// JdbcTemplate.java public void insert(String query) throws SQLException { Connection connection = getConnection(); PreparedStatement statement = conne...