์ „์ฒด ๊ธ€ 140

[Material Design] Material-UI(MUI) <์ค„๋ฐ”๊ฟˆ, white-space : "pre-wrap" ์†์„ฑ>

์•„๋ž˜์™€ ๊ฐ™์ด ์ค„๋ฐ”๊ฟˆ์ด ์ ์šฉ๋˜๊ฒŒ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. import LightbulbOutlinedIcon from "@mui/icons-material/LightbulbOutlined"; {`๊ณผํ•™ ๊ณตํ•™`} white-space ์†์„ฑ(pre, pre-wrap, pre-line ์ฐจ์ด) white-space ์†์„ฑ(pre, pre-wrap, pre-line ์ฐจ์ด) ์˜ค๋Š˜์€ ์š”์†Œ ์•ˆ์— ๊ณต๋ฐฑ ์ฒ˜๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ํ• ์ง€ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค. white space๋ž€ ์—ฌ๋ฐฑ์ด๋ผ๊ณ ๋„ ํ•˜๋Š”๋ฐ html์—์„œ๋Š” ๊ณต๋ฐฑ, ๊ณต๋ž€์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. โ–ถํƒœ๊ทธ ์ž‘ aboooks.tistory.com ์œ„ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ค„๋ฐ”๊ฟˆ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. {cont.icon} {`๊ณผํ•™ ๊ณตํ•™`}

[Material Design] Material-UI(MUI) <๊ธ€์ž ์ˆ˜ ๋„˜์–ด๊ฐ€๋ฉด ๋ง์ค„์ž„ํ‘œ / ์›ํ•˜๋Š” ๋งŒํผ์˜ ์ค„๋งŒ ๋ณด์ด๊ฒŒ ํ•˜๊ธฐ>

Material ui text ellipsis after two line How can I ellipsis a text after two line in material ui? Here https://material-ui.com/system/display/#text-overflow show for single line stackoverflow.com ์ปจํ…์ธ  ๋‚ด์šฉ โœจโœจโœจ

[React/JS] ํŽ˜์ด์ง€ URL ๋ณต์‚ฌํ•˜๊ธฐ - ํ…์ŠคํŠธ ๋ณต์‚ฌ Clipboard API

