'작업노트/etc.'에 해당되는 글 10건
- 2010.09.19 Internet Explorer9(IE9) beta를 써봤는데... 1
- 2009.08.19 http content type
- 2009.04.20 NNTP, Usenet, UUCP 간략한 정의
- 2009.03.11 WOA - Web Oriented Architecture 관련 글
- 2009.01.15 [펌] 2년차 개발자가 알아야 할 기본 지식
- 2008.12.26 파이어폭스(firefox)에서의 새로고침 1
- 2008.10.28 [퍼온 글] 서울특별시의회 전자회의시스템 프로젝트 프로그램 개발자 폭행사건
- 2008.06.13 호오 쓸만한 녀석 일세
- 2008.03.15 SQLinForm - SQL문 정리기
- 2007.11.19 리틀 엔디안 (Little-Endian) / 빅 엔디안 (Big-Endian)
지금 돌고 있는 IE9의 자료들은 어차피 MS에서 자기네 마음대로 정한 항목에서
자기네 마음대로 정한 기준으로 테스트한것들 아닌가. 그냥 무작정 믿을 수 만은 없을 것 같다.
그냥 내가 체감상 느낀건 파이어폭스4 베타가 오히려 더 빠른 것 같다는 것.
파이어폭스가 처음에 프로그램 띄울때만 조금 느릴 뿐 일단 띄워놓고 웹서핑할 때는
약간 더 빠른 듯 느껴진다. (사실 거의 차이없다. 체감상 그렇다는 것)
그리고 결정적으로 치명적인 버그가 있는듯 한데 아래와 같은 현상은 나만 일어나는 것인가?
이 이미지들은 절대 페이지 로딩중에 캡쳐한 것이 아니다. 두개 모두 제대로 로딩이 안되서 2-3번정도 refresh한 후 5분 넘게 기다렸다가 캡쳐한 것들이다.
뭔가 이게;;; 플레시만 안뜨는 것 같지도 않고 원인이 뭔지 모르겠다.
항상 이런 것은 아니지만, 웹서핑을 어느정도 하다가 보면 자주.. 열에 아홉꼴로 이런 현상이 나타나고, 여러개의 탭을 열어둔것이 아깝지만, 종료했다가 다시 열어야 한다. (하지만 다시 열어도 해결되지 않을 때가 많다.)
참고로 아래 정상적인 화면들과 비교해보자.
그래 이건 베타다.. 이해하자.. 하지만 정식버전에서도 이러면.. 난 IE 안쓸것 같다.(ActiveX땜에 어쩔수 없이 써야할 때도 있겠지.. 쳇ㅋ)
혹시 뭐 어떤 설정값을 고치면 될지도 모르지만, 아, 귀찮다. 그냥 설치만하면 제대로 동작하게끔 해달라. 유저한테 너무 많은 걸 바라지 말라..
이건 그렇다 치고.. HTML5를 제대로 지원을 하고 있는 건지도 잘 모르겠다.
정체를 파악할 순 없지만 HTML5의 지원 정도를 점수로 보여주는 사이트가 있다.
www.html5test.com <-여기가 바로 거기다.
(HTML5가 뭔지 궁금한 분은 http://ko.wikipedia.org/wiki/HTML5 여기로 가보시길..
들어가기 싫은 사람은 그냥 웹의 새로운 표준이라고만 알아두자)
아무튼 저 사이트에서 테스트를 해보면... 파이어폭스4가 204점인데 반해 IE9은?
무려 96점이다.
물론 어떤 기준으로 점수를 매기는 지는 알수 없지만 100점이상 차이가 난다는건..
HTML5를 지원하겠다고 하면서 내놓은 브라우저라고 하기엔 납득하기 힘든 점수이다.
UI도 불편한 것 같다. 주소창과 탭들을 한줄에 놓고 있는데, 웹페이지 몇줄 더 보여주겠다고
이런 파격적인 UI로 변경하는 건.. 글쎄.. 답답하다는 느낌이다. 탭들이 너무 작다.
파이어폭스 같은 경우에도 변경이 있었는데 주소창을 탭 위가 아니라 탭 아래에 두었다.
이전에는 주소창과 탭이 서로 동떨어져 있었다면, 지금은 탭속에 주소창이 포함되어 있어,
UI의 일관성이 향상되었고, 사용자들이 사용할 때도 이해하기가 쉬울 것 같다.
어쩌다보니 파이어폭스4 vs IE9 로 비교하는 꼴이 되버렸는데.. 너무 IE9에 대한 칭찬글만 일색이어서 과연 칭찬할 것만 있을까란 생각으로 한번 적어보았다. 뭐.. 리뷰라고 할것도 없을 것 같다.. 주절거림 정도로 봐주시라. 중요한건 두 브라우저 모두 아직 베타 상태이고 앞으로 더 개선되고 좋아질 것이라는 점이다. 하지만, 베타만 놓고 비교했을 때는 파이어폭스에 한표를 던지고 싶다.
ps. 파이어폭스는 도대체 왜 프로그램 로딩시간이 그리도 긴 것일까..
ps. 크롬이 좀더 분발해서 다 눌러줬으면 하능...ㅋ
ps. 사파리, 오페라도 한번 써봐야 할 듯...(생각만..ㅋ)
ps. IE6는 이제 그만 놔주자..
'작업노트 > etc.' 카테고리의 다른 글
http content type (0) | 2009.08.19 |
---|---|
NNTP, Usenet, UUCP 간략한 정의 (0) | 2009.04.20 |
WOA - Web Oriented Architecture 관련 글 (0) | 2009.03.11 |
[펌] 2년차 개발자가 알아야 할 기본 지식 (0) | 2009.01.15 |
파이어폭스(firefox)에서의 새로고침 (1) | 2008.12.26 |
출처 : http://blog.daum.net/justdoit1978/5261242
Content-Type 의 종류.
1) Multipart Related MIME 타입
- Content-Type: Multipart/related <-- 기본형태
- Content-Type: Application/X-FixedRecord
2) XML Media의 타입
- Content-Type: text/xml
- Content-Type: Application/xml
- Content-Type: Application/xml-external-parsed-entity
- Content-Type: Application/xml-dtd
- Content-Type: Application/mathtml+xml
- Content-Type: Application/xslt+xml
3) Application의 타입
- Content-Type: Application/EDI-X12 <-- Defined in RFC 1767
- Content-Type: Application/EDIFACT <-- Defined in RFC 1767
- Content-Type: Application/javascript <-- Defined in RFC 4329
- Content-Type: Application/octet-stream : <-- 디폴트 미디어 타입은 운영체제 종종 실행파일, 다운로드를 의미
- Content-Type: Application/ogg <-- Defined in RFC 3534
- Content-Type: Application/x-shockwave-flash <-- Adobe Flash files
- Content-Type: Application/json <-- JavaScript Object Notation JSON; Defined in RFC 4627
- Content-Type: Application/x-www-form-urlencode <-- HTML Form 형태
* x-www-form-urlencode와 multipart/form-data은 둘다 폼 형태이지만 x-www-form-urlencode은 대용량 바이너리 테이터를 전송하기에 비능률적이기 때문에 대부분 첨부파일은 multipart/form-data를 사용하게 된다.
4) 오디오 타입
- Content-Type: audio/mpeg <-- MP3 or other MPEG audio
- Content-Type: audio/x-ms-wma <-- Windows Media Audio;
- Content-Type: audio/vnd.rn-realaudio <-- RealAudio; 등등
5) Multipart 타입
- Content-Type: multipart/mixed: MIME E-mail;
- Content-Type: multipart/alternative: MIME E-mail;
- Content-Type: multipart/related: MIME E-mail <-- Defined in RFC 2387 and used by MHTML(HTML mail)
- Content-Type: multipart/formed-data <-- 파일 첨부
6) TEXT 타입
- Content-Type: text/css
- Content-Type: text/html
- Content-Type: text/javascript
- Content-Type: text/plain
- Content-Type: text/xml
'작업노트 > etc.' 카테고리의 다른 글
Internet Explorer9(IE9) beta를 써봤는데... (1) | 2010.09.19 |
---|---|
NNTP, Usenet, UUCP 간략한 정의 (0) | 2009.04.20 |
WOA - Web Oriented Architecture 관련 글 (0) | 2009.03.11 |
[펌] 2년차 개발자가 알아야 할 기본 지식 (0) | 2009.01.15 |
파이어폭스(firefox)에서의 새로고침 (1) | 2008.12.26 |
The Network News Transfer Protocol or NNTP is an Internet application protocol used primarily for reading and posting Usenet articles (aka netnews), as well as transferring news among news servers. - Wikipedia -
Usenet, a portmanteau of "user" and "network", is a worldwide distributed Internet discussion system. It evolved from the general purpose UUCP architecture of the same name. - Wikipedia -
UUCP is an abbreviation for Unix-to-Unix Copy Program. The term generally refers to a suite of computer programs and protocols allowing remote execution of commands and transfer of files, email and netnews between computers. - Wikipedia -
Usenet
User Network(사용자 네트워크)의 약어이다. 유즈넷은 전자게시판의 일종으로 특정한 주제나 관심사에 대해 의견을 게시하거나 관련 분야에 대한 그림, 동영상, 실행파일, 데이터파일 등의 자료를 등록할 수 있는 전세계적인 토론 시스템이다. 1979년 미국 듀크대학교 대학원생이던 톰 트루스코트(Tom Truscott)와 짐 엘리스(Jim Ellis)의 정보교환에 대한 아이디어로 처음 시작되어 네트워크를 통해 서로의 의견을 교환하다가 발전되었다.
올라온 정보를 보기만 하는 웹과 달리 PC통신의 게시판처럼 다른 사용자와 각종 자료를 주고 받으며 토론도 벌일 수 있어 동호인이나 같은 분야에 관심을 가진 네티즌이 모이는 곳이다. 유즈넷은 특정한 분야에 대한 정보를 다루기 때문에 유용한 정보를 빠르게 찾을 수 있고, 서로 정보를 교환하며 도움을 주고받을 수도 있다.
유즈넷에 마련된 하나하나의 토론집단을 '뉴스그룹'이라 한다. 전세계적으로 수많은 사용자가 있고 특별히 통제력을 갖는 조직은 없으나, 뉴스그룹을 관리하는 관리자가 있어 해당 뉴스그룹에 대해 권한을 가지므로 그룹에 적합하지 않은 글은 삭제될 수 있고 특정인의 접속을 허가하지 않을 수도 있다.
유즈넷은 특정 전문가집단에 의해 운영되는 것이 아니라 인터넷을 사용하는 모든 사람들이 자발적으로 참여해 운영되기 때문에 다양한 내용을 갖는 것이 특징이다. 그러나 한편으로 뉴스그룹에는 토론주제에 관한 전문가와 관계자들이 많이 참여해 서로 공개적으로 의견을 나누기 때문에 고급 정보도 얻을 수 있다. - 네이버 백과사전 -
'작업노트 > etc.' 카테고리의 다른 글
Internet Explorer9(IE9) beta를 써봤는데... (1) | 2010.09.19 |
---|---|
http content type (0) | 2009.08.19 |
WOA - Web Oriented Architecture 관련 글 (0) | 2009.03.11 |
[펌] 2년차 개발자가 알아야 할 기본 지식 (0) | 2009.01.15 |
파이어폭스(firefox)에서의 새로고침 (1) | 2008.12.26 |
http://blog.naver.com/greenyon?Redirect=Log&logNo=100055657006
http://blog.naver.com/greenyon?Redirect=Log&logNo=100061128938
'작업노트 > etc.' 카테고리의 다른 글
http content type (0) | 2009.08.19 |
---|---|
NNTP, Usenet, UUCP 간략한 정의 (0) | 2009.04.20 |
[펌] 2년차 개발자가 알아야 할 기본 지식 (0) | 2009.01.15 |
파이어폭스(firefox)에서의 새로고침 (1) | 2008.12.26 |
[퍼온 글] 서울특별시의회 전자회의시스템 프로젝트 프로그램 개발자 폭행사건 (0) | 2008.10.28 |
1. 서버단 기술
- 자바
프로그래밍
. 객체 지향 프로그래밍 기본 이해(추상화, 다형성, 캡슐화)
. 중요한 자바 API 활용 가능(Collection
API, Reflection API, generic, annotation)
. 많이 쓰이는 기본 디자인 패턴 이해(VO 패턴, MVC
패턴, FILTER 패턴 및 OBSERVER 패턴)
-
Servlet/JSP
. 브라우저와 서버간의 통신에서 HttpServletRequest/Response 객체 생명 주기와 중요 메소드
이해
. 웹 어플리케이션 구조 및 배포 방법의 이해
(filter, listener, Servlet 배포 방법 및 프로그래밍 이해
--> web.xml의 이해)
. JSTL과 EL 이해(JSP 1.2와 2.0차이점 이해) 및 Custom Tag handler 작성
가능
2. 데이터베이스단 기술
-
Database
. 관계형 데이터 베이스 논리/물리 모델링 설계 가능(ERD 작성 가능)
. 적당한 수준의 정규화/역정규화를 통한
기본적 성능 향상 방법의 이해
. 적절한 인덱싱과 인라인 쿼리의 사용을 통한 기본 SQL Tunning 가능(plan 사용)
.
Hibernate와 iBatis등의 OR-Mapping 프레임웍의 등장 배경과 사용 이유에 대한 이해
3. 화면단 기술
-
Ajax/HTML/CSS/DOM/JavaScript
. JSON을 이용한 기본적 AJAX 프로그래밍 가능
. XHTML과 HTML의
차이점과 등장배경을 이해하고 코딩 가능
. DOM API를 이용해서 동적인 화면을 표현/제어
4. 광범위하게 쓰이는 프레임워크 사용법 기본 이해
- 오픈 프레임워크
사용 방법의 이해(개발자 수준에서)
. Struts : 전형적인 MVC패턴으로 구성된 스트럿츠의 구조를 파악하고 간단한 게시판을 코딩할
수 있는 수준
. Spring : 스프링 혹은 EJB 컨테이너가 빈을 관리함으로써(Ioc) 얻는 잇점과 이를 통해
이루어지는
다양한 엔터프라이즈급 서비스(AOP 등)등을 이해하고 사용할 수 있는 수준
5. 최소 토익
750 정도 수준의 영어 실력(각종 API의 원활한 참조를 위해)
- 최소 750점 이상 의 토익 실력(Reading 400점 이상
--> 기본적 독해가 가능한 최소 실력)
- A4지 한장분량의 (영자신문수준의) 영문을 10분 이내로 읽고 90% 이상 이해
가능
*
하드정리하다가 2년전에 이곳에 올렸던 게시물을 발견해 약간 수정후 다시 올립니다. (이전껀 지워졌더군요)
* 다시 생각해
봐도 2년차 웹 개발자 수준이라면 반드시 알아야 할 내용만 나열했습니다.
솔직한 심정으로, "실무에 투입할 신입개발자" 스펙으로서
알아야할 지식이라 생각됩니다.
============================================================================
'작업노트 > etc.' 카테고리의 다른 글
NNTP, Usenet, UUCP 간략한 정의 (0) | 2009.04.20 |
---|---|
WOA - Web Oriented Architecture 관련 글 (0) | 2009.03.11 |
파이어폭스(firefox)에서의 새로고침 (1) | 2008.12.26 |
[퍼온 글] 서울특별시의회 전자회의시스템 프로젝트 프로그램 개발자 폭행사건 (0) | 2008.10.28 |
호오 쓸만한 녀석 일세 (0) | 2008.06.13 |
하나는 일반적인 새로 고침(단축키: Ctrl+R 또는 F5) 이고,
또 하나는 캐시를 무시한 완전히 새로 고침(단축키: Ctrl+Shift+R 또는 Ctrl+F5) 이다.
파폭으로 개발하다보면,
'작업노트 > etc.' 카테고리의 다른 글
WOA - Web Oriented Architecture 관련 글 (0) | 2009.03.11 |
---|---|
[펌] 2년차 개발자가 알아야 할 기본 지식 (0) | 2009.01.15 |
[퍼온 글] 서울특별시의회 전자회의시스템 프로젝트 프로그램 개발자 폭행사건 (0) | 2008.10.28 |
호오 쓸만한 녀석 일세 (0) | 2008.06.13 |
SQLinForm - SQL문 정리기 (0) | 2008.03.15 |
이 글을 올리게 된것이 너무 힘들다...대한민국의 개발자들에게 알리고 싶댜.
사건일시: 2008년 10월 23일 12시10분경
사건내용
2008년 서울시의회 176회 2차 본회의가 있는 날이다. 이 글의 개발자는 폭행 당한 개발자 당사자이다.
개발자는 평소대로 개발실에서 대기하고 있었다. 12시경 전화가 울렸다. 김* 주임이 의사과장이 의장용 프로그램의 버튼 인식 방식을 변경하라고 했다는 것이다. 즉 버튼을 눌렸을 경우 바로 다음 시나리오로 진행하는 것과 시간을 조금 빨리 변경해 달라는 것이다. 프로그램을 수정하기엔 본회의가 열리기 2시간 전이라 위험하고 테스트 시간이 부족하였다. PM에게 전달하니. PM이 김* 주임에게 시간이 부족하고 위험하니 혹시 발생할 위험성에 대한 책임으로 문서로 처리하여 주면 프로그램을 수정하여 주겠다고 전했다. 이에 의사팀장이 PM을 잠깐 만나자는 연락이 왔었지만 PM이 자리에 없었다. PM이 자리에 와서 의사팀장이 만나자는 내용을 전달 했다. 이때 본회의장 시나리오 담당자에게 연락이 왔다. 잠깐 내려오라는 것이다. 개발자는 혹시 다른 지원할 것이 있는 것으로 인식하고 내려갔다. 본회의장에 내려가니 의사과장은 의장 프로그램을 보고 있고 의사과 직원들15명 이상이 의원석에 앉아 있었다. 시나리오 담당자는 예전에 얘기된 의장프로그램 폰트 사이즈 크기가 왜 수정되지 않은 지 의사과장에게 다시 설명 해 달라는 것이다. 순간 의사팀장이 들어 왔다.
“누가 하지 말랬어?” 하고 개발자에게 물었다. 개발자는 순간 아무런 얘기는 하지 못했다.
그때부터 폭행은 시작되었다.
구두발로 개발자의 무릎을 두번 차고 다음 복부를 발로 차고 옆구리를 돌려차기 하였다. 아무도 말리는 사람 없었다. 잠시 후 누군가가 와서 의사팀장을 말렸다.
개발자는 너무 황당하여 아무런 대항도 하지 않고 본회의장에서 나왔다.
의사과장은 그냥 지켜보고만 있었다. 개발자가 폭행은 당하고 있는 데로 당연하듯 쳐다보고만 있었다. 그 많은 의사과 직원들(남직원4명이상,여직원 10명이상)이 보고 있는 가운데 폭행을 당했다.
개발자는 바로 개발실로 올라가 PM에게 현재 상황을 전달하였다. PM은 어떻게 이런 경우가 있냐며 개발자를 본회의장으로 데려 갔다. 의사과장은 단상 앞에 있었다. PM이 얘기 했다. 어떻게 개발자를 폭행 할 수 있냐고, 이때 의사팀장이 나왔다. 싸우겠다는 태도처럼 PM앞으로 나오자 다른 직원 두 사람을 말렸다. 의사과장 왈 지시대로 했으면 이런 일은 없을 거냐며 얘기했다. 즉 이 모든 폭행사실을 보고 있었던 것이다.
본회의장을 나왔다. 다른 의사과 직원과 팀장들이 같이 나왔다. 참아달라고 했다. 너무 억울했다. 112에 신고 하였다. 경찰 2명이 왔다. 본회의장에 들어 가려고 하니. 의사과 * 팀장이 말렸다. 경찰이 못 들어 갈 일이 없다고 하였다. 3번 이상 경찰과 실갱이 벌였다. 경찰이 본회의장에 들어갔지만 폭행한 팀장이 없었다. 다른 팀장에게 사무실로 가자고 하였다.
폭행한 팀장은 사무실에 있었다. 다른 직원들은 점심시간이 되어 본회의가 열릴 때 시켜먹는 도시락을 먹고 있었다.
경찰이 팀장을 불러 사무실을 밖으로 나왔다. 이때 남직원들이 같이 나왔다. 경찰이 현행범으로 체포한다고 하자 옆에 팀장들이 오늘 본회의가 있으니 본회의 끝나고 진해하면 않되겠나며 얘기했다. 개발자는 어이없다. 그 많은 사람들 앞에서 맞은 것도 억울 한데.
경찰이 내 의사를 물었다. 일단 개발자는 양보했다. 본회의 끝나면 이 폭행사건을 고소하겠다고 했다. 경찰은 물러갔다.
개발실로 갔다. 너무 황당하고 당황스럽다.
여기까지 2008년 10월23일 서울시의회 프로그램 개발자 폭행사건의 내용이다.
글을 쓰고 있지만 아직도 다리와 복부쪽이 통증이 심하다.
신체적 아픔은 참을 수 있지만 정신적 충격은…
개발경력 8년이상 지금과 같은 경우는 처음이다.
이에 이 비통한 사실을 IT강국이라는 대한민국 현실을 전 세계에 알리고 싶다.
현재 서울시의회에서 의원들이 사용하는 프로그램이 개발자의 땀과 노력이 아닌 폭행으로 흘려진 개발자의 피와 얼룩진 시퍼런 멍으로 만든 프로그램이란 것을 꼭 알리고 싶다
원본글: http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=69&MAEULNo=28&no=11212
다음 아고라:http://bbs3.agora.media.daum.net/gaia/do/story/read?bbsId=K161&articleId=76768
미친거죠, 똘추 같은 넘들.
왜 한국에는 저렇게
같잖은 권위를 남발하는 사람이 많을까요?
근데 왜 맞기만 하셨지
나같았으면.. 아쉽네요 ㅎ
'작업노트 > etc.' 카테고리의 다른 글
[펌] 2년차 개발자가 알아야 할 기본 지식 (0) | 2009.01.15 |
---|---|
파이어폭스(firefox)에서의 새로고침 (1) | 2008.12.26 |
호오 쓸만한 녀석 일세 (0) | 2008.06.13 |
SQLinForm - SQL문 정리기 (0) | 2008.03.15 |
리틀 엔디안 (Little-Endian) / 빅 엔디안 (Big-Endian) (0) | 2007.11.19 |
'작업노트 > etc.' 카테고리의 다른 글
[펌] 2년차 개발자가 알아야 할 기본 지식 (0) | 2009.01.15 |
---|---|
파이어폭스(firefox)에서의 새로고침 (1) | 2008.12.26 |
[퍼온 글] 서울특별시의회 전자회의시스템 프로젝트 프로그램 개발자 폭행사건 (0) | 2008.10.28 |
SQLinForm - SQL문 정리기 (0) | 2008.03.15 |
리틀 엔디안 (Little-Endian) / 빅 엔디안 (Big-Endian) (0) | 2007.11.19 |
어떻게 써야 보기 좋을까 띄어쓰기 하랴 엔터키 치랴...
이런데 쓰는 시간만 합쳐도 꽤 될것 같다.
요즘 하드코딩된 sql문을 보기좋게 해서 xml로 빼내는
완전 단순 노가다;; 작업을 하고 있는데,
다행히도 sql 포맷터가 있었다.
포맷터에도 종류가 여러가지인데, 회사분이 추천해준 SQLinForm 이란 걸 쓰기로 했다.
온라인 버전과 데스크탑 버전이 있는데(데스크탑버전은 올해 새로나온듯)
데스크탑 버전이 좀더 편리 할 것 같다.
SQLinForm사이트 에 가서 좌측 상단에
'Desktop Version 2008' 을 클릭하면 다운 받을 수 있다.
jar파일로 되있는데 JRE(자바실행환경)가 깔려있어야 실행가능하다.
안그러면 압축파일이라서 알집등으로 열릴 수 있다.;
'작업노트 > etc.' 카테고리의 다른 글
[펌] 2년차 개발자가 알아야 할 기본 지식 (0) | 2009.01.15 |
---|---|
파이어폭스(firefox)에서의 새로고침 (1) | 2008.12.26 |
[퍼온 글] 서울특별시의회 전자회의시스템 프로젝트 프로그램 개발자 폭행사건 (0) | 2008.10.28 |
호오 쓸만한 녀석 일세 (0) | 2008.06.13 |
리틀 엔디안 (Little-Endian) / 빅 엔디안 (Big-Endian) (0) | 2007.11.19 |
데이터 저장/전송에서 주의할 바이트 순서 (리틀 엔디안 / 빅 엔디안)
글. 오상문 (sualchi@yahoo.co.kr / sualchi@daum.net )
-----------------------------------------------------------------------
컴퓨터에서 어떤 크기의 데이터를 메모리에 저장할 때 바이트 단위로 나누어 저장한다.
그렇다면 2바이트나 4바이트 크기의 데이터는 어떤 바이트 순서로 저장할까?
먼저 본론부터 말하면 CPU 유형에 따라 바이트 저장순서가 달라질 수 있다.
크게 두 가지로 나뉘는 데 그것이 바로 ‘리틀 엔디안’과 ‘빅 엔디안’ 방식이다.
1. 리틀 엔디안 (Little-Endian)
시작 주소에 하위 바이트부터 기록
( Intel 80x86 (IBM-PC), DEC VAX, DEC PDP-11 )
주로 SCO 유닉스나 MS 윈도우가 돌아가는 Intel 프로세서 계열 시스템
-----------------------------------------------------------------------
-----------------------------------------------------------------------
2. 빅 엔디안 (Big-Endian)
시작 주소에 상위 바이트부터 기록
( IBM370, Motorola 68000, Pyramid )
상용 UNIX가 주로 돌아가는 RISC 프로세서 계열 시스템
-----------------------------------------------------------------------
-----------------------------------------------------------------------
네트웍에서 데이터 전송을 할 때도 이러한 엔디안 방식에 주의해야 한다.
서로 다른 데이터 저장 방식의 시스템끼리 통신하게 되면 전혀 엉뚱한 값을
주고받기 때문이다. (저장순서가 서로 반대임)
네트웍 데이터 통신에서는 네트워크 바이트 순서(network byte order, 빅 엔디안)를
따르도록 데이터의 바이트 순서를 변경해야 한다.
(TCP/IP, XNS, SNA 규약은 16비트와 32비트 정수에서 빅 엔디안 방식을 사용함)
클라이언트측 : 네트워크 바이트 순서(빅 엔디안)로 변경하여 전송한다.
htonl 같은 함수(host to network)를 이용해서 변경시켜주면 된다.
data = htonl(data); // data : 전송할 4바이트 값
write(client_sockfd, (void *)&data, sizeof(int));
서버측 : 받은 값(네트웍 바이트 순서(빅 엔디안))을 자신에게 맞게 변환하여 사용한다.
ntohl 같은 함수(network to host)를 이용해서 변경시켜주면 된다.
printf("%d\n", ntohl(data)); // data : 전송 받은 4바이트 값
close(client_sockfd);
<이상>
참조 : ‘endian에 대해서, 윤 상배(dreamyun@yahoo.co.kr)’ 등 인터넷 문서 일부
---------------------------------------------------------------------------
if (*(char *)&x == 1) {
/* printf("Little-Endian\n"); */
else {
'작업노트 > etc.' 카테고리의 다른 글
[펌] 2년차 개발자가 알아야 할 기본 지식 (0) | 2009.01.15 |
---|---|
파이어폭스(firefox)에서의 새로고침 (1) | 2008.12.26 |
[퍼온 글] 서울특별시의회 전자회의시스템 프로젝트 프로그램 개발자 폭행사건 (0) | 2008.10.28 |
호오 쓸만한 녀석 일세 (0) | 2008.06.13 |
SQLinForm - SQL문 정리기 (0) | 2008.03.15 |