일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- body size
- kube-prometheus-stack
- elasticsearch
- Kubernetes
- golang
- cosine similarity metric
- UnBuffered channel
- 오블완
- 배포 파이프라인
- Logrus
- typescript
- esbuild
- 티스토리챌린지
- 배포 프로세스
- m4 pro
- 사설 ip
- gitops
- 디자인패턴
- Buffered channel
- Infra
- intellij ide
- Intellij
- apollo router
- GoF
- goland
- go
- 코사인 유사성 메트릭스
- javascript
- http 413
- AWS
- Today
- Total
목록Information Technology (311)
Fall in IT.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d1Mue8/btqM0rYpQ5E/D5GKh2Qv8Sqm2RAkwc6Tb1/img.jpg)
안녕하세요. 오늘은 DNS 즉, Domain Name System에 대해서 간단하게 알아보고 그와 관련하여 자주 사용되는 용어들을 정리해보도록 하겠습니다. DNS(Domain Name System)란? 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행하는 시스템 DNS 동작 원리 컴퓨터에서 브라우저를 켜고 www.google.com 을 입력한다. 컴퓨터는 컴퓨터 내부에 등록 되어 있는 DNS 서버로 www.google.com에 해당되는 IP 주소를 물어보고 DNS 서버는 해당 도메인의 IP 주소를 알려준다. 컴퓨터는 이를 받아서 IP 주소에 해당하는 컴퓨터에 접속하게 되는 것이다. DNS가 나오게 된 배경 인터넷에 연결 된 컴퓨터 한대 한대를 호스트(host) 라고 한다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ZgI0G/btqMAqFtPvM/fuLGUWASUhBV6atMQVh98k/img.png)
안녕하세요. 오늘은 웹 성능 최적화 방법에 대하여 간단하게 알아보도록 하겠습니다. 목표 느린 웹 페이지를 빠르게 만들어보자 목차 로딩 최적화 방법 렌더링 최적화 방법 용어 정리 Navigation Timing Resource Timing (Network) + Processing + Load로 결합된 페이지가 그려지기까지의 과정을 나타낸 그림이다. Resource Timing은 네트워크와 연관 된 부분으로 프론트엔드에서 최적화하기 어렵다. Processing과 Load 부분은 최적화가 가능하다. Critical Rendering Path 브라우저가 하나의 화면을 그려내는 과정을 말한다. DOMContentLoaded Event HTML 파싱이 끝났을때 (DOM Tree 분석이 끝났을때) 발생하는 이벤트로 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cCjxO0/btqKSWljxqU/JvpkSJSkPOf6mzmsMv1jJ1/img.png)
안녕하세요. 오늘은 Golang에서 JSON 인코딩 / 디코딩을 사용하여 json object를 string으로 혹은 json string을 object 형태로 변환하는 방법에 대해서 알아보도록 하겠습니다. 소스코드 package main import ( "encoding/json" "fmt" ) // Person - 사람 정보 type Person struct { Name string Age int Sex int // 0: 여자, 1: 남자 } func main() { fmt.Println("Say hi!") // 1. CONVERT JSON OBEJCT TO STRING fmt.Println("\n1.CONVERT JSON OBEJCT TO STRING") var personA = Person{"Al..
안녕하세요. 오늘은 Golang에서 숫자(int)인 문자열을 숫자(int)로 변경하기 등 자주 사용되는 data parsing 방법에 대해서 알아보겠습니다. package main import ( "fmt" "reflect" "strconv" ) func main() { fmt.Println("say hi") // 1. int to string - 숫자(정수)를 문자열로 변환 a := strconv.Itoa(100) fmt.Println("a: ", a) // a: 100 fmt.Println("type a: ", reflect.TypeOf(a)) // type a: string // 1-1. int to string - 100을 10진수 문자열로 변환 aa := strconv.FormatInt(100,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/MqxfD/btqHzEiyJA7/3aSoqzDIrEspHtQJWjkL40/img.png)
안녕하세요. 오늘은 Mac에서 간단한 shell script를 만들고 해당 스크립트가 전역(모든 경로)에서 동작하도록 하는 방법을 알아보겠습니다. Mac에서 전역 실행될 script를 설정하는 방법 루트 경로에 전역으로 동작시킬 쉘스크립트가 저장될 디렉터리를 하나 생성한다. 필자는 $HOME(/Users/mac) 경로에 bin 디렉터리를 생성하였다. 간단하게 hello world를 출력하는 파일(test_script)을 만들고, 아래 명령어를 사용하여 실행가능한 파일로 권한을 변경한다. $ chmod +x test_script 필자는 zshell을 사용하므로 .zshrc 파일 하단에 전역으로 동작하고자하는 경로를 등록한다. PATH=$PATH:$HOME/bin ($HOME 대신 직접 경로를 적어도 무방하..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/K3eH5/btqGbaol2Dv/yTwnclmaS29TaAcFazmMfk/img.gif)
SSH란? Secure Shell의 약자 손쉽게 PC에 접근하는 방식을 제공하기 위해 만들어진 프로토콜 SSH의 역할 인증 (Authentication) 사용자와 서버를 이증하는 역할을 한다. public key와 private key를 사용하는 비대칭 암호방식을 사용한다. private key는 외부 유출없이 가지고 있고 public key만 네트워크를 통해 전달해놓고 인증하는 방식이다. 클라이언트에서 서버에 접속할때 사용자를 인증해야 하는데 이때 전통적인 패스워드 인증방식과 더불어서 사용된다. 암호화 (Encryption) SSH는 네트워크를 통해 전달되는 데이터를 암호화한다. 그래서 누군가 중간에 데이터를 가로채더라도 내용을 알 수 없다. 무결성 (Integrity) 네트워크를 통해 전달받은 데이터..
안녕하세요. 오늘은 Golang에서 시간을 간단하게 변환하는 방법에 대해서 알아보겠습니다. 알아볼것 문자열 시간을 Time 타입으로 변경하는 방법 Time 타입의 시간을 특정포맷의 문자열로 변경하는 방법 시간차 구하는 방법 샘플코드 # 1. 문자열 시간을 Time 타입으로 변경하는 방법 currentTime := "2020-07-30" t, _ := time.Parse("2006-01-02", currentTime) fmt.Println(t) # 2. Time 타입의 시간을 특정포맷의 문자열로 변경하는 방법 a := t.Format("2006.01.02") fmt.Println(a) # 3. 시간차 구하는 방법 t2, _ := time.Parse("2006-01-02","2020-07-20") days ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rnl4l/btqFrnI5ydv/JZJ7o1xC45lC5gSFeJFlhk/img.png)
문제 User Table에 agreement 필드가 있고, agreement 필드의 값으로 JSON DATA가 저장되어 있을 경우 JSON DATA의 특정 값을 조회하고 싶다. 방법 # 마케팅 알람설정값 모두 조회 SELECT JSON_EXTRACT(agreement, '$.MarketingAlarm') as MarketingAlarm FROM user # 마케팅 알람설정이 true인 데이터만 조회 SELECT JSON_EXTRACT(agreement, '$.MarketingAlarm') as MarketingAlarm FROM user WHERE JSON_EXTRACT(agreement, '$.MarketingAlarm') = true
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bJtrPT/btqFbkLJvq9/I8z8SDfvPr5TYlKrxJABqK/img.png)
안녕하세요. 오늘은 너튜브를 보다가 우연히 보게 된 클린코드 관련 영상을 보고 많은 공감을 했습니다. 가장 기본적인 이야기인데 현업에서 일을 하다보면 지켜지지 않는 경우가 꽤 많은것 같아서.. 쉽고 간단하게 정리해보았습니다. 깔끔한 코딩을 위한 기본적인 코딩 기법에 대해서 알아보도록 하겠습니다. 깔끔한 코드가 중요한 이유 코드를 작성하는 시간만큼 읽는 시간도 많다 코드를 잘 작성해뒀을 경우 이해가 쉽고 유지보수하기도 쉽다 동료들과 협업할때 커뮤니케이션 시간이 짧아진다 깔끔한 코드란? 잘 동작하고 부연설명이 필요없는 코드 기본적인 코딩 기법 1. 검색이 가능한 이름을 써라 2. 함수명은 반드시 동사로 쓰고, 액션중심의 이름을 짓는것이 좋다 3. 함수는 하나의 일만 동작하도록 하라 4. 인수(argument..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bGbeFK/btqEVV6dg94/6UuUGzzAiJwD3E9XemhG40/img.png)
안녕하세요. 오늘은 AWS의 S3를 활용하여 간단하게 정적 웹사이트 호스팅하는방법에 대해서 알아보도록 하겠습니다. AWS의 S3를 활용하여 간단하게 정적 웹사이트 호스팅하는방법 (아래 설명은 AWS의 계정이 존재한다고 가정하고 설명합니다. 계정이 없으신 분들은 생성 후에 따라해주세요 :) ) 간단한 웹사이트 준비 AWS의 S3 버킷 만들기 S3 환경 설정하기 속성탭에서 정적 웹사이트 호스팅 활성화 권한탭 -> 퍼블릭 엑세스 차단에서 모든 퍼블릭 엑세스 차단 비활성화 권한탭 -> 버킷 정책 추가 권한탭 -> CORS 구성 완료 참조 https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors https://docs...