일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링 mvc2 - 타임리프
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch1
- 람다
- 자바로 키오스크 만들기
- 자바의 정석 기초편 ch12
- 데이터 접근 기술
- 자바의 정석 기초편 ch7
- 스프링 mvc2 - 로그인 처리
- 스프링 mvc1 - 스프링 mvc
- 자바로 계산기 만들기
- 자바 고급2편 - io
- 자바의 정석 기초편 ch6
- 스프링 입문(무료)
- 자바 중급2편 - 컬렉션 프레임워크
- 자바의 정석 기초편 ch13
- 2024 정보처리기사 수제비 실기
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch11
- 자바 중급1편 - 날짜와 시간
- 자바 기초
- 자바의 정석 기초편 ch5
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch4
- 스프링 트랜잭션
- 2024 정보처리기사 시나공 필기
- @Aspect
- 자바의 정석 기초편 ch2
- 자바 고급2편 - 네트워크 프로그램
- Today
- Total
목록2025/03 (32)
개발공부기록

Java모의고사문제프로그래머스 - https://school.programmers.co.kr/learn/courses/30/lessons/428401번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하는 함수를 완성학생의 문제의 답을 찍는 순서는 아래와 같음 학생1 - 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ...학생2 - 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5 ...학생3 - 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 ...제한조건시험은 최대 10,000문제로 구성되어있으며 문제의 정답..

Java명예의 전당(1)문제프로그래머스 - https://school.programmers.co.kr/learn/courses/30/lessons/138477매일 1명의 가수가 노래를 부르고 시청자들의 문자 투표수로 가수에게 점수를 부여함매일 출연한 가수의 점수가 지금까지 출연 가수들의 점수 중 상위 k번째 이내이면 해당 가수의 점수를 명예의 전당이라는 목록에 올림프로그램 시작 이후 초기 k일까지는 출연 가수의 모든 점수가 명예의 전당에 오르게 되고 k일 다음부터는 출연 가수의 점수가 기존 명예의 전당 목록 k번째 순위의 점수보다 더 높으면 출연 가수의 점수가 명예의 전당에 오르게 되고 기존의 k번째 순위의 점수는 명예의 전당에서 내려오게 됨k가 3이고 7일 동안 진행된 가수의 점수가 10, 100, 2..

IoC(Inversion of Control; 제어의 역전)좋은 객체지향 설계를 위한 방법 중 하나로 프로그램의 제어 흐름을 개발자가 아닌 프레임워크나 컨테이너가 관리하는 것을 의미한다.개발자가 프로그램의 흐름을 직접 관리하는 것이 아니라 외부 소스(프레임워크나 컨테이너)로부터 제어 흐름을 받는 방식으로 작동하며 대표적으로 스프링(Spring), Nest.js, Django 등과 같은 프레임워크가 있다. 프레임워크와 라이브러리의 차이를 설명할 때 핵심적인 내용이 바로 IoC이다 라이브러리는 개발자가 직접 원하는 시점에 해당 기술을 호출하여 사용하기 때문에 개발자가 제어권을 가지고 애플리케이션을 개발한다하지만 프레임워크는 개발자가 프레임워크라는 구조 안에서 요구하는 대로 프로그램을 구성하기 때문에 제..

프로젝트 환경 구성 프로젝트 설정Build: IntelliJJDK: 21 이상람다가 필요한 이유값 전달람다를 제대로 이해하려면 내부 클래스에 대한 개념을 확실하게 이해해야 함지금 설명하는 내용은 익명 클래스 활용에 대한 부분을 일부 심화한 내용임 Ex0Main - 리팩토링 전package lambda.start;public class Ex0Main { public static void helloJava() { System.out.println("프로그램 시작"); System.out.println("Hello Java"); System.out.println("프로그램 종료"); } public static void helloSpring() { ..

키오스크 과제 개발 회고필수 기능 구현 회고 - https://nagul2.tistory.com/463도전 기능 구현 회고 - https://nagul2.tistory.com/469필수 LV5 - 불변 객체 캡슐화 순수 자바로 개발한 키오스크에서 튜터링을 통해 먼저 캡슐화가 제대로 적용되지 않았다는 피드백을 받았다. 처음에는 이해가 가질 않았는데 캡슐화는 순수 자바 코드 상에서 제대로 캡슐화가 적용되었는가를 파악하는 것이기 때문에 필드의 값을 직접 반환하지 말고 새로운 객체를 반환하여 완전한 불변 객체로 캡슐화를 하는 것이 좋다는 의미였다. 현재 MenuItem은 이미 불변 객체로 설계가 되어있기 때문에 필드의 값이 변경될 여지가 없어 상관이 없지만, 리스트 자료구조 자체를 반환하면 반환된 참조값을 통해..

githubchallenge-lv3 ~ lv6 브랜치: https://github.com/nagul2/scheduler-api-jdbc이전 글https://nagul2.tistory.com/479API 고도화 도전기존에 단일 테이블로 단순히 일정을 생성, 수정, 삭제, 조회만 되던 API를 조금 더 고도화 시켜보고자 한다. 중복된 작성자명으로도 일정이 조회되도록 테이블을 분리하고, 조회시 페이지네이션을 도입하여 필요한 부분만 반환한다.또한 null체크나 잘못된 요청이 왔을 경우 예외가 발생하여 사용자에게 안내해주고, 검증 로직도 추가하여 데이터의 무결성을 방지한다.DB에 비밀번호가 그대로 저장되는 로직도 암호화하여 저장하도록 수정했다. 테이블 분리하기먼저 schuduel 테이블 하나로 동작하던 방식을 작..

자바의 예외자바는 프로그램 실행 중에 발생할 수 있는 예상치 못한 상황을 처리하기 위한 메커니즘을 제공하는게 이것이 예외(예외 객체)이다.예외처리는 프로그램의 안정성과 신뢰성을 높이는데 매우 중요한 역할을 한다. 예외가 발생하면 잡아서 처리하거나, 만약 처리할 수 없다면 밖으로 던질 수 밖에 없다. 잡아서 처리하고자 할 때는 try - catch - finally 구분을 사용하거나, Java 7에서 도입된 자동으로 외부 자원을 해제해주는 try - with - resources를 이용해서 처리할 수 있고 throws로 상위 계층으로 던질 수도 있다 계속 처리되지 않고 예외를 상위 계층으로 올라가면 결국 프로그램을 실행하는 main 메서드까지 예외가 올라가게 되고 여기서도 처리하지 못한다면 프로그램이 종료..

githubrequired-lv1, required-lv2 브랜치: https://github.com/nagul2/scheduler-api-jdbc프로젝트 정보스프링부트 프로젝트로 생성 Java: JDK 17Group: spring.basicArtifact: schedulerPackaing: JarDependenciesspring-weblombokmysql driver사용 스킬JavaSpringSpring BootJDBC TemplateMySQL시작기초 ERD 제작과 테이블 생성먼저 매우 간단한 스케줄러부터 시작하기로 생각하여 단일 테이블을 설계하고 매우 간단하고 성공케이스만 동작하는 CRUD 기능만 만들어 보기로 정했다.테이블은 scheduler라는 이름의 테이블하나로 동작하도록한 다음 점차 테이블 구..