Skip to content
View devcomfort's full-sized avatar

Block or report devcomfort

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
devcomfort/README.md

Hi ๐Ÿ‘‹, I'm devcomfort

A passionate FullStack Developer and AI Researcher

devcomfort

์•ˆ๋…•ํ•˜์‹ญ๋‹ˆ๊นŒ. devcomfort์ž…๋‹ˆ๋‹ค. ์ €๋Š” 2013๋…„๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜์—ฌ ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ, ์ธํ”„๋ผ, AI ๋“ฑ ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ๋ถ„์•ผ์— ๊นŠ์ด ์žˆ๋Š” ์ง€์‹์„ ์Œ“์•„์™”์Šต๋‹ˆ๋‹ค.

์ตœ๊ทผ์—๋Š” ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ๋ฐ˜์˜ PCG, ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ๋ฐ˜์˜ ์ถ”์ฒœ ์‹œ์Šคํ…œ, Graph Neural Network, Quality Diversity, Tabular Learning ๋“ฑ ๋‹ค์–‘ํ•œ ์ธ๊ณต์ง€๋Šฅ ์—ฐ๊ตฌ ๋ถ„์•ผ์— ๊ด€์‹ฌ์„ ๋‘๊ณ  ์—ฐ๊ตฌ์™€ ๊ฐœ๋ฐœ์„ ๋ณ‘ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ @devcomfort/text-transcoder, blob-to-url, Ubuntu Raid CLI ๋“ฑ์˜ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ CLI ๋„๊ตฌ๋ฅผ ๊ฐœ๋ฐœ ๋ฐ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋˜ํ•œ ๋Œ€ํ•™์› ์ง„ํ•™์„ ์œ„ํ•ด ํ† ์ต, ์—ฐ๊ตฌ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž‘์—…์„ ๋ณ‘ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

devcomfort

  • ๐Ÿ”ญ ํ˜„์žฌ (์ฃผ)๋งˆ์‹œ๋Š”์นœ๊ตฌ๋“ค์—์„œ ํ…Œํฌ๋ฆฌ๋“œ๋กœ ์žฌ์ง ์ค‘ (2024๋…„ 8์›” ~ ํ˜„์žฌ)
  • ๐ŸŒฑ ํ˜„์žฌ ํ•™์Šต ์ค‘์ธ ๊ธฐ์ˆ : PyTorch, ChromaDB, Polars
  • ๐Ÿ‘จโ€๐Ÿ’ป ๋ชจ๋“  ํ”„๋กœ์ ํŠธ๋Š” https://devcomfort.me/projects์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค
  • ๐Ÿ“ ๋ธ”๋กœ๊ทธ ๊ธ€ ์ž‘์„ฑ: https://blog.devcomfort.me
  • ๐Ÿ’ฌ ์ปค๋ฆฌ์–ด, ๊ฐœ๋ฐœ ์ด์Šˆ, AI ๊ด€๋ จ ์งˆ๋ฌธ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค
  • ๐Ÿ“ซ ์—ฐ๋ฝ์ฒ˜: im@devcomfort.me, devcomfort@t-eut.com

๊ธฐ์ˆ  ์Šคํƒ

์ €๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ๊ณผ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ, AI ์—ฐ๊ตฌ๊นŒ์ง€ ์•„์šฐ๋ฅด๋Š” ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž๋กœ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ˆ ๋“ค์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์Šคํƒ์€ ํ•™์Šต์„ ํ†ตํ•ด ์ง€์†์ ์œผ๋กœ ํ™•์žฅํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ๊ณผ ๋„๊ตฌ๋ฅผ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜์—ฌ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ๋Š” AI์™€ ์›น ๊ธฐ์ˆ ์˜ ๊ฒฐํ•ฉ, ํ–ฅ์ƒ๋œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์˜ ์ œ๊ณต์„ ์šฐ์„ ์‹œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

  • JavaScript/TypeScript - ์›น ํ”„๋ก ํŠธ์—”๋“œ ๋ฐ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์— ์ฃผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • Python - AI ์—ฐ๊ตฌ, ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„

  • ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™œ์šฉํ•œ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์„ค๊ณ„
  • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ - fp-ts, Ramda, Lodash ๋“ฑ์„ ํ™œ์šฉํ•œ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์„ ํ˜ธ
  • ๋ฐ˜์‘ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ReactiveX๋ฅผ ํ†ตํ•œ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆผ๊ณผ ์ƒํƒœ ๊ด€๋ฆฌ์— ํ™œ์šฉ

ํ”„๋ก ํŠธ์—”๋“œ

  • React ์ƒํƒœ๊ณ„ - React, Next.js๋ฅผ ํ™œ์šฉํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
  • Svelte ์ƒํƒœ๊ณ„ - Svelte, SvelteKit์„ ํ™œ์šฉํ•œ ํšจ์œจ์ ์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
  • SolidJS - ๋ฐ˜์‘์„ฑ๊ณผ ์„ฑ๋Šฅ์— ์ดˆ์ ์„ ๋งž์ถ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
  • CSS ํ”„๋ ˆ์ž„์›Œํฌ - Tailwind CSS๋ฅผ ํ™œ์šฉํ•œ ์Šคํƒ€์ผ๋ง

