Servlet과 Spring의 차이 서블릿은 http의 요청이나 응답을 받아 처리하는 기본 클래스입니다. 하나의 요청이왔을때 응답을 주는 구조로 설계된 구조입니다. 하지만 이는 요청마다 서블릿을 정의해야하는 단점이 있었고 그래서 나온개념이 디스패처 서블릿입니다. spring은… 정규화의 장·단점 정규화란? DB...
Index... 랜덤 Io, 순차 IO
인덱스 인덱스를 왜쓸까? 인덱스는 조회성능 개선 - 디스크 I/O를 줄이는게 핵심이다. 테이블의 특정 데이터를 생성한다면, 해당 컬럼의 데이터를 정렬 후, 별도의 메모리 공간에 데이터의 물리적 주소를 Key, Value 형태로 저장한다. 많은 쿼리들의 대부분의 요청은 GET요청 방식이다. 수정 삭제에서 손해를 보더라도 검색속도와 시스템의 부하가...
OS - Memory
OS 정리 운영체제의 역할 CPU 스케줄링과 프로세스 관리 (CPU 소유권을 얼마만큼 할장할지, 프로세스의 생성과 삭제 할당을 관리, 반환함.) 메모리 관리 (한정된 메모리를 어떤 프로세스가 관리할지 할당) 디스크 파일 관리 I/O 디바이스 관리 (키보드 마우스의 데이터 주고받음) 이렇게 크게 4가지가있다. 하드웨어와 USER 프...
Inno DB
Inno DB란? MySQL architecture Transaction-safe 한 기본 MySQL Storage Engine이다. 높은 안정성과 고성능을 가지고 균형을 이룬 범용 스토리지 엔진이다. CREATE TABLE문을 실행하면 자동으로 InnoDB 테이블 생성된다. ※ MyISAM와의 차이점: InnoDB와 다르게 t...
삼성 SW 역량평가 기출문제 - 피자배달거리
클릭하면 그림이 커집니다. 역시 삼성문제답게 한번더 꼬아 냈다. 마지막에 조합부분을 반대로 생각해서 정리할겸 풀이를 올린다. public class Main { static int answer = Integer.MAX_VALUE; // 추후 최소값을 비교해서 저장해야하므로 넣은 static int[] combo; ...
Spring boot 3.0.0과 Spring Framework 6.x
GPT…아직은… 시작하기에 앞서 요즘 ChatGPT의 기능에 감동하는 중이다.아직은 완벽하진 않지만 어느정도 포인트를 잡아서 얘기한다.좀 쉬운 말은 확실히 잘 답변한다. 데이터가 더 쌓이고 경험이 쌓인다면 훨씬 좋아질꺼같다.그리고 클라우드 서비스를 쓴다면 WebFlux와 3.0.0은 선택이 아닌 필수다. 본론으로 돌아가서… 2022 11월 24...
Isolation Level + Inno DB Lock
선착순 이벤트를 한다? 100명까지 위와 같은 이벤트를 진행한다고 가정했을 떄, 99번째때 참가자가 0.01초까지 같다고 가정했을 때, 누구를 선택할것인가? 필자같은 경우는 wiselife 프로젝트에서 챌린지 인증시각이 10:00시~ 10:10분까지인데 10:09:59 인 사람이 인증을 했을 때, 서버 응답시간으로 인해 인증을 못한다면? 서비스 센터...
Java 8-17 정리
자바 8…30년까지? 이번 프로젝트를 하면서 자바 11을 VAR특성과 LTS(Long Term Support)이길래 사용해보았다…그런데 Oracle 사에서 Java8을 사용한 레거시 프로젝트들이 너무 많음을 고려하여 Java8이 Java11,Java17 보다 더 긴 지원기간을 갖게되었다. 🤷♂️ 자바 8이 2030년까지 지원한다는 소리를 듣고 이 ...
Marvin 라이브러리를 활용한 S3에 리사이징된 이미지 업로드
이미지 리사이징을 하게 된 계기 S3 프리티어 저장공간의 수용량이 90%가 넘으면서 이미지에 대한 용량관리를 해야할 필요성을 느꼈다. 초고화질 이미지가 우리의 서비스에서는 굳이 원본상태로 보일 필요성을 못느꼈다. 400px*300px 정도의 이미지면 충분한 서비스에 배경화면 2450x1440 사이즈를 그대로 저장할 필요가 없었다. #1 해결과정 ...
Algorithm just for memo
결정알고리즘 결정 알고리즘의 핵심은 lp 처음 시작점과 rp 끝지점의 설정 while문안에서 lp와 rp가 만나서 lp와 rp의 이동을 어찌할지에 따라 달렸다. 비교 시, 메서드를 하나 추가해 검증로직을 짜는 식으로 구현한다. public class Main{ private static void solution(int horse, int h...