๊ธฐ์กด์— ํ…์ŠคํŠธ ๋ณต์‚ฌ๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด document.execCommand("copy") ์„ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ execCommand() ๋Š” ๋” ์ด์ƒ ์“ฐ์ง€ ์•Š์œผ๋ฉฐ ํ›จ์”ฌ ์‰ฝ๊ณ  ๊ฐ•๋ ฅํ•œ Clipboard API ๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค. window.navigator.clipboard.writeText() ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ํ…์ŠคํŠธ๋ฅผ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ•ด๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โœจโœจ ์•„๋ž˜๋Š” ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ํ˜„์žฌ ํŽ˜์ด์ง€ URL์„ ๋ณต์‚ฌํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. function handleUrlShare() { const currUrl = window.location.href; // ํ˜„์žฌ url navigator.clipboard.writeText(currUrl).then(() => { alert("๋งํฌ๋ฅผ ๋ณต์‚ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค."); }); }

[์œ ๋‹ˆํ‹ฐ] 2D ์  ๋ชฌ์Šคํ„ฐ AI ๊ตฌํ˜„ํ•˜๊ธฐ - ์ผ์ • ๋ฒ”์œ„ ์•ˆ์— ํ”Œ๋ ˆ์ด์–ด ๋“ค์–ด์˜ค๋ฉด ํ”Œ๋ ˆ์ด์–ดํ•œํ…Œ ๋‹ค๊ฐ€๊ฐ€๊ธฐ

์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค! [์œ ๋‹ˆํ‹ฐ 2D ๊ธฐ์ดˆ] 7.๋ชฌ์Šคํ„ฐ AI ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” AI๋ฅผ ๊ฐ€์ง„ ๋ชฌ์Šคํ„ฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.1. ์ž์œ ํ˜• ๋ชฌ์Šคํ„ฐ๊ธฐ๋ณธ ์• ๋‹ˆ๋ฉ”... blog.naver.com ๋ฐ˜์‘ํ˜• ๋ชฌ์Šคํ„ฐ ๐Ÿ“Œ ์ผ์ •ํ•œ ๋ฒ”์œ„ ์ด๋‚ด๋กœ ๋“ค์–ด์˜จ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด, ๋ชฌ์Šคํ„ฐ์— ํŠธ๋ฆฌ๊ฑฐ ์ฝœ๋ผ์ด๋”๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Radius๋กœ ๋ฒ”์œ„๋ฅผ ์กฐ์ ˆํ•ด์ค๋‹ˆ๋‹ค. ๐Ÿ“Œ ์ผ์ • ๋ฒ”์œ„ ์ด๋‚ด์— ๋“ค์–ด์˜จ ๊ฒƒ์ด ํ”Œ๋ ˆ์ด์–ด๋ผ๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด, ํ”Œ๋ ˆ์ด์–ด ์˜ค๋ธŒ์ ํŠธ์˜ ํƒœ๊ทธ๋ฅผ Player๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. // ํƒœ๊ทธ ์ด๋ฆ„ public string TAG_PLAYER = "Player"; // ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๊ตฌ์—ญ์— ๋“ค์–ด์™”์„ ๋•Œ private void OnTriggerEnter2D(Collider2D collision) { if (collision.gam..

[์œ ๋‹ˆํ‹ฐ] 2D ์  ๋ชฌ์Šคํ„ฐ AI ๊ตฌํ˜„ํ•˜๊ธฐ - ๋งต ๋Œ์•„๋‹ค๋‹ˆ๊ธฐ

์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค! [Unity2D] ์  ๋ชฌ์Šคํ„ฐ ๊ตฌํ˜„ํ•˜๊ธฐ [์œ ๋‹ˆํ‹ฐ ๊ธฐ์ดˆ - B18] ๋ชฌ์Šคํ„ฐ AI ๊ตฌํ˜„ํ•˜๊ธฐ [์œ ๋‹ˆํ‹ฐ ๊ธฐ์ดˆ - B19] ํ”Œ๋ ˆ์ด์–ด ํ”ผ๊ฒฉ ์ด๋ฒคํŠธ ๊ตฌํ˜„ํ•˜๊ธฐ ์˜์ƒ์„ ๋ณด๊ณ  ์“ฐ์—ฌ์ง„ ๊ฒŒ์‹œ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ๋“œ๋””์–ด ๋ชฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ๊ตฌํ˜„์„ ํ•œ๋ฒˆ ํ•ด๋ณด๋„๋ก ํ• ํƒ ๋ฐ iagreebut.tistory.com ๋ชฌ์Šคํ„ฐ AI ๊ตฌํ˜„ํ•˜๊ธฐ 1) ์ค€๋น„ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋“ฑ์„ ๋„ฃ์€ ๋ชฌ์Šคํ„ฐ๋ฅผ ์ค€๋น„ํ•ด์ค๋‹ˆ๋‹ค. [์œ ๋‹ˆํ‹ฐ] 2D๋„ํŠธ ์บ๋ฆญํ„ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ Box Collider 2D ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•ด์ค๋‹ˆ๋‹ค. ๋ฌผ๋ฆฌ๋ฅผ ์ ์šฉ ์‹œ์ผœ์•ผ ํ•˜๋ฏ€๋กœ (์ค‘๋ ฅ ๋ฐ›๊ธฐ ์œ„ํ•จ) ์บ๋ฆญํ„ฐ์— rigid body 2D๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด, ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ ์ƒ์ž avoc-o-d.tistory.com 2) ๋ชฌ์Šคํ„ฐ ๊ธฐ๋ณธ ์ด๋™ ์Šคํฌ๋ฆฝํŠธ๋ฅผ..