๋ฐฑ์—”๋“œ

  • Node.js ์ƒํƒœ๊ณ„ - Express, Hono๋ฅผ ์ด์šฉํ•œ API ๊ฐœ๋ฐœ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค & ORM

  • ORM ํ™œ์šฉ - Prisma๋ฅผ ์ฃผ๋กœ ํ™œ์šฉํ•œ ํƒ€์ž… ์•ˆ์ „ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ ๋ฐ ๋ชจ๋ธ๋ง
  • ๊ด€๊ณ„ํ˜• DB - Prisma๋ฅผ ํ†ตํ•œ PostgreSQL ์Šคํ‚ค๋งˆ ์„ค๊ณ„ ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ด€๋ฆฌ
  • NoSQL - Prisma๋ฅผ ํ†ตํ•œ MongoDB ์—ฐ๊ฒฐ ๋ฐ ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง
  • ๊ฒฝ๋Ÿ‰ DB - Prisma์™€ SQLite๋ฅผ ํ™œ์šฉํ•œ ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์„ฑ
  • ๋ฒกํ„ฐ DB - ChromaDB ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ™œ์šฉํ•œ ์ž„๋ฒ ๋”ฉ ์ €์žฅ ๋ฐ ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ ๊ตฌํ˜„

AI/ML

  • ML ํ”„๋ ˆ์ž„์›Œํฌ - PyTorch๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋ธ ๊ฐœ๋ฐœ ๋ฐ ํ•™์Šต
  • JAX ์ƒํƒœ๊ณ„ - JAX, Flax๋ฅผ ํ™œ์šฉํ•œ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ML ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ
  • ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ - Polars, Pandas, NumPy๋ฅผ ์ด์šฉํ•œ ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ๋ฐ ๋ถ„์„
  • ์‹œ๊ฐํ™” - Matplotlib, Seaborn์„ ํ™œ์šฉํ•œ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”

์—ฐ๊ตฌ ๊ด€์‹ฌ์‚ฌ

  • ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ๋ฐ˜ PCG - ์ ˆ์ฐจ์  ์ฝ˜ํ…์ธ  ์ƒ์„ฑ์„ ์œ„ํ•œ ๊ฐ•ํ™”ํ•™์Šต ์ ์šฉ
  • ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ๋ฐ˜ ์ถ”์ฒœ ์‹œ์Šคํ…œ - ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ตœ์ ํ™”ํ•˜๋Š” ์ ์‘ํ˜• ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์—ฐ๊ตฌ
  • ์ƒ๊ด€ ๋ถ„์„(Correlation Analysis) - ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ์…‹์—์„œ์˜ ๋ณ€์ˆ˜ ๊ฐ„ ๊ด€๊ณ„ ๋ถ„์„
  • ๊ทธ๋ž˜ํ”„ ์ด๋ก  ๋ฐ GNN - ๊ทธ๋ž˜ํ”„ ์‹ ๊ฒฝ๋ง์„ ํ™œ์šฉํ•œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง
  • Quality Diversity - ๊ฐ•ํ™”ํ•™์Šต ๊ด€์ ์—์„œ ๋‹ค์–‘์„ฑ๊ณผ ํ’ˆ์งˆ์„ ๋™์‹œ์— ์ตœ์ ํ™”ํ•˜๋Š” ์ƒ์„ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์—ฐ๊ตฌ
  • ํ‘œํ˜„ํ•™์Šต(Representation Learning) - ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํ˜•ํƒœ์—์„œ์˜ ํšจ๊ณผ์ ์ธ ํ‘œํ˜„์„ ํ•™์Šตํ•˜๋Š” ์—ฐ๊ตฌ. ์˜คํ† ์ธ์ฝ”๋”, ์ž„๋ฒ ๋”ฉ ๋“ฑ์˜ ๊ธฐ๋ฒ•์„ ํ™œ์šฉ
  • Tabular Learning - ํ…Œ์ด๋ธ” ํ˜•ํƒœ ๋ฐ์ดํ„ฐ์—์„œ ํšจ๊ณผ์ ์ธ ํ•™์Šต ๋ฐฉ๋ฒ•๋ก  ์—ฐ๊ตฌ. ๋ฒ”์ฃผํ˜•/์ˆ˜์น˜ํ˜• ๋ณ€์ˆ˜์˜ ์ž„๋ฒ ๋”ฉ ๋“ฑ์˜ ๊ธฐ๋ฒ•์„ ํ†ตํ•œ ์ ‘๊ทผ

์ธํ”„๋ผ/DevOps

  • ์ปจํ…Œ์ด๋„ˆํ™” - Docker ๊ธฐ๋ณธ ํ™œ์šฉ
  • CI/CD - GitHub Actions๋ฅผ ์ด์šฉํ•œ ๊ธฐ๋ณธ์ ์ธ CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•
  • ํ…Œ์ŠคํŠธ - Vitest, Pytest๋ฅผ ํ™œ์šฉํ•œ ๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

๋ฐ์Šคํฌํ†ฑ/๋ชจ๋ฐ”์ผ

  • ํฌ๋กœ์Šคํ”Œ๋žซํผ - Tauri์— ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ํ•™์Šต ์ค‘

Pinned Loading

  1. ubuntu-raid-cli Public

    Python

  2. blob-to-url Public

    A minimal library for convert Blob object to Blob URL or Data URI

    TypeScript

  3. devcomfort-text-transcoder Public

    Easy-to-use, widely compatible, and thoroughly tested text transcoder.

    TypeScript 1

  4. is-html-element Public

    TypeScript