포스팅
-
자바 내부 클래스, 람다식, 함수형 프로그래밍, 함수형 인터페이스Java 2023.07.13 23:46
내부 클래스(inner class) 클래스 내부에 선언한 클래스로 이 클래스를 감싸고 있는 외부 클래스와 연관된 경우이거나, 다른 외부 클래스에서는 사용하지 않을 경우 선언됩니다. 중첩 클래스라고도 합니다. 인스턴스 내부 클래스 내부적으로 사용할 클래스를 선언하여 사용합니다. (private으로 선언하는 것이 권장됩니다.) 외부 클래스가 생성된 후 생성됩니다. 정적 변수나 정적 메서드 선언이 불가합니다. (클래스가 정적 클래스가 아니므로 인스턴스 변수, 메서드만 사용 가능합니다.) class Outer { int outerMember; private Inner innerMember; public Outer(){ innerMember = new Inner(); } public useInner(){ inne..
-
백준 11000, 2457 문제 풀이 (Feat. 그리디 & 파이썬)알고리즘 2024.03.08 14:37
백준 11000번 강의실 배정 문제 설명 N개의 강의 중 i번째 강의가 si시간에 시작해 ti에 끝이난다. 최소의 강의실을 사용하여 모든 강의를 배정하는 방법을 구하는 문제입니다. 문제 풀이 모든 강의를 배정할 수 있는 최소 강의실 개수를 구하는 문제이므로 언제 강의실의 개수가 늘어나는지를 살펴보면됩니다. i번째 강의를 배정할 때 강의실의 개수가 늘어나는 경우는, 현재까지 생겨난 강의실의 마지막 강의가 끝나는 시간이 i 강의의 시작 시간보다 모두 늦은 경우입니다. 기존 강의실에 배정할 수 있는 경우 새로운 강의 C의 시작시간 S3가 두 강의실의 마지막 강의가 끝나는 시간 T1, T2 중 T1보다 크므로 강의실 1에 강의 A가 끝난 뒤 배정하면 됩니다. 새로운 강의실을 배정해야 하는 경우 새로운 강의 C의..
-
백준 7579번 앱 (Feat. Python)알고리즘 2024.03.04 11:20
문제 설명 핸드폰의 앱이 활성화 상태로 놓여있을 때 새로운 앱을 실행하면 필요한 메모리 공간만큼 활성화 상태인 앱들을 종료해야 한다. 활성화 상태인 앱들은 다시 실행할 때 드는 비용이 각각 정해져 있을 때, 새로운 앱이 실행되는데 필요한 공간을 확보하고 이 비용을 최소로 하는 방법을 구하는 문제입니다. 아이디어 냅색 알고리즘을 사용할 수 있는 문제입니다. 냅색 알고리즘 가방 안에 넣을 수 있는 무게가 M이고 가방에 넣을 수 있는 물건들의 무게와 물건을 넣었을 때의 가치가 각각 정해져 있을 때 가방안에 물건을 넣어 만족할 수 있는 최대 가치를 구하는 알고리즘입니다. 냅색 알고리즘을 풀 때 가장 헷깔렸던 것 중 하나는 분해를 어떠한 방식으로 진행해야 하는지 입니다. A, B, C, D 물건을 가방에 넣는다고..
-
Spring-Boot에 Spring-Data-JPA 적용하기 (Feat. Querydsl)백엔드 2024.02.23 11:31
현재 백엔드 관련 지식을 쌓기 위해 영상 강의를 시청중에 있습니다. 해당 프로젝트의 실제 스펙은 Spring Boot를 사용하고 MyBatis를 활용해 DB에 접근할 수 있도록 해주는 간단한 게시판 프로젝트입니다. 이후 많은 트래픽에 대비한 여러 요소들까지 확인할 수 있다고 알고 있어 계속 시청하고 있습니다. 하지만, 시청하고 있는 강의 그대로 코드를 작성하여도 MyBatis 설정에 문제가 있는 것인지, mapper에 문제가 있는 것인지 더 이상 진행을 할 수 없는 상황이었습니다.. 그래서 계속해서 학습을 하고 있는 JPA를 대신 적용해서 해보자는 생각이 들었고, MyBatis에서 JPA로 ORM을 변경하도록 했습니다. 또한, Spring에서 JPA를 더욱 더 잘 활용할 수 있도록 해주는 Spring D..