라벨이 web인 게시물 표시

prototype 웹 모듈에 대하여

  항상 고민한 주제가 있습니다. 선로 주변에서 작업하는 사람들의 안전문제입니다. 열차의 정확한 위치를 알아야 작업자 안전이 강화됩니다. 열차에 내비게이션을 달아서 위치를 확보했습니다. 하지만 GPS 에 의존하는 위치정보는 의외로 많은 음영구간을 가지고 있습니다. 음영구간에도 위치를 알 수 있는 데이터가 필요했습니다. 그리고 그 데이터를 찾았습니다. 정말 많은 시간이 걸렸습니다. 데이터를 패킷 단위에서 분석하여 유효한 정보를 추출합니다. 이 정보를 활용하여 좀 더 안전한 작업환경을 만들 수 없을까 고민하고 있습니다. 프로토타입 화면을 하나 만들어 보았습니다. 이 데이터를 활용하면 열차가 정확히 어느 지점을 지나는 지 알 수 있습니다. 음영구간에서도 위치정보를 알 수 있는 데이터입니다. Flutter 로 작성하여 웹 어셈블리로 포팅한 모듈입니다. 앞으로 가야할 길이 많이 남았지만 그래도 묵묵히 주어진 길을 가야겠습니다. 이게 운명이라면..., https://ctc.whenyourapprun.com

Nginx (엔진엑스) 에 대하여

Nginx 는 웹서버이다. 보통 경량 웹서버라고도 한다. 소켓을 이용해서 통신을 하는데 소켓을 연결할 때 블로킹과 넌블로킹이 있다. 블로킹은 연결이 끝날때까지 제어권을 운영체제에 주지 않는 방식이고 넌 블로킹은 제어권을 운영체제에 주는 방식이다. 소켓이 연결되고 난 후 제어권이 운영체제에 넘어오지 않았을 경우 에러가 난다면..., 대략 난감한 상황이 벌어진다. 엔진 엑스는 넌블로킹 방식이다. 문제가 되는 세션은 잘라 버릴 수 있다는 것이다. 또, 프로세스와 스레드 방식이 있다. 프로그램이 실행이 되려면 프로세스를 얻어야 한다. 하지만 프로세스 하나를 자세히 보면 더 작은 부분으로 나눌 수 있는데 이를 스레드라 한다. 예를 들어 1부터 100까지 더하는 알고리즘에서 1부터 100까지 더하고 알고리즘에서 빠져 나올때까지가 프로세스이다. 하지만 더하는 도중에 결과를 실시간으로 보고 싶다면 스레드로 구성하면 가능하다. 이럴 경우 프로그래머의 능력이 필요하다. 엔진엑스는 스레드 방식이다. 속도면에서 넌블로킹과 스레드의 조합은 환상적이다. 기존의 구성에 변경을 주지 않고 앞단에 엔진엑스를 설치하고 프록시로 처리하기만 해도 속도향상이 이루어진다고 한다. 과연 그런지는 한번 해봐야 할 꺼 같다.