- Operations2025-01-01
Comprehensive Guide to Kubernetes
Kubernetes๋ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ํ๋ซํผ ์ค ํ๋๋ก ๋ค์์ ์ปจํ ์ด๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ด์ ๋ฐ ๊ด๋ฆฌํ๊ณ , ๋ฐฐํฌํ๊ณ , ํ์ฅํ ์ ์๋ ์ฌ๋ฌ ์๋ํ๋ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ๋ณธ ํฌ์คํ ์์๋ Kubernetes์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ถํฐ, kubectl, helm ๋ฑ์ ๋ํด ๊ธฐ๋กํฉ๋๋ค. - Essay2024-12-26
2024๋ ํ๊ณ
์๋ ์ ์ด์ด ์ฌํด๋ ์์ฑํ๋ ํ๊ณ ๊ธ. ์ฒ์์ผ๋ก ํ๊ณ ๊ธ์ ์ผ์ ๋๋ ๋ด๊ฐ ๊ฐ์ง ์๊ฐ๊ณผ ๊ฐ์ , ๊ณ ๋ฏผ๋ค์ ๋ฐ์ผ๋ก ํํํ๋ค๋ ๊ฒ์ด ์ฐธ ๋ฏ์ค์๋ค. ๊ทธ๋์ ํ๊ณ ๊ธ์ ๊ณต๊ฐํ ์ง ์๋๋ฉด ํผ์ ๊ฐ์งํ ์ง ๋ง์ค์๋ ๊ธฐ์ต์ด ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ง๊ธ ๋์๋ณด๋ฉด ๊ทธ๋ฐ ๋ชจ์ต๋ค์ด ์กฐ๊ธ์ ์์ฌํ๊ฒ ๋๊ปด์ง๊ธฐ๋ ํ๊ณ 1๋ ์ฌ์ด์ ์ฐธ ๋ง์ด ๋ณํ๋ค๋ ์๊ฐ์ด ๋ ๋ค. - Deep Learning2024-12-04
Diffusion Models and Flow Matching
์ต๊ทผ ๋ช ๋ ๊ฐ์ Deep Generative Model์ ๋ฐ์ ๊ณผ์ ์ ๋น ๋ฅด๊ฒ ํ๊ณ , ์ด ์ค ์ค์ํ๋ diffusion๊ณผ flow matching ๊ธฐ๋ฐ์ ๋ ผ๋ฌธ๋ค์ ๋ฆฌ๋ทฐํฉ๋๋ค. ์ต๊ทผ ๋ช ๋ ๊ฐ ์ค์ํ๋ ๋ ผ๋ฌธ๋ค์ ํ ์ค ์์ฝํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 2020.06 / DDPM: ๋ฐ์ดํฐ์ ์ ์ง์ ์ผ๋ก ๋ ธ์ด์ฆ๋ฅผ ์ถ๊ฐํ๋... - Deep Learning2024-11-09
Denoising Diffusion Probabilistic Models
2020๋ ์ ๋ฐํ๋์๋ Denoising Diffusion Probabilistic Models ๋ ผ๋ฌธ์ ์ ๋ฆฌํฉ๋๋ค. DDPM์ 2020๋ ์ ๊น์ง๋ GAN ์ค์ฌ์ผ๋ก ์ฐ๊ตฌ๋์๋ ์์ฑํ ๋ชจ๋ธ๋ง ๋ถ์ผ๋ฅผ diffusion ๊ธฐ๋ฐ์ผ๋ก ์ ํ์ ์ด๋์ด๋ธ ์์ฃผ ์ค์ํ ๋ ผ๋ฌธ ์ค ํ๋์ ๋๋ค. - Cheat Sheet2024-10-18
Python Package Manager ๋น๊ต: pip, poetry, and uv
Python ๊ฐ๋ฐ ํ๊ฒฝ์์ ํจํค์ง ๊ด๋ฆฌ๋ ํ์์ ์ ๋๋ค. pip, poetry๊ฐ ์ ์ผ ์ ๋ช ํ์ง๋ง ์ต๊ทผ์๋ uv๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์ ํธ๋ค์ด ์ ์ ๋์ด๋๊ณ ์์ต๋๋ค. ์ด ๊ธ์์๋ ๊ฐ ๋๊ตฌ๋ค์ ์ฃผ์ ํน์ง์ด๋ ์ฅ๋จ์ ์ ๋ํด ๋น๊ตํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. pip์ Python ํจํค์ง ์ค์น ๋๊ตฌ ์ค ๊ฐ์ฅ ์ค๋๋๊ณ ๋๋ฆฌ... - Deep Learning2024-10-05
An Overview of Generative Art
Generative model์ ์ข ๋ฅ, task, metrics, ๊ด๋ จ ์๋น์ค ๋ฑ์ ์ ๋ฆฌํฉ๋๋ค. Diffusion models ์ ๋ ธ์ด์ฆ๋ก๋ถํฐ ์ ์ง์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณต์ํ๋ ๊ณผ์ ์ ํ์ตํ์ฌ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฑํฉ๋๋ค. DDPM์ ๋ฐ์ดํฐ์ ์ ์ง์ ์ผ๋ก ๋ ธ์ด์ฆ๋ฅผ ์ถ๊ฐํ ํ, ์ด๋ฅผ ์ญ์ผ๋ก ์ ๊ฑฐํ๋ ๊ณผ์ ์ ํ์ตํฉ๋๋ค. - Mobile2024-09-29
iOS ์ฑ ๊ฐ๋ฐ์ ์ํ Flutter์ Firebase ์ค์
Dart๋ Google์์ ๊ฐ๋ฐํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก, Flutter ์ฑ ๊ฐ๋ฐ์ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. JavaScript์ ์ ์ฌํ ๋ฌธ๋ฒ์ ๊ฐ๊ณ ์์ผ๋ฉฐ, ๋์ ์ฑ๋ฅ๊ณผ ์์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค. ํนํ ํด๋ผ์ด์ธํธ ์ธก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํด ์ค๊ณ๋์์ผ๋ฉฐ, UI๋ฅผ ์ง์ ์กฐ์ํ ์ ์๋ ์ฅ์ ์ด ์์ต๋๋ค. - Cheat Sheet2024-09-02
Random Topics in Software Development
Software Development ๊ด๋ จ ๊ณต๋ถํ ๋ด์ฉ์ ์๋์ ๊ธฐ๋กํฉ๋๋ค. SemVer(Semantic Versioning): {major}.{minor}.{patch}๋ก ์๋ฏธ๋ฅผ ๋ถ์ฌํ ๋ฒ์ ๋ ์์คํ . ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฒ์ ๋ ๋ฐฉ์. HeadVer: {head}.{yearweek}.{build}๋ก ๋ถ์ฌํ ๋ฒ์ ๋ ์์คํ . SemVer๋ API๋ฅผ ์ํ ๋ฒ์ ๋ ์์คํ ์ด๋ผ๋ ์ ์ ์ง์ ํ๋ฉฐ, ์ต์ข ์ฌ์ฉ์๋ฅผ ๋ ์ผ๋์ ๋๊ณ ๋ฒ์ ๋ํ ๋ฐฉ์. - Deep Learning2024-08-24
Deep Learning Model Optimization
๋ฅ๋ฌ๋ ๋ชจ๋ธ ์ต์ ํ๋ฅผ ์ํ ๋ฐฉ๋ฒ๋ค์ ๋ํด ์ ๋ฆฌํฉ๋๋ค. ์์ฑ์ค์ธ ๊ฒ์๊ธ์ด๋ฉฐ ๊ณ์ํด์ ๋ด์ฉ์ ์ถ๊ฐํ๊ณ ์์ต๋๋ค. PCA: X๊ฐ mean normalization๋ ํ๋ ฌ์ด๋ผ๊ณ ํ ๋, ๊ณต๋ถ์ฐ ํ๋ ฌ์ eigenvalue decomposition์ ์ํํ์ฌ eigenvalue์ eigenvector๋ฅผ ์ป์ด๋ธ ๋ค, eigenvalue ๊ฐ์ด ํฐ ๋ฐฉํฅ(์ฆ, ๋ถ์ฐ์ด ํฐ ๋ฐฉํฅ)์ ๋จ๊ฒจ์ ๋ฐ์ดํฐ๋ฅผ ํํํจ - Deep Learning2024-07-11
Matryoshka Representation Learning
NeurIPS 2022์์ ๋ฐํ๋ Matryoshka Representation Learning ๋ ผ๋ฌธ์ ์ ๋ฆฌํฉ๋๋ค. ์ด๋ฏธ์ง๋ ํ ์คํธ์ embedding์ ๋ฝ๊ณ ์ ํ ๋ ์ฌ๋ฌ pre-trained backbone์ ํ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ์ด ๋ ํ์์ ๋ฐ๋ผ ํน์ dimension์ผ๋ก embedding์ ๋ง์ถฐ์ค์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๊ฝค๋ ๋น๋ฒํ๊ฒ ... - Cheat Sheet2024-07-03
Today I Learned (Data Engineering)
๋ฐ์ดํฐ ์์ง๋์ด๋ง ๊ด๋ จ ํ์ตํ ๋ด์ฉ๋ค์ ์๋์ ๊ธฐ๋กํฉ๋๋ค. ChatGPT๋ฅผ ๋ง์ด ํ์ฉํ์์ผ๋ฉฐ, ๋น ๋ฅธ ํ์ต ๋ฐ ์๊ฐ ์ ์ฝ์ ์ํด ์ถ๋ ฅ ๋ด์ฉ์ ํ๊ตญ์ด๋ก ๋ฐ๋ก ๋ฒ์ญํ์ง ์๊ณ ํ์ํ ๋ถ๋ถ๋ง ์์ ํ์ฌ ์ ๋ก๋ํ๊ณ ์์ต๋๋ค. Parquet is an open-source columnar storage file format optimized for use with big data processing frameworks ... - Operations2024-06-22
Alert System with SQS, Lambda, and Slack
AWS Lambda, AWS SQS๋ฅผ ํตํด ์ด๋ฒคํธ๋ฅผ ์ ๋ฌ ๋ฐ๊ณ , ํน์ ์ด๋ฒคํธ์ ๋ํ ๊ฒฝ๊ณ ์๋ฆผ์ slack์ผ๋ก ์ ์กํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๊ธฐ๋กํฉ๋๋ค. Lambda ๊ฐ๋ฐ์ vscode์ AWS Toolkit์ ํ์ฉํ์๊ณ , slack ์๋ฆผ์ slack webhook bot์ ํ์ฉํ์์ต๋๋ค. - Operations2024-05-27
CI/CD with GitHub Actions
Git workflow ๊ด๋ จ ๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ GitHub Actions์ ํตํด CI/CD๋ฅผ ํ๋ ๋ฐฉ๋ฒ์ workflow yaml ํ์ผ๊ณผ ํจ๊ป ๊ธฐ๋กํฉ๋๋ค. ์์ฑ์ค์ธ ๊ฒ์๊ธ์ด๋ฉฐ, ์๋กญ๊ฒ ์๊ฒ๋ ๋ด์ฉ์ด ์์ ๋ ๋ง๋ค ๋ด์ฉ์ ์ถ๊ฐํ๊ณ ์์ต๋๋ค. ํผ์ ํด๋ณด๊ณ ์ถ์ ํ ์คํธ๋ค์ yuhodots/workflows ์ ์ฅ์์์ ์งํํ๊ณ ์์ต๋๋ค. - FrontEnd2024-05-14
React with Redux Basics
React์ ๊ธฐ๋ณธ์์๋ค๋ถํฐ, redux, hooks ๊น์ง, React๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๋ค์ ํ ๊ณณ์ ์ ๋ฆฌํฉ๋๋ค. JS๋ ๋ช ๋ นํ ๋ฐฉ์์ด์ง๋ง React๋ ์ ์ธํ ๋ฐฉ์. ์ํ๋ ์ํ๋ฅผ ์ ์ํ๋ฉด ์ ์ ํ ์ ๋ฐ์ดํธ๋ React๊ฐ ์ฒ๋ฆฌ. JSX๋ JS๋ฅผ ํ์ฅํ ๋ฌธ๋ฒ์ผ๋ก React์์ UI ํํ์ ์ํด ์ฌ์ฉ - Deep Learning2024-04-21
On Train-Test Class Overlap for Image Retrieval
CVPR 2024์์ ๋ฐํ๋ On Train-Test Class Overlap and Detection for Image Retrieval ๋ ผ๋ฌธ์ ์ ๋ฆฌํฉ๋๋ค. Image retrieval task๋ ์ฃผ์ด์ง query ์ด๋ฏธ์ง ์์ ํน์ object๋ฅผ ๊ฒ์ถํ ๋ค์ ํด๋น object์ ๋งค์นญ๋๋ internal db ์์ ๋ค๋ฅธ ์ด๋ฏธ์ง๋ฅผ ์ฐพ์๋ด๋ task์ ๋๋ค. - Deep Learning2024-03-15
Vision Transformer Adapter for Dense Predictions
ICLR 2023์์ Spotlight์ผ๋ก ์ ์ ๋ Vision Transformer Adapter for Dense Predictions ๋ ผ๋ฌธ์ ์ ๋ฆฌํฉ๋๋ค. ViT๊ฐ ๊ณ ์๋ ์ดํ๋ก ์ฌ๋ฌ vision task์์๋ transformer ๊ตฌ์กฐ๋ฅผ ์ ๊ทน์ ์ผ๋ก ํ์ฉํ๊ณ ์์ต๋๋ค. ํ์ง๋ง object detection์ด๋ image segmentation... - Deep Learning2024-01-30
Segment Anything Data Engine
Meta AI Research์ Segment Anything ๋ ผ๋ฌธ์ Data Engine ํํธ์ Appendix F ํํธ๋ฅผ ์ ๋ฆฌํ๋ฉฐ mask annotation ์๋ํ ๊ณผ์ ์์ ๊ณ ๋ คํ ์ ๋ค์ด ๋ฌด์์ธ์ง ํ์ ํฉ๋๋ค. ์ ์ผ ์ฒ์ ๋จ๊ณ์์๋ ์ฌ๋์ด ์ง์ mask annotation ๋ง๋ค์์. ๋ชจ๋ธ ๋์๋ ์ผ๋ถ ๋ฐ์. ์ฒ์์๋ SAM์... - Deep Learning2024-01-27
MobileInst: Video Instance Segmentation on the Mobile
AAAI 2024์์ ๋ฐํ๋ MobileInst: Video Instance Segmentation on the Mobile ๋ ผ๋ฌธ์ ์ ๋ฆฌํฉ๋๋ค. Video ๋ฐ์ดํฐ์ ๋ํ instance segmentation์ ๋ชจ๋ฐ์ผ ํ๊ฒฝ์์ ์ํํ๋ ๊ฒ์ ์ค์ํ์ง๋ง ์์ง ์ด๋ ค์ด task ์ค ํ๋์ ๋๋ค. Instance์ ๋ํ mask ์ถ๋ก ์ frame ๋จ์๋ก... - Deep Learning2024-01-15
A Neural Corpus Indexer for Document Retrieval
NeurIPS 2022์์ ๋ฐํ๋ A Neural Corpus Indexer for Document Retrieval ๋ ผ๋ฌธ์ ์ ๋ฆฌํฉ๋๋ค. Document retrieval๊ณผ ranking์ ์น ๊ฒ์ ์์ง์ ์์ด์ key stage๋ค์ ๋๋ค. ๋ณธ ๋ ผ๋ฌธ์ document retrieval์ ๋ฅ๋ฌ๋ ๊ธฐ๋ฐ์ผ๋ก ์ํํ๋ end-to-end ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. - Operations2023-12-18
Dynamic Task Mapping with TaskGroups
Airflow DAG๋ฅผ ์งค ๋ ์ฌ๋ฌ task๋ฅผ ์ฐ๊ฒฐ์ํค๋ค ๋ณด๋ฉด graph view๊ฐ ๋ง์ด ๋ณต์กํด์ง๊ณค ํฉ๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ airflow์์๋ task๋ค์ hierarchical groups์ผ๋ก ์ ๋ํ ์ ์๋๋ก ๋๋ TaskGroup์ด๋ผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. - Essay2023-12-10
2023๋ ์ ์ด๋ฅธ ํ๊ณ
์๊ธฐ๋ณ๋ก ๋ด๊ฐ ๊ฐ์ง ์๊ฐ์ด๋ ๋๋ ๊ฐ์ ๋ค์ ์ผ๊ธฐ์ ๊พธ์คํ ๊ธฐ๋กํ๋ฉฐ ์ข ์ข ๊บผ๋ด๋ณด๊ณ ์๋ค. ํ์ง๋ง ๊ทธ ์๊ฐ์ด๋ ๊ฐ์ ๋ค์ ๋ฐ์ผ๋ก ๋๋ฌ๋ด๋ณธ ๊ธฐ์ต์ด ๋ง์ง๋ ์์๋ ๊ฒ ๊ฐ๋ค. ๋ฑํ ๊ทธ๋ ๊ฒ ๋๋จํ ์๊ฐ์ด๋ ๋ณต์กํ ๊ฐ์ ์ ๊ฐ์ง๊ณ ์ฌ๋ ํธ์ด ์๋๊ธด ํ์ง๋ง, ๊ดํ ๋ถ๋๋ฝ๊ธฐ๋ํ๊ณ ๋นํ์ด๋ ํ์ ์ ๋คํค๊ฒ ๋๋ ๊ฒ์ด ๋๋ ค์์ ๊ตณ์ด ๋๋ฌ๋ด์ง๋ ์์๋ ๊ฒ ๊ฐ๋ค. - Deep Learning2023-11-25
Weakly-Supervised Instance Segmentation
๊ฐ์ง์ฐ๊ตฌ์ 7๊ธฐ '์ต์ ์ฐ๊ตฌ๋ํฅ ์ฝ๊ณ ์ฌ๋ฏธ์๊ฒ ์์ฑํ๊ธฐ' ๊ทธ๋ฃน์ ์ฐธ์ฌํ์ฌ ์์ฑํ ๊ธ์ ์ด๊ณณ์ ๊ณต์ ํฉ๋๋ค. Weakly-Supervised Instance Segmentation์ ์ฃผ์ ๋ก ์ ์ ํ์ฌ ์ต์ ์ฐ๊ตฌ ๋ํฅ์ ๋ํ ๊ธ์ ์์ฑํ์์ผ๋ฉฐ CV ๋ถ์ผ์ ๋ํ ์ดํด๋๊ฐ ์๋ ๋ถ๋ค์ ๋ ์์ธต์ผ๋ก ํ๊ณ ์์ต๋๋ค. - Operations2023-11-19
Using Databases as an AI Engineer (feat. Qdrant)
๋ฐ์ดํฐ ๊ธฐ๋ฐ์ ์์ฌ๊ฒฐ์ ์ ํ๊ฑฐ๋ AI ์๊ณ ๋ฆฌ์ฆ/rule์ ์๋น์ค์ ์ถ๊ฐํ๊ธฐ ์ํด์, ์ฌ๋ฌ ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๊ณ DB์ ๋ฃ๊ณ querying ํ ํ์๊ฐ ์์ต๋๋ค. ๋ณธ ํฌ์คํ ์์๋ ์ด์ ๊ด๋ จ๋ vector DB ์ฌ์ฉ๋ฒ ๋ถํฐ ๊ธฐ๋ณธ์ ์ธ SQL query ๋ฌธ, ์๊ฐํ ๋ฐฉ๋ฒ ๋ฑ์ ๊ธฐ๋กํฉ๋๋ค. - Deep Learning2023-11-12
LLaVA: Large Language and Vision Assistant
NeurIPS 2023์์ oral paper๋ก ์ ์ ๋ Visual Instruction Tuning ๋ ผ๋ฌธ์ ์ ๋ฆฌํฉ๋๋ค. ํด๋น ๋ ผ๋ฌธ์ LLaVA๋ผ๋ ์ด๋ฆ์ผ๋ก๋ ์๋ ค์ ธ ์์ผ๋ฉฐ, multimodal learning ๋ถ์ผ์์ image์ text pair๋ฅผ ๊ฐ์ง๋ intruction tuning dataset์ผ๋ก ๋ชจ๋ธ ํ์ต์ ์๋ํ ์ฒซ ๋ ผ๋ฌธ์ ๋๋ค. - Operations2023-10-24
NVIDIA Triton Inference Server
NVIDIA Triton Inference Server ์ฌ์ฉ์ ์ํ ๊ธฐ๋ณธ ๊ฐ๋ ๋ค๊ณผ ์ํ ์ฝ๋๋ฅผ ๊ธฐ๋กํฉ๋๋ค. Triton์ NVIDIA๊ฐ ์ง์ ๋ง๋ AI inference์ฉ ์๋ฒ์ ๋๋ค. Triton ๋ด๋ถ์์๋ ์ถ๋ก ์ต์ ํ ๋ฐ GPU ํ์ฉ๋ฅ ์ ๋์ผ ์ ์๋ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๊ณ ์์ผ๋ฉฐ, ๋ชจ๋ธ์ model repository์ ์ ์ฅํ๋ฉด ๊ฐ๋จํ inference API๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. - Operations2023-09-27
Apache Airflow DAGs
Apache airflow๋ ์์ด๋น์ค๋น์์ ๋ง๋ ์ํฌํ๋ก์ฐ ๊ด๋ฆฌ ์์คํ ์ ๋๋ค. ๋ณธ ํฌ์คํ ์์๋ ๊ธฐ์ด์ ์ธ airflow DAGs ์์ฑ ์์์ ์ฌ์ฉ๋ฒ์ ํ์ธํฉ๋๋ค. ๋ก์ปฌ ๊ฐ์ํ๊ฒฝ์์ pip๋ฅผ ํตํด airflow๋ฅผ ์ค์นํ์ฌ ์ฌ์ฉํ๊ฑฐ๋, airflow docker ์ด๋ฏธ์ง๋ฅผ pull ๋ฐ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํฉ๋๋ค. - Cheat Sheet2023-09-16
Packaging Python Projects
Python project packaging๊ณผ ๊ด๋ จํ์ฌ poetry ์ฌ์ฉ๋ฒ๊ณผ pyproject.toml ์์ฑ ๋ฐฉ๋ฒ์ ๋ํด ๊ฐ๋จํ ๊ธฐ๋กํฉ๋๋ค. ๊ณผ๊ฑฐ์๋ package ์ ์์ setuptools๋ฅผ ํ์ฉํ์ฌ setup.py์ package ์ ๋ณด๋ฅผ ์ ๊ณ PyPI์ ๋ฑ๋กํ๋ ์ ์ฐจ๋ฅผ ๊ฑฐ์ณค์ง๋ง, ์ต๊ทผ์๋ pypoject.toml ํํ๋ก ๋๋ถ๋ถ ๋ฐ๋๋ ์ค์ ๋๋ค. - Deep Learning2023-09-03
TTA in the Presence of Open-World Data Shift
ICML 2023 oral paper๋ก ์ ์ ๋ Test-Time Augmentation in the Presence of Open-World Data Shift ๋ ผ๋ฌธ์ ์ ๋ฆฌํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก TTA ์ธํ ์ covariate shift๋ง์ ๊ฐ์ ํ์ง๋ง, ๋ณธ ๋ ผ๋ฌธ์์๋ real-world์์ label shift ๋ํ ๋์ํ ์ ์์ด์ผ ํ๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค. - Deep Learning2023-08-19
Deformable-DETR
'Deformable DETR: Deformable Transformers for End-to-End Object Detection' ๋ ผ๋ฌธ์ ์ ๋ฆฌํฉ๋๋ค. ์ ์๋ค์ deformable attention module์ ํตํด convergence ์๋๋ฅผ ๋์ด๊ณ , multi-scale feature๋ฅผ ํ์ฉํ์ฌ small object ์ฑ๋ฅ์ ๋์ด๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. - Deep Learning2023-06-10
An Overview of Object Detection
Deep learning ๊ธฐ๋ฐ์ object detection ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ๋ฆฌ๋ทฐํฉ๋๋ค. Two-stage detector์ one-stage detector ์๊ณ ๋ฆฌ์ฆ ์ค์์ ์ ๋ช ํ ์๊ณ ๋ฆฌ์ฆ๋ค์ ์์ฃผ๋ก ๊ฐ๋จํ ์ ๋ฆฌํ์์ต๋๋ค. ์คํ๋ ์ ํํ์ง ์์ ๋ด์ฉ์ ๋ํด์ ๋๊ธ ๋ฌ์์ฃผ์๋ฉด ๊ฐ์ฌํฉ๋๋ค. - Deep Learning2023-06-05
Learning with not Enough Data: Active Learning
Unlabeled data pool์์ ๊ฐ์น์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ตดํด๋ด๊ธฐ ์ํ ๋ฐฉ๋ฒ์ธ Active Learning์ ๋ํด ์ ๋ฆฌํฉ๋๋ค. ์์์์ธ Lilian weng ๋์ ํ๋ฝ์ ๋ฐ๊ณ ๋ธ๋ก๊ทธ ๊ธ์ ์ผ๋ถ๋ฅผ ๋ฒ์ญํ์์ผ๋ฉฐ, ์์ธํ ๋ด์ฉ์ ์๋ฌธ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์๋ฉด ์ข์ต๋๋ค. - Deep Learning2023-05-27
Variants of Vision Transformer
ViT ๊ด๋ จ ์๊ณ ๋ฆฌ์ฆ๋ค์ ๋ชจ์ ์ ๋ฆฌํฉ๋๋ค. ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ์์ผ๋ก ๋์ดํ์์ต๋๋ค. ํฌ์คํ ์ ์ ๋ชฉ์ Variants of Vision Transformer์ด๋, ๊ตฌ์กฐ์ ์ฐจ์ด๋ฅผ ๊ฐ๋ ๋ ผ๋ฌธ ์ธ์๋ ๋์ผํ ๊ตฌ์กฐ์์ ํ์ต ๋ฐฉ๋ฒ๋ง ์ฐจ์ด๋ฅผ ๊ฐ๋ ๋ ผ๋ฌธ๋ค๋ ๊ธฐ๋กํ์์ต๋๋ค. - Operations2023-04-29
Deep Learning Model Serving
AI ๋ชจ๋ธ ๋ฐฐํฌ๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ ์์ํฌ๋ค์ ๋ํด ๊ฐ๋จํ ๊ธฐ๋กํฉ๋๋ค. ONNX: Open Neural Network Exchange. ์๋ก ๋ค๋ฅธ ํ๋ ์์ํฌ๋ก ๋ง๋ค์ด์ง AI ๋ชจ๋ธ์ ์๋ก ํธํ ๊ฐ๋ฅํ๋๋ก Facebook๊ณผ Microsoft๊ฐ ๊ฐ๋ฐํ ์ ๊ฒฝ๋ง ๋ชจ๋ธ ํฌ๋งท. TensorFlow, PyTorch, ... - Cheat Sheet2023-03-11
Shortcuts for a Developer
IDE keyboard shortcuts ๋ถํฐ, vim, shell, tmux ๋ฑ ๊ฐ๋ฐ์๋ค์ด ์์ฃผ ์ฌ์ฉํ๋ ํด์ ํธ๋ฆฌํ ๊ธฐ๋ฅ๋ค์ ๋ํด ๊ธฐ๋กํฉ๋๋ค. ํ์ ๊ด๋ จ ์ฐธ๊ณ ํ ์ ์๋ ๊ธฐ๋ฅ์ด๋ convention๋ ๊ธฐ๋กํฉ๋๋ค. ์ ์ค๋ช ๋์ด์๋ ๋ธ๋ก๊ทธ ๊ธ์ด๋ ์๋ฃ๋ค์ ๋งํฌ๋ก ๊ณต์ ํ์์ต๋๋ค. ์๋ก ์๊ฒ๋๋ ๋ด์ฉ์ด ์๊ธธ ๋ ๋ง๋ค ๊ณ์ํด์ ๋ด์ฉ์ ์ถ๊ฐํ๊ณ ์์ต๋๋ค. - Cheat Sheet2023-01-15
An Introduction to Reinforcement Learning
๊ฐํํ์ต(Reinforcement Learning)๊ณผ ๊ด๋ จํ์ฌ ํ ์ด๋ธ ๊ธฐ๋ฐ์ ๋ฐฉ๋ฒ๋ก ๋ถํฐ Deep RL๊น์ง ์ค์ํ ๊ฐ๋ ์ ์์ฃผ๋ก ๊ฐ๋จํ ์ ๋ฆฌํฉ๋๋ค. ๊ณต๋ถ๋ฅผ ์ํด ๊ต์ฌ๋ก๋ ๋ ธ์น์ ๋์ '๋ฐ๋ฅ๋ถํฐ ๋ฐฐ์ฐ๋ ๊ฐํํ์ต'์ ์ฝ์ ๋ค์ Sutton ๊ต์๋์ 'Reinforcement learning - An introduction.'์ ์ดํด๋ณด์๋ ๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค. - Deep Learning2022-10-07
Generalized Category Discovery
CVPR 2022์์ ๋ฐํ๋ Generalized Category Discovery ๋ ผ๋ฌธ์ ์ ๋ฆฌํฉ๋๋ค. ํด๋น ๋ ผ๋ฌธ์์๋ GCD๋ผ๋ ์๋ก์ด task๋ฅผ ์ ์ํฉ๋๋ค. ๊ธฐ์กด์ ์กด์ฌํ๋ NCD์ ๊ฐ์ ์ด real-world์ ๊ดด๋ฆฌ๊ฐ ์์๊ธฐ ๋๋ฌธ์ NCD ์ธํ ์ ๋ ์ผ๋ฐํ ์ํค๊ณ ์ ํ ๊ฒ์ด GCD ์ ๋๋ค. - Cheat Sheet2022-08-28
Transformer Basics
'Formal Algorithms for Transformers'๊ณผ 'Attention Is All You Need' ๋ ผ๋ฌธ์ ์ฐธ๊ณ ํ์ฌ Transformer๋ฅผ ์ ๋ฆฌํฉ๋๋ค. Attention์ query vector์ key vector๋ฅผ ๊ธฐ๋ฐ์ผ๋ก value vector๋ฅผ ์ ๋ฐ์ดํธ ์ํค๋ ๋งค์ปค๋์ฆ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ Attention์ ๊ธฐ๋ฐ์ผ๋ก 2017๋ ์ Transformer๋ผ๋ ๊ตฌ์กฐ๊ฐ ์ ์๋์์ต๋๋ค. - Operations2022-08-26
Machine Learning Operations (MLOps)
MLOps๋ฅผ ์ํ ๋๊ตฌ๋ค์ ์ฌ์ฉ๋ฒ์ ๋ช ๋ น์ด ์์ฃผ๋ก ์ ๋ฆฌํ๊ณ ์์ต๋๋ค. ๋๋ถ๋ถ์ ๊ณต์ ๋ฌธ์์ ๋ด์ฉ์ ์ฐธ๊ณ ํ๊ณ ์๊ณ , ๊ทธ ์ธ ๋ด์ฉ์ ์ฐธ๊ณ ํ๊ฒ ๋๋ ๊ฒฝ์ฐ์๋ ๊ธ ๋ด์ฉ์ ์ธ๊ธํ๊ฑฐ๋ reference์ ์ถ๊ฐํ๊ณ ์์ต๋๋ค. ํ์ฌ๋ Docker, Kubernetes, MLflow, Kubeflow์ ๋ด์ฉ์ ๋ค๋ฃจ๊ณ ์์ผ๋ฉฐ, ๊ณต๋ถ ์งํ ์ํฉ์ ๋ฐ๋ผ์ ๋ด์ฉ์ ๊ณ์ํด์ ์ถ๊ฐํ๊ณ ์์ต๋๋ค. - Mathematics2022-05-17
๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ๊ณ ๋ คํ ๊ฑฐ๋ฆฌ ๊ณ์ฐ, Mahalanobis distance
Mahalanobis distance๋ ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ๊ณ ๋ คํ๋ฉฐ ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ํ ์ ์๋ ์ข์ ํด์ ๋๋ค. ์์ ์ดํดํ๊ธฐ ์ํด์๋ ๋จผ์ ๊ณต๋ถ์ฐ๊ณผ ๊ณต๋ถ์ฐ์ ์ญํ๋ ฌ term์ด ์๋ฏธํ๋ ๋ฐ๋ฅผ ์์์ผ ํ๊ธฐ ๋๋ฌธ์, ์ด๋ฒ ํฌ์คํ ์์ ๊ฐ๋จํ ์ค๋ช ๋ฐ ์๊ฐํ๋ฅผ ํตํด mahalanobis distance์ ์ดํดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. - Deep Learning2022-04-29
Toward Removing Batch Normalization in ResNets
Deepmind์์ 2021๋ ์ ๋ฐํํ Normalizer-Free ResNets ๋ ผ๋ฌธ ๋ ๊ฐ๋ฅผ ๋ฆฌ๋ทฐํฉ๋๋ค. BatchNorm์ด ๋ช ๊ฐ์ง ๋ฌธ์ ์ ์ด ์กด์ฌํ์ง๋ง ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ์ฃผ๊ธฐ ๋๋ฌธ์ ๊ณ์ ์ฌ์ฉํด ์๋ ์ ์ ์ง์ ํ๋ฉฐ, BatchNorm์ด ์๋๋ผ๋ ๊ธฐ์กด ์ฑ๋ฅ์ ์ ์งํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. - Cheat Sheet2022-04-07
Hyperparameter Tuning with Ray Tune
Ray Tune ๋ํ๋จผํธ๋ฅผ ์ฝ๊ณ ์์ฃผ ์ฌ์ฉํ ๋งํ ๊ธฐ๋ฅ๋ค์ ๊ธฐ๋กํฉ๋๋ค. ๊ณต๋ถ๋ฅผ ์งํํ๋ฉด์ ๋ด์ฉ์ ๊ณ์ํด์ ์ ๋ฐ์ดํธํ๊ณ ์์ผ๋ฉฐ, ์ด ๊ณผ์ ์์ ์ง์ ์ฌ์ฉํด๋ณธ ์ฝ๋ ์์ ๋ํ ์ถ๊ฐํ๊ณ ์์ต๋๋ค. Ray์๋ ํฌ๊ฒ Task, Object, Actor๋ผ๋ ์ธ ๊ฐ์ง ์์๊ฐ ์กด์ฌํฉ๋๋ค. - Cheat Sheet2022-04-03
PyTorch Custom Dataloader
toch.utils.data ๊ณต์ ๋ฌธ์๋ฅผ ์ฝ๊ณ pytoch dataloder ์ฌ์ฉ๋ฒ์ ๊ธฐ๋กํฉ๋๋ค. torch.utils.data.DataLoader class constructor arguments๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. PyTorch์์ ์ง์ํ๋ dataset์ ํ์ ์ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค. Map-style datasets๊ณผ Iterable-style datasets ์ ๋๋ค. - Deep Learning2022-03-15
Deep Learning Paper List
๊ด์ฌ ๋ถ์ผ์ ๋ ผ๋ฌธ๋ค์ ๊ธฐ๋กํฉ๋๋ค. ์ต๊ทผ์ ์ฝ์ ๋ ผ๋ฌธ๋ค์ ๋ํด์๋ ํต์ฌ ๋ด์ฉ์ ์ธ ์ค ์์ฝ์ผ๋ก ์ ๊ณ ์์ต๋๋ค. ์ฒดํฌ ํ์๊ฐ ๋์ด์์ง ์์ ๋ ผ๋ฌธ๋ค์ ์ถํ ๋ค์ ์ฝ์ด ๋ณผ ํ์๊ฐ ์๋ ๋ ผ๋ฌธ์ ์๋ฏธํฉ๋๋ค. Few-shot learning, Meta Learning, Incremental & Continual Learning, Self & Semi-supervised Learning, Reinforcement Learning, Natural Language Processing ๋ถ์ผ์ ๋ ผ๋ฌธ์ ๊ธฐ๋กํ์์ต๋๋ค. - Deep Learning2022-03-05
NeRF in the Wild
CVPR 2021์์ oral๋ก ๋ฐํ๋ NeRF in the Wild (NeRF-W)์ ๋ํด์ ํฌ์คํ ํฉ๋๋ค. ํด๋น ๋ ผ๋ฌธ์ View Synthesis task๋ฅผ ํ๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ์ธ NeRF๊ฐ in-the-wild ๋ฐ์ดํฐ์๋ ๋์ํ์ง ๋ชปํ๋ค๋ ์ ์ ์ง์ ํ๋ฉฐ ์ด๋ฅผ ๊ฐ์ ํ๊ณ ์ ํ advanced ๋ฒ์ ์ NeRF ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. - Deep Learning2022-02-19
Dice Loss for Data-imbalanced NLP Tasks
์ด๋ฒ ํฌ์คํ ์์๋ ACL 2020 ํํ์์ ๋ฐํ๋ Li, Xiaoya, et al.์ Dice loss for data-imbalanced NLP tasks ๋ ผ๋ฌธ์ ๋ํด์ ์ ๋ฆฌํฉ๋๋ค. ์ต๊ทผ์ ํฌ์คํ ์ ํ ์๊ฐ์ด ๋๋ฌด ๋ถ์กฑํด์ ธ ๊ฐ๋จํ๊ฒ ํต์ฌ ๋ด์ฉ ์์ฃผ๋ก๋ง ๊ธ์ ์์ฑํ์์ต๋๋ค. - Mathematics2021-11-30
๋ถ๋ฅ๊ธฐ์ ์ฑ๋ฅ ํ๊ฐ ์งํ
๋ถ๋ฅ๊ธฐ์ ์ฑ๋ฅ ํ๊ฐ ์งํ์ธ confusion matrix, precision(์ ๋ฐ๋), recall(์ฌํ์จ), sensitivity(๋ฏผ๊ฐ๋), F1-score, ROC curve, AUC์ ๋ํด์ ๊ฐ๋จํ๊ฒ ๊ธฐ๋กํฉ๋๋ค. Hands-On Machine Learning 2ํ์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ผ๋ฉฐ ์ด ์ธ์ ์ฐธ๊ณ ํ ์๋ฃ๋ฅผ ์๋ references์ ๊ธฐ๋กํ์์ต๋๋ค. - Deep Learning2021-08-01
Continual Lifelong Learning Overview
์ด๋ฒ ํฌ์คํ ์์๋ Parisi, German I์ Continual lifelong learning suvery์ Masana, Marc์ Class incremental learning survey, Liu์ Learning on the job ๋ ผ๋ฌธ์ ์ฐธ๊ณ ํ์ฌ Continual lifelong learning์ ๋ํด์ ์ ๋ฆฌํฉ๋๋ค. - Deep Learning2021-05-19
Meta-learning ์ธํ ์์์ normalization
Batch normalization์ ๊ฐ๋ ์ ๋ํด ์๊ฐํ๊ณ , meta-learning ์ธํ ์์๋ ์ด๋ค normalization ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋๊ฒ ์ ์ ํ์ง ์ ๋ฆฌํฉ๋๋ค. Batch normalization์ 2015๋ Sergey Ioffe์ Christian Szegedy์ ๋ ผ๋ฌธ์์ ์ ์๋ ๊ธฐ๋ฒ์ ๋๋ค. BatchNorm์ ์ฌ์ฉํ๋ฉด ๋๋ถ๋ถ ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค. - Cheat Sheet2021-04-26
Today I Learned (AI/ML)
์๋กญ๊ฒ ์๊ฒ ๋ ์ง์ ์ค์์ ํ๋์ ํฌ์คํ ์ผ๋ก ๋ง๋ค๊ธฐ์๋ ๋ถ๋ด์ค๋ฌ์ด ๋ด์ฉ๋ค์ ์ด๊ณณ์ ๋ชจ์๋ก๋๋ค. ๋งค์ผ ๊ณต๋ถํ ๋ด์ฉ์ ๊ธฐ๋กํ๊ธฐ๋ณด๋ค๋ ์๋ฌด๋๋ ๋น์ ๊ธฐ์ ์ผ๋ก ๋ด์ฉ์ ์ ๋ฐ์ดํธ ํ๊ณ ์์ต๋๋ค. ๋ณธ ํฌ์คํ ์์๋ AI/ML๊ณผ ๊ด๋ จ๋ ๊ธฐ์ ์คํ ๋ด์ฉ์ ์๊ณ ์์ต๋๋ค. ์ต๊ทผ์ ์์ฑํ ๋ด์ฉ๋ค์ด ํ๋จ์ ์์นํ๋๋ก ๋ฐฐ์ดํ์์ต๋๋ค. - Cheat Sheet2021-04-25
Today I Learned (CSE)
์๋กญ๊ฒ ์๊ฒ ๋ ์ง์ ์ค์์ ํ๋์ ํฌ์คํ ์ผ๋ก ๋ง๋ค๊ธฐ์๋ ๋ถ๋ด์ค๋ฌ์ด ๋ด์ฉ๋ค์ ์ด๊ณณ์ ๋ชจ์๋ก๋๋ค. ๋งค์ผ ๊ณต๋ถํ ๋ด์ฉ์ ๊ธฐ๋กํ๊ธฐ๋ณด๋ค๋ ์๋ฌด๋๋ ๋น์ ๊ธฐ์ ์ผ๋ก ๋ด์ฉ์ ์ ๋ฐ์ดํธ ํ๊ณ ์์ต๋๋ค. ๋ณธ ํฌ์คํ ์์๋ AI/ML ์ธ์ CSE ๊ธฐ์ ์คํ ๋ด์ฉ์ ์๊ณ ์์ต๋๋ค. ์ต๊ทผ์ ์์ฑํ ๋ด์ฉ๋ค์ด ํ๋จ์ ์์นํ๋๋ก ๋ฐฐ์ดํ์์ต๋๋ค. - Deep Learning2021-04-04
Bootstrap Your Own Latent
์ด๋ฒ ํฌ์คํ ์์๋ 2020๋ NIPS ํํ์ ๊ฒ์ฌ๋ Deepmind ํ์ Bootstrap your own latent ๋ ผ๋ฌธ์ ๋ํด ๋ฆฌ๋ทฐํฉ๋๋ค. ์ธ๊ณต์ง๋ฅ ํ์ต์ ์ํด์๋ ๋ง์ ์์ ๋ฐ์ดํฐ๊ฐ ํ์ํฉ๋๋ค. ์ฌ๊ธฐ์ ๋ฐ์ดํฐ๋ผ ํจ์ ๋ฐ์ดํฐ ๊ทธ ์์ฒด๋ฟ๋ง ์๋๋ผ ์์ธก์ด ํ๋ ธ๋์ง ๋ง์๋์ง ํ์ธํ๊ธฐ ์ํ label์ ํฌํจํฉ๋๋ค. - Deep Learning2021-03-04
Transductive Propagation Network
์ด๋ฒ ํฌ์คํ ์์๋ 2019๋ ICLR ํํ์ ๊ฒ์ฌ๋ Learning to Propagate Labels: Transductive Propagation Network for Few-shot Learning ๋ ผ๋ฌธ์ ๋ํด ๋ฆฌ๋ทฐํฉ๋๋ค. ๋ฉ ์ธ๋ฏธ๋ ์ค๋น๋ฅผ ์ํ ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ํ๋ค๊ฐ ๊ฒธ์ฌ๊ฒธ์ฌ ํฌ์คํ ์ผ๋ก๋ ์ฌ๋ฆฌ๊ฒ ๋์์ต๋๋ค ๐คฃ - Deep Learning2021-02-16
tf.gradient์ tf.train.Optimizer.compute_gradient
tf.gradient์ compute_gradient์ TensorFlow ๊ณต์ ๋ฌธ์ ์ค๋ช ์ ๋ฒ์ญํฉ๋๋ค. Stackoverflow๋ฅผ ์ฐธ๊ณ ํ์ฌ tf.gradient์ compute_gradient์ ์ฐจ์ด์ ์ ์ ๋ฆฌํฉ๋๋ค. tf.gradient๋ xs์ ๊ดํ ys์ symbolic derivative๋ฅผ ๊ณ์ฐํฉ๋๋ค. - Deep Learning2020-11-19
RTX 3090์ ์ฌ์ฉํ ๋ฅ๋ฌ๋ ์คํํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ (Ubuntu 18.04)
์คํ์ฉ ์ํฌ์คํ ์ด์ ์๋ฒ์ GeForce RTX 3090์ ์ฅ์ฐฉํ์ฌ ์ฌ์ฉํ๊ฒ ๋์์ต๋๋ค. ์ง์ GPU๋ฅผ ๊ต์ฒดํ์ง๋ ์์๊ณ ๊ธฐ์ฌ๋๊ป์ ์ค์ ์ ์ค์น๋ฅผ ํด์ฃผ์ จ๋๋ฐ, GPU ์ฅ์ฐฉ ์ดํ์ ์ ๊ฐ Ubuntu 18.04 x86_64 ์ด์์ฒด์ ์์์ ์คํ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๊ณผ์ ๋ค์ ์๋์ ๊ณต์ ํฉ๋๋ค - Cheat Sheet2020-10-08
Linux Basic Commands
๋ฉ์์ ๋จธ์ ๋ฌ๋ ์ํฌ์คํ ์ด์ ์ผ๋ก Ubuntu 18.04 OS๋ฅผ ์ฌ์ฉํ๊ณ ์๋๋ฐ, ์๋ฒ ๊ด๋ฆฌ ๋ฐ ์์ ๊ณผ์ ์์ ์์ฃผ ์ฌ์ฉ๋๋ ์ปค๋งจ๋๋ฅผ ์๋์ ๊ธ๋ก ์ ๋ฆฌํ๋ ์ค์ ๋๋ค. ์๋ก ์๊ฒ ๋๊ฑฐ๋ ๊ณต์ ํ๊ณ ์ถ์ ๋ด์ฉ์ด ์๊ธธ ๋ ๋ง๋ค ์ถ๊ฐํด๋๊ฐ๊ณ ์์ต๋๋ค. - Essay2020-09-29
์์ผ๋ก์ ๋ธ๋ก๊ทธ ๋ฐฉํฅ์ฑ
์งง์ ๊ธ์ ํตํด ์ง๊ธ๊น์ง์ ๋ธ๋ก๊ทธ ํ๋์ ๋์๋ณด๊ณ , ์์ผ๋ก์ ๋ฐฉํฅ์ฑ์ ๋ค์ ์ก์๋ณด๋ ค ํฉ๋๋ค ๐ง. ๋ธ๋ก๊ทธ๋ฅผ ์ฒ์ ๊ฐ์คํ ๊ฒ ๋ฒ์จ 1๋ 4๊ฐ์ ์ ์ ๋๋ค. ๋น์์๋ ์น ๊ฐ๋ฐ์ ํฅ๋ฏธ๊ฐ ์์๊ณ ์ด๋ฅผ ์ง๋ก๋ก ํฌ๋งํ์ง ์์์ง๋ง, ์ต์ 1๋ ์ ๋๋ ๊พธ์คํ ๊ณต๋ถํ๊ณ ์ถ๋ค๋ ์๊ฐ์ ํ์ต๋๋ค. ๊ทธ๋์ ์น ๊ฐ๋ฐ ๊ธฐ์ด ๊ฐ์๋ฅผ ์๊ฐํ ๋ค ์ ๋ฆฌํ๋ ๋ชฉ์ ์ผ๋ก์จ ๋ธ๋ก๊ทธ๋ฅผ ๊ฐ์ค ํ์๊ณ ์ด์ฐฝ๊ธฐ ํฌ์คํ ์ ๊ฐ์ ๋ด์ฉ์ ๋ฐ๋ผ ์ ๊ฑฐ๋ ์ ๋ฆฌํ๋ ๊ธ์ด ๋๋ถ๋ถ์ด์์ต๋๋ค. - Mathematics2020-08-13
Expectation, Variance, and Covariance
์ํคํผ๋์์ DeepLearning Book ๋ฑ์ ๋ฐํ์ผ๋ก, ์ฐธ๊ณ ํ๊ธฐ ์ํด ์ ์์ ์ฑ์ง ์์๋ก ๊ฐ๋จํ๊ฒ๋ง ์ ๋ฆฌํ ๊ธ์ ๋๋ค.์ฌ๊ฑด์ ๋ํ ํ๋ฅ ๋ณ์์ ๊ทธ ์ฌ๊ฑด์ด ๋ฒ์ด์ง ํ๋ฅ ์ ๊ณฑํ ๊ฒ์ ์ ์ฒด ์ฌ๊ฑด์ ๋ํด ํฉํ ๊ฐ - ํ๋ฅ ์ ์ฌ๊ฑด์ ๋ํ ํ๊ท ์ ์๋ฏธ๋ก ์๊ฐํ ์ ์๋ค. ์ด ๊ฒฝ์ฐ '๋ชจ ํ๊ท '์ผ๋ก ๋ค๋ฃฐ ์ ์๋ค. - Mathematics2020-08-08
Estimators, Bias, Variance, and Standard Error
์ด ์ฑํฐ๋ ์ฃผ๋ก statistics์ ๊ดํ ๊ฐ๋ ๋ค์ ๋ํด ๋ค๋ฃน๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋ค์๊ณผ ๊ฐ์ statistics ๊ฐ๋ ์ ๋ํด ์ดํดํ๋ค๋ฉด, generalization, underfitting and overfitting์ ๋ํด์ ๋ถ์์ ํ ๋ ์ ์ฉํ๊ฒ ํ์ฉํ ์ ์์ต๋๋ค. - Mathematics2020-08-03
KL Divergence์ Cross-Entropy
Ian Goodfellow์ Deep Learning ์ฑ ๋ด์ฉ์ ์ฐธ๊ณ ํ์ฌ ๋ฒ์ญํ ํฌ์คํ ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ์ดํด๋์ ๋ฐ๋ผ์ ์ถ๊ฐ๋๊ฑฐ๋ ๋น ์ง ๋ด์ฉ์ด ์๋ ์ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค. ์๋ชป๋ ๋ด์ฉ์ ๋ํด์๋ ์ง์ ํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. - Essay2020-06-09
1๋ ๊ฐ ์งํํ ์ ์๋ค ํ๋ก์ ํธ ๋ง๋ฌด๋ฆฌ
2019๋ 2์์ ๊ต๋ด ์ธ์กํฐ์ค ์น๊ตฌ๋ค๊ณผ ์์ํ ํ๋ก์ ํธ๋ฅผ 2020๋ 6์์ด ๋์ด์ ๋ง๋ฌด๋ฆฌํ๊ฒ ๋์์ต๋๋ค. ๋ง ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ฒ ๋ ์ด ์์ ์์ 1๋ ๋ฐ ๋์์ ๊ธฐ๋ก์ ์๋์ ์ ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ ํฌ ํ๋ก์ ํธ์ ์ด๋ฆ์ '์ ์๋ค'์ ๋๋ค. ์ ๊ฐ ํ์ฌ ์ฌํ์ค์ธ ์ ๋์คํธ์ ํ์๋ค์ ์ ํฌ์ ์น ์๋น์ค๋ฅผ ํตํด ์ฐ๊ฒฐํด๋ณด๊ฒ ๋ค๋ ์๋ฏธ์์ ์ ์๋ ์ด๋ฆ์ ๋๋ค. - Deep Learning2020-03-14
Image data modes & Image file formats
๋ฅ๋ฌ๋์ ํตํด ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ค๊ณ ํ ๋, ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ file format์ ๋ฐ๋ฅธ mode์ ๋ํด ์ดํดํ๊ณ ์์ผ๋ฉด ์ ์ฉํฉ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ์์ฃผ ์ฌ์ฉ๋๋ ์ด๋ฏธ์ง ๋ฐ์ดํฐ ํ์ผ์ format๊ณผ mode์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. - Cheat Sheet2020-01-07
An Introduction to TensorFlow 1.0
๊ฐ๋ TensorFlow 2.0์ด ์๋ ๋ฒ์ 1์ ์ฌ์ฉํ๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ด์, ๋๋ต์ ์ธ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ํฌ์คํ ํฉ๋๋ค. ์ ๋ก์ปฌ ์ปดํจํฐ์๋ TensorFlow 2.0์ด ์ค์น๋์ด ์์ง๋ง ๋ฒ์ 1์ ์ฌ์ฉํด์ผํ๋ ๊ฒฝ์ฐ๋ ๊ตฌ๊ธ colab์ ํตํด ์ฌ์ฉํ๊ณ ์์ต๋๋ค. (colab์ ๊ฒฝ์ฐ ๊ณง TensorFlow ๋ฒ์ 1์ด ๋ฒ์ 2.0๋ก ๋์ฒด๋๋ค๊ณ ํ๋ค์) - BackEnd2019-11-19
Postman์ ์ฌ์ฉํ์ฌ OAuth 2.0 ์ธ์ฆ ์์ฒญ ๋ณด๋ด๋ ๋ฐฉ๋ฒ
์น ๊ฐ๋ฐ์ ๋ฐฑ์๋ ํํธ๋ DB์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋, ํ๋ก ํธ์๋์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ณ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ผ๋ก๋ HTTP์ GET๊ณผ POST ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฐ ์์ ์ ์ํํ๋๋ฐ, ์ด ๋ ์์ ์ ํจ์จ์ฑ์ ํ์ํํ๊ฒ ํฅ์์์ผ์ฃผ๋ ํฌ์คํธ๋งจ์ด๋ผ๋ ํ๋ก๊ทธ๋จ์ด ์์ต๋๋ค. ํฌ์คํธ๋งจ์ ํตํด access token์ ๋ฐ์ ๋ก๊ทธ์ธ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. - FrontEnd2019-09-18
React ํ๋ก์ ํธ ๊ตฌ์กฐ ํ์ ํ๊ธฐ
์ง์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด๋ณด๊ธฐ ์ ์ ๋ค๋ฅธ ์ฌ๋์ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํ์ธํ์ฌ ์ด๋ค ์์ผ๋ก ๋๋ ํ ๋ฆฌ๋ฅผ ๊ตฌ์ฑํด์ผํ๋์ง ๊ฐ์ ์ก์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ ์ ๊ฒฝ์ฐ์๋ ์ ๋ณด๋ค ๋จผ์ ๋ฆฌ์กํธ๋ฅผ ๊ณต๋ถํ ์น๊ตฌ์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ฐธ๊ณ ํ์์ต๋๋ค. - Cheat Sheet2019-09-17
MATLAB Basic Commands
์ด ๊ธ์ ์ ๊ฐ ์๋ ์ ์๊ฐํ ์์นํด์ ๊ณผ๋ชฉ์ orientation ์์ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์ ๋ฆฌ๋์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก๋ ์ข์ธก์ ๋๋ ํ ๋ฆฌ, ์ค์์ ์คํฌ๋ฆฝํธ, ์ฐ์ธก์ ์์ ๊ณต๊ฐ (๋ณ์์ ๊ฐ), ํ๋จ์ ๋ช ๋ น ์ฐฝ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ๋งฅ์ ๊ฒฝ์ฐ์๋ ctrl์ด ์๋๋ผ command ๋ฒํผ์ ๋๋ฌ์ผ ํฉ๋๋ค. - FrontEnd2019-09-15
React Lifecycle
๋ฆฌ์กํธ์ ์ปดํฌ๋ํธ๋ ์ฐ๋ฆฌ๊ฐ ๋ชจ๋ํฐ๋งํ๊ณ ์กฐ์ํ ์ ์๋ ์ธ ๋จ๊ณ์ ์ฃผ์ ๋ผ์ดํ ์ฌ์ดํด์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ๋ฆฌ์กํธ์ ๋ผ์ดํ์ฌ์ดํด์ธ Mounting, Updating, Unmounting์ ๋ํด ๊ณต๋ถํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.๋ค์ด๊ฐ๊ธฐ ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์๊ณ ์์ด์ผ ํ๋ DOM์ ๋ํด ์์๋ด ์๋ค. - FrontEnd2019-09-14
React์ ๊ธฐ๋ณธ, ์ปดํฌ๋ํธ
create-react-app ๋ชจ๋์ ๊ธ๋ก๋ฒ๋ก ์ค์นํฉ๋๋ค. create-react-app ๋ช ๋ น์ด๋ก ํ๋ก์ ํธ๋ฅผ ์์ฑํฉ๋๋ค. ์ฑ์ ์คํํ๊ณ localhost:3000์์ ์ ๋๋ก ๋์ํ๋์ง ํ์ธํฉ๋๋ค. React์์ ๊ฐ์ฅ ๊ธฐ์ด๊ฐ ๋๋ ๊ฐ๋ ์ ์ปดํฌ๋ํธ์ ๋๋ค. - BackEnd2019-09-01
moment.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์๊ฐ ๊ด๋ จ ์์ ํ๊ธฐ
๋ค์ํ ์ฌ์ฉ์๋ค์ด ์ ์ํ๋ ์น ๊ฐ๋ฐ์ ์งํํ๋ค๋ณด๋ฉด ๊ฒ์๊ธ ์์ฑ ์๊ฐ, ์ ์ ์๊ฐ, ๋๊ธ ์์ฑ ์๊ฐ ๋ฑ ์๊ฐ๊ณผ ๊ด๋ จํด์ ์ฒ๋ฆฌํด์ผ ํ๋ ์์ ๋ค์ด ์กด์ฌํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก DB์๋ฒ์์ ์ ๊ณตํ๋ NOW()๊ฐ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํด๋ ๋์ง๋ง, ์ฌ์ฉ์๊ฐ ์ฝ๊ธฐ์๋ ์ง๊ด์ ์ด๋ฉฐ ๋ด๊ฐ ์ํ๋ ์๊ฐ์ด ์ถ๋ ฅ๋๋๋ก ๋๋ moment.js ๋ชจ๋์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. - FrontEnd2019-08-28
React๋ก FullCalendar Events ๋์ฐ๊ธฐ
React๋ฅผ ์ฌ์ฉํด์ผํ๊ธฐ ๋๋ฌธ์ ์ค์น๋ฅผ ํด ์ค์๋ค. ๊ทธ๋ฆฌ๊ณ React ํ๋ก์ ํธ๋ฅผ ์ํ๋ ๋๋ ํ ๋ฆฌ์ ์์ฑํฉ๋๋ค. ํ๋ก์ ํธ๊ฐ ์ ๋๋ก ์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํด์ App.js ํ์ผ์ด ์์นํ ๋๋ ํ ๋ฆฌ์ ํฐ๋ฏธ๋์์ npm start๋ฅผ ์ํํฉ๋๋ค. - FrontEnd2019-08-28
Script๋ก FullCalendar Events ๋์ฐ๊ธฐ
์ผ๋จ ์์ธํ ์ฌ์ฉ๋ฒ์ ์ตํ๊ธฐ ์ ์ FullCalendar๋ฅผ ํ๋ฉด์ ๋์๋ณด๋๊ฒ๋ถํฐ ์์ํฉ์๋ค. Scrpit ํ๊ทธ๋ฅผ ํตํด FullCalendar๋ฅผ ๋์ฐ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๊ณ ์์ผ๋, ES6 ๋น๋ ์์คํ ์ผ๋ก ๋์ฐ๊ณ ์ถ์ผ์ ๋ถ์ ์ด๊ณณ์ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค. - BackEnd2019-08-19
Connection lost: The server closed the connection ์๋ฌ ํด๊ฒฐํ๊ธฐ
Node.js์ mysql, AWS EC2, S3, Nginx ๋ฑ์ ์ฐ๋ํ์ฌ ๋ฐฑ์๋ ์์ ์ ํ๊ณ ์๋๋ฐ ๊ฐ๋์ฉ 'Error: Connection lost: The server closed the connection.' ์ด๋ผ๋ ์๋ฌ ๋ก๊ทธ๊ฐ ๋จ๋ฉด์ ์น ์ฌ์ดํธ์ ์ ์์ด ๋์ง ์์ ๋๊ฐ ์์ต๋๋ค. ๊ตฌ๊ธ๋ง์ ํตํด ์ ์ด๋ฐ ์๋ฌ๊ฐ ๋ฐ์ํ๋์ง, ์ด๋ค ๋ฐฉ์์ผ๋ก ํด๊ฒฐ ํ ์ ์๋์ง์ ๋ํด ์๊ฒ ๋ ๋ด์ฉ์ ์๋์ ์ ์ด๋ด ๋๋ค. - BackEnd2019-08-19
req ๊ฐ์ฒด์ res ๊ฐ์ฒด, ๊ทธ๋ฆฌ๊ณ res.send์ res.json์ ๋น๊ต
node.js express๋ฅผ ์ฌ์ฉํ๋ ๋ฐ์ ์์ด์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฒ์ req๊ฐ์ฒด, res๊ฐ์ฒด, express()ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๋งค๋ฒ ๊น๋จน๊ณค ํ๋ ๋ด์ฉ์ด์ด์ Express ๊ณต์ ํํ์ด์ง๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ ๋ฆฌ ํด ๋ณด์์ต๋๋ค. req.body๋ POST ์ ๋ณด๋ฅผ ๊ฐ์ง๋๋ค. ์์ฒญ ์ ๋ณด๊ฐ url์ ๋ค์ด์๋ ๊ฒ์ด ์๋๋ผ Request์ ๋ณธ๋ฌธ์ ๋ค์ด์๊ธฐ ๋๋ฌธ์ ๋๋ค. - FrontEnd2019-08-16
ECMAScript, TypeScript, React๋ ๋ฌด์์ธ๊ฐ?
ํ๋ก ํธ์๋ ๊ณต๋ถ๋ฅผ ์์ํ ๋, ์ฒ์์ ๋ง์ด ์ธ๊ธ๋๋ ECMAScript, TypeScript, React์ ๋ํด ์ ๋ฆฌํฉ๋๋ค. ์ํคํผ๋์์์๋ ECMAScript๋ฅผ ์๋์ ๊ฐ์ด ์ค๋ช ํ๊ณ ์์ต๋๋ค. ECMA์คํฌ๋ฆฝํธ๋ Ecma ์ธํฐ๋ด์ ๋์ ECMA-262 ๊ธฐ์ ๊ท๊ฒฉ์ ์ ์๋ ํ์คํ๋ ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. - BackEnd2019-08-14
Nginx ์ค์ ์ ํตํ https ๋ฆฌ๋ค์ด๋ ์
์ด์ ํฌ์คํ ์์๋ SSL ์ธ์ฆ์ ๋ฐ๊ณ ์ด๋ฅผ ๋๋ฉ์ธ์ ์ฐ๊ฒฐํ ๋ค node.js ๋ด app.js์์ http ์ ์์ ๊ฐ์ ๋ก https๋ก ๋ฆฌ๋ค์ด๋ ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์์ต๋๋ค. ์ด๋ฒ์๋ nginx์์ https ๋ฆฌ๋ค์ด๋ ์ ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. - Essay2019-08-13
์ผ๋ง ์ ๊ฒช์ '502 : Bad Gateway' ์ค๋ฅ์ ๋๋์
ํ 4์ผ ์ ์ฏค์, AWS์์ ACM ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ ๋ฐ๊ณ ์น ์ฌ์ดํธ์ https ์ ์์ ๋ฐ์ ์ ์๊ฒ ๋์ด์ ๊ต์ฅํ ๋ฟ๋ฏํด ํ๊ณ ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ฟ๋ฏํ ๋ง์์ ๊ฐ์ง๊ณ ๋ฐฑ ์๋ ์์ ์ ๋ฃฐ๋ฃจ๋๋ผ ์ ๋๊ฒ(?)ํ๊ณ ์์๋๋ฐ ๊ฐ์๊ธฐ ์น ์ฌ์ดํธ๊ฐ nginx 502: Bad Gateway ์๋ฌ๋ฅผ ๊ฝฅ ๋ฑ์ผ๋ฉด์ ์ ์์ด ๋์ง ์์์ต๋๋ค. - Essay2019-08-12
๋ธ๋ก๊ทธ๋ฅผ ํ๋ฉด ์ข์ ์ด์
๋ธ๋ก๊ทธ๋ฅผ ์์ํ๊ณ ์ผ๋ง ์ ๋ ๊ฒ ๊ฐ์๋ฐ ๋ฒ์จ 8์์ด ๋์์ต๋๋ค. ๋ธ๋ก๊ทธ๋ฅผ ์ฒ์ ์์ํ ๋ ๊ณต๋ถํ ๋ด์ฉ์ ์ด์ฌํ ํฌ์คํ ํ๊ฒ ๋ค๋ ๋ค์ง์ ํ์ง๋ง์๋ ๋ ์ธ๋ฌ ์ ๋ ํฌ์คํ ์ ํ๋ค๋ณด๋ฉด ์ง๋ ค์ ํฌ์คํ ํ์๊ฐ ํ์ ํ ์ ์ด์ง์ง ์์๊น ์๊ฐ์ ํ์์ต๋๋ค. ๊ทผ๋ฐ ์์ง๊น์ง๋ ์์ฃผ ๊ฒ์๊ธ์ ์์ฑํ๋ ๊ฑธ ๋ณด๋ฉด ์๊ฐ๋ณด๋ค๋ ๊พธ์คํ ํ๊ณ ์๋ค๋ ์๊ฐ์ด ์ค์ค๋ก ๋๋ค์. - BackEnd2019-08-05
ELB๋ฅผ ์ด์ฉํ์ฌ SSL์ธ์ฆ์ ์ ์ฉํ๊ธฐ
์ ๋ฒ AWS ACM ํฌ์คํ ์์๋ Route53๊ณผ AWS EC2๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ๋ด ์๋ฒ์ ACM์ ํตํด SSL ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์์ต๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ๋ฐ๊ธ๋ฐ์ SSL์ธ์ฆ์๋ฅผ ELB๋ผ๋ ๊ฒ์ ์ด์ฉํด์ ๋น๊ต์ ์ฝ๊ฒ ์๋ฒ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. - BackEnd2019-08-05
AWS Certificate Manager๋?
https์ ๋ถ๋ 's'๋ Secure Socket Layer๋ฅผ ์๋ฏธํ๋๋ฐ ์ด๋ฅผ ์ค์ฌ์ SSL์ด๋ TLS(Transport Layer Security)๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ SSL/TLS์ธ์ฆ์ ๋ฐ์์ผ ์์ ์ ์น ์ฌ์ดํธ๋ฅผ ๊ณต๊ฒฉ์๋ก ๋ถํฐ ๋ ์์ ํ ์ฌ์ดํธ๋ก ๋ง๋ค ์ ์์ต๋๋ค. - BackEnd2019-08-01
MySQL์ ํ์ฉํ ๊ธ ์์ฑ๊ณผ ์ธ์ฆ
๋ก๊ทธ์ธ์ ์ฌ๋ฐ๋ฅด๊ฒ ํ ์ฌ์ฉ์๋ง์ด ๊ธ์ ์์ฑ ํ ์ ์๊ณ , ์์ ์๋ง์ด ๊ธ์ ์์ ๋ฐ ์ญ์ ๋ฅผ ํ ์ ์๋๋ก Node-Express์ MySQL์ ํ์ฉํ์ฌ ๊ตฌํ ํด ๋ณด๋๋ก ํฉ์๋ค. ์ ๋ request ๊ฐ์ฒด์ user๋ผ๋ ๊ฐ์ด ๋ด๊ฒผ๋์ง ํ์ธํ๋ ํจ์์ ๋ก๊ทธ์ธ ์ ์ ์ ๊ธ ์์ฑ ์ ์๊ฐ ๊ฐ์์ง ํ๋จํ๋ ํจ์๋ฅผ ๋ง๋ค์์ต๋๋ค. - BackEnd2019-07-31
MySQL๊ณผ Passport๋ฅผ ์ด์ฉํ ์ธ์ฆ๊ตฌํ
์ ๋ ๋ก๊ทธ์ธ, ํ์๊ฐ์ , ์ธ์ฆ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด express-session, passport.js (local strategy)๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ด๋ฅผ ์ํด์๋ session store๋ฅผ ๋ง๋ค์ด์ผ ํ๊ณ ๊ทธ๋์ mysql์ session store๋ก์ ์ฌ์ฉํ๋ ค ํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด mysql์ session store๋ก ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? - BackEnd2019-07-29
Node.js์์์ S3 SDK ์ฌ์ฉ
S3๋ ์๋ง์กด ์น ์๋น์ค์์ ์ ๊ณตํ๋ ์๋น์ค ์ค ํ๋์ ๋๋ค. ํ์ด์ ๋ณด๋ฉด Simplet Sotrage Service๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฆ, ์ด๋ ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ์๋น์ค๋ผ๋ ๋ง์ธ๋ฐ ๊ทธ๋ฅ ์ฝ๊ฒ ์๊ฐํ๋ฉด ํ์ผ์ ์ ์ฅํ๋ ์๋น์ค๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค. - BackEnd2019-07-18
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ๋งํ๊ธฐ
mysql ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด์ฉํ ๊ธ ์ฝ๊ธฐ, ์์ฑ, ์์ , ์ญ์ ๊ฐ ๊ฐ๋ฅํ ๊ฒ์ํ์ ๊ตฌํํ๊ธฐ ์ํด์๋ ์ฌ์ฉ์๊ฐ ์์ฑํ๋ ํ ์คํธ ์ ๋ณด๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ ๋ด ์ ๋ฌ๋์ด์ผ ํ๊ณ , ๊ทธ๋ฌ๊ธฐ ์ํด์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ์ด๋ค ํํ๋ก ๋ง๋ค์ง ๋ฏธ๋ฆฌ ๋ชจ๋ธ๋ง์ ํด๋์์ผ ํฉ๋๋ค. - BackEnd2019-07-16
Express ํ์ผ ์ ๋ก๋๋ฅผ ์ํ multer ๋ชจ๋์ ์ฌ์ฉ
์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ ํ์ผ์ ์ฐ๋ฆฌ ์๋ฒ์ปดํจํฐ์ ์ํ๋ ๋๋ ํ ๋ฆฌ์ ์ ์ฅํ๋ ๊ธฐ์ ์ express๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๊ณ ์์ง๋ ์๊ธฐ ๋๋ฌธ์ multer๋ผ๋ ๋ชจ๋์ ์ค์นํ์ฌ ์ด๋ฅผ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. npm install --save multer ๋ช ๋ น์ด๋ฅผ ํตํด ์ฐ๋ฆฌ ํ๋ก์ ํธ์ multer๋ชจ๋์ ์ค์น ํด ์ค์๋ค. - BackEnd2019-07-12
Express-generator๋ก ์์ฑ๋ app.js ํ์ผ ์์๋ณด๊ธฐ
Express-generator๋ก ์์ฑํ ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก์ ํธ์ app.js ํ์ผ์ ์ดํด๋ณด๋ฉด 40์ค ์ ๋์ ์ฝ๋๊ฐ ์์ต๋๋ค. ์ค๋์ ์ด ์ฝ๋๋ค์ด ๊ฐ๊ฐ ๋ฌด์์ ์๋ฏธํ๋ ์ง์ ๋ํด ๊ณต๋ถ ํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ผ๋จ ๋จผ์ ์๋์ app.js ํ์ผ์ ์์ค์ฝ๋๋ฅผ ์ฒจ๋ถํ์์ต๋๋ค. - BackEnd2019-07-11
EC2 ์ธ์คํด์ค์ github private repository ์ฐ๋์ํค๊ธฐ
์์ ์ด ์ ์ํ๊ณ ์๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ถ๋ค๋ฉด, ์์ ์ด ์ฌ์ฉํ๋ ์ปดํจํฐ์ ์ํ๋ ๋๋ ํ ๋ฆฌ ๋ด์์ git clone๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ github์ ์ฐ๋์ด ๊ฐ๋ฅํฉ๋๋ค. - BackEnd2019-07-10
Nginx ํ๊ฒฝ์ค์
nginx๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง์ ๋ํ ์ค์ ์ conf๋ผ๋ ํ์ฅ์ ๋ช ์ ๊ฐ์ง ์ค์ ํ์ผ ๋ด์ ๊ธฐ์ ๋์ด ์์ต๋๋ค. ์ปดํ์ผ์ ํตํด์ ์ค์นํ ๊ฒฝ์ฐ๋ผ๋ฉด /usr/local/nginx/conf ์, apt-get์ ์ด์ฉํด์ ์ฐ๋ถํฌ์ ์ค์นํ ๊ฒฝ์ฐ๋ /etc/nginx์ ์์นํ๋ค๊ณ ํฉ๋๋ค. - BackEnd2019-07-10
AWS EC2 ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ์ ์ด
AWS์ EC2 ์ธ์คํด์ค๋ฅผ ์๋ฒ ์ปดํจํฐ๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์, ํผ์ ๊ฐ๋ฐ์ ์งํํ๋ ๊ฒ์ด ์๋๋ผ ์ฌ๋ฟ์ด ํ ๊ฐ์ง ํ๋ก์ ํธ ๊ฐ๋ฐ์ ์งํํ๊ณ ์๋ค๋ฉด ๊ทธ ์ธ์คํด์ค์ ์๋ฒ๋ฅผ ๊ด๋ฆฌํ๋ ํ์ ๋ชจ๋๊ฐ ์ ๊ทผ์ด ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. - BackEnd2019-07-04
๋น๋ฐ๋ฒํธ ์ํธํ bcrypt
์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋์ํ๋๋ก ๋ง๋๋ ๊ฒ๋ ์ค์ํ์ง๋ง ๊ทธ๋ณด๋ค ๋ ์ค์ํ ๊ฒ์ ๋ด๊ฐ ๋ง๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์ฉํ๋ ์ฌ์ฉ์๋ค์ ๊ฐ์ธ์ ๋ณด๊ฐ ์ต๋ช ์ ๊ณต๊ฒฉ์์ ์ํด ์ ์ถ๋์ง ์๋๋ก ๋ณดํธํ๋ ๊ฒ ์ ๋๋ค. ๊ฐ์ธ์ ๋ณด๋ฅผ ํดํนํ๋ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ์ ๋ฌด์ํ ๋ค์ํ์ง๋ง ๊ทธ ์ค ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ bcrypt์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. - BackEnd2019-07-02
Passport๋ฅผ ์ฌ์ฉํ ์ธ์ฆ ๊ธฐ๋ฅ ๊ตฌํ
๋ก๊ทธ์ธ๊ณผ ๊ฐ์ ์ธ์ฆ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด์ ์ง์ ๊ตฌํํ๋ ๊ฒ์ด ์๋๋ผ ๋ค๋ฅธ ๊ฐ๋ฐ ํ์ฌ๋ค์ด ๊ตฌํํ ์ธ์ฆ๋ฐฉ๋ฒ์ ์ฐ๋ฆฌ๊ฐ ๋น๋ ค ์ฌ์ฉ ํ ์ ์์ต๋๋ค. ์ด ๋ ํ์ํ ๊ฒ์ด passport.js์ ๋๋ค. ๋ฌผ๋ก ์ด์ธ์๋ ๋ ๋ค์ํ ๋ฏธ๋ค์จ์ด๊ฐ ์กด์ฌํ์ง๋ง passport๊ฐ ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฏธ๋ค์จ์ด์ ๋๋ค. - Essay2019-07-01
Reading List
์ฃผ์ ์ ์๊ด ์์ด ์ ์ฉํ ์๋ฃ์ ๋งํฌ๋ค์ ๊ณต์ ํ๊ณ , ํ์ํ ๊ฒฝ์ฐ์๋ ํ ์ค ๋ถ๋์ผ๋ก ์ฝ๋ฉํธ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. 2019๋ ๋์ ์ฒ์ ๋ง๋ค์๋ ํฌ์คํ ์ด์ง๋ง ์ผ๋ถ ๊ฐํธ ํ์ 2023๋ ๋ ๋ถํฐ ๋ค์ ๊ธฐ๋ก์ ์์ํฉ๋๋ค. - BackEnd2019-06-28
Cookie์ HTTP
Cookie๋ฅผ ์ ๋๋ก ์ดํดํ๊ธฐ ์ํด์๋ ๋จผ์ HTTP์ ๋ํด์ ์๊ณ ์์ด์ผ ํฉ๋๋ค. HTTP๋ Hyper Text Transfer Protocol์ ์ฝ์๋ก ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ์ ์์ฒญ/์๋ต ๊ด๊ณ์ ๋ํ ํต์ ๊ท์ฝ์ ๋งํฉ๋๋ค. HTTP๋ ํฌ๊ฒ request์ response๋ฅผ ์ํ ๋ฉ์ธ์ง๋ก ๊ตฌ๋ถ๋์ด ์์ต๋๋ค. HTTP๋ ๋์ ์ฝ๊ฒ ๋ณด์ด์ง ์๋ ์ถ์์ ์ธ ๊ฐ๋ ์ด๊ธฐ ๋๋ฌธ์ ์ฝ๊ฒ ํ์ ํ๊ธฐ ์ํด์ ํฌ๋กญ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํ์ฉํด์ ํ์ตํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. - BackEnd2019-06-28
Express-Session
์ฟ ํค๊ฐ ๋ฑ์ฅํ๋ฉด์ ์น์ด ์ด์ ์ ํต์ ๋ด์ฉ์ ๊ธฐ์ตํ ์ ์๊ฒ ๋์์ต๋๋ค. ๋๋ถ์ ๊ฐ์ธํ๋ ์ธ์ฆ์ ๋ํ ๋ฐํ์ด ๋ง๋ค์ด ์ก์ง๋ง ์ฟ ํค๋ฅผ ์ด์ฉํด์ ์ธ์ฆ์ ์ด์ฉํ๋ ๊ฒ์ ๋งค์ฐ ์ํํ ์ผ์ ๋๋ค. ๊ทธ๋์ ์ธ์ฆ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ ์ฟ ํค๊ฐ ์๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ํ์ํ๊ฒ ๋์๊ณ session์ด ์๊ฒจ๋ฌ์ต๋๋ค. - BackEnd2019-06-27
Express ๋ฏธ๋ค์จ์ด
Express์์ ์ค์ํ ๊ธฐ๋ฅ ๋ ๊ฐ์ง๋ฅผ ๊ผฝ์ผ๋ผ๊ณ ํ๋ฉด ํ๋๋ Route์ด๊ณ ํ๋๋ ๋ฏธ๋ค์จ์ด ์ ๋๋ค. ๋ค๋ฅธ ์ฌ๋์ด ๋ง๋ ๋ถํ์ ๋ด ์น ํ์ด์ง ๊ตฌํ์ ์ํด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๊ฐ ๋ฏธ๋ค์จ์ด์ ๋๋ค. Expressํํ์ด์ง์ ๋ค์ด๊ฐ๋ฉด ๋ค์ํ ๋ฏธ๋ค์จ์ด๋ฅผ ํ์ธ ํ ์ ์์ต๋๋ค. - BackEnd2019-06-26
Express ์ค์ตํ๊ฒฝ ๊ตฌ์ถํ๊ณ ์คํํด๋ณด๊ธฐ
Node.js ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํ๋ ์์ํฌ๋ ๋ค์ํ๊ฒ ์์ง๋ง ๊ทธ ์ค ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒ์ด Express์ ๋๋ค. Express๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ์น ํ์ด์ง๋ฅผ ๋ง๋ค์ด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๊ธฐ ์ํด์๋ ๋จผ์ npm, node js, pm2 ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ํ๋ก๊ทธ๋จ์ด ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค. - BackEnd2019-05-19
MySQL์ CRUD์ JOIN
์ด์ ํฌ์คํ ์์ ์๊ฐํ์๋ Create / Read / Update / Delete์ ๋ํด์ ์์๋ณผ ์ฐจ๋ก์ ๋๋ค. ๊ทธ ์ค์ Create์ Read๊ฐ ์ ์ผ ์ค์ํ๋ค๋ ๊ฒ์ ๊ธฐ์ตํด ์ฃผ์๊ณ MySQL์์๋ ์ด๋ป๊ฒ ๊ตฌํํ๋์ง ์๋์์ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. - BackEnd2019-05-16
MySQL์ ๊ธฐ์ด
์คํ๋ ๋ ์ํธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ ๋ค ํ์ ํํ๋ก ์ ๋ณด๋ฅผ ์ถ๋ ฅ ํ ์ ์์ต๋๋ค. ๋ํ ์ ๋ณด์ ๋ํด์ ID ์์๋๋ก ์ ๋ ฌ, ๋ ์ง ์ ์ ๋ ฌ ๋ฑ ํธ๋ฆฌํ ๊ธฐ๋ฅ๋ค์ด ์กด์ฌํฉ๋๋ค. ํ์ง๋ง ์คํ๋ ๋ ์ํธ๋ ๋ฒํผ์ ํด๋ฆญํ๋ ๊ฒ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์ดํ๋ ๋ฐ๋ฉด, DB๋ SQL์ด๋ผ๋ ์ธ์ด๋ฅผ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ดํฉ๋๋ค. - BackEnd2019-05-11
๋๊ธฐ์ ๋น๋๊ธฐ, PM2
์ฌ๋ฌ๊ฐ์ง ์ผ์ด ์์ ๋, ํ๋๋ฅผ ์๋ฃํด์ผ ๋ค์ ์ผ์ ์์ํ๊ณ , ๋ ๋ค์ ์ผ์ ์๋ฃํด์ผ ๋ค์ ์ผ์ ์์ํ๋ ๊ฒ์ '๋๊ธฐ'๋ผ๊ณ ํฉ๋๋ค. ์ด์๋ ๋ฌ๋ฆฌ ์ฌ๋ฌ๊ฐ์ง ์ผ์ด ์์ ๋ ์ค๋ ๊ฑธ๋ฆฌ๋ ์ผ์ ๋ค๋ฅธ ์ฌ๋์๊ฒ ๋งก๊ฒจ๋๊ณ ๋๋๋ฉด ์์ ์๊ฒ ์๋ฆฌ๋๋ก ํ ๋ค, ์์ ์ ๋ฐ๋ก ๋ค์ ์ผ์ ์์ํ๋ ๊ฒ์ '๋น๋๊ธฐ'๋ผ๊ณ ํฉ๋๋ค. - BackEnd2019-05-07
Node.js ๊ธฐ์ด
WEB์ ํฌ๊ฒ ์น ๋ธ๋ผ์ฐ์ ์ ์น์๋ฒ๋ก ๋๋์ด ๋ณผ ์ ์์ต๋๋ค. ์น ๋ธ๋ผ์ฐ์ ์ ์ฃผ์๋ฅผ ์ ๋ ฅํด์ ์๋ฒ์ ์์ฒญ์ ํ๋ฉด, ์น ์๋ฒ๋ ์ฃผ์์ ๋ฐ๋ฅธ ์์ฒญ์ ์ฐพ์์ ์๋ตํด์ฃผ๋ ๊ด๊ณ์ ์์ต๋๋ค. Node.js๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์น ์๋ฒ๋ฅผ ๋ด์ฅํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์น ์๋ฒ์ ์ญํ ๋ก์ ํ์ฉํ ์๋ ์์ต๋๋ค. - FrontEnd2019-04-27
JavaScript ๊ธฐ์ด (script, event, console)
์น ํ๋ก๊ทธ๋๋ฐ์์ JavaScript์ ์ค์ํ ์ธก๋ฉด์ โ์ฌ์ฉ์์ ์ํธ์์ฉ์ ํ๋ค๋ ์ '์ ๋๋ค. ์น ๋ธ๋ผ์ฐ์ ๋ ํ ๋ฒ ํ๋ฉด์ ์ถ๋ ฅ์ด ๋๋ฉด ์๊ธฐ ์์ ์ ๋ฐ๊ฟ ์ ์๋ ๋ฅ๋ ฅ์ด ์์ต๋๋ค. ํ์ง๋ง JavaScript๋ฅผ ์ด์ฉํ๋ฉด ์ด๋ฐ ๋จ์ ์ ์ด๋์ ๋ ๋ณด์ํ ์ ์๊ฒ ๋ฉ๋๋ค.