
정말 이유도 모르겠고 구글링 해도 잘 안 나왔다. 이유는 간단하다. RDS 연결시에 id, pw를 따로 보관해두었지만, S3에 올릴 때 jar 파일에는 그 값이 들어가야한다. #1 프로젝트 레포지토리 > Settings > Security > Secrets and variables 에 Application.yml 파일 내용을 기록한다. id, pw를 기록해야하므로, 보안상 시크릿에 보관하는 것이다. #2 workflows 안에 있는 CD 역할 하는 deploy.yml에 해당 내용을 추가한다. # 2-1) yml 파일 추가 - name: Create application.yml run: | mkdir -p src/main/resources echo "${{ secrets.APPLICATION_YML }}"..

📌 231107 TIL : 객체지향언어와 절차지향언어의 차이 1. 절차 지향언어란? 모든 구성요소가 유기적으로 연결되어 있는 언어. C언어이다. Top-Down 접근이다. 문제를 큰단위부터 계획한다음, 작은 단위로 나누고, 순차적으로 해결하는 방식으로 접근한다. 프로그램의 흐름을 위주로 프로그래밍한다. 데이터와 데이터 처리가 중요시 되며, 데이터와 함수가 분리될 수 있다. 일반적으로 전역변수를 사용하여 데이터를 공유한다. 코드의 재사용성이 낮을 수 있으며, 유지보수가 어려울 수 있다. 전역 변수를 사용하여 데이터를 공유하는 방식이기 때문에, 변수의 변경이 어디서든 영향을 미칠 수 있음. 하지만 객체지향언어보다 더 빠른 실행소도를 가지기 때문에 성능이 중요한 경우, 객체지향보다 유리하다. 2. 객체 지향언..

[ Spring Boot properties ] 부트의 기능 거의 대부분을 제어 기능 기본값이 세팅되어 있어서 아무것도 안 써도 동작 부트를 쓰는데 설정이 자꾸만 별도의 자바코드로 등장한다 Debug = true -> debug log가 콘솔에 추가됨. 즉 직접 코드로 설정하는 부분들을 properties에 적어 놓아 자동화해주기 편함. 그래서 데이터베이스를 1개를 쓸경우 properties에 적어놓는게 편함. 여러개의 데이터베이스는 지원하지 않는다. https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html 여기서 적절한 property 를 적용시키자. [ @SpringBootApplication ]..

📌 231019 TIL : [Spring-boot] 개발자 키우기 프로젝트 : 리팩토링 📌 1. 컨트롤러 부분 1) 요청값으로 들어오는 부분은 컨트롤러에서 값이 바뀌는 것을 방지하기 위해 final을 붙여 상수로 만든다. @PutMapping("/developer/{memberId}") public DeveloperDetailDto editDeveloperDetail( @PathVariable final String memberId, @Valid @RequestBody final EditDeveloper.Request request ){ log.info("Put / developer Http/1.1"); return dMakerService.editDeveloper(memberId, request); }..

📌 231019 TIL: [Spring-boot] 개발자 키우기 프로젝트 📌 Mockito, Junit5를 이용한 Test 방법들 : 컨트롤러 테스트(@WebMvcTest, @MockBean) 코드, 서비스 테스트 코드(TDD) 1. Junit5란? JUnit 5 The JUnit team uses GitHub for version control, project management, and CI. junit.org Java에서 가장 인기있는 프로그래머 테스팅 프레임워크. Gradle에서 동작하려면 4.6 이상의 버전이 필요하다. 메소드 단위 별로 테스트가 가능하다. testImplementation 'org.springframework.boot:spring-boot-starter-test' 해당 코드를 ..

📌 231018 TIL : [Spring-boot] 개발자 키우기 프로젝트 📌 글로벌한 예외처리 방법들 1. 각 컨트롤러 안에 예외처리 핸들러 만들기. @ExceptionHandler(예외클래스) 어노테이션 이용한 예외 처리 방법. 해당 컨트롤러에서 발생하는 예외처리하는걸 잡는 방식. 단점 : 각 컨트롤러마다 같은 내용의 예외처리가 발생할 수 있음 => 묶어서 조금 더 글로벌한 방법이 필요 => 2번 public class DMakerContoller { ... /** 에러 잡는 곳 */ @ResponseStatus(value = HttpStatus.CONFLICT) @ExceptionHandler(DMakerException.class) public DMakerErrorResponse handleExc..

📌 231017 TIL : [Spring-boot] 개발자 키우기 프로젝트 : 날짜 자동으로 테이블에 값 넣는 방법. (JPA) 1. 일단 Entity 클래스에서 LocalDateTime으로 선언한 날짜 관련 필드에 적절한 어노테이션을 붙여준다. @CreateDate : 인스턴스가 생성된 시간의 정보를 자동으로 저장. @LastModifiedDate : 인스턴스가 마지막에 수정된 정보를 저장. @CreatedDate //생성된 시간의 정보를 자동으로 저장해줌. private LocalDateTime createdAt; @LastModifiedDate //수정된 시간의 정보를 자동으로 저장해줌. private LocalDateTime updateAt; 2. Entity 클래스에 @EntityListener..

📌 231017 TIL : [Spring-boot] 개발자 키우기 프로젝트 H2 데이터베이스, ENUM 클래스 1. H2 Database? 스프링 부트가 지원하는 인메모리 관계형 데이터 베이스 즉 Mysql 같은 RDBMS. 메모리에 담는 DB라서, 끄면 데이터들도 같이 삭제된다. 그래서 과제나 테스트시 유용. 용량이 가볍고, 로컬 환경, 테스트 환경에서 많이 쓰임. 인메모리 데이터베이스 (In-Memory Database) : 디스크가 아닌 주 메모리에 모든 데이터를 보유하는 데이터 베이스. 디스크 검색보다 접근이 훨씬 빠르다는 장점이 있다. 단점은 휘발성으로, 서버 전원을 끄면자료들이 삭제된다. 그래서 보통 로그인 세션같은 서버가 꺼져도 상관없은 임시 데이터에 많이 사용된다. 📝 gradle 주입 방..
- Total
- Today
- Yesterday
- 백엔드
- 그룹스터디워크샵
- TiL
- 패스트캠퍼스강의
- 국비지원캠프
- 부트캠프
- 백엔드부트캠프
- 프로젝트후기
- Java
- 국비지원
- 국비지원취업
- 스터디후기
- #국비지원취업
- 카카오API
- 야놀자X패스트캠퍼스부트캠프
- 그룹스터디
- be
- springboot
- 야놀자
- 백엔드개발자
- 데이터베이스
- boj
- qjzl
- 패스트캠퍼스
- 백준
- 자료구조 #스택 #큐 #덱 #선형자료구조
- 자료구조
- 과정중간회고
- 채팅기능개발
- 커리어멘토링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |