๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

    [์ž๋ฐ”][์Šคํ”„๋ง] ํฌํŠธ๋ฒˆํ˜ธ ๋ฐ”๊พธ๊ธฐ

    [์ž๋ฐ”][์Šคํ”„๋ง] ํฌํŠธ๋ฒˆํ˜ธ ๋ฐ”๊พธ๊ธฐ

    resources์— ํŒŒ์ผ application.yml ๋งŒ๋“ค์–ด์ฃผ๊ณ  server: port: 1234 ์œ„์™€ ๊ฐ™์ด ๋ฐ”๊พธ๊ณ  ์‹ถ์€ ํฌํŠธ๋ฒˆํ˜ธ๋กœ ๋ฐ”๊พธ๊ธฐ๋งŒ ํ•˜๋ฉด ๋!

    [์•„ํ‚คํ…ํŒ…] ๊ฐ์ฒด ์ง€ํ–ฅ ๋ถ„์„

    ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด๋˜์ง€ ๊ณ„ํš ๋‹จ๊ณ„๋Š” ๋ฌด์ฒ™ ์ค‘์š”ํ•˜๋‹ค. ๊ณ„ํš ๋‹จ๊ณ„์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์š”๊ตฌ ์กฐ๊ฑด๊ณผ ์–ด๋–ค ์ž๋ฃŒ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜์•ผ์—ฌ ํ•œ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์šฉ์–ด๋กœ๋Š” ๊ฐน์ฒด ์ง€ํ–ฅ ๋ถ„์„(objected-oriented-analysis)๋ผ๊ณ  ํ•œ๋‹ค. ์–ด๋–ค ํด๋ž˜์Šค๊ฐ€ ์‚ฌ์šฉ๋  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋‹จ๊ณ„๊ฐ€ ๋ฐ”๋กœ ์ด ๋‹จ๊ณ„์ด๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ๋ถ„์„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ์งˆ ์ˆ˜ ์žˆ๋‹ค. 1. ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋  ๊ฐ์ฒด์™€ ํด๋ž˜์Šค๋ฅผ ์‹๋ณ„ํ•œ๋‹ค. 2. ๊ฐ ํด๋ž˜์Šค์˜ ์†์„ฑ์„ ์ •์˜ํ•œ๋‹ค. 3. ๊ฐ ํด๋ž˜์Šค์˜ ๋™์ž‘์„ ์ •์˜ํ•œ๋‹ค. 4. ํด๋ž˜์Šค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•œ๋‹ค. ์ฒœ์ธ๊ตญ ์ €, ์–ด์„œ์™€ c++์€ ์ฒ˜์Œ์ด์ง€!, p.201

    [C++] ์ธ๋ผ์ธ ํ•จ์ˆ˜

    ์ธ๋ผ์ธ ํ•จ์ˆ˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ์—๋Š” ์•ฝ๊ฐ„์˜ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ฆ‰ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ „์— ๋ชจ๋“  ๋ ˆ์ง€์Šคํ„ฐ(CPU ์•ˆ์˜ ์ €์žฅ ๊ณต๊ฐ„)๊ฐ€ ์ €์žฅ๋˜์–ด์•ผ ํ•˜๊ณ  ์ธ์ˆ˜๋“ค์„ ๋ณต์‚ฌ๋˜์–ด์•ผ ํ•œ๋‹ค. ํ•จ์ˆ˜ ํ˜ธ์ถœ ํ›„์—๋Š” ๋ ˆ์ง€์Šคํ„ฐ๋“ค์ด ๋‹ค์‹œ ๋ณต๊ตฌ๋˜์–ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ ์•„์ฃผ ๊ฐ„๋‹จํ•œ ํ•จ์ˆ˜๋ผ๋ฉด ํ•จ์ˆ˜ ์•ˆ์˜ ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•˜๋Š” ์‹œ๊ฐ„๋ณด๋‹ค ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ์ค€๋น„ํ•˜๋Š” ์‹œ๊ฐ„์ด ๋” ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ์—๋Š” ์ฐจ๋ผ๋ฆฌ ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ํ•˜์ง€ ์•Š๊ณ  ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ์„œ ๋„ฃ์–ด์ฃผ๋Š” ํŽธ์ด ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ๋‹ค. c++์—๋Š” ์ด๋Ÿฐ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ์„œ inline์ด๋ผ๊ณ  ํ•˜๋Š” ํ‚ค์›Œ๋“œ๊ฐ€ ์ค€๋น„๋˜์–ด ์žˆ๋‹ค. ๋งŒ์•ฝ ํ•จ์ˆ˜ ์ด๋ฆ„ ์•ž์— inline์ด ๋ถ™์œผ๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ํ•จ์ˆ ๋ฅด ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ํ•จ์ˆ˜์˜ ์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ๊ณณ์— ์ง์ ‘ ์ง‘์–ด๋„ฃ๋Š”๋‹ค. ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜๋ฅผ ์ธ๋ผ์ธ ํ•จ์ˆ˜(inline function)๋ผ๊ณ  ํ•œ๋‹ค..

    [JAVA][Python][์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ณ‘ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ; ๋จธ์ง€

    Java // 2๊ฐœ์˜ ์ •์ˆ˜ ๋ฐฐ์—ด ํ•ฉ์น˜๊ธฐ : 2๊ฐœ์˜ ๋ฐฐ์—ด์€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค // ๋ณ‘ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด์„ ํ•˜๋‚˜๋กœ ๋ณ‘ํ•ฉ import java.util.Arrays; public class App { public static void main(String[] args) throws Exception { //[1] Input int[] first = {1,3,5}; int[] second = {2,4,6}; int M = first.length; int N = second.length; // M : N ๊ด€ํ–‰ int[] merge = new int[N+M]; int i = 0; int j=0; int k = 0; //i,j,k ๊ด€ํ–‰ //[2] Process : Merge..

    [JAVA][์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ด์ง„๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    JAVA public class App { public static void main(String[] args) throws Exception { //[1] Input int [] numbers = {1,2,3,4,5,6,7,8,9,10,11,12}; //์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ • int N = numbers.length; //์˜์‚ฌ์ฝ”๋“œ int search = 7;//๊ฒ€์ƒ‰ํ•  ๋ฐ์ดํ„ฐ boolean flag = false; //์ฐพ์•˜์œผ๋ฉด true int index = -1; //์ฐพ์€ ์œ„์น˜(์ธ๋ฑ์Šค) //[2] Process : ์ด์ง„ ๊ฒ€์ƒ‰ (Binary Search) int min = 0; int max = N - 1; while (min search) { max = mid - 1; } } //[3] Output ..

    [PIXI] ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋“œํ•˜์—ฌ texture -> sprite -> canvas์— add ํ•˜๋Š” ๊ณผ์ •

    [PIXI] ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋“œํ•˜์—ฌ texture -> sprite -> canvas์— add ํ•˜๋Š” ๊ณผ์ •

    ์ด๋ฏธ์ง€ ๋กœ๋“œ ์ด๋ฏธ์ง€๋กœ ์ž‘์—…ํ•˜๊ธฐ ์œ„ํ•œ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์›น ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ PIXI.Texture.from()์œ„ํ•ด ๋น ๋ฅธ ๋ฐ๋ชจ์šฉ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ”„๋กœ๋•์…˜์—์„œ๋Š” Loader ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋กœ๋”๋Š” ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ž˜ํ•‘ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์— ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ์ง€์‹œํ•œ ๋‹ค์Œ ์™„๋ฃŒ๋˜๋ฉด ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๋Š” ๋น„๋™๊ธฐ์‹ ์ž…๋‹ˆ๋‹ค . ๋กœ๋“œ๋ฅผ ์š”์ฒญํ•œ ๋‹ค์Œ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๋กœ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Œ์„ ์•Œ๋ฆฌ๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. BaseTextures๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์†Œ์œ ํ•ฉ๋‹ˆ๋‹ค ๋กœ๋”๊ฐ€ ์ž‘์—…์„ ์™„๋ฃŒํ•˜๋ฉด ๋กœ๋“œ๋œ ์š”์†Œ์— ํ•„์š”ํ•œ ํ”ฝ์…€ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋ ค๋ฉด PixiJS๊ฐ€ ์›์‹œ ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€ GPU์— ์—…๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด..

    [PIXI] ticker ์‚ฌ์šฉ๋ฐฉ๋ฒ•

    [PIXI] ticker ์‚ฌ์šฉ๋ฐฉ๋ฒ•

    ์ „์ฒด ์ฝ”๋“œ const Application = PIXI.Application; const app = new Application({ width: window.innerWidth, height: window.innerHeight, transparent: false, antialias: true, backgroundColor: 0xAAAAAA }); app.renderer.backgroundColor = 0x23395D; app.renderer.view.style.position = 'absolute'; document.body.appendChild(app.view); const graphics = PIXI.Graphics; app.ticker.add(delta => loop(delta)); function..

    [PIXI] PIXI.Text์™€ PIXI.TextStyle ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

    [PIXI] PIXI.Text์™€ PIXI.TextStyle ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

    ๊ธฐ๋ณธ ์ฝ”๋“œ const Application = PIXI.Application; const app = new Application({ width: window.innerWidth, height: window.innerHeight, transparent: false, antialias: true, backgroundColor: 0xAAAAAA }); //๋ฐฐ๊ฒฝ์ƒ‰ ๋ณ€๊ฒฝ app.renderer.backgroundColor = 0x23395D; //์ƒ์„ฑ์ž๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ์ด์™€ ๊ฐ™์ด ํฌ๊ธฐ ์กฐ์ • ๊ฐ€๋Šฅ app.renderer.view.style.position = 'absolute'; document.body.appendChild(app.view); const style = new PIXI.TextStyle({ fontFa..

    [PIXI] Graphic ํด๋ž˜์Šค ํ™œ์šฉํ•˜์—ฌ ๋„ํ˜•๊ทธ๋ฆฌ๊ธฐ

    [PIXI] Graphic ํด๋ž˜์Šค ํ™œ์šฉํ•˜์—ฌ ๋„ํ˜•๊ทธ๋ฆฌ๊ธฐ

    app.renderer vs app.view app.renderer๋Š” ๋‚ด๋ถ€ ๋งค์ปค๋‹ˆ์ฆ˜์ด๋ผ๋ฉด,(์บ”๋ฒ„์Šค ์š”์†Œ ์กฐ์ •) app.view๋Š” ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ์บ”๋ฒ„์Šค ์ž์ฒด //๋ฐฐ๊ฒฝ์ƒ‰ ๋ณ€๊ฒฝ app.renderer.backgroundColor = 0x23395D; //css app.renderer.view.style.position = 'absolute'; Graphic ํด๋ž˜์Šค - ์‚ฌ๊ฐํ˜• app.stage๋Š” ํฌํ† ์ƒต์—์„œ ๋ ˆ์ด์–ด๋ฅผ ์œ„๋กœ ๊ณ„์† ์Œ“์•„๊ฐ€๋Š” ๋Š๋‚Œ์„ ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๋‹ค. const graphics = PIXI.Graphics; const rect = new graphics(); rect.beginFill(0x00ff00) .drawRect(40, 40, 200, 250)//x์ขŒํ‘œ y์ขŒํ‘œ ๋„ˆ๋น„ ๋†’์ด .endFill() app...

    [React] fontawesome ๋ฆฌ์•กํŠธ๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ

    [React] fontawesome ๋ฆฌ์•กํŠธ๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ

    https://fontawesome.com/v5/docs/web/use-with/react React The internet's icon library + toolkit. Used by millions of designers, devs, & content creators. Open-source. Always free. Always awesome. fontawesome.com ์œ„ ์„ธ์ค„์„ ์•ผ๋ฌด์ง€๊ฒŒ ๋‹ค์šด๋ฐ›์•„ ์ค€๋‹ค. npm i --save @fortawesome/fontawesome-svg-core npm install --save @fortawesome/free-solid-svg-icons npm install --save @fortawesome/react-fontawesome import React from..