๊ฐ๋ฐ์ ๋ฐฐ์ฐ๋ฌ ๊ฐ๋๋ฐ ์ธ์์ ๋ฐฐ์ ์ด์ 12์๋ถํฐ 3์ฃผ๊ฐ ์งํ๋ Toss Frontend Accelerator 4๊ธฐ๊ฐ ๋ง๋ฌด๋ฆฌ๋์๋ค. ์งง์ ์๊ฐ์ด์์ง๋ง, ์์ผ๋ก ๊ฐ๋ฐ์๋ก์์ ์ธ์์ ์ค๋ ์ํฅ์ ์ค ๋ฐฐ์๋ค์ด ๋ฐ๋ ์๊ฒ ์์ธ ์๊ฐ์ด์๋ค.์ด ๊ธ์์๋ ๊ทธ ๊ณผ์ ๊ณผ, ๊ทธ ์์์ ๋ฌด์์ ๋ฐฐ์ ๋์ง๋ฅผ ์์ฃผ๋ก ํ๊ณ ํด๋ณด๋ ค๊ณ ํ๋ค. ์ง์ ๋น์ ์๊ฐ๋คํ ์ค๋ ์ธ์ ๊ฐ ๊ฒฝํํด๋ณด๊ณ ์ถ์ ํ์ฌ์๋ค. ํ๋ก ํธ์๋๋ฅผ ๊ณต๋ถํ ์๋ก ๊ธฐ์ ์ ์ผ๋ก๋, ๋น์ฆ๋์ค์ ์ผ๋ก๋ ๋งค๋ ฅ์ ์ธ ๊ณณ์ด๋ผ๊ณ ๋๊ผ๋ค. ๊ทธ๋ฌ๋ค ์ฐ์ฐํ Growth Track ๊ณต๊ณ ๋ฅผ ๋ดค๋ค. ๋๋ ์ฌ์ค 1, 2, 3๊ธฐ๊ฐ ์งํ๋ ๋์์ ์ด ํ๋ก๊ทธ๋จ์ ๋ชฐ๋๋๋ฐ, ๋ชจ์ง ๊ณต๊ณ ์ "์ฑ์ฅ์ ๋ณ๋ชฉ์ ๊ฒช๊ณ ์๋ ๋ถ", "์ฑ์ฅ์ ์ด๋ง์ด ์๋ ๋ถ"์ ์ฐพ๋๋ค๋ ๋ฌธ๊ตฌ๊ฐ ๋์ ๋ค์ด์๋ค. ํ์ฌ์์ ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์ฌ๋์ ๋ฝ๋..
์ ์ฒด ๊ธ
: ๐๐ฅ๐ฐ๐๐ฒ๐ฌ ๐ข๐ง ๐๐๐ญ๐ — ๋ชฐ์ ๊ณผ ์ฑ์ฅ์ด ์๋ ์ถ์ ์ถ๊ตฌํฉ๋๋ค1. ๊ฐ๋ฐ์์ ๊ทธ๋ก์ค๋กํ ํ์ฌ์์ ์ด๋ค ๊ณ ๋ฏผ์ ๊ฐ์ฅ ๋ง์ด ํ๋๋ํ๋ฉด,์๋น์ค๋ฅผ ๊ฐ๋ฐํ๋ ๊ณผ์ ์์๋ ๊ธฐ์ ์ ์ธ ๋ด์ฉ์ ์ฃผ๋ก ๊ณ ๋ฏผํ์ง๋ง์๋น์ค๊ฐ ์ถ์๋ ์ดํ๋ก๋ถํฐ๋, ๊ณ์ '๊ทธ๋ก์ค'์ ๋ํ ๊ณ ๋ฏผ์ ํ๋ ๊ฒ ๊ฐ๋ค. ์๊ท๋ชจ์ ํ๋ก๋ํธํ, ๋ณ๋์ ๋ง์ผํฐ๋ PM์ด ์๋ ํ๊ฒฝ์์, ์๋น์ค๋ฅผ ํค์์ผ ํ๋ ์ํฉ.ํ์ง๋ง ํ์ด ์์ ๊ฒ์ด ๋น์ฆ๋์ค ๋ชฉํ๊ฐ ์์์ผ ํ๋ค๋ ์ด์ ๊ฐ ๋์ง ์๋๋ค. ๋๋ ์ด๋ค ์กฐ์ง์ ์ํ๋ , ๊ทธ ์กฐ์ง์ ๋ชฉํ๋ฅผ ๋ด ๋ชฉํ์ฒ๋ผ ๋ชฐ์
ํ๋ ํธ์ด๋ค.(์ฌ์ค ๋ด ๊ฐ์ธ์ ์ธ ๋ชฉํ๋ค๋ณด๋ค ๋ ์ฐ์ ์ํ๋ ๊ฒฝํฅ์ด ์๋ค)๊ทธ๋์ ์์ฐ์ค๋ฝ๊ฒ ๊ณต๋์ ๋ชฉํ์ ์ง์คํ๊ฒ ๋์๊ณ ,์ด๋ ์๊ฐ๋ถํฐ ์ค์ค๋ก์ ์ญํ ์ '๊ฐ๋ฐ์'๋ฅผ ๋์ด '๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฌ๋'์ผ๋ก ์๊ฐํ๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ๋น์ฐํ ๊ฐ๋ฐ์๋ก์๋, ๋ด๊ฐ ๋ง๋ ์๋น์ค๋ฅผ ์ ์ ๋ค์ด ๋ ๋ง์ด ์ฌ์ฉ..
์น๋ทฐ์์ ๋ค์ดํฐ๋ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด?๋ง์ ๋ชจ๋ฐ์ผ ์ฑ์ด ํ๋ฉด ์ผ๋ถ๋ฅผ ์น๋ทฐ๋ก ๊ตฌ์ฑํ๋ค. ์น์ผ๋ก ๊ตฌ์ฑํ๋ฉด ์ฑ์คํ ์ด ๋ฐฐํฌ ์์ด๋ ๋น ๋ฅด๊ฒ ํ๋ฉด์ ๋ง๋ค๊ณ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ ์ ์๋ค. ๋ฌธ์ ๋ ์นด๋ฉ๋ผ ์ดฌ์, ์ฐ๋ฝ์ฒ ์ ๊ทผ, ํธ์ ํ ํฐ ์กฐํ์ฒ๋ผ OS ์์์ ์จ์ผ ํ ๋๋ค. ์น๋ทฐ ์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ OS์ ์ง์ ๋ฟ์ง ๋ชปํ๋ค. ๊ทธ๋์ ์น ์ฝ๋์ ๋ค์ดํฐ๋ธ ์ฝ๋๊ฐ ์๋ก ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ํต์ ์ธต, ํํ “WebView Bridge”๋ผ ๋ถ๋ฅด๋ ํจํด์ด ํ์ํ๋ค. ์ด๊ธ์ React Native์ react-native-webview๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌํํ๋ ๊ฒฝํ์ ๋ฐํ์ผ๋ก ์์ฑํด๋ณด๋ ค๊ณ ํ๋ค. WebView Bridge ํจํด์ ๊ตฌ์กฐ์น๊ณผ ๋ค์ดํฐ๋ธ๋ ์๋ก ๋ค๋ฅธ ๋ฐํ์์์ ๋์๊ฐ๊ธฐ ๋๋ฌธ์, ๋๊ธฐ ํธ์ถ์ด ๋ถ๊ฐ๋ฅํ๋ค.๊ทธ๋์ ๋ฉ์์ง๋ฅผ ๋ณด๋ธ ๋ค, ๋์ค์..
์๋ก : ์ด ์ฝ๋์๋ ์ด๋ค ๋ฌธ์ ๊ฐ ์์๊น?const fetchInfo = async () => { try { setLoading(true); setError(null); const data = await getInfo(); setInfo(data); } catch (error) { console.error('์ ๋ณด ํจ์นญ ์คํจ', error); setError('์ ๋ณด๋ฅผ ๋ถ๋ฌ์ค๋๋ฐ ์คํจํ์ต๋๋ค.'); } finally { setLoading(false); }};์ผ๋ฐ์ ์ผ๋ก ์ ๋ณด๋ฅผ fetchํ๋ ์ฝ๋๋ฅผ ๋ด๋ณด์. ํ๋ก ํธ์์ fetchํ ๋ ์์ ๊ฐ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ค๋ฉด,์ด๋ ํ ์ ์ฌ๋ ์ํ์ด ์์๊น? } catch (error) {์ด ๋ถ๋ถ์์ catch ํ ์ ์๋ ์๋ฌ์..
์์ฆ ์ฌ๋ด์์ ์ ๊ท ์๋น์ค๋ฅผ ์ถ์ํ๋ฉฐ, ์ด๋ป๊ฒ ํ๋ฉด ์๋น์ค์ ๊ทธ๋ก์ค๋ฅผ ๋ง๋ค์ด๋ผ ์ ์์๊น๋ฅผ ๊ณ์ ๊ณ ๋ฏผํ๊ณ ์๋ค.๊ฐ๋ฐ์๋ ๋จ์ํ ์ฝ๋๋ฅผ ๊ตฌํํ๋ ์ญํ ์ ๊ทธ์น์ง ์๊ณ , ์ ํ์ ํตํด ๋น์ฆ๋์ค ๊ฐ์น๋ฅผ ๋ง๋ค์ด๋ด๋ ์ฌ๋์ด๋ผ๊ณ ์๊ฐํ๋ค. ๊ทธ๋ ๊ธฐ์ ์๋น์ค ์์ฒด์ ๋ฐฉํฅ๊ณผ ์ฑ์ฅ ๋ฐฉ์์ ๋ํด์ ๊ณ ๋ฏผํ๋ ๊ฒ ์ค์ํ๋ค๊ณ ์๊ฐํ๋ค. ์ฑ๊ณตํ ์คํํธ์
๋ค์ ์ด๊ธฐ ์ฑ์ฅ ์ ๋ต ์์์ ๋ณด๋ฉฐ ๊ฐ๋จํ ๋ฉ๋ชจํด๋ณธ๋ค. ๋น๊ทผ๋ง์ผ์นด์นด์ค ๋ด ์ค๊ณ ๊ฑฐ๋ : ์๋์ฌ๋์ด๋๊น ์ ๋ขฐ ํ๋ณด -> ํ๊ต ์ฅํฐํ๊ต ๋ด IT๊ธฐ์
์ฌ์ง์ค์ธ ์ฌ๋๋ค๋ผ๋ฆฌ ์ค๊ณ ๊ฑฐ๋์ด๋ฉ์ผ ์ธ์ฆ์ ํตํด ๊ฐ์
(์ ๋ขฐํ๋) ํ ๊ฑฐ๋.์ฌ์ง์๋ค์ ์์ดํ๊น์ง ํ์ฅ.์ก์์ปค๋ฎค๋ํฐ ํ์ธํฌ์ธํธ: ๋ฒ๊ฑฐ๋ก์ด ์ธ์ฆ์ ์ฐจ, ๊ฑฐ๋ ํ๋ก์ธ์ค.ํ๊ต์ฅํฐ - ์ก์์ปค๋ฎค๋ํฐ, ์ก์ ๊ฑฐ๋ ์ฑ๋ ์์์ผ๋ฉด ์ข๊ฒ ๋ค๋ ๋์ฆ -> ์ผ๋ฐ์ผ๋ก ํ์ฅ 2..
React๋ก ํผ์ ๋ง๋ค๊ณ , ์
๋ ฅ์ฐฝ์์ Enter ํค๋ฅผ ๋๋ฅด๋ฉด ๋ค์ ํ๋๋ก ํฌ์ปค์ค๋ฅผ ์ด๋์ํค๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค.๊ทธ๋ฐ๋ฐ ํ๊ธ ์
๋ ฅ ์ ๋ง์ง๋ง ๊ธ์๊ฐ ๋ค์ ์ธํ ํ๋๋ก ์ด๋ํ๋ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๋ค.์์ด, ์ซ์, ํน์๋ฌธ์๋ ๋ฌธ์ ๊ฐ ์๊ณ , ํ๊ธ์์๋ง ๋ํ๋ฌ๋ค. ์์ธ: IME ์กฐํฉ ์ํ์ onKeyDown ์ด๋ฒคํธ ํ์ด๋ฐ์ ์ถฉ๋์ด ๋ฌธ์ ๋ IME(Input Method Editor, ์
๋ ฅ๊ธฐ) ์กฐํฉ ๋ฐฉ์๊ณผ ์ด๋ฒคํธ ๋ฐ์ ์์๊ฐ ์ถฉ๋ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ค. IME์ ์
๋ ฅ ๋ฐฉ์ํ๊ธ์ ์กฐํฉํ ์
๋ ฅ ์ธ์ด๋ค. ์๋ฅผ ๋ค์ด ‘์ฌ’๋ผ๋ ๊ธ์๋ฅผ ์
๋ ฅํ ๋ ์ค์ ๋ก๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.• ์ฌ์ฉ์๊ฐ ‘ใ
’ ์
๋ ฅ• ‘ใ
’ ์
๋ ฅ → ์กฐํฉ → ‘์ฌ’ ์์ฑ์ด๋ ์กฐํฉ์ด ๋๋์ง ์์ ์ํ๋ ๋ธ๋ผ์ฐ์ ์์๋ isComposing = true ๋ก ํ๋จ๋๋ค..
ํ์ฌ ํ๋ก์ ํธ์์ ๊ฑฐ๋๋ช
์ธํ๋ฅผ A4 ๊ฐ๋ก ๋ฐฉํฅ(landscape)์ผ๋ก ์ธ์ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด์ผ ํ์ต๋๋ค.- ํ๋ฉด์๋ ์ผ์ชฝ ์์ญ๋ง ํ์- ์ธ์ ์์๋ A4 ํ ์ฅ์ ๊ฝ ์ฑ์ ์ข/์ฐ ๋ชจ๋ ์ถ๋ ฅ (ํ๋๋ ๊ณ ๊ฐ์ฉ / ํ๋๋ ๋ด๋ถ์ฉ)- ์ธ์ ์ ์ ์ฉ ์คํ์ผ ์ ์ฉ (ํฐํธ ํฌ๊ธฐ, ์ฌ๋ฐฑ ๋ฑ ์กฐ์ )์ด๋ฅผ ๊ตฌํํ๊ธฐ ์ํด React to Print์ useReactToPrint ํ
์ ์ฌ์ฉํ์ฌ, ํน์ DOM์ ๋ํด ์ธ์ ์์
์ ์งํํ์ต๋๋ค. ์ด ๊ธ์์๋ React to Print ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด ํน์ ์ปดํฌ๋ํธ๋ฅผ ์ธ์ํ๊ณ , ์ธ์ ์์๋ง ์ ์ฉ๋๋ ์คํ์ผ์ ์ค์ ํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ๊ณต์ ํด ๋ด
๋๋ค! ์ window.print()๊ฐ ์๋ React to Print?์ผ๋ฐ์ ์ผ๋ก ์น์์ ์ธ์ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ window.p..
์ฌ๋ฐ๋ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์๋ค! ๋ฌธ์ ์ค๋ช
https://www.acmicpc.net/problem/12096 ์น๊ตฌ๊ฐ ๋ฐฑ์ค ๋์ผ์ค ๋ฌธ์ ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ด๋ค.์ด๊ฒ ๋ฌด์จ ๋ฌธ์ ๋๊ณ ํ๋๊น, ํํธ๋ฅผ ํ๋ ์๋ ค์ฃผ๊ฒ ๋ค๊ณ ๋ฌธ์ ๋ฅผ ์ผ๋ฐ์ ์ผ๋ก ๋ณด๋ฉด ์ ๋ผใ
ใ
ใ
์ด ๋ง์ ๋ฃ์๋ง์ ์ ๊ฐ๋ฐ์๋๊ตฌ ์ด๋ฉด ์ฐพ์ ์ ์๊ฒ ๊ตฌ๋! ํ๊ณ ์ง์ ๊ฐ์ ํ์ด๋ณด์๋ค ์
๋ ฅ๊ณผ ์ถ๋ ฅ, ํํธ์ชฝ์ ํด๋ฆญํ์ฌ Element ๋ด์ฉ์ ํ์ธํด๋ณด๋์ญ์๋ ์จ๊ฒจ์ง ์ฃผ์๋ค์ด ์์๋ค! ์ฝ์์๋ ์ด๋ฐ ๊ฐ๋ค์ด ์ฐํ๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค. ์
๋ ฅ์ถ๋ ฅํํธ{ "12096": { "id": "12096", "problem_description": "", "problem_input": "", "problem_output": "", ..
mission: main ๋ธ๋์น๋ฅผ ๊ณ ์ณ๋ผ! ํ์์ด main ๋ธ๋์น์ ์ด์๊ฐ ๋ฐ์ํ์ฌ ๊ฐ๋ฐ ์งํ์ ์์ ๋ชป ํ๊ณ ์๋ค๊ณ ํ์๋ค.์ด ๋ฌธ์ ๋ฅผ ์ง๋จํ๊ณ ํด๊ฒฐํ ๊ณผ์ ์ ์์ธํ ๊ธฐ๋กํด๋ณธ๋ค! ์ฒซ๋ฒ์งธ ๋ฌธ์ ์ํฉ: 500 ์๋ต (SupabaseConnection ์ ์ญ ๋ชจ๋ํ)๋จผ์ , ๋์ํ์ง ์๋ ํ์ด์ง์ ์ ์ํ์ฌ ๋คํธ์ํฌ ํญ์ ํ์ธํ์๋ค. ๋ธ๋ผ์ฐ์ ์ ๋คํธ์ํฌ ์์ฒญ์ด ์๋ฒ๋ก ์ ๋ฌ๋์ง ์๊ณ Network Error๊ฐ ๋ฐ์ํ๊ณ ์์๋ค. ์ฃผ๋ชฉํด์ผ ํ ๊ฒ์, ๋คํธ์ํฌ ํญ์์ ๋ง์ API ์์ฒญ์ด Preflight์์ ์คํจํ๊ณ ์์๋ค.์ด์ ๋ฐ๋ผ ์๋ฒ ์๋ต์ ๋ฌธ์ ๊ฐ ์์ ๊ฐ๋ฅ์ฑ์ด ์๋ค๊ณ ์๊ฐํ๋ค. ์ธ์ ๋ถํฐ ์ด๋ฐ ์ด์๊ฐ ๋ฐ์ํ๋๊ฐ? - ๋กค๋ฐฑ์ ํด๋ณด์ !์ ์์ ์ผ๋ก ์๋ํ๋ main ๋ธ๋์น์ ๊ฐ์๊ธฐ ์ด์๊ฐ ๋ฐ์ํ์ผ๋,๋ณํฉ๋ ํน์ ..
GIT์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋
๋ฆฝ์ ์ธ ํ์คํ ๋ฆฌ๋ฅผ ๋ณํฉํ์ง ์๋๋ค. ๋ฌธ์ ์ํฉ์์คํ
ํ๋ก๊ทธ๋๋ฐ ์ค์ต์์, ํ ํ๋ก์ ํธ๋ฅผ ํ๋ฉฐ 4๊ฐ์ ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด๋ฅผ ์ฌ์ฉํ๋ค.ํ์๋ค์ ๊ฐ์ ํ๋์ ํ์ด์ ๋์ํ๋ ๋ธ๋์น๋ฅผ ์์ฑํด ๋
๋ฆฝ์ ์ผ๋ก ์์
์ ์งํํ๋ค.๋ฌธ์ ๋ ์ต์ข
์ฝ๋๋ฅผ ์ ์ถํ๊ธฐ ์ํด ๊ฐ ๋ธ๋์น๋ฅผ main ๋ธ๋์น๋ก ๋ณํฉํ๋ ๊ณผ์ ์์ ๋ฐ์ํ๋ค.๊นํ๋ธ์์ ์๋์ ๊ฐ์ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ฉฐ PR ์์ฑ์ด ๋ถ๊ฐ๋ฅํ๋ค.There isn't anything to compare.main and rfid-and-pir are entirely different commit histories PR์ด ์์ ์ฌ๋ผ๊ฐ์ง ์๋ ์ํฉ์ด์๊ณ , ๊นํ๋ธ ์น ์ธํฐํ์ด์ค๋ง์ผ๋ก๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๋ค.๋ก์ปฌ ํ๊ฒฝ์์ CLI(Command Line Interface)๋ก ๊ฐ..