[์œ ๋‹ˆํ‹ฐ] 2D๋„ํŠธ ์บ๋ฆญํ„ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜

Box Collider 2D ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•ด์ค๋‹ˆ๋‹ค. ๋ฌผ๋ฆฌ๋ฅผ ์ ์šฉ ์‹œ์ผœ์•ผ ํ•˜๋ฏ€๋กœ (์ค‘๋ ฅ ๋ฐ›๊ธฐ ์œ„ํ•จ) ์บ๋ฆญํ„ฐ์— rigid body 2D๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด, ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ ์ƒ์ž์— ๋–จ์–ด์ง€๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! Bottom์ด๋ผ๋Š” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ, Box Collider 2D ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋Ÿฐ๋ฐ, Collider size์กฐ์ ˆ๋„ ์ž˜ ํ–ˆ๋Š”๋ฐ๋„ ์บ๋ฆญํ„ฐ์™€ ์ƒ์ž ์‚ฌ์ด์— ์•„์ฃผ ๋ฏธ์„ธํ•œ ํ‹ˆ์ด ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ๋„ํŠธ๊ฐ€ ๋งค์šฐ ์ž‘์€ ํ”ฝ์…€์ผ ๋•Œ ์ด๋Ÿฐ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Edit > Progject Setting > Physics 2D Default Contact Offset์„ 0์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. (0.0001์ด ์ตœ์†Œ) ์•„ํ‹€๋ผ์Šค ์•„ํ‹€๋ผ์Šค..

[MiniHack] ํ™˜๊ฒฝ ์„ธํŒ…

