๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป DEV/์—ฐ๊ตฌ๋ชฉ๋ก15

[WebGL - regl] (์ „๋žต) WebGL ์ขŒํ‘œ๊ณ„๋ฅผ ํ”ฝ์…€ ์ขŒํ‘œ๊ณ„๋กœ ๋ณ€ํ™˜ WebGL์˜ ๊ธฐ๋ณธ ์ขŒํ‘œ๊ณ„์™ผ์ชฝ ์œ„: (-1, 1)์˜ค๋ฅธ์ชฝ ์•„๋ž˜: (1, -1)SVG์˜ ๊ธฐ๋ณธ ์ขŒํ‘œ๊ณ„SVG์˜ ๊ธฐ๋ณธ ์ขŒํ‘œ๊ณ„๋Š” ํ”ฝ์…€ ์ขŒํ‘œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:์™ผ์ชฝ ์œ„: (0, 0)์˜ค๋ฅธ์ชฝ ์•„๋ž˜: (width, height)1๋‹จ๊ณ„. WebGL ์ขŒํ‘œ๊ณ„ -> ํ”ฝ์…€ ์ขŒํ‘œ๊ณ„ ๋ณ€ํ™˜:WebGL์˜ (-1, 1) -> SVG์˜ (0, 0)์œผ๋กœ ๋งคํ•‘๋˜๊ณ , (1, -1) -> SVG์˜ (width, height)์œผ๋กœ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.function webglToPixel(x, y, canvas) { const width = canvas.width; const height = canvas.height; return { x: (x + 1) * 0.5 * width, y: (1 - y) * 0.5 * height };} 2๋‹จ๊ณ„. rel.. 2024. 8. 8.
[WebGL - regl] (2) regl ์˜ˆ์ œ ์† GLSL ์ฝ”๋“œ ํ•ด์„ โ—ผ๏ธŽ ์…ฐ์ด๋” ์ฝ”๋“œ & GLSL ๊ธฐ๋ณธ ์ฝ”๋“œํ•ด์„* ์…ฐ์ด๋” ์ฝ”๋“œ:- Graphics Programming์—์„œ GPU๊ฐ€ ํ™”๋ฉด์— ๋ Œ๋”๋งํ•  ๊ทธ๋ž˜ํ”ฝ์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์„ฑํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ- ๊ทธ๋ž˜ํ”ฝ์Šค ์นด๋“œ์˜ GPU์—์„œ ์ง์ ‘ ์‹คํ–‰์ด ๋œ๋‹ค. → ๋ฒ„ํ…์Šค ์…ฐ์ด๋” (Vertex Shader): ๊ฐ ์ •์ ์˜ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์ •์ ์˜ ์†์„ฑ(์ƒ‰์ƒ, ์ขŒํ‘œ) ์ฒ˜๋ฆฌ- ์ž…๋ ฅ : ์ •์  ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ๋ฐ›์Œ- ์ถœ๋ ฅ : ๋ฐ˜ํ™˜๋œ ์ •์  ์œ„์น˜์™€ ๊ด€๋ จ ์ •๋ณด ์ถœ๋ ฅ → ํ”„๋ž˜๊ทธ๋จผํŠธ ์…ฐ์ด๋” (Fragment Shader): ํ™”๋ฉด์˜ ๊ฐ ํ”ฝ์…€์— ์ƒ‰์ƒ ๊ฐ’์„ ๊ณ„์‚ฐ- ์ž…๋ ฅ : ๊ฐ ํ”ฝ์…€์˜ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ๋ฐ›์Œ- ์ถœ๋ ฅ : ์ตœ์ข… ์ƒ‰์ƒ ๊ฐ’์„ ํ™”๋ฉด์— ์ถœ๋ ฅ* GLSL: GPU์—์„œ ์‹คํ–‰๋˜๋Š” ์…ฐ์ด๋” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ์–ธ์–ด โ—ผ๏ธŽ vec2 : 2์ฐจ์› ๋ฒกํ„ฐ - 2๊ฐœ์˜ ๋ถ€๋™ ์†Œ์ˆ˜์  ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ(2D .. 2024. 8. 8.
[WebGL - regl] (1) regl ์ด๋ž€? โ—ผ๏ธŽ regl (npm) ์ด๋ž€?→ WebGL์˜ ์ถ”์ƒํ™” ๋ ˆ์ด์–ด, WebGL์„ ๋” ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ : ๊ฐ„๋‹จํ•œ ๋ช…๋ น→ WebGL์˜ ๋ณต์žกํ•œ API๋ฅผ ๋‹จ์ˆœํ™”→ ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šคํƒ€์ผ ์ง€์› : ๊ณ ์„ฑ๋Šฅ ๊ทธ๋ž˜ํ”ฝ ๋ Œ๋”๋ง์„ ๋ณด๋‹ค ์ง๊ด€์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ โ—ผ๏ธŽ regl ํŠน์ง•→ ๊ฐ„๋‹จํ•œ API : ๋ณต์žกํ•œ WebGL ์„ค์ •์„ ๊ฐ„๋‹จํ•œ ๋ช…๋ น์œผ๋กœ ๋Œ€์ฒด→ ์„ฑ๋Šฅ ์ตœ์ ํ™” : ์ƒํƒœ ๊ด€๋ฆฌ์™€ ๋ช…๋ น ํ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด ์„ฑ๋Šฅ ๊ทน๋Œ€ํ™”→ ๋ชจ๋“ˆํ™” : ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ๋ Œ๋”๋ง ๋ช…๋ น์„ ๋ชจ๋“ˆํ™”ํ•ด์„œ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ โ—ผ๏ธŽ regl ์„ค์น˜npm install (--save) reql# (์ค„์—ฌ์„œ) npm i -S reql# ์ตœ์‹  npm์—๋Š” --save ์˜ต์…˜์ด ๊ธฐ๋ณธ ๋™์ž‘์œผ๋กœ ํฌํ•จ๋ผ ์žˆ๊ธฐ์— ์ƒ๋žตํ•ด๋„ ๋จ โ—ผ๏ธŽ regl ๊ธฐ๋ณธ ์˜ˆ์‹œimpor.. 2024. 8. 8.
[Figma] We can't open that file ์—๋Ÿฌ ํ•ด๊ฒฐ (WebGL) ์ ‘๊ทผ (์š”์•ฝ) Figma๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ์™€์ค‘ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์—๋Ÿฌ์™€ ๋งž๋‹ฅ๋œจ๋ ธ์Šต๋‹ˆ๋‹ค. "We can't open that file"์ด๋ผ๋ฉฐ ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ € ๋‚ด WebGL ์„ค์ • ๊ด€๋ จ ์—๋Ÿฌ์˜€์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐํ† ๋ก ํ•ฉ์‹œ๋‹ค. 1. ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ 2. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• 1. ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ Uh oh... we can't open that file we can't open the editor because WebGL isn't supported, or is disabled, in your browser. if your browser supports WebGL, check out this help article to find out how to enable it. 2. ์—๋Ÿฌ ํ•ด๊ฒฐ 1๋‹จ๊ณ„) chrome://flags ์ ‘์† 2๋‹จ๊ณ„) WebGl Dr.. 2023. 12. 13.
[Git] SSH ํ‚ค ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• & SSH ํ‚ค ์ฐพ๋Š” ๋ฐฉ๋ฒ• ์ ‘๊ทผ (์š”์•ฝ) ํ˜•์ƒ๊ด€๋ฆฌ ํˆด Github ์›๊ฒฉ์ €์žฅ์†Œ์—์„œ ํŠน์ • ํ”„๋กœ์ ํŠธ๋ฅผ Pull ๋ฐ›์•„์•ผํ•˜๋Š” ์ผ์€ ๋นˆ๋ฒˆํ•ฉ๋‹ˆ๋‹ค. Pull์„ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ํฌ๊ฒŒ 'HTTPS' ๋ฐฉ์‹๊ณผ 'SSH(key)' ๋ฐฉ์‹์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์— 'HTTPS' ๋ฐฉ์‹์œผ๋กœ ํฐ ์ธ์ฆ ๊ณผ์ •์—†์ด ์‰ฝ๊ฒŒ ํ•˜๋˜ ๊ณผ์ •์„, Github์—์„œ๋Š” ์ง€์–‘ํ•˜๋ผ๊ณ  ๊ถŒ๊ณ ํ–ˆ๊ณ , ๋ณด์•ˆ์— ๋”์šฑ ์œ ๋ฆฌํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ 'SSH(key)' ๋ฐฉ์‹์„ ์ถ”์ฒœํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธธ ๊ถŒ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ด ๋ฐฉ๋ฒ•์„ ์ ‘๊ทผํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. 1. Git > ๋กœ๊ทธ์ธ > ์šฐ์ƒ๋‹จ Profile > settings > "SSH and GPG keys" 2. SSH ํ‚ค ์กฐํšŒ (์ƒ์„ฑํ–ˆ์—ˆ๋‚˜? ๋กœ์ปฌ์— ์žˆ๋‚˜?) (2.1). (๋กœ์ปฌ) SSH ํ‚ค ์กฐํšŒ (์–ด๋””์—”๊ฐ€ ์กด์žฌํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ณผ๊ฑฐ ๊ธฐ์–ต..) 3. SSH ํ‚ค ์ƒ์„ฑ (3... 2023. 11. 15.
[Tomcat] Tomcat ํฌํŠธ ๋ฒˆํ˜ธ ์—ฌ๋Ÿฌ ๊ฐœ ์‚ฌ์šฉํ•˜๊ธฐ, ์ถ”๊ฐ€ํ•˜๊ธฐ(windows) ํ•„์š”์„ฑ ์„œ๋น„์Šค ๋ฐฐํฌ๋ฅผ ํ•˜๋ ค๋˜ ๊ณผ์ • ์ค‘์— ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋˜ ์ „์šฉ ํฌํŠธ๋Š” ์™ธ๋ถ€์—์„œ๋„, ๋‚ด๋ถ€์—์„œ๋„ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ํฌํŠธ์ธ์ง€๋ผ ์™ธ๋ถ€์—์„œ๋Š” ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€ํ•˜์ง€๋งŒ ๋‚ด๋ถ€์—์„œ๋Š” ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ํฌํŠธ ํ•˜๋‚˜๋ฅผ ํ†ฐ์บฃ ๋‚ด์—์„œ ์ถ”๊ฐ€๋กœ ์—ด์–ด์ฃผ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ ์ˆœ์„œ๋Œ€๋กœ ๊ทธ ๋ฐฉ๋ฒ•์„ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ ‘๊ทผ (์š”์•ฝ) 1. Tomcat ์„ค์น˜ ๊ฒฝ๋กœ > conf > server.xml ํŒŒ์ผ ์—ด๊ธฐ (1.1). server.xml ์ˆ˜์ • ์ž‘์—… 2. appBase๋กœ ์ง€์ •ํ•  ํด๋” ์ƒ์„ฑ (2.1). ํ•˜์œ„์— ROOT ํด๋” ๋ฐ web.xml ์ž‘์—… 3. (ํ•ด์ฃผ์ง€ ์•Š์•„๋„ ๋˜๋Š” ๊ณผ์ • - ์ฐธ๊ณ ) appBase๋กœ ์ง€์ •ํ•œ ํด๋” ํ•˜์œ„ ์ž‘์—… (3.1). ํ•˜์œ„์— ROOT ํด๋” ๋ฐ web.xml ์ž‘์—… 4. Tomcat ๊ตฌ๋™ ํ›„ ํด๋” ์ƒ์„ฑ ํ™•์ธ ๋ฐฉ๋ฒ• 1. T.. 2023. 7. 19.
[Status] HTTP ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ๋ชจ์Œ ํ•„์š”์„ฑ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๋ณด๋ฉด 200, 304, 404, 500 ๋“ฑ ์ˆ˜๋งŽ์€ Status(์ƒํƒœ)๋ฅผ ์ ‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์ฃผ ๋งˆ์ฃผํ•˜๋Š” ์ƒํƒœ๋“ค์€ ์ต์ˆ™ํ•ด ์†์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋œฌ๊ธˆ์—†์ด ๋งž์ดํ•˜๋Š” ์ƒํƒœ๋“ค์€ ์ž‘์—… ๋‚œ์ฒ˜ํ•˜๊ฒŒ ๋งŒ๋“ค ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋•Œ๋งˆ๋‹ค ์ฐพ์•„๋ณผ ์ˆ˜ ๋ฐ–์— ์—†๋Š” HTTP ์‘๋‹ต์— ๊ด€ํ•œ ์ƒํƒœ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ ‘๊ทผ 1. HTTP ์ƒํƒœ ์ฝ”๋“œ ์˜๋ฏธ 2. HTTP ์ƒํƒœ ์ฝ”๋“œ ์ข…๋ฅ˜ ์ƒ์„ธ 1. HTTP ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ "์˜๋ฏธ" HTTP ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ๋Š” ํŠน์ • HTTP ์š”์ฒญ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต์€ ์„ธ ์ž๋ฆฌ ์ˆซ์ž๋กœ ๋ฐ˜ํ™˜๋˜๊ณ , ์•ž์ž๋ฆฌ๋Š” 1~5๋กœ ํฌ๊ฒŒ 5๊ฐ€์ง€ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ ์ง€๋ฉฐ, ๋’ท ์ˆซ์ž์— ๋”ฐ๋ผ ์ƒ์„ธํ•˜๊ฒŒ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. 2. HTTP ์ƒํƒœ ์ฝ”๋“œ "์ข…๋ฅ˜" ์ •๋ณด ์‘๋‹ต 100 Con.. 2023. 3. 8.
[Spring Boot] (์ž‘์„ฑ์ค‘)war ํŒŒ์ผ ๋ฐฐํฌํ•˜๊ธฐ (์™ธ๋ถ€, ์™ธ์žฅ ํ†ฐ์บฃ) ํ•„์š”์„ฑ ์‚ฌ๋‚ด์—์„œ ๊ฐœ๋ฐœํ•œ Spring Boot ํ”„๋กœ์ ํŠธ์˜ ๋ฐฐํฌ๋ฅผ ์•ž๋‘๊ณ , ๋กœ์ปฌ PC์—์„œ์˜ ์ •์ƒ์ ์ธ ์šด์˜ ๊ฒ€ํ† ๋ฅผ ๋งˆ์ณค์Šต๋‹ˆ๋‹ค. ์ดํ›„ ์™ธ๋ถ€ ์„œ๋ฒ„ PC์—์„œ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š” ํ†ฐ์บฃ์— ์ด๋ฅผ war ํŒŒ์ผ๋กœ ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ๋กœ์ปฌ์—์„œ์˜ ๋ฐฐํฌ์™€๋Š” ์‚ฌ๋ญ‡ ๋‹ค๋ฅด๊ฒŒ ์™ธ๋ถ€ ํ†ฐ์บฃ์œผ๋กœ์˜ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๊ณผ์ •๊ณผ ์ถ”๊ฐ€์ ์ธ ์„ค์ • ๋“ฑ์„ ๊นจ๋‹ฌ์•˜๊ณ , ํ—ค๋งธ๋˜ ๊ณผ์ •์„ ๊ณต์œ ํ•˜๋ฉฐ ์˜ค๋žœ ๊ธฐ๊ฐ„ ๊ธฐ์–ต์— ์ €์žฅํ•˜๊ณ ์ž ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. (+ ์ž์ž˜ํ•œ ์‚ฌ์ด๋“œ ์ง€์‹) ์ ‘๊ทผ 1. STS (Spring Tool Suite) 2. Window 11 ์„œ๋ฒ„PC 3. Tomcat 9 4. war file ๋ฐฉ๋ฒ• 1. Spring Boot ํ”„๋กœ์ ํŠธ์˜ JDK ์„ค์น˜ & Installed JREs ๋“ฑ๋ก p 2. Spring Boot ํ”„๋กœ์ ํŠธ์˜ maven build ์ •์ƒ.. 2023. 2. 1.
[์—ฐ๊ตฌ๋ชฉ๋ก] (Linux & Docker) DB Dump ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ณ  ํŒŒ์ผ ์ด๋™์‹œํ‚ค๊ธฐ ํ•„์š”์„ฑ ์–ด๋Š ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ๋กœ์ปฌ์— DB ๊ด€๋ จ ์ •๋ณด๋ฅผ ๋‚จ๊ฒจ๋‘์ง€ ์•Š์€ ์ฑ„ ์ž‘์—…์„ ํ•˜๋‹ค๊ฐ€, (๋” ์ž์„ธํžˆ๋Š” ๋กœ์ปฌ์— ๋‚จ๊ฒจ์ง„ DB์ •๋ณด๊ฐ€ ๊ทธ ์–ด๋””์—๋„ ์—†๋Š” ์ƒํƒœ์—์„œ) Dbeaver๋ฅผ ํ†ตํ•ด ๋ถ™์–ด๋†“์€ DB ์ •๋ณด์— ์˜์กดํ•˜๋ฉฐ ์ž‘์—…์„ ํ•ด์™”์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ์ƒํ™ฉ์ด ์ง€์†์ด ๋˜๊ณ , ์–ด๋Š๋ง Dbeaver์— ๋ถ™์–ด๋†“์€ DB ์ •๋ณด์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ด ๋” ์ด์ƒ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€ํ•œ ์ƒํ™ฉ์— ๋งž๋‹ฅ๋œจ๋ ธ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ DB ์ •๋ณด๋ฅผ ๋ชฝ๋•… ๋‚ ๋ฆด ์œ„๊ธฐ์— ์ฒ˜ํ•ด๋ณธ ๊ฒฐ๊ณผ, ๋‚จ์€ ํƒ€ ํ”„๋กœ์ ํŠธ์˜ DB ๊ด€๋ จ ์ •๋ณด๋“ค์„ Dump ํŒŒ์ผ๋กœ ์ƒ์„ฑํ•ด ๋ฐฑ์—…์„ ํ•ด๋‘๋Š” ์ ˆ์ฐจ๋ฅผ ์ˆ™์ง€ํ•ด๋‘ฌ์•ผ๊ฒ ๋‹จ ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ ‘๊ทผ 1. Linux ์šด์˜์ฒด์ œ ์‚ฌ์šฉ 2. Docker ์‚ฌ์šฉ 3. PostgreSQL ์‚ฌ์šฉ ๋ฐฉ๋ฒ• 1. Linux ์šด์˜์ฒด์ œ ํ„ฐ๋ฏธ๋„๋กœ Docker > PostgreSQL ์ปจํ…Œ์ด๋„ˆ ์ ‘๊ทผ ``.. 2023. 1. 16.