imported>miura0806 |
imported>miura0806 |
| Line 12: |
Line 12: |
| == 활동 내역 == | | == 활동 내역 == |
| === 11월 14일 === | | === 11월 14일 === |
| ~~첫 모임이 예정되어 있습니다. 앞으로 무슨 요일에 모일 것인가, 어떤 방식으로 진행할 것인가에 대해 논의할 예정입니다.~~ | | * ~~첫 모임이 예정되어 있습니다. 앞으로 무슨 요일에 모일 것인가, 어떤 방식으로 진행할 것인가에 대해 논의할 예정입니다.~~ |
| 모임은 실패했지만, 시간은 정했습니다: '''금요일 오후 6시'''. | | * 모임은 실패했지만, 시간은 정했습니다: '''금요일 오후 6시'''. |
|
| |
|
| === 11월 21일 === | | === 11월 21일 === |
| [[최다인]] 학우의 사정으로 펑. 대신 가내수공업으로 만든 교재의 일부를 배포했습니다. | | * [[최다인]] 학우의 사정으로 펑. 대신 가내수공업으로 만든 교재의 일부를 배포했습니다. |
|
| |
|
| === 11월 28일 === | | === 11월 28일 === |
| Objective-C를 먼저 간단하게 배웠습니다. | | * Objective-C를 먼저 간단하게 배웠습니다. |
| * Objective-C의 파일 포맷 : .m | | ** Objective-C의 파일 포맷 : .m |
| ** 이유 : a부터 나열해봤더니 .m이 비어있길래 ~~야이~~ | | ** 이유 : a부터 나열해봤더니 .m이 비어있길래 ~~야이~~ |
| ** Objective-C++의 파일 포맷 : .mm | | ** Objective-C++의 파일 포맷 : .mm |
| 사람은 객체죠 안에 저장하고 있는 값이 있어요 동작을 할 수 있죠 이렇게 해서 사람은 객체에요 여러분
| | ** 기타 Objective-C의 역사 + 매우 간단한 문법 |
| 세상에 존재하는 모든 것을 객체로 만들 수 있겠구나 이건 멍청한짓이에요
| | * 과제 : iBooks에서 '''The Swift Programming Language'''를 다운로드해서 A Swift Tour까지 읽어보기 |
| 객체지향에서 그 컴포넌트를 객체로 만드는 것은 괜찮지만 그렇다고 모든 것을 객체로 만들어야 되느냐 그건 아니다 이 말이다
| |
| 시뮬레이션 게임을 만들고 싶어요 비행기 비행기 날아다니는 게임
| |
| 털ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
| |
| 비행기를 만든다 비행기 객체를 만들어야 돼요 비행기 엔진 다 만들고 있고 비행기 꼬리 다 만들고 있고
| |
| 여러분이 물론 이 게임이 목표하는 거에 따라가지고 얼마만큼의 객체화를 진행시켜야하느냐는 모두 다를 수 있어요
| |
| 폭발해서 부품이 와아아아악 하고 날아가는 걸 만들고 싶어요 아 그럼 해도 돼 해도 돼
| |
| 초보자들이 자주 하는 실수가 뭐냐면 모든 걸 객체화하려고해서 막 50개 넘어가고 막 하나같이 다 뜯어보면 마우스.자바 캣.자바 이런거 다 만들고 있다고 이러면 안돼
| |
| 내가 C++에서 가장 까고 싶은건 friend가 왜 있냐는 거야 그런게 있을거면 public private는 왜 있어
| |
| Class Asdf {
| |
| }
| |
| 요걸 옵씨로 하는 법 자바는 요걸 한 군데 다 합쳐놨기 때문에 캡슐화가 어느 정도 안 되는 편이라고 블랙박스화가 안되잖아 숨겨지지가 않아 ~~앙대자나~~
| |
| 정의하고 구현이 떨어져있는거 구현은 떨어져있고 정의는 오픈이 돼있어서 개발자들이 아 이걸 써야겠구나 하고 아는게 명세라고
| |
| @interface Asdf
| |
| 옵씨만의 특성이 또 뭐냐면은 내가 C에다가 씌웠댔지 new에다가 뭘 하는걸 instance화라고 한단 말이야 그 객체를 만드려면 new를 쓰잖아 그러면 설계도에서 tv가 뿅 하고 튀어나온단 말이야
| |
| 옵씨에서는 그 과정을 해주는 애가 말이야 놀랍게도 root 클래스에 들어있단 말이야
| |
| 여깄다 털
| |
| @in'''ter'''face Asdf
| |
| 루트 클래스가 이 처음에 옵씨를 만들 때 +alloc을 만들어왔어요
| |
| 얘는 malloc을 불러와서 클래스 크기만큼을 할당해주고 초기화해주고
| |
| 얘가 없잖아 그러면 컴파일러에서 불평을 한다고 님 얼록 어디갔음 ~~아옳옳옳~~
| |
| 얘는 독특해 instance화를 하려면 자기 자신을 또 불러와야 돼
| |
| 공중으로 날아간다고
| |
| 컴퓨터를 켜는 걸 boot라고 하잖아 부팅
| |
| 이게 뭐의 줄임말이냐 하면 bootstrapping 이게 뭔 뜻이냐면 부츠끈을 잡아당긴다는 거야
| |
| 근데 웃기는 게 뭐냐며는 운영체제도 CPU 위에서 돌아가야 하는 프로그램이라고
| |
| 이걸 읽어올라면 소프트웨어가 필요한데 이것도 똑같은 거라고 날아가는 거라고
| |
| 이것도 불가능해보이지만 가능하잖아 그래서 공중으로 날아가는 것도 가능해
| |
| ~~공중으로 날아간다고 부터는 많이 잘라먹고 붙여서 날조된 부분이 있습니다~~
| |
| 써큘러한 그런 개념이 들어가 있기 때문에 사람들이 많이 착각을 할 수가 있어
| |
| NeXT라는 회사를 차리고 NeXT STEP이라는 운영체제를 만들어서 팔았는데
| |
| 이 때 애플이 막 뭐라고 해서 스티브 잡스가 아 괜찮아 우리부터는 애초부터 싼 컴퓨터 만들어서 팔 생각 없어
| |
| 차보다 비싼가? 암튼
| |
| 이 넥스트스텝에서 아주 유능한 사람들을 모아서 만들었는데 이 회사가 아주 대단했어
| |
| 얼마나 대단했냐 하면 유럽의 입자 가속기 있잖아 여기서 많이 사갔어 값을 알고 많이 사갔어
| |
| 애플이 매킨토시가 완전히 망해가지고 아 이걸 어떻게 해야되나 하다가 OS를 밖에서 사오기로 했지
| |
| 이 때 후보가 BeOS하고 NeXT STEP이 거론이 됐는데 당시에 CEO였던 사람이 BeOS를 찾아갔더니 가격을 너무 비싸게 불렀어
| |
| 비싸가지고 아 좀 고려를 해봅시다 하고서는 넥스트로 갔어
| |
| ㅋㅋ스티브 잡스 말빨 알잖아 어썸한걸 보여주겠습니다 우워어
| |
| 이걸 애플 CEO가 겪었어 이게 엔하위키에 보며는 누가 써놓은 일화가 있어 일화가 있는데 그런 거처럼 말빨에 넘어가가지고 이걸 사기로 했습니다
| |
| 덤으로 잡스도 따라왔어요
| |
| ~~이걸 사시면 잡스가~~
| |
| iCEO라는 이름으로 돌아왔습니다 i는 임시 임시 CEO
| |
| 그 때 딱 시작한 게 뭐냐며는 야 맥OS를 만들자
| |
| 그래서 나온 게 Mac OS X 텐! 텐이라고 읽어야 돼 엑스 아님
| |
| ~~HeadFirst 부들부들...~~
| |
| 이 때부터 옵씨를 썼는데 옵씨가 좋은게
| |
| 버튼 이런거 창 이런거 팔레트 있으면 캠버스 안에다가 딱 던져놓으면은 그게 딱 됐다고
| |
| GUI식 앱 만들기가 가능했어요
| |
| 오늘은 하다보니까 역사 강의가 주가 되네 음
| |
| NSObject NSString NSArray 항상 NS가 붙는게 NS가 NeXT STEP의 줄임말이고
| |
| 각 프레임워크에 접두어를 붙여서 충돌을 막았어
| |
| alloc을 쓰려면 최상위 클래스가 필요하다고 했지
| |
| 상속 문법이 @interface Name:NSObject 이런 식으로 시작함
| |
| 그리고 이제 어 오늘은 그냥 간단하게 짚고 갈거니까 나중에 혹시 문법에서 궁금한 게 더 있으면 내가 제로위키에서 옵씨 항목에 정리해 놓은 거 읽어보면 되고
| |
| 생각해보니까 내가 되게 무책임하다
| |
| "왜 웹처럼 일방적으로 듣는 수업이 됐지"
| |
| 어 그거 내가 문제라고 생각해 내가 뭘 좀 읽어보고 오자고 했어야 됐는데
| |
| 오우 시간 다 되가네
| |
| 그래서 암튼 이제 생각을 해볼 게 옵씨만의 메소드 이름
| |
| 옵씨는 처음에 만들 때 스몰토크라는 언어의 문법을 그게 굉장히 아름다운데 그걸 C에서 써보자고 해서 만든 거거든
| |
| obj methodname 이런 식으로 함 괄호같은 거 없어 이때 인자를 넘겨야 할 거 아냐 이때 쓰는 방법이
| |
| obj arg1:3.2 arg2:
| |
| 띄어쓰기가 되게 중요한거야 이게 옵씨의 특징중 하난데 이러다보니까 메소드 이름이 되게 길어질 수밖에 없어 예를 들어서 음 아니다
| |
| 메소드 이름 자체가 굉장히 자기 설명적일 수밖에 없다고
| |
| 이거를 까는 사람도 있고 뭐 이렇게 거지같은 문법도 다있냐 길다고 쓰기 힘들다고 거지같다고 까는 사람이 있는 방면에
| |
| ~~타이젠을 열었더니 스팀잌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ~~
| |
| 문서 안봐도 좋다! 도 있고
| |
| 오 좋다 마이너해! 좋다! 하는 나같은 사람도 있는 거야
| |
| 예를 들어서 NS에서 Substring을 하는거 음 어떤 메소드가 좋을까
| |
| getSubstring 실제론 없지만 내가 그냥 있다고 쳐볼게 여기다가 버퍼를 집어넣을거야
| |
| NSString getSubstring:char* inRange:
| |
| 얘 이름은 getSubstring:inRange:
| |
| 이게 얘 메소드 이름이 돼 띄어쓰기 없이 굉장히 독특하지
| |
| 그래서 얘를 어떻게 쓰느냐
| |
| 간단하게 쓸 때는
| |
| [str getSubstring:buf :...
| |
| NSString.getSubstring(_:buf,inRange:~~)
| |
| 뭔가 되게 미묘하게 한 시간을 보냈네요 준비가 안 돼서 아 이런 말 하면 안되는데 김민O씨처럼 아이고
| |
| 우리가 일단 읽어와야 돼요 책을 iBooks라고 있을거야 그걸 들어가서
| |
| The Swift Programming Language
| |
|
| |
|
| 장난으로 다 적었는데 ㅋㅋㅋㅋㅋㅋ나중에 정리하겠습니다 - [[최다인]]
| | === 12월 5일 === |
|
| |
|