์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

Three.js 3D ๋„์‹œ๋ชจ๋ธ & Netlify ๋ฐฐํฌ

์–ธ์ œ๊นŒ์ง€ ๋ฐ•์Šค๋‚˜ ๊ตฌ์ฒด ๋บ‘๋บ‘์ด ๋„๋Š” ๊ฒƒ๋งŒ ๋ฐฐ์šฐ์‹œ๋‚˜์š”, ์ˆฒ์„ ๋ด์•ผ์ง€ ๋‚˜๋ฌด๋งŒ ๋ณด๋ฉด ์ƒ๊ฐ์ด ํฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™„์ „ ์ดˆ๋ณด๋ฅผ ํƒˆ์ถœํ•˜๊ณ  ์‹ค๋ฌด์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ตœ๊ทผ ์ฃผ๋ชฉ๋ฐ›๊ณ  ์žˆ๋Š” ๋””์ง€ํ„ธ-ํŠธ์œˆ์— ํ•œ ์—ญํ• ์„ ๋‹ด๋‹นํ•  Three.js์˜ ํŒŒ์›Œ๋ฅผ ๋А๊ปด๋ณด์„ธ์š”. ํ™ˆํŽ˜์ด์ง€ ๋บ‘๋บ‘์ด ์šฉ๋„๊ฐ€ ์•„๋‹Œ ์—…๋ฌด ์ ์šฉ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค. ์ œ์กฐ,๊ตญ๋ฐฉ,์žฌ๋‚œ,์šด์†ก ๋ถ„์•ผ๋“ฑ ๊ด€๋ จ ๋ชจ๋ธ(glb, glTF..)์˜ ์ œ์ž‘ ์—ญ๋Ÿ‰์„ ๋ณด์œ ํ•˜๋ฉด ๋„๋ฉ”์ธ ์ „๋ฌธ์„ฑ์ด ํ•œ ์ธต ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ์ธ ๋ฐ ํšŒ์‚ฌ ์„œ๋ฒ„์— On-Premises์šฉ Node.js(Express) & Nest.js ๊ฐ ์„œ๋ฒ„๋„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค ๋ณธ ๊ฐ•์˜๋ฅผ ์กฐ๊ธˆ๋งŒ ๋ณ€ํ˜• ํ•ด๋„ ํŒŒ์›Œํ’€ํ•œ ์„œ๋น„์Šค ์ œ์ž‘๊ณผ ๋”๋ถˆ์–ด IT ์ธ์žฌ๋กœ ๊ฑฐ๋“ญ๋‚  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„ ์ซ„์ง€ ๋งˆ์‹œ๊ณ , ๋„์ „ํ•˜์„ธ์š” ๊ทธ๋ฆฌ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค.^^

(5.0) ์ˆ˜๊ฐ•ํ‰ 2๊ฐœ

์ˆ˜๊ฐ•์ƒ 40๋ช…

๋‚œ์ด๋„ ์ดˆ๊ธ‰

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

์ฝ”๋“œ๋ถ„์„
์ฝ”๋“œ๋ถ„์„
3Dํ”„๋กœ์ ํŠธ
3Dํ”„๋กœ์ ํŠธ
์ฝ”๋“œ๋ถ„์„
์ฝ”๋“œ๋ถ„์„
3Dํ”„๋กœ์ ํŠธ
3Dํ”„๋กœ์ ํŠธ

์ƒˆ์†Œ์‹

