본문 바로가기

전체 글144

Linux alternatives JDK 버전 관리하기 Linux에서 여러 버전의 소프트웨어 설치후 기본 버전을 설정할때 alternatives 명령어를 사용합니다.이 글에서는 alternatives 명령어를 활용해 여러 버전의 JDK를 관리하는 방법을 설명합니다. alternatives ?Linux의 alternatives는 Linux에서 여러 버전의 프로그램이 있을 때 기본으로 사용할 버전을 선택하고 관리하는 데 사용됩니다 JDK 여러 버전 설치하기JDK의 다양한 버전을 설치하려면 각 버전을 수동으로 다운로드하여 설치하거나, 패키지 관리자를 통해 설치할 수 있습니다. 예시로 jdk 8, 11 두가지 버전을 설치 해보겠습니다. 1. JDK 설치설치가 완료되면 각 JDK 버전의 경로를 확인합니다. 일반적으로 JDK는 /usr/lib/jvm 경로에 설치됩니다... 2025. 4. 7.
Wiondow 10,11 WSL 설치하기 + Docker 설치 집컴에서 리눅스 환경을 쓸 필요가 생겨서 WSL를 설치하게 되었는데 설치과정 설명과 추가로 WSL 환경에서 Docker 설치 방법까지 가이드 글을 해보겠습니다. 🐧WSL2 설치하기우선 WSL 이란 Windows Subsystem for Linux 의 약자로 윈도우 환경에서 Linux OS를 네이티브 환경처럼 실행할수 있게 해주는 방식입니다. WSL 설치 순서 실행창에서 Windows 기능 끄기/켜기 옵션으로 이동한다음 아래 두개 항목을 체크 활성화후 재부팅 합니다.Linux용 Windows 하위 시스템가상 머신 플랫폼 Windows Powershell 을 관리자권한으로 실행후 wsl --list --online 명령으로 설치가능한 Linux OS를 확인합니다.설치할 OS에 대해 wsl --install.. 2025. 4. 6.
Git Submodule 알아보기 git submodule 이란 무엇일까?git submodule은 Git 저장소 안에 또 다른 Git 저장소를 포함시키는 기능입니다. 마치 폴더 안에 폴더를 넣는 것과 비슷하지만, 단순히 파일을 복사하는 것이 아니라 독립적인 Git 저장소를 특정 커밋 시점으로 연결하는 방식입니다. 핵심 개념독립적인 저장소 안의 저장소: 메인 프로젝트 저장소는 서브모듈 저장소를 특정 커밋으로 "참조"만 합니다. 서브모듈 저장소는 자체적인 커밋 히스토리, 브랜치 등을 완전히 독립적으로 가집니다.특정 커밋 시점 고정: 메인 프로젝트는 서브모듈의 특정 커밋 ID를 기록합니다. 즉, 서브모듈은 특정 시점의 버전으로 고정되어 메인 프로젝트의 빌드 안정성을 확보할 수 있습니다.코드 재사용 및 모듈화: 공통으로 사용되는 라이브러리, .. 2025. 3. 26.
Java 8 Stream API 주요 메서드와 사용 예제 Java 8 Stream API 주요 메서드와 사용 예제 Java 8 Stream API란?Java 8에서 도입된 Stream API는 데이터 컬렉션(예: List, Set, Map)을 보다 쉽고 효율적으로 처리할 수 있도록 설계된 기능입니다. 함수형 프로그래밍 스타일을 지원하며, 데이터를 필터링, 변환, 정렬, 집계하는 작업을 간결하게 표현할 수 있습니다. 이 글에서는 Stream API의 주요 메서드와 그 활용법을 예제를 통해 알아봅니다. Stream API의 주요 특징함수형 프로그래밍 지원: 반복문 없이 선언형 코드 작성 가능.체이닝 가능: 데이터 처리 과정을 간결하게 연결.지연 연산: 최종 연산이 호출될 때만 실행.병렬 처리 지원: 대용량 데이터 처리 시 성능 최적화 가능. Stream API의 .. 2024. 11. 20.
Github, Git 팀 협업 Workflow 가이드 GitHub를 통한 팀원 간 협업 방법 이 글에서는 효율적인 팀 협업을 위해 Git과 GitHub를 활용하는 방법을 정리했습니다. GitHub는 코드 관리, 버전 제어, 그리고 협업 도구로서, 팀의 생산성을 크게 향상시킬 수 있습니다.  1. 기본 설정팀장GitHub 저장소 생성 GitHub에서 새로운 프로젝트 저장소를 생성합니다.초기 파일을 추가하고 기본 브랜치를 설정합니다(보통 main 또는 develop).git clone cd git branch -M main # 기본 브랜치를 main으로 변경git push -u origin main협업할 팀원들에게 초대 링크를 보내고 권한을 부여합니다. Branch 전략 정의프로젝트 브랜치 전략을 사전에 정의합니다.main: 배포 가능한 안정적인 브랜치.d.. 2024. 11. 18.
Elastic Stack Filebeat 설치 및 실행 가이드 (Docker 방식) Elastic Stack Filebeat 설치 및 실행 가이드 (Docker 방식) Elastic Stack에서 Filebeat는 로그 파일을 수집하여 Elasticsearch 또는 Logstash로 전달하는 중요한 역할을 하는 경량 데이터 수집기입니다. Docker를 사용하면 Filebeat를 효율적으로 설치하고, 설정을 쉽게 관리할 수 있습니다. 이 글에서는 Docker를 사용한 Filebeat 설치 및 실행 방법에 대해 자세히 설명합니다. 1. Docker로 Filebeat 설치 Docker 이미지 다운로드Filebeat는 Elastic의 공식 Docker 이미지를 통해 간편하게 설치할 수 있습니다. 먼저, Filebeat의 최신 Docker 이미지를 다운로드합니다. 최신 버전은 Elastic의 공.. 2024. 11. 14.
Linux 시작 프로그램 관리: chkconfig 개념과 사용 방법 Linux에서 시작 프로그램 관리: chkconfig 개념과 사용 방법이 글에서는 리눅스 시스템에서 서비스의 시작 프로그램을 관리하는 명령어 chkconfig의 개념과 사용 방법을 안내합니다. chkconfig는 시스템 시작 시 자동으로 실행되는 서비스와 데몬을 효율적으로 제어할 수 있게 해주는 명령어로, 리눅스 서버 관리에 유용하게 활용됩니다. chkconfig란?chkconfig는 주로 Red Hat 계열의 리눅스 배포판(CentOS, Fedora 등)에서 사용되며, 부팅 시 특정 서비스가 자동으로 실행되도록 설정하는 도구입니다. 이를 통해 시스템 시작 시 자동 실행되는 데몬과 서비스를 제어하여 시스템의 성능을 최적화할 수 있습니다.리눅스 시스템은 부팅 시 특정 런레벨(runlevel)에 따라 다양한.. 2024. 11. 14.
Java 시간 클래스 차이 LocalDateTime OffsetDateTime Java 시간 클래스 차이: LocalDateTime vs OffsetDateTime Java에서는 시간을 다룰 때, 여러 종류의 클래스가 존재합니다. 그중에서도 LocalDateTime과 OffsetDateTime은 날짜와 시간을 나타내기 위한 대표적인 클래스입니다. 이 두 클래스는 날짜와 시간을 저장한다는 점에서는 유사하지만, 시간대와 오프셋 처리 방식에서 중요한 차이점이 있습니다. 이 글에서는 LocalDateTime과 OffsetDateTime의 차이점과 함께 두 객체를 서로 변환하는 방법을 설명합니다. LocalDateTime이란?LocalDateTime은 타임존 정보가 없는 날짜와 시간을 나타내는 클래스입니다. 예를 들어, "2023-10-14T10:15:30"과 같은 형식으로.. 2024. 11. 14.