본문 바로가기

전체 글

(38)
리눅스 프로그래밍 - 커널 소스 분석하기 ( ftp 서버 구현, 쓰래드 다루기 ) 0. 서론 쓰레드는 전역변수를 공유한다. 고로 전역변수가 있는 함수를 통해 버퍼링을 하면 안된다. -> 멀티 프로세스를 활용. 서버는 명령어를 분석해야 하기 때문에 readline을 사용-> \n 문자열을 받아야 하기 때문. (line 단위 read : readline) length 단위 read : readn ( 커널은 자신이 정해둔 기본 단위 만큼 전송하기 때문에(헤더에 있는 값이 기준인 것 처럼 보임-확인필요), 정확한 길이만큼 데이터를 받고 사용하려면 길이만큼 작동하는 함수 - readn, writen이 필요 ) 클라이언트는 데이터를 받아야 하기 때문에 readn을 사용 1. ftp server 구현 1. ls\n -> readline() 2. readn() [ftp_server] #include..
리눅스 프로그래밍 - 커널 소스 분석 ( 소켓, 서버 ) 1. socket int socket(int family, int type, int protocol); family : 인터넷 프로토콜 체계 명명 type : soket type protocol : TCP, UPD 이런 것 중 어느 것을 사용 할 지 socket 사용 코드 #include #include #include #include #include #include #include #include void err_quit ( char *msg) { printf ("socket error\n"); printf ("errno=%d, %s\n",errno, strerror(errno) ); perror (msg); exit (0); } int Socket(int domain, int type, int pro..
리눅스 프로그래밍 - 커널 소스 분석 ( 네트워크 기초 ) 오랜만에 초심으로 돌아가 리눅스 프로그램을 까보았습니다. 사실 선생님 한분이 도와주셨어요. 네트워크 전공 이신지 네트워크 위주로 시작했습니다. 1. 리눅스 커널 소스 가져오기 The Linux Kernel Archives kernel.org $ wget으로 웹에서 데이터 가져옴 2. 커널 소스 태깅하기 $ make tags 3. iphdr : ip 프로토콜 struct iphdr { __u8 ihl:4, // 길이 : 5*4 byte version:4; __u8 tos; // type of service - 현재 미사용 __be16 tot_len; // byte 단위, data length = tot_len -ihl*4 __be16 id; // 패킷을 나눴을 때 동일한 패킷임을 확인하는 Id __be16..
인터렉티브 웹 - BBC 사이트 따라해보기3 드디어 마지막 강의. 이 짧은 강의 듣고 완성하는데 거진 한달 반이 걸렸네요. 게을러서 ㅠ 이전 글은 아래를 참고 해주세요. 인터렉티브 웹 - BBC 사이트 따라해보기2 좀 오랜시간이 지난 후 돌아온 긴 두번째 BBC 사이트 따라해보기 글입니다. 텀이 길어요... 이전글은 아래를 참고해주세요. 인터랙티브 웹 - BBC 사이트 따라해보기1 진짜 진짜 오랜만에 회사외 일 nevertheless-intheworld.tistory.com 주요 내용 : 애니메이션 효과 1. data-action -> data-action으로 할당된 함수를 실행시키라는 의미 무료 강의고 쉽게 접근 하기 위해 별다른 기술을 사용하지 않고 html에 바로 값을 할당해 준 것으로 생각 된다. 2. 새를 날게 하는 애니메이션 방식 con..
인터렉티브 웹 - BBC 사이트 따라해보기2 좀 오랜시간이 지난 후 돌아온 긴 두번째 BBC 사이트 따라해보기 글입니다. 텀이 길어요... 이전글은 아래를 참고해주세요. 인터랙티브 웹 - BBC 사이트 따라해보기1 진짜 진짜 오랜만에 회사외 일로 개발을 시도해봅니다. 작년에 마음에 품었던 ArtBook이라는 주제로 개발을 시도해 보고 하는데, 아는 것이 너무 없더라고요... 맨날 C와 리눅스, sql, 서버만 개발 nevertheless-intheworld.tistory.com BBC 사이트 따라해보기2 강의 링크도 아래 둘게요~! 열심히 따라하는 중. 1. Element에 data(속성)을 추가하는 방식은 두가지 - setAttribute - ex : Elems[i].setAttribute( 'data-index', i) - dataset - E..
[PL/SQL] 에러 해결 : pls-00905 object is invalid PL/SQL을 다루다가 에러가 발생하였습니다. 에러 날 때마다 정리 좀 해두면 좀 편할까 싶어 정리해둡니다. ===== PLS-00905 오브젝트가 부당합니다. ===== 찾아보니 컴파일 에러가 발생한, 그러니깐 이상한 Stored Procedure를 계속 컴파일 실행하다 발생하는 에러 같다. 내 상황 : Package 컴파일 실행 해결 : DEF부터 하나씩 에러를 잡아주기 방법 1. sqlplus 로 오라클 접근 2. DEF 컴파일 @Package_name_DEF.sql / 3. 에러 확인 show errors 4. 에러 수정 5. 재컴파일 show errors 라는 게 가능 하다니 놀라운 발견을 하였다....
인터렉티브 웹 - BBC 사이트 따라해보기1 진짜 진짜 오랜만에 회사외 일로 개발을 시도해봅니다. 작년에 마음에 품었던 ArtBook이라는 주제로 개발을 시도해 보고 하는데, 아는 것이 너무 없더라고요... 맨날 C와 리눅스, sql, 서버만 개발 하고 있으니 웹 개발에 대한 모든 것을 잊었답니다. 고로 기초부터 다시! 창조의 어머니는 모방! 이라는 마음으로 따라해볼 강의를 찾아보았어요. 그렇게 고른 것이 1분코딩님 강의 입니다. 1분코딩님의 BBC 인터렉티브 페이지 따라하기 가볍게 따라하기 좋은 강의입니다. 1,2편으로 비교적 짧고, 1분코딩님이 소스 코드를 공유해주신 덕이지요. - 1편 리뷰 1. 오랜만에 css를 다루니 아주 어색하다. position들 부터 어색. 2. 이번에 다룬 position은 총 3가지 sticky : 한번 해당 위치..
맥과 윈도우 유용한 단축키 모음 맥과 윈도우를 함께 사용하면서 매번 햇갈리는 그러나 자주 사용하는 단축키들을 모아뒀다. 현재까지는 주로 윈도우를 사용하였어서 위도우 내용이 더 많다. 계속 업데이트 할 예정. 화면 닫기 - 맥 cmd + w : 탭 닫기 cmd + q : 창 종료 듀얼모니터 이동하기 - 윈도우 win + shift + 방향키 파일 탐색기 들어가기 - 윈도우 win + e - 맥 cmd + space : 사실 finder를 찾기보다는 검색 도구 열때 많이 사용 앱사용중 바탕화면으로 돌아가기 - 윈도우 win + d win + m 앱 전환하기 - 윈도우 alt + tab - 맥 cmd + tab PC 잠그기 - 윈도우 win + l 작업관리자 열기 - 윈도우 ctrl + shift + esc - 맥 cmd + opt + es..