전체 글

아무거나 넣는 하드디스크
Programming/Java

[Java] 스트림(Steam) 사용법 | 민민의 하드디스크 - 티스토리

자바 스트림 사용법 자바를 공부하며 스트림은 강력한 도구인 것 같은데 이해가 쉽지 않다. 스트림을 처음 본다면 아래 링크로 들어가면 전에 포스팅했던 스트림에 대한 자세한 내용들이 나온다. 스트림이란? https://2minmin2.tistory.com/93 [Java] 스트림(Stream)이란? | 민민의 하드디스크 - 티스토리 스트림(Stream) Java Stream은 자바 8부터 소개된 기능으로, 데이터를 다루는 데 유용한 API이다. Stream은 데이터를 처리하는 연산을 지원하여 코드를 간결하게 작성하고 병렬 처리를 효율적으로 수행 2minmin2.tistory.com 코드로 보는 예시 구현 내용: 리스트에서 짝수를 찾고, 그 짝수들의 제곱을 출력하는 코드 1. for문 사용 코드 import ..

CS(Computer Science) 지식

[HTTP] http 응답(상태)코드로 이해하는 오류 내용 | 민민의 하드디스크 - 티스토리

HTTP 응답코드 HTTP 응답이란? HTTP 응답은 웹 서버가 클라이언트의 요청에 대해 반환하는 데이터이다. 클라이언트가 서버에 HTTP 요청을 보내면, 서버는 해당 요청에 대한 HTTP 응답을 생성하여 클라이언트에게 전송한다. 이 응답은 클라이언트가 요청한 작업의 성공 여부, 리소스의 상태, 요청한 데이터 등에 대한 정보를 포함한다. HTTP 응답 구성 요소 상태 코드(Status Code): 가장 중요한 부분 중 하나로, 요청의 성공 또는 실패를 나타낸다. 상태 코드는 세 자리 숫자로 표현되며, 각각의 범주는 특정한 의미를 가지고 있다. (예: 200은 성공, 404는 찾을 수 없음, 500은 서버 오류 등) 헤더(Headers): 헤더는 클라이언트와 서버 간에 전달되는 메타데이터를 포함한다. 이 ..

CS(Computer Science) 지식

[메모리] String의 객체 생성과 리터럴 할당 비교 | 민민의 하드디스크 - 티스토리

