Golang 패키지 컨벤션

이 글은 Go 블로그의 “Package Names"과 여러 Go 패키지 컨벤션 자료들을 참고하여 작성했습니다. 패키지 컨벤션의 핵심 Go의 패키지 컨벤션은 디렉토리 구조나 아키텍처에 대한 엄격한 규칙을 제시하지는 않는다. 대신 다음과 같은 핵심 원칙들을 제시한다. 1. 책임 중심 패키지 구성 모든 타입을 interface나 model과 같은 하나의 패키지에 넣는 것을 지양한다. 대신 “Organize by responsibility” 원칙에 따라 각 도메인의 책임을 기준으로 패키지를 구성한다. 예를 들어: user 패키지: 사용자 관리 책임 order 패키지: 주문 관리 책임 2. 패키지 경로의 활용 Go는 패키지 경로 자체를 표현 수단으로 활용한다. 이는 여러 Go 공식 패키지에서도 확인할 수 있다: ...

2월 15, 2025 · 1 분 · 155 단어 · In-Jun Hwang

GitOps 배포 전략: Push vs Pull 완벽 비교

GitOps란? GitOps는 2017년 Weaveworks에서 처음 소개한 개념이다. 클라우드 네이티브 환경, 특히 Kubernetes 기반 시스템에서의 지속적 배포(CD)에 초점을 맞추고 있다. 모든 인프라 구성과 애플리케이션 설정을 코드로 관리하며, Git 저장소를 통해 이를 버전 관리한다. Push 방식의 배포 전략 Push 방식은 전통적인 CI/CD 파이프라인과 유사하게 작동한다. 주요 특징과 프로세스는 다음과 같다. 빌드 및 배포 프로세스 빌드 단계 개발자의 코드 Push로 CI 파이프라인이 시작된다 CI 서버에서 빌드, 테스트를 수행한다 컨테이너 이미지를 생성하고 레지스트리에 등록한다 배포 단계 ...

2월 14, 2025 · 2 분 · 315 단어 · In-Jun Hwang

Ubuntu에서 ssh서버 실행하고 접속하기

서론 SSH(Secure Shell)는 네트워크상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 파일을 전송할 수 있게 해주는 네트워크 프로토콜이다. 이 글에서는 Ubuntu 시스템에서 SSH 서버를 설치하고 자동으로 실행되도록 설정하는 방법, 그리고 SSH 서버에 접속하는 방법을 단계별로 설명하겠다. SSH 서버 설치하기 먼저 터미널을 열고 패키지 목록을 업데이트한다: 1 sudo apt update OpenSSH 서버를 설치한다: 1 sudo apt install openssh-server 설치가 완료되면 SSH 서비스가 자동으로 시작된다. SSH 서비스의 상태를 확인하려면 다음 명령어를 입력한다: ...

8월 14, 2024 · 2 분 · 393 단어 · In-Jun Hwang

Ubuntu 24.04 LTS IP 고정 설정하기

서론 Ubuntu 24.04 LTS에서 IP를 고정하는 방법을 알아보자. 고정 IP 주소는 네트워크 관리를 용이하게 하고, 서버와의 연결을 안정적으로 유지하는 데 도움이 된다. 이 글에서는 netplan을 사용하여 IP 주소를 설정하는 방법을 다룬다. 추가로 network-manager를 이용한 TUI(nmtui), CLI(nmcli) 방법도 소개한다. IP 고정의 이점 일관성: 항상 같은 IP 주소를 사용하므로 네트워크 구성이 안정적이다. 원격 접속: 외부에서 서버에 접속할 때 IP 주소가 변경되지 않아 편리하다. 서비스 호스팅: 웹 서버, 메일 서버 등을 운영할 때 고정 IP가 필수적이다. 방화벽 설정: IP 기반의 방화벽 규칙을 더 쉽게 관리할 수 있다. 네트워크 문제 해결: 고정 IP를 사용하면 네트워크 문제를 진단하고 해결하기가 더 쉬워진다. 방법 1. netplan을 이용한 설정 (CLI) 네트워크 설정 파일 열기 Ubuntu 24.04 LTS에서는 netplan을 사용하여 네트워크 설정을 관리한다. 터미널을 열고 다음 명령어를 입력하여 네트워크 설정 파일을 연다. ...

8월 10, 2024 · 4 분 · 715 단어 · In-Jun Hwang

바로 이해하는 OAuth 2.0: 프론트엔드와 백엔드에서의 역할 구분

서론 OAuth 2.0에 대해 상세히 설명하려고 한다. GitHub OAuth를 예로 들어 전체적인 흐름을 자세히 살펴본 후, 프론트엔드와 백엔드에서의 역할을 구분하여 구현 예제를 제시하겠다. OAuth 2.0이란? OAuth 2.0은 사용자 데이터에 대한 제 3자 접근 권한을 안전하게 위임하기 위한 표준 프로토콜이다. 쉽게 말해, 사용자가 다른 애플리케이션에 자신의 데이터에 대한 접근 권한을 부여할 때 사용되는 프로토콜이다. 주로 로그인 시스템을 구현할 때, 사용자가 다른 서비스의 계정으로 로그인할 수 있도록 하는데 사용된다. OAuth 2.0의 용어 정리 설명하기에 앞서, OAuth 2.0에서 사용되는 주요 용어를 정리하고 넘어가자. ...

8월 3, 2024 · 6 분 · 1082 단어 · In-Jun Hwang