๐Ÿ”ฎ ๋น„์ „

April 15, 2024 ยท View on GitHub


LafTools - ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ ์ฐจ์„ธ๋Œ€ ๋‹ค๋ชฉ์  ๋„๊ตฌ ์ƒ์ž

Note: ์ด ํŽ˜์ด์ง€๋Š” LafTools์—์„œ ๋‚ด๋ถ€์ ์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
English | ็ฎ€ไฝ“ไธญๆ–‡ | ็น้ซ”ไธญๆ–‡ | Deutsch | Espaรฑol | Franรงais | ๆ—ฅๆœฌ่ชž | ํ•œ๊ตญ์–ด | More

๐Ÿ”ฎ ๋น„์ „

LafTools๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ์šฐ์„ , ์ž์ฒด ํ˜ธ์ŠคํŒ…, ์™„์ „ ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ ์ƒ์ž์ž…๋‹ˆ๋‹ค. ์ด ์›น ์‚ฌ์ดํŠธ์—์„œ ๋‹ค์–‘ํ•œ ๋„๊ตฌ ์„ธํŠธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’Œ ํŠน์ง•

  • ํฌ์Šค ํฌ์—๋ฒ„
  • ๊ฒฝ๋Ÿ‰ ๋Ÿฐํƒ€์ž„
  • ์ „์ฒด ํ”Œ๋žซํผ ์ง€์›(ARMv8 ํฌํ•จ)
  • ์™„์ „ํ•œ GPT ์œ ์‚ฌ ์ง€์›
  • ์ƒ์‚ฐ์ ์ธ UI์™€ ๊ณ ๋„๋กœ ํ†ตํ•ฉ๋จ
  • ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ Docker ์ด๋ฏธ์ง€ ๋ฐ Portable Edition
  • ๋ฐ์Šคํฌํ†ฑ ๋ฒ„์ „ ์ง€์›(Planning)
  • ...

๐Ÿš€ Docker์—์„œ ์‹คํ–‰ํ•˜์„ธ์š”

๊ธ€๋กœ๋ฒŒ ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ:

docker run -e LAFREGION=US -e APPLANG=en_US --name mylaftools -v ~/.laftools-docker:/root/.laftools  -d -p 0.0.0.0:39899:39899 codegentoolbox/laftools-linux-x64:latest

์ค‘๊ตญ ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ(ๅ›ฝๅ†…็”จๆˆท):

docker run -e LAFREGION=CN -e APPLANG=zh_CN --name mylaftools -v ~/.laftools-docker:/root/.laftools -d -p 0.0.0.0:39899:39899 codegentoolbox/laftools-linux-x64:latest

NOTE:

  1. ๊ธฐ๋ณธ ํฌํŠธ๋Š” 39899๋กœ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉฐ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. LafTools๋Š” ํ•ญ์ƒ ์ž๋™์œผ๋กœ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜๋ฏ€๋กœ ์ตœ์‹  ๊ธฐ๋Šฅ๊ณผ ๋ฒ„๊ทธ ์ˆ˜์ •์„ ์ฆ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Docker Images:

๐Ÿ”— ์˜จ๋ผ์ธ ์›น์‚ฌ์ดํŠธ

์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ๋น ๋ฅด๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฏธ๊ตญ๊ณผ CN ์ง€์—ญ์— ์•ˆ์ •์ ์ธ ์˜จ๋ผ์ธ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฐํฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • OS ๊ธฐ๋Šฅ์— ์˜์กดํ•˜๋Š” ์ผ๋ถ€ ๋„๊ตฌ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋Œ€๋ถ€๋ถ„์˜ ๋„๊ตฌ๋Š” ์˜จ๋ผ์ธ ์›น์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๐Ÿ‡บ๐Ÿ‡ธ ๋ฏธ๊ตญ: laftools.dev
  • ๐Ÿ‡จ๐Ÿ‡ณ ์ค‘๊ตญ ๋ณธํ† ๋งŒ ํ•ด๋‹น: laftools.cn

๐ŸŒ  ์‹œ์‚ฌ

๐Ÿ“ก LAF ์†Œ๊ฐœ

  • L -> Linked
  • A -> Asynchronous
  • F -> Functional

๋ณธ์งˆ์ ์œผ๋กœ LafTools๋Š” ์ผ๋ จ์˜ ์—ฐ๊ฒฐ๋˜๊ณ  ๋น„๋™๊ธฐ์ ์ด๋ฉฐ ํ™˜์ƒ์ ์ธ ๋„๊ตฌ ์„ธํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ œํ’ˆ๊ตฐ์ž…๋‹ˆ๋‹ค.

