분류 전체보기
[Linux] 생각보다 자주쓰는 Linux 명령어 모음
[Linux] 생각보다 자주쓰는 Linux 명령어 모음
2022.12.01특정 파일 찾는 명령어 find ./|grep TEST 디렉토리 이동하는 명령어 cd ./common/downloadFiles/ 파일이동하는 명령어 mv /home/centos/SAMPLE.xls ./ mv /home/centos/win.jpg ./ 파일권한 변경 명령어 chmod 644 SAMPLE.xls 파일 유저/그룹명 변경 명령어 chown testuser:testuser SAMPLE.xls 현재 서비스 포트 확인 netstat -an | grep 10000 현재 실행중인 프로세스 찾기 ps -ef | grep project [pid] project 172981 168912 0 16:57 pts/16 현재 실행중인 프로세스 죽이기 kill -9 [pid]
[Spring Boot] Java RESTful API 만들어서 GET, POST 호출 해보기
[Spring Boot] Java RESTful API 만들어서 GET, POST 호출 해보기
2022.12.01이전 글에서 이클립스(Eclipse)를 설치하고 Spring Boot 설정 및 프로젝트 생성까지 해봤는데 이번에는 Java, Gradle 빌드 기반으로 RESTful API를 한번 만들어 보겠다. 그전에 간략하게 REST란 무엇인가에 대한 설명을 하자면 REST REpresentational State Transfer의 약자로, 분산형 하이퍼미디어 시스템을 위한 아키텍처 REST 아키텍처의 구성요소 1. 자원 (Resource) - URI 모든 자원은 고유의 ID가 있고, HTTP URI로 표현한다. 클라이언트는 URI를 이용해서 자원을 지정하고 해당 자원을 조작하기 위해 서버로 요청한다. 2. 행위 (Verb) - Method HTTP 프로토콜의 Method를 사용하고 GET/POST/PUT/PATCH..
[Spring Boot] 이클립스(Eclipse) 설치 및 스프링 부트(Spring Boot) 사용하기
[Spring Boot] 이클립스(Eclipse) 설치 및 스프링 부트(Spring Boot) 사용하기
2022.11.30개발을 시작하면서 가장 힘들었던 일 중 하나가 개발환경 세팅하기...😅 STS(Spring Tool Suite)를 설치하여 사용하는 방법도 있지만 이클립스를 직접 설치해서 Spring Boot를 사용하는 방법을 소개하려고 한다. 아래 내용들은 최신 버전 기준 Java 웹 개발 기준으로 작성되었다. 바로 시작!! 1. 이클립스(Eclipse) 설치 1-1. 이클립스 설치 파일 다운로드 아래 URL로 접속해서 최신 버전의 이클립스 설치를 해보자. Eclipse Downloads | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source..
[Docker] WSL을 사용하여 Linux 설치 후 Docker 실행 에러 해결방법 - Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[Docker] WSL을 사용하여 Linux 설치 후 Docker 실행 에러 해결방법 - Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
2022.11.24에러 상황 Window에서 WSL로 Docker를 설치하고 도커 명령어 입력했을 때 아래와 같이 에러 발생...😢 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 해석해보면 Docker daemon을 연결할 수 없는데 지금 실행 중인지 묻는다. 정말 간단하게 생각하면 Docker daemon이 실행 중이지 않으니 실행시켜 주면 된다. 아래 명령어를 입력해보면 $ sudo systemctl start docker $ sudo systemctl enable docker 그런데도 에러 발생...😭 System has not been booted with systemd as init s..
[MSA] Config Server 이해하기 - Spring Cloud Config (4)
[MSA] Config Server 이해하기 - Spring Cloud Config (4)
2022.11.22MSA에서 서비스가 많아지면서 그만큼 설정정보 파일도 많아지게 되었다. 설정 파일을 수정 후 서비스에 적용하려면 서버를 재기동해야 하는 경우가 생기게 된다. 만약 공통으로 사용하는 설정 파일이라고 생각해보면 변경된 설정을 적용하기 위해서 서비스 수만큼의 재기동을 해야 하는 문제점이 있다. MSA에서는 이런 불편함을 해소하고자 설정 파일을 재기동없이 각 서비스에 적용되도록 하고 많은 설정 파일들을 관리하는 Config Server 라는 개념이 생겨나게 되었다. Config Server 분산된 시스템에서 모든 애플리케이션 관련 설정 정보를 중앙 집중식 관리를 지원하는 서버 Config Server를 사용한다면 모든 서비스들의 설정 정보들을 외부에서 보관 및 관리할 수 있도록 지원하고 서버를 재기동 하지 않고..
[MSA] Service Discovery Server 이해하기 (3)
[MSA] Service Discovery Server 이해하기 (3)
2022.11.22MSA는 클라우드 환경에서 수많은 서비스들이 자동 스케일링, 확장 등 서비스 인스턴스가 수시로 생성되고 또 소멸을 반복하게 되면서 서비스의 정보(IP, PORT 등)는 계속해서 변경되는데 계속해서 변경되는 서비스를 식별해서 호출하기는 상당히 어렵다. 그래서 많은 서비스들을 유지 관리하기 위해 서비스 디스커버리 패턴을 적용할 필요가 있다. 서비스 디스커버리 (Service Discovery) 서비스 인스턴스를 식별하여 서비스를 등록하고 등록한 서비스의 검색을 수행한다. 서비스 디스커버리 서버의 동작 방식에 따라 Client Side, Server Side 방식이 존재한다. Client Side Discovery Client Side Discovery는 클라이언트가 서비스를 호출할 때 디스커버리 서버에 서비..
[MSA] API Gateway 이해하기 - Spring Cloud Gateway (2)
[MSA] API Gateway 이해하기 - Spring Cloud Gateway (2)
2022.11.21지난 글에서는 Monolithic Architecture와 MSA에 대해 전반적으로 알아보고 정리하는 시간을 가졌다. 이번 글에서는 그중 MSA에서의 API Gateway에 대해 조금 더 자세히 다뤄보려고 한다. API Gateway 쉽게 말해 모든 API 요청을 받는 문(통로)으로 요청 들어온 API에 대해 인증/인가, 라우팅, 로깅, 모니터링 등의 기능들을 제공한다. API Gateway는 간단명료하게 모든 요청에 대한 통로라고 생각하면 될 것 같은데 많은 서비스들을 각각 호출하는 것이 아닌 API Gateway 단일 지점을 호출하면 된다. 예를 들어 API Gateway를 고속도로의 톨게이트에 빗대어 생각해보면 어느 지역을 가든 자동차가 고속도로를 이용하기 위해서는 톨게이트를 지나쳐야 한다. 고속도..
[MSA] MSA 개념 이해하기 (1)
[MSA] MSA 개념 이해하기 (1)
2022.11.21최근 회사에서 MSA에 대한 이야기를 듣게 되었는데, MSA라는 개념을 들어본 적이 없어서 생소했다. 그런데 사실 아예 접하지 못한 개념은 아니었다는 것을 알게 되었는데 결론적으로 이야기하면 시스템, 서비스 분산에 대한 내용이었다. MSA 하면 가장 유명한 회사가 있는데 넷플릭스에서 모놀리식 아키텍처(Monolithic Architecture)에서 마이크로서비스 아키텍처(Microservice Architecture)로 전환했다는 이야기를 많이 보게 되었다. 어째서 넷플릭스는 기존 아키텍처에서 MSA로 전환을 택하게 되었는지에 대한 내용들을 찾아보니 많은 내용들을 공감할 수 있었다. 여기서 기존 아키텍처는 Monolithic Architecture인데 어떤 문제점이 있어서 전환을 하게 되었는지 한번 확인..
킹반인이 사이드 프로젝트를 시작하다. (1)
킹반인이 사이드 프로젝트를 시작하다. (1)
2022.11.16킹반인이 사이드 프로젝트를 시작하다 (1) 나는 여느 사람과 달리 킹반인이라 평범하게 회사도 다니고 평범하게 일상도 즐기고 있는 와중에 문득 평범하게 내가 주도해서 개발을 하고 싶다는 생각을 하게 되었다. 혼자 개발하고 혼자 고민하고 이런 시간이 많다 보니 실력도 잘 늘지 않는 것 같기도 하고 많은 경험을 하지 못하는 것 같아서 여러 사람들과 프로젝트를 하면 좋겠다는 생각으로 이것저것 검색하기 시작했다. 검색해보면서 사이드 프로젝트라는 개념조차도 처음 알았는데...😅 너무 혼자만의 세상에 갇혀있었나 보다.. 따지고 보면 사이드 프로젝트가 이번이 완전 처음은 아니고 아는 사람들을 통해서 가볍게 프로젝트를 진행한 적이 있었는데, 회사에서 개발하면서 자바스크립트도 많이 만지게 되다 보니 스크립트가 궁금하여 바..
첫 글 작성하며...
첫 글 작성하며...
2022.11.16제 소개를 하자면 평범한 회사를 다니는 일반인 개발자입니다. 지금부터 쓰는 글들은 과거 개발을 진행하였거나 현재 개발을 진행하고 있는 내용을 공유할 생각입니다. 블로그 작성을 마음먹게 된 계기는 개발하면서 배운 점, 나에게 부족한 점, 나의 성장 등을 글로 남기고 싶었고 다른 개발자들에게도 도움이 되지 않을까 하는 마음에 작성하게 되었습니다. 앞으로 쓸 내용은? 현재 회사에서 진행하고 있는 개발 또는 공부중인 내용을 공유할 생각이고 사이드 프로젝트에 대한 내용들도 작성할 예정입니다. 사실 아직 어떤 방향으로 작성할지 정하진 않았지만 최대한 멈추지 않고 작성할 예정입니다. 시작이 반이다... 항상 도전을 무서워 하지만 그래도 시작이 반이라고 여러 도전을 해보고 있습니다. 많은 사람들과 소통도 하고 개발 실..