1. 인덱스란 무엇인가?테이블의 특정 컬럼에 대한 검색용 색인 역할을 하는 별도의 자료구조일반적으로 B-Tree(또는 해시), B+Tree를 사용하여 키 값을 정렬된 상태로 관리리프 노드에는 (키 값, ROWID 또는 포인터) 쌍이 저장되어 있어 원하는 행으로 곧바로 접근 가능2. 인덱스 생성 시 내부 변화인덱스 세그먼트(index segment) 추가테이블 데이터와 별도로 저장 공간이 할당된다.B-Tree 구조 구성루트 → 분기(branch) → 리프(leaf) 노드로 이루어진 트리가 만들어지고,리프 노드에 (키, ROWID) 쌍이 정렬된 상태로 보관된다.시스템 카탈로그 갱신어떤 테이블의 어떤 컬럼을 인덱스로 사용할지 메타데이터에 기록된다. 3. B+Tree란 무엇인가?B-Tree 계열의 변형으로, 대..
정말 순식간에 지나간 3개월이였다.일단 결론 먼저 말하겠다.커널 360 할까요? 말까요?하세요. (대신 겁나 열심히 하세요.) 일단 하기 전 나의 상태더보기경기권 대학교 4학년 졸업 유예(정보보호학과)군대 정보보호병(전문특기병)프로젝트 경험 : 4번 (이긴 한데 스프링 제대로 안써봄)인턴 : 1번(백엔드아님, 보안 회사)요정도?일단 부트캠프 하기 전 했던 생각은이대로 Spring 쓰는 회사 가면 진짜 클나겠다.싶었다.그냥 간단히 MVC 패턴 뭔지 알고간단한 스프링 게시판만 만들어본 정도? 그렇게 약간의 무서움을 가지고 부트캠프를 시작했다.수료하고 난 지금 알게된 것들을 다 적어보자면 Entity,dto,swagger,redis,docker,jenkinsN+1,hibernate,jpa,builder,set..
2주간 최종 발표를 준비하며 정신 없이 지냈다.하고싶은 건 많은데 정말 시간이 부족하다. 부트캠프가 1달만 더 길었다면... 어땠을까.. 동시성 이슈 최종 발표를 준비하며 트러블슈팅으로 어떤것을 발표할까 고민하던 중부하테스트, 동시성 이슈에 대해 다뤄보고 싶다는 생각을 했다.사실 부하테스트를 해보고 싶었는데유의미한 결과를 낼 만큼 환경 구성하기엔 시간이 부족했다.그래서 동시성 이슈로 트러블 슈팅을 준비했다. Company Entity에 대해서 동시에 수정 요청이 들어올때기존 방식은 무조건 후속 요청이 반영되는 구조였다.먼저 요청을 보낸 사람은 수정 요청이 성공했다는 응답을 받았음에도자신의 요청이 제대로 반영되지 않은 결과를 받게되는 구조였던 것이다.그래서 Company Entity에 version 필드를..
docker run -d \ --name influxdb \ --network loca-net \ -p 8086:8086 \ influxdb:1.8docker run -d \ --name grafana \ --network vivim-net \ -p 3000:3000 \ grafana/grafana:latest해당서버 주소:3000 으로 접속하면 아래와 같은 로그인 창이 나온다admin/ admin 으로 로그인한다 그후import http from 'k6/http';import { sleep, check } from 'k6';export let options = { vus: 20, // 동시 가상 사용자 수 duration: '3m', // 테스트 ..
바쁘다 바빠! 커널 360 다다음 기수부터는 프론트 과정도 뽑는거 같다..우리 기수를 보고 백엔드 애들한테 프론트 시키면 안되겠다고 느낀걸까??! 자기 반성이슈테스트까지 1일 남았는데 생각보다 많은 기능들이 구현이 안되어있었다.딩연히 구현이 다 되어있는 줄 알았는데 제대로 안된 부분이 엄청 많았다.팀장으로서 잘 체크 했어야 했는데.. 후..자책을 좀 많이 한 화요일이였다.. 이슈 테스트이번주에는 내부 이슈테스트 + 외부 이슈 테스트가 있었다.근데 확실히 이슈테스트든 QA든 테스트가 필요하다생각치도 못한 곳에서 여러 오류가 발생한다 정말..몇몇 분들이 정말 꼼꼼하게 봐주셔서 되게 감사했다.근데 대부분의 오류는 프론트에서 발생한다.아놔;;프론트는 하기 싫은데;;기술 세미나기술 세미나 발표도 있었다.생각보다 ..
일단 소나큐브 컨테이너를 설치한다.docker run -d --name sonarqube \ -p 9000:9000 \ -e SONAR_WEB_JAVAOPTS="-Xms256m -Xmx512m" \ -e SONAR_CE_JAVAOPTS="-Xms256m -Xmx512m" \ -e SONAR_SEARCH_JAVAOPTS="-Xms512m -Xmx512m" \ sonarqube:lts해당 서버 ip:9000 으로 접속하면 아래와 같은 로그인 화면이 보인다.(보안 정책 추가 까먹지 말자) 기본 ID, PW : admin 이다. my Account 에 들어가서 토큰을 생성해준다. 젠킨스에 해당 플러그인을 설치해준다아마 설치 시에는 SonarQube Scanner 라고만 뜰거다. Jenjins 설정 T..