제임스딘딘의
Tech & Life

고양이의 둥지 255

런플랫 타이어 (Run Flat Tire) 장점 단점

자동차 타이어에 대한 관심최근 타이어에 대한 관심이 생겼다.얼마전 4만 km를 탄 타이어중 앞쪽 한개가 펑크나면서, 전체 4개를 일시에 교체하게 되면서이다.어떤 타이어를 끼울까? 참많이 고민했다. 22살부터 현재까지 만 9년간 운전을 하면서 그동안 나는 타이어를 그다지 중요하지 않게 여겼다.타이어란 단지, 오래오래 사용가능하고 굴러가기만 하면 된다고 생각했다. 그러나 우리나라 전체적인 자동차문화가 발달하고 그 깊이가 깊어지면서, 다양한 매체를 통해서 쉽게 자동차에 대한 정보를 접하게 되었다.그러면서 자동차의 타이어에 관심을 갖게 되었다. 타이어의 중요성을 깨닫게 된 것이다. 여러 타이어 회사들은 단순히 내구성이 뛰어나다는 것을 떠나서 조금 더 접지력이 좋은 타이어, 특정 계절에 적합한 성능을 발휘하는 타..

[정비후기] 렉서스 IS250 타이어 교체 및 휠밸런스, 휠얼라이먼트 조정

교체 배경 - 타이어 펑크한동안 탈없이 잘 타고 다니던 렉서스 뉴 IS250.8월 초 비가 아주 많이 내리던 날 밤. 안산에 갔다가 다시 집으로 돌아오는 길에 뾰족한 못을 밟은 것 같다. 집에 돌아오면서 운전할 때는 그런걸 밟았는지, 타이어에 문제가 있는지 조차 몰랐다. 다음날 출근하려고 집 주차장에 내려가서 시동을 걸자, 타이어 공기압 경고등이 들어오는게 아닌가.기온이 떨어져서 그런가 보다 라고 대수롭지 않게 넘기고 그대로 운전하여 출근했다. 그리고 저녁. 퇴근하려고 회사 주차장에서 차를 봤는데. 차가 한쪽으로 기우뚱 한 듯한 기분. 아차 싶었다. 타이어에 펑크가 난 것이었다.일단, 가장 가까운 세차장에 가서 펑크난 타이어에 다시 공기를 주입 하곤 집으로 복귀했다. 그리고 하루가 더 지난 다음날.집 주..

