Dev
GPT를 활용한 프로젝트 자동 채점 기능 개발기 - 도전과 해결 과정
학습관리플랫폼 에서 중요한 부분인 프로젝트 평가의 흐름에 대해 설명해보면
Google Cloud Platform에서 Kubeflow 구축하기- 상세 가이드
GKE 자동 업그레이드 후 Istio 버전 호환성 문제 해결- 경험과 교훈
문제의 진짜 원인을 쫓는 모험
카카오 로그인 어디까지 해봤니?
기존에 운영중인 사이트에 sns 회원가입/로그인을 도입한다면 조금더 나아간 고민을 할수 밖에 없고 이러한 고민을 먼저 진행해본 사람으로써 도움을 주기위해 이번 글을 적어보겠다.
CERTIFIED KUBERNETES ADMINISTRATOR (CKA) 2023 후기
2023 CERTIFIED KUBERNETES ADMINISTRATOR (CKA) 시험을 준비하며 공부한 자료들과 시험에 응시한 후기를 정리했습니다
Amazon Simple Email Service 이메일 인증 SPF, DKIM, DMARC
스팸함에 들어가는 메일을 구제하라!
백엔드 개발자 면접 질문 정리(2)
백엔드 개발자 면접 예상 질문 및 주요개념을 정리해보았습니다.
가상 시나리오로 살펴본 MySQL과 MongoDB의 차이점은?
MySQL과 MongoDB의 주요 차이점은 다음과 같다
system call 그리고 .so와 .a 파일의 차이
시스템 호출은 프로그램이 운영 체제의 핵심인 커널에 서비스를 요청할 수 있도록 운영 체제에서 제공하는 메커니즘입니다.
fastapi event driven architecture practice- part2
앞서 정리한 Event Driven Architecture The Complete Guide - 강의노트 를 바탕으로 가상 시나리오를 작성하고 event driven architecture 를 연습해보겠습니다.
fastapi event driven architecture practice- part1
앞서 정리한 Event Driven Architecture The Complete Guide - 강의노트 를 바탕으로 가상 시나리오를 작성하고 event driven architecture 를 연습해보겠습니다.
Event Driven Architecture The Complete Guide - 강의노트
Udemy 강의 Event Driven Architecture - The Complete Guide 를 듣고 강의내용 정리
어느날 갑자기 장애 - Istio Upgrade
끝없이 이어지는 슬랙 에러알림과 만난적이 있는가?
ChatGPT Prompt Engineering for Developers - prompt only
ChatGPT Prompt Engineering for Developers 강의를 들었습니다 1시간정도 분량인데 pompt 에 대해서 이런방식으로 사용하면 좋다는 howto를 알려줍니다 다양한 예시와 함께 알려줘서 prompt 예제를 기록해두고 필요한 경우에 맞춰서 사용하려고 합니다
504 Gateway Timeout - 대량파일 다운로드
관리자메뉴에서 엑셀다운로드 버튼을 클릭했을 때 아래와 같은 에러가 발생하고 있었다. ERR_FAILED 504
Python 비동기 예제
python에서 비동기 처리는 언제 필요할까? 간단한 코드 예제로 asyncio를 사용한 비동기처리 그리고 redis celery를 사용한 비동기처리를 살펴보자
ORM 과 트랜잭션
ORM Object-relational mapping 은 객체와 데이터베이스 시스템을 연결(맵핑) 해주는 라이브러리다.
동시성과 병렬처리, 전환로직에서 동시성 고려
동시성 처리는 애플리케이션 내에서 동시에 실행되는 여러 스레드 또는 프로세스를 관리하는 프로세스를 말합니다. 이는 애플리케이션이 여러 프로세서 또는 코어를 활용하고 여러 요청 또는 작업을 동시에 처리할 수 있게 해주기 때문에 소프트웨어 개발에서 중요한 측면입니다.
Auto GPT는 어떻게 시작되었나
엔지니어에게 직접 배우는 GCP, kubernetes, Firebase 환경세팅(2)
첫번째 글에서는 Firebase, GCP IAM, Cloud Run, Cloud Tasks, Cloud DNS, Filestore 를 하나씩 세팅해보면서 준비했고 이번 글에서는 GKE Cluster 세팅을 중점적으로 다뤄보려고 한다.
엔지니어에게 직접 배우는 GCP, kubernetes, Firebase 환경세팅(1)
쿠버네티스 관련 책을 사두고 1번정도 읽어보기는 했지만
NAVER Deview 2023 Day2 Review
Day2 세션들 중 관심있는 세션들을 슬라이드 내용을 중심으로 요약정리했습니다
사용자 패스워드를 전송/보관하는 방법은?
사용자 비밀번호를 전송하고 보관하는 가장 일반적이고 안전한 방법 중 하나는 해싱이라는 프로세스를 사용하는 것
NAVER Deview 2023 Day1 Review(2)
Day1 세션들 중 직접 듣지는 못하였으나 관심있는 세션들을 슬라이드 내용을 중심으로 요약정리했습니다
NAVER Deview 2023 Day1 Review(1)
Day1 만 신청완료되었고 여러 세션들 중 관심있는 세션들을 듣고 내용을 요약정리했습니다. 각 세션 끝에는 간단히 느낀점과 생각들도 정리하였습니다.
검색 도메인에 입문하기 2023 w/ ChatGPT
NAVER DEVIEW 2023 참가를 앞두고 검색 문외한이 검색관련 세션을 듣기전에 미리 사전학습한 내용을 정리해봤습니다. 네이버 검색은 어떻게 나보다 더 내 의도를 잘 아는가? : AiRSearch 반응형 추천
구글에 취업하기 위해 1년동안 준비해야할 것들
Google 입사 준비는 길고 어려운 과정이 될 수 있지만, 헌신과 끈기를 가지고 노력하면 충분히 해낼 수 있습니다. 다음은 Google에서 취업을 준비할 때 고려해야 할 몇 가지 범주입니다
Understanding Base64 Encoding- A Comprehensive Guide for Beginners
base64 인코딩은 데이터 크기를 늘리고 안전한 암호화가 아니지만 이진 데이터를 텍스트로 표현하는 유용한 기술로, 텍스트 기반 매체를 통해 바이너리 데이터를 전송하거나 저장할 때 중요
chatGPT를 slack 과 연동해서 멘션으로 대화하기 (feat. chatGPT)
chatGPT를 조금더 편하게 사용할수는 없을까?
https://chat.openai.com/ 에 접속해 구글 로그인하고 궁금한 내용을 구글번역에서 영어로 변환한 후
백엔드 개발자 면접 질문 정리
백엔드 개발자 면접 예상 질문 및 주요개념을 정리해보았습니다.
RDBMS NoSQL 차이
RDBMS vs NoSQL 의 비교되는 특징과 데이터베스 선택시 어떤 점을 고려해야할지 정리해보았습니다.
Index 의 모든 것
인덱스는 무엇이고 생성방법과 작동방식에 대한 단계별 설명, 인덱스 종류와 유형, 다중인덱스, 예제 케이스를 통한 테이블 컬럼에서 인덱스를 추가할 컬럼을 고르는 기준에 대해 정리해보았습니다.
Python vs Java
Python에서 온 개발자P, Java에서 온 개발자J
MSA vs Monolitic
마이크로서비스 아키텍처와 모놀리식 아키텍처는 소프트웨어 애플리케이션을 설계하고 구축하는 두 가지 다른 접근 방식입니다.
Travis CI 에서 Github Action 으로 AWS Elastic Beanstalk 배포하기
들어가며
구글 엔지니어는 이렇게 일한다
궁금한게 있을때 크롬브라우저로 검색하고 유튜브 영상링크를 공유하고 Keep 으로 메모하고 google Docs, jamboard 까지 구글의 여러 제품을 일상속에서 매일 사용중입니다.
어떻게 로깅할 것인가 feat. Elastic Beanstalk Cloud Watch Logging
실제로 서비스를 운영하기 시작하면 운영자로부터 다양한 요청들을 받기 시작한다.
함께 자라기 애자일로 가는 길
내가 정말 잘 할 수 있을까? 아니 우리가 정말 자랄 수 있을까?
한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online - 강의노트
패스트 캠퍼스 온라인 강의 한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online 를 수강하며 강의 주요 내용을 정리해보았습니다
맨땅에서 AI학습플랫폼을 만들기까지
10월 2일- 3일 열린 파이콘 2021에서 AIFFEL 학습플랫폼 개발기를 발표하고 해당 내용을 글로 정리해보았습니다
Travis CI로 AWS ElasticBeanstalk 배포하기
소개: 이번 글에서는 지속적인 통합과 배포를 위해 Travis CI를 사용하여 AWS Elastic Beanstalk에 애플리케이션을 배포하는 방법을 다룹니다. 이 튜토리얼은 개발자를 대상으로 하며 이해하기 쉬운 설명, 중급 코드 예제, 단계별 프로세스 분석이 포함되어 있습니다.
CI/CD 끝장내기
어느정도 개발이 진행되고 나면 이제는 개발서버에서 벗어나 실제 운영서버를 갖추어야한다.
[번역] PgBouncer 설정으로 Azure DB for PostgreSQL 성능 높이기
프로젝트 개발 101
“여기, 시스템 하나 주문이요~”
전체쌍 최단경로 문제는 Floyd-Warshall 알고리즘!
3가지 부분에 대해서 살펴보려고 한다
웹방화벽, 그것이 알고싶다
얼마전 겪었던 조금은 황당했던 일을 통해 웹방화벽을 정리해보고자 한다
스타크래프트 인공지능 봇을 만들어보자 chap2
- 튜토리얼 따라해보기
스타크래프트 인공지능 봇을 만들어보자 chap1
- 막장을 위하여! 위대한 여정의 시작
window.close 와 self.close
팝업창을 닫아야 하는데 ie에서는 잘 작동되는 소스가 ipone 웹, 앱에서는 작동되지않는 문제가 발생다른 방법으로 해결하기는 했으나 close 메서드가 다양하게 있는걸 알고 각각의 특징을 정리해두고자 한다
window.close();
현재창을 닫거나 호출된 창을 닫는다이 메서드는 window.open() 메서드를 사용해서 열린 창들에게만 적용된다스크립트로 호출된 창이 아니면 다음과 같은 에러가 나오기도 한다Scripts may not close windows that were not opened by script.
날씨알려주는 알람을 만들어보자 chap2
고려해야했던 부분들을 몇가지 짚어보면서 이야기하고자 한다
날씨알려주는 알람을 만들어보자 chap1
날씨알려주는 알람 아이디어를 실현시키기 위해
Scala Code Review- foldLeft and foldRight (번역)
스칼라 문제를 풀다보면 foldLeft와 foldRight 가 문제를 푸는데 많이 활용된다
공변성/반공변성(Variance)
공변성/반공변성(Variance) 스칼라의 타입 시스템은 다형성 뿐 아니라 클래스 계층관계도 처리해야만 한다. 클래스의 계층은 상/하위 타입 관계를 만든다. OO와 다형성이 합쳐지면서 생기는 핵심문제는 바로 “
함수형 프로그래밍언어, 스칼라 시작하다
프로그래밍 언어를 처음배울때 대다수 사람들이 시작하듯 Java로 언어를 배우기 시작했다
Number of (binary) heaps on N elements
Given an array 1 to N , how many permutations of it will be Heap of N! possible permutations.
ML
Google Machine Learning Bootcamp KR 2023
구글에서 진행하는 머신러닝 부트캠프 2023을 수료하고 그 과정에서 학습하고 느낀 점을 정리했습니다
딥러닝을 활용한 한글문장 OCR 프로젝트
한글 및 한국어 정보처리 학술대회 2019
나의 머신러닝 답사기
1부
TimbreTron- A WaveNet(CycleGAN(CQT(Audio))) Pipeline for Musical Timbre Transfer
Learning Structured Output Representation using Deep Conditional Generative Models
Generative Flow with Invertible 1x1 Convolutions
Arbitrary Style Transfer with Style-Attentional Networks
Neural Architecture Search with Reinforcement Learning
한글문서 기반 QA 생성모델 만들기-part2
Dual Ask-Answer Network for Machine Reading Comprehension
BAM - Bottleneck Attention Module
Through-Wall Human Pose Estimation Using Radio Signals
MobileNetV2- Inverted Residuals and Linear Bottlenecks
한글문서 기반 QA 생성모델 만들기-part2
Related Work
Show, Attend, and Tell with Pytorch
소개 및 구현
한글문서 기반 QA 생성모델 만들기_part1
한글문서 기반 QA 생성모델 만들기_part1
Question Answering ( 질의응답 시스템)
위키피디아 그리고 검색을 통해서
Samsung Data Challenge 2018_EDA를 중심으로
과거 교통사고 데이터를 분석하여 미래 교통사고 예측하기
7th week reading list
Link Analysis PageRank 구글의 핵심기술은 PageRank . 무엇이고 어떤방식으로 효율적으로 계산하는지
비지도학습의 모든 것
PCA, K-means and Hierarchical clustering
6th week reading list
Murphy Ch11. Mixture models and the EM algorithm
-
11.1 Latent variable models 숨겨진 변수 leaden variable or lvm
2가지이유에서 이점이 있다 lvm 은 더 적은 파라미터를 갖는다 -
11.2 Mixture models 다대다 일대다 다대일 일대일 형식의 모델로 구분된다
base distribution 을 mixing 하는것이라 mixture model 이라고 부른다혼합모델은 크게 2개가 있는데 하나가 black-box density model이고 데이터 요약, 이상치 검출, 분류를 생성할때 유용하다
다른 하나는 클러스터링에 적합
Soft clustering 은 한 개체가 여러 군집에 속할수있음
Hard clustering 은 한 개체가 여러 군집에 속하는 경우를 허용하지 않는 군집화 방법
효모유전자 시간경과에 따른 데이터 plot, 16개 클러스터 중심을 만듬
11.5 그림을 보면 mixing weights가 나와있는데 결과가 좋지않다
모델이 너무 단순해서 숫자의 시각적인 특성들을 잡아내지 못한다
Likelihood function이 볼록하지않다
mixture of experts
expert 전문가 또는 학습자
각각의 하위모델들을 입력공간의 특정지역의 학습자로 여긴다
Inverse 문제를 푸는데 유용하다
x축에 값들에 대해 unique한 값을 갖는 y들을 forwards model
Posterior mean은 좋은 예측치를 만들지 못한다
그러나 posterior mode는 input 값이 종속적이라면 합리적인 추정치를 제공한다
11.3 Parameter estimation for mixture models
파라미터들을 어떻게 배우는지 이야기해보자
결측치가 없고 hidden 변수가 없는걸 complete data 라고 한다
K=2 인 2차원 가우시안 혼합 모델의 데이터에 대해서 우도함수는 두 개의 피크를 포함하고 있다.
사후확률이 다수의 봉우리를 포함한 (multimodal ) 형태로 표현될 수도 있다는 것이다
Unidentifiability MLE가 unique 하지않다
유일한 최대우도 (MLE)이 존재하지 않기 때문에, 매개변수는 식별가능하지 않다고 한다.
그러므로 사전확률이 특정 라벨링에 영향을 주지 않는다면, 유일한 최대 사후확률 추정(MAP)도 존재하지 않는다
이는 사후확률이 다수의 봉우리를 포함한 형태라는 것과 같은 의미이다
사후확률이 포함하는 봉우리의 개수가 몇 개인지 찾는 것은 어려운 문제다. NP-hard 문제
MCMC
Globally optimal MLE를 찾는다 따라서 MAP 가 된다
11.4 The EM algorithm
expectation maximization, or EM
latent 변수를 알지못하기에 Log likelihood의 기대값을 사전확률분포에 취한다
K-means 알고리즘에서는 유클리디언 거리 함수를 사용하는 반면에 EM 알고리즘은 log-likelihood 함수를
사용하여 모델의 적합성을 평가한다. K-means가 거리 기반 군집 방법인 것에 비하여 EMdms 확률 기반 군집이라고 한다.
Estep 추정단계
k개의 확룰 분포에 대하여 각 레코드들이 속할 확률을 계산하여 weight로 변환하여 배정한다
Mstep 최대화단계
혼합모델의 매개변수들을 업데이트한다
EM알고리즘과 K-means 알고리즘과의 관계
K-mean 알고리즘은 임의의 데이터셋을 클러스터링 할 때 쓰이는 알고리즘으로, 가우시안
혼합 모델의 EM 알고리즘과 비슷하다. K-means 알고리즘의 경우, 각 데이터 포인트에 클러스터를 정확히
1가지 지정하는데 반해 EM 알고리즘은 여러개의 클러스터에 대해 사후확률에 비례하도록 지정한다
Vector quantization
연속적으로 샘플링된 진폭값들을 그룹핑하여 이 그룹단위를 몇개의 대표값으로 양자화
음성압축, 영상 압축 부호화기법, 음성인식, 패턴인식 등 여러분야에 사용
단점 : 매우 낮은 데이터율에서도 높은 효율성을 갖지만, 반면에 양자화 왜곡을 제어하기 어려움
장점 : 구조가 단순하며 압축률이 높음
비록 인코딩 과정에서는 속도가 느리나, 디코딩 과정에서는 새인에 의해 코드북을 1회만 참조하게되므로 속도가 빠름
군집화에서 고려해야하는 중요한 문제점
- 최적의 클래스(확률분포모델) 개수는 몇 개인가? ( K의 개수 결정)
- 주어진 데이터에서 가장 근접한 클래스(확률분포모델)은 무엇인가? (클러스터링 과정)
- 오차가 가장 최소가 되는 클래스(확률분포모델)는 무엇인가? (클래스 특징을 변화)위의 3가지 문제를 고려하여 클래스 구성과 최적화 과정을 EM 알고리즘을 통하여 진행한다
-
11.4.5 EM for the Student distribution
결측치도 없는데 왜 EM 을 사용하는가? 인공적인 hidden or 보조변수로 알고리즘을 단순화하기 위함이다
Gaussian scale mixture
Mixtures of Student distributions
11.4 도표를 보면 Student 모델은 4개의 에러, 가우시안 모델은 21개의 에러
Class 조건부 확률밀도에 극단값이 포함되어 가우시안 모델이 잘못된 선택을 하기떄문이다 -
11.4.7 Theoretical basis for EM 11.4.7.1 Expected complete data log likelihood is a lower bound
Q(θ ,θ ) = logp(xi|θ ) = l(θ ) (11.93)
EM monotonically increases the observed data log likelihood
11.4.8 Online EM
incremental EM
각 데이터셋마다 기대되는 충분한 통계가 저장되어있어야한다
stepwise EM
확률적 추정이론
전역적인 최대치를 찾기위해선 한가지 방법으로 deterministic annealing
11.5 Model selection for latent variable models
클러스터의 갯수 K를 특정짓는것 모델을 고르는것이다
- 11.5.1 Model selection for probabilistic models marginal likelihood lvm의 를 측정하기가 어렵다모델의 수가 큰수라 검색할 필요
- 11.5.2 Model selection for non-probabilistic methods
11.21 도표에서 c그림은 무얼 의미하는가?
K를 어떻게 고를수있나
K별로 reconstruction errorfmf plot 해보면서 알수있다
11.6 Fitting models with missing data
Stitchfix- Lumpers and Splitters- Tensions in Taxonomies
stichfix 블로그 중 Lumpers and Splitters: Tensions in Taxonomies 를
읽고 정리해보았습니다
5th week reading list
An Introduction to Statistical Learning
Kaggle Home Credit Default Risk — Part 1
Can you predict how capable each applicant is of repaying a loan?
Data Science and the Art of Producing Entertainment at Netflix
Netflix tech blog 중
Data Science and the Art of Producing Entertainment at Netflix포스트 내용을 정리해보았습니다
3rd week reading list
4. Classification
Fighting Financial Fraud with Targeted Friction
Airbnb는 어떻게 일반게스트들에게 미치는 영향을 최소화하면서 사기범을 식별하는가?
The Bias-Variance Trade-Off (by 거꾸로 자전거)
오늘 나의 운세는?!! (Bayesian vs Frequentist 로 바라본 운세)
1st week reading list
# Bayesian Learning for hackers Ch1
CNN으로 영화 평점 예측 모델개발하기
“한계를 넘어 상상에 도전하자!” 네이버 AI 해커톤 2018 에 참가했습니다
Referees disappeared in Baseball Game - What happened?
# Project ideas (Question and Data)
Career
체크인 리얼밸리 - 실리콘밸리의 리더에게 배우는 시간 w. 한기용
2022.10.11. 19시 역삼 팁스타운 S1에서 열린 체크인 리얼밸리 - 실리콘밸리의 리더에게 배우는 시간 w. 한기용 행사에 참석후 강연내용을 정리했습니다.
1 on 1 좋은 질문모음
1 on 1 미팅은 정말 중요한걸 알지만 일정한 주기로 실행하기 위해선 서로 노력이 필요하고
학문을 직업으로 삼으려는 젊은 학자들을 위하여 - 오욱환 (이화여자대학교 교수)
새로운 것에 도전하는 순간은 설레임과 함께 두려움도 있다
Django
어서와, Django 검색은 처음이지?
django-haystack + Whoosh + drf_haystack
Django 검색관련하여 여러 글들을 확인했지만 해당 패키지 tutorial 예제를 그대로 가져와서 번역한 정도였다. 실제 서비스에 검색을 적용하려고 보니 몇 걸음 더 나아간 설정이 필요했고 그 과정에서 알게된 것들을 이번 포스팅에 정리해 보았다.
—
API 그리고 Django REST framework View들 비교하기
API를 알게되고 개발에 직접 사용하게 된 것은 얼마되지 않았다.
API는 백엔드와 프론트가 분리되어 개발되는 현재 우리팀에서도 물론 필요하고 아래 그림처럼 API를 사용하는 End Consumers 가 다양해지는 앞으로의 환경속에서는 그 사용이 더 늘어날 것이다.
Django가 좋은 백 한가지 이유
Django를 이용해 웹 어플리케이션을 개발하면서 기존에 사용했던 Java 와 다른 장점들을 느낄 수 있었다. Django 의 장점이 많지만 그 중에 몇가지 정도만 설명해보려 한다
Agile
애자일을 회고한다
코세라 Agile Planning for Software Products 강의를 듣고 Agile을 다시 정리해보았습니다
어떤 툴을 어떻게 사용해야할까
Docker
Django 그리고 Postgres, Gunicorn, Nginx Dockerizing
Django-Postgres-Gunicorn-Nginx 구성환경을 Docker 에 구현하는 튜토리얼을 참고해 작성한 글입니다.