2021-04-12(Mon)
ํญ๋ชฉ | ๋ด์ฉ |
ํ์ต ๋ ์ง | 2021-04-12(์) |
ํ์ต ์๊ฐ | 09:00~23:00 |
ํ์ต ๋ฒ์ ๋ฐ ์ฃผ์ | Rails, ๋์์ธํจํด |
ํ์ต ๋ชฉํ | Rails๋ก api ์๋ฒ ์ ํ ์ ํด๋ณธ๋ค. |
๋๋ฃ ํ์ต ๋ฐฉ๋ฒ | - |
์์ธ ํ์ต ๋ด์ฉ
ํ๋ผ์ด์จ์ดํธ(Flyweight) ํจํด
ํ๋ผ์ด์จ์ดํธ ํจํด์ ๋น์ฉ์ด ํฐ ์์์ ๊ณตํต์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋๋ ํจํด์ด๋ค.
์์์ ๋ํ ๋น์ฉ์ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋ ๋ณผ ์ ์๋ค.
์ค๋ณต ์์ฑ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ ๊ฒฝ์ฐ
์ค๋ณต ์์ฑ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๋ ๊ฒ์ ๋์ผํ ์์์ด ์์ฃผ ์ฌ์ฉ๋ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ด๋ฐ ์์ ๊ณตํต ์์ ํํ๋ก ๊ด๋ฆฌํด ์ฃผ๋ ํธ์ด ์ข๋ค.
์์ ์์ฑ ๋น์ฉ์ ํฐ๋ฐ ์ฌ์ฉ ๋น๋๊ฐ ๋ฎ์ ๊ฒฝ์ฐ
์ด๋ฐ ์์์ ํญ์ ๋ฏธ๋ฆฌ ์์ฑํด ๋๋ ๊ฒ์ ๋ญ๋น์ด๋ค. ๋ฐ๋ผ์ ์์ฒญ์ด ์์ ๋์ ์์ฑํด์ ์ ๊ณตํด์ฃผ๋ ํธ์ด ์ข๋ค.
์ด ๋ ๊ฐ์ง ๋ชฉ์ ์ ์ํด์ ํ๋ผ์ด์จ์ดํธ ํจํด์ ์์ ์์ฑ๊ณผ ์ ๊ณต์ ์ฑ ์์ง๋ค.
์์์ ์์ฑ์ ๋ด๋นํ๋ Factory ์ญํ ๊ณผ ๊ด๋ฆฌ ์ญํ ์ ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์ข์ ์ ์์ผ๋, ์ผ๋ฐ์ ์ผ๋ก๋ ๋ ์ญํ ์ ํฌ๊ธฐ๊ฐ ๊ทธ๋ฆฌ ํฌ์ง ์์์ ํ๋์ ํด๋์ค๊ฐ ๋ด๋นํ๋๋ก ๊ตฌํํ๋ค.
์ฅ์
๋ง์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋ค.
๋ง์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค์ผ ์ ์๋ค.
state pattern๊ณผ ์ฝ๊ฒ ๊ฒฐํฉ๋ ์ ์๋ค.
๋จ์
ํน์ ์ธ์คํด์ค์ ๊ณต์ ์ปดํฌ๋ํธ๋ฅผ ๋ค๋ฅด๊ฒ ํ๋ํ๊ฒ ํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ๋ค. (๊ฐ๋ณ ์ค์ ์ด ๋ถ๊ฐ๋ฅํ๋ค.)
์ฌ์ฉ ์์
๊ณ ์ ์ ์ธ ์ฌ์ฉ ์
์๋ ํ๋ก์ธ์์์ ๋ฌธ์๋ค์ ๊ทธ๋ํฝ์ ํํ์ ๋ํ ์๋ฃ ๊ตฌ์กฐ (ex ๊ธ์๋ชจ์ ์ ๋ณด๋ฅผ ํจ์จ์ ์ผ๋ก ๋ค๋ฃฐ ์ ์์)
JDK ์์
java.lang.String
java.lang.Integer#valueOf(int) : ๋ฏธ๋ฆฌ ์ ์ฅ๋ ์บ์ ํ์์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์ค๊ณ , ๋ง์ฝ ์์ผ๋ฉด ์ง์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ์์ผ๋ก ๋์ด์์.
java.lang.Boolean#valueOf(boolean)
java.lang.Byte#valueOf(byte)
java.lang.Character#valueOf(char)
๊ฐ๋จ ๊ตฌํ ์์
ํ์ต ๋ด์ฉ์ ๋ํ ๊ฐ์ธ์ ์ธ ์ดํ
์๋ฐ๋ก ์คํ๋งํ๊ณ ์ถ์๋ฐ ๊ฐ์๊ธฐ ๋ ์ผ์ฆ๋ฅผ ํ๋ ค๋ ์กฐ๊ธ ์์ฝ๋ค. ๊ทธ๋๋ ์ด ์ฐธ์ ๋ ์ผ์ฆ๋ก ๋ฐ๋ก ์๋ฒ๋ฅผ ๊ตฌ์ถํ ์ ์๋๋ก ํ๊ณ , JWT ๊ฐ๋ ์ ๋ํด ํ์คํ ์์๊ฐ๋ค๊ณ ์๊ฐํ๋ ๋ ๊ณต๋ถ๊ฐ ์ฌ๋ฐ๋ค. ์ญ์ ๋ง์๊ฐ์ง์ ์กฐ๊ธ๋ง ๋ฐ๊ฟ๋ ํด์ผํ ๊ณต๋ถ๊ฐ ์ฆ๊ธธ๊ฑฐ๋ฆฌ๊ฐ ๋๋ค.
๋ค์ ํ์ต ๊ณํ
Rails๋ก ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ
Last updated