email๊ณผ userEmail์ ๋ถ๋ช
ํ ๊ฐ์ ๊ฐ์ธ๋ฐ .. == ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ ๋ ๊ฐ๋ค๋ ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง ์์๋ค. ๋๋ฒ๊ฑฐ๋ฅผ ํตํด์๋ ๊ฐ์ ๊ฐ์ด๊ณ ํฐ๋ฏธ๋์ ์ถ๋ ฅํด๋ดค์ด๋ ๊ฐ์ ๊ฐ์ธ๋ฐ if๋ฌธ์ ๊ฑธ๋ฆฌ์ง ์์๋ค. Java์ ๋ฌธ์์ด ๋น๊ต ๋ฐฉ์ ๋๋ฌธ์ด์๋ค. == ์ฐ์ฐ์์ equals() ์ฐ์ฐ์์ ์ฐจ์ด Java์์ ๋ฌธ์์ด์ ๋น๊ตํ ๋, == ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๋ฌธ์์ด ๊ฐ์ฒด์ ์ฐธ์กฐ๊ฐ ๊ฐ์์ง๋ฅผ ๋น๊ตํ๋ค. ๋ฌธ์์ด์ ๋ด์ฉ์ด ๊ฐ๋๋ผ๋, ๋ค๋ฅธ ๊ฐ์ฒด์ผ ๊ฒฝ์ฐ false๋ฅผ ๋ฐํํ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์, ๋ฌธ์์ด์ ๋ด์ฉ์ ๋น๊ตํ ๋๋ .equals() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค! log.info(email); log.info(userEmail); if (email.equals(userEmail) && UrlDao.getUrl(urlHash)...
๐ Language
Lombok ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๋ฐ ๊ฐ๋ฐ์ ๋ ํจ์จ์ ์ด๊ณ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋๋ ๋ฐ ๋์์ ์ฃผ๋ ๋๊ตฌ์ด๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฃผ์ ๋ชฉ์ ์ ์๋ฐ ์์ค์ฝ๋์์ ๋ฐ๋ณต๋๋ ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋๋ฅผ ์ค์ด๋ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด, getter, setter, toString, equals, hashCode์ ๊ฐ์ ๋ฉ์๋๋ฅผ ์ด๋
ธํ
์ด์
์ ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ์์ฑํ ์ ์๋ค. Lombok์ ์ปดํ์ผ ์๊ฐ์ ์๋ํ์ฌ ์์ค ์ฝ๋์ ์ฃผ์
๋๋ค. ์ด๋ ๋ฐํ์์ ์ถ๊ฐ์ ์ธ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ์ง ์์์ ์๋ฏธํ๋ค. ์ฃผ๋ก ์ฌ์ฉ๋๋ ์ด๋
ธํ
์ด์
์ @Data, @Getter, @Setter, @NoArgsConstructor, @AllArgsConstructor, @Builder ๋ฑ์ด ์๋ค. ์ด๋ค์ ๊ฐ๊ฐ ํด๋์ค์ ํ์ํ ๊ธฐ๋ณธ์ ์ธ ๋ฉ์๋๋ค์ ์๋์ผ๋ก ์์ฑํด์ค๋ค. Lom..
info != null: ์ด ์กฐ๊ฑด์ info ๋ณ์๊ฐ null์ธ์ง ์๋์ง๋ฅผ ๊ฒ์ฌ **null์ ๋ณ์๊ฐ ์๋ฌด๋ฐ ๊ฐ์ฒด๋ ์ฐธ์กฐํ์ง ์๊ณ ์์์ ์๋ฏธํจ** ๊ฐ์ฒด๊ฐ null์ธ ๊ฒฝ์ฐ, ํด๋น ๊ฐ์ฒด์ ์ด๋ ํ ๋ฉ์๋๋ ํธ์ถํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ์๋ํ ๊ฒฝ์ฐ NullPointerException์ด ๋ฐ์ํจ ๋ฐ๋ผ์ info๊ฐ null์ด ์๋ ๊ฒฝ์ฐ์๋ง ๋ฉ์๋ ํธ์ถ์ด๋ ์์ฑ ์ ๊ทผ์ ์๋ํด์ผ ํ๋ค. !info.isEmpty(): ์ด ์กฐ๊ฑด์ info ๋ฌธ์์ด์ด ๋น์ด ์์ง ์์์ง๋ฅผ ๊ฒ์ฌ isEmpty() ๋ฉ์๋๋ ๋ฌธ์์ด์ด ๋น ๋ฌธ์์ด์ธ์ง ํ์ธํ๋ฉฐ, ๋น ๋ฌธ์์ด("")์ธ ๊ฒฝ์ฐ true๋ฅผ ๋ฐํํจ !info.isEmpty()๋ info๊ฐ ๋น ๋ฌธ์์ด์ด ์๋ ๊ฒฝ์ฐ์ true๊ฐ ๋จ ๋น ๋ฌธ์์ด์ด ์๋๋ผ๋ ๊ฒ์, ๋ฌธ์์ด์ด ์ ์ด๋ ํ๋ ์ด์์ ๋ฌธ์๋ฅผ ํฌํจํ๊ณ ..
1. ํค(Key)์ ํ๋กํผํฐ(Property) ๊ฐ์ฒด(Object)๋ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํ๋๋ก ๋ฌถ์ด ํํํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ด๋ค. ๊ฐ์ฒด ์์ ๊ฐ ๋ฐ์ดํฐ ์์๋ฅผ ํ๋กํผํฐ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ํ๋กํผํฐ๋ ์ด๋ฆ(ํค)๊ณผ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค. const person = { name: 'Alice', age: 30, job: 'Engineer' }; name, age, job์ key์ด๊ณ Alice, 30, Engineer์ ํ๋กํผํฐ์ ๊ฐ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. 2. ํ์
(Type) ํ์
์ ๋ณ์, ๋งค๊ฐ๋ณ์, ํจ์ ๋ฑ์ ์ด๋ค ์ข
๋ฅ์ ๊ฐ์ด๋ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ ์ ์๋์ง๋ฅผ ๋ช
์ํ๋ ์ญํ ์ ํ๋ค. TypeScript์์๋ ํ์
์ ์ฌ์ฉํ์ฌ ๋ณ์๋ ํจ์์ ์ธ์ ๋ฑ์ ๊ฐ์ด ์ด๋ค ํํ๋ฅผ ๊ฐ์ ธ์ผ ํ๋์ง๋ฅผ ๋ช
ํํ๊ฒ ์ง์ ํ ์ ์์ต๋๋ค. const age: n..
TypeScript ์์ ๋ณ์๊ฐ string ํํ์ฌ์ผ ํ๋๋ฐ undefined์ผ ๋ ๋ฐ์ํ๋ ํ์
์๋ฌ๋ก, ํํ๊ฒ ๋ฐ์ํ๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ํด๊ฒฐ์ฑ
์, ๊ฐ์ด undefined์ผ ๊ฒฝ์ฐ ๋น ๋ฌธ์์ด์ธ ''์ ํ ๋นํด์ฃผ๋ ๊ฒ์ด๋ค. ์๋๋ ๊ทธ ์์์ด๋ค. const userName: string = userDetails?.userName || '';
๋ค์ ์ฝ๋์ ๋ฌธ์ ๊ฐ ๋ฌด์์ผ๊น? {relData?.totalElements > 1 && ( handleChangeRepPopup(!showChangeRepPop)} style={{ marginRight: '10px' }} > {t('button.filecomponent.changeRep')} )} → 'relData.totalElements' is possibly 'undefined'. ์ฝ์์ ์ด๋ฐ ์ค๋ฅ๊ฐ ์ถ๋ ฅ ๋๋ค. ๋ง ๊ทธ๋๋ก, relData.totalElements ๊ฐ undefined ์ผ ์ ์๊ธฐ ๋๋ฌธ์ด ์ด๋ฐ ์ค๋ฅ๊ฐ ๋๋ ๊ฒ์ด๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ํด๊ฒฐ๋ฐฉ๋ฒ์ relData && relData.totalElements > 1 && ( ์ด๋ ๊ฒ ์กฐ๊ฑด๋ถ ๋ ๋๋ง์ ์ด์ฉํ๋ ๊ฒ์ด๋ค. relData๊ฐ ์กด์ฌํ ๋๋ง ๋ค์..
ใ์ค์ฑ์ฐ์ ์ดํ C ํ๋ก๊ทธ๋๋ฐใ ์ ์ฐธ๊ณ ํ์์ต๋๋ค. ใ์ค์ฑ์ฐ์ ์ดํ C ํ๋ก๊ทธ๋๋ฐใ ์ค ํท๊ฐ๋ ธ๋ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค. 16-1 ; ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ดํด์ ํ์ฉ '๋ค์ฐจ์ ๋ฐฐ์ด' 2์ฐจ์ ์ด์์ ๋ฐฐ์ด. 2์ฐจ์ ๋ฐฐ์ด : ํ๋ฉด๊ตฌ์กฐ์ ๋ฐฐ์ด 3์ฐจ์ ๋ฐฐ์ด : ์ง์ก๋ฉด์ฒด ๊ตฌ์กฐ์๋ฐฐ์ด 4์ฐจ์ ์ด์์ ๋ฐฐ์ด์ ์ธ์ ๋ฌธ๋ฒ์ ์ผ๋ก ํ์ฉํ์ง๋ง ๋ถํ์ํ๊ณ ๋
ผ๋ฆฌ์ ์ผ๋ก ์ดํดํ๊ธฐ๋ ์ด๋ ค์ด ํํ๋ค. 2์ฐจ์ ๋ฐฐ์ด์ ์ ์ธ TYPE arr[์ธ๋ก๊ธธ์ด][๊ฐ๋ก๊ธธ์ด]; int arr1[3][4]; // ์ธ๋ก๊ฐ 3, ๊ฐ๋ก๊ฐ 4์ธ intํ 2์ฐจ์ ๋ฐฐ์ด int arr2[2][6]; // ์ธ๋ก๊ฐ 2, ๊ฐ๋ก๊ฐ 6์ธ intํ 2์ฐจ์ ๋ฐฐ์ด sizeof์ฐ์ฐ์์ ํผ์ฐ์ฐ์๋ก ๋ฐฐ์ด์ ์ด๋ฆ์ด ์ค๋ฉด ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ๋ฐ์ดํธ ๋จ์๋ก ๊ณ์ฐ๋์ด์ ๋ฐํ๋๋ค. 2์ฐจ์๋ฐฐ์ด์์๋! 2์ฐจ์ ๋ฐฐ์ด์์์ ..
ใ์ค์ฑ์ฐ์ ์ดํ C ํ๋ก๊ทธ๋๋ฐใ ์ ์ฐธ๊ณ ํ์์ต๋๋ค. ใ์ค์ฑ์ฐ์ ์ดํ C ํ๋ก๊ทธ๋๋ฐใ ์ค ํท๊ฐ๋ ธ๋ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค. ๋ชฉ์ฐจ 14-1 ; ํจ์์ ์ธ์๋ก ๋ฐฐ์ด ์ ๋ฌํ๊ธฐ 14-2 ; Call-by-value vs. Call-by-reference 14-3 ; ํฌ์ธํฐ ๋์์ const ์ ์ธ 14-1 ; ํจ์์ ์ธ์๋ก ๋ฐฐ์ด ์ ๋ฌํ๊ธฐ ์ธ์์ ๋ฌ์ ๊ธฐ๋ณธ๋ฐฉ์์ ๊ฐ์ ๋ณต์ฌ "ํจ์ ํธ์ถ ์ ์ ๋ฌ๋๋ ์ธ์์ ๊ฐ์ ๋งค๊ฐ๋ณ์์ ๋ณต์ฌ๊ฐ ๋๋ค." ์ฆ, ๋ณต์ฌ๊ฐ ๋๋ ๊ฒ ๋ฟ์ด๊ธฐ์ ํจ์๊ฐ ํธ์ถ๋๊ณ ๋๋ฉด, ์ ๋ฌ๋๋ ์ธ์์ ๋งค๊ฐ๋ณ์๋ ๋ณ๊ฐ๊ฐ ๋จ. int SimpleFunc(int num){....} int main(void){ int age=17; SimpleFunc(age); // age์ ์ ์ฅ๋ ๊ฐ์ด ๋งค๊ฐ๋ณ์ num์ ๋ณต์ฌ๋จ .... } ..
ใ์ค์ฑ์ฐ์ ์ดํ C ํ๋ก๊ทธ๋๋ฐใ ์ ์ฐธ๊ณ ํ์์ต๋๋ค. ใ์ค์ฑ์ฐ์ ์ดํ C ํ๋ก๊ทธ๋๋ฐใ ์ค ํท๊ฐ๋ ธ๋ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค. 13-1 ; ํฌ์ธํฐ์ ๋ฐฐ์ด์ ๊ด๊ณ ๋ฐฐ์ด์ ์ด๋ฆ์ ํฌ์ธํฐ. ๋จ, ๊ฐ์ ๋ฐ๊ฟ ์ ์๋ '์์ ํํ์ ํฌ์ธํฐ', 'ํฌ์ธํฐ ์์' %p : ์ฃผ์ ๊ฐ์ ์ถ๋ ฅ์ ์ฌ์ฉํ๋ ์์๋ฌธ์ ๋น๊ต์กฐ๊ฑด \ ๋น๊ต๋์ ํฌ์ธํฐ ๋ณ์ ๋ฐฐ์ด์ ์ด๋ฆ ์ด๋ฆ์ด ์กด์ฌํ๋๊ฐ? ์กด์ฌ ์กด์ฌ ๋ฌด์์ ๋ํ๋ด๊ฑฐ๋ ์ ์ฅํ๋๊ฐ? ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์ ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์ ๊ฐ ์ฃผ์ ๊ฐ์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๊ฐ? ๊ฐ๋ฅ ๋ถ๊ฐ๋ฅ(์์) 1์ฐจ์ ๋ฐฐ์ด์ด๋ฆ์ ํฌ์ธํฐ ํ์ ๋ฐฐ์ด์ ์ด๋ฆ์ด ๊ฐ๋ฆฌํค๋ ๋์์ ๊ธฐ์ค์ผ๋ก ๊ฒฐ์ ํฌ์ธํฐ ๋ณ์๋ฅผ ๋ฐฐ์ด์ ์ด๋ฆ์ฒ๋ผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์๊ณ , ๋ฐฐ์ด์ ์ด๋ฆ์ ํฌ์ธํฐ ๋ณ์์ฒ๋ผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์๋ค. ํ์ง๋ง ์ด๊ฒ ๊ฐ๋ฅํ๋ค๋ ๊ฑด ์์์ผ ํ๋ค. 1..
ใ์ค์ฑ์ฐ์ ์ดํ C ํ๋ก๊ทธ๋๋ฐใ ์ ์ฐธ๊ณ ํ์์ต๋๋ค. ใ์ค์ฑ์ฐ์ ์ดํ C ํ๋ก๊ทธ๋๋ฐใ ์ค ํท๊ฐ๋ ธ๋ ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค. 12-1 ; ํฌ์ธํฐ๋ ๋ฌด์์ธ๊ฐ? ํฌ์ธํฐ๋ฅผ ์ด์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. ํฌ์ธํฐ ๋ณ์ : ์ฃผ์ ๊ฐ์ ์ ์ฅ์ ๋ชฉ์ ์ผ๋ก ์ ์ธ. 32๋นํธ ์์คํ
์์๋ ์ฃผ์ ๊ฐ์ 32๋นํธ๋ก ํํํ๊ธฐ ๋๋ฌธ์ ํฌ์ธํฐ ๋ณ์์ ํฌ๊ธฐ๊ฐ 4๋ฐ์ดํธ์ธ ๋ฐ๋ฉด, 64๋นํธ ์์คํ
์์๋ ์ฃผ์ ๊ฐ์ 64๋นํธ๋ก ํํํ๊ธฐ ๋๋ฌธ์ ํฌ์ธํฐ ๋ณ์์ ํฌ๊ธฐ๊ฐ 8๋ฐ์ดํธ์ด๋ค. 64 * bit = 2^6 * 2 = 2*7 8 * byte = 2^3 * 2^4 = 2*7 64๋นํธ ์์คํ
์์ ๋์ํ๋ ์ปดํ์ผ๋ฌ๋ 64๋นํธ๋ฟ๋ง ์๋๋ผ 32๋นํธ๋ก๋ ์ปดํ์ผ์ด ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์ ํฌ์ธํฐ ๋ณ์ ๋์์ sizeof ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ก 8์ด ๋ฐํ๋จ์ ํ์ธํ๊ธฐ ์ํด์๋ ..