캡스톤 개발 도중 insert문 Test Case를 작성하다 다음과 같은 에러를 마주했다. 어떤 에러이며 어떻게 해결했는지 바로 확인해보자. 😊 참조 무결성 제약 조건에 위배된 것 같은데 (cast 어쩌고저쩌고 하는거 보니 형변환도 안되는것 같았고,, 대충 디비 연관관계에 문제가 있구나,, 생각했다.) 어디가 어떻게 위배된 건지, 뭐가 문제인건지 전혀 감을 잡지 못했다. 인터넷에 검색해보니 연관관계 매핑이 잘 되어있는지 다시 보라고 해서 확인했고 이상없었다. 혹시나 하고 코드를 다시 보니 문득 에러는 이 부분 아니면 날 수가 없다.. 는 생각이 들었다! 바로 이 부분 ❗❗❗ 참조 무결성 어쩌고 저쩌고 에러가 난다는 것은 테이블 연관관계에서 문제가 있다는 것인데 Member member = Member.b..
캡스톤 프로젝트 도중 매핑 테이블의 삭제 문제와 트랜잭션 처리에 대해 학습한 내용을 정리하고 포스팅하려고 한다. M:N(다대다) 관계를 별도의 매핑 테이블을 구성하고 이를 엔티티로 처리하는 경우에는 주의해야 한다. '명사'에 해당하는 데이터를 삭제하는 경우에 중간 매핑 테이블에서도 삭제를 해야하기 때문이다! 예를 들어 다음과 같은 경우에서 특정 회원(Member)을 삭제하는 경우 회원이 등록한 모든 디자인 댓글(Reply) 역시 삭제되어야 한다. member 테이블에서 특정 회원을 삭제하려면 우선 reply 테이블에서 먼저 삭제하고, member 테이블을 삭제해야 한다. 이 2개의 작업은 하나의 트랜잭션으로 관리해야한다. 이제 코드로 들어가 확인해보자. ReplyRepository에서 다음과 같이 del..
캡스톤 프로젝트를 하는 도중 다음과 같은 에러 메세지가 발생했다. 왜 발생하며 어떻게 해결하는지 같이 알아보도록 하자. 우선 이 에러의 경우 test 케이스에서 발생한 에러이다. 우선 필자가 현재 이용하고 있는 테이블 구조는 다음과 같다. n:m 연관관계 매핑에서 Reply라는 매핑 테이블이 생성되고 특정 디자인의 댓글을 찾아오는 메서드를 실행하고 있다. 실행하면 다음과 같은 에러가 발생한다. 우선 이 에러가 발생하는 이유는 다음과 같다. 🤔 Reply 클래스의 Member에 대한 Fetch 방식이 LAZY이기 때문에 한 번에 Reply 객체와 Member 객체를 조회할 수 없기 때문에 발생한다. 👉 해결방법은 두 가지이다. 1. @Query를 이용해서 조인 처리하기 2. @EntityGraph를 이용해..
지난 포스팅에서 querydsl 환경설정을 한 후 검색 기능을 위한 메소드 추가를 하고 서버를 실행해보니 다음과 같은 에러가 발생했다. 어떤 에러이며 어떻게 해결하면 좋을지 바로 확인해보자!! 잘 안 보일 것 같아 에러 메시지 부분만 확대해 추가 첨부한다. 보이다 싶이 온 화면이 뻘겋게 변하는 총체적 난국의 상황이 발생하는데 에러메세지를 읽어보면 'error: cannot find symbol import ReBack.core.data.Design'; 즉 내 프로젝트의 data 패키지를 읽어올 수 없다는 것인데 왜????????? 내 생각에 querydsl을 설정하면서 import가 제대로 인식되지 않는 것 같았다. 해결방법을 보자. 1. file-setting에 들어간다. 2. gradle-Gradle..
이전 포스팅(글자클릭시 이동)에서 querydsl이란 무엇이며 왜 사용하는지에 대해 포스팅했으므로 이전 포스팅을 꼭 참고하기를 바란다. 캡스톤 프로젝트 중 '검색 기능' 을 위해 동적 쿼리를 사용하게 되었고 Querydsl을 설정하는 포스팅을 작성해볼까 한다. 바로 들어가보자. 😊 (queryDslVersion 5.0.0이후부터는 설정이 조금 달라졌다고 하는데 이 포스팅은 queryDslVersion 5.0.에 해당한다.) 1. build.gradle 파일에 다음과 같은 코드를 추가한다. 코드를 추가하고 실행시키면 build>generated>querydsl[main]에 Q로 시작하는 도메인들이 생긴다. Q로 시작하는 도메인들이 보인다면 제대로 한 것이다!! 😊 보이는 것과 같이 Q로 시작하는 도메인이 ..
오늘은 querydsl이란 무엇이며 왜 사용하는지에 대해 알아보자. JPA에는 쿼리 메서드의 기능과 @Query를 통해 많은 기능을 만들 수 있지만, 고정된 형태의 값을 가진다는 단점이 있다. 즉, 단순한 검색 조건을 만들어야 하는 상황에서는 충분히 사용가능하지만, 복잡한 조합을 이용하는 경우의 수가 많은 상황에서는 동적으로 쿼리를 생성해서 처리할 수 있는 기능이 필요하다. 📌 이때 Querydsl을 사용한다!! querydsl을 사용하면 복잡한 검색조건이나 조인, 서브 쿼리 등의 기능도 구현이 가능하다! Querydsl 공식 사이트
캡스톤 프로젝트를 하다 황당무계한 실수로 이틀동안 발목 붙잡혔던 일에 대해 포스팅한다. 인터넷에 에러코드를 검색해도 잘 나오지 않는 에러라 나같이 한번 착각의 늪에 빠져버리면 절대 해결할 수 없는(?) 에러이므로 혹시 다른 사람은 해결하기를 바라며 기록해본다. 바로 들어가보자. 😣 (오늘은 도저히 웃음이 나질 않는다..ㅋㅋ) 우선 에러 코드는 다음과 같다. 회색 글자로 modify?designCode어쩌고 저쩌고 하는 코드는 필자의 주소창에 해당하는 것으로 pageable을 이용해 designCode라는 pk로 검색하는 화면이다. (즉, 디자인코드가 289번이고 페이지는 1번인 항목의 페이지) 아무튼!! 사실 이 에러 코드를 보고 눈치챈 사람들도 있겠지만 필자는 이 에러로 ㅋㅋㅋㅋㅋㅋ 삽질을 무려 이틀 ..
캡스톤 프로젝트 진행을 하다 다음의 에러를 발견했다. Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL contained a potentially malicious String "//" 과연 무슨 에러이며 어떻게 해결해야하는지 알아보자. 🤔 우선 왜 이런 에러가 뜨는가? 에러메세지를 대충 읽어보면, (필자가 영어를 잘하는 편이 아니므로 오역이 있어도 양해 바란다.) (대충 에러의 뉘앙스만 알아가자.) s..
백준 문제 보기 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 입력 값이 여러 형태라서 어떻게 받아야할지 너무 어려웠는데 인터넷 검색을 해보니 코드는 아주 간단했다. 바로 코드로 들어가보자. 🔥 먼저, 첫 번재 방법이다. import java.io.IOException; import java.util.Scanner; public class Main { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int char = sc.next().charAt(0..
공지사항 필독 📢 정보처리 산업기사를 공부하며 데이터베이스 설계에 대해 학습한 내용을 정리한다. 정보처리산업기사를 준비하는 사람이 아니더라도 도움될 내용이니 참고하자. 바로 본론으로 들어가보자. 😊 데이터베이스 설계 데이터베이스 설계 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 dbms로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것 설계 시 고려사항 무결성 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야함. 일관성 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야함. 회복 장애 발생 직전의 상태로 복구 할 수 있어야함. 보안 불법적인 데이터..
공지사항 필독 📢 정보처리산업기사를 공부하며 데이터베이스 개요에 대해 학습한 내용을 정리한다. 정보처리산업기사를 준비하는 사람이 아니더라도 도움될 내용이니 참고하자. (ps. 이전 챕터인 '운영체제 기본 명령어'의 경우 필자의 주관적인 의견에 의하면 모두 정말 중요한 내용이므로 직접 책을 보는 것을 추천하며 따로 포스팅은 하지 않겠다.) 바로 본론으로 들어가보자. 😆 데이터베이스 개요 데이터저장소 데이터들을 논리적인 구조로 조직화, 물리적인 공간에 구축한 것 논리 데이터 저장소 : 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것 물리 데이터 저장소 : 논리 데이터저장소를 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 실제 저장장치에 저장한 것 데이터베이스(Databas..
공지사항 필독 📢 정보처리 산업기사를 공부하며 운영체제의 종류에 대해 학습한 내용을 정리한다. 정보처리산업기사를 준비하는 사람이 아니더라도 도움될 내용이니 참고하자. 바로 본론으로 들어가보자. 😆 운영체제의 종류 Windows 1990년대 마이크로소프트 사가 개발한 운영체제 특징 그래픽 사용자 인터페이스(GUI; Graphic User Interface) 선점형 멀티테스킹(Preemptive Multi-Tasking) PnP(Plug and Play, 자동 감지 기능) 컴퓨터 시스템에 하드웨어(프린터 등) 설치했을 때, 해당 하드웨어를 사용하는 데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능 OLE(Object Linking and Embedding) 다른 응용 프로그램에서 작성된 문자나 ..
공지사항 필독 📢 [정보처리 산업기사] 📢 정보처리 산업기사 카테고리 공지(필독) 오늘은 필자의 정보처리 산업기사 카테고리의 공지사항을 정리해보려고 한다. 우선 최근 필자는 정보처리 산업기사 자격증 준비에 힘을 쏟고있고, 필자의 공부 과정을 공유하기 위해 공부한 내 dandev.tistory.com 정보처리산업기사를 공부하며 운영체제의 개념에 대해 학습한 내용을 정리한다. 정보처리산업기사를 준비하는 사람이 아니더라도 도움될 내용이니 참고하자. 바로 본론으로 들어가보자. 😊 운영체제의 개념 운영체제 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종 다른 응용 프로그램이 유용한 작..
공지사항 필독 📢 [정보처리 산업기사] 📢 정보처리 산업기사 카테고리 공지(필독) 오늘은 필자의 정보처리 산업기사 카테고리의 공지사항을 정리해보려고 한다. 우선 최근 필자는 정보처리 산업기사 자격증 준비에 힘을 쏟고있고, 필자의 공부 과정을 공유하기 위해 공부한 내 dandev.tistory.com 정보처리산업기사를 공부하며 라이브러리에 대해 학습한 내용을 정리한다. 정보처리산업기사를 준비하는 사람이 아니더라도 도움될 내용이니 참고하자. 바로 본론으로 들어가보자. 😊 라이브러리 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체 표준 라이브러리 프로그래밍 언어에 기본적으로 포함되어 있는 라이브러리 여러 종류의 모듈이나 패키지 형태임 🤔 모듈 : 하나의 기능이 한 개의 파일로 구현된 형태 🤔 패..
공지사항 필독 📢 [정보처리 산업기사] 📢 정보처리 산업기사 카테고리 공지(필독) 오늘은 필자의 정보처리 산업기사 카테고리의 공지사항을 정리해보려고 한다. 우선 최근 필자는 정보처리 산업기사 자격증 준비에 힘을 쏟고있고, 필자의 공부 과정을 공유하기 위해 공부한 내 dandev.tistory.com 정보처리 산업기사를 공부하며 선언형 언어에 대해 학습한 내용을 정리한다. 정보처리산업기사를 준비하는 학생이 아니더라도 도움될 내용이니 참고하자. 바로 본론으로 들어가보자. 🔥 선언형 언어 프로그램이 수행해야 할 문제를 기술하는 언어 목표를 명시하고 알고리즘은 명시하지 않음. 함수형 언어 수학적 함수를 조합하여 문제를 해결하는 언어 알려진 값을 함수에 적용하는 것을 기반으로 함 재귀호출이 자주 이용됨 종류 : ..
- Total
- Today
- Yesterday
- hackerrank challenges
- 22 정보처리산업기사
- stack
- 정보처리 산업기사
- 그리디
- 코드
- LinkedList
- 개발자
- 소스코드
- Java
- ORM
- BAEKJOON
- queue
- 22 정보처리 산업기사
- 해커랭크 자바 챌린지
- 자바
- 자바의 정석
- 디버깅
- 해커랭크 챌린지
- 해커랭크 자바
- 백준
- JPA
- hackerrank
- challenges
- 챌린지
- 강의
- 정보처리산업기사
- 정보처리산업기사 공부법
- 풀이
- 해커랭크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |