SlideShare a Scribd company logo
놀아요

Swift Playgrounds
발표자 : github.com/wookay

일시 : 2014년 7월 5일 토요일 1시~6시

장소 : 판교 H스퀘어 N동 4층 - NHN NEXT 홀
Apple SWIFT programming language demo at WWDC 2014

http://youtu.be/l62x8Oq_QP4?t=3m5s



Chris Lattner - Playgrounds Demo
• Chris Lattner - LLVM

• Bret Victor

• Chris Granger - Light Table
인물과 배경
Chris Lattner's Homepage

http://nondot.org/sabre/

!
• The Xcode Playgrounds feature and REPL were a personal passion of
mine, to make programming more interactive and approachable. The
Xcode and LLDB teams have done a phenomenal job turning crazy ideas
into something truly great. Playgrounds were heavily influenced by Bret
Victor's ideas, by Light Table and by many other interactive systems. I
hope that by making programming more approachable and fun, we'll
appeal to the next generation of programmers and to help redefine how
Computer Science is taught.
Chris Lattner
Friday, January 20th, 2012

http://vimeo.com/36579366

!
!
CUSEC (Canadian University Software Engineering Conference)

http://2012.cusec.net

!
!
Bret Victor - Inventing on Principle
Bret Victor - Inventing on Principle (2)
Bret Victor - Inventing on Principle (3)
2003 ~ 2005

http://worrydream.com/#!/Alesis

!
* ALESIS ION

* ALESIS MICRON

* ALASIS FUSION

!
!
!
Alesis Micron - Quick demo

http://www.youtube.com/watch?v=nqoN1dpwA30

Bret Victor - Alesis
September 2012

Learnable Programming

http://worrydream.com/LearnableProgramming/
Bret Victor - Learnable Programming
12 Apr 2012 

Light Table - a new IDE concept

http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/

!
!
• Bret Victor hinted at the idea that we can do much better than we are
now - we can provide instant feedback, we can show you how your
changes affect a system. And I discovered he was right.

!
Instant feedback

• In Inventing on Principle, Bret showed us that we could live-edit games
and write binary search in an editor that is constantly evaluating and
showing you what's going on. The lispers among us are used to using the
REPL to have an environment where we can try things out. But we can
do better - we can do it in place and instantaneously. For example here
I type the code (+ 3 4) and we immediately see that it evaluates to 7 -
no ctrl-enter or anything else.
Chris Granger - Light Table
24 Jun 2012

It's playtime - Light Table Playground released

http://www.chris-granger.com/2012/06/24/its-playtime/

!
!
Instarepl

• real-time evaluation
Chris Granger - Light Table : Playground
A History of Live Programming

http://liveprogramming.github.io/liveblog/2013/01/a-history-of-live-A
History of Live Programmingprogramming/

!
• 	Live programming is an idea espoused by programming environments
from the earliest days of computing, such as Lisp machines, Logo,
Hypercard, and Smalltalk. In common with all these systems was
liveness: Feedback is nearly instantaneous and evaluation is always
accessible. For example, any part of the SmallTalk environment could be
modified at any time and reflected instantly. Likewise, in HyperCard, the
state of any object was considered to be live and editable at any time.
Live Programming
* Timeline

* Quick Looks

* Settings

* XCPlayground
Playgrounds
• 타임라인

• 시간 흐름에 대한 값의 변화를 파악
Timeline
• 빠른 보기

!
지원하는 타입

• Colors

• Strings (plain and attributed)

• Images

• Views

• Arrays and dictionaries

• Points, rects, sizes

• Bezier paths

• URLs

• Classes and structs
Quick Looks
파일 인스펙터에서 플랫폼, 리소스 경로 설정

!
Platform

• OS X

• iOS

!
Resource Path

• Absolute Path

• Relative to Playground

• Inside Playground

!
사용

• NSImage(named:)

• NSBundle.pathForResource(_:ofType:)
Settings
OS X에서만 되는 기능

!
캡쳐할 값 지정

• func XCPCaptureValue<T>(identifier: String, value: T)

!
타임라인에 라이브 뷰 보이기

• func XCPShowView(identifier: String, view: NSView)

!
비동기 지원

• func XCPSetExecutionShouldContinueIndefinitely(continueIndefinitely: Bool = true)
XCPlayground
Session 408

• GuidedTour.playground

• MyPlayground.playground

• InsertionSort.playground

• TestTableViewCell.playground

• PlaygroundIconView.playground

• Async.playground

!
예제 모음
Xcode Engineers : Rick Ballard, Connor Wakamo 

!
WWDC 2014 Session Videos - Apple Developer

https://developer.apple.com/videos/wwdc/2014/

408_swift_playgrounds.pdf

408_hd_swift_playgrounds.mov

!
!
ASCIIwwdc - Swift Playgrounds

http://asciiwwdc.com/2014/sessions/408

!
!
WWDC-2014-Subtitle / 408 Swift Playgrounds [English].srt

https://github.com/walkingway/WWDC-2014-Subtitle/blob/master/
408%20Swift%20Playgrounds%20%5BEnglish%5D.srt
Session 408 - Swift Playgrounds
GuidedTour.playground
 $
 cat
 contents.xcplayground
 
?xml
 version=1.0
 encoding=UTF-8
 standalone=yes?
 
