์ „์ฒด ๊ธ€

๊ฐœ๋ฐœ์ผ์ง€ ๋ฐ ์ •๋ณด ๊ณต์œ 
์ž‘์„ฑ์ž๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์จ์™€์„œ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด ๋ฏธ์ˆ™ํ•˜์—ฌ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์— ๋ฏธํกํ•œ ๋ถ€๋ถ„์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“„ fiber / drei๋ฆฌ์•กํŠธ์—์„œ three.js๋ฅผ ์ข€ ๋” ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž…๋‹ˆ๋‹ค. ์ž‘์„ฑ์ž๋Š” ์ด ๋‘๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒŒ์‹œ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ™‚ https://docs.pmnd.rs/react-three-fiber/getting-started/introduction React Three Fiber DocumentationReact-three-fiber is a React renderer for three.jsdocs.pmnd.rs https://github.com/pmndrs/drei GitHub - pmndrs/drei: ๐Ÿฅ‰ useful helpers for reac..
์ฐธ๊ณ  ์‚ฌ์ดํŠธโˆ™ seongminn๋‹˜์˜ ๋ฒจ๋กœ๊ทธ  ํ˜„์žฌ ์ž‘์„ฑ์ž๋Š” ๊ทธ๋ž˜ํ”ฝ ๊ธฐ๋ฐ˜์˜ ์†”๋ฃจ์…˜ ํšŒ์‚ฌ์— ์žฌ์ง์ค‘์ž…๋‹ˆ๋‹ค.threejs์— ๋Œ€ํ•ด ๊ณต๋ถ€์ค‘์ด๋ผ ์™„๋ฒฝํ•œ ๋‚ด์šฉ์€ ์•„๋‹ˆ๊ฒŒ ๋ ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์œผ๋‚˜, ์ž˜๋ชป๋œ ๋‚ด์šฉ์ด ๊ธฐ์žฌ๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ ๋”ฐ๋”ํ•œ ํ”ผ๋“œ๋ฐฑ ์ฃผ์‹œ๋ฉด ๊ฒธํ—ˆํžˆ ๋ฐ›์•„๋“ค์ด๊ณ  ์ˆ˜์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ“ฆ three.jsthree.js๋ž€, ์›นํŽ˜์ด์ง€์— 3D ๊ฐ์ฒด๋ฅผ ์‰ฝ๊ฒŒ ๋ Œ๋”๋ง ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” 3D ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.WebGL ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ Œ๋”๋ง๊ณผ ์นด๋ฉ”๋ผ, ์กฐ๋ช… ๋“ฑ์˜ 3D ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. https://threejs.org/ Three.js – JavaScript 3D Library threejs.org ๐Ÿ–‹๏ธ WebGL์ธํ„ฐ๋„ท ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ OpenGL์„ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋„์›€ ์—†์ด ๊ณต์‹์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„..
์ฐธ๊ณ ์‚ฌ์ดํŠธ• wikidocs์˜ C++ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๐Ÿ–จ๏ธ cout (์ถœ๋ ฅ)ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋งˆ๋‹ค ๋‹ค์–‘ํ•œ ์ถœ๋ ฅ์ด ์กด์žฌํ•œ๋‹ค.print, printf, system.out.print ๋“ฑ๋“ฑ. C++์—์„œ๋Š” ํ‘œ์ค€ ํ—ค๋” ํŒŒ์ผ์—์„œ cout์„ ์‚ฌ์šฉํ•œ๋‹ค. #include int main(){ std::cout  endl(end-line) ์€ ๋ผ์ธ์ด ๋๋‚ฌ์Œ์„ ์•Œ๋ฆฌ๊ณ  ์ค„๋ฐ”๊ฟˆ์„ ํ•œ๋‹ค.  Hello World!Press any key to close this window . . . โŒจ๏ธ cin (์ž…๋ ฅ)c++์—์„œ๋Š” cin์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ์ด ์ด๋ฃจ์–ด์ง„๋‹ค.#include //using namespace std;int main(){ std::string word; std::cout > word; // ๋ฒ„ํผ ์ง€์šฐ๊ธฐ std::cin.ignore(..
์ฐธ๊ณ ์‚ฌ์ดํŠธ • ๋ฆฌ์•กํŠธ ๊ณต์‹ ๋ฌธ์„œ - Custom Hook โš™๏ธ Custom Hook ์•ž์„œ ๊ฒŒ์‹œ๊ธ€์—์„œ ๋‹ค์–‘ํ•œ Hook์„ ์‚ฌ์šฉํ•ด์™”๋‹ค. React์—๋Š” useState, useContext, useEffect์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๋‚ด์žฅ Hook์ด ํ•จ๊ป˜ ์ œ๊ณต๋œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž๊ฐ€ ์˜จ๋ผ์ธ ์ƒํƒœ์ธ์ง€ ์ถ”์ ํ•˜๊ฑฐ๋‚˜ ์ฑ„ํŒ…๋ฐฉ์— ์—ฐ๊ฒฐํ•˜๋Š” ๋“ฑ ์ข€ ๋” ๊ตฌ์ฒด์ ์ธ ๋ชฉ์ ์„ ์œ„ํ•ด Hook์ด ์žˆ์—ˆ์œผ๋ฉด ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. React์—์„œ ์ด๋Ÿฌํ•œ Hook์„ ๋ชจ๋‘ ์ง€์›ํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž๊ฒŒ ์ง์ ‘ ์ž์‹ ๋งŒ์˜ Hook์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๐Ÿง ์™œ ์‚ฌ์šฉํ• ๊นŒ? ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์•„ ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง„๋‹ค. ๋‚ด์žฅ Hook์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. ๐Ÿ“ก ๊ตฌ์„ฑ์š”์†Œ ๊ฐ„ ๋…ผ๋ฆฌ ๊ณต์œ  ๋„คํŠธ์›Œํฌ์— ํฌ๊ฒŒ ์˜์กดํ•˜๋Š” ์•ฑ์ด ์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•ด๋ณด์ž. ..
์ฐธ๊ณ ์‚ฌ์ดํŠธ โˆ™ ์ฝ”๋”ฉ์• ํ”Œ์˜ flutter-basic-layout-design ๋‚ด๊ฐ€ ์ข‹์•„ํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์œ ํŠœ๋ฒ„ ๐Ÿœ Scaffold ์šฐ๋ฆฌ๊ฐ€ ์“ฐ๋Š” ์•ฑ์˜ ๋””์ž์ธ์€ ํฌ๊ฒŒ ์ƒ๋‹จ, ์ค‘๋‹จ, ํ•˜๋‹จ๋ถ€๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. ์ด๊ฑธ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•˜๊ณ  ์‹ถ์œผ๋ฉด Scaffold() ์œ„์ ฏ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ๐Ÿ‘ท๐Ÿป ๊ตฌ์กฐ MaterialApp( home: Scaffold( appBar: // ์ƒ๋‹จ์— ๋„ฃ์„ ์œ„์ ฏ, body:// ์ค‘๋‹จ์— ๋„ฃ์„ ์œ„์ ฏ, bottomNavigationBar:// ํ•˜๋‹จ์— ๋„ฃ์„ ์œ„์ ฏ, ) ); Scaffold() ์œ„์ ฏ์€ 3๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ(appBar, body, bottomNavigationBar)๋ฅผ ํ†ตํ•ด ์ƒ/์ค‘/ํ•˜๋กœ ๋‚˜๋‰˜๊ฒŒ ํ•ด์ค€๋‹ค. appBar(์ƒ๋‹จ), bottomNavigationBar(ํ•˜๋‹จ)์€ ํ•„์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ณ  body(์ค‘๋‹จ)์€ ํ•„์ˆ˜..
์ฐธ๊ณ ์‚ฌ์ดํŠธ โˆ™ deku๋‹˜์˜ ํฌ์ŠคํŠธ๋ฆฌ ๐Ÿ”ฉ Widget Flutter๋Š” ํ™”๋ฉด์€ ์œ„์ ฏ์—์„œ ์‹œ์ž‘ํ•ด์„œ ์œ„์ ฏ์œผ๋กœ ๋๋‚œ๋‹ค. widget์ด๋ž€ Flutter์—์„œ ํ™”๋ฉด์— ํ‘œ์‹œ๋œ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์œ„์ ฏ์ด๋ฉฐ, ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š์ง€๋งŒ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ ˆ์ด์•„์›ƒ(Layout) ๋˜ํ•œ ์œ„์ ฏ์ด๋‹ค. ํ”Œ๋Ÿฌํ„ฐ์˜ ์œ„์ ฏ์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๐Ÿ˜ถ Stateless Widget ๊ฐ’์€ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‚˜ ์–ด๋– ํ•œ ๋™์ž‘์„ ํ•˜๋”๋ผ๋„ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์œ„์ ฏ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ํ•ด๋‹น ์œ„์ ฏ์€ Flutter์— StatelessWidget์„ ์ƒ์†๋ฐ›์•„ ์ƒ์„ฑํ•œ๋‹ค. ๐Ÿซจ Stateful Widget ์–ด๋– ํ•œ ์ƒํƒœ๊ฐ’(๋ฐ์ดํ„ฐ)์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ฐ€ ํ•ด๋‹น ์ƒํƒœ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ธ์ง€ํ•˜๊ณ  ํ•ด๋‹น ์œ„์ ฏ์„ ๋‹ค์‹œ ๊ทธ๋ ค์ค€๋‹ค. (๋ฆฌ-๋ Œ๋”๋ง) ex. TextField, Button, ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ „๋‹ฌ๋ฐ›์€ ..
์ฐธ๊ณ ์‚ฌ์ดํŠธ • Dart ๊ณต์‹ ๋ฌธ์„œ - ํ•จ์ˆ˜ ํ•จ์ˆ˜ Dart ์–ธ์–ด์˜ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ฒƒ dart-ko.dev โš™๏ธ ํ•จ์ˆ˜ Dart๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์ด๋ฏ€๋กœ, ํ•จ์ˆ˜๋„ Function์ด๋ผ๋Š” ํƒ€์ž…์„ ๊ฐ€์ง€๋Š” ๊ฐ์ฒด๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฑด ํ•จ์ˆ˜๊ฐ€ ๋ณ€์ˆ˜๋‚˜ ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. Dart ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ํ•จ์ˆ˜์ธ ๊ฒƒ ์ฒ˜๋Ÿผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. bool isNoble(int atomicNumber) { return _nobleGases[atomicNumber] != null; } // ํƒ€์ž… ์ถ”๋ก ์„ ํ†ตํ•ด ํƒ€์ž…์„ ์ƒ๋žตํ•ด๋„ ํ•จ์ˆ˜๋Š” ์ œ๋Œ€๋กœ ์ž‘๋™ํ•จ // isNobel(atomicNumber) { // return _nobleGases[atomicNumber] != null; // } ํ•˜๋‚˜์˜ ํ‘œํ˜„์‹์œผ๋กœ ์„ ์–ธํ•  ..
์ฐธ๊ณ ์‚ฌ์ดํŠธ • Dart ๊ณต์‹ ๋ฌธ์„œ - ๋‚ด์žฅ ํƒ€์ž… Built-in types Information on the types Dart supports. dart-ko.dev ๐Ÿ“ฆ ๋‚ด์žฅ ํƒ€์ž… Dart ์–ธ์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ˆ˜ํ•œ ๋‚ด์žฅ ํƒ€์ž…์„ ์ง€์›ํ•œ๋‹ค. Numbers (int, double) String (String) Booleans (bool) Records ((value1, value2)) Lists(List, arrays๋กœ๋„ ๋ถ€๋ฅธ๋‹ค.) Sets (Set) Maps (Map) Runes (Runes; ๋•Œ๋•Œ๋กœ characters API๋กœ ๋Œ€์ฒด๋œ๋‹ค.) Symbols (Symbol) null ๊ฐ’ (Null) ์ด๋Ÿฐ ํƒ€์ž…๋“ค์€ ๋ฆฌํ„ฐ๋Ÿด์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 'this is a string'์€ ๋ฌธ์ž..
ma.caron_g
๐Ÿงช ๋งˆ์นด๋กฑ ๊ฐœ๋ฐœ์‹ค