제임스딘딘의
Tech & Life

고양이의 둥지 232

[C][CURL] CURLOPT_FOLLOWLOCATION 의 버전별 동작 차이

C언어로 프로그램을 작성하다보면, HTTP 통신을 해야 할 때가 종종있는데, 이때 개인적으로 선호하는 라이브러리가 있다. 바로 CURL 이다. 라이브러리만을 따로 부를땐 libcurl 이라는 이름으로도 부른다. 이 libcurl을 사용해서 HTTP 처리를 하다보면, 서버가 주는 3xx 응답을 만날때가 있다. 이때 클라이언트는 이에 대한 추가적인 처리 - 변경 혹은 이동된 URL을 따라간다던가 하는 - 를 해야 할 경우가 있다. libcurl은 이때 간단히 사용할 수 있는 옵션을 제공하는데 바로 'CURLOPT_FOLLOWLOCATION' 옵션이다. 우선 HTTP 3xx status에 대해 간단히 살펴보겠다. 300(여러 선택항목): 서버가 요청에 따라 여러 조치를 선택할 수 있다. 서버가 사용자 에이전트..

[NMEA-0183] Checksum 계산 예제코드 (How to calculate checksum of NMEA-0183)

본 포스팅에서 다뤄볼 내용은 NMEA-0183 문장의 checksum 계산 방법이다.보통 GPS chip은 해석한 GPS신호를 NMEA라는 특정 형태의 프로토콜로 제공한다.NMEA 가 무엇인지에 대해서 더 자세히 알고싶다면 아래 포스팅을 참고하도록 하자. 2017/08/10 - [하드웨어 Note/GPS 이야기] - [GPS 이야기] NMEA-0183 형식, NMEA Sentence Format 위 포스팅에 나와있듯이, NMEA sentence는 $ 문자로 시작해서 * 문자로 끝난다.checksum의 계산은 $, * 의 사이에 있는 각각의 문자 하나하나를 exclusive-or (XOR) 연산 및 누적하면 된다.어떤 NMEA sentence가 주어졌을 때, "*" 뒤에 있는 16진수 두자리의 checks..

[GPS 이야기] NMEA-0183 형식, NMEA Sentence Format

만약 당신이 GNSS와 직접적으로 관련된 일을 한다면. 혹은 간접적으로 GPS등과 같은 것을 통해 얻은 위치정보등을 다뤄야 할 일이 있다면. 조만간 'NMEA' 라는 것을 마주하게 될 수도 있다. 위치정보라는것은 어떤 목적으로 활용하느냐에 따라 다뤄야 하는 데이터는 달라진다. 현재 위치에 기반하여 날씨정보를 보여주는 어플리케이션처럼 간단히 위도, 경도만 알면 되는 경우가 있는가 하면, 목적지까지 경로를 알려주는 내비게이션 어플리케이션처럼 때로는 위도, 경도 뿐만아니라 속도, 위치정확도 오차값, 방향.. 등을 알아야 하는 경우도 존재 한다. 또한 종종 등산 트래커 어플리케이션처럼 고도를 활용하는 경우도 있다. 사실 고가의 GPS가 아닌 이상, 스마트폰과 같은 저렴한 GPS칩이 주는 고도값은 부정확하다고 알..

[제품후기] coms 발 받침대 - 바른 자세로 앉도록 해주는 도구

발 받침대 구입 동기 나는 직업적인 이유로 인해, 하루의 대부분을 책상에서 보낸다. 즉 의자에 앉아있는 시간이 상당히 길다는 이야기. 일찍 일을 끝내는 날에는 9시간 정도. 일이 많을때는 10시간~11시간. 종종 본인의 능력부족으로 일이 많은건아닌데... 잘 모르는 문제를 맞딱뜨리게 되면 온갖 문서들을 뒤져가며 해결해야 할 경우도 있는데, 이럴땐 12~14시간 정도를 책상앞 의자에 앉아있게 된다. 대부분 알고있을테지만, 의자에 앉을때는 바른 자세가 중요하다. 그런데, 내 다리가 평균신장의 성인보다 짧다보니(ㅜ_ㅜ) 평균신장을 가진 성인남성을 기준으로 만들어진 의자에서는 바른자세 유지가 쉽지 않다. 게다가 엉덩이를 깊숙히 의자안쪽에 넣고 앉았을 때 문제가 있다. 이 그림을 보면 맨 마지막 그림에 발이 살짝..

NULL ptr/ NULL ptr 2017.07.27

[우분투] 우분투 16.04 런처(Launcher) 위치 바꾸기

개요우분투에는 '런처(Launcher)'라 불리는 것이 있다.MS의 윈도우 운영체제와 비교하자면, '작업표시줄' 과 비슷한 것 쯤으로 이해하면 쉽다. 그동안의 우분투 LTS 버전들에서는 이 런처의 위치가 왼쪽에 세로로 고정되어 있었다.아래 그림과 같이 말이다. 런처 위치 변경 명령어우분투 16.04 에서는 드디어 런처의 위치를 변경할 수 있게 되었다.방법은 간단하다. shell에서 명령어 한줄이면 된다. /* 런처를 왼쪽에 위치함 */ $ gsettings set com.canonical.Unity.Launcher launcher-position Left /* 런처를 아래쪽에 위치함 */ $ gsettings set com.canonical.Unity.Launcher launcher-position Bo..

[보라고 쓰는 일기] 내 인생에 '더' 를 더하자.

