ETC 30

svelte 설치 및 세팅

프론트엔드 개발자는 아니지만, 프로토타이핑을 할 일이 있어서 몇가지 프레임워크를 보다가 svelte(스벨트)를 접하게 되어서 사용하다보니 편의성에 매료되었습니다. svelte의 특징은 다른 글에서 정리해보도록 하고, 오늘은 svelte를 세팅하는 글을 작성해보겠습니다. 먼저 svelte도 react나 vue처럼 node를 기반으로 하고 있습니다. node를 기반으로 하고 있으므로 node가 설치되어 있어야 합니다. 참고로 mac os에서 brew install node 명령어로 brew를 활용해서 간단하게 node를 설치할 수 있습니다. 공식 홈페이지에서는 svelte를 설치하는 2가지 방법을 알려주고 있습니다. (https://svelte.dev/blog/the-easiest-way-to-get-sta..

ETC/Svelte 2022.02.04

특정 port 사용 중인 process 찾기. (port is already in use / port is already allocated)

서버를 개발하고 배포하다보면 port is already allocated 혹은 port is already in use 라는 문구를 자주 보게 됩니다. 로컬에서 개발하다보면 특히 어떤 프로세스가 사용하고 있는지 기억이 안 날 때도 종종 있는데, 그럴 때 아래의 명령어를 사용하면, 해당 포트를 사용 중인 프로세스를 조회할 수 있습니다. lsof -i tcp: 자리에 조회하려는 포트 번호를 입력하면 됩니다. ex) lsof -i tcp:3000

ETC/Ubuntu 2022.02.03

[Kotlin] 스프링부트 프로젝트 생성

스프링부트 프로젝트 생성은 아래의 페이지에 접속해서 생성합니다. https://start.spring.io/ 접속하면 아래와 같이 설정하는 페이지가 보일텐데요. 여기서 원하는 옵션으로 선택하고 GENERATE를 눌러 다운받은 zip 파일을 압축해제하여 사용하시면 됩니다. 스프링은 이렇게 기본 프로젝트를 생성할 수 있는 웹페이지를 제공하고 있으니 활용해서 프로젝트를 생성해주시면 됩니다.

ETC/Kotlin 2021.08.21

[Kubernetes] Taint / Toleration