์•„๋ž˜ MiniHack docs๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. Installation โ€” MiniHack documentation ยฉ Copyright 2021, MiniHack Team @ Facebook AI Research, UCL, and Oxford. Revision e4d1f8bc. minihack.readthedocs.io 00. โ›๏ธ MiniHack MiniHack์€ ๊ฐ•ํ™”ํ•™์Šต ํ™˜๊ฒฝ์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. NetHack ๊ฒŒ์ž„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” NetHack ํ•™์Šต ํ™˜๊ฒฝ(NLE) ์„ ์‚ฌ์šฉํ•ด์„œ, NetHack ๊ฒŒ์ž„์— ๋งž์ถฐ์ง„ ๊ฐ•ํ™”ํ•™์Šต ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 01. ์„ค์น˜ 1. ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์ƒ์„ฑ ํ›„, ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. (์•„๋ž˜ ๊ธ€ ์ฐธ๊ณ ) [Linux] ์•„๋‚˜์ฝ˜๋‹ค ์„ค์น˜ ๋ฐฉ๋ฒ•, ๊ธฐ์ดˆ ์‚ฌ์šฉ๋ฒ• ๐Ÿ“ ์•„๋‚˜์ฝ˜๋‹ค(An..

[Linux] CMake ์„ค์น˜ ๋ฐฉ๋ฒ•

๐Ÿ“cmake ๋Š” Cross Platform Make ๋กœ ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Make ๋Œ€์šฉ์˜ ์˜คํ”ˆ์†Œ์Šค ๋นŒ๋“œ ํˆด ์ž…๋‹ˆ๋‹ค. ์„ค์น˜ํ•˜๊ธฐ Linux ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. $ sudo apt-get install -y build-essential autoconf libtool pkg-config \ python3-dev python3-pip python3-numpy git flex bison libbz2-dev # recent cmake version $ wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add - $ sudo apt-add-repository 'd..

[Linux] ์•„๋‚˜์ฝ˜๋‹ค ์„ค์น˜ ๋ฐฉ๋ฒ•, ๊ธฐ์ดˆ ์‚ฌ์šฉ๋ฒ•

๐Ÿ“ ์•„๋‚˜์ฝ˜๋‹ค(Anaconda)๋Š” ํŒŒ์ด์ฌ์„ ํฌํ•จํ•œ numpy, scipy, sklearn ๋“ฑ ๋จธ์‹ ๋Ÿฌ๋‹์ด๋‚˜ ๋ฐ์ดํ„ฐ ๊ณผํ•™์— ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€๊ฐ€ ํฌํ•จ ๋˜์–ด์žˆ๋Š” ํŒŒ์ด์ฌ ๋ฐฐํฌํŒ์ž…๋‹ˆ๋‹ค. pip๊ณผ ๋‹ค๋ฅด๊ฒŒ install ํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ค์ง€๊ฐ€ ํ•œ์ •๋˜์–ด ์žˆ์ง€๋งŒ, ๊ทธ๋ƒฅ ํŒŒ์ด์ฌ์„ ์„ค์น˜ํ•˜๊ณ  ์ผ์ผ์ด ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์˜์กด์„ฑ์ด๋‚˜ ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋“ค ๋•Œ๋ฌธ์— ์•„๋‚˜์ฝ˜๋‹ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ํŽธ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋‚˜์ฝ˜๋‹ค ์„ค์น˜ํŒŒ์ผ ๋‹ค์šด ๋ฐ ์‹คํ–‰ ์•„๋ž˜ ๋‘ ๋ฐฉ๋ฒ• ์ค‘ ๋ณธ์ธ์˜ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์„ค์น˜ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. 1. MacOS๋‚˜ Linux GUI ํ™˜๊ฒฝ์—์„œ๋Š” ์•„๋ž˜์—์„œ ์„ค์น˜ํŒŒ์ผ์„ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ํ›„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Anaconda | Anaconda Distribution Anaconda's open-source Distribution is th..

[์ธ๊ณต์ง€๋Šฅ/ํ˜ผ๊ณต๋จธ์‹ ] 07-1. ์ธ๊ณต ์‹ ๊ฒฝ๋ง (3)

๐Ÿšฉ ๋”ฅ๋Ÿฌ๋‹๊ณผ ์ธ๊ณต ์‹ ๊ฒฝ๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ดํ•ดํ•˜๊ณ  ํ…์„œํ”Œ๋กœ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ„๋‹จํ•œ ์ธ๊ณต ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด ๋ด…์‹œ๋‹ค. [์ธ๊ณต์ง€๋Šฅ/ํ˜ผ๊ณต๋จธ์‹ ] 07-1. ์ธ๊ณต ์‹ ๊ฒฝ๋ง (2) ๐Ÿšฉ ๋”ฅ๋Ÿฌ๋‹๊ณผ ์ธ๊ณต ์‹ ๊ฒฝ๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ดํ•ดํ•˜๊ณ  ํ…์„œํ”Œ๋กœ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ„๋‹จํ•œ ์ธ๊ณต ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด ๋ด…์‹œ๋‹ค. [์ธ๊ณต์ง€๋Šฅ/ํ˜ผ๊ณต๋จธ์‹ ] 07-1. ์ธ๊ณต ์‹ ๊ฒฝ๋ง (1) ๐Ÿšฉ ๋”ฅ๋Ÿฌ๋‹๊ณผ ์ธ๊ณต ์‹ ๊ฒฝ๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ avoc-o-d.tistory.com ์ธ๊ณต ์‹ ๊ฒฝ๋ง์œผ๋กœ ํŒจ์…˜ ์•„์ดํ…œ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์ผ€๋ผ์Šค ๋ชจ๋ธ์€ ํ›ˆ๋ จํ•˜๊ธฐ ์ „์— compile()๋กœ ํ•˜๋Š” ์„ค์ • ๋‹จ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. model.compile(loss="sparse_categorical_crossentropy", metrics="accuracy") ๊ผญ!!! ์ง€์ •ํ•ด์•ผ ํ•  ๊ฒƒ์€ โœจ์†์‹ค ํ•จ์ˆ˜์˜ ์ข…๋ฅ˜โœจ์ž…๋‹ˆ๋‹ค. ๐Ÿ“ loss = "sp..