개발기술
[쿠버네티스] 쿠버네티스란?
쿠버네티스란? 쿠버네티스는 컨테이너 개발에 있어 컨테이너화된 애플리케이션을 탄력적으로 실행하기 위한 프레임워크를 말한다 컨테이너화된 애플리케이션의 로드밸런싱 & 시크릿 관리 등을 원활히 하도록 돕는다 * 로드벨런싱 : 컴퓨터 네트워크 기술 일종으로 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 뜻함 배포를 돕는 것 뿐만 아니라 배포가 잘못되었을 경우 유연한 대처(롤백)이 가능하도록 한다 쿠퍼네티스를 이용하면 부하가 많아질때마자 특정 이미지로 빠르게 앱을 여러개로 배포할 수 있다 또, 어떠한 인스턴스가 다운됐다고 가정할 때 다른 인스턴스가 자동으로 생성되어 수초 이내로 되돌아갈 수 있도록 설정이 가능하고, 부하에 따라 오토스케일 명령 또한 가능하다 따라서 컨테이..
[Docker] 도커란 무엇인가
도커란? 리눅스 컨테이너 기반으로 하는 오픈소스 가상화 플랫폼. 즉, 특정한 서비스를 패키징하고 배포하는데 유용한 오픈소스 프로그램 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는데 필요한 모든것이 포함되어있다 가상머신에 비해 꼭 필요한 것만 담겨서 구동되기 때문에 이미지를 만들경우 용량이 대폭 줄어든다 도커를 사용하는 이유 애플리케이션 독립성을 가진다. 호스트 OS, 다른 컨테이너와도 독립된 공간을 보장받아 충돌이 발생하지 않는다 컨테이너 내부에 작업후 배포하려 한다면 도커 이미지로 만들어서 운영서버에 전달만 하면 된다 마이크로 서비스 구조로 변화가 쉽다. 컨테이너 하나 당 하나의 기능을 제공하는 모듈로 만드는 등 조정이 가능하다 Docker를 사용하면 환경에 구애받지 않..
[이것이 리눅스다] 실습환경 구축
회사에서 Rocky9을 적용할 예정인데 마침 좋은 강의가 있어 당분간 공부할 예정입니다! 이 공부로 저의 리눅스 실력이 향상되면 좋겠네요😂 위 글은 [이것이 리눅스다 3판 with Rocky Linux] 해당 영상을 학습한 글입니다 가상머신과 가상머신 소프트웨어의 개념 가상머신이란, 컴퓨터에 설치된 운영체제(호스트OS)안에 가상의 컴퓨터를 만들고, 그 안에 또 다른 운영체제(게스트OS)를 설치/운영할 수 있도록 제작된 프로그램 PC에 이미 설치되어있는 Windows를 호스트 운영체제(Host Operating System, 호스트OS)라고 부르고, 가상머신에 설치할 그 외의 운영체제를 게스트 운영체제(Guest Operating System, 게스트OS)라고 부름 이전글에서 WSL에대해 다뤄봤는데, 가상..
윈도우 개발 with WSL
이번주부터 킥복싱 끝나구 바로 옆 이디야에서 바~로 공부하는 습관을 가지려합니다 흑흑 미뤄왔던 공부 바짝 끝내보려구요 프론트, 백엔드 개발을 진행하면서 저희 팀장님께서 리눅스 공부를 추천해주셨습니다. 제 개인 PC에서는 WSL을 사용해보고 회사에서는 PuTTY로 리눅스 환경을 많이 접해보려고 합니다 WSL이 무엇인지 잘 몰라서 기초적인 것부터 공부해보려합니다 윈도우에서 개발환경을 구축할 수 없어 어려움을 겪었지만, Windows Subsystem for Linux (WSL)을 지원함으로써 윈도우 환경에서도 편리하게 리눅스 개발환경을 구축하고 활용할 수 있게 되었습니다 WSL이란? Windows Subsystem for Linux의 약자로 리눅스를 윈도우에서 돌릴 수 있는 가상머신이라 생각하면 됩니다. 윈..
[CI/CD] Firebase hosting + Github actions 1 (feat. react 포트폴리오)
CI/CD란? CI : Continuous Integration (지속적 통합) CD : Continuous Deployment (지속적 배포) 또는 지속적인 서비스 제공(Continuous Delivery) CI는 빌드/테스트 자동화 과정이다. 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되서 공유 레파지토리에 통합되므로 여러 명의 개발자가 동시에 애프리케이션 개발과 관련된 코드 작업을 할 경우 충돌하는 문제를 해결할 수 있다. 요약하자면 code 작성 - Build - Test를 짧은 주기로 자동화 하는것 CD는 배포 자동화 과정이다. 애플리케이..
[TDD] Jest + react-test-library
✅ 참고자료 해당 글은 코딩앙마 유튜브의 React Testing Library 강의를 참고하여 작성했습니다 전체 코드를 볼 수 있는 저의 Github URL입니다 https://github.com/yeafla530/jest-practice 이 전 글을 보실 분들은 아래를 눌러주세요 Jest 기본 ✅ react-test-library 🔴 특징 렌더링 결과에 집중 실제 DOM에 대해 신경을 많이 쓰고 컴포넌트의 인스턴스에 대해 신경쓰지 않고, 실제 화면에 무엇이 보여지는지, 어떤 이벤트가 발생했을 때 화면에 원하는 변화가 생겼는지 이런것을 확인하기에 더 최적화 되어 있음 jest-dom을 이용해 DOM에 관련된 `matcher`를 추가해줌 react 공식문서에서도 추천하는 testing방법 react-te..