문득. 요즘들어 나 스스로 내 삶을 너무 옥죄는게 아닌가 라는 생각이 들었다. 잠을 더 적게 자고더 열심히 일을 하고더 열심히 공부하면 행복해 질 것만 같았다. 사실 지금도 그 생각을 버리지 못하고 있다.물론 최근에는 '이 생각이 틀릴 수도 있겠다' 라는 의심이 아주조금 들긴 한다. 그리고 그런 의심이 들기 시작한 이후로, 나에게 조금 더 여유를 주자는 생각이 들기도 한다. 조금 더 잠을 자고,조금 더 좋은 음악을 나에게 들려주고,조금 더 차를 마시며 여유로움을 갖고,조금 더 자주 책을 읽고,조금 더 일몰을 즐기며,조금 더 즐기며 만들 수 있는 장난감을 가지고 놀고,조금 더 오래 걷고,조금 더 웃고,조금 더 내 사람들을 안아주고,허황되더라도 조금 더 이루고 싶은 꿈을 꾸고,조금 더 여행을 다니며,조금 더..

NULL ptr/일기장 2017.07.15 (5)

[제품 후기] 2ch 블랙박스 설치 - 뷰게라 VG900v (렉서스 3세대 IS250)

도입출퇴근 용도로 사용중인 렉서스 3세대 IS250.이전 차주가 사용하던 2ch 블랙박스가 장착되어 있지만 저화질인 관계로, 교체하기로 했다.'Urive 알바트로스4 HERO' 와 뷰게라 VG900v를 고민하다가, 뷰게라를 선택했다. 제품 사양제조사로부터 확인한 블랙박스 VG900v 제품의 사양은 아래와 같다.전, 후방 200만 화소 카메라 이다. 해상도는 1920x1080(FHD급) 이다. 카메라 화소에 비해 해상도가 과도하게 큰 느낌이다. 즉, 무리하게 이미지를 잡아 늘리게 되어, 확대해봤을때 번호판을 육안 식별이 가능할 정도인 지는 모르겠다.이건 촬영된 영상을 직접 확인해보자. 또한 이미지 압축은 H.264 코덱이다. H.265를 제외하고, 가장 압축성능이 뛰어난 방식이 적용되어있다.저전압 차단 기..

[자동차/자가정비] 에어컨 필터 직접 교체하기 - 렉서스 뉴IS250

자동차 에어컨필터 란?오늘은 자동차 에어컨필터를 직접 교체했다.에어컨필터란 무엇인지 살짝 짚고 넘어가겠다. 자동차 에어컨필터, 자동차 히터필터, 자동차 향균필터 는 모두 동일한 대상을 가리키는 명칭이다.정식 명칭은 '캐빈필터 (Cabin Filter)이다.이 필터의 역할은, 차량 외부에서 실내로 들어오는 공기(Air)를 정화하는 것이다. 즉, '실내 유입공기 정화필터' 이다. 자동차 에어컨·히터 장치 부위에 장착된다. 중요한 이유다음 두가지 이유로 인해, 자동차 에어컨 필터는 중요하다. 1. 차량 탑승자들을 차량 외부로부터의 분진, 먼지 및 오염 물질 입자로 부터 보호한다.2. 차량자체의 에어컨 및 히터 시스템을 보호한다. 1번은 건강과 직결되는 문제이며, 2번은 차량의 정비 측면에서 중요한 문제이다. ..

jQueryScript.net - jQuery Script Plugin 예제 제공 사이트

jQuery Script Plugin 예제를 찾다 보니, 굉장히 퀄리티 높은 예제들을 제공하는 사이트인 jQueryScript.net 을 찾게 되었다. 연결 : http://www.jqueryscript.net/ 나는 ... 의 헤더 태그를 이용해서 자동으로 포스팅의 목차를 만들어주는 기능을 구현해보려고 하던 참이었다.이미 이러한 류의 javascript플러그인들이 상당 수 존재 했다. 직접 구현하기보다는, 잘 구현된 플러그인을 가져다 사용하는 방향을 택하기로 했다.이런 류의 플러그인들은 'TOC (Table Of Contents)' 플러그인 으로 통칭되고 있는것 같다. 그리고, 'TOC javascript plugin' 키워드로 검색을 하다보니, 지금 소개하는 jQuery Script.net을 찾게 되..

[리눅스/Vi] vi editor 문자열 치환(replace) 방법

개요 리눅스 환경에서 코드를 작성하다 보면, 종종 vi editor 혹은 vim editor를 사용해서 코드의 특정 단어를 다른 단어로 교체(replace) 해야 하는 상황이 종종 있다. 즉, 특정 문자열을 치환해야 하는 경우이다. 예를들면, 현재 소스코드 파일에서 'apple_result' 이라는 변수를 모두 'melon_result' 라는 변수로 바꾸어야 하는 상황 같은 것 말이다. 상황에 따라 아래와 같은 몇가지 방법이 있다.우선 ex모드로 진입해야 한다. 1. 현재 문서를 편집중인 '편집모드'라면, 키보드의 ESC 키를 눌러 편집모드에서 명령모드로 나온다.2. 콜론(:)을 눌러 ex모드로 진입한다.3. ex모드에서 아래와 같은 방법들 중, 자신의 상황에 맞는 방법을 선택해 수행하면 된다. 혹시, ..

1 2 3 4 5 6 7 8 ··· 24