개발/개발 환경

개발/개발 환경

[CI/CD] CI/CD란?

매번 개발자가 코드를 수정하고 빌드와 테스트를 하고 배포까지 한다면 상당히 많은 시간이 소요됩니다. 하지만 git에 코드를 올리는 것만으로도 누군가가 빌드와 테스트, 배포까지 해준다면, 쓸데없는 시간을 단축시키고 개발에 더 많은 시간을 투자할 수 있을겁니다. 1. CI란? CI는 간단히 요약하자면 빌드/테스트 자동화 과정 과정입니다. CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미합니다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다. 지속적..

개발/개발 환경

온프레미스 (On-premise), 클라우드 (Cloud)

🏠 온프레미스 (On-premise) 온프레미스는 기업의 서버를 클라우드와 같이 ‘가상의 공간’이 아니라, 자체적으로 보유하고 있는 서버에 직접 설치하고 운영하는 방식입니다. 클라우드 이전에 가장 일반적으로 사용되던 시스템으로 직접 인프라를 구축하는 방식을 뜻합니다. 클라우드와 정반대로 온프레미스는 필요한 시스템을 구축하기 위해 하드웨어와 소프트웨어를 각각 구입하고 특정 공간에 직접 인프라 환경을 구성합니다. ​☁️ 클라우드 (Cloud) 기업에서 필요한 IT 시스템이 고도화됨에 따라 기업 자체적으로 서버, 네트워크, 스토리지 장비와 같은 수많은 인프라를 관리하는 것은 부담스럽고, 비용은 지속적으로 증가하여 비효율적인 업무 프로세스로 이어집니다. 이에 따라 클라우드 컴퓨팅과 같은 새로운 방식의 서비스가 ..

개발/개발 환경

클라우드 서비스(IaaS, PaaS, SaaS)

클라우드 서비스의 종류 Infrastructure as a Service(IaaS, 아이아스, 이에스)서비스로 제공되는 인프라스트럭처입니다. 개발사에 제공되는 물리적 자원을 가상화합니다. Platform as a Service(PaaS, 파스)서비스로 제공되는 플랫폼입니다. 개발사에 제공되는 플랫폼을 가상화합니다. Software as a Service(SaaS, 사스)서비스로 제공되는 소프트웨어입니다. 고객에게 제공되는 소프트웨어를 가상화합니다. 클라우드 구분 1. IaaS : 서비스로 제공하는 인프라스트럭처 클라우드 인프라스트럭처 서비스는 확장성이 높고 자동화된 컴퓨팅 리소스를 가상화하여 제공하는 것입니다. 2. PaaS : 서비스로 제공하는 플랫폼 클라우드 플랫폼 서비스는 주로 응용 프로그램을 개발..

개발/개발 환경

Docker, Container, kubernetes

원티드에서 Docker : 나만의 도커 이미지 만들기 부터, 클라우드 배포까지! 라는 온보딩에 참여하면서 해당 내용을 정리해보고자 합니다. 1. 도커(Docker)란 무엇일까? 컨테이너 기반 가상화 도구로 어플리케이션을 컨테이너 라는 단위로 격리하여 실행하고 배포하는 기술 open platform이다 어플리케이션을 인프라에서 분리해준다 신속하다 인프라를 어플리케이션 처럼 관리 할 수있다. 코드 배포에 용이하다 1.1 컨테이너(Container)란 무엇일까? 컨테이너는 가상화 기술 중 하나 호스트 운영체제 위에 여러개의 격리된 환경을 생성 각각의 컨테이너 안에서 애플리케이션을 실행 1.2 가상화(Virtualization) 기술이란 무엇일까? 하나의 물리적인 컴퓨터 자원(cpu, 메모리, 저장장치 등)을 ..

개발/개발 환경

코딩 자동완성 플러그인

요즘 핫한 gpt와 함께 업무에 도움이 될만한 자동완성 도구이다 Github Copoilot 마이크로 소프트 에서 제공 장점 : 주석, 코드, 함수명 분석하여 코드 자동완성 단점 : 60일동안은 무료지만, 이후부터는 유료 서비스로 전환. tabnine gpt2 기반 코드 자동완성 장점 : 폴더명을 인식하여 폴더명의 함수 컴포넌트를 만들어줌, 주석도 잘 달아줌 단점 : tabnine 자동완성이 자동완성 1,2 순위에 자리잡으면서 IDE 자동완성 우선순위가 밀림 Intellicode 단순 기능 코드 완성 확장팩 연관된글 : 인텔리제이 환경설정/플러그인/ 단축키/꿀팁 참고 : Github Copoilot vs 주니어 개발자 (feat. 뭐야 내 직업 돌려줘요) - 코드캠프님의 블로그 - 인프런 | 커뮤니티 챗..

개발/개발 환경

인텔리제이 환경설정/플러그인/ 단축키/꿀팁

환경설정 단축키Open 관련 단축키ContentIntelliJmacOSIntelliJWindowsContentVS CodemacOSVS CodeWindows문제 자동 수정⌥ + Enter Key    파일 찾기(Go to File)⌘ + ⇧ + OCtrl + Shift + N  Ctrl + P클래스 찾기(Go to Class)⌘ + OCtrl + N   심볼 찾기(Go to Symbol)⌘ + ⌥ + OCtrl + Alt + Shift + N   액션 찾기(Find Action)⌘ + ⇧ + ACtrl + Shift + A  Ctrl + Shift + P현재 Editor 파일 탐색 창에서 보이기 (Select in)⌥ + F1  ⇢ Enter Key  자동으로 추적됨설정 (Preference)⌘ + ,C..

개발/개발 환경

POSTMAN

POSTMAN 이란 POSTMAN은 API를 개발, 테스트, 공유 및 문서화하는 데 사용되는 API 클라이언트 이다. 엔드 포인트 URL을 입력하는 테스트에 사용되며 서버로 요청을 보내고 서버에서 응답을 받아 api가 잘 동작하는지 확인할 수 있다. Postman 활용 방법 Postman에만 있는 유용한 기능들 Collections, Code generate, Manage environments, Interceptor 참고 : https://meetup.nhncloud.com/posts/107 https://inpa.tistory.com/entry/POSTMAN-%F0%9F%92%BD-%ED%8F%AC%EC%8A%A4%ED%8A%B8%EB%A7%A8-%EC%82%AC%EC%9A%A9%EB%B2%95-AP..

개발/개발 환경

Scouter

Scouter는 자바 모니터링 툴로써 상용 APM중에 대표적인 오픈소스 입니다. APM 또는 apm이란 애플리케이션 성능 관리 (Application Performance Management): 응용 소프트웨어의 성능과 서비스 이용성을 감시하고 관리하는 데 초점을 둔 시스템 관리 원칙 상용 APM은 대표적으로, Dynatrace, New relic, AppDynamics, WhaTap 등이 있으며, 오픈소스로는 Scouter, Pinpoint 등이 있습니다. Scouter와 Pinpoint를 비교해보면, Scouter는 실시간 모니터링, 트러블슈팅을 위한 지표가 많고 Pinpoint의 경우 전체 뷰 등 서버 간 관계를 지켜볼 수 있고 분산 저장이 가능하다는 이점이 있습니다. Scouter로 모니터링할 경..