전체 글

output of develop
DevOps

[REDIS] redis 기초 개념

1. Redis란? Remote Dictionary Server(redis)는 오픈소스 기반의 비관계형 데이터베이스 관리 시스템으로 모든 데이터를 메모리에 저장하고 조회하는 키-값 기반의 NoSQL 인메모리 데이터 저장소 입니다. [캐시] 캐시란 한 번 읽어온 데이터를 임의의 공간에 저장하여 다음에 읽을 때도 빠르게 결과값을 받을 수 있도록 도와주는 공간입니다. DB에서 한 번 불러온 데이터는 캐시에 저장 되어 다음에도 똑같은 데이터 요청이 있다면 캐시에서 반환하는 과정입니다. 1. 클라이언트는 서버에서 데이터 요청을 보냄 2. 서버는 캐시에 데이터가 있으면 캐시에서 가져옴 3. 캐시에 데이터가 없다면 DB에서 데이터를 가져옴 4. 가져온 데이터를 캐시에 저장하고 클라이언트에게 데이터 반환 [인메모리 D..

SERVER/.NET

[C#] ?, ?? 연산자

🤔 ?, ?? 연산자란? C# 코드를 보면 물음표 문자가 변수 뒤, 메서드 뒤에 한 개 또는 여러 개씩 붙어 있는 경우가 있습니다. int? max = list?.Max; int min = list?.Min ?? 0; C#에서 ?를 사용하는 방식은 총 1개의 형식과 2개의 연산자가 존재합니다. - nullable 형식 - ? 연산자 - ?? 연산자 하나씩 알아보도록 하겠습니다. 👀 nullable 형식 C# 2.0에 추가된 nullable 형식은 System.Nullable 구조체입니다. 즉, 값 형식에 대해 null 표현이 가능하게 하는 역할을 합니다. [예제1 - Nullable 사용] Nullable _getMarried; public NullAble GetMarrid { get {return _g..

FRONT/JavaScript

[JS] Cropper.js 사용기

1. 오픈소스 소프트웨어(Open Source Software, OSS) 공개적으로 액세스할 수 있게 설계되어 누구나 자유롭게 확인, 수정, 배포할 수 있는 코드입니다. [오픈소스 장점] 1. 비용 절감 2. 빠르고 유연한 개발 3. 신뢰성(검증된 기관에서 발행 시 !!) 4. 변경의 자유로움 (오픈소스가 유료화 되어도 자체적으로 변경하여 자산화 시 오픈소스 계속 이용 가능) 2. Cropper.js 오픈소스 소개 - 공식 홈페이지 - Cropper.js - GitHub 주소 - GitHub - fengyuanchen/cropperjs: JavaScript image cropper. - JavaScript의 Container와 Canvas 기능을 활용한 오픈소스로 Canvas 안 이미지를 자유롭게 편집하..

Interview

[면접질문] 기술 면접 질문 모음 - 1

1. 캐시와 버퍼의 차이점 두 기술은 모두 속도에 차이가 있는 두 장치 사이에서 그 차이를 완화하기 위해 사용하는 기술입니다. 캐시는 처리속도를 최대한 올리기 위한 기술로 주로 빠른 속도의 장치를 보조합니다. 버퍼는 처리속도가 최대한 떨어지는 것을 방지하는 기술로 주로 느린 속도의 장치를 보호합니다. 캐시는 속도를 더 빠르게, 버퍼는 속도가 더 느려지지 않도록 보조하는 역할을 합니다. 2. 스택을 스레드마다 독립적으로 할당하는 이유 스택은 함수 호출 시 전달되는 인자, 복귀 주소값 및 함수 내 변수 등을 저장하기 위해 사용되는 메모리 공간입니다. 스택을 독립적으로 할당하는 이유는 독립적인 함수 호출이 가능케 하여 독립적인 실행 흐름을 위해서 입니다. 스레드의 정의에 따라서 독립적인 실행 흐름을 추가하기 ..

DevOps/IIS

[IIS] MIME에 대하여...

문제상황 IIS 서버를 이용해 개발하다보니 특정 파일 업로드 시에 서버가 파일을 받지 못하는 상황이 발생 했습니다. 문제는 바로 MIME 문제였습니다.🔨 MIME이란? Multipurpose Internet Mail Extensions의 약자로 클라이언트에게 전송된 문서의 다양성을 알려주기 위한 메커니즘입니다. - MDN 기본적으로 E-mail(전자우편) 전송 프로토콜인 SMTP는 7비트 ASCII 문자만을 지원합니다. 그러나 ASCII 문자는 영어밖에 표현할 수 없기에 영어 이외의 언어로 쓰인 E-mail은 제대로 전송될 수 없었습니다. 이를 위해 탄생한 것이 MIME입니다. MIME은 ASCII가 아닌 문자 인코딩을 이용해 영어가 아닌 다른 언어로 된 E-mail 또는 그림 등을 보낼 수 있는 방식을..

SERVER/DB

[MSSQL] 게시판 paging를 처리하는 방법 3가지

1. paging에 필요한 필수 조건 1. 한 페이지에 출력될 게시물 수 2. 한 화면에 출력된 페이지 수 3. 현재 페이지 번호 게시판 페이징을 위해선 이렇게 세 조건이 필요합니다. 2. paging를 처리하는 방법 3가지 - ROW_NUMBER() OVER() - TOP (NOT IN) - OFFSET ROWS FETCH NEXT [1. ROW_NUMBER() OVER()] ROW_NUMBER 함수를 통해 결과물에 순차적으로 번호를 달아주어 조건으로 필요한 부분만 가져와 페이지에 출력하는 방식입니다. 장점 각 행에 번호를 부여하기 때문에 특정 범위의 행 번호 검색이 가능합니다. 단점 게시물 마다 번호를 달아주는것에 대한 시스템의 부하와, 중첩 쿼리 사용으로 인해 속도가 느립니다. --10에서 20까지..

SERVER/DB

[MSSQL] TOP 사용하기

1. TOP 이란? TOP문은 쿼리 결과 중 상위 몇개만 표시하기 위해 사용하는 구문입니다. [특징] - ORDER BY 절과 함께 사용하지 않으면 TOP은 임의 순서로 N개의 행을 반환합니다. - ORDER BY 절과 함께 사용하면 TOP은 처음 순서부터 N개의 행을 반환합니다. - INSERT, UPDATE, DELETE 등 DML문과도 같이 사용하여 영향을 받을 행을 지정할 수 있습니다. [사용방법] SELECT TOP [조회할 레코드 수] [컬럼명] FROM [테이블명] WHERE [조건절] 조회할 레코드 수는 세 가지 방법으로 표현이 가능합니다. 1. 상수 값 사용 2. 변수 사용 3. 백분율 지정 [중복값 포함 - WITH TIES] SELECT TOP [조회할 레코드 수] WITH TIES ..

SERVER/DB

[MSSQL] identity 컬럼

1. identity 컬럼이란? [identity 컬럼 정의] identity 컬럼이란 MSSQL에서 사용되는 숫자 자동 증가 기능입니다. 테이블에 추가되는 각 행의 고유 숫자 값을 자동으로 생성하는 방법입니다. 주로 PK(Primary Key)로 많이 사용합니다. int와 같은 숫자형 컬럼 타입에만 적용이 가능하며, varchar, char와 같은 문자형 컬럼에는 적용이 불가합니다. [identity 컬럼 특징] - 하나의 테이블은 하나의 identity 컬럼만을 가질 수 있습니다. - 숫자형의 테이터 타입만을 정의합니다. - 암호화 알고리즘을 적용할 수 있습니다. 2. identity 컬럼 사용 방법 [테이블을 생성할 때 identity 컬럼을 적용] CREATE TABLE table ( col1 I..

eunoia07
eunoia