Difference between r1.3 and the current
@@ -28,17 +28,58 @@
|| [조영준] ||O||
=== 수업내용 ===
* wiki 사용법 익히기
1) 자기 페이지 만들기 - 로그인후 자신의 이름으로 검색하여 페이지를 작성하시면 됩니다. 기본적인 프로필과 하고싶은말을 적어주세요.
2) 후기 작성 - 아래 회고란에 편집을 눌러 후기를 남겨주시면됩니다. 위의 feedback 항목을 참고하세요.
*
=== 후기 ===
=== 수업내용 ===
*
* 위키의 사용에 대해 이야기 했습니다.
* 네트워크에 대하여 간단히 알아보았습니다.
1) 우리가 사용하는 인터넷은 패킷 스위치 방식으로 소포에 주소를 써서 목적지에 보내는 것 처럼 작동하는 네트워크 입니다.
2) 인터넷 프로토콜의 계층도에 대해 알아보았습니다.
- app : 우리가 실제로 사용하는 서비스를 제공하는 계층입니다. http, smtp, ftp등이 있습니다.
- transport : 데이터를 어떻게 보낼지 결정하는 계층입니다. 데이터를 어떻게 묶어서 보낼지, 오류처리는 어떻게 할지에 대해 결정합니다. TCP/UDP등이 있습니다.
- ip : 호스트와 호스트, 즉 출발지에서 목적지까지 데이터 묶음(패킷)을 전달하는 역할을 합니다. 라우터가 있습니다. -> 소켓은 이 계층!
- link : 노드와 노드간에 데이터를 주고받는 역할을 합니다. 스위치, 브릿지등이 포함됩니다.
- physical : 비트들을 물리적으로 이동시키는 역할을 합니다. 유선의 경우 다양한 케이블, 무선일 경우 공기가 매체가 되겠네요.
3) 하지만 우리가 이 모든것을 반드시 알아야 통신 프로그램을 할 수 있는것은 아닙니다.
- 이런 기능들을 단계별로 나눈 이유는, 자신의 하위 계층의 구현내용이 어떤지 잘 몰라도 그 기능을 사용할 수 있도록 하기 위해서입니다.
- 즉, 소켓 프로그래밍도 해당 함수와 하위 함수들의 작동원리를 잘 모르더라도 어떤 기능을 하는지만 알면 쉽게 통신 프로그래밍을 할 수 있습니다.
4) 그럼 소켓은 무엇인가요?
- 인터넷 소켓(Internet socket, socket' 혹은 network socket 라고 부르기도 한다)은 네트워크로 연결되어 있는 컴퓨터의 통신의 접점에 위치한 통신 객체다.
네트워크 통신을 위한 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다. - wikipedia
- 는 훼이크고 :P 간단히 설명하면 서버와 클라이언트가 byte stream을 주고 받는 것을 마치 파일 입출력을 하듯 해주는 것입니다.
|| 파일입출력 || 소켓 ||
|| 파일구조체생성 || 소켓 생성 ||
|| fopen() || connect() ||
|| read()/write() || read()/write() ||
|| close() || close() ||
5) 자세한 사항은 http://forum.falinux.com/zbxe/?document_srl=441104 를 참고하세요.
=== 숙제 ===* wiki 사용법 익히기
1) 자기 페이지 만들기 - 로그인후 자신의 이름으로 검색하여 페이지를 작성하시면 됩니다. 기본적인 프로필과 하고싶은말을 적어주세요.
2) 후기 작성 - 아래 회고란에 편집을 눌러 후기를 남겨주시면됩니다. 위의 feedback 항목을 참고하세요.
* 소켓을 이용하여 간단한 통신 프로그램 만들기
언어는 자유. 소켓 통신에대한 레퍼런스를 찾아서 동작 하는 통신프로그램을 만들어봅시다.
클라이언트에서 문자열을 입력하면 서버로 보내지고, 서버에서는 받은 문자열을 대문자로 바꿔서 클라이언트로 다시 보내서 출력하는 프로그램입니다.
=== 권장사항 ===*
=== 후기 ===
* 네트워크에 관한 간단한 개념들을 배웠습니다. 배우자마자 안되서 C언어로 소켓 주고받기 프로그램을 짜야합니다. 허걱. 앞길이 험난하군요.. -[최연웅]
* 네트워크에 관한 간단한 개념들을 배웠습니다. 배우자마자 얼마 안되서 C언어로 소켓 주고받기 프로그램을 짜야합니다. 허걱. 앞길이 험난하군요.. -[최연웅]
* 네트워크에 관한 간단한 개념들을 배웠습니다 (2). 처음 막 들었을 때에는 정신이 없었는데 소스를 참고하며 코드를 짜보니 조금 정리되는 느낌이 드네요. 만들고 나니 그저 신기방기. 지금은 한밤중이라 피곤하니 나중에 다시 코드 보며 생각을 해 봐야겠어요. -[조영준] * 새싹교실 첫시간을 가졌습니다. 어쩌다보니 지난 새싹교실과 같은 주제로 시작하게 되었습니다. 어떤 방향으로 나갈지 저도 궁금하네요 ㄷㄷ 재밌을것 같습니다 :D -[정의정]
== 2회차(2012년 4월 4일) ==
=== 출석 ===
|| 선생님 || [정의정] ||O||
||<|2> 학생 || [최연웅] ||O||
|| [조영준] ||O||
=== 수업내용 ===
=== 숙제 ===
=== 권장사항 ===
*
=== 후기 ===
* Thread와 Header file 만드는 법을 배웠습니다. 의정 선배 덕분에 이해가 잘 되서 2주차 숙제는 저번보다는 쉬운 것 같은 느낌이다. 해봐야 알겠지만... 해보기엔 지금은 과제가 너무 많아(ㅠㅠ). 다음에 만들 것 같은 채팅 프로그램이 기대됩니다. -[최연웅]
* 평소 여기저기서 들어'는' 본 스레드와 수업시간에 간단하게 배우고 넘어간 헤더파일에 대해서 배웠습니다. 특히 이번에 배운 스레드는 이런저런곳에서 쓰게 될 것 같아서 설레네요. 또 다른 새로운것을 배워서 기분이 좋습니다. -[조영준]
----3. feedback ¶
- 새싹교실이 ZeroPage에서 시행되는만큼 4F(ThreeFs + Future Action Plan)에 맞게 feedback을 작성합니다.
- Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
- 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛이 없었다.(느낌) 강남은 땅값이 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점이 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"
- 설마 이것보다 더 짧게 쓰진 않겠죠? 믿을게요
- 설마 이것보다 더 짧게 쓰진 않겠죠? 믿을게요
- Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
- feedback은 최대한 성의있게 써주세요.
- 반드시 ZeroWiki에 작성해주세요. 하위 페이지를 만드는 것도 허용합니다.
- 여러분들이 배운 내용을 정리해주세요. 학습효과가 더 커집니다.
- 반드시 ZeroWiki에 작성해주세요. 하위 페이지를 만드는 것도 허용합니다.
- 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
4.1.2. 수업내용 ¶
- 위키의 사용에 대해 이야기 했습니다.
- 네트워크에 대하여 간단히 알아보았습니다.
1) 우리가 사용하는 인터넷은 패킷 스위치 방식으로 소포에 주소를 써서 목적지에 보내는 것 처럼 작동하는 네트워크 입니다.
2) 인터넷 프로토콜의 계층도에 대해 알아보았습니다.
- app : 우리가 실제로 사용하는 서비스를 제공하는 계층입니다. http, smtp, ftp등이 있습니다.3) 하지만 우리가 이 모든것을 반드시 알아야 통신 프로그램을 할 수 있는것은 아닙니다.
- transport : 데이터를 어떻게 보낼지 결정하는 계층입니다. 데이터를 어떻게 묶어서 보낼지, 오류처리는 어떻게 할지에 대해 결정합니다. TCP/UDP등이 있습니다.
- ip : 호스트와 호스트, 즉 출발지에서 목적지까지 데이터 묶음(패킷)을 전달하는 역할을 합니다. 라우터가 있습니다. -> 소켓은 이 계층!
- link : 노드와 노드간에 데이터를 주고받는 역할을 합니다. 스위치, 브릿지등이 포함됩니다.
- physical : 비트들을 물리적으로 이동시키는 역할을 합니다. 유선의 경우 다양한 케이블, 무선일 경우 공기가 매체가 되겠네요.
- 이런 기능들을 단계별로 나눈 이유는, 자신의 하위 계층의 구현내용이 어떤지 잘 몰라도 그 기능을 사용할 수 있도록 하기 위해서입니다.4) 그럼 소켓은 무엇인가요?
- 즉, 소켓 프로그래밍도 해당 함수와 하위 함수들의 작동원리를 잘 모르더라도 어떤 기능을 하는지만 알면 쉽게 통신 프로그래밍을 할 수 있습니다.
- 인터넷 소켓(Internet socket, socket' 혹은 network socket 라고 부르기도 한다)은 네트워크로 연결되어 있는 컴퓨터의 통신의 접점에 위치한 통신 객체다.5) 자세한 사항은 http://forum.falinux.com/zbxe/?document_srl=441104 를 참고하세요.
네트워크 통신을 위한 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다. - wikipedia- 는 훼이크고 :P 간단히 설명하면 서버와 클라이언트가 byte stream을 주고 받는 것을 마치 파일 입출력을 하듯 해주는 것입니다.
파일입출력 소켓 파일구조체생성 소켓 생성 fopen() connect() read()/write() read()/write() close() close()
4.1.3. 숙제 ¶
- wiki 사용법 익히기
1) 자기 페이지 만들기 - 로그인후 자신의 이름으로 검색하여 페이지를 작성하시면 됩니다. 기본적인 프로필과 하고싶은말을 적어주세요.
2) 후기 작성 - 아래 회고란에 편집을 눌러 후기를 남겨주시면됩니다. 위의 feedback 항목을 참고하세요.
- 소켓을 이용하여 간단한 통신 프로그램 만들기
언어는 자유. 소켓 통신에대한 레퍼런스를 찾아서 동작 하는 통신프로그램을 만들어봅시다.
클라이언트에서 문자열을 입력하면 서버로 보내지고, 서버에서는 받은 문자열을 대문자로 바꿔서 클라이언트로 다시 보내서 출력하는 프로그램입니다.
4.1.5. 후기 ¶
- 네트워크에 관한 간단한 개념들을 배웠습니다. 배우자마자 얼마 안되서 C언어로 소켓 주고받기 프로그램을 짜야합니다. 허걱. 앞길이 험난하군요.. -최연웅
- 네트워크에 관한 간단한 개념들을 배웠습니다 (2). 처음 막 들었을 때에는 정신이 없었는데 소스를 참고하며 코드를 짜보니 조금 정리되는 느낌이 드네요. 만들고 나니 그저 신기방기. 지금은 한밤중이라 피곤하니 나중에 다시 코드 보며 생각을 해 봐야겠어요. -조영준
- 새싹교실 첫시간을 가졌습니다. 어쩌다보니 지난 새싹교실과 같은 주제로 시작하게 되었습니다. 어떤 방향으로 나갈지 저도 궁금하네요 ㄷㄷ 재밌을것 같습니다 -정의정