분류 전체보기
-
자바 ORM 표준 JPA 기본편 정리 1📌 JPA란? JPA(Java Persistent API)는 자바 진영의 ORM 기술 표준이다. ORM(Object Relational Mapping)이란 객체는 객체대로, 관계형 DB는 관계형 DB대로 설계하고 중간에서 ORM 프레임워크가 매핑을 수행하는 것을 의미한다. JPA는 Application과 JDBC(Java Database Connectivity) 사이에서 동작한다. 💡 ORM 이란 ? - Object-relational mapping, 객체 관계 매핑- 객체는 객체대로 설계 ,관계형 데이터베이스는 관계형 데이터베이스대로 설계 - 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 의미한다. ORM 프레임워크가 중간에서 매핑- 대..
자바 ORM 표준 JPA 기본편 정리 [1]자바 ORM 표준 JPA 기본편 정리 1📌 JPA란? JPA(Java Persistent API)는 자바 진영의 ORM 기술 표준이다. ORM(Object Relational Mapping)이란 객체는 객체대로, 관계형 DB는 관계형 DB대로 설계하고 중간에서 ORM 프레임워크가 매핑을 수행하는 것을 의미한다. JPA는 Application과 JDBC(Java Database Connectivity) 사이에서 동작한다. 💡 ORM 이란 ? - Object-relational mapping, 객체 관계 매핑- 객체는 객체대로 설계 ,관계형 데이터베이스는 관계형 데이터베이스대로 설계 - 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 의미한다. ORM 프레임워크가 중간에서 매핑- 대..
2023.11.23 -
[스프링 부트와 JPA 활용 1] 정리📌김영한님의 강의, 스프링 부트와 JPA 활용 1을 수강하며 들은 내용을 정리하려고 한다. 코드 위주의 설명이나 중요한 개념에 대해서는 설명을 하고 넘어가겠다. 프로젝트 환경 설정과 데이터 베이스 설정 등의 개인적인 설정은 넘어가겠다. 스펙 : Java 11, Intellij IDEA, H2, thymeleaf .. 📚 JPA와 DB 설정, 동작 확인이 부분을 설명하고 넘어가는 것은 실제로 필자가 강의와 똑같이 설정했으나 많은 에러가 발생하여 삽질한 경험이 있어 간략하게 설명을 한다.결과적으로는 강의에서 설명하는 것처럼 띄어쓰기에 주의해야 한다! 띄어쓰기에 유의하여 같은 실수를 반복하지 않길!* yml 과 properties는 의미는 동일하고 작성 형식의 차이가..
[스프링 부트와 JPA 활용 1] 정리[스프링 부트와 JPA 활용 1] 정리📌김영한님의 강의, 스프링 부트와 JPA 활용 1을 수강하며 들은 내용을 정리하려고 한다. 코드 위주의 설명이나 중요한 개념에 대해서는 설명을 하고 넘어가겠다. 프로젝트 환경 설정과 데이터 베이스 설정 등의 개인적인 설정은 넘어가겠다. 스펙 : Java 11, Intellij IDEA, H2, thymeleaf .. 📚 JPA와 DB 설정, 동작 확인이 부분을 설명하고 넘어가는 것은 실제로 필자가 강의와 똑같이 설정했으나 많은 에러가 발생하여 삽질한 경험이 있어 간략하게 설명을 한다.결과적으로는 강의에서 설명하는 것처럼 띄어쓰기에 주의해야 한다! 띄어쓰기에 유의하여 같은 실수를 반복하지 않길!* yml 과 properties는 의미는 동일하고 작성 형식의 차이가..
2023.11.13 -
싱글톤 패턴이란 ? 📌 스프링을 공부하면서 스프링이 없는 순수한 자바 코드에서는 DI 컨테이너를 호출될 때마다 객체를 새로 생성한며, 스프링에서는 이에 싱글톤 패턴을 적용하여 싱글톤 컨테이너를 형성한다는 사실을 알게되었다. 싱글톤 패턴에 대해 정확한 이해를 하기 위해 이 글을 작성한다. 📚 싱글톤 패턴 싱글톤(Singleton) 패턴의 정의는 단순하다. 객체의 인스턴스가 오직 1개만 생성되고 그것을 보장하는 패턴을 의미한다. 그래서 객체를 2개 이상 만들지 못하게 설계를 해야 하는데 이는 코드로 설명하겠다. public class Singleton { // 1. static 영역에 객체를 딱 1개만 생성 private static Singleton instance = new Singleton(); // ..
싱글톤 패턴이란싱글톤 패턴이란 ? 📌 스프링을 공부하면서 스프링이 없는 순수한 자바 코드에서는 DI 컨테이너를 호출될 때마다 객체를 새로 생성한며, 스프링에서는 이에 싱글톤 패턴을 적용하여 싱글톤 컨테이너를 형성한다는 사실을 알게되었다. 싱글톤 패턴에 대해 정확한 이해를 하기 위해 이 글을 작성한다. 📚 싱글톤 패턴 싱글톤(Singleton) 패턴의 정의는 단순하다. 객체의 인스턴스가 오직 1개만 생성되고 그것을 보장하는 패턴을 의미한다. 그래서 객체를 2개 이상 만들지 못하게 설계를 해야 하는데 이는 코드로 설명하겠다. public class Singleton { // 1. static 영역에 객체를 딱 1개만 생성 private static Singleton instance = new Singleton(); // ..
2023.10.25 -
🟢 객체 지향 프로그래밍이란 ?객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 ..
[JAVA] 스프링과 객체지향🟢 객체 지향 프로그래밍이란 ?객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 ..
2023.10.15 -
https://www.acmicpc.net/problem/2458 2458번: 키 순서 1번부터 N번까지 번호가 붙여져 있는 학생들에 대하여 두 학생끼리 키를 비교한 결과의 일부가 주어져 있다. 단, N명의 학생들의 키는 모두 다르다고 가정한다. 예를 들어, 6명의 학생들에 대하여 www.acmicpc.net 2458, 키 순서 📌 난이도 : Gold 4 📌 알고리즘 : 플로이드 워셜 이번 문제는 이해하는데 많은 시간이 소요되고 구현까지도 꽤 많은 시간이 걸린, 개인적으로 복잡한 문제였다. 풀이를 간략하게 설명하자면 먼저사람들을 정점으로 간주한다. 모든 정점간의 거리를 INF 로 초기화 해주고주어진 연결관계를 이어주고, 플로이드 워셜을 통해 특정 사람이 모든 사람과의 거리를 체크해서 값을 갱신해준다. 2..
(JAVA) [BOJ]백준 2458번, 키 순서https://www.acmicpc.net/problem/2458 2458번: 키 순서 1번부터 N번까지 번호가 붙여져 있는 학생들에 대하여 두 학생끼리 키를 비교한 결과의 일부가 주어져 있다. 단, N명의 학생들의 키는 모두 다르다고 가정한다. 예를 들어, 6명의 학생들에 대하여 www.acmicpc.net 2458, 키 순서 📌 난이도 : Gold 4 📌 알고리즘 : 플로이드 워셜 이번 문제는 이해하는데 많은 시간이 소요되고 구현까지도 꽤 많은 시간이 걸린, 개인적으로 복잡한 문제였다. 풀이를 간략하게 설명하자면 먼저사람들을 정점으로 간주한다. 모든 정점간의 거리를 INF 로 초기화 해주고주어진 연결관계를 이어주고, 플로이드 워셜을 통해 특정 사람이 모든 사람과의 거리를 체크해서 값을 갱신해준다. 2..
2023.09.21 -
https://www.acmicpc.net/problem/1489 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 14891, 톱니바퀴 📌 난이도 : Gold 5 📌 알고리즘 : 구현 이번 문제는 생각할게 많은 구현문제다.회전할 톱니바퀴와 방향이 주어졌을 때, 모든 톱니바퀴의 맞닿는 좌측과 우측을 모두 조회해야 한다. 🧩 프로세스 📚 초기화 및 선언 : 톱니바퀴의 12시방향부터 4개를 순서대로 입력받아 넣어준다. (int) public static void input() throws IOException {..
(JAVA) [BOJ]백준 14891번, 톱니바퀴https://www.acmicpc.net/problem/1489 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 14891, 톱니바퀴 📌 난이도 : Gold 5 📌 알고리즘 : 구현 이번 문제는 생각할게 많은 구현문제다.회전할 톱니바퀴와 방향이 주어졌을 때, 모든 톱니바퀴의 맞닿는 좌측과 우측을 모두 조회해야 한다. 🧩 프로세스 📚 초기화 및 선언 : 톱니바퀴의 12시방향부터 4개를 순서대로 입력받아 넣어준다. (int) public static void input() throws IOException {..
2023.09.21 -
https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net 2638, 치즈 📌 난이도 : Gold 3 📌 알고리즘 : DFS & BFS 이번 문제는 골드 3의 난이도지만 그렇게 어려운 문제는 아니였다. 외부공기와 외부공기가 유입되지 않는 구간만 잘 체크하면 된다! 문제를 잘 읽어보면 모눈종이의 맨 가장자리에는 치즈가 놓이지 않는 것으로 가정한다 는 말이 있다. 그렇다면 치즈가 아닌 공기가 유입될 수 있는 지역에서 DFS 로 모든 공기를 탐색하..
(JAVA) [BOJ]백준 2638번, 치즈https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net 2638, 치즈 📌 난이도 : Gold 3 📌 알고리즘 : DFS & BFS 이번 문제는 골드 3의 난이도지만 그렇게 어려운 문제는 아니였다. 외부공기와 외부공기가 유입되지 않는 구간만 잘 체크하면 된다! 문제를 잘 읽어보면 모눈종이의 맨 가장자리에는 치즈가 놓이지 않는 것으로 가정한다 는 말이 있다. 그렇다면 치즈가 아닌 공기가 유입될 수 있는 지역에서 DFS 로 모든 공기를 탐색하..
2023.09.04 -
https://www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n × n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에 www.acmicpc.net 1937, 욕심쟁이 판다 📌 난이도 : Gold 3 📌 알고리즘 : DFS, DP 이번 문제는 모든 구간에 대해 무지성으로 DFS를 돌렸다가 가차없이 시간초과가 나와서 DFS + DP로 해결한 문제이다. 🧩 프로세스 📚 초기화 및 선언 : 숲의 크기 N을 기반으로 숲의 정보들을 입력한다. 📚 탐색 : 이동할 수 있는 칸의 수를 저장할 DP를 기반으로 탐색을 진행하며 최대값을 갱신해준다...
(JAVA) [BOJ]백준 1937번, 욕심쟁이 판다https://www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n × n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에 www.acmicpc.net 1937, 욕심쟁이 판다 📌 난이도 : Gold 3 📌 알고리즘 : DFS, DP 이번 문제는 모든 구간에 대해 무지성으로 DFS를 돌렸다가 가차없이 시간초과가 나와서 DFS + DP로 해결한 문제이다. 🧩 프로세스 📚 초기화 및 선언 : 숲의 크기 N을 기반으로 숲의 정보들을 입력한다. 📚 탐색 : 이동할 수 있는 칸의 수를 저장할 DP를 기반으로 탐색을 진행하며 최대값을 갱신해준다...
2023.09.04