공부

· 공부/MSA
애플리케이션 배포를 위한 컨테이너 가상화(Docker 컨테이너) Virtualization   Docker Virtualization  Docker Image한 서버에서 여러 개의 컨테이너를 실행할 수 있다.💡 Image컨테이너가 실행에 필요한 설정값/정보를 가지고 있는 것💡 Registry이미지가 저장될 수 있는 저장소.Public Registry로 많이 사용되는 사이트로를 Docker Hub 사이트가 있다.Private Registry를 운영할 수도 있다. 간단한 서버를 하나 기동해서 Private Registry를 운영할 수도 있다.   Dockerfile      -p 3306:3306-p : 포트 포워딩을 하겠다앞 3306 : 호스트 pc에서 접근하고자 하는 포트번호뒤 3306 : 컨테이너에..
ObjectMapper와 ModelMapper는 둘 다 Java 객체 간의 매핑을 지원하는 라이브러리입니다.그러나 각각의 라이브러리는 목적과 사용 방법이 약간 다릅니다. ObjectMapperJackson 라이브러리에서 제공하는 클래스로, JSON 데이터와 Java 객체 간의 변환을 처리합니다.JSON 문자열을 Java 객체로 변환하거나, Java 객체를 JSON 문자열로 변환하는 데 사용됩니다.주로 RESTful API에서 클라이언트와 서버 간의 데이터 전송을 위해 사용됩니다.주로 JSON 데이터를 처리하는 데 사용되며, 객체 간의 매핑에 특화되어 있습니다.// JSON 문자열을 Java 객체로 변환하는 예제String jsonString = "{\"name\":\"John\", \"age\":30}"..
프록시 패턴과 프록시 서버 💡 프록시 패턴(proxy pattern) 대상 객체(subject)에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인패턴이다. 객체의 속성, 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용한다. 프록시 객체로 쓰이기도 하지만 프록시 서버로도 활용된다. 📌 프록시 서버에서의 캐싱 캐시 안에 정보를 담아두고, 캐시 안에 있는 정보를 요구하는 요청에 대해 다시 저 멀리 있는 원격 서버에 요청하지 않고 캐시 안에 있는 데이터를 활용하는 것을 말한다. 이를 통해 불필요하게 외부와 연결하지 않기 때문에 트래픽을 줄일 수 있다는 장점이 있다. 💡 프록시 서버 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 ..
전략 패턴(정책패턴) 객체의 행위를 바꾸고 싶은 경우, '직접' 수정하지 않고 전략이라고 부르는 '캡슐화 알고리즘'을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴이다. 💡 캡슐화 데이터와 알고리즘을 하나로 묶는 것(관련있는 변수와 함수를 하나의 클래스로 묶는 것) 외부에서 쉽게 접근하지 못하도록 은닉하는게 핵심 💡 컨텍스트 프로그래밍에서의 컨텍스트는 상황, 맥락, 문맥을 의미하며 개발자가 어떠한 작업을 완료하는데 필요한 모든 관련 정보를 말한다. 어떤 것을 살 때 네이버페이, 카카오페이 등 다양한 방법으로 결제하는 것처럼 결제 방식의 '전략'만 바꿔서 결제하는 것 예제코드 전체보기 더보기 import java.text.DecimalFormat; import java.util.ArrayLi..
팩토리 패턴 팩토리 패턴에는 2가지가 있다. 먼저 심플 팩토리(Simple Factory) 패턴을 알아보자. 💡 심플 팩토리 패턴 객체 만드는 작업을 하나의 팩토리 클래스에 모아두는 것을 의미한다. 심플 팩토리 패턴에서 createPhone() 부분에서 Factory에서 직접 객체를 만드는 것을 Factory를 상속한 서브클래스에서 객체를 만들게끔 하는 것이 팩토리 메소드 패턴이다. 위의 코드에 팩토리 메소드 패턴을 적용해보자. ① 팩토리 메소드 패턴 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡기는 것이다. 심플 팩토리 패턴에서 만들었던 객체 생성하는 함수를 모아둔 클래스를 인터페이스화하여 서브클래스에서 어떤 객체를 생성할지 결정하는 것이다. 이렇게 서브 클래스를 둔다면 아이폰, 안드로이드폰의 종류..
디자인패턴이란? 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 ’규약‘형태로 만들어 놓은 것을 의미한다. 1. 싱글톤 패턴(singleton pattern) 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에, 보통 데이터베이스 연결 모듈에 많이 사용한다. 장점 : 인스턴스 생성할 때 드는 비용이 줄어든다. 왜?????? 단점 : 의존성이 높아진다. 💡 인스턴스 * Java로 싱글톤 패턴을 구현하는 7가지 방법 2. 팩토리 패턴 팩토리 패턴에는 2가지가 있다. 먼저 심플 팩토리(Simple Factory) 패턴을 알아보자. 💡 심플 팩토리 패턴 객체 만드는 작업을 ..
· 공부/Java
Object 클래스 Obejct클래스에 속한 메소드는 총 11가지이며 메소드의 이름과 내용은 아래와 같습니다. int hashCode() : 현재 객체의 해쉬코드 값을 반환합니다. String toString() : 현재 객체의 문자열로된 표현값을 반환합니다. boolean equals (Object obj) : obj객체와 현재객체가 같은지 비교하여 결과를 반환합니다. (같으면 true, 다르면 false) final Class getClass( ) : 현재 객체의 클래스 정보를 담은 Class타입의 객체를 반환합니다. protected Object clone( ) : 현재 객체의 복사본을 생성후 반환합니다. (Cloneable 인터페이스를 구현한 클래스만 복사 가능함) final void notify..
· 공부/Java
접근제어자 public 은 접근할 수 없는 클래스가 없이 접근을 제한하지 않는다. protected은 같은 패키지만 허용하나, 상속을 받은 경우 다른 패키지에서도 사용 가능하다. default는 같은 패키지에서 사용 가능하다. private는 해당 클래스에서만 사용 가능하다. 참고링크 [JAVA] 접근제어자 public, protected, default, private
· 공부/Java
프로그램 오류 1. 컴파일 에러 컴파일 시에 발생하는 에러 📌 자바 컴파일러 1. 구문체크 2. 번역 3. 최저화 4. 생략된 구문 추가(ex. extens Object) 2. 런타임 에러 실행 시에 발생하는 에러 💡 Exception클래스들 : Exception클래스 + 자식 클래스 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외 💡 RuntimeException클래스들 :RuntimeException클래스 + 자식 클래스 프로그래머의 실수로 발생하는 예외 💡 체크드예외/언체크드예외 - 컴파일러로 체크된다. ● 체크드예외(checked) try-catch 필수 ● 언체크드예외(unchecked) try-catch 선택 ❓ 왜 언체크드예외는 try-catch가 선택인가? 개발자의 실수로 발생할 수..
· 공부/Java
"implements"는 인터페이스를 구현하는 데 사용되고, "extends"는 클래스 간의 상속 관계를 정의하는 데 사용된다. 클래스가 인터페이스를 구현할 때는 "implements"를 사용하고, 클래스가 다른 클래스를 확장할 때는 "extends"를 사용합니다. implements 클래스가 인터페이스를 구현할 때 사용된다. 인터페이스를 구현하는 클래스는 인터페이스에서 선언된 모든 메서드를 구현해야 한다. 자바와 같은 언어에서는 클래스가 여러 인터페이스를 구현할 수 있다. interface Animal { void makeSound(); } class Dog implements Animal { public void makeSound() { System.out.println("Woof"); } } ext..
sesam
'공부' 카테고리의 글 목록 (3 Page)