일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Logrus
- Helm V3
- Kubernetes
- GoF
- AWS
- Golines
- 시스템 설계
- Lambda@Edge
- goroutine
- Live Template
- AWS Infra
- argocd
- golang
- image resizing
- UnBuffered channel
- Buffered channel
- GoF 디자인패턴
- notification system
- 알림 시스템
- 컴포짓패턴
- 클래스 관계
- System Design
- 컴포지트패턴
- gitops
- Infra
- Bastion Server
- tenneling
- 디자인패턴
- 대규모 시스템 설계
- go
- Today
- Total
목록기타 (83)
Fall in IT.
안녕하세요. 오늘은 맥에서 SSH 공개키를 만드는 방법에 대해서 간단하게 알아보도록 하겠습니다. 많은 Git 서버들은 SSH 공개키로 인증을 하고 있습니다. 사용자의 SSH 키는 기본적으로 사용자의 ~/.ssh 디렉터리에 저장됩니다. 루트 경로에 .ssh 이름의 디렉터리가 존재하지 않을 경우 키를 생성해야합니다. SSH 공개키 만드는 방법 터미널에서 아래 명령어를 입력한다. $ ssh-keygen (Linux나 Mac에는 ssh 키를 생성하는 유틸리티가 기본으로 설치되어 있습니다) 이때 저장될 경로와 암호를 요구하는데 엔터를 쳐서 넘어갑니다. 키를 저장하고 싶은 경로를 입력하고 키의 암호를 입력할 수 있다. 그냥 엔터를 입력할 경우 키는 ~/.ssh 디렉터리 하위에 키가 생성되며 키를 사용할때 암호를 묻..
Docker란 Docker는 컨테이너 가상화 환경에서 애플리케이션을 관리하고 실행하기 위한 오픈소스 플랫폼이다 리눅스 위에서 동작하는것이 특징이며 Go 언어로 만들어졌다. Docker의 특징 이식성 Docker는 기본적으로 애플리케이션이 동작하는 모든 인프라 환경을 컨테이너로 관리한다 애플리케이션 실행에 필수적인 모든 파일 및 디렉터리를 통째로 컨테이너에 담는다 그리고 이 컨테이너의 기반이 되는 Docker 이미지를 Docker Hub에 공유한다 이런 Docker의 특성 때문에 개발 환경에서는 동작하지만 운영 환경에서는 동작하지 않는 리스크를 줄일 수 있다. 상호 운용성 여러 조직이나 시스템과 연계하여 사용할 수 있는 소프트웨어의 특성을 상호 운용성이라고 말한다 Amazon EC2 Container Se..
안녕하세요. 오늘은 DNS 즉, Domain Name System에 대해서 간단하게 알아보고 그와 관련하여 자주 사용되는 용어들을 정리해보도록 하겠습니다. DNS(Domain Name System)란? 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행하는 시스템 DNS 동작 원리 컴퓨터에서 브라우저를 켜고 www.google.com 을 입력한다. 컴퓨터는 컴퓨터 내부에 등록 되어 있는 DNS 서버로 www.google.com에 해당되는 IP 주소를 물어보고 DNS 서버는 해당 도메인의 IP 주소를 알려준다. 컴퓨터는 이를 받아서 IP 주소에 해당하는 컴퓨터에 접속하게 되는 것이다. DNS가 나오게 된 배경 인터넷에 연결 된 컴퓨터 한대 한대를 호스트(host) 라고 한다. ..
안녕하세요. 오늘은 웹 성능 최적화 방법에 대하여 간단하게 알아보도록 하겠습니다. 목표 느린 웹 페이지를 빠르게 만들어보자 목차 로딩 최적화 방법 렌더링 최적화 방법 용어 정리 Navigation Timing Resource Timing (Network) + Processing + Load로 결합된 페이지가 그려지기까지의 과정을 나타낸 그림이다. Resource Timing은 네트워크와 연관 된 부분으로 프론트엔드에서 최적화하기 어렵다. Processing과 Load 부분은 최적화가 가능하다. Critical Rendering Path 브라우저가 하나의 화면을 그려내는 과정을 말한다. DOMContentLoaded Event HTML 파싱이 끝났을때 (DOM Tree 분석이 끝났을때) 발생하는 이벤트로 ..
안녕하세요. 오늘은 Mac에서 간단한 shell script를 만들고 해당 스크립트가 전역(모든 경로)에서 동작하도록 하는 방법을 알아보겠습니다. Mac에서 전역 실행될 script를 설정하는 방법 루트 경로에 전역으로 동작시킬 쉘스크립트가 저장될 디렉터리를 하나 생성한다. 필자는 $HOME(/Users/mac) 경로에 bin 디렉터리를 생성하였다. 간단하게 hello world를 출력하는 파일(test_script)을 만들고, 아래 명령어를 사용하여 실행가능한 파일로 권한을 변경한다. $ chmod +x test_script 필자는 zshell을 사용하므로 .zshrc 파일 하단에 전역으로 동작하고자하는 경로를 등록한다. PATH=$PATH:$HOME/bin ($HOME 대신 직접 경로를 적어도 무방하..
SSH란? Secure Shell의 약자 손쉽게 PC에 접근하는 방식을 제공하기 위해 만들어진 프로토콜 SSH의 역할 인증 (Authentication) 사용자와 서버를 이증하는 역할을 한다. public key와 private key를 사용하는 비대칭 암호방식을 사용한다. private key는 외부 유출없이 가지고 있고 public key만 네트워크를 통해 전달해놓고 인증하는 방식이다. 클라이언트에서 서버에 접속할때 사용자를 인증해야 하는데 이때 전통적인 패스워드 인증방식과 더불어서 사용된다. 암호화 (Encryption) SSH는 네트워크를 통해 전달되는 데이터를 암호화한다. 그래서 누군가 중간에 데이터를 가로채더라도 내용을 알 수 없다. 무결성 (Integrity) 네트워크를 통해 전달받은 데이터..
안녕하세요. 오늘은 너튜브를 보다가 우연히 보게 된 클린코드 관련 영상을 보고 많은 공감을 했습니다. 가장 기본적인 이야기인데 현업에서 일을 하다보면 지켜지지 않는 경우가 꽤 많은것 같아서.. 쉽고 간단하게 정리해보았습니다. 깔끔한 코딩을 위한 기본적인 코딩 기법에 대해서 알아보도록 하겠습니다. 깔끔한 코드가 중요한 이유 코드를 작성하는 시간만큼 읽는 시간도 많다 코드를 잘 작성해뒀을 경우 이해가 쉽고 유지보수하기도 쉽다 동료들과 협업할때 커뮤니케이션 시간이 짧아진다 깔끔한 코드란? 잘 동작하고 부연설명이 필요없는 코드 기본적인 코딩 기법 1. 검색이 가능한 이름을 써라 2. 함수명은 반드시 동사로 쓰고, 액션중심의 이름을 짓는것이 좋다 3. 함수는 하나의 일만 동작하도록 하라 4. 인수(argument..
안녕하세요. 오늘은 Mac OS의 SSH Client인 Termius를 사용하여 AWS EC2에 접속하는 방법에 대해서 알아보도록 하겠습니다. Terminal이나 iTerm을 사용하여 원격 서버에 접속하는 것도 가능하지만, Termius와 같은 전용 SSH Client 프로그램을 사용할 경우 관리가 필요한 여러개의 서버를 손쉽게 접속할 수 있습니다. 사용방법 Termius 다운로드 회원가입 좌측 상단의 메뉴 아이콘을 누르고 Keychain 버튼을 클릭합니다. Label을 입력하고 File 버튼을 클릭하고, Key file(pem 파일)을 등록합니다. 좌측의 Hosts 탭을 선택 Label, Address, Username, Password 혹은 Keys를 클릭하고 조금 전 등록한 Key 파일을 추가합니다..
안녕하세요. 오늘은 Visual Studio Code에서 html 파일을 수정 후, 바로 웹브라우저로 실행하는 방법을 알아보겠습니다. Visual Studio Code 에서 웹페이지 실행하는 방법 VS Code를 실행 좌측 하단의 마켓플레이스를 선택 "open in browser" 를 검색 후, 설치 .html 파일에서 ALT + B 단축키를 사용하여 웹페이지를 실행 모두 즐거운 코딩하세요 :)
2진수와 16진수 컴퓨터는 모든 데이터와 명령을 2진수(0 or 1)로 처리한다. 반도체 기억소자가 켜져 있는 상태 즉, on / off 만 있을 수 있기 때문이다. 0 또는 1의 한 자리 2진 수 정보를 저장할 수 있는 단위를 Bit라고 한다. 1비트의 저장 공간으로는 두 가지 기호 밖에 나타내지 못하고, 8비트 즉, 1바이트로 나타낼 수 있는 기호는 2의 8승(256)개를 나타낼 수 있다. 컴퓨터가 사용하는 2진수로 값을 표현하면 자릿수가 읽고 쓰기가 불편하다. 그래서 컴퓨터의 값을 표현할 때는 16진수를 많이 쓴다. 인코딩과 디코딩 사람들이 쓰는 문자를 컴퓨터에 저장하기 위해서는 2진수로 변환해야 한다. 이를 인코딩(encoding)이라고 한다. 반대로, 인코딩한 2진수를 사람이 읽기위해 문자로 되..