목록분류 전체보기 (74)
과거의 내가 미래의 나에게
영상 관련 이슈가 간간히 들려온다. 직접 개발을 해야할 정도는 아니지만 요청에 대비하려면 영상 관련 단어들에 대해 익숙할 필요가 있어서 단순 나열식으로 영상 관련 용어?를 알아보고 정리해둔다. 워낙 넓은 세계라 나는 그 일부만 파악하고 적었기에 어쩌면 정확하지 않은 내용이 나열되어있을 수도 있겠다! 개요영상은 보통 카메라를 통해 촬영된다. 이 카메라의 종류는 우리가 흔히 쓰는 스마트폰이나 캠코더같은 것이 있을 수 있고 또 더 나아가 CCTV 같은데서 주로 쓰이는 IP 카메라도 있다. 이러한 카메라는 영상을 촬영한 다음에 영상을 볼 수 있도록 그 정보들을 장비에 옮기는데, 이 때 HDMI나 SDI처럼 직접 물리적으로 옮길 수도 있을 것이고 혹은 네트워크를 통해 옮길 수도 있을 것이다. 위와 같이 영상을 ..
플랫폼에 추가 요구사항이나 에러이슈가 들어오면 우리팀이 가장 먼저 이를 보고 어떻게 처리할 지 판단하여 각 팀에 뿌려준다. 이번 이슈는 사용자의 사용기록을 단순히 테이블로 쌓는 페이지에서, 1년이 지난 기록은 없어지게 해달라는 클라이언트에 요청이 있었다. 이 페이지는 DB에서 쌓인 데이터를 끌고만 오는 페이지라 DB에서 일정기간 지나면 데이터가 삭제되게끔 하는 처리만 하면 될 것 같아 백엔드팀에게 문의해보니 TTL을 설정만 하면 된다는 답변을 들었다.따라서, 오늘은 처리했던 TTL 설정법을 단순하게 기록용도로 적을 것이다! TTL이란?Time to Live의 약자로 데이터가 살아있는 시간을 뜻한다. MongoDB는 TTL이 자체적으로 포함되어있어서 설정이 쉬운 편인데, 이는 noSQL DB들의 특징인 듯..
사건의 발단은 nginx.conf의 지시문들을 하나하나 뜯어보며 공부하다가 access.log를 직접 보고 싶은 열망으로 인해 시작되었다. 하지만 내가 임시로 설치한 wsl의 우분투 안의 nginx는 아직 conf 파일만 들락날락하느라 서버의 요청을 받은 적이 없고 따라서 로그는 없을 것이었다.그래서 vpn을 통해 회사 서버에 접속하여 access.log를 까보려하는데 왠걸 너무 느린 것이다. access.log의 파일 크기가 너무 큰가 싶어서 파일 크기를 알 수 있는 명령어( ls -lh access.log)로 크기를 확인한 후 너무 크다면 로그 롤링이라는 것을 해봐야겠다! 했지만 출력된 것은 아래와 같았다.Irwxrwxrwx 1 root root 11 Nov 12 02:03 access.log —> ..
오늘은 nginx의 기본 설정을 할 수 있는 nginx.conf 파일에 대해서 뜯어보자. nginx.conf 란?nginx.conf 파일은 nginx의 주요 설정 파일로 전반적인 동작 방식을 제어한다. nginx를 설치하고 아무것도 건들지 않는 것을 기반으로 하면 보통 nginx.conf 파일은 "/etc/nginx/nginx.conf nginx" 이 경로에 위치한다. 구성은 블록 지시문과 단순 지시문으로 이루어져있는데, 단순 지시문은 공백으로 구분된 이름과 매개변수로 구성되어있고 세미콜론으로 끝난다. 블록 지시문은 세미콜론 대신 중관로로 둘러쌓인 추가 지시문 모듬으로 끝난다. 이렇게 중괄호 안에 다른 지시문들을 가질 수 있는 블록 지시문을 context라고도 한다. context에 둘러쌓이지 않은..
6월에 웹 서버에 대한 정의와 Nginx가 무엇인지 살펴보고 멈췄었는데...오늘은 그것에 이어서 Nginx를 직접 설치해보고 기본 구성정도만 알아보려한다.웹 서버는 일반적으로 백엔드 직군이나 데브옵스를 다루는 개발자가 많이들 하지만... 웹 서버는 결국 브라우저와 서버를 이어주는 통로와도 같기에 프론트 개발자도 웹 서버 관련해서 알아둬야 할 부분이라 생각했다. 꾸준히 공부해서 회사에서 nginx를 설계하는 역할을 가져가봐야지! Nginx 설치하기1. 패키지 업데이트sudo apt updatesudo apt upgrade설치하려보니 다들 Nginx 설치 전에 위와 같은 코드를 꼭 쓰던데, 우분투와 같은 데비안 계열 리눅스 배포판에서는 무언가를 설치하기 전에 패키지(운영체제 전체에서 필요로 하는 모든 ..
Blob 객체를 사용하는 경우가 꽤 되는데 대충 큰 데이터를 다룰 때 쓴다! 정도는 알지만 명확하게 파악하진 못하고 있어서 이번 기회에 학습해본다. Blob이란?Blob은 Binary Large Object의 약자로, 문자 그대도 커다란 바이너리 객체라는 의미이다. blob이라는 영어 단어는 덩어리라는 뜻을 가지고 있기도 해서 텍스트나 정수같이 특정 포맷을 가진 데이터 유형과 달리 덩어리 자체를 저장한다라는 느낌으로도 볼 수 있을 것 같다.과거에는 정수나 텍스트같이 특성이 뚜렷한 데이터만 저장하면 되었지만 이미지, 비디오 등 텍스트로만 처리할 수 없는 크고 다양한 데이터들이 등장하기 시작하였고 이를 처리하기 위해서 Blob 타입이 도입되었다.Blob은 이러한 대용량의 이진 데이터를 웹브라우저나 JS에서 ..
통으로 짜는 코드보다는 모듈화를 통해 쪼개쪼개어 부품을 준비해두고 이를 조립하는 코드는 보기도 편하고 유지보수하기도 편하다. 하지만 코드는 분해되어도 이벤트와 데이터는 공유되어야하기 마련인데, 보통은 컴포넌트끼리 결합시켜서 이를 사용하고 관리하게 된다. 컴포넌트가 이렇게 결합된 형태가 되어버리면 결국 컴포넌트를 쪼갠 의미가 없게 된다.그래서 컴포넌트가 모듈화의 장점을 유지하면서도 이벤트와 데이터는 컴포넌트들이 공유하고 전달할 수 있는 수단이 여러가지가 나오는데 그 중에 오늘 이야기할 것은 상태 관리 라이브러리와 이벤트 버스이다.프로젝트를 하면서 위와 같은 경우가 자주 나오는데, 그 때 그 때 생각나는 것을 사용하는 수준이었다. 그러다 둘의 특징을 명확히하여 구분해서 일관적이게 사용할 수 있으면 좋겠다라는..
오늘은 간단하게 openLayers(이하 ol) 지도를 생성해보고 마무리할 것이다. 사실 투영도 변경하는 작업까지 서술하고 싶었는데 난황이라 아직 정리하고 자시고다ㅠ 좀 더 완벽히 이해한 다음 작성해보겠다. ol 생성하기quick start를 따라서 생성할 것이다. 14버젼 이상의 node와 git이 필요하다.// 설치npm create ol-app 폴더명// 실행npm start 위와 같이 npm으로 실행하는 것이 가장 간단한 방법이다. ol과 실행할 개발 서버를 설치하고 index.html, main.js, style.css파일이 기본적으로 세팅된다. npm start로 웹 서버를 실행하여 바로 화면에서 볼 수 있다. main.js의 구성import './style.css';import {Map, ..