본문 바로가기

728x90

TIL, WIL

(68)
05.16 TIL : JNDI, Wildfly, JBOSS 1. JNDI참고한 글 :https://velog.io/@zzjs11/JNDI%EB%9E%80 JNDI란(With JDBC, DBCP)현재 투입한 프로젝트에선 DB연결을 JNDI 관리하고있다. JNDI 이름은 들어봤는데 정확히 무엇을 의미하는 것인지 몰라서 이번 기회에 내용을 정리해보고자 한다.JNDI에 대해 찾다보면 DBCP에 대한 설velog.ioWAS에서 DB 커넥션을 미리 네이밍하는 방식을 의미한다. 커넥션이란, 일반적으로 트랜잭션 하나를 처리하기 위한 객체로, 이를 미리 생성해서 관리하는 방식은 커넥션 풀이다.이 커넥션 풀을 관리할 때 JDBC를 기반으로 한 것이 DBCP이며, JNDI는 DBCP를 호출해 커넥션 풀의 커넥션를 쉽게 얻을 수 있다(DataSource 객체를 활용하면 보다 쉽게 이..
05. 07 TIL : 사이드 프로젝트 도메인 리스트 업 유저/기타 AdminUsers: 어드민 유저 정보 AuditLogs: 어드민 로깅 Users: 프로필에 들어가는 정보 (Auths): 로그인에 필요한 정보(카카오, 애플에서 제공하는 데이터) Notices: 공지사항 Reports: 신고 벚꽃 명소 (함께)Posts: 벚꽃 명소Footprins: 방문 인증Bookmarks: 즐겨찾기Likes: 댓글 좋아요Reviews: 댓글PostImages: 벚꽃 명소 이미지ReviewImages: 리뷰 이미지
04. 24. TIL : Decode(), With(), 데이터베이스 인덱스 1. Decode()- decode 함수는 CASE-WHEN 구문의 역할과 같이 if else 구문으로 활용할 수 있는 쿼리문이다(표준 SQL은 CASE)- 마지막 else는 비어있어도 상관없다. Null로 표시됨- NVL2와 같이 Null 체크 가능- Decode 함수 내부에 또 다른 Decode 함수 사용가능2. With()참고 : https://heodolf.tistory.com/71: 처음 보는 구문으로, 학습이 더 필요하다- 이름을 가진 SubQuery, 가독성을 높힐 수 있고, 재사용할 수 있다- 계층형 쿼리를 구현할 수 있다 기본 구조ex)WITH PR_ORDER AS (         SELECT         ROW_NUMBER() OVER(ORDER BY A.REG_DT) as PR_N..
4월 마지막 주 : 사이드 프로젝트 개발 스택 GitHub Organization도커를 사용해서 프론트에서 테스트 할 수 있도록 : 성재배포를 어떻게 할지 (인프라)AWS : 프리티어가 없어 비용 지불해야함GCP : 러닝커브가 있다백엔드 개발JAVA, KOTLINDBMYSQL vs PostgreSQL 유현지도 API 규격에 맞는 DB 구성RDS, EC2, superbase식?사용량이 적다면 굳이 RDS를 택해?JWT(인증) vs REDIS : 성재Session/Cookie - RedisJWT - 복호화 JWT Java Library 지원CI/CDCI: Jenkins, GitHub, CodebuildCD: Manual(script), Codedeploy, JenkinsSwagger : 테스트 코드 작성 시 실제 클래스를 활용한 테스트 코드 작성을 위해..
03. 07 TIL HTML : FORM을 중첩해서 사용하면 안됨 및 대안 탐색 중첩된 form은 값을 읽을 수 없다 대안 : XMLHttpRequest로 요청을 보내는데 동기로 요청을 보내면 기존의 페이지가 유지된 상태에서 요청을 보낼 수가 있다. 일반적인 방식은 아니겠지만, 현재 적용할 수 있는 최선으로 판단된다
02. 25 TIL : 코드리뷰 with 깃헙액션 글 읽기, 쿼리 튜닝 실무 https://toss.tech/article/25431?ref=codenary GitHub Actions로 개선하는 코드 리뷰 문화 자동화를 통해 코드 리뷰 문화를 개선하고 편의를 높였던 경험을 공유해요. toss.tech 2. 쿼리 작성 실무 및 쿼리튜닝에 대한 경험 - 기존에 작성해본 쿼리 속도 : 500ms, 200개 row * 튜닝포인트 1) where 조건절 중 부서 검색시 부서의 이름으로 검색 -> 부서 아이디로 검색 : 인덱스가 걸려있는 부서 아이디 ~ 200ms 개선 2) 검색 조건에 인덱스 컬럼을 추가할 경우, 검색 결과는 같은데 쿼리 속도가 빨라진다 ~ 70ms 개선 3) 필요한 정보가 있는 다른 테이블을 left 조인으로 가져오고 있었으나, 필요한 컬럼만 가져오면 되기 때문에 서브쿼..
01. 30 TIL : @ConstructorBinding https://www.zodaland.com/tip/64 ZODALAND 새 프로젝트를 진행하며 설정 값 적용을 위해 Properties 클래스를 작성 중 이전 프로젝트와 마찬가지로 @ConstructorBinding 어노테이션을 적용 했는데 오류가 발생했다. 똑같은 방식으로 적용했는데도 www.zodaland.com 스프링 부트 3 이후부터는 @ConstrutorBinding 어노테이션을 사용할 필요가 없다.
01. 04 TIL : 커스텀 MVC 프레임워크 만들기 실습 - 어노테이션 기반 MVC 프레임워크 ~ DispatcherServlet ~ AnnotationHandlerMapping (+그림에서 HandlerMapping과 동일) ~ HandlerAdapter ~ ViewResolver 새로운 요청 URL을 만들때 1) 컨트롤러 생성 2) RequestMappingHandlerMapping에서 핸들러를 Mapping 하기 위해 해당 컨트롤러 객체 생성 및 mapping map에서 url을 통해 해당 컨트롤러를 찾는 findHandler() 메서드 호출 * 주의할 점 : 하나의 컨트롤러는 mapper에서 하나의 주소를 할당받아야 한다(url이 중복되면 안된다)

728x90