[MyBatis/Oracle] Sequence를 포함한 Bulk Insert(다중 행 삽입)
·
💾 DataBase
처음에는 아래와 같은 방법으로 다중 행 삽입을 구현했었다.오라클의 INSERT ALL과 MyBatis의 foreach를 혼합 사용하여 INSERT ALL 이후의 INTO ~ VALUES를 반복하는 것이다. 이 테이블은 REPORT_MEMBER 시퀀스 값을 가져와 PK로 사용하는데,이처럼 INSERT 시 시퀀스를 사용하는 경우에는 일반적인 BULK INSERT를 사용할 수 없다.(하나의 행으로 인식하여 시퀀스를 한 번만 호출함. 무결성 오류 발생)### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: 무결성 제약 조건(INTERN_TASK.PK_REPORT_MEMBER)에 위배됩니다  ..
[Spring] 운영 환경에서의 로그 모니터링 레벨 구분
·
⚙ Framework/Spring-스프링
모든 시스템은 추적을 위해 로깅이 필요하다. 일반적으로 개발 환경에서는 DEBUG, 운영 환경에서는 INFO 레벨로 사용한다.  로그 레벨TRACE > DEBUG > INFO > WARN > ERROR > FATAL 로그 레벨 설정 시 TRACE로 설정하면 TRACE 이상 등급의 모든 로그 표시, INFO 설정 시 INFO 이상 로그가 출력된다.TRACE : 모든 레벨에 대한 로그 추적DEBUG : 개발 단계에서 사용, 주로 SQL 확인INFO : 운영에 참고될 수 있는 데이터나 애플리케이션 흐름 확인WARN : 로직 상 유효성 확인, 예상 가능한 문제로 인한 예외 처리ERROR : 예상하지 못한 심각한 문제가 발생하는 경우 로그 포맷# Logback 포맷14:18:17.635 [Name Of Threa..
[Git] cmd command로 git 이용하기
·
💬 CI · CD/Git : 깃
더보기git bash 쓰는 거 아니면 IDE에 있는 UI로 이용했었는데, discard change되고 한 번 다 날려먹어서 ... cmd로 쓰려고 정리함 Git cmdstatus : 현재 브랜치, 파일 수정사항, 커밋 건수 등 상태 확인$ git status branch : 브랜치(repository 하위 저장소) 관련# 현재 branch 리스트 조회$ git branch -a checkout : 브랜치 이동# 브랜치 이동$ git checkout [브랜치명]# 없는 브랜치명 입력 시 자동 생성$ git checkout -b [브랜치명]# JIRA 등에서 생성한 원격 Branch와 연동하려면$ git fetch origin$ git checkout -b {생성한 브랜치명} add : 변경 내용 stag..
[VSCode] Discard changes 복원 방법
·
🌐 Environment/IDE : 통합개발환경
깃 브랜치에 커밋하면서 discard changes가 눌러진 건지 3일 작업한 파일을 다 날려 먹음...눈물이 앞을 가리지만 침착하게 구글링해서 해결한 과정 기록 .... IDE 만세 나를 살려준 스택오버플로우다이 링크에 나와있는 대로 VSCode의 Local History를 복원해야 함 How do you undo "Discard all changes" in VS Code/GitI fear I already know the answer but here goes anyway.. I accidentally clicked "Discard All Changes" in VS Code (OSX) and now a month's worth of work is gone. Poof'd. Thing is, I didn'..
[VSCode] Prettier 설정
·
🌐 Environment/IDE : 통합개발환경
Prettier란?작성한 코드를 보기 좋고 일관성 있게 포매팅해주는 도구로, 줄바꿈, 들여쓰기 간격, 세미콜론/큰따옴표/작은따옴표 사용 여부 등을 설정하여 파일 저장 시마다 or 단축키 입력 시마다 형식에 맞게 보기 좋게 정렬해주는 확장 프로그램! Prettier 설정먼저 VSCode 실행 후 좌측 Extensions 탭에서 Prettier를 설치한다. 다운로드 수가 말해주는 편의성... 이후 Ctrl + , 키를 눌러 VSCode 설정 창을 연다.다음과 같이 editor: default fomatter를 검색한 뒤 None으로 되어있는 설정을 변경해야 한다. 파일 저장 시에도 자동으로 정렬이 되도록 editor: format on save mode를 검색한 뒤 추가로 설정해 준다. Prettier 설정..
[VSCode] Vue.js 개발을 위한 플러그인
·
🌐 Environment/IDE : 통합개발환경
VSCode의 많은 확장 플러그인 중 Vue.js 개발을 돕는 플러그인 추천 목록! VSCode Vue.js 플러그인Indent-Rainbow : Tab 영역을 색상별로 다르게 표시하여 라인이 길어도 가독성을 높여 줌Auto Rename Tag : HTML 태그 이름을 변경하면 쌍을 이루는 여는/닫는 태그명을 실시간으로 함께 수정CSS Peek : HTML 문서에서 정의된 CSS를 빠르게 찾을 수 있도록 도움 (Ctrl + 클릭)HTMl to CSS autocompletion : HTML 문서에 선언된 클래스명을 .css 파일에서 입력할 때 자동완성 기능 제공HTML CSS Support : HTML 문서에서 CSS 자동 완성 이용Tailwind CSS IntelliSense : Tailwind CSS ..
[MyBatis] Oracle 시퀀스 생성 방법 (useGeneratedKeys)
·
💾 DataBase
MyBatis에서는 일반적으로 useGeneratedKeys를 이용하여 데이터베이스의 기본 키(PK)를 자동으로 생성할 수 있다. 하지만 Oracle의 경우 useGeneratedKeys 시퀀스를 이용해 기본 키를 생성할 수 없어 SELECT를 통해 시퀀스를 직접 호출해야 한다. 기존 코드 : useGeneratedKeys 사용 INSERT INTO INTERN_TASK.REPORT ("service_code", "name", "recognition_date", "occurrence_date", "impact_date", "restore_date", "impact_system", "impact_url", "situation..
[Vue.js] 설치 및 시작하기
·
⚙ Framework/Vue-뷰
Frontend 프레임워크로 Vue.js를 선정하고, 설치부터 시작하는 과정까지를 기록한다.Vue.js 버전 : 3.5.13 (최신 안정 릴리즈) VS Code 설치터미널을 사용해야 하고, 비교적 가볍게 운영 가능한 IDE로 VS Code를 선택. Extension을 이용하면 더 편하기도 하고? Visual Studio Code - Code Editing. RedefinedVisual Studio Code redefines AI-powered coding with GitHub Copilot for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite p..