나는 성장하고 있는가?

Written by@Jeonghoon Song
BFS보단 DFS를 하는 개발자가 되자

GitHub

프로그래머스/C++) 징검다리 건너기(슬라이딩 윈도, 이분탐색)

문제는 징검다리 건너기에서 확인가능하다. 간단해 보이지만, 간단한 방식으로 풀면 당연하게도 시간초과가 발생한다. 슬라이딩 윈도, 이분탐색 두 가지 방법으로 풀어봤다. 또한 테스트케이스 3번, 효율성 13번에서 계속 틀렸다. 반례는 아래와 같은 테스트케이스일 경우이며, 맨 뒤의 2, 1, 1을 탐색하지 않아 생긴 오류였다. 슬라이딩 윈도 문제를 읽어보면, …

Spring boot) Spring Data JPA로 CRUD 구현, 게시판 M:N 구현

개발환경 IntelliJ Spring boot 2.4.1 Gradle 관련모듈 : h2, spring-boot-starter-data-jpa 사전작업 지난 포스트에서 엔터티까지만 만들었다. 여기에 CRUD 기능을 추가하기 위해선 레파지토리가 필요하다. 간단하게 말하자면, 만들고자 하는 테이블 하나당 엔터티 클래스 하나와 레파지토리 클래스 하나가 필요하다.…

Spring boot) JPA란? Spring Data JPA 설정 및 사용(feat.h2, Hibernate)

개발환경 IntelliJ Spring boot 2.4.1 Gradle JPA란? Java Persistence API의 약자로, 자바 ORM(Object Relational Mapping, 객체와 테이블 간의 매핑)에 대한 API 표준이다. 장점 : 재사용, 유지보수, 리팩토링에 용이 단점 : 복잡해질 수록 난이도가 올라가고, SQL문을 직접 사용해야 …

Spring boot) Spring Security 인증 및 커스텀하기

개발환경 IntelliJ Spring boot 2.4.1 Gradle 먼저 build.gradle에 spring-boot-starter-security 라이브러리를 설치해준다. 설치 후 실행하고, 웹에서 본인의 주소로 들어가면, 다음과 같이 인증을 하라고 나온다. 아이디는 user. 그럼 비밀번호는? 콘솔에서 를 검색하고 복사한다. 참고로 실행할 때마다…

Spring boot) Swagger로 개발자 API 문서 생성하기 / 커스텀하기

개발환경 IntelliJ Spring boot 2.4.1 Gradle ‘springfox-swagger2’, version: ‘3.0.0’ ‘springfox-swagger-ui’, version: ‘2.9.2’ 임을 유의하자. 이번에 버전 문제로 에러가 많이 생겼다. 개발함에 있어 API 명세서는 중요하다. Swagger는 이러한 API 문서작성을 자동…

Spring boot) Actuator로 API 모니터링 설정

개발환경 IntelliJ Spring boot 2.4.1 Gradle Actuator는 왜 사용할까? Actuator를 사용하면 health, properties, beans, 구동된 AutoConfiguration 목록 등의 상태정보를 모니터링 할 수 있다. 설정 Actuator를 사용하기 위해 build.gradle의 디펜던시에 추가해준다. Maven…

Spring boot) Hateoas로 REST API 처리하기

개발환경 IntelliJ Spring boot 2.4.1 Gradle Hateoas로 REST API 처리하기 Hateoas는 하이퍼 미디어(파일이나 영상 등)를 REST API의 상태정보를 관리하기 위한 메커니즘으로 활용하는 것이다. 쉽게 말해, 텍스트 아닌 리소스도 관리할 수 있다. 먼저 라이브러리를 추가해주자. 기존에 사용하던 Spring boot의…

Jenkins) AWS Codeploy와 S3, Github를 이용해 Jenkins CI 구축하기(2)

개발환경 Spring boot 2.4.1 Gradle Jenkins AWS EC2, S3, CodeDeploy, ALB 지난 포스트에서 구축한 서버들을 토대로 CI를 구축해보겠다. 붉은 네모의 내용을 구축하고 전체적으로 연동테스트를 진행한다. GitHub Repository 파이프라인을 보면, 처음 단계가 GitHub에 커밋하는 것이다. Github 레…

Jenkins) AWS Codeploy와 S3, Github를 이용해 Jenkins CI 구축하기(1)

개발환경 Spring boot 2.4.1 Gradle Jenkins AWS EC2, S3, CodeDeploy, ALB 이전 포스트에서 젠킨스 서버를 구축하였다. 이 젠킨슨서버와 S3, Codeploy, Github를 활용해 다음과 같은 배포라인을 구축하여 CI/CD를 구현하는 것이 목표이다. Jenkins 서버 기존에 생성한 젠킨스 서버에 CodeDe…

Jenkins) AWS EC2에 Jenkins 설치

먼저 EC2를 실행하고 어떠한 작업도 안 한 상태라 가정하겠다. Docker 이미지로 올리는 방법도 있지만 여기서는 직접 설치하는 방법을 알아보자. 1. 먼저 터미널에 접속한다. 2. sudo 반복 줄이기 위해 root로 변경 3. 패키지 업데이트 4. 자바 패키지 설치 이미 설치가 돼 있다고 뜬다. 잘 되었나 버전한번 확인해보자 5. 자바 환경변…