[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

[제품 후기] 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모드에서 아래와 같은 방법들 중, 자신의 상황에 맞는 방법을 선택해 수행하면 된다. 혹시, ..

엔진오일 ABC - 자동차 오너라면 알아야 할 상식

아래 글은 John Rowland 라는 분이 쓴 내용을 번역한 것이다. Rowland는 Fuchs Petrolub사의 연구개발 책임자로, 과거 롤스로이스 제트엔진을 위한 에스테르 합성유를 개발한 인물이다. 독일 Fuchs Petrolub사는 세계최대 윤활유 제조회사인데, 엔진오일은 물론 산업용 윤활유 및 유압기구 액, 그리스 등의 석유화학제품을 생산, 공급하는 업체이다. 윤활유 (이하 오일)의 원료가 되는 석유는 찐득찐득한 검정색 액체이던데 그런 석유가 어떻게 살구쥬스 같은 윤활유(이하 오일)로 만들어지나요? 윤활유 (이하 오일)의 원료가 되는 석유는 찐득찐득한 검정색 액체다.그런 석유가 어떻게 살구쥬스 같은 윤활유(이하 오일)로 만들어지는지 의아할 수 있다. '크루드 오일'이라 불리는 원유는 보통 사람..

부품 해외 직구 방법 - 수입차 오너라면 알아야 한다!

이 포스팅은 자동차 부품의 해외 직구 방법에 대해서 알아보려는 글이다. 사실, 자동차 부품 뿐만 아니라 다른 종류의 물건들에 대해서도 적용가능 한 내용일 지 모른다. 종종 한국에서는 비상식적으로 비싼 자동차 부품이 있다. 이때, 해외 직구를 한번 고려해 보자. 국제 배송비 + 부품 가격 + 관세 를 다 더해도, 한국에서의 가격보다 저렴한 경우가 왕왕 있다. 수입차 부품의 경우, 한국 판매가격이 2배 ~ 최대 5배 가까지 되는 부품들이 적지 않다고 한다. 한국에서 그냥 사면 호구 or 봉 되는 거다. 대략 렉서스 LS의 부품으로 예를 들어보겠다. 1. 렉서스 LS460 스테빌라이저 링크 (Fornt) - 한국 토요타 가격: 112,640 원 (부가세포함) - 일본 amayama.com 가격: $24.08 ..

[자동차] 렉서스 부품 품번 확인 방법 - 뉴IS 250 3세대

렉서스 뉴 IS250 부품 품번 찾기 방법을 알아보겠다. 이 차를 구매하고 운행해온지 어느덧 1년이 넘었다. 그런데 사실 지난 3월쯤, 후방 감지 센서를 OFF한 채로 후진을 하다가, 전신주에 혼자 부딪혀버리는 사건을 저질렀었다. 그 결과, 뒷 범퍼 하단의 검은색 플라스틱이 상당히 보기 흉하게 찢어져 버렸다. 아래 그림에서 8번 부품. 이 부품을 직접 구매하면 가격이 저렴하지 않을까 하는 생각에, 품번을 확인하고 직접 구매할 수 있는지를 알아 보았다. 품번을 확인할 수 있는 몇몇 웹사이트가 있는데, 나는 아래를 이용했다. 수입차와 국내차 대부분의 부품 품번을 조회할 수 있는 것 같다. 링크 : https://www.parts.com/ Make : 자동차 제조사 브랜드 Year : 자동차 연식 Model ..

[네트워크/C] addrinfo 구조체

이 포스팅은 POSIX/리눅스에서 C 언어를 사용한 네트워크 소켓 프로그래밍과 관련된 글이다. addrinfo 구조체는 네트워크 주소정보(인터넷 주소)와 호스트이름을 표현하는데 사용되며, 이 정보는 bind( ), connect( )호출 시 입력 파라미터에 사용될 수 있다.또한 getaddrinfo( ) 함수 호출 시, hint 정보를 알리는 입력 파라미터로 사용할 수 있으며, getaddrinfo( ) 함수의 결과값을 전달하는 출력 파라미터로도 사용된다. 관련 헤더struct addrinfo를 코드에서 사용하기 위해서는 아래 헤더파일을 포함시키면 된다. #include 구조체 원형 struct addrinfo { int ai_flags; /* 추가적인 옵션을 정의 할 때 사용함. 여러 flag를 bit..

[네트워크/C] getaddrinfo 함수

개요 getaddrinfo는 domain address를 받아서 네트워크 주소 정보(IP address)를 가져오는 함수이다. 예를들면, http://www.google.co.kr라는 domain address가 있는데, 이 주소는 사람이 알아보기 쉬운 주고이긴 하지만, 컴퓨터는 이 주소를 가지고 해당되는 구글의 서버를 찾아가지 못한다. 그래서 이 domain address와 대응되는 IP주소가 무엇인지를 알아 낸 뒤에 그 IP주소로 연결을 해야한다. 즉, Domain address -> IP address 변환을 하고 싶을 때 사용하는 함수라는 뜻이다.이걸 전문용어로 DNS (Domain Name System/Service) resolving 이라고 한다. getaddrinfo 함수는 총 4개의 매개변..

[네트워크/C] sockaddr, sockaddr_in, sockaddr_un 구조체 - 소켓 주소 정보를 나타낸다

기본 지식'Socket Address Structures' 에 관해서 설명하는 글이다. 리눅스/유닉스 시스템에서는 소켓(socket)의 통신 대상을 지정하기 위해 '주소(address)'를 사용한다. 이 '주소' 라는 것을 저장하거나 표현하는데 사용하는 구조체가 바로, 본 포스팅에서 설명하고자 하는 'struct sockaddr' 이다. bind( ), connect( ) 와 같은 함수들이 2번째 매개변수로써 바로 이 'struct sockaddr' 을 받는다. 이 struct sockaddr은 기본 형태이고, 주소체계(Address family)값에 따라서 구조체를 형변환 해서 사용하면 편리하다. 즉, 일반적으로 개발을 하다보면 struct sockaddr_in, struct sockaddr_un, s..

[네트워크/C] ifreq 구조체 (struct ifreq)

관련 헤더 #include #include 설명linux에서 네트워크 장치의 설정과 관련된 대부분의 ioctl( ) 호출에 세번째 인자로 사용하는 구조체이다.참고로, linux의 ioctl( ) 호출시 첫번째 인자는 file descriptor인데, family나 type과 관계없이 어떠한 소켓 file descriptor라도 사용할 수 있다.구조체의 멤버변수는 아래와 같다. struct ifreq { char ifr_name[IFNAMSIZ]; /* Interface name */ union { struct sockaddr ifr_addr; struct sockaddr ifr_dstaddr; struct sockaddr ifr_broadaddr; struct sockaddr ifr_netmask; st..

[우분투] Ubuntu 16.04 삼바(Samba) 설치 및 사용하기

윈도우 PC와 리눅스 PC 두대를 사용해서 개발등을 하다 보면, 두 PC간에 파일을 빈번하게 이동할 일이 발생한다.이럴때 선택할 수 있는 방법은 여러가지가 될 수 있다. 우선 USB메모리나, 외장 하드디스크와 같은 저장장치를 이용할 수도 있다.혹은 이메일이나 메신저의 파일전송 기능, 혹은 인터넷 게시판에 업로드 하는 방법 등으로 전달할 수도 있다.좀더 우아한 방법으로는 one drive나 google drive 혹은 dropbox와 같은 클라우드 저장소를 활용할 수 도 있다. 그러나 이 방법도 한번 고려해 보자.'Samba' 라는 프로그램을 활용해서 우분투의 디렉토리를 공유 디렉토리로 만들고, 윈도우에서 접근 할 수 있는 방법이다. Samba 설치하기 우분투 shell에서 apt 커맨드로 간단히 설치할 ..

[우분투] Ubuntu 16.04 화면 캡쳐 방법

우분투를 사용하면서 화면을 캡쳐해야 할 경우가 종종 있다.우분투 16.04 사용하기 시작한지 2일째인데, 의외로 유용한 기능이 많은 것 같다.그것 중 하나가, 다양한 방식의 화면 캡쳐 기능을 제공하는 것이다. 참고로 우분투 16.04 에서는 화면 캡쳐를 스크린샷(Screenshot) 이라는 용어로 표현하고 있었다. 우분투는 다음과 같이 총 6가지의 스크린샷 찍기 방법을 제공하고 있다. 스크린샷 찍기 / 활성화 된 창의 스크린샷 찍기 / 영역의 스크린샷 찍기클립보드로 스크린샷 복사 / 활성화 된 창의 스크린샷을 클립보드로 복사 / 영역의 스크린샷을 클립보드로 복사 각 방법에 대해 단축키를 살펴보자.당신이 설정을 변경하지 않았다면, 이 글에서 소개하는 기본 단축키가 동작할 것 이다. 스크린샷 찍기 단축키 :..

[우분투] Ubuntu 16.04 한글키보드 한글입력 방법

Prologue2009년부터 사용하던 오래된 노트북 컴팩 CQ40.그동안 약 4년정도를 윈도우7을 설치해서 사용해오다가, 포맷을 하고 우분투 16.04 를 설치해서 사용하기로 했다.설치를 마친 후, 한글 입력을 하려니 왠걸. 되질 않는다.기억을 더듬어보자.회사 업무PC에 우분투 12.04를 처음 설치 한 후, 한글 입력이 곧바로는 되지 않았었다.몇가지 설정을 더 해주고, 별도의 Nabi라는 입력기를 설치해야만 한글 입력이 가능했던 것 같다. 본격 Ubuntu 16.04 한글 입력 가능하게 만들기한글키보드로 한글 입력을 할 수 있게 만드는 과정은 간단하다. 1. 입력기 설치( IBus 설치 )2. 몇가지 설정 먼저, 입력기 설치다. IBus라는 입력기를 설치할 것이다. IBus hangul 패치버전 설치를..

[안드로이드] 펜딩인텐트 (Pending Intent)

안드로이드의 펜딩인텐트 (Pending Intent) 펜딩인텐트 (Pending Intent) 는 인텐트의 일종이다. 그러면 일반 인텐트와의 차이점은 무엇인지 알아보는 것부터 시작해보자. 컴포넌트에서 다른 컴포넌트에게 작업을 요청하는 인텐트를 사전에 생성시키고 만든다는 점과 "특정 시점"에 자신이 아닌 다른 컴포넌트들이 펜딩인텐트를 사용하여 다른 컴포넌트에게 작업을 요청시키는 데 사용된다는 점이 차이점이다. 수행시킬 작업 및 인텐트(실행의도)와 및 그것을 수행하는 주체를 지정하기 위한 정보를 명시 할 수 있는 기능의 클래스라고 보면 된다. 이해하기 쉽게 말하자면, 아래와 같이 하고 싶을때 사용할 수 있는 것이다. A한테 이 B인텐트를 C시점에 실행하라고 해. 지금은 실행하지 말고. 이 클래스의 인스턴스는..

[안드로이드] 안드로이드 Wi-Fi를 앱에서 소스 코드(API)로 끄고 켜는 방법

안드로이드 Wi-Fi를 코드(API)로 끄고 켜는 방법종종 앱을 개발하다보면, Wi-Fi를 앱에서 프로그램으로 제어 하고 싶을 때가 있다.안드로이드 장치의 Wi-Fi를 사용자의 터치 입력이 아니라, 자신이 개발중인 앱의 소스 코드 상에서, API호출을 하여 끄거나 켜는 방법을 알아보자. 우선, 아래와 같이 Wi-Fi 관련 권한들을 매니페스트 파일(AndroidManifest.xml)에 선언해야 한다. 이제 간단히 예제를 만들어 보겠다.Enable 및 Disable 기능을하는 2개의 버튼을 가진 간단한 샘플 앱을 만들 것이다. 우선, 간단히 아래와 같이 xml을 통해 Layout을 만든다. 파일이름은 activity_main.xml 으로 했다. 그리고 AndroidManifest.xml 은 아래와 같이 했..

[안드로이드] 안드로이드 Activity

안드로이드 액티비티란?Activity는 일종의 애플리케이션 구성 요소로서, 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기 등의 일을 하기 위해 상호작용할 수 있는 화면을 제공한다.액티비티마다 창이 하나씩 주어지며, 안드로이드 앱 개발자는 이곳에 UI(사용자 인터페이스)를 구현하게된다. 이 창은 일반적으로 화면을 가득 채우지만, 작은 창으로 만들어 다른 창 위에 띄울 수도 있다. 하나의 애플리케이션은 보통 여러 개의 액티비티가 느슨하게 서로 묶여 있는 형태로 구성된다. 통상 한 애플리케이션 내에서 하나의 액티비티가 "Main" 액티비티로 지정되며, 사용자가 이 애플리케이션을 처음 실행할 때 이 "Main"으로 지정된 액티비티가 사용자에게 최초로 보여지게 된다. 각각의 액티비티는 여러 가지..

[독서] 아키텍트 이야기

아키텍트 이야기 지은이 : 야마모토 케이지출판사 : 인사이트출판년 : 2007년 나는 10년후에 개발자로 살아남기 위해선 아키텍트가 되어야 된다는 말에 공감이간다.최고 개발자로서 시스템을 전반적으로 다루며 문제의 근원을 해소하고 프로젝트를 기술적으로 이끌어나가는이상적인 개발자로서의 모델이 될수 있다. 아직 현실에서는 그 사람의 능력보다는 이력을 중시 여기지만 점점 효율과 효과를 중시하는 분위기로 가고 있기때문에 능력을 갖추고 준비해 나간다면 충분한 가능성이있다. 아키텍트가 되기위해선 두가지 능력이 선행되어야 한다.. 소프트웨어의 설계, 프로그래밍 능력이다. 이두가지는 단시간내에 끌어올릴수 있는 능력이 아니다.많은 프로젝트의 경험과 자기 수양이 뒷받침되어야한다.그러기 위해선 지금 주어진 일에 안주하지 말고..

NULL ptr/ NULL ptr 2017.05.10

기발하고 어려운 구글의 면접시험 문제들

기발하고 어려운 구글의 면접시험 문제들 미국의 비즈니스 잡지 중 하나인 ‘비즈니스 인사이더(Business Insider)’는 구글의 면접 질문 중 답이 있는 질문들에 대해 모범답안을 제시했다. 다음은 그 중 일부이다. 질문의 의도가 무엇이고 면접자의 어떤 능력을 보려고 한 것인지에 대한 설명(☆)과 함께 모범답안(→)을 예시했다. Q: A나라 사람들은 모두 아들을 극단적으로 선호해서 아들을 가질 때까지 계속해서 아이를 낳습니다. 아들을 가지면 아이 낳기를 중단하고, 딸을 낳으면 아들을 가질 때까지 계속 아이를 낳습니다. 이 나라에서 아들과 딸의 비율은 어떻게 될까요? ☆상당한 논란을 낳을 수 있는 질문입니다. 그러나 논리적 절차에 따라 비율을 계산하면 의외로 간단합니다. →답은 50대 50으로 같습니다..

NULL ptr/ NULL ptr 2017.05.10

[네트워크/프로토콜] BOOTP 에 대해서. BOOTP 패킷 형식(BOOTP Packet Format)

BOOTP 에 대해서. BOOTP 패킷 형식(BOOTP Packet Format) 위의 BOOTP 특성에서 알아봤듯이, BOOTP에서 정보를 교환한다는 것은 클라이언트가 보낸 요청과 서버가 보내는 답장 쌍을 이루는 것이다.BOOTP도 일반적인 다른 '요청 / 응답 프로토콜'들과 마찬가지로 요청 및 응답에 사용되는 공통된 메시지 형식을 정의해서 사용하고 있다. 구현하기 나름이겠지만, 일반적으로 클라이언트는 요청메시지의 크기만큼의 메모리 공간을 모두 0으로 초기화 하는 것 부터 시작한다.그런 다음 이전 항목에서 보았던 것처럼 각각의 메시지 필드를 채운 다음 요청을 서버로 보낸다. 사실 역시 구현하기 나름이겠지만, 일반적으로 서버측은 메세지를 처음부터 다시 작성하지 않고, 클라이언트로 부터 받은 요청을 메모리..

[네트워크/프로토콜] BOOTP 에 대해서. BOOTP 클라이언트/서버의 메세지전송과 주소설정 방법

BOOTP 에 대해서: BOOTP 클라이언트/서버의 메세지전송과 주소설정BOOTP는 다양한 장치에 사용할 수 있지만, 최초 개발의 주된 동기 중 하나는 저장 장치가 없는 "멍청한"장치를 자동으로 구성하는 방법을 제공하는 것이었다.대부분 이러한 멍청한 장치들은, 비교적 제한된 기능만을 가지고 있기때문에, 근사한 부팅 프로토콜을 지원하도록 요구하는 것은 사실 말이 되지않았다.따라서 BOOTP는 복잡한 개념이나 근사한 개념 혹은 근사한 구현 요구사항 없이, 호스트 구성을 수행하는 복잡하지 않은 프로토콜이다. BOOTP 클라이언트 및 서버다른 많은 TCP / IP 프로토콜과 마찬가지로 BOOTP는 실제로 클라이언트 / 서버이다.프로토콜의 작동은 BOOTP 클라이언트와 BOOTP 서버 간의 단일 메시지 교환으로 ..

1 2 3 4 5 6 ··· 9