분류 전체보기

Spring/스프링 클라우드

[Spring Cloud] Service Discovery

1. Service Discovery란 MSA와 같은 분산 환경에서는 서비스 간의 API 호출로 동작하는데 API를 호출하기 위해서는 각 서비스의 IP 주소와 PORT 번호를 알아야 합니다. IP 주소와 PORT 번호가 고정적이라면 다행이지만 요즘은 클라우드 환경이 기반이 되면서 서비스의 IP가 동적으로 변경되는 경우가 있습니다. 이러한 변화를 매번 대응할 수 없기 때문에 Service Discovery를 통해 서비스의 위치(IP, PORT)를 알아낼 수 있습니다. 이러한 Service Discovery를 구현하는 방법으로는 크게 Client Side Discovery 방식과 Server Side Discovery 방식이 있습니다. 2. Client Side Discovery 클라이언트 서비스가 serv..

기타/기타

Git 명령어 정리

1. 깃(Git)이란 버전 관리 시스템(VCS)의 한 종류로 소스 코드를 효율적으로 관리하기 위한 기술입니다. 파일의 변경 사항을 추적하고 여러 명의 개발자가 작성한 소스코드를 합치고 충돌을 해결하는데 사용됩니다. VCS에는 SVN도 많이 사용하는데 SVN 과의 차이점은 SVN은 중앙 서버에서 소스코드를 관리지만 Git은 분산형 저장소로 중앙 서버의 장애로 인해 소스코드가 사라지더라도 로컬 저장소를 통해 복원이 가능합니다. 2. 깃의 명령어 깃(Git)에서는 일반적으로 Commit, Push, Pull, Merge 을 주로 사용합니다. 이번 포스팅에서는 명령어 기반으로 깃을 사용하는 것을 포스팅하려고 합니다. 명령어 기반으로 깃을 이해한다면 소스트리 같은 Git GUI를 좀 더 효율적으로 사용할 수 있습..

프로그래밍/JAVA

[JAVA] 자바 17 특징 - 기타

이번 포스팅에서는 자바 17의 특징 중 텍스트 블록, Switch 문, Record, Sealed 외의 특징에 대해 알아보도록 하겠습니다. 1. instanceof instanceof 체크할 때 변수를 선언할 수 있기 때문에 좀 더 간결한 코드를 작성할 수 있습니다. @Test public void oldStyleInstanceof() { Object o = new Person("troh", 33); if(o instanceof Person) { Person p = (Person) o; Assertions.assertEquals("troh", p.getName()); Assertions.assertEquals(33, p.getAge()); } } @Test public void newStyleInstan..

프로그래밍/JAVA

[JAVA] 자바 17 특징 - Sealed Class

sealed class, interface는 상속하거나 구현할 클래스를 지정하고, 지정한 클래스 외에는 상속 또는 구현할 수 없도록 하는 기능으로 무분별한 상속과 구현을 방지할 수 있습니다. 1. sealed 클래스(인터페이스) super-class에 sealed 키워드를 사용하고 permits 키워드 뒤에 해당 클래스(인터페이스)를 상속(구현) 받을 클래스를 선언합니다. sub-class에서는 sealed, non-sealed, final 키워드를 사용하여 sealed 클래스를 상속(구현) 합니다. 아래 예제에서 Monster를 sealed 클래스로 만들었고, permits 키워드를 통해 트롤(Troll)과 오우거(Ogre) 클래스만 몬스터를 상속할 수 있도록 제한하였습니다. // Monter를 상속할..

lazy man
'분류 전체보기' 카테고리의 글 목록 (10 Page)