Spring/Spring & Spring Boot
์ฝ๋๋ฅผ ๋ณด๋ค๊ฐ Example ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํ ๊ฒฝ์ฐ๊ฐ ์์๋ค. Example๋ฅผ ์ธ์ ์ฌ์ฉํ๊ณ , ์ ์ฌ์ฉํ๋์ง ์์๋ณด์. Example ์ธํฐํ์ด์ค๋ ?Spring Data Core์์ ์ ๊ณตํ๋ ๊ฒ์ผ๋ก, QBE(Query By Example)์ ์ง์ํ๋ ๊ธฐ๋ฅ์ด๋ค. ๊ฐ์ฒด ์์ฒด๋ฅผ ์ฟผ๋ฆฌ ์กฐ๊ฑด์ผ๋ก ํ์ฉํ์ฌ ๊ฐ๋จํ ๊ฒ์์ ์ํํ ์ ์๋ค. ์ฃผ์ ๊ฐ๋
๋๋ฉ์ธ ๊ฐ์ฒด(์ํฐํฐ) ์์ฒด๋ฅผ ๊ฒ์ ์กฐ๊ฑด์ผ๋ก ํ์ฉNull ๊ฐ์ ๋ฌด์ (ํ๋ ๊ฐ์ด ์๋ ๊ฒ๋ง ๊ฒ์ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉ)๋์ ์ฟผ๋ฆฌ ์์ฑ ๊ฐ๋ฅ๋ณ๋์ JPQL์ด๋ SQL์ ์์ฑํ ํ์ ์์๐ ๊ฐ๋จํ ๊ฒ์์์๋ ์ ์ฉํ๊ฒ ์ผ๋.. ์ค๋ฌด์์๋ ๋ณต์กํ ๊ฒ์์ด ๋ ๋ง์ด ๋๋ฌธ์ ๊ทธ๋ฅ ์ ๋ฐ ๊ธฐ๋ฅ์ด ์๊ตฌ๋ ์ ๋๋ง ์์๋ ๋ ๊ฒ ๊ฐ๋ค. ์ฌ์ฉ ์์User probe = new User();..
Java
Serializable ์ธํฐํ์ด์คDTO๋ฅผ ์ฌ์ฉํ ๋ Serializable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ณ ์๋๋ฐ, ๊ทธ ์ด์ ๋ฅผ ์์๋ณด์. Serializable ์ธํฐํ์ด์ค์ API์ ์ ์ธ๋ ๋ณ์๋ ๋ฉ์๋๊ฐ ์๋ค.๊ตฌํํด์ผํ ๋ฉ์๋๊ฐ ์๋ฌด๊ฒ๋ ์๋๋ฐ ์ ์์๊น. ๐ ์๋ฐ์์ ์ง๋ ฌํ๋ ? ๐ ์๋ฐ ์์คํ
๋ด๋ถ์์ ์ฌ์ฉ๋๋ ๊ฐ์ฒด ๋๋ ๋ฐ์ดํฐ(JVM์ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผ)๋ฅผ ์ธ๋ถ์ ์๋ฐ ์์คํ
์์๋ ์ฌ์ฉํ ์ ์๋๋ก byte ํํ๋ก ๋ฐ์ดํฐ ๋ณํํ๋ ๊ธฐ์ (์ง๋ ฌํ)๊ณผ byte๋ก ๋ณํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ๊ฐ์ฒด๋ก ๋ณํํ๋ ๊ธฐ์ (์ญ์ง๋ ฌํ)์ด๋ค. Serializable์ด ํ์ํ ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.์์ฑํ ๊ฐ์ฒด๋ฅผ ํ์ผ๋ก ์ ์ฅํ ๋์ ์ฅํ ๊ฐ์ฒด๋ฅผ ์ฝ์ ๋๊ฐ์ฒด๋ฅผ ๋ค๋ฅธ ์๋ฒ๋ก ๋ณด๋ผ ๋๋ค๋ฅธ ์๋ฒ์์ ์์ฑํ ๊ฐ์ฒด๋ฅผ ๋ฐ์ ๋๐ ์ฆ, ๋ง๋ ํด๋์ค๊ฐ ..
Java
์ ๋ค๋ฆญ์ด๋ ?ํ์
ํ ๋ณํ์์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ์ ์ ์ฌ์ ์ ์์ ์ค public class CastingDto implements Serializable { private Object object; public void setObject(Object object) { this.object = object; } public Object getObject() { return object; }} โณ๏ธ ์์ ์ฝ๋์์ ์ ๋ค๋ฆญ์ ์ฌ์ฉํ๋ฉดpublic class CastingGenericDto implements Serializable { private T object; public void setObject(T obj) { this.object..
Database/SQL
4. GROUP BYํน์ ์ปฌ๋ผ์ ๊ฐ์ผ๋ก ๋ ์ฝ๋๋ฅผ ๊ทธ๋ฃจํํ๊ณ , ๊ทธ๋ฃน๋ณ๋ก ์ง๊ณ๋ ๊ฒฐ๊ณผ๋ฅผ ํ๋์ ๋ ์ฝ๋๋ก ์กฐํ GROUP BY๋ฅผ ์ฌ์ฉํ ๋ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ์ ์ฉํ ๊ธฐ๋ฅโณ๏ธ WITH ROLLUP๊ทธ๋ฃจํ๋ ๊ทธ๋ฃน๋ณ๋ก ์๊ณ๋ฅผ ๊ฐ์ ธ์ดโณ๏ธ ๋ ์ฝ๋๋ฅผ ์ปฌ๋ผ์ผ๋ก ๋ณํ ๋ชฉ์ ์ด๋ ์ฉ๋์ ๋ง๊ฒ SUM, COUNT, MIN, MAX, AVG ๋ฑ์ ์งํฉ ํจ์ ์ฌ์ฉ 5. ORDER BY๊ฒ์๋ ๋ ์ฝ๋๋ฅผ ์ด๋ค ์์๋ก ์ ๋ ฌํ ์ง ๊ฒฐ์ ORDER BY ์ ์ด ๋ช
์๋์ง ์์ ์ฟผ๋ฆฌ์ ๋ํด์ ์ ๋ ฌ์ ๋ํ ๋ณด์ฅ X โณ๏ธ ORDER BY ์ฌ์ฉ๋ฒ ๋ฐ ์ฃผ์์ฌํญ1๊ฐ ๋๋ ๊ทธ ์ด์ ์ฌ๋ฌ ๊ฐ์ ์ปฌ๋ผ์ผ๋ก ์ ๋ ฌ ์ํ ๊ฐ๋ฅ ๐ ์ปฌ๋ผ๋ณ๋ก ์ ๋ ฌ ์์ ๋ค๋ฅด๊ฒ ๋ช
์ ๊ฐ๋ฅ์ ๋ ฌํ ๋์์ ์ปฌ๋ผ๋ช
์ด๋ ํํ์์ผ๋ก ๋ช
์ํ์ง๋ง, SELECT๋๋ ์ปฌ๋ผ ์๋ฒ ๋ช
์ ๊ฐ๋ฅSELECT f..
Spring/๐ ์๋ฌ ๊ธฐ๋ก
๐ ์๋ฌ ์ค๋ช
class java.util.LinkedHashMap cannot be cast to class com.XXXX. XXXX.app.interfaces.devices.service.dto.StatusDto ๐ java.util.LinkedHashMap์ StatusDto ๊ฐ์ฒด๋ก ๊ฐ์ ๋ก ์บ์คํ
ํ๋ ค ํ ๋ ๋ฐ์ํ๋ ClassException์ด๋ค.Java์์ ํ์
๋ถ์ผ์น๋ก ์ธํด ๋ฐ์ํ๋๊ฑด๋ฐ, ์ ์ด๋ฌํ ์ํฉ์ด ๋ฐ์ํ๋์ง ์์๋ณด์... ์๋ฌ๊ฐ ๋ฐ์ํ๋ ์ํฉ๐ถ ์์ ์ ์ฝ๋ @Override public Flux getAll() { return deviceRepository.findByXXXX() .switchIfEmpty(Mono.error(n..
AWS
์ฌ์ฉ์๊ฐ ํ์๊ฐ์
์ ํ ๋ username(userId)๊ณผ ๊ฐ๋จํ ์ ๋ณด๋ง DB์ ์ ์ฅํ๊ณ , ๋น๋ฐ๋ฒํธ๋ AWS Cognito์ ์ ์ฅํ๋๋ก ํ ๊ฒ์ด๋ค. AWS Cognito ๋ ? ์ด ๋ถ๋ถ์ ๋ํด ์ ๋ฆฌํ ๊ธ์ด ์๊ธฐ ๋๋ฌธ์ ์์ธํ ์ค๋ช
์ ์๋ตํ๊ณ ,์ฌ์ฉ์ ํ์ ์ฌ์ฉํด ์ธ์ฆํ๊ณ ์๋ ๊ตฌ์กฐ๋ฅผ ํ์ฉํ๋ค ! ๋ผ๋ ๊ฒ๋ง ํ์ธํ๊ณ ๋์ด๊ฐ์. โณ๏ธ ์ฌ์ฉ์ ํ์ ์ฌ์ฉํ ์ธ์ฆ ๐ท ์ธ์ฆ ํ๋ฆ ์ฌ์ฉ์ ๋ฑ๋ก (Sign Up)์ฌ์ฉ์๊ฐ ์ฌ์ฉ์ ํ์ ๋ฑ๋ก์ฌ์ฉ์ ์ด๋ฆ, ๋น๋ฐ๋ฒํธ, ์ด๋ฉ์ผ/์ ํ๋ฒํธ ๋ฑ์ ์ฌ์ฉ์ ์์ฑ ์
๋ ฅ์ด๋ฉ์ผ ๋๋ ์ ํ๋ฒํธ๋ฅผ ํตํด verification code๋ฅผ ๋ฐ์ ๋ฑ๋ก ์๋ฃ์ฌ์ฉ์ ์ธ์ฆ (Sign In)๋ฑ๋ก๋ ์ฌ์ฉ์๊ฐ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๋ก ์ธ์ฆ์ธ์ฆ ์ฑ๊ณต ์, ID ํ ํฐ, accessToken, refreshToke..
Database/SQL
1. LIMIT n์ฟผ๋ฆฌ์์ ์ง์ ๋ ์์์ ์์นํ ๋ ์ฝ๋๋ง ๊ฐ์ ธ์ค๊ณ ์ ํจ๐ LIMIT์์ ํ์ํ ๋ ์ฝ๋ ๊ฑด์๋ง ์ค๋น๋๋ฉด ์ฆ์ ์ฟผ๋ฆฌ ์ข
๋ฃ SELECT * FROM salaries ORDER BY salary LIMIT n, m;n, m์ ์ฃผ์ด์ง๋ ์์น๊ฐ ๋งค์ฐ ์ปค์ง๋ฉด ์ฟผ๋ฆฌ ์คํ์ ์ค๋ ์๊ฐ ๊ฑธ๋ฆผLIMIT ์กฐ๊ฑด์ ํ์ด์ง์ด ์ฒ์ ๋ช ๊ฐ ํ์ด์ง ์กฐํ๋ก ๋๋์ง ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋ฉด WHERE ์กฐ๊ฑด์ ๋ก ์ฝ์ด์ผ ํ ์์น๋ฅผ ์ฐพ๊ณ ๊ทธ ์์น์์ m๊ฐ๋ง ์ฝ๋ ํํ์ ์ฟผ๋ฆฌ ์ฌ์ฉ -- // ๋ ๋ฒ์งธ ํ์ด์ง ์กฐํ์ฉ ์ฟผ๋ฆฌ(์ฒซ ํ์ด์ง์ ๋ง์ง๋ง salary ๊ฐ๊ณผ emp_no ๊ฐ ์ด์ฉ)SELECT * FROM salariesWHERE salary>=38864 AND NOT (salary=38864 AND emp_noNOT (salary..
์นดํ
๊ณ ๋ฆฌ ์์
OAuth 2.0์ ๊ถํ ๋ถ์ฌ(Authorization) ํ๋ ์์ํฌ๋ก, ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ์ดํ๋ฆฌ์ผ์ด์
์ ์์ ์ ์์์ ์์ ํ๊ฒ ์ ๊ณตํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค. ์ฃผ๋ก access_token์ ์ฌ์ฉํ์ฌ ์์์ ๋ํ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ๋๋ฐ, ์ด ๋ฐฉ์์ ์์ ์ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ์ ๊ณตํ์ง ์๊ณ ๋ ์ 3์ ์ดํ๋ฆฌ์ผ์ด์
์ด ์์ ํ๊ฒ ์ฌ์ฉ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผํ๊ฑฐ๋ ์์
์ ์ํํ ์ ์๋๋ก ํ๋ค. OAuth 2.0๋ ๋ค์ํ ์ธ์ฆ๋ฐฉ์์ ์ ๊ณตํ๋ค.Authorization Code Grant (์ธ์ฆ ์ฝ๋ ๋ฐฉ์)Implicit Grant (์์์ ์น์ธ ๋ฐฉ์)Resource Owner Password Credentials Grant (๋น๋ฐ๋ฒํธ ์๊ฒฉ ์ฆ๋ช
๋ฐฉ์)Client Credentials Grant (ํด๋ผ์ด์ธํธ ์๊ฒฉ ..