[Typescript] ๊ตฌ์กฐ์  ํƒ€์ดํ•‘๊ณผ ๋• ํƒ€์ดํ•‘
์›น (WEB)/๊ณต๋ถ€ 2023. 4. 16. 19:58

๐Ÿค” ๊ธฐ์กด์— ์•Œ๊ณ  ์žˆ๋˜ Duck typing๊ณผ Typescript ๊ตฌ์กฐ์  ํƒ€์ดํ•‘์˜ ์ฐจ์ด๋ฅผ ์ธ์ง€ํ•˜๊ณ  ํ•œ๊ณ„๋ฅผ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค. Duck typing์ด๋ž€ “๋งŒ์•ฝ ์–ด๋–ค ์ƒˆ๊ฐ€ ์˜ค๋ฆฌ์ฒ˜๋Ÿผ ๊ฑท๊ณ , ํ—ค์—„์น˜๊ณ , ๊ฝฅ๊ฝฅ๊ฑฐ๋ฆฌ๋Š” ์†Œ๋ฆฌ๋ฅผ ๋‚ธ๋‹ค๋ฉด ๋‚˜๋Š” ๊ทธ ์ƒˆ๋ฅผ ์˜ค๋ฆฌ๋ผ๊ณ  ๋ถ€๋ฅผ ๊ฒƒ์ด๋‹ค.” ๋ผ๋Š” ๋ง์—์„œ ํƒ„์ƒํ•˜์˜€์œผ๋ฉฐ, ๊ฐ์ฒด์˜ ํƒ€์ž…์„ ๋ฏธ๋ฆฌ ์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋Ÿฐํƒ€์ž„ ์‹œ ๊ฐ์ฒด์˜ ํ–‰์œ„์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ํƒ€์ž… ์ˆ˜์šฉ์„ฑ์„ ์ฒดํฌํ•˜๋„๋ก ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. type Person = { name: string, age: number, }; const personA = { name: 'ํฌ์€', age: 27, }; const duckA = { name: '์˜ค๋ฆฌ', age: 2, }; const person: Person = duckA; // it's okay ํƒ€์ž…..

[Virtualized List] #3. ๊ฐ€์ƒ๋ฆฌ์ŠคํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋น„๊ต
์›น (WEB)/๊ณต๋ถ€ 2023. 1. 28. 13:37

๐Ÿ’ก 2022/11/27 ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด๋ฉฐ, ์ดํ›„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—…๋ฐ์ดํŠธ๋กœ ํŠน์ • ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Virtualized List ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋น„๊ต npm trends๋ผ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ, 4๊ฐœ์˜ Virtualized List ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋น„๊ตํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. react-window์™€ react-virtualized์˜ ๊ด€๊ณ„ ๋‘˜๋‹ค ๊ฐ™์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋ฉฐ react-virtualized์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋นผ๋‚ด์–ด ๋งŒ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ react-window์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ ์œ ์œจ๋กœ ๋”ฐ์ง€๋ฉด ํ˜„์žฌ ๊ธฐ์ค€์œผ๋กœ @tanstack/virtual-core ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ early stage ์ธ ๋“ฏํ•ฉ๋‹ˆ๋‹ค. react-virtualized์™€ react-window๋Š” ์›Œ๋‚™ ์œ ๋ช…..

[c++] CAS ๊ตฌํ˜„ ๋ฐ ABA ๋ฌธ์ œ ํ•ด๊ฒฐ :: mutex(spin lock)์™€์˜ ๋น„๊ต
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 7. 2. 19:52

Mutex์™€์˜ ๋น„๊ต ์ฝ”๋“œ #include #include #include #include #include #include using namespace std; class Node { public: int value; Node* next; Node() : value(0) { next = NULL; } Node(int k_value) { next = NULL; value = k_value; } }; int node_n; //random ๊ตฌํ˜„ random_device rd; mt19937 gen(rd()); uniform_int_distribution dis(0, 10); //์ถœ๋ ฅ์„ ์œ„ํ•œ mutex mutex mut; class LFStack { private: Node * head; public: void ..