쿠버네티스 클러스터를 운영하다보면, 특정 워커에는 배포가 되지 않도록 막고 싶은 경우가 생길 수 있습니다. 예를 들어, 딥러닝 어플리케이션들이 배포되는 클러스터에서 일부 워커에만 GPU가 붙어있을 때 GPU가 필요없는 어플리케이션들은 해당 워커들에 배포가 되지 않도록 막고 싶은 경우입니다. 이럴 때 사용할 수 있는 기능이 Taint/Toleration 입니다. Taint Taint란 한국어로는 얼룩이라는 뜻으로, taint가 설정된 노드에는 일반적인 pod는 배포될 수 없으며 taint가 지정된 노드에는 toleration을 적용하면 배포할 수 있습니다. Taint 설정 방법 Taint는 아래와 같이 설정할 수 있습니다. >> kubectl taint node [NODE_NAME] [KEY]=[VALUE..

ETC/Kubernetes 2021.03.21

[git] merge, rebase

0. branch 깃에서 merge와 rebase를 알아보기 위해서는 브랜치부터 알고 넘어가야 합니다. 브랜치는 가지라는 뜻으로 소스코드를 여러 버전으로 관리할 수 있게 해줍니다. 여러 버전으로 관리함으로써, 현재 배포되어 있는 브랜치를 따로 관리하고, 기능을 개발하고 있는 버전의 브랜치 또는 급하게 수정해야되는 핫픽스 브랜치 등으로 나눠서 관리하여 코드 관리를 편하게 할 수 있습니다. 깃헙에서 레포지토리를 처음 생성하면 main이라는 기본 브랜치를 생성해줍니다. main에서 출발하는 브랜치를 생성하면, 처음에는 현재 main 브랜치와 똑같은 상태가 복사되어 새로운 브랜치가 생성이 됩니다. 브랜치 생성은 아래의 명령어로 수행할 수 있습니다. git branch new_branch 생성된 브랜치로 전환하려..

ETC/Git 2021.03.06

[Redis] Redis란? & Redis 사용방법

0. 개요 서비스를 개발하다보면, 서비스 속도가 종종 문제를 일으킵니다. 그래서 속도를 높이기 위해 다양한 방법을 활용하는데, 그 중에 오늘은 Redis를 활용하는 방법을 알아보고자 합니다. 일반적으로 데이터베이스는 저장장치에 저장이 되는데, 데이터베이스를 조회하려면 저장장치로 i/o가 발생합니다. 캐시는 in-memory 방식을 활용하여 데이터를 임시로 저장해두기 때문에 저장장치의 i/o보다 훨씬 빠르게 동작할 수 있습니다. 그래서, 자주 사용하는 데이터는 캐시 서버에서 우선 조회하고 없을 때는 데이터베이스를 다시 조회하는 방식을 활용하면 전체적인 서비스의 속도를 향상시킬 수 있습니다. 또, 쿼리가 길고 복잡한 경우에도 데이터베이스를 조회하는 시간이 오래 걸리는데, 이 쿼리가 자주 사용되는 경우라면 해..

ETC/Redis 2021.02.07

[git] 깃 브랜치 전략, git branching strategy - GitFlow

git은 소스코드를 관리하는데 도움을 주는 툴입니다. git에는 branch라는 기능이 있습니다. branch는 말 그대로 가지를 뜻하며, 해당 가지에 대해서 다른 버전으로 코드를 관리할 수 있습니다. 개발을 할 때는 배포되는 버전, 개발 중인 버전, 급한 버그를 픽스하는 버전, 리뷰를 하는 버전 등으로 코드를 나누어 관리를 하게 되는데, 이러한 복잡한 관리를 branch를 활용하면 편하게 관리할 수 있습니다. GitFlow 전략 그래서 이러한 branch를 관리하는 전략 중에 가장 유명한 전략이 GitFlow라는 전략입니다. GitFlow 전략은 그림(nvie.com/img/git-model@2x.png)부터 보시면, 아래와 같습니다. 위에서 부터 내려오고, 각 동그라미가 branch입니다. GitFl..

ETC/Git 2021.01.24

[Docker] RUN, CMD, ENTRYPOINT 차이점

도커파일 작성 시에, 사용할 수 있는 명령어 중에 실행하는 것과 관련된 명령어는 RUN, CMD, ENTRYPOINT 세 가지가 있습니다. 세 명령어에 대한 차이점을 예시와 함께 확인해보도록 하겠습니다. 1. RUN 이 중에 RUN 명령어는 확연한 차이가 있습니다. RUN 명령어는 도커파일로부터 도커 이미지를 빌드하는 순간에 실행이 되는 명령어입니다. 그래서, RUN 명령어는 라이브러리 설치를 하는 부분에서 주로 활용이 됩니다. FROM python:3.7.9 RUN pip install -r requirements.txt 위와 같은 도커파일 예시에서, RUN 명령어를 활용하여 필요한 파이썬 라이브러리를 설치할 수 있습니다. 2. CMD CMD 명령어는 RUN 명령어가 이미지를 빌드할 때 실행되는 것과 ..

ETC/Docker 2021.01.10

[Kafka] 카프카 기본 실습

1. 카프카 설치 카프카 실습을 위해서 설치를 해볼건데, 간편하게 도커로 해보도록 하겠습니다. 카프카는 공식 도커 이미지가 없습니다. 그래서 찾아보니, 아래 링크를 사람들이 많이 활용을 한다고 해서 저도 한번 활용을 해보았습니다. github.com/wurstmeister/kafka-docker wurstmeister/kafka-docker Dockerfile for Apache Kafka. Contribute to wurstmeister/kafka-docker development by creating an account on GitHub. github.com 먼저 git clone을 해주고 해당 디렉토리로 들어갑니다. git clone https://github.com/wurstmeister/kafk..

ETC/Kafka 2020.12.27