"꾸준하고 완벽한 한 걸음"

전체 글 828

[Java] Java switch의 문자열 비교, 내부 원리와 성능 분석

목차switch에서 문자열을 비교하는 방법switch의 내부 동작 원리switch vs if-elseswitch 사용 시 주의사항정리예제 코드Java 7부터는 switch문에서 문자열(String)을 비교할 수 있습니다. 기존의 if-else에서 equals()를 사용하는 방식보다 더욱 깔끔하게 문자열을 비교할 수 있습니다.이번 글에서는 switch에서 문자열 비교 시, 내부적으로 어떻게 동작하는지 자세히 알아보겠습니다.1️⃣ switch에서 문자열을 비교하는 방법Java 7 이후에는 정수나 열거형 뿐 아니라 문자열도 switch문의 조건으로 사용할 수 있습니다. 이는 switch의 값과 case의 문자열을 String.equals 를 사용한 것처럼 비교하기 때문입니다.The switch statemen..

[Java] List.of()로 생성된 불변 리스트와 컬렉션 초기화

목차UnsupportedOperationException이란?List.of()를 사용한 컬렉션 초기화컬렉션 생성자의 동작 원리정리예제 코드Java 9부터 도입된 List.of()는 불변 리스트(Immutable List)를 생성하는 편리한 메서드입니다. 하지만 이 불변 리스트에 직접 요소를 추가하려고 하면 UnsupportedOperationException이 발생합니다. 그런 반면 List.of()로 생성된 불변 리스트를 컬렉션의 초기값으로 전달 후 컬렉션에 요소를 추가하면 예외가 발생하지 않습니다.이번 글에서는 List.of()로 생성된 불변 리스트와, 이를 컬렉션의 생성자로 전달할 때 내부적으로 어떻게 동작하는지 살펴보겠습니다.1️⃣ UnsupportedOperationException이란?Java..

[Java] 람다 표현식의 반환 타입 추론

목차예시 - Arrays.sort()와 Comparator 람다 표현식함수형 인터페이스 설계와 람다 표현식람다 표현식의 반환 타입 추론 과정정리예제 코드Java 8부터 도입된 람다 표현식은 간결한 코드 작성과 함수형 프로그래밍 패러다임을 지원합니다. 람다 표현식을 사용할 때 가장 큰 장점 중 하나는 **타입 추론(type inference)**으로, 메서드의 매개변수나 반환 타입을 일일이 명시할 필요가 없다는 점입니다.이번 글에서는 Comparator 인터페이스 예시와 직접 함수형 인터페이스를 설계하고, 어떻게 람다 표현식이 반환 타입을 추론하는지 자세히 알아보겠습니다.1️⃣ 예시 - Arrays.sort()와 Comparator 람다 표현식Java에서는 배열을 정렬할 때, Arrays.sort() 메서..

개발자 유미 - 스프링 시큐리티 3. Security Config 인가 작업

스프링 시큐리티 3 : Security Config 인가 작업 개발자 유미 | 커뮤니티 개발자 유미 | 커뮤니티 www.devyummi.com 인가특정 경로 요청시 Controller보다 앞서 Filter에서 Spring Security가 다음과 같은 검증을 진행허용된 접근 경로인지(로그인을 통해)인가 된 사용자인지접근에 필요한 권한을 가지는지 검증 SecurityConfing.java 생성/config/SecurityConfing.javapackage com.cos.testsecurity.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;imp..

개발자 유미 - 스프링 시큐리티 2. 프로젝트 생성

스프링 시큐리티 2 : 프로젝트 생성 개발자 유미 | 커뮤니티 개발자 유미 | 커뮤니티 www.devyummi.com 프로젝트 생성필수 의존성Spring WebLombokMustacheSpring SecuritySpring Data JPAMySQL Driverstart.spring.ioMainController.java 생성/controller/MainController.javapackage com.example.testsecurity.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class MainContro..

[백준 11006] 남욱이의 닭장 [Java]

문제https://www.acmicpc.net/problem/11006 풀이닭의 다리 수의 합과 닭의 수가 주어졌을 때 다리가 1개 또는 2개인 닭의 수를 각각 계산해주는 문제다.모든 닭의 다리가 2개로 가정해보자.다리가 1개인 닭의 수는 2M - N이며, 다리가 2개인 닭의 수는 M - (2M - N) = N - M이 된다.import java.io.*;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { // Init BufferedReader br = new BufferedReader(new InputStreamReader..

[백준 03151] 합이 0 [Java]

문제https://www.acmicpc.net/problem/3151풀이N개의 수 중에서 3개의 숫자 합이 0인 경우의 수를 찾으면 된다.N은 최대 10,000으로 완전 탐색을 하면 시간 초과가 발생한다.N^2 탐색으로 두 수를 고른 후, 이분 탐색으로 나머지 수를 찾으면 된다.두 수를 0부터 차례대로 완전 탐색을 하기 때문에 이분 탐색의 범위는 ( b + 1 ) ~ ( N - 1 ) 가 된다.이 때, 두 수 a, b에 대해 c가 1개가 아닐 수 있다.upper - lower로 동일한 c의 개수를 세주자.소스코드보기ttps://www.acmicpc.net/problem/3151 풀이N개의 수 중에서 3개의 숫자 합이 0인 경우의 수를 찾으면 된다.N은 최대 10,000으로 완전 탐색을 하면 시간 초과가 ..

[수제비 2025 정보처리기사 필기] I. 소프트웨어 설계 - 1. 요구사항 확인 정리노트 : 03. 분석 모델 확인

3️⃣ 모델링 기법 ⭐⭐모델구조나 작업을 보여주기 위한 패턴모델은 개발 대상을 추상화 하거나 시각적으로 표현한다.소프트웨어에 대한 이해도 향상 → 당사자 간 의사소통 향상개발될 시스템에 대한 유추✅ 개념 모델은 문제 도메인의 엔티티들과 관계 및 종속성을 반영해야 한다.모델링실세계의 물리 현상을 특정 목적에 대응하여 이용하기 쉬운 형식으로 표현하는 기법모델링은 유지보수 뿐 아니라 전반적으로 사용된다.모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 있다.프로세스 위주의 모델링 : 절차적 프로그램을 위한 자료 흐름도구조적 방법론 : DFD, DD 등을 사용해 요구 사항 결과 표현2️⃣ 분석 자동화 도구 ⭐⭐요구사항 분석 및 명세서를 기술하도록 개발된 요구사항 분석을 위한 자동화 도구 = CASE 💡..

CS 2025.02.08