์•ˆ์‹ฌํ•˜์‹ญ์‹œ์˜ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋†€๋ž๊ณ  ํ™˜์ƒ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๋ฐœ์ „ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์™€์ธ์ฒ˜๋Ÿผ ์‹œ๊ฐ„์ด ์ง€๋‚ ์ˆ˜๋ก ๋” ์ข‹์•„์ง€๋“ฏ์ด ๋” ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๐ŸŒ  ๊ธฐ๋ถ€๊ธˆ

1. ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ์„ค์ •

๋‹จ์ˆœํ™”๋ฅผ ์œ„ํ•ด ์ด ์ €์žฅ์†Œ๋ฅผ Windows์˜ C:\Usersjerry\project\laftools-repo ๋˜๋Š” Linux/MacOS์˜ /Users/jerry/projects/laftools-repo์— ๋ณต์ œํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  *~/.bashrc ํŒŒ์ผ์—์„œ env๋ฅผ ์„ ์–ธํ•˜๊ณ  ์•„๋ž˜ ๊ตฌ์„ฑ์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. * ๋˜๋Š” ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ๊ฐ„๋‹จํžˆ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

Windows OS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ชจ๋“  ๋ช…๋ น์ด git-bash์—์„œ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ์ž์„ธํ•œ ๋‚ด์šฉ์€ CONTRIBUTION์„ ์ฐธ์กฐํ•˜์„ธ์š”. ์ด ์™ธ์—๋„ ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ ๊ฒฝ๋กœ์—๋Š” ๊ณต๋ฐฑ์ด๋‚˜ ์˜์–ด๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

Env for Windows:

git config core.ignorecase false
export LAFTOOLS_ROOT="C:\users\jerry\project\laftools-repo"
export PATH=$PATH:$LAFTOOLS_ROOT\dev\source\windows-bin

Env for Linux/MacOS:

export LAFTOOLS_ROOT=/users/jerry/projects/laftools-repo

2. ์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰

# ํ•„์š”ํ•œ ์ „์—ญ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜
npm i -g pnpm ts-node typescript

# ํ”„๋กœ์ ํŠธ ๋ށ์Šค ์„ค์น˜
cd $LAFTOOLS_ROOT && npm install -S -D --force
cd $LAFTOOLS_ROOT/modules/web2 && npm install -S -D --force
cd $LAFTOOLS_ROOT/devtools/scripts/scan && npm install -S -D --force

# ํ•ต์‹ฌ ์„œ๋น„์Šค ์‹คํ–‰
npm run fe-web

3. ์ง“๋‹ค

cd pipeline
./build-all.sh

๐Ÿ“‘ ๊ธฐํƒ€ ์žฌ๋ฃŒ

๋‹ค์Œ์€ ์ด ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€ ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค.

๐Ÿ’ Icons

์•„๋ž˜์˜ ์•„๋ฆ„๋‹ค์šด ์•„์ด์ฝ˜์„ ์ œ๊ณตํ•ด ์ฃผ์‹  ์žฌ๋Šฅ ์žˆ๋Š” ์•„ํ‹ฐ์ŠคํŠธ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. Ide icons created by umartvurdu - Flaticon Ide icons created by heisenberg_jr - Flaticon Fund icons created by Freepik - Flaticon Translate icons created by Freepik - Flaticon To do icons created by Freepik - Flaticon Timer icons created by Freepik - Flaticon Dictionary icons created by Freepik - Flaticon

๐Ÿ™ ๊ฐ์‚ฌ์˜ ๋ง

์ด ํ”„๋กœ์ ํŠธ๋Š” ๋ฉ‹์ง„ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ์—†์—ˆ๋‹ค๋ฉด ๋ถˆ๊ฐ€๋Šฅํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ๊นŠ์€ ๊ฐ์‚ฌ๋ฅผ ํ‘œํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

  1. Blueprint UI - a React-based UI toolkit.
  2. CyberChef - a web app for encryption, encoding, compression and data analysis.
  3. Lodash - a modern JavaScript utility library delivering modularity, performance, & extras.
  4. one-api - an OpenAI key management & redistribution system.

ํ™•์‹คํžˆ ์ด ํ”„๋กœ์ ํŠธ์— ๋„์›€์ด ๋˜๊ณ  ์ด‰์ง„๋œ ๋‹ค๋ฅธ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์ง€๋งŒ ์ด ๋ถ€๋ถ„์—์„œ๋Š” ์ž์„ธํžˆ ์„ค๋ช…ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ”„๋กœ์ ํŠธ์™€ ์ธ์žฌ ๊ฐœ๋ฐœ์ž๋“ค์˜ ๋…ธ๋ ฅ์ด ์—†์—ˆ๋‹ค๋ฉด LafTools๋Š” ๋ถˆ๊ฐ€๋Šฅํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๐Ÿชช License

์ด ํ”„๋กœ์ ํŠธ๋Š” GNU Affero General Public License์— ๋”ฐ๋ผ ๋ณดํ˜ธ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.