일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- mysql
- SAP ABAP
- Spring
- 코틀린 클래스
- LeetCode SQL
- 오라클
- springboot
- oauth2
- MSA
- kotlin 클래스
- 스프링부트
- javascript
- spring boot
- 자바 스트림
- js
- Leetcode
- oracle
- 스프링시큐리티
- sap ERP
- 스프링부트 채팅서버
- java8
- SQL프로그래머스
- 자바스크립트
- python
- SQL 문제풀이
- pygame
- SQL
- 구글로그인
- 스프링
- Today
- Total
목록분류 전체보기 (98)
웅겹살의 프로그래밍 삼매경

MSA 특징 ⚡ 서비스를 통한 컴포넌트화 MSA에서는 서비스 단위를 컴포넌트로 정의하고 있다. 하나의 컴포넌트는 특정 비즈니스 기능을 담당하고, 독립적인 프로세스로 실행되며 자율적으로 배포가 가능하다. 따라서 서비스는 응집도 높게 설계되어야 하고, 서비스 간에는 명확한 인터페이스를 제공하여 협력해야 한다. ⚡ MSA는 한 팀에서 개발/운영을 포함한 전체 라이프사이클을 책임진다 고객과의 접점을 늘리고 피드백을 늘려 나가므로, 팀원들은 자신들이 만드는 소프트웨어를 바라보는 시각의 전환을 경험할 수 있게 된다. 단순히 기능을 개발하고 넘기는 것이 아닌, 소프트웨어가 고객에게 어떠한 가치를 어떻게 전달할 수 있을지 고민하는 계기가 된다. 소프트웨어와 기업의 비즈니스 연관 관계를 인식할 수 있다. ⚡ 분산된 거버..

MSA란? 하나의 Application을 다수의 독립적인 Service로 구성하는 Architecture Style 각자 별도의 프로세스에서 실행되며 HTTP API와 같은 가벼운 매커니즘으로 통신하는 작은 애플리케이션 작은 서비스들은 각자의 비즈니스 기능을 담당, 완전 자동화된 절차에 따라 독립적으로 배포 각 서비스는 서로 다른 프로그래밍 언어나 서로 다른 데이터 저장 기술을 사용 MSA를 알아보기 전에 전통적인 개발 방법론 Monolithic을 알아보자 ⚡ 전통적인 개발 방법론(Monolithic System) 전체 기능을 단일 코드베이스로 개발 단일 통합 데이터베이스 사용 대규모 단일 코드베이스로 빌드와 배포 ⚡ Monolithic System의 단점 기능들 간의 결합도가 높다 작은 수정에도 전체 ..

# 문자 또는 _로 시작 name = '삼겹살' _name = '삼겹살' # 문자, 숫자, _로 구성 name1 = '항정살' _name_123 = '가브리살' # 공백 X 특수문자 X 사용불가 na m e = '삼겹살' X $*_name_ = '삼겹살' X # 대소문자 구분 (3개 모두 다른변수로 인식) name = '1' Name = '2' NAME = '3' # 키워드(예약어) X 사용불가 Ture, False, for, while, if, continue, break, class, ..... 🌟🌟🌟 변수의 이름은 숫자로 시작할 수 없음

# 변수명 = 값 Variable1 = 10000 Variable2 = 20000 Variable3 = '변수'

# 문자 자료형 print('hello world') print('안녕하세요') print('10') # 숫자 자료형 print(33) print(3.14) # 불리언 자료형 print(True) print(False)

public : 외부 클래스가 자유롭게 접근이 가능하다. protected : 같은 패키지이거나 자식 클래스에서 접근이 가능하다. default : 같은 패키지에 소속된 클래스에서만 접근이 가능하다. private : 선언한 클래스 내부에서만 접근이 가능하다. 즉 접근의 개방 정도는 public > protected > default > private 순으로 열려있다고 보면 된다. 여기서 default 접근 제한은 public, protected, private을 모두 생략한 상태가 default이다. public class A{ public int a; protected int b; private int c; int d; } 접근 제한자는 클래스, 인터페이스, 그리고 클래스나 인터페이스에 속하는 멤버에..

1. Static static은 "고정된" 이라는 의미 객체 생성 없이 사용할 수 있는 필드와 메소드를 생성하고자 할 때 활용한다. 필드나 메소드를 객체마다 다르게 가져야 한다면 인스턴스로 생성하면 되고 공용 데이터에 해당하거나 인스턴스 필드를 포함하지 않는 메소드를 선언하고자 할 때 이용한다. 사용하기 위해선 클래스 내에서 필드나 메소드 선언 시 static 키워드를 붙여주기만 하면 된다. public class PlusClass{ static int field1 = 15; static int plusMethod(int x, int y){ return x+y; } } 다음과 같이 선언하고 int ans1 = PlusClass.plusMethod(15,2); int ans2 = PlusClass.fiel..

Lombok 이란 Java 라이브러리로 반복되는 getter, setter, toString .. 등의 반복 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리 Java에서 보통 model 클래스나 Entity 같은 도메인 클래스 등에는 수많은 멤버변수가 있고 이에 대응되는 getter, setter 와 toString() 메서드, 때에따라 멤버변수에 따른 여러개의 생성자를 만들어주게 되는데 거의 대부분 이클립스나 인텔리제이같은 IDE에서 자동생성 기능이 있지만 이 역시도 번거로운 작업이 아닐 수 없다. 뿐만 아니라 코드 자체가 반복 소스코드로 인해 복잡해지게 된다. Lombok은 여러가지 @어노테이션을 제공하고 이를 기반으로 반복 소스코드를 컴파일 과정에서 생성해주는 방식으로 동작하는 라이브러리이다...

Iterator - 컬렉션 프레임워크에서 저장된 요소를 읽어오는 방법을 표준화하기 위한 역할(인터페이스) - Collection의 하위 컬렉션들이 소유 -> Iterator 타입의 객체를 반환하는 메소드를 이미 구현 - List, Set계열에 구현(Map은 없음) - 주로 읽기 전용으로 사용한다. Iterator의 주요멤버 1. boolean hasNext() 2. T next() 3. remove() ArrayList list = new ArrayList(); list.add("삼겹살"); list.add("항정살"); list.add("목살"); list.add("가브리살"); list.add("천겹살"); List에 데이터를 담고 반복을 돌리는 방법? 1. for 문 for( int i =0; i ..

@ComponentScan @Component와 @Service, @Repository, @Controller, @Configuration이 붙은 클래스 Bean들을 찾아서 Context에 bean등록을 해주는 Annotation이다. @Component Annotation이 있는 클래스에 대하여 bean 인스턴스를 생성 ApplicationContext.xml에 과 같이 xml에 bean을 직접등록하는 방법도 있고 위와 같이 Annotation을 붙여서 하는 방법도 있다. base-package를 넣으면 해당 패키지 아래에 있는 컴포넌트들을 찾고 그 과정을 spring-context-버전(4.3.11.RELEASE).jar에서 처리한다. Spring에서 @Component로 다 쓰지 않고 @Reposi..