일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- go
- 컴포지트패턴
- Live Template
- Kubernetes
- Buffered channel
- System Design
- 디자인패턴
- argocd
- Infra
- 윈도우키보드
- GoF
- UnBuffered channel
- 대규모 시스템 설계
- goroutine
- GoF 디자인패턴
- 클래스 관계
- 알림 시스템
- Helm V3
- notification system
- Bastion Server
- golang
- Lambda@Edge
- AWS
- Logrus
- Golines
- AWS Infra
- image resizing
- gitops
- tenneling
- 시스템 설계
- Today
- Total
목록Information Technology (295)
Fall in IT.
안녕하세요. 오늘은 NAT(Network Address Translation)의 개념에 대해서 간단히 알아보도록 하겠습니다. NAT란? 한국어로 직역하면 네트워크 주소 변환로 사설 IP를 공인 IP로 변환해주는 기술입니다. NAT를 사용하는 이유는? 사설 네트워크에 속한 여러 개의 기기(호스트)가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위해서 사용합니다. 가정에 많이 사용되는 공유기(=라우터)에서 사용되는 기술입니다. (아래 그림 참고) NAT 동작 원리 예를들어 공유기에 연결되어있는 192.168.0.4의 사설 IP를 사용하는 컴퓨터에서 구글 사이트(www.google.com)에 접속할 경우 아래와 같은 순서로 처리가 됩니다. # 1. Gateway Address에 해당하는 IP의 머신에게..
오늘은 Onpremise 환경으로 사용하던 Gitlab 저장소를 Cloud 환경의 Github 저장소로 이전해보려고 합니다. 목적 Onpremise 환경의 Gitlab서버를 Cloud 환경의 Github 저장소로 이전한다. 요구사항 이전 commit 이력(history)이 모두 이전되어야 한다. Git 명령어를 사용하여 이전한다. 구축방법 1. Git 명령어 중 git clone --mirror 옵션을 사용해서 원본 저장소의 모든 기록을 clone(복사) 한다. 2. 이동할 원격 저장소의 경로를 지정한다. 3. 지정한 원격 저장소로 모든 데이터를 push 한다. # 1. 원본 저장소의 모든 이력(history) 복사 $ git clone --mirror [원본 저장소 경로] # 2. clone한 디렉터리..
box-sizing 이란? 박스의 크기를 어떤 것을 기준으로 계산할지를 정하는 속성 box-sizing 속성을 사용하면 엘리먼트의 패딩과 테두리가 너비에 영향을 주지 않습니다. 이렇게 하면 모든 엘리먼트가 직관적인 방식으로 크기가 설정되기 때문에 아에 전역 설정으로 사용하곤 합니다. * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } box-sizing 설정 값 box-sizing: content-box | border-box | initial | inherit content-box border와 padding을 제외하고 content 영역을 기준으로 박스 사이즈가 결정된다. border-box..
안녕하세요. 오늘은 Typescript로 싱글톤 패턴에 대해서 알아보도록 하겠습니다. 싱글톤 패턴이란? 특정 클래스의 인스턴스가 단 하나만 존재해야 하는 경우가 있다. 이때 싱글톤 패턴을 사용합니다. 예제 소스 class Singleton { private static _default: Singleton; public static get default(): Singleton { if (!Signleton._default) { Signleton._default = new Signleton(); } return Signleton._default; } } 이러한 접근 방식의 또 다른 이점은 초기화 지연이다. 따라서 객체는 처음 액세스할 때 초기화 됩니다. 모두 즐거운 코딩하세요~
안녕하세요. 오늘은 Xcode에서 앱스토어로 앱을 배포하려고 하는데, Archive 버튼이 비활성화되어 있을때 활성화하는 방법을 알아보도록 하겠습니다. Archive 버튼이 비활성화 되는 이유는 buildDevice가 시뮬레이터로 설정되어 있을때 비활성화가 됩니다. 따라서, buildDevice를 Generic iOS Device 또는 실제 디바이스로 변경해주시면 Archive 버튼이 활성화됩니다. 모두 즐거운 코딩하세요~
안녕하세요. 오늘은 CSS에서 background-repeat 속성에 대해서 간단히 알아보도록 하겠습니다. background-repeat이란?background-repeat으로 배경 이미지의 반복 여부 또는 반복 방향을 정할 수 있습니다.특정 패턴의 이미지를 width의 길이에 상관없이 반복하고자할 경우 사용합니다. 아래와 같은 패턴이 반복될 경우, 작은 패턴의 이미지를 하나 만들고 background-repeat을 사용해 구현할 수 있습니다. 예제 코드 body { width: 100%; background-image: url("이미지 경로 입력"); background-repeat: repeat-x; // repeat-y, no-repeat 등의 옵션 사용 가능 } 참조https://www.w3sc..
안녕하세요. 서버를 운영하다보면 서버의 하드 디스크 사이즈가 부족한 경우가 생길 수 있습니다.오늘은 서버의 루트 볼륨을 늘리는 방법에 대해서 알아보도록 하겠습니다. 해당 글은 운영중인 서버의 디스크 용량을 빠르게 확장하기 위해서 상세한 내용은 생략되어 작성되었습니다. 따라서, 자세한 내용을 확인하고자 하는 분들은 AWS 공식 문서를 확인해주세요. : ) 볼륨을 확장하기 위해서는 2가지 단계가 진행되어야합니다.첫 번째는 EBS 볼륨을 확장해야하고, 두 번째는 파일 시스템을 확장해야 합니다. 확장한 볼륨을 모두 사용하기 위해서는 파일 시스템의 크기를 조정해야만 합니다. 파일 시스템 관련 명령을 사용하여 확장한 볼륨에 맞게 파일 시스템의 크기를 조정합니다. ext2, ext3, ext4 파일 시스템의 경우 이..
안녕하세요. 오늘은 자주 사용되는 GIT 커맨드라인 몇 가지에 대해서 알아보겠습니다. 목표git add 취소하기 staging -> unstaging 상태로 되돌리는 방법 git commit 취소하기 commit된 상태에서 staging 상태로 되돌리는 방법 작업중인 파일들 되돌리기 git add 취소하기 $ git reset HEAD git commit 취소하기commit을 취소하는 방법은 세 가지가 있습니다. 1. git reset --soft 옵션을 사용하는 방법2. git reset --mixed 옵션을 사용하는 방법3. git reset --hard 옵션을 사용하는 방법 // --soft 옵션: commit을 취소하고 staging 상태로 돌아온다.$ git reset --soft HEAD^ /..
Git Alias 개념 및 사용법 (Git 단축키 설정 방법) 개념 cmd에서 git을 사용하지 않고 git client를 사용하는 이유는 여러가지가 있겠지만, 그중에서 branch 흐름을 한눈에 쉽게 파악할 수 있기 때문입니다. cmd에서 git log 명령어를 통해 확인하긴 어렵기 떄문에 다양한 옵션을 추가하여 확인합니다. $ git log --graph --abbrev-commit --decorate --format=format:'%C(cyan)%h%C(reset) - %C(green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(yellow)%d%C(reset)' --all매번 위와 같이 긴 명령어를 사용할 수 없기 떄문에 g..
IT 인프라란? 애플리케이션을 가동시키기 위해 필요한 하드웨어나 OS, 미들웨어, 네트워크 등 시스템의 기반을 말합니다. 시스템 요구사항이라고하면 두 가지로 정리할 수 있습니다. 기능적 요구사항 어떤 기능을 하는지, 무엇을 할 수 있는지 비기능적 요구사항 시스템의 성능, 안정성, 확장성, 보안 등 IT 인프라는 이런 비기능적인 요구사항과 관련이 있습니다. 개발자에게 인프라 지식이 필요한 이유 예전에는 데이터센터나 서버실에 서버를 직접 두고 관리하던 On-premise 방식이었기 때문에 물리적 서버를 담당하는 엔지니어가 따로 존재했습니다. 그러나, 최근에는 On-premise방식에서 Cloud 방식으로 넘어오게 되면서 개발자가 배포나 테스트 등을 직접 할 수 있게 되었고 이로 인해서 인프라 관련 지식이 필..