2021-03-13-TIL

비트 연산자는 임베디드 프로그래밍 할 때만 사용

삼항연산자는 if-else와 차이가 없다.

instanceof를 사용하는 실제 케이스가 궁금하다. - 새리 -

<<< 연산자를 사용하는 경우가 있는가?

switch 문이 아니라 연산자임에 주의!!!

클래스를 메시지로 컨버팅한다. 직렬화는 클래스자체를 보낸다. 그것을 기준으로 변수나 메서드를 바꿀 수 있으므로 조심해야한다. 직렬화에 while을 때려박으면 마비시킬 수 있다.

instanceof는 안티패턴이라고 한다. 런타임에 무언가를 하는게 좋지않다고 한다. 컴파일타임이 아니라 런타임 상에서 처리하는 부분이기 떄문에 좋지않을 수 있다.

findAll()은 IteratorList로 받아도 다 된다. 추상화를 사용하느 것이 바람ㅂ직하다

변수명을 다르게 사용하여 구분하거나 Integer를 사용하여 참조 타입으로 원본을 변경시키거나!!!

알고리즘을 풀 때 제한값을 봐야됨. x에 들어갈 수 있는 값이 1 ~ 20 억이아? -> 무조건 수학공식이 있다.

-> 0~10까지 하면서 규칙을 찾고 규칙으로 소거하면서 실행하도록 작성해야한다.

애노테이션 주석을 달면 IDE에서 보여준다. 자바독은

#DEFINE을 do~while문으로 묶어주는 경우 쓴적이 있다.

조건식에서 == 연산은 float, double에서 위험할 수 있다.

modCount

Concurrent는 lock을 사용하지 않아서 더 빠르다.

동기화 수준이 다르면 add/remove


https://medium.com/the-resonant-web/spring-boot-2-0-project-structure-and-best-practices-part-2-7137bdcba7d3

  1. 회원 정보 수정이 안 되는데 확인부탁해요
    • 아래 조건대로 작동하는지도 확인해주세요~
    • 비밀번호, 이름, 이메일만 수정할 수 있으며, 사용자 아이디는 수정할 수 없다.
    • 비밀번호가 일치하는 경우에만 수정 가능하다.
  2. Controller와 Service 에 있는 필드에 final을 붙여주세요.
  3. DTO에 대해 공부해보세요
    • https://www.baeldung.com/entity-to-and-from-dto-for-a-java-spring-application
    • https://medium.com/the-resonant-web/spring-boot-2-0-project-structure-and-best-practices-part-2-7137bdcba7d3
    • https://www.baeldung.com/spring-dynamic-dto-validation
    • https://medium.com/msolo021015/dto-data-transfer-object-%EC%97%90-%EB%8C%80%ED%95%B4-fbbd8b472c2b
    • https://dbbymoon.tistory.com/4
    • https://auth0.com/blog/automatically-mapping-dto-to-entity-on-spring-boot-apis/
  • 여기는 CrudRepository를 사용하셨네요? UserRepository와 다르게 사용하신 이유가 있나요?
    • https://stackoverflow.com/questions/14014086/what-is-difference-between-crudrepository-and-jparepository-interfaces-in-spring
  • GeneratedValue의 strategy 디폴트 값은 무엇이고 어떤걸 사용하면 좋을지도 공부해보세요~
    • 기본값은 GenerationType.AUTO이며 Generation.IDENTITY와는 비슷하지만 유일한 차이점은 별도의 identity generator가 타입 계층별로 관리되므로 생성된 값은 타입 계층별로 고유하다는 것입니다.
    • GenerationType.AUTO를 사용할 경우 save() 수행시 insert 쿼리 전에 select, update 쿼리가 사용되는데 이 때 별도의 트랜잭션을 사용하여 추가적인 Connection을 사용하게 된다고 합니다. 이 경우 트랜잭션 끝나기 전까지 Connection이 반납되지 않기 때문에, 동시에 접근할 경우 DeadLock이 발생할 수 있습니다.
    • 이 정도만 학습했고, IDENTITY를 사용하도록 변경했습니다!
    • https://www.objectdb.com/java/jpa/entity/generated
    • https://lion-king.tistory.com/entry/JPA-JPA-Id-GenerationTypeAUTO-IDENTITY
    • https://www.baeldung.com/hibernate-identifiers