공부하고 기록하는, 경제학과 출신 개발자의 노트
반응형

학습일지 204

if kakao 2021 - PostgreSQL ecosystem

https://if.kakao.com/session/59 if(kakao)2021 함께 나아가는 더 나은 세상 if.kakao.com PostgreSQL EcoSystem 1996년 오픈소스 프로젝트로 오픈됨. 현재까지도 1년에 한 번은 메이저 버전이 오픈됨. Extension: 다양하고 실험적인 기능을 패키지 형태로 제공하는 기능. 예시: 데이터 암호화 기능 (pg), pivot table 쿼리를 쉽게 구현할 수 있는 tablefunc. FDW : Foreign Data Wrapper 원격지의 데이터를 로컬 table처럼 사용할 수 있게 해주는 extension. 원격 데이터 + 로컬 데이터 join이나 DML 실행이 가능함. 데이터 처리 로직을 보다 간단히 구현할 수 있음. Orafce : 오라클과 ..

Fluentd 정리: Open Source Log Data Collector

https://www.youtube.com/watch?v=5ofsNyHZwWE Why we Need Logs? k8s에 여러 MicroService 앱이 배포되어 있다고 가정하자. nodejs / python postgres DB RabbitMQ 각각의 앱은 "어떤 동작을 하고 있는지" 로그를 생성한다. 로그는 보통 아래 세 가지 목적으로 쓰임. Compliance Security Debugging How Application Logs data? Write to files. 일반적인 방식. 단, 로그데이터 분석에는 제약이 따름. UI나 visualization tool 없이는 cross application log 확인도 어려운 편 로그마다 format도 다름 (timestamps, log level 등..

학습일지 2022.08.03

Token-based Authentication - JWT의 단점과 PASETO

아래 글과 유튜브 영상 내용을 학습하면서 기록한 포스트 https://dev.to/techschoolguru/why-paseto-is-better-than-jwt-for-token-based-authentication-1b0c Why PASETO is better than JWT for token-based authentication? JWT vs PASETO Nowadays, token-based authentication has become more and more popular in the... dev.to https://youtu.be/nBGx-q52KAY Why Paseto is better than JWT? Token-based Authentication 방식에서 많이 사용되는 게 JWT. 그..

KubeCon 2022 Europe - Create your first CNCF Serverless Workflow Project with Kogito and Knative

Create your first CNCF Serverless Workflow Project with Kogito and Knative선요약Kogito: Redhat에서 진행중인 knative serving / eventing 컴포넌트의 조합을 묶어 workflow를 구성해 주는 프로덕트사용자에게서 json / yaml 형태의 선언형으로 input을 받고, 주어진 값을 토대로 quarkus을 활용해서 knative object를 만들어준다추후에는 low code 형태로도 개발해서 소스코드를 입력하지 않고도, 비개발자도 사용할 수 있는 방향을 구상하고 있다고 함. CNCF Serverless Workflow project - KogitoCNCF Sandbox incubating project로, DSL to..

Transaction Isolation - MySQL과 Postgresql 비교

Transaction Isolation Level / read phenomena ACID 4요소 중 하나가 isolation. 가장 높은 수준의 isolation -> all concurrent txn will not affect each other. 반대로 말하면, txn이 다른 txn에게 영향을 줄 수 있는 정도가 구분된다는 뜻. 이걸 Read Phenomenon이라 부른다. Dirty Read : uncommitted txn값을 읽어들이는 것. txn이 commit일지 rollback일지 알 수 없기 때문에 incorrect data를 사용하게 될 가능성이 높음 Non-Repeatable Read : 동일한 쿼리 요청을 했는데 응답값이 달라지는 경우 Phantom Read : 2와 비슷하지만, 하나..

Deview 2021 - NAVER 암호화 트래픽을 책임지는 HTTPS 플랫폼 기술 - 2. 활용

