λΆλ₯ μ 체보기
4κ°μ λ°λ¦° νκ³
κΈμ΅ μΉλ£λ λλ§λ€ νκ³ λ₯Ό μμ±νκΈ°λ‘ λ§μ λ¨Ήμλλ° μ΄λ°μ λ° μ 무 νκ³λ‘ 미루λ€κ° μκ°μ΄ μ‘°κΈ λΉμ΄μ μμ±νκ² λμλ€. μ΅κ·Ό λͺκ°μλμ 컀리μ΄λ¦¬ μλμΌλ‘ μ€λ μΆμ² κ²μλ¬Όμ μ΄μ¬ν μ½μλ κ² κ°λ€. λͺκ°λ λ무 μ’μμ μ 리ν΄μ λΈλ‘κ·Έ κΈμ μμ± νκ³ λͺκ°λ μ½λ€κ° λΆλ§ν¬μμ μ©λμ€μ΄λ€... μ΄λ° κΈμ μλμΌλ‘ λ°μμ 보λ€λ³΄λ©΄ μλκ²λ νμ μλ‘κ³ μ’λ κΉμ λ΄μ©μ 보κ²λλ©΄ μμ±μμ μ λ¬Έμ±κ³Ό λ§μΈλμ μ€λ μΈλ€. 4μμ νμ¬μμ λͺ©νμ€μ κ³Ό νΌλλ°±μ λ°μλ€. μ΄λ² λΆκΈ° λͺ©νμ λν΄ κ³ λ―Όμ λ§μ΄ νλλ° κΈ°μ‘΄μλΉμ€ κ³ λνλ₯Ό μ΄μ λμκ³ μΆκ°μ μΌλ‘ ν μ€νΈ λμ μ λν κΈ°λ°μ λ§λ€μ΄λ³΄λκ² μ΄λ»λλ μ μμ λ°μλ€! μλΉμ€ κ°λ°μ΄ μλ μ½λ νμ§μ λν λͺ©νλΌλ!!! π€©π€© π€© κ·νλ€ κ·ν΄ π€© λ무 μ¬λ―Έμμκ² κ°μκ³ (λ΄κ° ..
λ©λͺ¨λ¦¬ μ μ½ μ΅κ΄ λ€μ΄κΈ° (Java Programming)
Java μ μΌλ°μ μΈ λ¬Έμ μ€ νλλ λμ λ©λͺ¨λ¦¬ μ¬μ©λμΌλ‘ μΈν΄ μ±λ₯, μΆ©λμ΄ λ°μν μ μλ€κ³ νλ€. μ΅μ ν λ° λ©λͺ¨λ¦¬ μ¬μ©λ κ°μλ₯Ό μν λͺ¨λ² μ¬λ‘λ₯Ό μ΄ν΄λ³΄μ 1. Primitive type(μμνμ ) μ μ¬μ©νμ. μ°Έμ‘°νμ λ³΄λ€ μμνμ μ μ¬μ©νλ€. μμνμ μ μ¬μ©νλ©΄ κ°μ²΄ μμ± μ€λ²ν€λλ₯Ό λ°©μ§νμ¬ λ©λͺ¨λ¦¬λ₯Ό μ μ½ν μ μλ€. + λν μμνμ μ μ€ν λ©λͺ¨λ¦¬ μμ λ°λ‘ μ½κ³ , μ°Έμ‘°νμ μ μ€ν λ©λͺ¨λ¦¬μμ ν λ©λͺ¨λ¦¬μ μμΉλ₯Ό ꡬν΄μ¨ λ€μμ λ€μ ν λ©λͺ¨λ¦¬μ κ°μ κ°μ μ½μ΄μμΌ ν΄μ μ±λ₯μ μ 리νλ€. 2. λΆνμν κ°μ²΄ μμ± νμ§λ§μ. String s = "μ μ μ°"+" μ λλ€"; ν΄λΉ μ½λ νμ€μ "μ μ μ° μ λλ€" μ λν μ λ¬Έμμ΄ κ°μ²΄λ₯Ό λ§λλλ€. λμ StringBuilder λ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ ..
μ€λ³΅λ κ° νμΈνκΈ°
1κ°μ 컬λΌμ λν μ€λ³΅ κ° νμΈ select u.name, count(u.name) from users u group by u.name having count(u.name) > 1; 2κ° μ΄μ 컬λΌμ λν μ€λ³΅ κ° νμΈ select u.cell_phone, u.name, count(*) from users u group by u.cell_phone, u.name having count(*) > 1;
μ΄νν°λΈ μννΈμ¨μ΄ ν μ€ν : μ¬λ‘ μ€μ¬μΌλ‘ λ°°μ°λ μ€μ μννΈμ¨μ΄ ν μ€νΈ κ°μ΄λ
λꡬ μ¬μ©λ² μ€μ¬μ΄ μλλΌ ν μ€νΈ λμ μ νμμ±, λΉμ© μΈ‘λ©΄μ μ¬λ‘μ ν¨κ» νμ΄κ°κ³ μλ€. ν μ€νΈ λꡬλ μ¬μ©λ²μ μ΅νλ©΄ λλ€. νμ§λ§ μ μ¬μ©ν΄μΌ νλμ§ μ΄λ€ μΌμ΄μ€μμ μ¬μ©ν΄μΌ νλμ§λ₯Ό κΉ¨λ¬μμΌ μ λ§ νμν ν μ€νΈ μΌμ΄μ€λ₯Ό μμ±ν μ μκ³ μ§μμ ν μ€νΈλ₯Ό μ μ§ν μ μλ€. μ¬λ―Έμ¨,,γ
μ»΄ν¨ν μ¬κ³ νκΈ°
κ°λ°μ μ΄λκ³Ό κ°λ€. λΆλͺ 곡λΆκ° λ§μ΄ νμνμ§λ§ 곡λΆλ§ λ§μ΄ νλκ² λ³΄λ€ μ€μ λ‘ ν΄λ³΄λκ²μ΄ μ’λ€. λν νλ²μ λ§μ΄ νλ€κ³ ν΄μ κΎΈμ€ν¨μ΄ μλ€λ©΄ μ€λ ₯μ΄ λ¨λ²μ λμ§ μλλ€. κ·Έλ λ€κ³ μ€μ λ‘ ν΄λ³΄λκ²λ§ νλ€λ©΄ ν¨μ¨μ μ΄μ§ λͺ»νκ³ , μ’μ§ λͺ»ν μ΅κ΄μ΄ μκΈΈ μ μλ€. κ·Έλ¬λ―λ‘ κ³΅λΆνλκ²κ³Ό μ§μ κ°λ°νλ κ²μ μ μ ν λ³ννλκ²μ΄ μ’λ€. νλ μμν¬λ₯Ό μμ΄λ€ μ λ³Έμ§μ μ΄ν΄νλκ²μ λ€λ₯΄λ€. κ°λ°μ€λ ₯μ λλ¦¬κ³ μνκΈ° μν΄μλ λꡬμ μλ ¨λμ λ³Έμ§μ λν μ΄ν΄λ₯Ό λ³νν΄μΌ νλ€. μ»΄ν¨ν μ¬κ³ νκΈ° μꡬμ¬νμ μ¬μ©μμ μꡬμ¬νμ νλ‘κ·Έλλ° μΈμ΄λ‘ μ»΄ν¨ν°μκ² μ λ¬νλ κ²μ΄λ€. λ°λΌμ μꡬμ¬νμ λ°μ΄ν°μ κ΄μ μΌλ‘ μκ°ν΄μΌλ§ μ»΄ν¨ν μ¬κ³ μ μΆλ°μ μ΄λΌκ³ ν μ μλ€. λ°μ΄ν° κ΄μ μΌλ‘ μΈμνλ κ³Όμ μ λ³΄ν΅ μ§κ΄μ μΌλ‘ μ΄ν΄νκ³ λμ΄κ°..
μ λ€λ¦ DTO
jwt ν ν° μ μΆκ°νλ λμ€ μ΄λ―Έ μ¬μ©μ€μΈ μλΉμ€κ° μ¬μ©νκ³ μλκ±Έ μΆμννλ μμ μ€μ μ λ€λ¦μ μ¬μ©ν νκΈ°μ΄λ€. μλΉμ€ λ§λ€ λ€λ₯Έ ν ν°μ μ§ μκ°, νμ΄λ‘λλ₯Ό κ°κ³ μλλ° μ€λ²λΌμ΄λ©μ μ¬μ©νμλλ° μ½λ리뷰 λ κ°μ κΈ°λ₯μ νλ©΄μ μ½κ°μ νλμΆκ°λ§ λλκ²μ΄λΌμ μ λ€λ¦μ μ¬μ©ν΄λ³΄λκ² μ΄λ»λλ νΌλλ°±μ λ°μλ€. λ¬Όλ‘ μ²μ μ¨λ³΄λκ±°λΌμ μκ°μ΄ μ€λ κ±Έλ Έλ€. μ¬λ―Έμμκ³ μ μΈκ³μλ€ (μ λλ‘ μ΄κ²λ μλμ§λ§) μλμ κ°μ΄ μ λ€λ¦ ν΄λμ€λ₯Ό μμ±νκ³ issue (ν ν°λ°ν) μ μ€ννμ λ μ λ€λ¦ νμ μΌλ‘ μμ± νμλ€ @Data @AllArgsConstructor public class TokenPayload { private T tokenPayload; public T getTokenPayload() { return ..
νλ©΄μ μνλ μλ¬λ©μμ§ λ³΄λ΄κΈ°
κ°λ¨ν κΈ°λ³Έ λ±λ‘ νμ΄μ§λΌμ λ€λ₯Έμ½λμ λκ°μ΄ νλ€κ° μ½κ° λ³νλ₯Ό μ£Όμλ€. html μμ ajaxλ‘ μλ²μκ² μμ²ν λ success μ¦ ν΅μ μ μ±κ³΅νκ³ java μμ return μΌλ‘ ok (boolean) μ λ΄λ €μ£Όλ©΄ message λ₯Ό λμ΄μ€λ€. const updateDriver = function () { if (confirm("λ±λ‘νμκ² μ΅λκΉ?")) { $.ajax({ type: "POST", url: "/create", data: $("#createForm").serialize(), dataType: 'json', success: function (r) { alert(r.message); if (r.OK) { location.href = '/list'; } }, error: function (xh..
λΈλ‘κ·Έ
μμ¦ μ·¨λ―Έκ° λ§μ΄ μκΈ΄κ² κ°λ€.(λ±μ°, μΊ ν, νν λ±..) λ€μ΄λ² λΈλ‘κ·Έλ μμμ μ°μ΄ μ¬λ¦΄κΉ μκ°μ€μΈλ° λ μμνλ €λ©΄ κ°μ‘κ³ ... ν΄μΌ νκΈ° λλ¬Έμ μκ°ν μκ°μ΄ νμνλ€. μκ°ν μκ°λμ μ½νλ¦° 곡λΆλ₯Ό μμν΄λ³΄λ €κ³ μ½νλ¦° + spring μΌλ‘ λΈλ‘κ·Έλ₯Ό λ§λ€ μκ°μ΄λ€. μ λΆ μμ°κ³ λͺ»μ°λ κΈ°μ μ μ°Ύμμ μ½μ§ν μμ . μ°μ νμ₯λμ΄ μΆμ²ν΄μ£Όμ 1. CI/CD μ μ© + ν μ€νΈ μ½λ μμ± 2. ECS μλ² (λ₯Ό μν΄ +Docker) 3. Spring Webflux νλ μμν¬ (Coroutine) 4. μΊμμλ² (redis) λΈλ‘κ·Έμμ μ¬μ©νκΈ°μ κ³Όνλ€κ³ μκ°ν μ μμ§λ§ 곡λΆμ©μΌλ‘...λͺ¨λ μ μ©ν μμ μ΄λ€ κΈ΄ μΈμμ΄ μμλλ€ ^^...
SpringBoot - kotlin νλ‘μ νΈ μΈν νκΈ°
μ½νλ¦° 곡λΆλ₯Ό μμνλ €κ³ SpringBoot - kotlin νλ‘μ νΈλ₯Ό μΈν νλ κ³Όμ μ λλ€ κ³΅μλ¬Έμ μ°Έκ³ νμλ©΄ λμμ΄ λ κ² κ°μ΅λλ€ https://spring.io/guides/tutorials/spring-boot-kotlin/ 1. νλ‘μ νΈ μμ± μμ κ°μ΄ μΈν νλλ° μ€νλ§λΆνΈ λ²μ μ΄ λ§μμ κ±Έλ Έλ€. μΈν 리μ μ΄μμ μ¬μ©κ°λ₯ν λ²μ μΌλ‘ μλ μΈν ν΄μ€κ² κ°μ§λ§ μμ¬μ€λ¬μ΄ λ§μμ 곡μννμ΄μ§μ λ€μ΄κ° νμΈνλ€. https://spring.io/projects/spring-boot#support μλλ‘ μ€ν¬λ‘€μ λ΄λ¦¬λ©΄ μκΉμ μλ―Έλ₯Ό νμΈν μ μλ€. μ°μ νΉλ³ν μ΄λ€ νλ¬κ·ΈμΈμ μ¬μ©ν μ§ μκ°ν΄λκ² μκΈ° λλ¬Έμ νλ‘μ νΈ μμ±μ μ€μ λμ΄μλ 3.0.4 λ‘ νλ‘μ νΈλ₯Ό μΈν νλ€. Incompatible beca..
12μ νκ³
μΆκ°λλκ²λ μμ ν κ²λ λ§μ λλμ§ μμκ² κ°λ νλ‘μ νΈκ° λ§λ¬΄λ¦¬λμ΄ κ°λ€. μ€κ°μ€κ° κ°μ΄ κ°λ°νλ κ°λ°μλΆμ΄ λ€λ₯Έ νλ‘μ νΈμ λμμ΄ νμν΄ νΌμ κ°λ°μ ν΄μΌ νλ κΈ°κ°μ΄ μμλ€. κΈ°κ°μμ λλ΄μ§ λͺ»ν κΉλ΄ λ무 λΆμνλ€. (κ·Έλ§νΌ λ무 μμ§νλ €κ³ νμλ€λκ±Έ κΉ¨λ¬μλ€ π) μ΄λλ―Ό νμ΄μ§μΈλ§νΌ λ³΄ν΅ API κ°λ°λ³΄λ€ ν¨μ¬ 볡μ‘νκ³ μ€λκ±Έλ Έλλ° μ€μν΄μ λ€μ μ볡νλ λΆλΆλ€λ λ§μλ€.(κΈ°νμ μΌλ‘) λ§€λμ λκ»μ μ€κ°μ€κ° νΌλλ°±κ³Ό νμΈμ ν΄μ£Όμ μ λ무 ν° λμμ΄ λμ΄μ λ€νμ΄μ§λ§(λ νΌμνμΌλ©΄ μ λ§ μ’μ νμκ² κ°λ€...) μνλ³νμ λν μ ν¨μ± κ²μ¬ νκΈ° state machine μ μλ €μ£Όμ μ κ²μνμ¬ μμ΄ν¨λλ‘ λΉμ·νκ² μμ±νλ€. μ£Όλ¬Έμνμ λ°λ₯Έ λ³νκ° λ³΅μ‘νκ² λμ΄μμ΄μ μ΄ν΄νλλ° λ§μ μκ°μ΄ κ±Έλ Έλ€. μ΄λ―Έ μ‘΄..
No property found for type ! (Querydsl)
ν λ΄ μκ°.... No property xxxx found for type xxx κΈ°μ‘΄μ μλ repository μμ μΆκ°μ μΌλ‘ querydsl μ μ¬μ©νλ €κ³ custom interface μ impl class λ₯Ό μμ±νλ€ κ³μν΄μ μ€νλ§μ΄ λΉμ λͺ»μ°Ύμμ ꡬκΈλ§ ν΄λ³΄κ³ λ©μλ μ΄λ¦λ λ°κΎΈλ©° μ¬λ¬κ°μ§ μλνλ€κ° λ€μ λΈλ‘κ·ΈκΈμ λ°κ²¬νλ€. https://www.skyer9.pe.kr/wordpress/?p=6507 QueryDSL No property λ©μλλͺ found for type μν°ν°λͺ ! β μꡬ리μ κΈ°μ λΈλ‘κ·Έ QueryDSL No property λ©μλλͺ found for type μν°ν°λͺ ! ν΄λμ€λͺ xxxRepository xxxRepositoryCustom xxxRepositoryImp..
11μ νκ³
κ°λ°μλ‘ μ·¨μ νμ¬ 2λ μ΄λΌλ μκ°μ΄ μ§λ¬λ€. μ΄λ€ νλ‘μ νΈλ₯Ό νκ³ λ νκ³ λ₯Ό μ°μ§λ λͺ»ν κ² κ°λ€. λ΄κ° λ ν μ μκ³ νλμ§ κΈ°μ΅μ΄ μλλ€... μμΌλ‘ κΎΈμ€νκ² κΈ°λ‘μ΄λ νκ³ λ₯Ό ν΄μΌ ν κ² κ°μ λ¬λ§λ€ νκ³ λ₯Ό μ°κΈ°λ‘ νλ€. κ°λ°μλ‘μμ μ±μ₯ κ°μ ν΄μΌν μ μ‘°κΈν¨: κ°λ°μ μμνμ λμ λΉκ΅νμ λ λ§μ΄ μ±μ₯νμ§λ§ μμ μΈμμλ μμ²λ μ¬λμ΄ λ무 λ§λ€ μ‘°κΈν΄νμ§ μλλ‘ λ Έλ ₯νμ ν΄μ: ν΄μν λλ μΌ μκ°μ νμ§ λ§μ λΉκ΅: μλκ° λλ¦°κ±°μ§ λ©μΆ°μλ€κ³ μκ°ν μ μ μμΌλκΉ λΉκ΅νμ§ μλλ‘ λ Έλ ₯νμ μ½μ: μΌμ μ λ§μΆκΈ°κ° λ무 μ΄λ ΅λ€ 곡λΆ: μκΎΈ νκ³λλ©΄μ μνκ² λλ€. μ§κΈ νλ κ±° λΌλ λ§λ¬΄λ¦¬ν΄λ³΄μ μνλ μ μμ§ ν¬κΈ°νμ§ μμλ€ μ¬μ€ λ΄κ° κ°λ°μ μ 리ν μ±κ²©μ μλλ€. λ Όλ¦¬μ μΈ λΆλΆμμ μ½νκ³ μ½..