본문 바로가기

전체 글

(194)
90DaysOfDevOps 20일차 Day 20 - Dev workstation setup - All the pretty things - dotfiles, ZSHDotfiles- 리눅스 시스템과 응용 프로그램이 구성 파일- .으로 시작하고 기능 관리를 돕는다.ZSH- bash보다 몇 가지 이점이 있는 shell이다.- 대화형 탭 완성, 자동 파일 검색, 정규식 통합, 명령 범위 정의하는 고급 단축어 및 풍부한 테마 엔진과 같은 기능이 있다.- sudo apt install zsh 로 zsh를 설치할 수 있다.- bash의 확장판이다.OhMyZSH- zsh 구성을 관리하기 위한 무료 오픈 소스 프레임워크- sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master..
90DaysOfDevOps 18~19일차 Day 18 - SSH & Web Server- 원격 시스템과의 보안 터널 구축을 돕기 위해 모든 사용자가 알아야 할 SSH의 주요 기본 개념들을 살펴보자.SSH 소개- 보안 shell- 네트워킹 프로토콜- 보안 통신 허용- 모든 네트워크 서비스를 보호- 일반적으로 원격 command line 액세스에 사용- 클라이언트와 서버 간의 보안 터널을 제공하여 공격자가 정보를 가로챌 수 없게 한다.시스템에 브리지 네트워크 어댑터 추가하기- 브릿지 네트워크 어댑터를 추가해줘야 virtual box VM과 ssh를 동시에 사용할 수 있는 것 같다.putty로 ssh 연결하기- 사진들이 2022 기준이라 현재는 프로그램의 ui가 달라졌던 걸로 기억한다.원격 접속 - SSH 키- ssh-keygen -t ed25519..
90DaysOfDevOps 16~17일차 Day 16 - Managing your Linux System, Filesystem & Storage- 업데이트, 소프트웨어 설치, 시스템 폴더의 용도와 스토리지에 대해 살펴보자.운영체제 업데이트 방법과 소프트웨어 설치- sudo apt-get update 명령을 실행하면 된다.- figlet 설치로 소프트웨어 설치 방법을 알아보자.- figlet: 텍스트 배너를 생성하는 프로그램이다.파일 시스템 설명- Linux는 구성 파일들로 이루어져 있으며, 변경하고자 하는 내용이 있다면 해당 구성 파일을 수정하면 된다.- Windows 운영체제는 C 드라이브가 루트 디렉토리인데, Linux 운영체제에서는 / 디렉토리가 중요한 위치다.- /bin: 바이너리의 줄임말로, 시스템에서 필요한 실행 파일, 도구 및 바이..
90DaysOfDevOps 14~15일차 Day 14 - The Big Picture DevOps and Linux- DevOps나 운영 역할 관점에서는 대부분 Linux를 다룰 가능성이 높다.HashiCorp Vagrant- CLI 유틸리티로 가상 머신의 수명 주기를 관리한다.- 가상화 환경을 관리하고 프로비저닝하는 도구이다.- Vagrantfile이라는 파일을 작성하여 가상 머신의 설정 및 프로비저닝을 관리하며, 이 파일은 버전 관리 시스템에 저장하여 다른 개발자와 공유할 수 있다.Vagrant.configure("2") do |config| config.vm.box = "chenhan/ubuntu-desktop-20.04" config.vm.provider :virtualbox do |v| v.memory = 8096 v.cp..
90DaysOfDevOps 13일차 Day 13 - Tweet your progress with our new App- 챌린지의 세부 정보와 상태를 트윗할 수 있는 기능 개발* X계정이 없어서 실습은 하지 않고 내용만 따라갈 예정진행 상황을 트윗하는 기능 추가- X에서 개발자 API 접근을 설정해야 한다.- https://developer.x.com/en 이 사이트에 접속해서 X계정으로 로그인하고, Elevated 등급 계정을 요청한다.- Elevated 계정은 3개의 앱을 만들 수 있다고 한다. * 2022년에 작성된 내용이라 지금과 다를 수 있다.- 2022년에는 앱 생성과 api key, token을 위의 화면처럼 발급이 가능했던 것 같다. - 2022년의 Key와 Token 등록 화면이다.- 그 후 코드를 작성하고 실행하면 되는데,..
90DaysOfDevOps 11~12일차 Day 11 - Variables & Constants in Go- 새로운 프로그램을 만들어보면서 변수, 상수 그리고 데이터 타입에 대해 살펴본다.Go의 변수 및 상수- Go 프로그램에서 변수를 선언하고 값을 정의하기 위해 **키워드(var, const)**을 사용한다.- 변수 선언은 func main 코드 블록 내에서 이루어진다. - func main 코드 블록 안에 var challenge를 선언했다.챌린지의 일수가 90일에서 변할 수도 있으므로 90을 상수로 변경하는 코드로 수정하자.- const 키워드로 상수를 정의할 수 있다.여기서 dayscomplete 변수를 추가하여 완료한 일 수를 함께 기록하는 코드로 수정하자.- dayscomplete 변수가 추가됐다. Println으로 출력하는 문장도 ..
90DaysOfDevOps 9~10일차 Day 9 - Let's explain the Hello World code- 8일차에 작성한 코드 설명컴파일이란?- 사람이 작성한 코드 기계가 이해할 수 있는 형태로 변환하는 작업패키지란?- 같은 디렉토리 내에서 함께 컴파일되는 소스 파일들.- 다른 사람들의 코드를 재사용하여 처음부터 모든 것을 새로 작성할 필요가 없어진다.- 소스 코드의 재사용성과 유지보수성을 쉽게 확보할 수 있도록 권장된다.main.go 파일 코드 설명- 1번째 줄: Go 언어에서는 모든 .go 파일은 패키지에 속해야 하며, package something과 같이 첫 줄에 패키지 이름을 명시해야 한다. 이때 package main은 이 파일이 main 함수를 포함하는 패키지임을 나타낸다.- 3번째 줄: import는 메인 프로그램에..
90DaysOfDevOps 7~8일차 Day 7 - Learning a Programming Language- 데브옵스 엔지니어는 적어도 하나의 프로그래밍 언어를 기초 수준에서 이해하는 것이 매우 중요하다.- 일반적으로 Python 추천, Go를 추천하는 경우도 늘어나고 있다.배워야 하는 이유- 데브옵스에서 사용되는 대부분의 도구가 Python 또는 Go로 작성.- Kubernetes, Docker, Grafana, Prometheus 등 가장 잘 알려진 데브옵스 도구 및 플랫폼 중 일부는 Go로 작성.Go 특징- 컴파일 언어지만, 머신 코드로 직접 컴파일 되며 컴파일 시간이 빠름.- 정적으로 링크되어, 외부 종속성을 설치할 필요가 없다. Python보다 배포가 쉬움.- 특정 플랫폼에 종속되지 않는 언어로, 다양한 운영체제용 바이너리 실행 ..