일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- tenneling
- GoF 디자인패턴
- Infra
- notification system
- Live Template
- 시스템 설계
- AWS
- image resizing
- goroutine
- 클래스 관계
- 대규모 시스템 설계
- Lambda@Edge
- GoF
- 윈도우키보드
- argocd
- gitops
- 알림 시스템
- Bastion Server
- go
- Kubernetes
- UnBuffered channel
- Golines
- AWS Infra
- System Design
- 컴포지트패턴
- 디자인패턴
- golang
- Helm V3
- Buffered channel
- Logrus
- Today
- Total
목록기타 (84)
Fall in IT.
안녕하세요. 오늘은 vscode에서 자동완성 단축키 설정방법에 대해서 알아보겠습니다. 맥북을 사용하는 경우 커맨드 + 스페이스, 쉬프트 + 스페이스 단축키는 시스템 단축키로 사용되고 있기 때문에 단축키를 변경하여 사용하는 것이 좋습니다. vscode 자동완성 단축키 설정방법 키보드 단축키 환경설정 탭으로 들어갑니다. Code -> Preferences -> Keyboard Shortcuts (단축키 cmd + K, cmd + S로도 진입가능) suggest를 검색 합니다. Trigger Suggest의 Keybinding에 원하는 단축키로 변경해줍니다. 필자는 option(alt) + space 단축키를 사용하였습니다. 완료! 모두 즐거운 코딩하세요~
안녕하세요. 오늘은 맥에서 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 파일을 추가합니다..