일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- yarn-berry
- 소켓IO
- 캐시
- Atomic Design
- GHCR
- 예제
- 롱 폴링
- docker
- Kubernetes
- methodreference
- 백엔드
- 스타일 컴포넌트
- 리액트
- backend
- aws
- 자동화
- 인프라
- deployment
- react
- git-hooks
- styled-components
- Infra
- 디렉토리이동
- Atomic Design 패턴으로 페이지 만들기
- 쿠버네티스
- redis
- 도커
- 배포
- 배포자동화
- 개발
- Today
- Total
목록전체 글 (26)
SLASH 기술 블로그
기존에 AWS의 Elastic Beanstalk을 사용하다 쿠버네티스를 쓰게 되면서 자동 배포가 어려워졌다. Skaffold 같은 개발 도구를 사용해서 여러 과정을 단순하게 압축시킬 수는 있었지만, 이전처럼 푸시할 때 알아서 배포되는 형태가 아니라 내가 직접 호출해야 하는 방식이라 귀찮은 부분이 있었다. 더구나 브랜치에 따라 서로 다른 환경으로 푸시해야 했기에, 실수로 개발 중이던 코드를 프로덕션으로 배포하는 일이 생길지도 모르는 상황이었다. 아직 CI/CD를 도입하지도 않았기 때문에 별도의 인프라를 구축하지 않고 어떻게 하면 배포를 좀 더 편하게 할 수 있을지 고민한 결과, 간단하게 Git Hook을 사용하면 되겠다는 결론에 도달했다. 이번 글에서는 Git의 훅을 소개하고 몇 가지 사례를 이야기해볼까 ..
개발을 하다보면 터미널을 사용하는 일이 많다. 특히나 백엔드 작업을 하다보면 설정 파일을 건드리거나, 서버를 빌드하면서 터미널을 자주 사용하게 된다. 개발을 할 때 대중적으로 사용되는 맥이나 일반적인 리눅스 배포판에서는 bash를 기본 쉘로 제공하는데, 터미널을 자주 사용하는 경우에는 bash의 기능에서 조금 더 확장된 zsh를 사용하면 좀 더 편하다. 나도 zsh를 사용한지 2년 가까이 되어 가는데, 처음 쓸 때는 몰랐던 디렉토리 이동에 대한 여러 팁을 공유하고자 한다. zsh를 처음 쓰는 분들에게 좋은 내용이 되었으면 한다. 짧은 내용이니 가볍게 읽으면 좋을 것 같다. 디렉토리 이동 터미널에서 가장 일상적으로 이루어지는 작업이 디렉토리 이동이 아닐까 싶다. 터미널을 쓰는 분들이라면 디렉토리 변경 명령..
헬름은 쿠버네티스, etcd와 같은 CNCF Graduated Projects 중 하나로, 쿠버네티스의 패키지 매니저이다. 패키지? npm이나 Homebrew같은 것이라면 익숙하지만 쿠버네티스에서 관리할 패키지가 있나? 쿠버네티스에서 "패키지"가 존재한다는 개념을 이해하기 어려울 것이다. Helm이 등장하게 된 배경을 알아보면서, 쿠버네티스의 패키지 개념을 파악해보자! 배경 쿠버네티스 클러스터를 사용하다보면 관리해야 할 오브젝트가 무척이나 많다. 하나의 어플리케이션 단위로 배포를 하기 위해서는 Deployment, ConfigMap, Service 등의 리소스가 하나로 묶여야 하고, 필요에 따라서는 ConfigMap의 환경 변수나 Deployment의 레플리카 수를 조절해야 할 수도 있다. (개발 환경에..
이번에는 Next JS로 웹사이트 만들기에 대해서 시리즈 형태로 글을 써보려고한다. 해보고 괜찮다고 판단되면 계속 해볼 예정이다. SPA의 큰 문제 React로 개발을 하다 보면 하나의 큰 문제와 직면하게된다. 그것은 바로 검색엔진 최적화이다. 각 브라우저 마다 검색엔진이 존재 하는데, 검색엔진은 검색 결과를 보여주기 위해 자료를 수집하고 내부적으로 순위를 매기는 작업을 한다. 검색 결과 상위에 노출이 되려면 검색엔진이 자료를 수집하고 순위를 매기는 방식에 맞게 웹 페이지를 개발 해야한다. 하지만 React로 개발을 하게 되면 자연스럽게 SPA (Single Page Application)으로 개발을 하게 된다. 이렇게 되면 개발중인 웹 페이지에 메타 태그들을 다이나믹하게 변경 하기 어려워진다. 검색엔진..
1. How to containerize your app - 앱을 컨테이너화하는 방법에 대해 알아보자. 2. Running on Kubernetes Cluster - 쿠버네티스 클러스터에서 이미지 실행하기 3. Exposing the service - 서비스를 외부에 공개하기 4. Simplifying deployment process - 배포 과정 단순화하기 이전 글에서 포트포워드와 NodePort 서비스를 통해 서비스를 외부에서 접근할 수 있도록 설정하는 방법을 알아봤다. 그러나 실제로 서비스를 할 때는 여러 서버가 있을 때 파드 간의 부하를 분산하거나 한 파드에 장애가 발생한 경우 이를 감지해서 다른 파드로 라우팅시키는 로드 밸런싱이 필요하기도 하고, 하나의 도메인에서 path에 따라 서로 다른 서..