2021.03.15 ~ 2021.04.07ํ๋ก ํธ์ค๋๋ ๋ฆฌ์กํธ, ๋ฐฑ์ค๋๋ ๋ฃจ๋น์จ๋ ์ผ์ฆ๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฆฌ์คํธ, ์์ธํ์ด์ง, ์ฐ๋ฆฌ์คํธ, ์ฅ๋ฐ๊ตฌ๋๊ฐ ์๋ ์ผํ๋ชฐ ์น์ฑ ๊ตฌํํ๊ธฐReact.jsFramework7Tailwind CSSRubyOnRailsUseEffect๋ categ
์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ์น์ฑ์ ํน์ฑ์ history.push๋ฅผ ํ๋ฉด์ ๋ค๋ฅธ ํ์ด์ง๋ก ์๋์ด๊ฐ๊ณ ํญ์ ์ด์ฉํด์ ๋์ด๊ฐ๊ธฐ ๋๋ฌธ์ ์ํ๋ฆฌ์คํธ์์ ์ํ์ ๋ด๊ณ ์ฅ๋ฐ๊ตฌ๋ ํญ์ผ๋ก ๋์ด๊ฐ๋ฉด ๋ฐ๋ก ์ ๋ฐ์ดํธ๊ฐ ์๋์ด์๊ณ ์๋ก๊ณ ์นจ์ ํด์ผ ์ฅ๋ฐ๊ตฌ๋๊ฐ ์ ๋ฐ์ดํธ๋๋ ๋ฌธ์ ๋ฅผ ๊ฒฝํํ๋ค. ๋ฌผ๋ก f
2020๋ ์ ์๊ฐ๋ Facebook์์ ์คํ์ฉ์ผ๋ก ๋ง๋ React ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌRecoil์ state๋ฅผ ์ ๋ฐ์ดํธํ ๋ ๊ณตํต ๋ถ๋ชจ๋ก ์ํ๋ฅผ ๊ณ์ ๋์ด์ฌ๋ฆฌ๋ฉด์ ๋๋ฌด ํฐ dom tree๊ฐ ๊ณ์ํด์ re-render ๋๊ณ ์ํ๊ฐ ๋ง๋ค์ด์ง๊ณ ๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํ๋ ์ ์ ๋ค์ ๋ถ
Class๋ ๊ฐ์ฒด๋คInstance๋ ๊ฐ์ฒด๋คClass๋ ์์ ๋ง์ ๋ฉ์๋๊ฐ ์์ผ๋ฉฐ ๋ ๋ฆฝ์ ์ด๋ค. ์ธ์คํด์ค์ ์ด๋ฐ๊ฒ๋ค์ ๋๋์ง ์๋๋ค.ํจ์๋ฅผ ์ ์ธํ ๋๋ def ํจ์๋ช ์ผ๋ก ์ ์ธํ๋คํด๋์ค์ ์ ์๋ ๋ฉ์๋class๋ก ์์ํ์ฌ end๋ก ๋๋๋ค์์ self๋ฅผ ๋ถ์ฌ์ค์ ์๋ค@@์ผ๋ก ์์
rake db:migrate๋ผ๋ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด schema.rb์ ๋ด๊ฐ ๋ง๋ db ํ ์ด๋ธ๋ค์ด ๋ค์๊ณผ ๊ฐ์ด migrate ๋๋ค.schema.rb๋ฅผ ํ์ธํด๋ณด๋ฉด ํ์ฌ ์ด๋ค ํ์ผ๋ค๊น์ง migrate ๋์๋์ง ํ์ธํ ์ ์๋ค. ์ด์ ํ ์ด๋ธ๋ค์ ๋ค schema.rb ํ์ผ์
์ด์ 3๊ฐ์์ฐจ๋ถํด ๊ธฐ์ ํ์ ์ด ์์๋์๋ค. ๋๋ ์ธ์ธ๋์๋ผ๋ ์น์๋น์ค ๋ฐ ๋ณด๋ฐ์ผ์ฑ ๊ฐ๋ฐ์ ํ๋ ์คํํธ์ ํ์ฌ๋ก ๊ฐ๊ฒ๋์๋ค. ์ธ์ธ๋์๋ ํ์คํ๊ฐ๋ฐ์๋ค์ ์งํฅํ๊ณ ๊ฐ์ธํ๋ก์ ํธ๋ก ์งํ๋๊ธฐ๋๋ฌธ์ ์ฌ๊ธฐ์ ํ๋ฌ๋ง ์ผํด๋ ์ ๋ง ๋ง์๊ฒ์ ๋ฐฐ์ธ์ ์์๊ฒ ๊ฐ์๋ค.์ธ์ธ๋์์์ ์ฐ๋ฆฌ์๊ฒ ์ฃผ์ด
์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ useParams()์ useLocation()์ ํ์ฉ์ ๋ง์ดํ์๋ค.useParams() ์ useLocation() ๊ณต์๋ฌธ์ํด๋์คํ์์๋ match, location, history์ ์ ๊ทผํ๋ ค๋ฉด withRouter HOC๋ก ๊ฐ์ธ์ค์ผํ์ง๋ง use
์ด๋ฒ 2์ฐจ ํ๋ก์ ํธ๋ ์ฒ์์ผ๋ก ์๋ํด๋ณธ ์นด์นด์ค ์์ ๋ก๊ทธ์ธ! ํ๋ก ํธ์ค๋ <-> ๋ฐฑ์ค๋ ๋ฟ๋ง ์๋๋ผ ์นด์นด์ค๊น์ง ์ฐ๊ฒฐ์ ์๋๋ฅผ ํด์ผํ๋๊ฑฐ์ฌ์ ๋ฏ์ค์์ง๋ง ์ฌ๋ฐ์๋ค ใ ใ ๋จผ์ ์นด์นด์ค developers์ ํตํด localhost:3000์ ๋ฑ๋กํ๊ณ JS Key๋ฅผ ๋ฐ๊ธ ๋ฐ๋๋ค
์ง๋ 3์ 2์ผ ํ์์ผ๋ถํฐ 3์ 12์ผ ๊ธ์์ผ๊น์ง ์งํํ๋ 2์ฐจ ํ๋ก์ ํธ - StockX ํด๋ก ์ฝ๋ฉ์ด ๋ฌด์ฌํ ๋๋ฌ๋ค. ์ด๋ฒ์๋ 1์ฐจ๋ ์์ผ๋ ํจ์ํ hooks์ styled components๋ฅผ ์ฐ๊ฒ ๋์ด์ ์๋ก์ด ๊ธฐ๋ฅ๋ค๋ก ๊ตฌํํด์ผํ๋๊น ์ต๋ํ ํ์ค์ ์ผ๋ก ๋ชฉํ๋ฅผ ์ก์!
prices๋ ๋ฐฐ์ด์ด๋ฉฐ, ๊ฐ ์์๋ ๋งค์ผ์ ์ฃผ์ ๊ฐ๊ฒฉ์ ๋๋ค.๋ง์ฝ ํ ๋ฒ๋ง ๊ฑฐ๋ํ ์ ์๋ค๋ฉด = ์ฌ๊ณ ํ ์ ์๋ค๋ฉด,์ ์ผ ํฐ ์ด์ต์ ์ผ๋ง์ผ๊น์?์ค๋ช : 2์ผ(๊ฐ๊ฒฉ=1)์ ์๋ค๊ฐ 5์ผ(๊ฐ๊ฒฉ=6)์ ์ฌ๋ ๊ฒ์ด 6-1์ด๋ผ ์ ์ผ ํฐ ์์ต7-1=6 ์ ์ ๋๋๊ฑฐ ์์์ฃ ? ๋จผ์ ์ฌ์ผ
์์ N์ ์ด์ง๋ฒ์ผ๋ก ๋ฐ๊ฟจ์ ๋, ์ฐ์์ผ๋ก ์ด์ด์ง๋ 0 ์ค์์ ๊ฐ์ฅ ํฐ ๊ฐ์ returnํด ์ฃผ์ธ์.์ด์ด์ง๋ 0์ 1๊ณผ 1์ฌ์ด์ ์๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.1๊ณผ 1์ฌ์ด์ ์๋ 0์ binary gap ์ด๋ผ๊ณ ํ๊ฒ ์ต๋๋ค.์ค๋ช : 9์ ์ด์ง์๋ 1001 ์ ๋๋ค. 1๊ณผ 1์ฌ์ด์ ์๋
์ง๋ 2์ 15์ผ ์์์ผ๋ถํฐ 2์ 26์ผ ๊ธ์์ผ๊น์ง ์งํํ๋ 1์ฐจ ํ๋ก์ ํธ - ๋ฐฐ๋ฏผ๋ฌธ๋ฐฉ๊ตฌ ํด๋ก ์ฝ๋ฉ์ด ๋ฌด์ฌํ ๋๋ฌ๋ค. ์์ฝ๋์ ๋ค๋๊ธฐ์ ์๋ ์ ๋ง ์ฝ๋ฉ์ ๋ํด์ 1๋.. ๋จ 1๋ ๋ชจ๋ฅด๋ ๋ด๊ฐ 6์ฃผ๋ง์ ํ ์ฌ์ดํธ๋ฅผ ํต์งธ๋ก ํด๋ก ์ฝ๋ฉํ๋ ํ๋ก์ ํธ๋ฅผ ํ ์์์๊ฒ์ด๋ผ๊ณ ์๊ฐ์น๋ ๋ชปํ
์์งํ ๋ง์ดํ์ด์ง... ์ฒ์์๋ ์ ๋ง ์ถ๊ฐ๊ตฌํ of ์ถ๊ฐ๊ตฌํ์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ ํ๋ค๋ณด๋ ์์ฌ๋๊ณ ์ ์ง ํ ์ ์์๊ฒ ๊ฐ์ ์๊ฐ์ด ๋ค๊ณ , ์๊ฐ๋ณด๋ค ํ์๊ตฌํ์ด ์ผ์ฐ ๋๋์ ๋ ์์ฌ๋ด์ ๊ตฌํํด๋ณด์๋ค. ์ด๋ฐฑ๋ฌธ๋ฐฉ๊ตฌ์ ๋ง์ดํ์ด์ง์ ์ฃผ๋ฌธ๋ชฉ๋ก ํ์ด์ง๋ค. ์์ header์ ์์ ๋ฉ๋ดํญ
๊ฐ์ธ์ ์ผ๋ก ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๊ฐ์ฅ ํ๋ค์๋ ํํธ๋ฅผ ๊ณ ๋ฅด๋ผ๋ฉด ์ฅ๋ฐ๊ตฌ๋์๋ค. ์๊ฐ๋ณด๋ค ์๊ฐํด์ผํ ๊ฒ ๋๋ฌด ๋ง์๊ณ ์ฒดํฌ๋ฐ์ค ๊ตฌํ์ ์๋ดค๋ค๊ฐ ํฐ์ฝ ๋ค์ณค๋ค...๐ญ ์ด๊ฑฐ ๊ตฌํ ์ํด๋ณธ ์ฌ๋์ ๋ชจ๋ฅธ๋ค.. ์ฒดํฌ๋ฐ์ค๊ฐ ์ง์ง ์๊ฐ๋ณด๋ค ๋๋ฌด ๋ณต์กํ๋ค... ๋ถ๋ช ๋ด๊ฐ ๊ตฌํํ๊ฒ ๊ฐ์ฅ
์ฌ๊ท๋ฅผ ์ฌ์ฉํ์ฌ ํฉํ ๋ฆฌ์ผ(factorial)์ ๊ตฌํ๋ ํจ์๋ฅผ ๊ตฌํํด์ฃผ์ธ์.ํฉํ ๋ฆฌ์ผ์ด๋ 1์์๋ถํฐ n๊น์ง์ ์ ์๋ฅผ ๋ชจ๋ ๊ณฑํ๊ฒ์ ๋งํฉ๋๋ค....๋ก๋ฉ์ด ์๋๋ค...์๋..! n์ด ๋๋๋ ์ง์ ์ ์์ ํด์ค์!n=0์ด๋ฉด ๋๋\~~ ๋ผ๊ณ ์ง์ ํด์คฌ๋๋ ๐ ์ฑ๊ณต ๐
์ฃผ์ด์ง ์ซ์ ๋ฐฐ์ด์์, 0์ ๋ฐฐ์ด์ ๋ง์ง๋ง์ชฝ์ผ๋ก ์ด๋์์ผ์ฃผ์ธ์.์๋ ์๋ ์ซ์์ ์์๋ ๋ฐ๊พธ์ง ๋ง์์ฃผ์ธ์.(์๋ก์ด ๋ฐฐ์ด์ ์์ฑํด์๋ ์ ๋ฉ๋๋ค.)์ ์๋ผ ,,,, ๋์๊ฐ,,,, ๋ฐฐ์ด์์ 0์ด ํ๋์ธ๊ฒฝ์ฐ๋ ๊ฐ๋ฅํ์ง๋ง 0์ด ๋จ๋ ์๊ฐ ๋๋๋ฒ๋ ค์ 0์ด ๋๊ฐ์ด์์ผ ๊ฒฝ์ฐ for
๋ฉ์ธ์ ๋งก์ผ๋ฉด์ ์์ฐ์ค๋ฝ๊ฒ Nav Bar์ Footer๊น์ง ๋ง๋ค๊ฒ ๋์๋ค. ์ฌ์ค Nav Bar ๊ฐ์ ๊ฒฝ์ฐ ์์ง ๋งํฌ๋ฅผ ๊ฑด๊ฒ ์๋๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ฅ ๊ตฌํ์ ์ง๊ธ ๋น์ฅ ํ ์์๋๊ฑด ์์์ง๋ง ๋์ ํด๋ณด๊ณ ์ถ์๋ '์คํฌ๋กค์ ๋ด๋ฆฌ๋ฉด ์๋ก ์ญ ์ฌ๋ผ๊ฐ๋ nav bar'๋ฅผ ๋ง๋ค์์์๋ค.๐
2์ 15์ผ ์์์ผ๋ถํฐ ์์๋ 1์ฐจ ํ๋ก์ ํธ ๋ฐฐ๋ฏผ๋ฌธ๋ฐฉ๊ตฌ~ ์ง๊ธ๊น์ง ๊ธฐ๋ฅ ๋ฐ UI ๊ตฌํํ๊ฒ๋ค์ ์ ๋ฆฌํด๋ณด์๋ค.๐ ์ค์ ๋ฉ์ธํ์ด์ง๋ฐฐ๋ฏผ๋ฌธ๋ฐฉ๊ตฌ์ UI๋ ์ฌํํ๊ณ ํ๋ คํ hoverํจ๊ณผ ๊ฐ์๊ฒ ์์๋ค. ํญ์ ์ค์นํด์ ์ฐ๊ณ ์ถ์๋ react-slick์ ์ด์ฉํ์ฌ ์ฌ๋ผ์ด๋๋ฅผ ๊ตฌํํ๋ค
1๋ ์ ๋์ ์ํฉ๐ 2020๋ 2์์ ๋๋ ๋ช๋ ๊ฐ ๋ฏธ๋ฃจ๋ ์ด์ง์ค๋น๋ฅผ ์ด์ฌํํด์ ๋ค๋ฅธ์ฃผ! ๋ค๋ฅธํ์ฌ!๋ก๋ถํฐ ์ธํฐ๋ทฐ ์ ์๋ฅผ ๋ฐ๊ณ ์ด์ฌํ ์ธํฐ๋ทฐ ์ค๋น์ค์ด์๋ค. ๊ทธ๋ฌ๋ค๊ฐ 3์์ ๋ฏธ๊ตญ๋ด ์ฝ๋ก๋๊ฐ ์์ฃผ ์ฌ๊ฐํด์ง๋ฉด์ ๋ชจ๋ ํ์ฌ์ ์ฑ์ฉ์ ์ฐจ๊ฐ STOPโ ์ธํฐ๋ทฐ 3๋ฒ ํด๋๊ณ ๋ง์ง๋ง ํ์ฅ
๋ฌธ์ ์ค๋ช ์์ฐ์ N์ด ์ฃผ์ด์ง๋ฉด, N์ ๊ฐ ์๋ฆฟ์์ ํฉ์ ๊ตฌํด์ return ํ๋ solution ํจ์๋ฅผ ๋ง๋ค์ด ์ฃผ์ธ์. ์๋ฅผ๋ค์ด N = 123์ด๋ฉด 1 + 2 + 3 = 6์ return ํ๋ฉด ๋ฉ๋๋ค. ์ ํ์ฌํญ N์ ๋ฒ์ : 100,000,000 ์ดํ์ ์์ฐ์ ์ ์ถ๋ ฅ ์ ๋์ ํ์ด ์~ ํ์ค๋ง์ ๋๋๋ค๐ฅณ ๋ค๋ฅธ ์ฌ๋์ ํ์ด๋ฅผ ๋ณด๊ณ ๋ฆฌ๋ทฐ ` ์ฒ์ ๋ฐ์ ...