쿠키(cookie)를 이용한 세션기반의 인증의 경우 특정 웹서버에서 세션 상태(session state)를 유지해야 하기 때문에 stateless 하지않다. 서버 로직이 Stateless가 아닌 경우 더 많은 요청을 처리하기 위해 동일한 서버의 숫자를 늘리는 스케일… [본문 읽기]
카테고리 글 목록: 웹 개발
인증서 파일 형식 및 확장자의 차이점 비교 설명 (Certificate file format & extensions)
https를 지원하는 웹서버를 설정하거나 서명이나 암호화 관련된 개발을 하게되면 한번씩 인증서 관련된 파일을 다룰 일이 생기게 된다. 이때 항상 프로그램이나 라이브러리들이 지원하는 형식이 달라서 인증서 형식을 변환해아 하는데 현재 갖고있는… [본문 읽기]
크롬 익스텐션 개발 + 리액트 적용하기
크롬 익스텐션(Chrome Extension)은 모두 자바스크립트(Javascript)로 되어있기때문에 웹개발을 해본 사람이라면 그리 큰 노력을 들이지 않고도 개발을 시작 할 수 있다. 하지만 구글에서 익스텐션을 통한 보안이슈가 생기는 것을 막기 위해 다양한 방식으로… [본문 읽기]
레디스 클러스터, 센티넬 구성 및 동작 방식
RDBMS만큼의 정합성과 영속성을 보장할 필요가 없는 데이터들을 빠르게 처리하거나 일정 기간동안만 보관하고 있기 위한 용도로 레디스(Redis), memcached 등의 in-memory 기반 저장소가 많이 사용된다. 그중에서도 Redis는 빠른 성능을 유지하면서도 일정 수준… [본문 읽기]
MySQL InnoDB Transaction Model 이해하기
MySQL의 InnoDB 엔진은 SQL 표준에 정의된 4가지 트랜잭션 격리 수준(transaction isolation level)을 모두 제공한다. InnoDB 엔진의 트랜잭션 격리 수준 기본값은 REPEATABLE READ이다. MySQL client는 SET TRANSACTION 구문을 실행해서 격리 수준을… [본문 읽기]
MySQL InnoDB lock & deadlock 이해하기
대규모의 많은 요청이 동시에 들어오는 데이터베이스(Database, DB) 어플리케이션의 경우 데이터의 정합성을 유지하면서 최대한 동시성을 높이는 것이 매우 중요한 포인트이다. MySQL InnoDB 엔진의 경우 상황에 따른 여러가지 락(Lock)을 통해서 동시성을 제어하며… [본문 읽기]
Shotcut을 이용하여 리눅스 서버에서 템플릿 기반의 동영상 만들기
웹사이트 상에서 미리 제작된 영상 템플릿을 제공하고 이에 맞게 사용자가 이미지나 텍스트만 바꿀 수 있도록 툴을 제공한 후 사용자가 만들어낸 데이터 모델을 기반으로 영상을 만들어내는 video generator 기능을 구현하려면 어떻게… [본문 읽기]
스팀잇 폰트체인저 – 한글 폰트 최적화로 스팀잇 포스트의 가독성을 향상시키기
스팀잇 사이트의 경우 영문 포스트는 그나마 이쁘게 설정되어있는데, 한글의 경우 폰트 설정도 엉망이고 줄간격, 자간 등이 전혀 한글 읽기에 최적화가 되어있지 않습니다. 특히 윈도우 환경에서 볼때 포스트 본문에 대해 OS… [본문 읽기]
도메인 설정 변경 확인 명령어
도메인 레코드를 추가한다거나, 네임서버 주소를 바꾼다거나 하는 등 도메인 관련 설정을 변경하고나면 제대로 설정이 전파되었는지 확인하기 위해 지루하게 기다리는 시간이 이어진다. 도메인 설정이 모든 DNS들에게 전파되는데는 최대 1~2일까지 걸린다고 하지만… [본문 읽기]
MySQL utf8에서 utf8mb4로 마이그레이션 하기
Emoji같은 글자들은 utf8 인코딩 되는경우 글자당 최대 4bytes까지 필요하다. 하지만 기존 MySQL의 utf8 필드의 경우 글자당 최대 3bytes 까지만 지원하는 한계점이 있었다. 때문에 MySql database에서 utf8mb4 설정을 해두지 않으면 해당… [본문 읽기]