본문 바로가기

전체 글

(166)
[GitHub] 포크와 클론 fork (포크)다른 사람의 repository를 내 repository 에 복제하는 것.내가 수정한 내용을 원본 repository에 적용하고 싶으면 pull request를 하고, 원본 repository 사용자의 승인을 기다리면 된다. clone (클론)원격 repository를 내 로컬 컴퓨터로 옮기는 것.
[Spring Boot] Spring Security 환경에 h2 database 연결하기 (SecurityConfig 설정) H2 database 연결하기 Security 환경에서 H2 console 사용 가능하도록 설정하기 Spring Security를 적용하면 웹에서 확인하는 h2 database가 차단되거나 잘 보이지 않는다. 이는 security에 적용된 보안 문제 때문이다. 아래 Security Config 파일 설정을 통해 이 문제를 해결할 수 있다. SecurityConfig.java@Configuration@EnableWebSecuritypublic class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { // 1 http .csrf..
[우아한테크코스 7기] 프리코스 1주차 (java) 알게된 점 정규 표현식 사용하여 특정 문자 추출하기Pattern, MatcherPattern : 정규 표현식에 대한 대상 문자열을 검증하거나 활용하기 위해 사용되는 클래스Matcher : 대상 문자열과 패턴이 일치하는 부분을 찾는데 사용되는 클래스 예시String input = "//'\n1;2;3";// "//" "\n" 사이 단어 추출Pattern pattern = Pattern.compile("//(.*?)(?=\\\\n)");Matcher matcher = pattern.matcher(input);// 조건에 해당하는 단어가 있을 경우, 추출하여 저장하고, 기존 문자열에서 제거한다.if(matcher.find()) { String customSep = matcher.group(1); ..
[Spring Boot] entity 생성 시 @Column 어노테이션을 생략한다면? entity 생성 시 @Column 어노테이션을 생략할 경우entity 내 객체 필드를 테이블 컬럼에 매핑하기 위해 @Column 어노테이션을 활용하는데, 이는 생략할 수 있다. 생략하면 기본값이 적용되어 @Column의 속성 중 nullable이 true로 설정된다. int 와 같은 자바 기본 타입은 null 값을 입력할 수 없다. Integer와 같은 객체 타입일 때만 null 값이 허용된다. 이때문에 @Column 어노테이션을 생략하면 null값이 true로 설정되므로 오류가 발생할 위험이 있다.따라서 자바 기본 타입에는 @Column 어노테이션을 붙여 nullable=false로 설정하는 것이 좋다.// 엔티티 필드 예시// Xprivate int price; // price = null로 설정되..
[Spring Boot] LocalDate를 LocalDateTime으로 변환 클라이언트에서 날짜만 입력받았을 때 LocalDateTime 자료형으로 변환하기 클라이언트 측에서 날짜만 입력받았을 때, 그 기간 내의 데이터를 검색해야한다.문제는 entity 필드는 LocalDateTime으로 저장했기 때문에 LocalDate로 받은 날짜를 변환해줘야한다는 것이다. (그 기간 내의 데이터를 검색하기 위해서 자료형을 맞춰줘야한다.) 1. 문자열을 LocalDate로 변환하기2. LocalDate를 LocalDateTime으로 변환하기 문자열에서 LocalDateTime으로 바로 변환하지 못하는 이유는 클라이언트 측에서 날짜만 전달하기 때문이다.(yyyyMMddHHmm 으로 설정하고 '20241012'만 전달하면 길이가 부족하다는 오류가 뜬다) 따라서 날짜를 전달받은 후 startDate..
[Spring Boot] Client가 String으로 전달한 날짜 LocalDateTime으로 저장하기 String으로 받은 날짜 형식을 LocalDateTime으로 변환하기클라이언트 쪽에서 'yyyyMMddHHmm' 형식으로 날짜를 전달하는 게 편하다고 해서 기존에 LocalDateTime 자료형으로 입력받았던 date 필드에 변화를 줬다. @JsonFormat을 사용하면 문자열로 받은 날짜를 LocalDateTime으로 변환할 수 있다.다른 함수는 필요없고 dto 내에 필요한 필드 위에 @JsonFormat 어노테이션을 아래처럼 사용하면 된다.// DTO 필드@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyyMMddHHmm", timezone = "Asia/Seoul")private LocalDateTime date;pattern 부분에는 문자열..
[SpringBoot / IntelliJ] 인텔리제이 스프링부트 실행 시 sql문 실행 인텔리제이 스프링부트 실행 시 sql문 실행 프로젝트 실행과 동시에 h2 데이터베이스에 테이블이 하나 생성되도록 하는 방법이다. (다른 db도 가능)  1. src-main-resource 파일 아래에 data.sql 파일을 생성하고, 실행하고 싶은 sql 문을 입력한다. 2. application.properties에 아래 구문을 추가한다.spring.sql.init-mode=always 프로젝트를 실행하면 sql 문에 작성한 코드가 동작한다.
[IntelliJ/GitHub] 인텔리제이 깃허브 연동하는 방법, 인텔리제이 코드 깃허브에 올리기 인텔리제이 깃허브 연동하는 방법인텔리제이에 작성한 프로젝트를 깃허브와 연동하기 위해서는 우선 깃허브 레포지토리를 하나 생성해야한다.이후 인텔리제이에 해당 레포지토리를 연결하면 된다. 1. 깃허브 레포지토리 만들기깃허브 우측 상단 프로필을 클릭한다. Your repositories 를 클릭한다. New 를 클릭하여 새로운 레포지토리를 생성한다. 레포지토리 이름을 작성하고 생성 버튼을 누른다. 생성 완료. 2. 인텔리제이와 레포지토리 연동하기리포지토리를 생성하면 아래와 같은 화면으로 이동한다. 여기서 위의 명령어를 복사한다. 복사한 명령어를 인텔리제이 내의 터미널에 붙여넣기 하고 실행한다. 연동 완료. 인텔리제이 코드를 깃허브로 올리는 방법인텔리제이 터미널에서 아래 코드를 순서대로 작성하면 된다.git ad..

반응형