String의 객체 생성과 리터럴 할당 비교 코드 import java.util.*; import java.lang.*; import java.io.*; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { String a = "민민"; String b = "민민"; String c = new String("민민"); System.out.println("a: " + a + " b: " + b + " c: " + c); System.out.println(a==b); System.out.println(a==c); System.out.println(a.equals(b)); S..

디자인패턴

[디자인패턴] 퍼사드 패턴(Facade Pattern)이란? | 민민의 하드디스크 - 티스토리

퍼사드(Facade)패턴 1. 퍼사드(Facade)패턴이란? Facade 패턴은 객체 지향 소프트웨어 디자인에서 사용되는 구조적 디자인 패턴 중 하나이다. 퍼사드 패턴은 캡슐화를 통해 복잡한 시스템을 단순화하는 디자인 패턴으로 복잡한 서브시스템에 대한 간략화된 인터페이스를 제공하여 클라이언트가 해당 시스템을 더 쉽게 사용할 수 있도록 돕고, 클라이언트가 복잡한 시스템의 내부 동작을 이해할 필요 없이 간단한 인터페이스를 통해 시스템을 사용할 수 있도록 돕는다. 퍼사드는 이러한 복잡성을 숨기고 클라이언트에게 간소화된 접근 방법을 제공하여 시스템을 사용하기 쉽게 만든다. 2. Facade 패턴의 장단점 장점 클라이언트와 서브시스템 간의 결합도를 낮춘다. 복잡한 서브시스템을 숨기고 클라이언트에게 간략한 인터페이..

Programming/Java

[Java] 스트림(Stream)이란? | 민민의 하드디스크 - 티스토리

스트림(Stream) Java Stream은 자바 8부터 소개된 기능으로, 데이터를 다루는 데 유용한 API이다. Stream은 데이터를 처리하는 연산을 지원하여 코드를 간결하게 작성하고 병렬 처리를 효율적으로 수행할 수 있게 해준다. 스트림은 특이하게 데이터를 읽기만 하고 변경하지는 않으며, 1회용으로 사용된다. (Iterator와 같은 느낌) Java Stream에서 연산은 크게 중간 연산(intermediate operation)과 최종 연산(terminal operation)으로 나눌 수 있다. 중간 연산은 다른 Stream을 반환하며 연속적으로 체이닝할 수 있으며, 최종 연산은 Stream의 최종 결과를 반환하거나, 외부 자원에 작용하며 Stream의 파이프라인을 종료한다. 1. Stream의 ..

Programming/Java

[Java] 스레드(Thread)란? (사용 이유, 사용법) | 민민의 하드디스크 - 티스토리

스레드(Thread) 1. 스레드(Thread)란? 스레드(Thread)는 프로그램의 실행 흐름을 나타내는 작은 단위이다. 각 스레드는 독립적으로 실행될 수 있으며, 여러 스레드가 동시에 실행될 수 있다. 스레드는 프로세스 내에서 실행되는 여러 작업의 단위로, 프로세스 내의 자원을 공유하면서 실행된다. 자바에서 스레드는 Thread 클래스를 상속하거나 Runnable 인터페이스를 구현하여 생성할 수 있다. 2. 스레드 사용 이유와 예시 동시성(Concurrency): 여러 작업을 동시에 실행하여 시스템의 성능을 향상 응답성(Responsiveness): 사용자와의 상호 작용을 유지하면서 백그라운드에서 작업을 수행하여 프로그램이 더 빠르게 응답 자원 공유(Resource Sharing): 스레드는 같은 프..

Programming/Java

[Java - 자료구조] Map(HashMap, Hashtable, TreeMap)이란? (feat. JSON) | 민민의 하드디스크 - 티스토리

Map(HashMap, Hashtable, TreeMap) 1. Map이란? 자바(Java)에서 Map은 키-값 쌍의 집합을 나타내는 인터페이스이다. 각 키는 유일하며, 각 키에 대응하는 값이 존재하며, Map은 많은 유용한 메서드를 제공하여 키와 값의 쌍을 추가, 제거, 검색하는 등의 작업을 수행할 수 있다. Map 인터페이스의 주요 구현체로는 HashMap, TreeMap, LinkedHashMap 등이 있다. 2. Map 종류와 사용 예시 HashMap: 가장 일반적으로 사용되는 구현체이다. 해시 함수를 사용하여 키-값 쌍을 저장하므로 매우 빠른 검색 속도를 제공하지만, 순서가 유지되지 않는다. Map hashMap = new HashMap(); TreeMap: 이진 검색 트리를 기반으로 한 구현체..

Programming/Java

[Java] 제네릭(Generic)이란? | 민민의 하드디스크 - 티스토리

제네릭(Generic) 1. 제네릭(Generic)란?제네릭은 Java에서 다양한 데이터 타입을 지원하기 위한 강력한 기능 중 하나이다. 클래스, 인터페이스, 메서드 등을 정의할 때 특정한 타입을 미리 지정하지 않고, 사용할 때 동적으로 지정할 수 있다. 이로 인해 코드의 재사용성과 타입 안정성을 높일 수 있습니다. 2. 제네릭 사용 이유제네릭의 대한 설명을 읽어보면, 제네릭 사용 이유가 딱 보인다. 데이터 타입을 명시하지 않고, 사용이 가능하다는 점이 강점이다.타입 안정성(Type Safety): 컴파일 시간에 타입 오류를 잡아낼 수 있다. 컴파일러가 제네릭을 사용하여 코드의 일관성을 검증하기 때문에 런타임에 발생할 수 있는 에러를 줄일 수 있다.코드 재사용성: 제네릭을 사용하면 여러 종류의 데이터 타..

민민2
민민의 하드디스크