일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- cosine similarity metric
- go
- typescript
- golang
- esbuild
- body size
- Infra
- m4 pro
- gitops
- 코사인 유사성 메트릭스
- 캡슐화
- 오블완
- 디자인패턴
- elasticsearch
- goland
- UnBuffered channel
- Kubernetes
- intellij ide
- 티스토리챌린지
- http 413
- javascript
- 사설 ip
- Intellij
- 배포 프로세스
- AWS
- 배포 파이프라인
- GoF
- apollo router
- kube-prometheus-stack
- 구조체
- Today
- Total
Fall in IT.
Go 언어로 개발을 하다 보면, 구조체(struct)를 설계할 때 필드를 공개(public)로 해야 할지, 비공개(private)로 해야 할지 고민되는 경우가 많다. 캡슐화를 위해 private으로 설계했다가, 실제 사용 시 불편해지는 경험도 흔하죠. 그렇다면 Go에서는 어떤 기준으로 필드의 접근 범위를 설정하는 것이 좋을까? 이 글에서는 Go 언어의 철학에 기반해, 구조체 필드를 언제 public으로 두고 언제 private으로 설정하는 것이 적절한지를 설명하고자 한다.Go 언어의 철학: 실용성과 단순성Go 언어는 "실용적이고 단순한 언어"를 목표로 설계되었습니다. 창시자 중 한 명인 Rob Pike는 다음과 같이 말했다:"불필요한 복잡성을 피하라""명확성이 미묘한 기교보다 낫다" 이 철학은 구조체 ..

안녕하세요.오늘은 최근 회사에서 진행 인증 방식을 개선한 내용을 정리해보도록 하겠습니다.1. 기존 인증방식HTTP 헤더를 이용한 JWT 인증기존에는 클라이언트가 서버와 통신할 때, JWT(Json Web Token)를 HTTP 헤더의 Authorization 필드에 포함하여 요청을 보내고 이를 인증하는 방식이었습니다. 이 방식은 주로 다음과 같이 동작합니다. 기존 인증 방식 흐름클라이언트가 로그인 시 서버에서 JWT 토큰 (access token, refresh token)을 발급클라이언트는 API 요청 시 HTTP 헤더의 Authorization 필드에 access token을 포함하여 보냄서버는 Authorization 헤더에 포함된 토큰을 검증한 후 요청을 처리토큰이 만료되었을 경우, refresh..
ESBuild는 JavaScript와 TypeScript 코드를 빠르게 번들링하고 변환(트랜스파일링)하기 위한 고성능 빌드 도구입니다. Evan Wallace가 개발했으며, 속도와 효율성을 극대화하는 것을 목표로 설계되었습니다.ESBuild의 주요 특징빠른 속도:ESBuild는 Go 언어로 구현되어 있어 단일 스레드에서도 매우 빠른 성능을 발휘합니다.병렬 처리가 가능하여 멀티 코어 CPU 환경에서도 속도가 빠릅니다.TypeScript와 Babel 기반 도구에 비해 10~100배 더 빠릅니다.지원하는 언어와 기능:JavaScript: 최신 ES6+ 문법 지원.TypeScript: 트랜스파일링을 기본적으로 지원하지만, 타입 검사는 수행하지 않음.JSX/TSX: React 문법 지원.CSS: CSS 코드를 번..
tsx와 ts-node는 각각 타입스크립트를 실행하기 위한 도구지만, 두 도구는 서로 다른 사용 사례와 강점이 있어서 공존하고 있습니다. ts-node와 tsx 모두 런타임에 TypeScript를 JavaScript로 트랜스파일링하고 실행하지만, tsx가 더 빠른 이유는 트랜스파일링 방식, 캐싱 전략, 그리고 ES 모듈 처리 최적화 때문입니다. 아래에 두 도구의 작동 방식과 성능 차이의 이유를 자세히 설명드리겠습니다.1. 트랜스파일링 방식의 차이ts-node:ts-node는 TypeScript 컴파일러(tsc) 또는 TypeScript 서비스(typescript)를 사용해 TypeScript 코드를 JavaScript로 변환합니다.이 과정은 컴파일러가 전체 코드를 읽고 변환하므로 무겁고 느릴 수 있습니다..

왜 알아보게 되었나?간단하게 추천시스템을 만들때 필요한 개념들에 대해서 알아보다가 코사인 유사성 메트릭스라는 개념을 알게 되었는데, 이 개념이 유사도 추천 알고리즘에 효과적이라는 것을 알게되었다.어떤 개념이길래 유사도 추천 알고리즘에 효과적일까? 의문이 들어서 알아보게 되었다.코사인 유사성 메트릭스의 개념코사인 유사성이란 쉽게 말하면, 두 데이터(벡터)가 얼마나 비슷한 방향을 가리키는지를 측정하는 방법이다.즉, 두 데이터가 동일하거나 비슷한 속성을 많이 가질수록 유사도가 높게 나타나며 서로 다른 속성을 가질수록 유사도는 낮게 측정되는 것이다. 예를들어, 책 A와 B가 있을때 과학장르와 소설장르로 구분한다고 해보자.이때, A책은 소설이고 B책은 과학책 일때 두 책은 서로 완전히 다른 장르를 포함하고 있어 ..