<div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">음.. 오늘은 <b>임베디드의 구조</b>에 대해서 적어 볼까 합니다.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">임베디드는 앞에 말했듯이. 매우 광범위한 분야의 기술/제품을 의미합니다.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">자동 판매기 역시 임베디드가 될 수 있고,</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">지하철 개표기 도 임베디드라 할 수 있죠</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">그리고 편의점의 바코드 리더기도 임베디드라 할 수 있고</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">밥솥, 냉장고, 세탁기, 로봇 청소기, 인터폰, 핸드폰 모두 임베디드라 할 수 있습니다.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">이렇듯 임베디드는 형태가 다양하기에 단순화 하긴 어려우나 그럼에도 불구하고 구조를 정리하자면</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><b>프로세서(Processor)</b></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">말그대로 데이터를 처리하는 녀석입니다.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">임베디드의 일반적인 요구사항은 <b>저전력</b>, 실시간성입니다.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">물론 저전력이기에 배터리로 작동하는 녀석들도 있기도 하고, AC 전원을 연결해서 작동하는 경우도 있겠지만</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">우리가 사용하는 intel / AMD x86 혹은 x64에 비하면 정말 이슬 먹고 사는 정도의 전원을 소비합니다.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">하지만 특화된 기능을 위해서 만들어진 시스템이기 때문에 누르면 빠릿빠릿하게 작동해야 하며 </span></font><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;">제한적이거나 완전한 실시간성을 요구하게 됩니다.</span></div> <div><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;">그리고 임베디드 장비는 가격보다는 수량으로 승부하는 경우도 많기 때문에(예를 들어 센서 네트워크 장비.. 그냥 살포하는 수준으로..)</span></div> <div><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;"><b>개별 비용이 높을수가 없고 그렇기에 프로세서도 요구사항에 맞춰 최소한의 성능을 보장</b>하는 저가의 CPU를 사용하게 됩니다.</span></div> <div><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;">그렇기에 intel cpu 같은 부르주아의 제품을 쓰는 경우는 극히 드물며</span></div> <div><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;">ARM사의 ARM 계열 CPU나 intel의 8015 계열 저는 다뤄보진 않았지만 Zilog의 Z80 계열 </span><span style="font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;line-height:21.6000003814697px;">ATMEL 사의 AVR 계열을 사용하게 됩니다.</span></div> <div><span style="font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;line-height:21.6000003814697px;">저가 임베디드의 경우 AVR에서 cortex-m3 계열의 ARM 으로 전환하는 추세이고(가격이라던가 성능으로)</span></div> <div><span style="font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;line-height:21.6000003814697px;">이러한 프로세서들은 원칩솔루션으로<b> CPU 안에 RAM과 FLASH가 내장</b>되어 하나의 칩으로 모든 기능을 구현하기도 합니다.</span></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif" style="font-size:9pt;line-height:1.5;"><span style="line-height:21.6000003814697px;">- <a target="_blank" href="http://todayhumor.com/?programmer_12362" target="_blank">이전 글</a>의 댓글이나 </span></font><a target="_blank" href="http://todayhumor.com/?programmer_12363" style="font-size:9pt;line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;" target="_blank">CPU 종류 관련 용어 정리</a><span style="font-size:9pt;line-height:1.5;"> 를 참고 하시면 다른분들의 댓글에 보석같은 내용들이 있습니다.</span></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><b>범용 입출력 포트(GPIO - General Purpose Input Output)</b></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">임베디드의 꽃이라고 해야하려나.. 핵심이라고 해야하려나..</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">일반 x86 계열의 cpu 들은 gpio가 제한되거나 없습니다. 외부와의 데이터를 주고 받는데 있어서 저속의 통신 채널 보다는</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">고속의 전용장비(rs-232 시리얼, 패러럴 포트, SCSI, IDE, SATA, Fast Ethernet, GbE ...) 등을 통해 통신을 해서 처리해야지</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">cpu가 핀 하나 가지고 벌벌 떨면서 다른 작업 못하면 아까울 테니까요.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">그리고 표준 규격화된 통신 채널을 가지고 있기 때문에 비표준이고 장비마다 다 다른 통신방법을 지원할 이유가 없습니다.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">하지만<b> 임베디드는 장비에 특화되거나 특정한 프로토콜을 이용</b>해야 하기 때문여 </span></font><span style="font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;font-size:9pt;">사용양이 많지 않은 통신 하드웨어를 제공해주지 못하기 때문에</span></div> <div><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;">cpu 소비를 많이 하더라도 GPIO를 통해 직접 통신을 구현해야 할 수 밖에 없는 상황입니다.</span></div> <div><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;">일반적으로 while() 루프를 통해 핀의 데이터를 읽거나 interrupt 방식으로 rising edge나 falling edge를 탐지하여 값의 변화를 탐지하여 작동하며</span></div> <div><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;">탐지 이후에는 ISR(Interrupt Service Routine)을 통해 cpu가 직접 데이터를 처리하게 됩니다.</span></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">PC에서 랜카드를 통해 통신 할때, CPU는 랜 카드로 데이터만 전달해주고 전송에 대한 모든 처리는 LAN에서 하는 것과는 대조적이며</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">이런 과정에서 CPU를 많이 소모하게 되기에 LAN 이라는 하드웨어 통신 장치를 만들게 됩니다.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">아무튼, 이런 GPIO가 있기에 편리하게 LED를 on/off 하거나</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">비표준의 장치들 그리고 PC에는 연결하기 힘든 수 많은 센서/반도체들을 자유자재로 연결 할 수 있습니다.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><b>메인 메모리(RAM / Main Memory)</b></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">메모리는 컴퓨터가 작업을 하기 위한 공간으로 넓으면 넓을 수록 좋습니다.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">하지만 임베디드 시스템에서는 OS가 존재하지 않거나, 간소화된 OS 혹은 RTOS를 통해 작동하게 되어</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">malloc등을 쓰지 않거나 쓸 수 없는 시스템으로 구성됩니다. 동적(dynamic)이라는 의미는 예측할 수 없으며</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">디버깅이 힘든 문제를 발생하므로 정적인 시스템으로 구성하여 성능과 안정성을 끌어 올리기도 합니다.</span></font></div> <div>그리고 기본적으로 프로세서 내에 내장된 메모리는<b> SRAM으로 외부에 장착되는 DRAM보다 작동 속도가 빠르기에</b></div> <div>신뢰성이 있으며 납득가능한 속도의 (빠른) 저가형 시스템을 구축하는데 도움을 줍니다.</div> <div>물론 사용하는 용도에 따라 칩에 외부 메모리를 달 수 있는 옵션을 제공하는 경우도 있습니다.</div> <div><br></div> <div><br></div> <div><b>스토리지(Storage)</b></div> <div>우리가 사용하는 SD 메모리 HDD와 같이 OS나 프로그램을 담는 공간을 스토리지라고 합니다.</div> <div>PC에서는 HDD나 SSD등을 이용하여 부팅을 하지만 HDD나 SSD는 단가 및 부피 면에서 문제가 있기에</div> <div>제품에 칩 형태로 NAND FLASH 메모리를 장착하여 부팅을 하게 됩니다. EVK 레벨에서는 SD 카드를 통해 부팅을 진행하기도 하지만</div> <div>일반적으로 wear leveling이나 SD 메모리 단자의 신뢰성의 문제로 제품화 하는 경우는 많지 않습니다.</div> <div><br></div> <div><br></div> <div><b>인터페이스(interface)</b></div> <div>인터페이스는 다른 장치나 같은 프로세서 끼리 통신을 위한 통신 수단이며</div> <div>SoC(System on Chip)의 사양에 따라 UART 시리얼 포트가 3개 이상 장착되기도 하며</div> <div>고가의 ARM 칩에서는 SATA나 PCI-Ex 포트 등도 장착이 가능합니다.</div> <div>단, 임베디드 시스템은 주변 기기보다는 보드내 다른 칩들과 통신을 많이 하게 되므로</div> <div>I2C(TWI), SPI, CAN, UART 그리고 끝판왕 GPIO를 다수 장착하게 됩니다.</div> <div><br></div> <div><br></div> <div><b>특화된 하드웨어 가속장비</b></div> <div>적용 분야에 따라 다르지만 영상의 경우(DVR,블랙박스, CCTV, 핸드폰...) ARM CPU와 같은 임베디드 프로세서 만의 성능으로는</div> <div>재생이 불가능 합니다. 과거 486 시절만 해도 160x120 사이즈의 동영상도 힘들어 했으며,</div> <div>H.264의 경우 펜4 급에서도 돌리기 힘들 정도의 성능입니다. 하지만 하드웨어 디코더를 프로세서에 내장함으로서</div> <div>저전력의 시스템에서 충분한 성능의 비디오 디코딩/인코딩 성능을 보여주며</div> <div>이로 인해, PC에서는 동영상이 끊어지는데 핸드폰은 잘보여! 라는 사태가 발생하기도 합니다.</div> <div>이런 특화된 장비들은 SoC 개념으로 프로세서 내에 내장되며, 옵션에 따라서 지원가능한 사양들이 변경 됩니다.</div> <div><br></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><b>운영체제(Operating System - OS)</b></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">저가의 소형 임베디드는 OS 없이 main() 함수 내의 while()을 통해 무한반복되는 프로그램으로 구성되며</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">약간 규모가 있는 임베디드는 ucos와 같은 OS나 RTOS 그리고 embedded linux를 탑재합니다.</span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">규모가 더 커지면 embedded windows나 winCE 등을 탑재합니다만, </span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">라이센스/비용 문제로 인해 키오스크와 같은 GUI가 중요한 시스템이 아니라면 </span></font><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;">대개는 임베디드 리눅스를 탑재하게 됩니다.</span></div> <div><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;"><br></span></div> <div><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;"><br></span></div> <div><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;"><br></span></div> <div><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;"><br></span></div> <div> <hr></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">임베디드란 무엇인가</span></font></div> <div> <ul><li><span style="line-height:21.6000003814697px;font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;"><a target="_blank" href="http://todayhumor.com/?programmer_12362" target="_blank">임베디드의 정의</a></span></li></ul></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">프로그래밍 언어란</span></font></div> <ul style="font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><li><a target="_blank" href="http://todayhumor.com/?programmer_12065" style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;line-height:1.5;color:#0000ff;text-decoration:none;">프로그래밍 언어란</a></li> <li><font face="굴림, gulim, 돋움, Dotum, Helvetica, AppleGothic, sans-serif"><a target="_blank" href="http://todayhumor.com/?programmer_12087" style="color:#0000ff;text-decoration:none;">프로그래밍 언어의 종류와 구성</a></font></li> <li><a target="_blank" href="http://todayhumor.com/?programmer_12115" style="color:#0000ff;text-decoration:none;">프로그래밍 언어의 식별자</a></li> <li><a target="_blank" href="http://todayhumor.com/?programmer_12145" style="color:#0000ff;text-decoration:none;">프로그래밍 언어의 변수</a></li> <li><a target="_blank" href="http://todayhumor.com/?programmer_12167" style="color:#0000ff;text-decoration:none;">프로그래밍 언어의 제어문</a></li> <li><a target="_blank" href="http://todayhumor.com/?programmer_12212" target="_blank">프로그래밍 언어의 함수</a></li></ul><div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><br></span></font></div> <div><font face="굴림, gulim, ë‹ì›€, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;">개발의 길로 들어서려는 분들을 위한 오늘의 조언</span></font></div> <div> <ul><li style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><a target="_blank" href="http://todayhumor.com/?programmer_11379" style="color:#0000ff;text-decoration:none;line-height:21.6000003814697px;font-size:9pt;">처음부터 쪼개지 마라. 하나로 못둘때 쪼개라</a></li> <li style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><a target="_blank" href="http://todayhumor.com/?programmer_11364" style="color:#0000ff;text-decoration:none;line-height:21.6000003814697px;font-size:9pt;">input - output 을 먼저 정해라</a></li> <li style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><a target="_blank" href="http://todayhumor.com/?programmer_11414" style="color:#0000ff;text-decoration:none;line-height:21.6000003814697px;font-size:9pt;">손은 눈보다 빠르다</a></li> <li style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><a target="_blank" href="http://todayhumor.com/?programmer_11488" style="color:#0000ff;text-decoration:none;line-height:21.6000003814697px;font-size:9pt;">자신만의 템플릿을 만들어라</a></li> <li style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><a target="_blank" href="http://todayhumor.com/?programmer_11526" style="color:#0000ff;text-decoration:none;line-height:21.6000003814697px;font-size:9pt;">문법을 넘어서라</a></li> <li style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><a target="_blank" href="http://todayhumor.com/?programmer_11551" style="color:#0000ff;text-decoration:none;">공부는 셀프</a></li> <li style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><font face="굴림, gulim, 돋움, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><a target="_blank" href="http://todayhumor.com/?programmer_11596" style="color:#0000ff;text-decoration:none;">컴퓨터는 똥 멍청이다</a></span></font></li> <li style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><font face="굴림, gulim, 돋움, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><a target="_blank" href="http://todayhumor.com/?programmer_11633" style="color:#0000ff;text-decoration:none;">먼저 자신을 의심해라</a></span></font></li> <li style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><a target="_blank" href="http://todayhumor.com/?programmer_11719" style="color:#0000ff;text-decoration:none;">메뉴얼 먼저!!</a></li> <li style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><font face="굴림, gulim, 돋움, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><a target="_blank" href="http://todayhumor.com/?programmer_11773" style="color:#0000ff;text-decoration:none;">읽고 읽고 또 읽어라</a></span></font></li> <li style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"><font face="굴림, gulim, 돋움, Dotum, Helvetica, AppleGothic, sans-serif"><a target="_blank" href="http://todayhumor.com/?programmer_11806" style="color:#0000ff;text-decoration:none;">근원으로 돌아가라</a></font></li> <li><font face="굴림, gulim, 돋움, Dotum, Helvetica, AppleGothic, sans-serif"><span style="line-height:21.6000003814697px;"><a target="_blank" href="http://todayhumor.com/?programmer_11836" target="_blank">여긴 오지마 지옥이야</a></span></font></li></ul></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.