목록백엔드 (40)
궤도
북적북적의 백엔드를 클론하고 있다. Github build.gradle plugins { id 'org.springframework.boot' version '2.5.2' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'jpa' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } all { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' } } repo..
북적북적의 백엔드를 클론하고 있다. Github build.gradle plugins { id 'org.springframework.boot' version '2.5.2' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'jpa' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } all { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' } } repo..
면적면적 열심히 개발을 하던 중... org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role 이런 에러가 발생했다. 이거 책에서 많이 본건데...지연로딩과 관련해서 생기는 문제이다. 영속성 컨텍스트가 종료된 상태에서 다시 조회를 하려해서 발생하는 문제인데... 가장 간단한 해결방법은 fetch = FetchType.LAZY를 fetch = FetchType.EAGER로 바꾸는 것이다. 하지만 디폴트 값인 EAGER를 왜 굳이 LAZY로 바꿨겠는가? EAGER로 하면 처음 조회시 연결되어 있는 모든 테이블을 함께 조회해서 성능이 떨어진다. 그러니 이 방법은 쓰지 못한다. 검색을 해보니 코드에 @Tr..
북적북적의 백엔드를 클론하고 있다. Github build.gradle plugins { id 'org.springframework.boot' version '2.5.2' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'jpa' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } all { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' } } repo..
북적북적의 백엔드를 클론하고 있다. Github build.gradle plugins { id 'org.springframework.boot' version '2.5.2' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'jpa' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } all { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' } } repo..
요즈음 공부를 하면 할 수록 내가 n달전 비바에서 어떤 끔찍한 짓을 해왔던 건지 매일매일 깨닫고 있어서 정리한다. 물론 난 지금 계속 공부를 하고 있으니 이 글은 점점 늘어날지도 모르겠다. 1. 말도 안되는 보안 교수님이 코드를 뜯어보셨다면...정말 큰일났을 것이다. 다행인지 아닌지 우리 서비스가 앱이라 url이 대놓고 보이진 않아서 모르고 넘어가셨다... 2. 프론트에 대한 맹신 서버 개발자는 클라이언트를 믿으면 안된다는 말이 있다더라. 난 몰랐다... 엄밀히 말하면 서로에 대한 신뢰는 아니겠다. 최근에 프론트쪽 코드를 보고 알게된 것인데, 내가 프론트를 너무 맹신한 나머지 내가 해야할 유효성 검사들을 프론트에서 다 하고 있더라 도대체 유저가 test_title을 입력 안했었으면 어쩔 생각이었는지?? ..
공부용 게시글이라 영양가가 없습니다. JWT로 회원가입, 로그인 구현하기 ↑링크 추가 개요 그렇게 옛날은 아니지만 아무것도 모르던 비바 시절... 보안상에 아주 치명적인 코드를 잘만 짜고 다녔었다. https://myunji.tistory.com/160?category=1154148 [백엔드] Node.js + Sequelize + MySQL 상세보기 페이지를 만들어보자 우리의 앱에선 오답노트를 클릭하면 이렇게 노트에 있는 문제들을 하나하나 볼 수 있다. 보다시피 문제 삭제 기능도 있다. 프론트에서는 사용자의 아이디인 stu_id와 선택한 오답노트의 pk인 note_s myunji.tistory.com 내가 주석으로 표시해놓은 주소를 보면 알겠지만 유저의 아이디가 get 방식으로 그대로 노출되어있다. 이..
https://victorydntmd.tistory.com/321 [SpringBoot] Mysql 연동 개발환경 IntelliJ 2019.02 Java 11 SpringBoot 2.1.7 mysql-connector-java:8.0.17 Gradle 5.6 스프링부트 프로젝트를 생성할 때, 내장된 데이터베이스 h2가 아닌 MySQL을 사용하려고 했습니다. application.p.. victorydntmd.tistory.com 여기를 따라할 것이다. implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'mysql:mysql-connector-java' 이거 2개 추가 spring: datasource: dr..