전체 글

· Java
✅ 1. 함수형 인터페이스란?추상 메서드가 단 하나만 있는 인터페이스람다식을 사용하려면 반드시 함수형 인터페이스 필요@FunctionalInterface 사용 (컴파일 타임 체크)@FunctionalInterfaceinterface MyFunction { int apply(int x);}✅ 2. 제네릭 도입 전/후 비교방식코드 재사용타입 안정성특징StringFunction, NumberFunction 등 별도 정의❌✅타입마다 따로 만들어야 함ObjectFunction✅❌다운캐스팅 필요, 타입 불안정GenericFunction✅✅타입 안정성 + 재사용성 확보제네릭 도입후 아래와같이 편리하게 사용 가능하다.@FunctionalInterfaceinterface GenericFunction { R a..
https://school.programmers.co.kr/learn/courses/30/lessons/131702 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  이 문제를 완전탐색으로 푼다면 시간복잡도는 O(4**64)로, 완전탐색은 불가능하다.시계를 하나 돌리면 주변까지 돌아가기 때문에, 아무데나 돌리면 안된다.이 문제의 핵심은 맨 윗줄만 완전탐색을 하고 나머지는 앞의 줄에 종속적이란것이다. O(4**8) 이해를 돕기위해 비루하지만 PPT로 쉽게 나타내봤다...  이를 정리하면 다음과같다.먼저 맨 윗줄에서 모든 누름 조합을 시도해본다.(완전 탐색)윗줄이 결정되면 -> 2번째 줄은 1번째 줄을 맞추..
· Java
1. 람다가 필요한 이유핵심 개념코드 중복 제거 및 재사용성을 위해 코드의 변하는 부분과 변하지 않는 부분을 분리할 필요가 있음메서드가 처리해야 하는 데이터(값)뿐만 아니라 코드 조각(동작)도 전달할 수 있어야 함2. 값 매개변수화 (Value Parameterization)메서드에서 문자열, 숫자와 같은 값을 직접 넣는 대신, 외부에서 매개변수를 통해 값을 전달받아 메서드 재사용성을 높임예: 문자열 "Hello Java" → 파라미터로 전달받음3. 동작 매개변수화 (Behavior Parameterization)코드 조각(동작)을 외부에서 전달받아 실행할 수 있도록 구성하는 방식클래스 또는 익명 클래스를 이용하여 인터페이스를 구현한 후, 메서드를 통해 실행하는 형태인터페이스로 정의한 메서드를 구현한 클..
개인적으로 오늘 코테를 풀며 느낀점과 메모를 남겨보려한다. 정말...무작정 풀지말고 먼저 문제 조건 이해를 잘 하자느낀다.다풀ㅇㅓ놓고 문제조건 잘못이해한걸깨달았을때 내모습참고로 답은 없고 내 풀이가 틀릴 가능성도 있지만(흠) 일단 남겨놓고 예외 있나생각해봐야지,,오늘하루종일 이 두문제 생각하느라 시간을 다씀...쩝,,.머리야...  🟡 첫번째 문제.문제조건을 잘못이해해서 다풀어놓고 틀린문제.끝나서야깨달음;import java.io.*;import java.util.*;public class 독립점 { public static void main(String[] args) throws IOException { // 빠른 입출력을 위해 BufferedReader 사용 BufferedReader br = ..
· 성장로그
CKA시험은 사실 반복된 실습과 연습으로 충분히 대비가되었다고생각했고,매우 여유있게..안일하게생각했다.그럼에도 시험환경검사가 엄격하다고 들어서, 스터디카페 개인 스터디룸을 24,000(내치킨값...)주고 앞뒤 한시간 여유있게 예약했다.혹시몰라 시험전날 스카 사전답사를했고,,네트워크도 끊김없고 빵빵하고 별문제가 없어보였다. 문제는...시험중 예상치못한 튕김발생...갑자기 PSI화면이 꺼진것이다...아마 추측으로는 감독관 네트워크이슈가아닌가생각한다...스터디카페는 와이파이가 끊김없이 너무나 잘 제공되고ㅠ대체 왜 튕긴건지..일부러 여유있게 신중히 꼼꼼히 풀고있던 나는 당황을 감출수없었다..노트북도 대여한것이라 최신이고,사전답사까지하며 네트워크상태도 확인하고 혹시몰라 사양도 다 확인했는데 이런일이..다시 시험에..
· JPA
자바 ORM 표준 JPA 프로그래밍 - 기본편 섹션4 영속성 관리 - 내부 동작 방식🔲 영속성 컨텍스트영속성 컨텍스트: 엔티티를 영구 저장하는 환경.엔티티 매니저를 통해서 영속성 컨텍스트에 접근.◻ 애플리케이션 시작 시 → EntityManagerFactory가 생성됨 (무겁고 비용이 큰 객체).◻ 클라이언트 요청 → 요청마다 새로운 EntityManager가 EntityManagerFactory에서 생성됨.◻ 요청 처리 후 → EntityManager는 닫힘(close).🔲 엔티티의 생명주기비영속 (new/transient): 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태영속 (managed): 영속성 컨텍스트에 관리되는 상태준영속 (detached):
영속성 컨텍스트에 저장되었다가 분리된 상태삭..
· Java
⬛ 애노테이션 기반 서블릿 설계🟢 애노테이션 서블릿애노테이션 활용: @Mapping 애노테이션으로 URL 경로와 메서드를 연결하여 간결하고 효율적인 매핑을 구현.리플렉션 사용: 메서드의 애노테이션 값을 기반으로 호출할 메서드를 동적으로 탐색.유연성과 효율성: 필요한 파라미터만 메서드에 전달하도록 설계(AnnotationServletV2), 해시맵.처음엔 잘 구조가 커서 파악이 잘 안됐는데, 계층적 탐색이라고 생각하니 이해가 쉽게 됐다.큰 폴더에서 세부 폴더로 점점 구체적인 파일을 찾아가는 과정과 비슷하다!HttpServer:HTTP 요청을 받아 ServletManager를 통해 적절한 서블릿으로 전달.ServletManager:URL 경로에 따라 요청을 적합한 서블릿(AnnotationServletV3..
· 일상기록
개발공부 + 졸업수료조건을 준비하니 훅지나간 2024...3개 수업듣는다고 널널할줄알았던 상반기...는 큰오산이었고^^상반기역시 과제+팀플+시험폭격으로 매운맛을맛보고...(이상하다 왜 항상 미리미리하는데 과제는 줄지않음.)잠깐의 여름휴식을지나...졸작준비... 근데 밑 학번부터 학생들의 반발로 졸업수료조건이 기존 7개->3개 실습수료로 조건이 확 줄었다는...^^심지어 인턴수료조건도 사라졌다는...^^적어도 3실습이거나 인턴조건이 없었으면 나 추가학기핑이 되지않았어ㅠㅠ 쨌든...한동안 글을 안썼다.애써 일기장에 삼켰다.블로그에 글을 쓰면 생각이 정리되고, 흐트러진 생각들이 하나로 연결된다.역설적이게, 그러고싶지않았다. 난 생각이 너무많은사람이다.이 생각의 끝자락은 어디일까.그 생각들을 매듭짓고 붙들고싶지..
· Java
⬛ 애노테이션의 필요성🟢 애노테이션 필요성기존의 리플렉션 서블릿으로는 메서드와 URL 매핑의 유연성이 부족.메서드와 URL을 별도로 매핑하거나, 주석과 같은 정보를 활용해 프로그램이 동적으로 동작할 수 있는 방법이 필요.애노테이션은 컴파일러나 런타임에서 처리 가능한 메타데이터를 제공하여 이런 문제를 해결.@Retention(RetentionPolicy.RUNTIME)public @interface SimpleMapping { String value();}public class TestController { @SimpleMapping("/home") public void home() { System.out.println("홈 실행"); }}여기서 핵심은 애노테이션은 메타데이터를 활용해 동..
· Java
이번 강의에서는 간단한 클라이언트-서버 네트워크 프로그램을 만들어보자.⬛ 리플렉션 개념🟢 리플렉션Java 프로그램이 실행 중에 자기 자신을 들여다보고, 구조를 분석하거나 조작할 수 있는 기능을 의미한다.이를 통해 클래스, 메서드, 필드 등의 메타데이터를 동적으로 탐색하거나 실행할 수 있다. 🟢 리플렉션 제공 기능클래스 정보 조회:클래스 이름, 부모 클래스, 구현된 인터페이스, 패키지 정보를 얻을 수 있음.메서드, 필드, 생성자 등의 정보를 조회할 수 있음.메서드 호출:특정 메서드의 이름을 통해 런타임에 메서드를 동적으로 실행할 수 있음.필드 값 변경:객체의 필드 값을 직접 변경하거나 읽을 수 있음.객체 생성:특정 클래스의 생성자를 이용해 객체를 동적으로 생성할 수 있음.⬛ 클래스 메타데이터 조회pub..
고쩡이
고민보다 Go