본문 바로가기
반응형

전체 글1073

[NATS] NATS 개념 정리 NATS 란 오픈소스 메세지 큐 서비스의 한 종류로 메인 서버는 Go 언어로 구현되어 있고, 클라이언트들은 다양한 언어에 대한 라이브러리들을 지원해주고 있다. 기본적으로 Publisher와 Subscriber로 구성되어 있으며 인코딩 된 메세지를 publisher가 송신하면 하나 또는 여러 개의 subscriber에 의해서 수신되고 디코딩 되어진다. NATS는 환경, 언어, cloud / on-premise 시스템 등 프로그램 간의 서로 다른 환경에 상관없이 쉽게 통신할 수 있도록 구현되어 있다. Client들은 URL을 통해서 서버에 접속하고, subject를 통해 메세지를 전송한다. NATS 서버는 at most once의 QoS를 제공한다. 만약 특정 subject에 대한 subscriber가 없는.. 2023. 3. 22.
git rebase와 merge 차이 Git에서 한 브랜치에서 다른 브랜치로 합치는 방법은 Merge와 Rebase가 있다. 둘을 실행해보게 되면 Merge와 Rebase의 실행결과는 같지만 커밋 히스토리가 달라진다. Merge는 쉽고 안전하지만 커밋히스토리가 지저분할 수 있다 반면 Rebase는 잘 모르고 사용할 경우 위험할 수 있어 까다롭지만 커밋히스토리를 깔끔하게 관리할 수 있다. Rebase는 base를 새롭게 설정한다는 의미로 이해하면 좋다. Rebase와 Merge의 차이점 먼저 작업에 대해서는 아래 그림처럼 master와 experiment 가 각각의 형상으로 작업이 되어있다고 가정을 하면. Merge로 통합하기 이 두 브랜치를 합치는 가장 쉬운 방법은 merge 명령을 이용해 3-way Merge로 새로운 커밋을 만들어내는 것.. 2023. 3. 11.
spring project 만들기 with Initializr Spring initializr란? spring에서 제공하는 spring initializr 웹도구를 사용해서 spring 프로젝트를 만드는 방법이다. 사용법 먼저 만들어주는 사이트를 접속한다. https://start.spring.io/ 다음은 옵션선택을 한다. - project : 사용할 빌드 툴 선택 maven 과 gradle 은 아래 참고 사이트를 비교해보면 도움 될것이다. - Language : 언어선택 -Spring boot : 버전선택 shapshot이 붙은것은 현재 개발중인 버전, M이 붙은건 정식릴리지 되지 않은 버전, 아무것도 붙어있지 않는 것이 정식릴리즈 버전이다. 아래 참고 포스팅이 도움 될 것이다. - Project Metadata group : 보통 기업의 도메인명, 자유롭게 작.. 2023. 3. 10.
cmd 에서 폴더와 하위폴더 내 파일명 추출하기 1. cmd 를 사용하여 명령 프롬프트를 연다. 2. 프롬프트 안에서 다음 명령어 입력 " dir /a-d /b /s > list.txt " 명령어를 하나하나 살펴보면 먼저 dir cmd 에서 현재 위치에 있는 폴더와 파일들을 나타내주는 명령어이다. /a-d 폴더 제외 /s 현재 폴더 및 하위 폴더 포함 > list.txt 결과 리스트를 list.txt 파일에 저장 이다. 특정 폴더 혹은 경로 내에 있는 모든 파일 혹은 폴더 포함 리스트가 필요할 경우 할수 있는 문법이다. 2023. 3. 9.
배치와 데몬의 차이 배치(Batch)란? 배치는 일반 프로세스의 일종으로 일련의 작업을 지정한 특정 시간에 실행한다. 지정한 시간 이후에는 자원을 거의 소비하지 않는 것이 특징이다. 데몬(Deamon)이란? 특정 서비스를 위해 백그라운드 상태에서 계속 실행되는 서버 프로세스이다. 일반적으로 각 서비스가 사용하는 port를 관리하는 관리하는 데몬이 존재하고 데몬은 서버가 부팅될 때 메모리에 로딩이 되고 서버가 죽을 때까지 계속 자원을 할당받고 있다. 데몬은 서버가 죽을 때까지 자원을 점유하고 있는 형태여서 많은 데몬이 실행된다면 자원 소비가 크고 윈도우에서는 데몬을 서비스라 부르기에 작업관리자를 열어보면 서비스가 띄워져 있는것들을 볼수가 있다. 2023. 3. 8.
[git] commit 과 push 의 차이점 git 의 repository 에서 받아오는걸 pull 로 당겨온다라고 하고 로컬에 있는 코드를 원격으로 올리는 작업을 push라고 한다. 여기서 push를 하기 위해서는 add와 commit의 작업이 필요한데 이작업들의 차이점을 알아볼 것이다. 먼저 git을 이해하기 위해서는 local repository 와 remote repository 이 두개를 알아야한다. 원격 저장소를 remote라고 하고 내 피시에 있는것을 local이라고 한다. local에서 올리기 위해 올릴 파일들을 리스트업 하는 작업을 git add 라고 한다. 그리고 add된 파일들을 local repository에 변경 작업 하는것을 commit 이라고 하고 메세지를 추가할수 있다. 그리고 local 에서 원격으로 보내는것을 pus.. 2023. 3. 7.
파이선에서 escape 종류 이스케이프문자 종류 파이선에서 백 슬래시(\)와 조합해서 사용하는 문자이다. 이스케이프 문자에 따라 기능이 각각 다르다. 아래 표를 참고하여 사용가능하다. 이스케이프 문자 설명 \n 줄 바꿈 \t 탭 \b 백스페이스 \000 널문자 \\ \ \' 작은따옴표 \" 큰따옴표 \r 줄 바꿈, 커서를 앞으로 이동 \f 줄 바꿈, 커서를 다음 줄로 이동 \a 벨소리 \v 수직 탭 사용 예시는 다음과 같다. print("Hello world") ### 기본 Hello world print("Hello\nworld") ### \n 줄바꿈 Hello world print("Hello\tworld") ### \t 탭 Hello world print("H\bello world") ### \b 백스페이스 ello world.. 2023. 3. 6.
H2 Database 란? (in Spring) H2는 자바로 작성된 관계형 데이터베이스 관리 시스템이다. 장점 따로 설치가 필요없다 용량이 매우 가볍다 웹용 콘솔(쿼리툴) 제공하여 개발용 로컬DB로 사용 용이 특징 JAVA로 작성된 오픈소스 RDBMS 스프링 부트가 지원하는 인메모리 관계형 데이터베이스 인메모리로 띄우면 애플리케이션 재기동 때마다 초기화 로컬 환경, 테스트 환경에서 많이 쓰임 H2 Database 사용법 아래는 공홈 사이트 이다. http://h2database.com H2 Database Engine (redirect) H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, so.. 2023. 3. 5.
cassandra란? Apache Cassandra는 확장성이 뛰어난 오픈소스 NoSQL 데이터베이스이다. 여러 데이터 센터 및 클라우드에서 대량의 정형, 반정형 및 비정형 데이터를 관리하는 데 적합 최대한의 유연성과 빠른 응답 시간을 위해 설계된 강력한 동적 데이터 모델과 함께 단일 장애 지점없이 많은 상용 서버에서 지속적인 가용성, 선형 확장성 및 운영 단순성을 제공 Cassandra 동작 원리 Cassandra의 확장형 아키텍처는 초당 페타 바이트의 정보와 수천 명의 동시 사용자 / 작업을 처리 할 수 있음을 의미한다. Cassandra는 분할된 행 저장소 데이터베이스이다. Cassandra의 아키텍처를 사용하면 권한이 있는 모든 사용자가 모든 데이터 센터의 모든 노드에 연결하고 CQL 언어를 사용하여 데이터에 액세스 .. 2023. 3. 4.
반응형