일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구조체
- kube-prometheus-stack
- redirect-gateway
- m4 pro
- AWS
- ssh 에이전트
- GIT
- apollo router
- 티스토리챌린지
- body size
- elasticsearch
- go
- golang
- 디자인패턴
- esbuild
- goland
- javascript
- 서비스메쉬
- GoF
- authorizationpolicy
- typescript
- 사설 ip
- cosine similarity metric
- 2024 톨스토이문학상 수상
- Kubernetes
- 캡슐화
- Infra
- 코사인 유사성 메트릭스
- Intellij
- 오블완
- Today
- Total
목록Information Technology (316)
Fall in IT.
이 글에서는 온프레미스 환경에서 클라우드의 Elasticsearch에 보안적으로 안전하게 접근하기 위해 Istio의 AuthorizationPolicy를 활용하여 특정 도메인만 특정 IP에서 접근 가능하도록 설정한 방법을 공유한다.참고로, 필자가 다니는 회사에서는 클라우드와 온프레미스 환경을 둘다 사용하여 서비스를 운영하고 있다.상황 요약AI 추론 및 학습 서버는 온프레미스에 구축되어 있고,그 외의 서비스의 클라우드 인프라는 AWS EKS에서 운영되고 있다.각 서비스에서 발생하는 로그는 클라우드 Kubernetes에 설치형으로 운영 중인 Elasticsearch에 저장된다.Elasticsearch는 보안상 외부에 노출되지 않고, VPC 내부에서만 접근 가능하도록 설정되어 있다.온프레미스에서 동작하는 서비..

회사나 사무실 내부망(온프레미스)에 접속하기 위해 VPN을 연결했더니 인터넷이 안 된다.. 헐…원인을 분석해서 인터넷과 VPN을 동시에 사용할 수 있도록 해결해보자.어떤 문제가 발생했나?상황macOS 환경에서 Tunnelblick을 이용해 OpenVPN에 접속VPN 인증 후 온프레미스 리소스에는 잘 접속 됨 (AI 추론 및 학습에 사용되는 사내 온프레미스 서버)그런데… 로컬 PC에서 인터넷이 안 됨원인전달받은 vpn 접속을 위한 설정 정보에 아래와 같은 옵션이 추가 되어 있었다.# 이 옵션은 모든 네트워크 트래픽을 VPN을 통해서만 나가도록 만드는 설정이다. # 즉, Google 검색도 VPN을 통해서 나가기 때문에 # VPN 서버가 외부 인터넷이 연결되지 않는 상황이라면 인터넷이 안되는 것이다. red..

삶은 견딜 만한 것이다. 시간이 모든 것을 잊게 해주기 때문에.그래도 삶은 살아볼 만한 것이다. 사랑이 모든 것을 기억하게 해주기 때문에. - 작은 땅의 야수들 중 김주혜 작가의 장편소설 작은 땅의 야수들 을 읽으며 문득 떠오른 생각이다. 이 책은 단순히 한 시대를 배경으로 한 소설이 아니라, 그 시절을 '살았던' 사람들의 감정과 풍경을 눈앞에 펼쳐 보이는 듯한 작품이었다. 한국의 근현대사를 다룬 많은 책들이 있지만, 작은 땅의 야수들 은 그 시대를 말로 설명하기보다 피부로 느끼게 한다.차가운 ..

개요새로운 노트북을 사용할 때, GitHub 저장소를 안전하게 복제(Clone)하기 위해서는 SSH 키를 사용하여 인증 과정을 설정해야 합니다.이 문서에서는 SSH 키를 생성하고 GitHub에 등록하여 저장소를 SSH 방식으로 clone 받을 때까지의 과정을 단계별로 설명하고, 각 과정의 이유도 함께 설명합니다.왜 SSH 키를 사용해야 할까?GitHub은 보안을 위해 저장소에 접근할 때 인증을 요구합니다.기본적으로 두 가지 방식이 있습니다.HTTPS 방식: 매번 사용자 이름과 비밀번호(또는 Personal Access Token)를 입력해야 함SSH 방식: 한번 키를 설정해두면 비밀번호 입력 없이 안전하게 통신 가능SSH 키를 사용하면,비밀번호 없이 편하게 작업할 수 있고키 기반 인증은 훨씬 안전합니다...
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책은 과학책 일때 두 책은 서로 완전히 다른 장르를 포함하고 있어 ..

Jupyter Notebook을 사용하면 웹브라우저에서 파이썬 코드가 동작한다.적어도 겉으로 볼때는 그래보인다. 어떻게 동작하는걸까? 궁금해서 알아본 내용을 정리한다.Q. 웹브라우저는 파이썬을 실행시키는 환경이 없는데 어떻게 파이썬 코드를 실행시킬 수 있을까?A. 결론부터 말하자면, Jupyter Notebook은 웹브라우저에서 파이썬 코드가 실행되는 것이 아니라 로컬에서 실행되는 Jupyter 서버를 통해서 웹브라우저에서 작성한 파이썬 코드를 실행시키고 실행 결과를 웹브라우저에 보여주는 것이다.Jupyter Notebook의 동작 방식을 간단하게 보면,사용자가 브라우저에서 Python 코드를 작성하고 실행 버튼을 누른다.브라우저는 HTTP 또는 WebSocket을 통해서 Jupyter 서버에 전달한다...