본문 바로가기

Programming/DevOps, Tools32

[Java, Spring] 버전 선택 가이드 2024 (Java 21) 2023년 버전으로 자바 버전 채택 가이드를 포스팅을 한 지 1년이 채 안 돼 조회수가 1만이 넘었다;; 내 티스토리의 명실상부 효자 포스팅이 아닐 수 없어 2024 버전으로 다시 작성해보려 한다.https://kghworks.tistory.com/137  [JAVA, SPRING] 버전 선택 가이드 2023Java와 Spring을 선택함에 있어 Java version과 Spring version은 매우 중요합니다. 특히 Java 8부터 소개된 lamda, stream, Java 11의 var 타입추론 등은 같은 Java여도 버전에 따라 꽤 다른 가독성, 문법을 보여주기kghworks.tistory.com  미리 쓰는 결론 : JDK 17 쓰자Spring Framework로 개발하는 경우 :  JDK17.. 2024. 4. 27.
[Git] 로컬의 프로젝트별로 git config를 적용하고 싶을 때 로컬의 프로젝트별로 git config를 적용하고 싶을 때 cd .. git config -l ## git config (global) cd git config -l --local ## git config (특정 프로젝트) git config --local user.name "Your Name" git config --local user.email "Your Email" git config -l --local ## 바뀌었는지 확인 (아래에서) 2024. 3. 8.
[Git] rebase + squash로 커밋 합치기 PR (MR) 요청하기 전에 커밋을 깔끔하게 만드는 습관을 갖자 분기한 브랜치에서 작업하다가 PR (혹은 MR)을 날리려면 지저분한 커밋이력이 문제다. 아래는 main 브랜치에서 분기해서 feat/login 브랜치에서 3개의 커밋을 만들고 merge 하기 직전의 모습이다. 리뷰어에게 보기도 편하고, 브랜치 이력도 깔끔히 관리하기 위해 3개의 커밋을 하나로 합쳐서 merge 요청을 보낼 수 있다. 1. git rebase로 HEAD부터 n개의 커밋을 합치기 $ git rebase -i HEAD~3 pick 8a338ed 레이아웃 작업 1차 완료 pick 07fef02 레이아웃 작업 완료 pick ab0dbba 테스트 작성 완료 # Rebase 7457bdf..ab0dbba onto 7457bdf (3 co.. 2024. 1. 24.
[클라우드] 가상화 - 클라우드 컴퓨팅의 핵심 기술 목차 가상화란 가상화 구성요소 가상화 방식 가상화란? 컴퓨터 분야에서 가상이란 말이 붙으면 logical의 동의어로 물리적으로 실체가 있지 않은 무언가를 뜻한다. 가상화는 컴퓨터를 하나의 인스턴스(머신)의 개념으로 간주하여 물리적인 컴퓨터를 인스턴스(머신) 수준으로 가상화한 것을 말한다. 즉 IT 리소스를 논리적으로 분할하는 기술이다. 왜 가상화를 하나? 컴퓨터를 인스턴스로 가상화하여 하나의 컴퓨터 (Host)에서 1개 이상의 가상 컴퓨터를 논리적으로 운용할 수 있기 때문이다. 가상화를 통해 하나의 물리적 하드웨어에 여러 개의 컴퓨터 (인스턴스, 머신)를 운용할 수 있다. 가상화는 굳이 클라우드 컴퓨팅 기술을 사용하지 않더라도 가능하다. 가상화를 할 수 있는 프로그램을 Host 컴퓨터에 설치한다면 해당 .. 2023. 10. 25.
[Docker] mysql 8.0 설치하기 docker-compose.yml 작성 mysql 이미지 다운로드, 컨테이너 생성 mysql 설정 1. docker-compose.yml 작성 # compose 파일 버전 version: '3' services: # 서비스 명 mysql: # 사용할 이미지 image: mysql:8.0 # 컨테이너 실행 시 재시작 restart: always # 컨테이너명 설정 container_name: mysql # 접근 포트 설정 (컨테이너 외부:컨테이너 내부) ports: - "3306:3306" # 환경 변수 설정 environment: MYSQL_ROOT_PASSWORD: [비밀번호] TZ: Asia/Seoul # 명렬어 설정 command: - --character-set-server=utf8mb4 - --.. 2023. 6. 15.
[운영체제] 병행 프로세스 이번 포스팅에선 운영체제에서 병행 프로세스의 개념이 무엇인지 알아보고, 병행프로세스로 인해 발생하는 문제와 해결방안을 검토해 봅니다. 목차 병행 프로세스 병행성 문제 세마포어 세마포어를 활용한 병행 프로세스 문제 해결 프로세스 간 통신 병행 프로세스 병행성 (concurrency)이란 2개 이상의 프로세스 (스레드)가 동시 수행되는 시스템의 특성입니다. 이때 2개 이상 수행 중인 프로세스들을 병행 프로세스라고 합니다. interleaving 형식 한 개의 CPU로 여러 개의 프로세스를 연산합니다. 사용자는 동시에 프로세스들이 진행되는 것처럼 보이지만 정확히 '동시'에 하나의 프로세스만 연산할 수 있습니다. 사용자 의도를 무시하고 하나의 CPU를 이용하여 스케줄링에 따라 진행되기 때문에 동시에 여러 프로세.. 2023. 5. 14.