Home
SoThoughtful;
Cancel

ROR 사용시 혼동되는거 정리

<% > 와 <%= > 차이 ERB 뷰작업을 하다보면 mybatis 처럼 동적쿼리를 실행하기 위해서, 즉 상황에 따른 데이터값을 보여주기 위해서 <% >, 와 <%= >를 사용하게 된다. <% >는 출력을 안하고 제어흐름을 관리하는데 사용된다. <%= >는 변수의 값을 문자열로 출력하기...

cluster-index와 uncluster-index

Cluster 란? Clustered Index는 단어뜻을 생각해보면 군집화된 인덱스이다. 즉 실제 데이터가 인덱스와 군집되어있다는 뜻이다. 클러스터링 인덱스와 넌 클러스터링 인덱스는 두 인덱스 모두 데이터베이스에서 데이터의 접근 속도를 높이기 위해 사용한다. 위 처럼 데이터가 들어오는데로 삽입된 상황의 테이블 구조가 있다고 가정해보자. 위 ...

SSE Spring에서 구현하기 A to Z

SSE란? SSE(Server-Sent Events)는 웹 애플리케이션에서 서버로부터 데이터를 비동기적으로 전송받을 수 있는 기술 중 하나이다. 클라이언트의 별도의 요청이 없이도 알림처럼 실시간으로 서버에서 데이터를 전달해야할때가 있다. 이럴때 단방향으로 통신을 지원하며 서버로 데이터를 보낼수없다는 단점이 있지만, 실시간 업데이트가 필요할때는 효율적...

Redis Cache Spring boot에서 사용하기

캐시란? 동일하면서 반복적인데 연산까지 오래걸리는 것을 미리 저장해서 다시 같은 요청이 왔을때 빠르게 응답하는 것이다. 자주 참조되고 변경 사항이 적고 동일한 입력에 대해 동일한 응답이 보장된 데이터를 캐싱처리하는게 좋다. 아래의 그림을 봐도 정말 다양하게 캐시를 처리하는 구간이 많다는걸 알 수 있다. 로컬캐싱 글로벌 캐싱이란? 로컬 캐싱은...

Jenkins 를 활용해서 도커 이미지 배포 및 실행

Final Goal 젠킨스를 활용하여 CI/CD를 구축하는 것이다. HTTPS에 공개키 비밀키 통신을 원리를 아는사람은 이 플로우가 이해될 것이다. 젠킨스 EC2 : Jenkins, DockerHub, JDK 11, Gradle 7.6.1(젠킨스에서 제공), Docker를 설치. 배포 EC2 : JDK 11, Docker (각자의 스팩에 ...

Nginx의 역할과 설정

NGINX란 무엇인가? Nginx는 오픈소스이고 웹 서버와 리버스 프록시 SW이다. 아파치와 마찬가지로 HTTP 요청을 처리하고 다른서버로의 요청을 전달한다. 아파치에 비해 기능은 적지만 경량화 되어있어 EC2 프리티어에서 잘돌아가도록 사용할 수 있다. 즉, 고성능과 높은 안정성을 제공한다. 리버스 프록시란? 서버 앞단에서 문지기와 같은 존재...

Spring용어,웹서버 그리고 Spring MVC

설명하고자하면 늘 잘 안나왔던 이야기를 정리해보고자 한다. BeanFactory, ApplicationContext BeanFactory는 빈을 생성하고 의존관계를 설정하는 기능을 담당하는 가장 기본적인 IoC 컨테이너이자 클래스를 말한다. ApplicationContext는 BeanFactory의 확장된 버전으로써 별도의 정보를 참고해서 빈의 ...

Basic Confusing Questions Ⅲ 🤷‍♂️

Servlet과 Spring의 차이 서블릿은 http의 요청이나 응답을 받아 처리하는 기본 클래스입니다. 하나의 요청이왔을때 응답을 주는 구조로 설계된 구조입니다. 하지만 이는 요청마다 서블릿을 정의해야하는 단점이 있었고 그래서 나온개념이 디스패처 서블릿입니다. spring은… 정규화의 장·단점 정규화란? DB...

Index... 랜덤 Io, 순차 IO

인덱스 인덱스를 왜쓸까? 인덱스는 조회성능 개선 - 디스크 I/O를 줄이는게 핵심이다. 테이블의 특정 데이터를 생성한다면, 해당 컬럼의 데이터를 정렬 후, 별도의 메모리 공간에 데이터의 물리적 주소를 Key, Value 형태로 저장한다. 많은 쿼리들의 대부분의 요청은 GET요청 방식이다. 수정 삭제에서 손해를 보더라도 검색속도와 시스템의 부하가...

OS - Memory

OS 정리 운영체제의 역할 CPU 스케줄링과 프로세스 관리 (CPU 소유권을 얼마만큼 할장할지, 프로세스의 생성과 삭제 할당을 관리, 반환함.) 메모리 관리 (한정된 메모리를 어떤 프로세스가 관리할지 할당) 디스크 파일 관리 I/O 디바이스 관리 (키보드 마우스의 데이터 주고받음) 이렇게 크게 4가지가있다. 하드웨어와 USER 프...