일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- @temproal
- 세션기반 인증
- 동기
- 비동기
- JWT
- 스프링부트 구조
- formmatted
- ORM
- spring
- MSA
- IPC
- 어노테이션
- 스프링 부트 테스트
- 퍼시스턴스 계층
- 토큰기반 인증
- 스프링
- 로그인 인증 흐름
- 비즈니스 계층
- JPA
- ./gr
- 프레젠테이션 계층
- 스프링부트 계층구조
- ./gradlew docker
- RESTfull API
- http
- java I/O
- 스프링부트
- Java
- 로그인/로그아웃
- 작업명중복
- Today
- Total
목록분류 전체보기 (74)
[DEV] J-Jay
HTTP : 프로토콜 또는 하이퍼 텍스트 전송 프로토콜 인터넷을 통해 데이터를 전송하는데 사용되는 통신 프로토콜 월드 와이드 웹(www)의 데이터 커뮤니케이션의 기초이며, 웹 서버와 클라이언트 간 정보 교환을 담당 HTTP 모델 HTTP는 요청 - 응답 프로토콜로 클라이언트가 요청을 서버로 보내고, 서버가 요청 된 데이터로 응답함을 의미 HTTP는 클라이언트가 요청을 시작하고 서버가 요청 된 데이터로 응답하는 클라이언트 - 서버 모델을 기반 HTTP는 무국적 프로토콜 각 요청 및 응답은 이전 요청 또는 응답과 무관함 전송 된 데이터는 텍스트 형태이며 사람이 쉽게 읽고 이해할 수 있음 전반적으로 HTTP 프로토콜은 인터넷의 중요한 구성 요소이며 서버와 클라이언트간에 정보를 교환 할 수 있게 해줌
Caller와 Callee 함수가 다른 함수를 호출하는 상황 Caller : 호출하는 함수 Callee: 호출 당하는 함수 함수형 인터페이스 함수형 프로그래밍을 지원하기 위해 java 8부터 도입 1개의 추상 메서드를 가지고 있는 인터페이스 함수를 변수에 할당하거나 인자로 전달하고 반환값으로 사용 가능하다 (1급 객체) Fuction, Consumer, Supplier, Runnable 등이 있다 함수형 인터페이스를 구현한 익명 클래스를 람다식으로 변경 가능하다 A (동기) main은 getResult() 메소드의 결과에 관심이 있고, getResult() 결과를 이용해 다음 코드를 실행한다 public class A { public static void main(String[] args) { Syste..
File Class java.io.File 클래스는 파일의 크기, 접근 권한, 삭제, 이름 변경 등의 작업을 할 수 있는 기능을 제공 디렉토리(폴더) 역시 파일로 취급된다 File Class Constructor(생성자) File(File parent, String child) parent 디렉토리에 child 라는 파일에 대한 File 객체 생성 File(String child) child 라는 파일에 대한 File 객체를 생성 ※ 파일 인스턴스를 만들었다고, 실제 파일이 생성되는건 X File Class Method (File permission 권한) boolean canRead() 파일이 읽기 가능할 경우 true 아니면 false boolean canWrite() 파일이 쓰기 가능할 경우 tru..
I/O란? Input & Output(입출력) 입력 : 키보드, 네트워크, 파일 출력 : 화면, 네트워크. 파일 Java I/O도 객체 I/O에서 사용되는 객체는 어떤 대상으로 부터 읽어들여, 어떤 대상에게 쓰는 일을 한다. Java I/O는 Decorator 패턴 1. Component 인터페이스: Decorator 패턴에서 Component는 데코레이션될 객체와 데코레이터 객체에 공통으로 구현할 메서드를 정의 public interface Component { public void operation(); } 2. ConcreteComponent 클래스: Component 인터페이스를 구현하는 구체적인 객체 public class ConcreteComponent implements Component {..
인터페이스 객체 지향 프로그래밍에서 추상화를 통해 코드의 재사용성과 유지보수성을 높이는 기술 중 하나이다. 인터페이스는 메소드의 선언만으로 기능을 정의하고, 이를 구현하는 클래스에서 모든 메소드를 구현해야 한다. 글로만 설명하면 이해가 힘드니 직접 구현을 해보겠다. 예제: 동물 인터페이스 interface Animal { public void makeSound(); } class Dog implements Animal { public void makeSound() { System.out.println("멍멍"); } } class Cat implements Animal { public void makeSound() { System.out.println("야옹"); } } public class Main ..
추상 클래스 ( abstract calss) Java에서 추상 클래스는 abstract 키워드로 정의되며, 일반 클래스와 달리 객체를 직접 생성할 수 없는 클래스이며 상속을 통해서만 사용된다. 상속받은 하위 클래스는 추상 메소드를 반드시 오버라이딩하여 구현해야 한다. 추상 클래스는 객체를 생성할 수 없으므로, 일반적으로 인터페이스와 함께 사용된다. 추상 클래스는 인터페이스와 달리 일부 메소드를 구현할 수 있으며, 추상 메소드도 함께 선언할 수 있다. 추상 클래스 내부에서 선언된 추상 메소드는 메소드 본문(body)이 없으며, 선언부만 존재한다. 추상 클래스는 일반 클래스와 마찬가지로 생성자를 가질 수 있다. 하지만 추상 클래스의 생성자는 하위 클래스에서 생성자를 호출할 때 사용된다. 만약 하위 클래스에서..
Java Generic Generic은 JDK 1.5부터 도입된 기능 중 하나로, 서로 다른 타입의 객체들을 처리할 수 있는 재사용 가능한 코드를 만들 수 있도록 해준다. "Generic" 타입을 정의할 수 있도록 하여, 모든 종류의 객체를 나타낼 수 있도록 해준다. 예를 들어, 다음과 같이 제네릭 타입을 정의할 수 있다. class MyGenericClass { // ... } 여기서 T는 타입 매개변수이다. 제네릭은 클래스이름 뒤나, 메소드의 리턴타입 앞에 붙을 수 있다. 부분은 T라는 이름의 제네릭 타입을 선언한다는 것을 의미한다. T는 Type의 약자기 때문에 많이 사용되는 문자이지 꼭 T를 쓸필요는 없다. (T가 아니라 E나 D등의 단어를 사용해도 된다.) Generic 의 장점 타입 안정성: ..
String은 왜 final로 선언되어 있을까? public final class String implements java.io.Serializable, Comparable, CharSequence, Constable, ConstantDesc { String String str1 = new String("Hello"); // new 연산자를 통해 객체 생성 String str2 = "Hello"; // 리터럴 형태로 바로 할당 java에서 문자열(String) 타입의 특징은 참조 타입임에도 불구하고 직접 new 연산자를 통해 객체를 생성하는 방법이 아닌, 문자열 리터럴 형태로 사용된다 String의 불변성 (Immutable) String은 최초에 한 번 생성되면 절대로 그 값이 변하지 않는다. Stri..
Java에서 static은 객체가 아닌 클래스에 속하는 키워드이다. 클래스 변수 클래스 변수(static 변수)는 클래스 내부에서 선언되며 모든 객체가 공유하는 변수이다 클래스 변수는 객체를 생성하지 않고도 사용할 수 있으며, 클래스 이름으로 접근한다. public class MyClass { static int classVar = 0; int instanceVar = 0; } 클래스 메서드 클래스 메서드(static 메서드)는 클래스 내부에서 선언되며 객체를 생성하지 않고도 호출할 수 있는 메서드다. 클래스 메서드는 클래스 변수만 사용할 수 있으며, 인스턴스 변수를 사용할 수 없다 public class MyClass { static int classVar = 0; int instanceVar = 0;..
JVM(Java Virtual Machine) JVM(Java Virtual Machine)은 Java 프로그램을 실행하기 위한 가상 머신이다 Java는 컴파일러를 통해 바이트 코드(Bytecode)로 변환되며, 이 바이트 코드는 플랫폼에 독립적이다. 즉, 같은 바이트 코드(Bytecode)를 가진 Java 프로그램은 어떤 플랫폼에서도 실행이 가능하다 JVM은 자바 코드에서 메모리 관리, 스레드 관리 등을 담당한다 JVM은 자바 언어의 중요한 특징 중 하나로, 플랫폼 독립성을 제공하면서도 높은 이식성, 안정성, 보안성을 보장한다. Java의 main method public static void main(String[] args) { // 여기에 코드를 작성합니다. } Java에서 main 메소드는 프로..