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 (ν΄λΌμ΄μΈνΈ μ격 ..