The document discusses the major changes and improvements in Swift 3.0, which is expected to be released in late 2016. It outlines proposals like removing var from function parameters, distinguishing single-tuple from multiple-argument function types, and applying API design guidelines to the standard library. It also covers changes to the Foundation framework like dropping the NS prefix and making value types non-mutable by default. The goal is to enhance the Swift language, development experience, and source compatibility between versions.
The document discusses the major changes and improvements in Swift 3.0, which is expected to be released in late 2016. It outlines proposals like removing var from function parameters, distinguishing single-tuple from multiple-argument function types, and applying API design guidelines to the standard library. It also covers changes to the Foundation framework like dropping the NS prefix and making value types non-mutable by default. The goal is to enhance the Swift language, development experience, and source compatibility between versions.
이 강좌는 WWDC 2014에 소개된 Apple 사의 새로운 프로그래밍 언어인 Swift 언어에 대한 소개와 Playground를 이용한 실습 방법을 담고 있습니다.
이 강좌의 소스코드는 Swift 2.0, Xcode 7.2에서 작성되었습니다. 박교수의 Swift강좌
youtube 동영상 강좌
- https://www.youtube.com/watch?v=SYsN_PLJZbc
WWDC2016 스터디 공유 발표 - 공유용
스터디에서 발표한 자료라, 사진 등의 개인정보와 스터디내의 프로젝트 내용이 포함될 수 있는 내용은 모두 삭제하였습니다. Labs와 코드 레벨의 내용 모두 삭제하였습니다.
스터디원이 발표 원본을 원하시는 경우는 별도 연락주시면 제공하겠습니다.
OpenStack과 업스트림 컨트리뷰션 (2016 IT 21 글로벌 컨퍼런스)Ian Choi
2010년 7월 Rackspace사와 NASA부터 시작된 OpenStack 프로젝트는 빠른 성장세를 거쳐 2016년 4월에는 13번째 릴리즈에 해당하는 Mitaka 버전이 등장하였습니다. OpenStack은 클라우드 관리 오픈 소스 소프트웨어로, 최근 User Survey에 따르면 약 2/3에 해당하는 클라우드 인프라에서 프로덕션 또는 실제 운용 목적으로 사용할 정도로 충분한 성숙도를 갖추고 있습니다. 이와 같이 OpenStack이 발전할 수 있었던 배경에는 사용자, 개발자, 여러 업체들이 주도적으로 참여할 수 있도록 이루어진 커뮤니티 및 생태계를 통한 지속적인 업스트림 컨트리뷰션이 있습니다. 최근 발표된 Mitaka를 살펴보면, 178개 국가에서 345개 조직에 속한 2,336명에 달하는 구성원이 350만 줄에 해당하는 코드를 기여하였으며, 지난 릴리즈와 비교하였을 때 8개의 신규 프로젝트가 추가되는 등의 컨트리뷰션이 있었습니다. 본 발표에서는 이와 같이 강력하고 지속적인 업스트림 컨트리뷰션을 주제로 하여 클라우드 관리 오픈 소스 소프트웨어인 Openstack이 어떤 식으로 사용자, 개발자, 여러 업체들과 함께 지속적으로 발전하고 있는지를 살펴봅니다.
This document discusses Python container and collection data types for storing data. It covers core collections like lists, dictionaries, sets and tuples. It also covers advanced collections like ChainMap, Counter, DefaultDict, OrderedDict, Deque, Heapq, Named Tuple and Enum. It explains the time complexity of common operations on these data types, which is often O(1) but can be O(n) or O(n^2) in some cases. It provides examples of Big O notation and describes the purpose and usage of each data type.
이 강좌는 WWDC 2014에 소개된 Apple 사의 새로운 프로그래밍 언어인 Swift 언어에 대한 소개와 Playground를 이용한 실습 방법을 담고 있습니다.
이 강좌의 소스코드는 Swift 2.0, Xcode 7.2에서 작성되었습니다. 박교수의 Swift강좌
youtube 동영상 강좌
- https://www.youtube.com/watch?v=SYsN_PLJZbc
WWDC2016 스터디 공유 발표 - 공유용
스터디에서 발표한 자료라, 사진 등의 개인정보와 스터디내의 프로젝트 내용이 포함될 수 있는 내용은 모두 삭제하였습니다. Labs와 코드 레벨의 내용 모두 삭제하였습니다.
스터디원이 발표 원본을 원하시는 경우는 별도 연락주시면 제공하겠습니다.
OpenStack과 업스트림 컨트리뷰션 (2016 IT 21 글로벌 컨퍼런스)Ian Choi
2010년 7월 Rackspace사와 NASA부터 시작된 OpenStack 프로젝트는 빠른 성장세를 거쳐 2016년 4월에는 13번째 릴리즈에 해당하는 Mitaka 버전이 등장하였습니다. OpenStack은 클라우드 관리 오픈 소스 소프트웨어로, 최근 User Survey에 따르면 약 2/3에 해당하는 클라우드 인프라에서 프로덕션 또는 실제 운용 목적으로 사용할 정도로 충분한 성숙도를 갖추고 있습니다. 이와 같이 OpenStack이 발전할 수 있었던 배경에는 사용자, 개발자, 여러 업체들이 주도적으로 참여할 수 있도록 이루어진 커뮤니티 및 생태계를 통한 지속적인 업스트림 컨트리뷰션이 있습니다. 최근 발표된 Mitaka를 살펴보면, 178개 국가에서 345개 조직에 속한 2,336명에 달하는 구성원이 350만 줄에 해당하는 코드를 기여하였으며, 지난 릴리즈와 비교하였을 때 8개의 신규 프로젝트가 추가되는 등의 컨트리뷰션이 있었습니다. 본 발표에서는 이와 같이 강력하고 지속적인 업스트림 컨트리뷰션을 주제로 하여 클라우드 관리 오픈 소스 소프트웨어인 Openstack이 어떤 식으로 사용자, 개발자, 여러 업체들과 함께 지속적으로 발전하고 있는지를 살펴봅니다.
This document discusses Python container and collection data types for storing data. It covers core collections like lists, dictionaries, sets and tuples. It also covers advanced collections like ChainMap, Counter, DefaultDict, OrderedDict, Deque, Heapq, Named Tuple and Enum. It explains the time complexity of common operations on these data types, which is often O(1) but can be O(n) or O(n^2) in some cases. It provides examples of Big O notation and describes the purpose and usage of each data type.
The document discusses a hybrid approach to developing an AI agent for the Ms. Pac-Man video game. The hybrid approach uses both hand-coded rules based on Dijkstra's algorithm and evolved artificial neural networks. The hand-coded rules aim to make optimal choices in predictable situations, while the neural networks help deal with unpredictable circumstances. An experiment showed the hybrid agent achieved higher maximum and average scores than agents using either approach alone. The hybrid was able to leverage the advantages of both rule-based and learning-based approaches.
2. Swift?
• iOS, macOS, watchOS, tvOS 개발 언어
• 안전하고 명확한 개발 지향
• Objective-C 보다 성능 향상
• Linux 개발 지원
• 하나의 프로그램에서 C/C++/Objective-C 코드를 동시에 실행할
수 있음
3. Swift 역사
• 2010년 7월 Chris Lattner 프로젝트 시작
• 2014년 6월 WWDC 2014에서 1.0과 첫번째 Swift 앱 “WWDC” 발
표
• 2014년 9월 1.0 릴리즈
• 1.1의 망… 아픔을 딛고 1.2, 2.0, 2.2를 거쳐 안정화
• 2015년 말 Open source 로 개방
• 2016년 WWDC 2016에서 3.0 발표 (스터디 기준 버전)
Chris Lattner
LLVM과 Swift의 아버
지 격
4. Swift Open Source
• https://github.com/apple/swift
• https://github.com/apple/swift-evolution
5. Swift의 문법적 특징
• 강한 타입 언어
• Optionals and chaining
• Value-Types
• Protocol-Oriented
• 함수형 언어 기능 지원
• ARC
• ……
6. 왜 Swift를 배워야하나?
• “안전”하고 “명확”하고 “빠르고” “유지보수가 쉬운” 앱을 “일정
단축”해서 개발할 수 있음
• 애플의 최신 기술들이 Swift 기반으로 소개되고 있음
• macOS 10.12 Sierra에서 운영체제 상당 부분 코드가 Swift로 대체
• Swift는 쉽다. 쉬우니 빨리 배우고 말자.
7. Objective-C에서 Swift로 전환할 때의 리스크
• 프로그래밍 모델, 타입, 인터페이스 설계 등 언어의 철학과 이해가
다름
• 문법과 API 인터페이스의 잦은 변경
• iOS 7 / OS X 10.9 이상 운영체제 앱을 지원 (Swift 2.0 기준)
• C/C++ 기반 라이브러리/코드와 통합을 위한 추가 작업들
• Swift 1.1의 트라우마(망…)
8. Swift 스터디 순서(변경될 수도 있음)
• 1회. Swift 소개
• 2회. 타입 파트 1: default types, value-type, optionals and chaining
• 3회. 함수
• 4회. 제어문
• 5회. 타입 파트 2: struct, class, memory management, protocol, closure
• 6회. 프로토콜 오리엔티드 프로그래밍 (WWDC 2015, WWDC 2016)
• 7회. Swift 성능에 대한 이해 (WWDC 2016)
• 8회. 코드 리딩 1: SwiftyJson
• ……