본문 바로가기

프로그래밍

(20)
[150909] 리눅스 기반 채팅 chat_sv.c - 1 [150909] 리눅스 기반 채팅 sv_socket.c 지난 번과 마찬가지로 채팅 프로그램이다. 다소 다른 점이 있다면, 단방향 통신에서 양방향 통신으로 바뀌었고 계속해서 기능을 붙여나갈 거라는 정도..? 학기 중에 같이하려니 여간 바쁜게 (귀찮은게) 아니다... 이것만 붙잡고 있을 수도 없는 노릇이니.. 안그래도 이번 학기에 C와 JAVA를 동시에 진행한다. 그 외에 수학과목들과 도대체가 목적을 알 수 없는 오토마타 수업까지.. 바빠서 포스팅이 늦어진다고 또 합리화해본다. 지난 포스팅에서 등장했던 소켓과 각종 함수들을 이해하자마자, 양방향 통신에서는 또 다른 개념들이 등장한다. 주요 개념을 몇 개 집어보라하면, 개인적으로는 FD_SET 구조체와 select() 함수를 예로 들 수 있겠다. 아, 그리고 ..
[150906] 리눅스 C언어 소켓 프로그래밍 [150906] 리눅스 C언어 소켓 프로그래밍 오늘 포스팅할 내용은 리눅스 환경에서의 C언어 소켓 프로그래밍이다. 네트워크 공부를 하면서 소켓 프로그래밍도 겸하면 좋겠다고 생각하고 있었는데, 어느 환경에서 해야 할지 고민이 많았다. 그런데 마침, 학교에서 강의도 진행하고 언어도 배우는 겸, 리눅스 (Xubuntu)에서 진행하기로 결정했다. 리눅스를 거의 사용해보지 않아서 터미널을 사용하는데 많이 애먹었다. 어쨌든, 기초부터 살펴봐야 하므로 인터넷을 통한 통신이 아닌, 같은 기기 내에서 다른 프로세스 끼리의 통신을 진행해보자. 아, 그리고 논외로.. 계속 포스팅하는 레이아웃이 왔다갔다하는데.. 어떤 방식으로 포스팅하는게 가독성이 좋을지 찾아보고 있는 중이다. 모르는 개념들을 구글링 하면서 찾는 중에 티스토..
[150903] C언어 포인터 기초 개념 [150903] C언어 포인터 기초 개념 포스팅을 안한지 무려 11일이 흘렀다(...)마지막 포스팅 후 휴가를 갔다오고, 개강 준비를 위해서 그랬다고 자기 합리화 해본다... 학과 강의 중에 C언어를 배우게 됐다. Network 프로그래밍 언어가 다양해서 뭘 골라야 할까 고민하던 중이었는데, 마침 C언어를 배운다고하고.. 잘 생각해보면 C언어 특성상 소켓 프로그래밍과 잘 어울릴 것 같다는 느낌도 든다.순전히 감이지만.. 어쨌든 오늘 포스팅에서는 C언어에서 상당히 비중있게 다뤄지는 포인터(Pointer) 를 아주 가볍게 알아보자. 아, 그전에 컴퓨터에서 사용하는 메모리(Memory)에 대한 개념이 필요하다. 운영체제(OS)를 알고있다면 32bit, 64bit 와 같은 숫자를 들어본 적이 있을텐데, 이 숫자..
[140922] Python - 입력 받은 문자열 주석 제거하기 [140922] Python - 입력 받은 문자열 주석 제거하기 본 카테고리에서 진행되는 모든 포스팅은 Python 3.4.1 버전에서 진행되었음을 알립니다. #주석문자 탐색 프로그램 #사용자로부터 입력된 문자열 중 ()로 처리된 문자열을 제외시키고 본 문자열을 보여준다. def remove_comments(): s=input("문자를 입력해주세요.\n괄호를 사용하면 문자열 내에서 주석처리가 가능합니다.\n") if s.find("(") and s.find(")"): #입력 받은 문자열 중 '(' 과 ')' 가 있다면 split=s[s.find("("):s.rfind(")")+1] # 문자열 s 에서 (과 )의 위치를 체크하고 변수 split에 해당 위치만큼 잘라내서 새로 저장한다. (par1,split..