L7 based Load balancing 기본적으로 L4 로드밸런서 method 제공. L7에서 받을 수 있는 데이터 기반으로 많은 기능을 추가로 제공함. 네이버에서는 각 서비스 단위별로 운영하며, host header 기반 Route 아키텍처. Path based Route L7 로드밸런서의 특징. 클라이언토 요청을 url path 기준으로 정의된 패턴에 부합하는 origin으로 라우팅. 하나의 도메인에서도 static / dynamic 콘텐츠의 origin 분리해서 활용할 수 있음. Circuit Breaker 모든 origin에서 정상 응답이 불가능한 상황이 되면, 정상 연결될 때까지 다른 origin 군으로 연결해주거나 직접 응답하는 기능. nfront가 redirect / static erro..

Deview 2021 - NAVER 암호화 트래픽을 책임지는 HTTPS 플랫폼 기술 - 1. 기술

https://tv.naver.com/v/23651836 NAVER 암호화 트래픽을 책임지는 HTTPS 플랫폼 기술 NAVER Engineering | 공진호/김해랑 - NAVER 암호화 트래픽을 책임지는 HTTPS 플랫폼 기술 tv.naver.com Naver 암호화 트래픽을 책임지는 https 플랫폼 기술 SSL Termination / PassThrough termination : 암호화 트래픽의 연산작업을 대행해주는 기능. back에 있는 서버는 복호화되어 있는 데이터만 처리함. 리소스 효율화 / 백엔드의 외부 노출이 방지되어 보안에 유리한 솔루션. nFront 플랫폼이 오픈하던 시기는 2018년. 브라우저가 https를 디폴트 통신으로 설정하는 추세, https 아닐 경우 경고메시지 표시... ..

DevNation Day 2020 - Knative Backstage (how autoscaler actually works)

Knative BackStage - how autoscaler Actually works https://youtu.be/sh9mfUExX9o Paul Morie. Serverless Engineering team at RedHat 일반적으로 Serverless 하면 Function as a Service나 AWS Lambda를 떠올린다. 그 정도 full experience를 다루는 건 아니고 Enabling core technology / concept를 다룬다고 보면 됨. Knative Serving: Scaling Application on-demand. Knative Eventing: working with events that are emitted by different sources. Knat..

if kakao 2021 - k8s Cluster 확장, 어디까지 알아보고 오셨어요?

https://if.kakao.com/session/119 if(kakao)2021함께 나아가는 더 나은 세상if.kakao.com Multi-IDC 구축하면서 SLA 확보하기 위한 시도들.  카카오페이는 현재 800여 개 이상의 microservice를 k8s에서 운영중.장애가 날 만한 상황은 예방하기 + 안정적으로 운영 가능한 아키텍처 구축이 필요함.  k8s 운영 시 발생할 수 있는 위험요소들을 정리한 영역k8s cpu 관련 이슈 : limit / 쓰로틀링리눅스 커널 업데이트, pod 개수와 성능 보장 등istio 관련 이슈 - 카카오페이는 service mesh로 istio 쓰는가 보다프로토콜 선택 관련 이슈citadel 인증서 기한 만료envoy의 hot restart fail 이슈hot res..

Writing Beautiful Package in Go

Golang UK Conference 2017 발표. https://youtu.be/cmkKxNN7cs4 go로 개발한 오픈소스 패키지가 여러 사람들에게 유용하고 쉽게 쓰이려면 어떻게 해야 하는지를 설명한 강연 package는 go파일 (_test.go 포함) 로 구성된 하나의 디렉토리. 다른 프로젝트에서 import해서 사용할 수 있음 exported / internal 두 종류가 있음 main 패키지 말고. main 패키지는 command를 의미함 user-centred Design 결국 사람이 쓰는 거니까, 개발하려는 프로덕트의 최종 사용자의 요구사항, 제한조건을 고려해서 설계해야 한다. 따라서 고민해야 할 점 누가 쓸 건지 하려는 건 무엇인지 왜 하려는 건지 굳이 내 패키지를 쓰려는 이유는 뭔지 ..

반응형