제임스딘딘의
Tech & Life

개발자의 기록 노트 149

[우분투] 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"으로 지정된 액티비티가 사용자에게 최초로 보여지게 된다. 각각의 액티비티는 여러 가지..

[네트워크/프로토콜] 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 서버 간의 단일 메시지 교환으로 ..

[C#] C#.net에서의 시리얼통신 기초

C#.net에서의 시리얼통신 기초 C#은 시리얼 통신에 대한 모든것을 개발자가 구현할 필요 없이 매우 쉽고 간단하게 사용할 수 있는 객체를 지원한다. 그것은 System.IO.Port namespace에 포함되어있는 System.IO.Ports.SerialPort 인데, Visual Basic 6.0 에서 지원하던 Comm 컨트롤과 매우 유사해 사용은 간단했다. 참고로 이 글은 .net framework 3.5 기준으로 작성됐다. 객체 생성SerialPort 객체를 Form에 끌어넣어주면 된다.SerialPort 객체는 Device Components 에 있다. 아래 그림을 참고하자. 또한, 아래와 같이 namespace 추가가 되었는지 코드를 확인해보고, 안되어있다면 추가하도록 한다. using Sys..

[GPS 이야기] TTFF와 Almanac, Ephemeris 그리고, GPS의 start 방식, Cold start/Hot start/Warm Start ?

여기서는 GPS에 대해 이야기를 해볼까 합니다.GPS는 Global Positioning System의 약자인 것은 널리 알려진 내용인데요. 오늘은 GPS의 이야기를 시작하기에 앞서, 몇가지 용어를 알아볼까 해요. TTFFTTFF(Time To First Fix)란 GPS 수신기의 전원을 켰을 때 GPS 수신기가 현재 위치를 파악하는 데까지 소요되는 시간을 뜻하며, 상황에 따라 Factory Start, Cold Start, Warm Start, Hot Start로 구분됩니다.TTFF를 이해하기 위해서는 먼저 Almanac 데이터와 Ephemeris 데이터에 대하여 이해할 필요가 있습니다.지상의 여러 부 관제국에서 GPS 위성신호를 항시 관측하여 그 데이터를 주 관제국으로 보내고, 주 관제국에서는 그 데..

[안드로이드] SDK manager 통한 업데이트후 ADT 실행 시 오류

지금은 많은 안드로이드 어플리케이션 개발자들이 Eclipse + ADT 조합에서 Android Studio로 넘어갔을 것이라 예상한다.하지만, 나는 아직도 Eclipse + ADT 조합을 이용한다. 그런데 어느순간, SDK manager를 통해 SDK를 업데이트 하고 나서부터 아래와 같이 ADT를 상위버전으로 업데이트 하라는 에러가 발생한다. 그냥 무시하고 써도 되겠거니.. 하고 Close하고 살펴봤는데, 이게 웬걸.아무것도 할수가 없었다.관련 패키지 로딩이 제대로 되지 않는 것으로 판단된다. 그래서 지시한 대로 [Help > Check for Updates]를 클릭하면 업데이트할 항목이 없다거나, 엉뚱한 것들만 표시된다. SubVersion 혹은 SVN 같은 것들. 한참 헤매다 보니, 아래와 같은 방법..

Notepad++ Plugin : NPP Export Plugin

Notepad++ Plugin : NPP Export Pluginnotepad++의 plug-in중, code의 syntax highlight를 보이는 그대로 html형식으로 클립보드에 복사해주는 플러그인이 있다.관련 글은 아래 URL에서 볼 수 있다.관련 질문 : http://stackoverflow.com/questions/3475790/copy-notepad-text-with-formatting 이 플러그인의 코드는 git hub에 공개되어 있다.Github URL : https://github.com/chcg/NPP_ExportPlugin 그리고 dll로 빌드해서 다운로드 받을 수 있는 경로가 제공된다.https://ci.appveyor.com/project/chcg/npp-exportplugin..

무선 LAN, Wi-Fi 이야기

무선 랜 관련 용어 설명 우선 알아두어야 할 몇가지 용어들에 대해 간략히 설명하겠다. AP(Access Point)보통 "에이피-"라고 발음한다. AP(Access Point)는 그 자체로는 무선 중계 기지국의 의미를 가지고 있다. 즉 안테나와 무선 신호처리, 관리 기능, 유선 네트워크와 무선 네트워크를 연동하는 기능을 가지고 있다. 쉽게 생각을 하자면 유선 랜의 허브에 해당하며, AP를 통하여 기존 유선 랜과 연동이 가능하다. 최근에는 AP에 인터넷공유기능을 내장한 유무선 인터넷 공유기 혹은 무선 인터넷 공유기 등이 더욱 일반화 되어 가고 있다. Infrastructure(Access Point Network) 모드 / Ad-Hoc모드 (Peer-to-Peer Network)모든 무선 랜 카드는 AP가..

eth0 에 고정 IP 주소할당하기(static IP address)

문제요약: eth0 에 고정 IP주소(static IP address)를 할당하고자 한다. 지난번 포스팅(http://techlog.gurucat.net/277)을 하면서 판다보드에서 살린 두개의 network interface중에서 eth0 에 '192.168.1.1' 과 같이 고정 IP를 할당하고 싶다.이유는 PC와 판다보드를 LAN cable을 통해 direct연결 한 후, putty와 같은 툴을 사용해서 ssh shell로 연결 하여 개발을 진행하려고 하는 것이다.판다보드를 부팅한 후, eth0 에 어떻게 고정 IP를 할당할 수 있는가? 해결 할당하려는 IP는 192.168.1.1 이다. 원래는 bootloader에서 argument 읽은 후 kernel로 argument 전달하는 방식을 택하려 ..

[임베디드/판다보드] Networking Interface Initialize

문제현상판다보드에서 리눅스를 부팅한 후, ifconfig로 확인해보면 'lo' 라고 표시되는 loopback interface (127.0.0.1) 만 bring up되고, eth0(ethernet)과 wlan0(Wi-Fi interface)는 자동으로 bring up되지 않는다.'ifconfig up wlan0', 'ifconfig up eth0' 을 사용해서 커맨드라인에서 수동으로 bring up 을 해보면, 정상적으로 bring up 되는 것을 확인했다. 부팅시퀀스에서 bring up 되도록 하는 방법이 있을 텐데 비활성화 되어 있는 것 같다.어느 부분을 수정해야 하는지 내가 모르고 있는 것 같아서, 찾아보았다. 해결 우선 판다보드의 네트워크 인터페이스를 확인해보았다. root@arm:~# ls -..

Kernel command line 보는 방법

Linux kernel command line, boot argument 동작중인 kernel의 shell상에서 command line parameter를 보는 방법은 아래와 같다.이를 'boot arguments' 라고도 한다. $ cat /proc/cmdline 여기에는 linux kernel이 부팅할 때 필요한 여러가지 정보들을 kernel에게 넘겨주는 형태로 사용한다.예를들면 root device나 network configuration등에 대한 정보들 말이다. boot loader에서 linux kernel로 변수정보 넘기기boot loader에서 linux kernel로 정보를 넘길때도 사용할 수 있다.U-boot 에서는 'bootargs' 라는 변수의 값을 자동으로 linux kernel 부..

[네트워크/프로토콜] BOOTP 에 대해서. BOOTP란? BOOTP 특성?

BOOTP란? (bootstrap protocol) Bootp는 TCP/IP상에서 자동 부팅을 위한 최초의 표준프로토콜이다.디스크 장치가 없는 클라이언트를 구동시키기 위한 목적으로 개발되었다.여기서, 디스크 장치가 없는 클라이언트라고 하면, 과거 Unix머신과 연결해서 사용하던 'X터미널' 과 같은 장비쯤 되시겠다.이 터미널 장비는 디스크 장치가 없으므로, 장치의 설정정보를 저장할 곳이 마땅치 않게된다. 그러니깐, 디스크 장치를 가지고 있는 Main Unix머신이 이 정보를 가지고 있다가, X터미널이 실행되고 Unix머신에게 연결하려고 신호를 보내면, Unix머신은 Bootp 서버를 이용해서 X터미널에게 이런 정보들을 알려주게 된다.그러면 X터미널은 BOOTP클라이언트 쯤이 된다.정확하게 말하면 클라이언..

PandaBoard ES : 부팅용 SD card 준비

PandaBoard ES : 보드 부팅을 위한 SD card 준비 TI 의 ARM Cortex A9 기반의 임베디드 보드인 PandaBoard ES에는 내장된 별도의 저장공간이 없다. 대신에 sd card슬롯을 제공하고, sd카드의 boot partition을 통해 부팅을 하게된다. 아무래도 trial(시험용) 보드 성격이 강해서 그런 것이리라.. 우선 판다보드 부팅에 사용할 sd카드를 준비하는 작업이 필요하다.다음 순서로 진행할 것이다. 1. SD카드 파티션 분할 및 각 파티션 포맷2. U-Boot 소스코드 다운로드 및 빌드3. Linux Kernel 소스코드 다운로드 및 빌드4. Ubuntu의 Root File System 확보 및 SD카드에 복사5. Wi-Fi driver firmware 확보 및 ..

풀업 저항, 풀다운 저항 (Pull-up, Pull-down)

풀업 저항, 풀다운 저항 (Pull-up, Pull-down) - 입력단 회로MCU나 임베디드 시스템을 구성할 때, 입력부분을 설계해야 하는 경우가 있다. 여기서 입력 부분이라 하면, 버튼이나 스위치 같은 물리적인 입력이 발생하는 부분을 말한다. 이때, 풀업 (Pull-up) 저항을 달거나 풀다운(Pull-down) 저항을 달게 된다. 왜 그런지 이유를 알아보자. 이 저항이 무슨 목적을 가지고 있는지를 이해하면 된다. 그리고 더 나아가, 이 저항을 얼마짜리를 달아야 하는지, 저항값 계산 방법을 알아보자. 플로팅 상태풀업 / 풀다운이 왜 필요한지를 이해하려면 먼저 플로팅(Floating) 상태라는 것을 알면 쉽다. 플로팅은 '떠있다, 부유하는, 유동적인' 등의 뜻이다. 디지털회로에서 플로팅 상태 라고하면,..

라즈베리파이 보안카메라 (Raspberry Pi Security Camera)

라즈베리파이 보안카메라 (Raspberry Pi Security Camera) 소개Welcome to the official tutorial for building your very own Particle-connected security camera with Raspberry Pi! This project uses the Raspberry Pi integration with the Particle Cloud to control a PIR sensor, Neopixel LED ring, and Raspberry Pi camera to watch for intruders, snap a photo, and upload it to the web via Dropbox.All firmware and softwar..

[안드로이드] 최신 Android 7.0 "누가" 출시 : 안드로이드 앱 개발자가 알아둬야 할 것들

최신 Android 7.0 "누가" 출시 : 안드로이드 앱 개발자가 알아둬야 할 것들 안드로이드 7.0, "누가" (Android Nougat) 버전 출시되면서 Google은 이 새로운 운영 체제에 몇 가지 필수 기능을 추가했다. 사실 안드로이드 7.0 누가(Android nougat)에서는 안드로이드 6.0 과 비교했을때, UI, UX, 그리고 Look and Feel을 크게 변경하지는 않았다.그러나 Google은 몇 가지 새로운 필수 기능을 추가했고, 운영 체제를 좀더 세련되게 다듬었다고 볼 수 있다. Nougat에 대한 Google의 설명은 다음과 같다. "Android Nougat은 보안적인 측면에서 사용자를 더욱 안전하게 유지하는 데 중요한 요소를 추가했다. chromebook의 업데이트 적용에..

삼성 GearS2를 위한 타이젠 앱 개발하기 : [2] Hello world 앱 띄우기 (맥 OS X)

SDK설치를 했으니, 실제로 앱을 기어S2에 올려봐야죠. 그런데요, 아이폰 앱개발이나 안드로이드폰 앱개발을 해보셨던 분이라면 의아한 부분이 있을거에요. 기어S2랑 컴퓨터랑 어떻게 연결해서 앱을 올리지? 기어S2는 컴퓨터와 USB케이블을 이용해서 직접 연결할 수 는 없는 구조입니다.물론 기어S2 시계줄을 빼고 옆의 작은 커버를 벗기면 5핀 단자가 노출되긴 하는데요,연결할 거치대가 별도로 제공되거나 판매되고 있지 않죠. Tizen개발자 사이트와 삼성에서 공식적으로 언급하는 방법은 Wi-Fi를 사용하는 방법입니다.기어S2와 컴퓨터를 동일한 네트워크에 연결한 뒤, 이 둘을 'sdb (smart debugger bridge)' 라는 툴을 이용해서 TCP/IP layer로 연결합니다. 선이 없어서 깔끔하지만 반응속..

[Mac OS] 맥의 OS X에서 readelf와 같은 binary utility 사용하기

GNU 바이너리 유틸리티 - GNU Binutils 맥의 OS X건, 리눅스 건, 개발을 하다 보면 디버깅 할 일이 생기게 마련이다.디버깅시 유용한 도구중 하나가 GNU 바이너리 유틸리티(GNU Binutils)이다.GNU 바이너리 유틸리티는 여러 종류의 오브젝트 파일 형식들을 조작하기 위한 프로그래밍 도구 모음인데, 이들은 일반적으로 GCC, make, GDB와 함께 사용하게 된다. as - 어셈블러ld - 링커addr2line - 주소를 파일과 줄로 바꾼다.ar - 아카이브(압축) 파일을 만들고, 수정하고, 해제한다.c++filt - 맹글링된 C++ 심볼들을 원래대로 되돌린다.nm - 오브젝트 파일의 심볼을 출력한다.objcopy - 오브젝트 파일을 복사한다.objdump - 오브젝트 파일에 대한 정..

삼성 GearS2를 위한 타이젠 앱 개발하기 : [1] SDK설치 (맥 OS X)

삼성에서 출시한 스마트워치 GearS2 에서 사용할 앱을 개발하는 과정을 풀어내 봅니다. 1. SDK 설치 특정 플랫폼에서 간단하게 앱을 개발해 보려면 해당 플랫폼이 제공하는 SDK를 사용하는게 통상적인 쉬운 방법이죠.2016년 현재 GearS2는 Tizen 2.3.1 Wearable 플랫폼 기반으로 동작합니다. SDK를 다운로드 받고, 설치하려면 타이젠 개발자 사이트 ( http://developer.tizen.org ) 를 방문합니다. 바로 가는 링크는 : https://developer.tizen.org/ko/development/tools/download?langredirect=1 Tizen개발자 사이트의 다운로드 페이지에 가보니깐 Tizen 2.4 Rev4 SDK가 2016/3/4 부터 배포시작..

Torrent의 원리

1. BitTorrent ? - P2P 방식의 파일 공유 프로토콜로서, 파일을 여러개의 조각으로 나누어 서로 공유함- 브램 코헨이라는 사람이 창안하여, BitTorrent 회사를 창립하고 이를 통해 유지보수하고 오픈소스로 배포함- 전세계 네트워크 사용량을 보면, 동영상 스트리밍이 1위이고 2위가 P2P 이며, P2P 트래픽의 90%를 BitTorrent가 차지함.- 클라이언트의 종류로는 BitTorrent, μTorrent 가 있음. 2.BitTorrent 의 동작 개요도와 용어설명 1) Piece- 공유 파일의 한조각 의미함- 토렌트는 하나 파일을 여러개의 조각으로 나누고, 조각단위로 공유함- 조각의 크기는 토렌트 생성시 설정할 수 있음 2) Seeder : 공유 파일의 모든 조각을 가지고 있는 클라이..

[Mac OS] Eclipse로 맥에서 C/C++ 개발환경 만들기

맥에 Eclipse로 C/C++ 개발환경 만들기 이 부분은 간단하다.맥에서 java가 실행될 수 있도록 JDK, 혹은 JRE를 맥에 설치한다.그 후 '이클립스 CDT'를 설치 한다.기본적으로 맥에서는 gcc를 제공하지 않지만맥의 XCode에서 llvm을 gcc라는 이름으로 연결해서(심볼릭 링크인가..?) 사용하는것 같다.그래서 이클립스 CDT 에서도 컴파일 및 실행은 된다. 그러나 디버깅이 안된다.즉, break point 찍고, line by line으로 실행하는 등등의 기능이 안된다는 얘기.이유는 이클립스CDT는 디버거로써 'gdb' 라는 것을 사용하는데, 이 gdb가 mac에는 없기 때문인 것 같다. 맥에 GDB설치하기찾아보니 맥에 gdb를 설치하는 방법이 있다.아래방법은, OSX mavericks..

[Panda Board-es] Trouble shooting: booting에 문제가 있음.

3년전 구입해 가지고 있던 Pandaboard-es에 안드로이드를 올려서 가지고 놀아보고자, 다시 꺼내었다.SD카드 파티셔닝/포맷 후에 u-boot와 MLO를 넣고 booting 시도했으나 실패.serial연결해도 booting log조차 출력되지 않는 상황이었다. 오랫동안 사용하지 않은 보드의 H/W 적인 문제가 아닌가 고민하다가 pandaboard.org 에서 검색해보니 아래와 같이 H/W의 문제인지 아닌지를 판단할 수 있도록 pre-built 된 u-boot이미지, MLO, 그리고 kernel을 제공하고 있었다. 또한 제공된 이미지 안에 H/W test를 위한 쉘스크립트가 '/bin' 아래에 'panda-test.sh' 라는 이름으로 함께 제공되고 있어서 실행만 하면 다음 항목들에 대해 간단히 정상..

TiddlyWiki : DB와 설치가 필요없는 간단한 one file 위키

위키 'Wiki' 는 특정 내용을 '정보'로서 정리하고, 나중에 다시 찾아보고, 다른사람과 공유하기에 좋은 수단 인 것 같다.나도 개인적으로 위키를 활용해 정보들을 정리를 하고 싶어서 어떤 위키시스템을 사용할 것인지를 찾아봤었다. 그러나 설치가 복잡하거나 Database 가 필요하거나, 서버가 필요하다 등등 진입장벽으로 작용할 만한 내용들이 다수 존재 한다고 생각했었다. 그러나 내가 진입장벽이라고 여겼던 것들이 전혀 없는 아래와 같은 것이 존재했다. http://tiddlywiki.com/

The Expert (Short Comedy Sketch) : 개발자, 프로젝트 매니저 그리고 UX담당자와 클라이언트

이것은 IT개발 현장에서 흔히 발생하는 일을 한편의 짧은 코미디로 표현한 영상입니다.저는 IT개발현장에서 일하는 한명의 불쌍한 개발자입니다. 이 영상의 내용에 매우 격하게 공감을 하게 되네요.이 영상을 보시면 아시겠지만, 영상에서 말하는 'The Expert' 어떤 프로젝트를 맡아서 구현하는 '실무자' 를 말합니다. 부제는 ' 개발자 암걸리는 이야기' 쯤이 될 것 같네요. 각설하고, 영상을 한번 보시죠!Setting 에서 '한국어' 선택하시고 cc버튼으로 자막 켜기 하시면 한글 자막을 볼 수 있으니 내용 파악은 간단할 거에요! 출처 : http://www.youtube.com/watch?v=BKorP55Aqvg#action=share

ASLR : Address space layout randomization

Address space layout randomiztion(ASLR)은 buffer overflow 공격으로부터 보호하기 위한 컴퓨터 보안 기술이다.이 내용의 실제 구현 까지는 상당히 많은 dependency를 가지는데, Processor architecture, OS(kernel implementation), compiler, debugger, linker(loader) 등등이 상호 조화를 이루어 구현이 된다. 참고 : http://stackoverflow.com/questions/2463150/fpie-position-independent-executable-option-gcc-ld참고 : http://en.wikipedia.org/wiki/Address_space_layout_randomizati..

1 2 3 4 5