playground
 version='3.0'
 sdk='macosx'
 allows-reset='YES'

More Related Content

PDF
놀아요 Swift Playgrounds
PDF
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
PDF
Machine Learning in Google I/O 19
PDF
Docker experience @inbotapp
PDF
Giving back with GitHub - Putting the Open Source back in iOS
PDF
Boosting machine learning workflow with TensorFlow 2.0
PPTX
P1 2017 python
PPTX
ChatOps meetup: les humains parlent aux robots
놀아요 Swift Playgrounds
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
Machine Learning in Google I/O 19
Docker experience @inbotapp
Giving back with GitHub - Putting the Open Source back in iOS
Boosting machine learning workflow with TensorFlow 2.0
P1 2017 python
ChatOps meetup: les humains parlent aux robots

Similar to [Osxdev]3.swift playgrounds (20)

PDF
PDF
cadec-2017-golang
PDF
Spacebrew: The Overview
PDF
Doug McCune - Using Open Source Flex and ActionScript Projects
PDF
Programming Language Final PPT
PDF
Programming the Real World: Javascript for Makers
PDF
Augernaut js
PDF
The Present and Future of the Web Platform
PDF
Introduction to Game programming with PyGame Part 1
PDF
Build Great Networked APIs with Swift, OpenAPI, and gRPC
PDF
Open frameworks 101_fitc
PDF
Rapid Game Development with RUby and Gosu – Ruby Manor 4
PDF
All good things scale - ohs 2020 - 03.13.2020
PPTX
From Web to Mobile with Stage 3D
PDF
COMP 4026 Lecture 5 OpenFrameworks and Soli
PDF
CocoaConf DC - Automate with Swift - Tony Ingraldi
PDF
ITP Spacebrew Workshop - Spring 2014
PDF
Try! Swift Tokyo2017
ODP
EuRuKo JRuby Talk 2008
PPTX
Learn about Java framework for pen-based computing and the Livescribe Platfor...
cadec-2017-golang
Spacebrew: The Overview
Doug McCune - Using Open Source Flex and ActionScript Projects
Programming Language Final PPT
Programming the Real World: Javascript for Makers
Augernaut js
The Present and Future of the Web Platform
Introduction to Game programming with PyGame Part 1
Build Great Networked APIs with Swift, OpenAPI, and gRPC
Open frameworks 101_fitc
Rapid Game Development with RUby and Gosu – Ruby Manor 4
All good things scale - ohs 2020 - 03.13.2020
From Web to Mobile with Stage 3D
COMP 4026 Lecture 5 OpenFrameworks and Soli
CocoaConf DC - Automate with Swift - Tony Ingraldi
ITP Spacebrew Workshop - Spring 2014
Try! Swift Tokyo2017
EuRuKo JRuby Talk 2008
Learn about Java framework for pen-based computing and the Livescribe Platfor...
Ad

More from NAVER D2 (20)

PDF
[211] 인공지능이 인공지능 챗봇을 만든다
PDF
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
PDF
[215] Druid로 쉽고 빠르게 데이터 분석하기
PDF
[245]Papago Internals: 모델분석과 응용기술 개발
PDF
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
PDF
[235]Wikipedia-scale Q&A
PDF
[244]로봇이 현실 세계에 대해 학습하도록 만들기
PDF
[243] Deep Learning to help student’s Deep Learning
PDF
[234]Fast & Accurate Data Annotation Pipeline for AI applications
PDF
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
PDF
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
PDF
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
PDF
[224]네이버 검색과 개인화
PDF
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
PDF
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
PDF
[213] Fashion Visual Search
PDF
[232] TensorRT를 활용한 딥러닝 Inference 최적화
PDF
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
PDF
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
PDF
[223]기계독해 QA: 검색인가, NLP인가?
[211] 인공지능이 인공지능 챗봇을 만든다
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[215] Druid로 쉽고 빠르게 데이터 분석하기
[245]Papago Internals: 모델분석과 응용기술 개발
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[235]Wikipedia-scale Q&A
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[243] Deep Learning to help student’s Deep Learning
[234]Fast & Accurate Data Annotation Pipeline for AI applications
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[224]네이버 검색과 개인화
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[213] Fashion Visual Search
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[223]기계독해 QA: 검색인가, NLP인가?
Ad

Recently uploaded (20)

PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Modernising the Digital Integration Hub
PDF
STKI Israel Market Study 2025 version august
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPTX
Tartificialntelligence_presentation.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Architecture types and enterprise applications.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
project resource management chapter-09.pdf
A contest of sentiment analysis: k-nearest neighbor versus neural network
TLE Review Electricity (Electricity).pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Assigned Numbers - 2025 - Bluetooth® Document
Modernising the Digital Integration Hub
STKI Israel Market Study 2025 version august
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Tartificialntelligence_presentation.pptx
Programs and apps: productivity, graphics, security and other tools
1 - Historical Antecedents, Social Consideration.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
DP Operators-handbook-extract for the Mautical Institute
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Architecture types and enterprise applications.pdf
NewMind AI Weekly Chronicles – August ’25 Week III
Developing a website for English-speaking practice to English as a foreign la...
project resource management chapter-09.pdf

[Osxdev]3.swift playgrounds