6 ๊ฐœ

  • GregHan๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ์ˆ˜์ •๋จ

    ์•ˆ๋…•ํ•˜์„ธ์š”, ํ•œ์ข…์ธ ์ž…๋‹ˆ๋‹ค.
    ๊ฐœ์ • ์ •๋ณด:

    node v22.21.1
     "dependencies": {
        "@tweenjs/tween.js": "^25.0.0",
        "lil-gui": "^0.21.0",
        "lodash": "^4.17.21",
        "pako": "^2.1.0",
        "three": "^0.181.1",
        "tweakpane": "^4.0.5"
      },
      "devDependencies": {
        "@tweakpane/core": "^2.0.5",
        "@types/gulp": "^4.0.18",
        "@types/gulp-clean-css": "^4.3.4",
        "@types/gulp-rename": "^2.0.7",
        "@types/pako": "^2.0.4",
        "@types/three": "^0.181.0",
        "del": "^8.0.1",
        "gulp": "^5.0.1",
        "gulp-clean-css": "^4.3.0",
        "gulp-rename": "^2.1.0",
        "gulp-replace": "^1.1.4",
        "terser": "^5.44.1",
        "vite": "^7.2.2"
      }

    ์•„๋ž˜๋Š” ์„ธ์ƒ์‚ฌ๋Š” ์ด์•ผ๊ธฐ ์ž…๋‹ˆ๋‹ค.
    ํ•ดํ”ผ ์ฝ”๋”ฉ์€ ์—ญ์‹œ ์† ์ฝ”๋”ฉ์ด ์ข‹์•„์š”. ๋” ์ค‘์š”ํ•œ ๊ฑด ๋„๋ฉ”์ธ ์ง€์‹์ž…๋‹ˆ๋‹ค.

    0
  • GregHan๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ์ˆ˜์ •๋จ

    ์•ˆ๋…•ํ•˜์„ธ์š”, ํ•œ์ข…์ธ์ž…๋‹ˆ๋‹ค.
    ๊ฐœ์ • ์ •๋ณด:

    node v22.15.0
    @types/three  ^0.172.0  โ†’  ^0.176.0
     terser         ^5.37.0  โ†’   ^5.39.2
     three         ^0.172.0  โ†’  ^0.176.0
     vite           ^6.0.11  โ†’    ^6.3.5

    ์•„๋ž˜๋Š” ์„ธ์ƒ์‚ฌ๋Š” ์ด์•ผ๊ธฐ ์ž…๋‹ˆ๋‹ค.
    ์ตœ๊ทผ ๋ฐ”์ด๋ธŒ AI ๋ถ„์•ผ๊ฐ€ ๋งŽ์ด ๋ฐœ์ „ ํ–ˆ์ง€์š”.

    ํ—Œ๋ฐ ์ €๋Š” ์ด์ œ ์ปค์ ธ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ๋กœ ํ–ˆ๋‹ต๋‹ˆ๋‹ค.

    ๊ทธ ์ด์œ ๋Š” ๋„ˆ๋ฌด ์ด์ต์—๋งŒ ๋งค๋ชฐ๋œ ๋А๋‚Œ์ด๊ณ  ์‚ฌ๋žŒ์—๊ฒŒ ์˜คํžˆ๋ ค ์ผ์„ ์‹œํ‚ค๋ ค๋Š” ๋“ฏํ•ฉ๋‹ˆ๋‹ค.

    ๋ง๋„ "๋„ค, ์ด๋ ‡๊ฒŒ ํ•ด์ฃผ์„ธ์š”" ๋ผ๊ณ  ์งˆ๋ฌธ ๋‹ต๋ณ€๋„ ์ฃผ๋Š”๊ฒŒ ์›ฌ์ง€ ์›ƒ๊ธฐ๊ธฐ๋„ ํ•˜๊ณ  ํ•ด์„œ์š”, ๋ณ„๋กœ ์ž˜ํ•˜์ง€๋„ ๋ชปํ•˜๋ฉด์„œ...

    ๋น„์šฉ ์ง€๋ถˆํ•˜๊ณ  ์‹œํ‚ค๋Š”๋ฐ๋กœ๋„ ์ œ๋Œ€๋กœ ๋ชปํ•˜๋Š”๊ฒŒ ํ•˜๋„ ์ž˜๋‚œ์ฒด๋ฅผ ํ•ด์„œ discord์— complain ์ž”๋“ ์“ฐ๊ณ  ํƒˆํ‡ด...
    ์—ฌ๋Ÿฌ๋ถ„๋„ ์ข‹์€ ai ์ž˜ ๊ณจ๋ผ์„œ ๊ฐ€๋Šฅํ•˜๋ฉด 3๊ฐœ ์ •๋„ ๊ธฐ๋ณธ ๋น„์šฉ์œผ๋กœ ๋Œ๋ ค๊ฐ€๋ฉด์„œ ์“ฐ์„ธ์š”, ํ•˜๋‚˜์— ๋งค๋ชฐ๋˜๋ฉด ์ปค์ ธ๊ฐ™์ด ๋ฉ๋‹ˆ๋‹ค. ํ•ดํ”ผ ์ฝ”๋”ฉ์€ ์—ญ์‹œ ์† ์ฝ”๋”ฉ์ด ์ข‹์•„์š”.

    0
  • GregHan๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    *.Three.js 172 ๊ฐœ์ •

    @types/three     ^0.169.0  โ†’  ^0.172.0
    
     lil-gui           ^0.19.2  โ†’   ^0.20.0
    
     terser            ^5.34.1  โ†’   ^5.37.0
    
     three            ^0.169.0  โ†’  ^0.172.0
    
     tweakpane          ^4.0.4  โ†’    ^4.0.5
    
     vite               ^5.4.9  โ†’   ^6.0.11

    ๋ชจ๋‘๋“ค ์—ด๊ณต ํ•˜์„ธ์š”. ํ™”์ดํŒ….

    0
  • GregHan๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ์ˆ˜์ •๋จ

    24.11์›”12์ผ ๋ฒ„์ ผ ๊ฐฑ์‹  ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

    *. ์ž‘์—… ์ˆœ์„œ: ncu => ncu -u => npm i

    -.NestJS

    
     @tweakpane/core    ^2.0.4  โ†’    ^2.0.5
     @types/three     ^0.169.0  โ†’  ^0.170.0
     terser            ^5.34.1  โ†’   ^5.36.0
     three            ^0.169.0  โ†’  ^0.170.0
     vite               ^5.4.8  โ†’   ^5.4.11      

    -.NodeJS * NestJS

    Node LTS ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฐ ์ƒ์œ„ ๋ฒ„์ „ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ

    @types/swagger-ui-express   ^4.1.6  โ†’   ^4.1.7
     express                    ^4.21.0  โ†’  ^4.21.1
    @nestjs/cli                        ^10.4.5  โ†’   ^10.4.7
     @nestjs/common                     ^10.4.4  โ†’   ^10.4.7
     @nestjs/core                       ^10.4.4  โ†’   ^10.4.7
     @nestjs/platform-express           ^10.4.4  โ†’   ^10.4.7
     @nestjs/schematics                 ^10.1.4  โ†’   ^10.2.3
     @nestjs/swagger                     ^7.4.2  โ†’    ^8.0.5
     @nestjs/testing                    ^10.4.4  โ†’   ^10.4.7
     @types/jest                       ^29.5.13  โ†’  ^29.5.14
     @types/node                        ^22.7.4  โ†’   ^22.9.0
     @typescript-eslint/eslint-plugin    ^8.8.0  โ†’   ^8.14.0
     @typescript-eslint/parser           ^8.8.0  โ†’   ^8.14.0
     eslint                             ^9.12.0  โ†’   ^9.14.0
     typescript                          ^5.6.2  โ†’    ^5.6.3
    0
  • GregHan๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    24.10.27์ผ ํ˜„์žฌ ๋ฒ„์ „ ๊ฐฑ์‹  ์ •๋ณด

    -.Client

    terser  ^5.34.1  โ†’  ^5.36.0
     vite     ^5.4.8  โ†’  ^5.4.10

    ncu => ncu -u => npm i

    -.NestJS

    @nestjs/common                     ^10.4.4  โ†’   ^10.4.6
     @nestjs/core                       ^10.4.4  โ†’   ^10.4.6
     @nestjs/platform-express           ^10.4.4  โ†’   ^10.4.6
     @nestjs/schematics                 ^10.1.4  โ†’   ^10.2.2
     @nestjs/testing                    ^10.4.4  โ†’   ^10.4.6
     @types/jest                       ^29.5.13  โ†’  ^29.5.14
     @types/node                        ^22.7.5  โ†’   ^22.8.1
     @typescript-eslint/eslint-plugin    ^8.8.1  โ†’   ^8.11.0
     @typescript-eslint/parser           ^8.8.1  โ†’   ^8.11.0
     eslint                             ^9.12.0  โ†’   ^9.13.0

    ๊ธˆ์ฃผ๋Š” Node ๋ณ€๊ฒฝ์ด ์—†์Šต๋‹ˆ๋‹ค.

    ๋ชจ๋‘๋“ค ์—ด๊ณต ํ•˜์„ธ์š”.

    ๋‹ค์Œ ๋‹ฌ ์ฆˆ์Œ์— ๋‹ค์Œ ๊ฐ•์ขŒ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

    (๊ตฌ๊ธ€ ๋ฐ‹, ์คŒ ์ธ๋ฐ, ๋ณ‘์› ์—…๋ฌด๋กœ ์ œ๊ณตํ•˜๊ณ  ๋‹ค๋ฐฉ๋ฉด์œผ๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค)

    Vue3 + WebRTC + WebSocket + TTS/STT + Tensorflow + Node + MySQL

    0
  • GregHan๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ์ˆ˜์ •๋จ

    24.10.19์ผ ํ˜„์žฌ ๋ฒ„์ „ ๊ฐฑ์‹  ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

    *. ์ž‘์—… ์ˆœ์„œ: ncu => ncu -u => npm i

    -.NestJS

     @nestjs/common                    ^10.4.4  โ†’  ^10.4.5
     @nestjs/core                      ^10.4.4  โ†’  ^10.4.5
     @nestjs/platform-express          ^10.4.4  โ†’  ^10.4.5
     @nestjs/schematics                ^10.1.4  โ†’  ^10.2.2
     @nestjs/testing                   ^10.4.4  โ†’  ^10.4.5
     @types/node                       ^22.7.4  โ†’  ^22.7.7
     @typescript-eslint/eslint-plugin   ^8.7.0  โ†’  ^8.10.0
     @typescript-eslint/parser          ^8.7.0  โ†’  ^8.10.0
     eslint                            ^9.11.1  โ†’  ^9.13.0
     typescript         

    -.NodeJS

    Node LTS ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฐ ์ƒ์œ„ ๋ฒ„์ „ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ

    v20.18.0 LTS 
    v22.8.0
    express  ^4.21.0  โ†’  ^4.21.1
    0

์›” โ‚ฉ41,800

5๊ฐœ์›” ํ• ๋ถ€ ์‹œ

โ‚ฉ209,000