1회차(2012년 3월 16일)
출석
수업내용
- wiki를 왜 쓰는지, 어떻게 사용하는지에 대해 배웠습니다.
- gcc 개발환경을 구축하는 법을 알아보았습니다.
1) https://www.virtualbox.org 에서 자신의 운영 체제에 맞는 VirtualBux를 설치
2) http://ftp.daum.net -> Ubuntu-releases -> 11.10 -> ubuntu-11.10-deskto-amd64.iso 다운
3) Virtualbox실행 -> 새로 만들기 -> 운영체제 : Linux 버전 : Ubuntu -> 메모리1024MB로 설정하고 나머지 디폴트 설치
4) 만들어진 ubuntu 실행 -> 설치 미디어로 ISO파일 마운트 -> 설치
(설치 도중에 설정해줘야되는 것 : 글자판 배치를 한국어(101/104키 호환)으로 해야됨!)
- gcc로 hello world를 컴파일 해보았습니다.
1) 우분투 소프트웨어 센터에서 gcc 검색 & 설치
2) 원하는 경로에 빈 문서 만들기 (확장자는 .c로 해주세요)
3) 해당 문서에 코드 작성
4) terminal 실행 -> .c 파일이 있는 경로로 이동 (ls와 cd를 이용합니다.)
5) gcc로 컴파일을 합니다. (gcc 파일명.c -o 원하는파일명 -std=c99) 해당 예제외에 추가로 여러 옵션을 줄수 있습니다.
6) 컴파일된 파일을 실행합니다. (./파일명)
- w3schools를 소개했습니다. (www.w3schools.com)
- 협업의 중요성에 대해 이야기했습니다.
- 문서작성, 버전관리, 주석처리 등 아직은 실감이 안나겠지만 처음부터 습관을 들이는것이 중요합니다.
숙제
1) 자기 페이지 만들기 - 로그인후 자신의 이름으로 검색하여 페이지를 작성하시면 됩니다. 기본적인 프로필과 하고싶은말을 적어주세요.
2) 후기 작성 - 아래 회고란에 편집을 눌러 후기를 남겨주시면됩니다. 위의 feedback 항목을 참고하세요.
1) virtual box로 linux 설치 후 hello world 작성하고 컴파일하여 스크린샷을 강사 메일로 보내주세요.
권장사항
1) w3schools에서 html파트 읽고 실습해보기
2) linux의 다양한 명령어 검색해보기
3) gcc의 옵션 검색해보기
후기
- 새싹 첫시간을 가졌습니다. 다른 새싹반들과는 다른 커리큘럼으로 진행을 해야해서, 무엇을 수업해야할지 고민이 많습니다(멘붕 일보직전). 학교수업 듣는것처럼 하지말고 자유로운 분위기에서 진행되면 좋겠습니다. - 정의정
- 새싹 첫시간을 가졌습니다. 캡스톤실도 처음 들어가봐서 많이 신기했습니다. 처음 듣는 용어, 처음 보는 화면들 생소한게 많지만 재미있을 것 같아서 기대가 됩니다. 숙제도 권장사항도 열심히 해보겠습니다. 앞으로 잘 부탁드립니다. - 권영기
- 새싹 첫시간을 가졌습니다. 이곳 Wiki가 매우 흥미로웠고, 캡스톤실에 대해서도 궁금점을 해소하여 좋았습니다. 이름만 들어보고 좀처럼 볼 일이 없던 것들을 보게되어 좋았습니다. 앞으로 잘 부탁드립니다. - 김희성
- 숙제를 수행하기 위해 버추얼 박스를 설치하였습니다. 설치파일이 정상적으로 실행 않는 문제가 있었는데 인터넷으로 강제 압축해제하는 방법을 듣고 7z으로 압축을 해제하는 방법으로 해결하였습니다. 데몬이 없어 iso파일도 7z으로 풀었습니다. - 김희성
- 어... iso파일을 풀필요없이 버추얼박스에서 바로 마운트시키는건데.. 제대로 설치됬어? - 정의정
- 그리고 실패하였습니다. 7z 젠장... 여러단계를 한번에 풀어주는거 같군요. 메뉴얼을 읽어보니 cmd로 풀라고 합니다. 시키는데로 하니 msi 파일이 나오는군요. -김희성-
- amd64버전을 쓰려고 했더니 cpu문제로 가상머신에서 설치되지 않는군요. i386버전으로 깔았습니다. -김희성
2회차(2012년 3월 20일)
출석
수업내용
1) gcc 컴파일 옵션이 어려웠습니다. - gcc 컴파일 옵션의 대부분은 컴파일에 크리티컬한 것이 아니라 사용자에게 정보를 제공하는 것이 목적입니다. 그냥 안써도 되요 :D
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 를 참고하세요.
숙제
1) 자기 페이지 만들기 - 로그인후 자신의 이름으로 검색하여 페이지를 작성하시면 됩니다. 기본적인 프로필과 하고싶은말을 적어주세요.
2) 후기 작성 - 아래 회고란에 편집을 눌러 후기를 남겨주시면됩니다. 위의 feedback 항목을 참고하세요.
1) virtual box로 linux 설치 후 hello world 작성하고 컴파일하여 스크린샷을 강사 메일로 보내주세요.
권장사항
1) w3schools에서 html파트 읽고 실습해보기
2) linux의 다양한 명령어 검색해보기
3) gcc의 옵션 검색해보기
후기
- 새싹 첫시간을 가졌습니다. 다른 새싹반들과는 다른 커리큘럼으로 진행을 해야해서, 무엇을 수업해야할지 고민이 많습니다(멘붕 일보직전). 학교수업 듣는것처럼 하지말고 자유로운 분위기에서 진행되면 좋겠습니다. - 정의정
- 새싹 첫시간을 가졌습니다. 캡스톤실도 처음 들어가봐서 많이 신기했습니다. 처음 듣는 용어, 처음 보는 화면들 생소한게 많지만 재미있을 것 같아서 기대가 됩니다. 숙제도 권장사항도 열심히 해보겠습니다. 앞으로 잘 부탁드립니다. - 권영기
- 새싹 첫시간을 가졌습니다. 이곳 Wiki가 매우 흥미로웠고, 캡스톤실에 대해서도 궁금점을 해소하여 좋았습니다. 이름만 들어보고 좀처럼 볼 일이 없던 것들을 보게되어 좋았습니다. 앞으로 잘 부탁드립니다. - 김희성
- 숙제를 수행하기 위해 버추얼 박스를 설치하였습니다. 설치파일이 정상적으로 실행 않는 문제가 있었는데 인터넷으로 강제 압축해제하는 방법을 듣고 7z으로 압축을 해제하는 방법으로 해결하였습니다. 데몬이 없어 iso파일도 7z으로 풀었습니다. - 김희성
- 어... iso파일을 풀필요없이 버추얼박스에서 바로 마운트시키는건데.. 제대로 설치됬어? - 정의정
- 그리고 실패하였습니다. 7z 젠장... 여러단계를 한번에 풀어주는거 같군요. 메뉴얼을 읽어보니 cmd로 풀라고 합니다. 시키는데로 하니 msi 파일이 나오는군요. -김희성-
- amd64버전을 쓰려고 했더니 cpu문제로 가상머신에서 설치되지 않는군요. i386버전으로 깔았습니다. -김희성
새싹교실/2012