일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DynamicProgramming
- JPA autiding
- SpringFramework
- gitignore
- index.html
- 코딩테스트
- SpringDataJPA
- Java
- API
- Gradle
- C++
- testcode
- 프로그래머스
- mustache
- 알고리즘 #코딩테스트 #프로그래머스 #C++ #vector #string
- 해싱
- rombok
- springboot
- Comparable
- SpringSecurity
- TDD
- test case
- tdo
- DB
- kotlin
- 알고리즘
- baekjoon
- SpringBean
- JPA
- spring
- Today
- Total
목록Spring (16)
천천히, 한결같이

본 코드는 필자의 프로젝트 백엔드 파트의 Domain 계층에 해당하는 부분입니다. SpringBoot 라이브러리를 사용해 개발하고 있으며, Kotlin 언어로 개발중입니다. 학부생이 스스로 공부하는 내용이라 틀린 부분이 있을 수도 있고, 잘못된 부분이 많을 수도 있습니다. 언제나 많은 지적바랍니다. Entity class, Many To Many 현재 필자의 코드에서 오류가 생긴 부분입니다. Users 엔티티와 Planners 엔티티는 다대다 양방향 매핑이 되어 있는 상태입니다. 따라서 JPA를 사용하기 때문에, Users와 Planners는 각각의 객체 안에 Planners, Users를 가지고 있는 상태입니다. Spring Data Jpa를 사용하면 객체지향적으로 조인 관계를 활용할 수 있습니다. 아..
본 코드는 필자의 프로젝트 백엔드 파트의 Controller 계층에 해당하는 부분입니다. SpringBoot 라이브러리를 사용해 개발하고 있으며, Kotlin 언어로 개발중입니다. 학부생이 스스로 공부하는 내용이라 틀린 부분이 있을 수도 있고, 잘못된 부분이 많을 수도 있습니다. 언제나 많은 지적바랍니다. Clean Code_클린코드 클린 코드가 중요하다는 이야기는 많이 들어보았습니다. 결론부터 이야기하면 클린 코드라고 하면 “읽기 쉬운 코드” 라고 정의할 수 있습니다. 클린 코드가 중요하다는 이야기는 익히 들었으나, 평소 코딩 시에 저만의 간단한 원칙들만 생각하며 개발하고 있었고 (else 예약어 사용하지 않기, 반복문 중첩하지 않기, 객체 이름 의미 부여해서 짓기 등) 클린 코드를 위한 노력은 따로 ..

Spring initializer (https://start.spring.io/) 를 사용하면 보다 쉽게 Spring 프로젝트를 만들 수 있습니다. 여기서 보통 Dependencies에 저희가 사용할 의존성을 입력하면 build.gradle 파일을 따로 수정하지 않아도 알아서 생성해 준다는 큰 장점이 있습니다. 하지만 여기서 주의해야 할 사항이 있습니다. Spring Security와 OAuth2 Client의 의존성을 미리 주입한 후 프로젝트를 생성하게 되면 이후 저희가 톰캣으로 서버를 띄웠을 때 반드시 login 페이지로 이동하게 됩니다. 하단 로그에 Using generated security password : ~ 라고 되어있는 부분에 password가 생성된 것을 보실 수 있습니다. 만약 우리가..

IntelliJ exit with non-zero value 1 오류 SpringBoot를 활용해서 개발하기 위해 IntelliJ IDE를 사용하고, Gradle 프로젝트에서 아래와 같이 오류가 발생하는 경우가 종종 있습니다. Execution failed for task '~Application.main()'.Process 'command' JDK경로/bin/java.exe finished with non-zero exit value 1 *Try:~ 해결하는 방법은 다음과 같습니다. IntelliJ Setting 메뉴 클릭 (command+shift+A / ctrl+shift+A -> settings) [Build, Execution, Deployment > Build Tools > Gradle] 메뉴..
이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스책을 공부하며 정리한 내용입니다. 틀린 정보가 있을 수 있으니 주의하시고 댓글로 남겨주시길 바랍니다. 스프링 시큐리티와 OAuth2 클라이언트 스프링 시큐리티(Spring Security)는 스프링 기반의 애플리케이션의 보안 (인증, 권한, 인가 등)을 담당하는 하위 프레임워크 입니다. 스프링 기반 애플리케이션의 보안을 위한 표준이라고 생각하면 됩니다. 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 일일이 보안 관련 로직을 작성하지 않아도 되고 스프링 시큐리티를 통해 구현하는 것을 적극적으로 권장하고 있습니다. OAuth2 클라이언트(Open Authorization, Open Authentication 2)는 인증을 위한 표준 프로토..
이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스책을 공부하며 정리한 내용입니다. 틀린 정보가 있을 수 있으니 주의하시고 댓글로 남겨주시길 바랍니다. 공통 Layout 추가하기 프론트엔드 라이브러리를 사용할 수 있는 방법은 크게 2가지가 있습니다. 하나는 외부 CDN을 받아서 사용하는 방법이고, 하나는 직접 라이브러리를 받아서 사용하는 방법입니다. 실무에선 외부 CDN을 받아서 사용하게 된다면 외부 CDN에 서비스가 종속, 즉 의존되는 문제가 생기 때문에 후자의 방법을 사용합니다. 저희는 우선 전자인 외부 CDN을 사용해서 구현해 보겠습니다. HTML/JSP/Mustache에 코드만 한 줄 추가하면 사용할 수 있어서 매우 편리합니다! 2개의 라이브러리 부트스트랩과 제이쿼리를 index.must..

이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스책을 공부하며 정리한 내용입니다. 틀린 정보가 있을 수 있으니 주의하시고 댓글로 남겨주시길 바랍니다. 기본 페이지 만들기 항상 스프링의 프로젝트에서 새로운 DB, 언어 등을 사용하기 위해선 항상 의존성을 추가해야 합니다! 이전에 했던 방법대로, build.gradle에 아래와 같이 입력해서 Mustache의 의존성을 등록합니다. compile('org.springframework.boot:spring-boot-starter-mustache') 의존성을 추가했다면 항상 refresh를 통해서 관련된 설정을 받아옵니다! IntelliJ를 기준으로 dependencies를 새롭게 추가했다면 우측 상단에 나오는 코끼리 아이콘을 클릭해서 의존성을 추가합니..
이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스책을 공부하며 정리한 내용입니다. 틀린 정보가 있을 수 있으니 주의하시고 댓글로 남겨주시길 바랍니다. 의존성 주입(Dependency Injection) 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉을 보고 의존성 주입(Dependency Injection)이라고 합니다. 객체의 생성과 사용의 관심을 분리하기 위해서 제안된 테크닉입니다. 직접 코드로 보시는게 조금 더 좋을 것 같아서 바로 예제 코드를 보여드리겠습니다. Member //단순하게 보여드리기 위해서 에노테이션, import 등의 일부를 생략했습니다 public class Member { private Long id; private String name; public String ..