E D R , A S I H C RSS

Swiftercalifragilisticexpialidocious

Difference between r1.10 and the current

@@ -4,105 +4,85 @@
* 읽는 법: 스위프터캘리프래질리스틱엑스피알리도셔스 ([http://www.youtube.com/watch?v=tRFHXMQP-QU 어원])
* 모집처: Slack #objective-c 채널
* 준비물: OS X Mavericks 이상을 돌리는 Mac.
* 참여 예정 인원: [황현], [이원준], [최다인]
* 참여 예정 인원: [황현], [이원준], ~~[최다인]~~
=== 스터디 목표 ===
* 우리 학부에서 운영 중인 iOS Developer University Program을 이용하여 무료로 실제 기기에서 디버깅을 해봅니다. ~~더 이상의 시뮬레이터는 naver.~~ 요건 옵션.
* 결과적으로 Apple 기기를 위한 개발 언어는 Objective-C에서 Swift로 넘어갈 것입니다. 이에 대비하여 순수하게 Swift로 앱 만들기를 해 봅니다.
* ~~결과적으로 Apple 기기를 위한 개발 언어는 Objective-C에서 Swift로 넘어갈 것입니다.~~ 이에 대비하여 순수하게 Swift로 앱 만들기를 해 봅니다.

== 활동 내역 ==
=== 11월 14일 ===
~~첫 모임이 예정되어 있습니다. 앞으로 무슨 요일에 모일 것인가, 어떤 방식으로 진행할 것인가에 대해 논의할 예정입니다.~~
모임은 실패했지만, 시간은 정했습니다: '''금요일 오후 6시'''.
* ~~첫 모임이 예정되어 있습니다. 앞으로 무슨 요일에 모일 것인가, 어떤 방식으로 진행할 것인가에 대해 논의할 예정입니다.~~
* 모임은 실패했지만, 시간은 정했습니다: '''금요일 오후 6시'''.

=== 11월 21일 ===
[[최다인]] 학우의 사정으로 펑. 대신 가내수공업으로 만든 교재의 일부를 배포했습니다.
* [[최다인]] 학우의 사정으로 펑. 대신 가내수공업으로 만든 교재의 일부를 배포했습니다.

=== 11월 28일 ===
Objective-C를 먼저 간단하게 배웠습니다.
* Objective-C의 파일 포맷 : .m
* 이유 : a부터 나열해봤더니 .m이 비어있길래 ~~야이~~
* Objective-C++의 파일 포맷 : .mm
사람은 객체죠 안에 저장하고 있는 값이 있어요 동작을 할 수 있죠 이렇게 해서 사람은 객체에요 여러분
세상에 존재하는 모든 것을 객체로 만들 수 있겠구나 이건 멍청한짓이에요
객체지향에서 그 컴포넌트를 객체로 만드는 것은 괜찮지만 그렇다고 모든 것을 객체로 만들어야 되느냐 그건 아니다 이 말이다
시뮬레이션 게임을 만들고 싶어요 비행기 비행기 날아다니는 게임
털ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
비행기를 만든다 비행기 객체를 만들어야 돼요 비행기 엔진 다 만들고 있고 비행기 꼬리 다 만들고 있고
여러분이 물론 이 게임이 목표하는 거에 따라가지고 얼마만큼의 객체화를 진행시켜야하느냐는 모두 다를 수 있어요
폭발해서 부품이 와아아아악 하고 날아가는 걸 만들고 싶어요 아 그럼 해도 돼 해도 돼
초보자들이 자주 하는 실수가 뭐냐면 모든 걸 객체화하려고해서 막 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
* Objective-C를 먼저 간단하게 배웠습니다.
* Objective-C의 파일 포맷 : .m
* 이유 : a부터 나열해봤더니 .m이 비어있길래 ~~야이~~
* Objective-C++의 파일 포맷 : .mm
* 기타 Objective-C의 역사 + 매우 간단한 문법
* 과제 : iBooks에서 '''The Swift Programming Language''' 다운로드해서 A Swift Tour까지 읽어보기

장난으로 적었는데 ㅋㅋㅋㅋㅋㅋ나중에 정리하겠습니다 - [최다인]
* 기말고사까지 휴강
 
=== 2015년 2월 3일 ===
* 새로운 시작!
* 스탠포드에서 진행하는 인강을 봅니다.
* https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099
* 모여서 영상을 보고, 실습을 진행하고, 다음 주까지 복습. (우리는 데드라인이 없으니까ㅋㅋ)
* 1강을 약 30분 가량 봤습니다.
* 다음 모임은 2월 10일.
 
=== 2월 10일 ===
* [[황현]]이 늦어서 펑~
 
=== 2월 17일 ===
* 설 전인데도 불구하고 모여서 실습.
* 계산기 만들기를 따라했음. 심지어 레이아웃 깨진 것까지 따라했음ㅋ.
* Xcode에서 UI 디자인과 코드(액션)를 연결하는 방법이 너무 간단해서 다들 감탄.
 
=== 2월 24일 ===
* 왜 펑했는지 기억이.......
 
=== 3월 3일 ===
* 개강이라 다들 너무 바빠서 펑
 
=== 3월 10일 ===
* 제로페이지 새싹 설명회 참가 때문에 펑
* 최다인 학우가 멘탈이 깨진 것 같아 일단 부담을 덜어주기로. 건강해져서 다시 만나요.
* 다음 모임 예정일은 3월 17일.
 
=== 3월 17일 ===
* CLUG 정모 때문에 펑~
 
=== 3월 24일 ===
* CLUG 정모 때문에 펑~
 
=== 3월 31일 ===
* [[황현]]이 과제에 쩔어있어서 펑~
* 시간변경: 매주 월요일 20시. 4월 6일에 다시 만나요~
 
=== 4월 6일 ===
* 1강 완주! 계산기 버튼을 누르면 숫자가 위에 나옴!!
 
=== 4월 13일 ===
* 중간고사 전 주라 펑~
 
=== 4월 20일 ===
* 중간고사라 펑~
 
=== 4월 27일 ===
* [[황현]]이 생애 첫 예비군으로 인해 말 그대로 푹 퍼지는 바람에 펑~
 
=== 5월 4일 ===
* 제2강 보기 시작.
* UI 엘리먼트 같은, 앱 라이프사이클의 거의 초반부에서 초기화가 거의 반드시 수행되는 객체는 UI 이벤트가 일어날 당시에는 nil일 확률이 0으로 수렴하기 때문에 optional 타입을 무시할 수 있다는 것을 배움.
* [[이원준]]이 피곤해서 나가떨어지는 바람에 영상 30분 + 실습 20분 하고 종료.
 
=== 5월 11일 ===
* 제2강 2/3를 봄.
* 익명 함수 사용법을 배움.
* 자동 레이아웃 역시 배움.
* [[이원준]]이 집에 가려다가 비가 너무 와서 포기하는 바람에 30분 보고 종료.



Swift와 Objective-C를 거쳐 최종적으로는 iOS 앱 만들기를 해보는 스터디.

Preface

  • 읽는 법: 스위프터캘리프래질리스틱엑스피알리도셔스 (어원)
  • 모집처: Slack #objective-c 채널
  • 준비물: OS X Mavericks 이상을 돌리는 Mac.
  • 참여 예정 인원: 황현, 이원준, 최다인

스터디 목표

  • 우리 학부에서 운영 중인 iOS Developer University Program을 이용하여 무료로 실제 기기에서 디버깅을 해봅니다. 더 이상의 시뮬레이터는 naver. 요건 옵션.
  • 결과적으로 Apple 기기를 위한 개발 언어는 Objective-C에서 Swift로 넘어갈 것입니다. 이에 대비하여 순수하게 Swift로 앱 만들기를 해 봅니다.

활동 내역

11월 14일

  • 첫 모임이 예정되어 있습니다. 앞으로 무슨 요일에 모일 것인가, 어떤 방식으로 진행할 것인가에 대해 논의할 예정입니다.
  • 모임은 실패했지만, 시간은 정했습니다: 금요일 오후 6시.

11월 21일

  • 최다인 학우의 사정으로 펑. 대신 가내수공업으로 만든 교재의 일부를 배포했습니다.

11월 28일

  • Objective-C를 먼저 간단하게 배웠습니다.
    • Objective-C의 파일 포맷 : .m
      • 이유 : a부터 나열해봤더니 .m이 비어있길래 야이
      • Objective-C++의 파일 포맷 : .mm
    • 기타 Objective-C의 역사 + 매우 간단한 문법
  • 과제 : iBooks에서 The Swift Programming Language를 다운로드해서 A Swift Tour까지 읽어보기

  • 기말고사까지 휴강

2015년 2월 3일

2월 10일

2월 17일

  • 설 전인데도 불구하고 모여서 실습.
  • 계산기 만들기를 따라했음. 심지어 레이아웃 깨진 것까지 따라했음ㅋ.
  • Xcode에서 UI 디자인과 코드(액션)를 연결하는 방법이 너무 간단해서 다들 감탄.

2월 24일

  • 왜 펑했는지 기억이.......

3월 3일

  • 개강이라 다들 너무 바빠서 펑

3월 10일

  • 제로페이지 새싹 설명회 참가 때문에 펑
  • 최다인 학우가 멘탈이 깨진 것 같아 일단 부담을 덜어주기로. 건강해져서 다시 만나요.
  • 다음 모임 예정일은 3월 17일.

3월 17일

  • CLUG 정모 때문에 펑~

3월 24일

  • CLUG 정모 때문에 펑~

3월 31일

  • 황현이 과제에 쩔어있어서 펑~
  • 시간변경: 매주 월요일 20시. 4월 6일에 다시 만나요~

4월 6일

  • 1강 완주! 계산기 버튼을 누르면 숫자가 위에 나옴!!

4월 13일

  • 중간고사 전 주라 펑~

4월 20일

  • 중간고사라 펑~

4월 27일

  • 황현이 생애 첫 예비군으로 인해 말 그대로 푹 퍼지는 바람에 펑~

5월 4일

  • 제2강 보기 시작.
  • UI 엘리먼트 같은, 앱 라이프사이클의 거의 초반부에서 초기화가 거의 반드시 수행되는 객체는 UI 이벤트가 일어날 당시에는 nil일 확률이 0으로 수렴하기 때문에 optional 타입을 무시할 수 있다는 것을 배움.
  • 이원준이 피곤해서 나가떨어지는 바람에 영상 30분 + 실습 20분 하고 종료.

5월 11일

  • 제2강 2/3를 봄.
  • 익명 함수 사용법을 배움.
  • 자동 레이아웃 역시 배움.
  • 이원준이 집에 가려다가 비가 너무 와서 포기하는 바람에 30분 보고 종료.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:09
Processing time 0.0899 sec