본문 바로가기

Stack25

Integer.bitCount() 메서드 int a = Integer.bitCount(n); int compare = n+1; while(true) { if(Integer.bitCount(compare)==a) break; compare++; } return compare; Integer.bitCount() 메서드는 파라미터에 int 형 정수가 들어갔을때 정수의 이진수 ex) 13=1101 에서 1의 개수인 3을 리턴하게된다 위의 코드는 a보다 큰 상수 compare 중에서 a의 이진수와 1의 개수가같은 가장작은 compare 정수를 리턴하는 매서드이다 2023. 1. 5.
ext.js 기초 기본 프로젝트 실행 명령어 D:\study\extjs>sencha -sdk C:\Users\User\Desktop\ext-7.0.0-gpl\ext-7.0.0 generate app Study ./ sencha cmd 의 기능 자바 컴파일러, 톰켓같은 WAS 기능이 들어있는 커맨드 툴 sencha cmd 의 기본포트는 1841 자바 8080 Extjs 의 메세지툴 Ext.Msg.alert("타이틀","바디"); 해당명령어의 파라미터 기준으로 string을 입력하여 값을 할당한다 폼필드에서 "radiofield" 생성시 name을 같이 맞춰줘야 묶어줄수있다 2022. 10. 11.
N+1 문제 해결로 쿼리 성능 개선하기 jmeter 테스트 표본 위사진처럼 연관관계가 있는 테이블을 이렇게 조회를 했을때 사용하지는 않지만 연관관계가 있는 테이블을 모두 조회하게 되므로 비교적 지연이 걸리게된다 적용 이전의 지연시간이었다 일단 @Many to One/ @One To Many 연관관계 테이블에서의 어노테이션에 Fetch Type 을 Lazy로 잡아준다 Fetch.lazy 는 지연로딩이라는 의미이다 이렇게 실행을 하게되면 Post 조회시 User에 대한 메소드가 필요가 없어서 하이버네이트가 join 또한 하지 않고, post에 대한 select 쿼리문만 날린 것을 볼 수 있다! Fetch Join 사용 batch.fetch 사용 개선결과 추후 작성예정 2022. 8. 11.
JPA 특정 엔티티 삭제시 연관된 엔티티도 함께 삭제하기 프로젝트에서 하나의 엔티티를 삭제했을 때 이 엔티티와 연관된 다른 엔티티는 어떻게 될까?? 정답은 그 엔티티의 외래 키로 연결된 엔티티에서는 부모 엔티티가 없기 때문에 데이터베이스에서 외래 키 무결성 예외가 발생한다. 예를 들어 User 엔티티와 Article 엔티티가 있다고 보자. User와 Article는 일대다의 관계를 가진다. User 하나에 여러 개의 Article가 있는 셈이다. 여기서 만약 User를 삭제한다면 삭제한 User에 연결된 Article에서는 에러가 발생하는 것이다. 다시 말해 연관관계가 끊어졌다고 할 수 있다. 이러한 상황에서 User와 연관관계가 끊어진 Article를 고아 객체라고 한다. 그렇기에 부모 엔티티를 삭제할 때는 연관된 자식 엔티티를 모두 삭제한 후에 부모 엔티티.. 2022. 7. 12.
(CI/CD) Codedeploy 배포 GitAction 에 GitIgnore 파일 적용하는법 GitHub 작업에서 application.properties 같은 데이터 베이스 개인정보가 포함된 부분은 .gitignore 처리를해서 정보가 깃으로 노출되지않게 처리하게된다 문제는 GitAction 을 사용하는 CiCd 배포중에 . Gitignore 로 지정된 파일은 로드 하지 못한다는 문제점이있다. 이럴때 workflow / ~~.yml 파일에 shell : bash 를 적용해놓고 Git Repository 의 setting 시크릿 부분에 시크릿 변수를 지정해줘서 다음과 같은 부분을 처리해주면 된다 key 값은 위와 같을 경우에는 PROPERTIES 로 지정 value 값은 properties 의 코드 내용을 그대로 넣어주면된다 이렇게 해두면 gitignore 내용을 넣지 않고 해당 코드를 같이 빌.. 2022. 7. 12.
SQL 관계 데이터 베이스 삭제 시 참조키 관련 주의 사항 데이터 테이블에 다음과 같이 pk 값을 참조하고 있는 참조 키들이 다음 엔티티 처럼 엮여있을때 여기서 DB에 저장된Post 객체를 삭제하게 되면 해당 Post 객체의 참조키를 가지고있는 Hashtag 테이블, image 테이블, Comment 테이블 이 참조할 Pk 값이 없어지게된다. 해당 SQL 명령어가 실행됬을때 에러가 뜨면서 작동이 되지않게된다 해결방안으로 다음과 같이 Post를 참조하고있는 hashtag 와 image 를 먼저 지워준 모습이다. (comment 는 아직 적용하지 않아서 추가하지않았다.. 차후 적용할예정) 2022. 7. 12.