SlideShare une entreprise Scribd logo
1  sur  135
Télécharger pour lire hors ligne
//
var name = "Suyeol Jeon"
//
let birthyear = 1995
//
name = " "
//
birthyear = 2000
! Cannot assign to value: 'birthyear' is a 'let' constant
var name: String = "Suyeol Jeon"
let birthyear: Int = 1995
var height: Float = 180.1
var name: String = "Suyeol Jeon"
let birthyear: Int = 1995
var height: Float = 180.1
"ABC" String
123 Int
[String] [String: String]
let languages = [
"Swift",
"Objective-C",
"Python",
]
var capitals = [
" ": " ",
" ": " ",
" ": " ",
]
if for switch
for _ in 0..<10 {
print("Hello!")
}
• for i in 0..<10 

i
•
switch age {
case 8..<14:
student = " "
case 14..<17:
student = " "
case 17..<20:
student = " "
default:
student = " "
}
" "
" "
"" // ?
" "
"" // ?
" "
nil //
123
0 //
nil //
var name: String = " "
name = nil
! Nil cannot be assigned to type 'String'
String nil
var name: String? = " "
name = nil
? String
nil
var email: String?
print(email) // nil
email = "devxoul@gmail.com"
print(email) // Optional("dev...com")
String? String
let optional: String? = "Hello"
let required: String = optional
! Value of optional type 'String?' not unwrapped; did you
mean to use '!' or '?'?
String? String

 

String String?
"A" 10
nil
let optionalName: String? = " "
if let name = optionalName {
print(name)
}
let optionalName: String? = " "
if let name = optionalName {
print(name)
}
let optionalName: String? = " "
if let name = optionalName {
print(name)
}
let optionalName: String? = " "
if let name = optionalName {
print(name)
}
" "
let optionalName: String? = " "
if let name = optionalName {
print(name)
}
let name: String = " "
let optionalName: String? = " "
if let name = optionalName {
print(name) //
}
let optionalName: String? = " "
if let name = optionalName {
print(name) //
}
let optionalName: String?
if let name = optionalName {
print(name)
}
let optionalName: String?
if let name = optionalName {
print(name)
}
let optionalName: String?
if let name = optionalName {
print(name)
}
nil
let optionalName: String?
if let name = optionalName {
print(name)
}
if let name = optionalName,
let age = optionalAge {
print(name, age)
}
if let age = optionalAge
where age >= 20 {
print(age)
}
where


if let arr = optionalArray {
print(arr.isEmpty)
} else {
print(false)
}
print(optionalArray?.isEmpty == true)
print(optionalArray?.isEmpty == true)
print(optionalArray?.isEmpty == true)
print(optionalArray?.isEmpty == true)
print(optionalArray?.isEmpty == true)
print(optionalArray?.isEmpty == true)
let optionalName: String? = " "
print(optionalName) // Optional(" ")
print(optionalName!) //
var email: String! = " "
print(email) //
nil
func hello(name: String, time: Int) -> String {
var string = ""
for _ in 0..<time {
string += "(name) !n"
}
return string
}
func hello(name: String, time: Int) -> String {
var string = ""
for _ in 0..<time {
string += "(name) !n"
}
return string
}
hello(" ", time: 3)
func hello(name: String, time: Int) -> String {
var string = ""
for _ in 0..<time {
string += "(name) !n"
}
return string
}
hello(" ", time: 3)
func hello(name: String, numberOfTimes time: Int) -> Void {
print(time)
}
hello(" ", numberOfTimes: 3)
func hello(name: String, numberOfTimes time: Int) -> Void {
print(time)
}
hello(" ", numberOfTimes: 3)
func hello(withName name: String,
numberOfTimes time: Int) -> Void {
print(time)
}
hello(withName: " ", numberOfTimes: 3)
func hello(withName name: String,
numberOfTimes time: Int) -> Void {
print(time)
}
hello(withName: " ", numberOfTimes: 3)
func hello(name: String, _ time: Int) -> Void {
print(time)
}
hello(" ", 3)
func hello(name: String, time: Int = 1) -> Void {
print(time)
}
hello(" ")
func sum(numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
sum(1, 2)
sum(3, 4, 5)
func hello(name: String, time: Int) {
func message(name: String) {
return "(name) !"
}
for _ in 0..<time {
print message(name)
}
}
func helloGenerator(message: String) -> String -> String {
func hello(name: String) -> String {
return name + message
}
return hello
}
let hello = helloGenerator(" !")
hello(" ")
func helloGenerator(message: String) -> String -> String {
func hello(name: String) -> String {
return name + message
}
return hello
}
let hello = helloGenerator(" !")
hello(" ")
func helloGenerator(message: String) -> (String, String) -> String {
func hello(firstName: String, lastName: String) -> String {
return lastName + firstName + message
}
return hello
}
let hello = helloGenerator(" !")
hello(" ", " ")
func helloGenerator(message: String) -> (String, String) -> String {
func hello(firstName: String, lastName: String) -> String {
return lastName + firstName + message
}
return hello
}
let hello = helloGenerator(" !")
hello(" ", " ")
func helloGenerator(message: String) -> (String, String) -> String {
return { (firstName: String, lastName: String) -> String in
return lastName + firstName + message
}
}
func helloGenerator(message: String) -> (String, String) -> String {
func hello(firstName: String, lastName: String) -> String {
return lastName + firstName + message
}
return hello
}
func helloGenerator(message: String) -> (String, String) -> String {
return { (firstName: String, lastName: String) -> String in
return lastName + firstName + message
}
}
func helloGenerator(message: String) -> (String, String) -> String {
return { (firstName: String, lastName: String) -> String in
return lastName + firstName + message
}
}
func helloGenerator(message: String) -> (String, String) -> String {
return { firstName , lastName in
return lastName + firstName + message
}
}
func helloGenerator(message: String) -> (String, String) -> String {
return { firstName, lastName in
return lastName + firstName + message
}
}
func helloGenerator(message: String) -> (String, String) -> String {
return { firstName, lastName in
return lastName + firstName + message
}
}
func helloGenerator(message: String) -> (String, String) -> String {
return {
return $1 + $0 + message
}
}
func helloGenerator(message: String) -> (String, String) -> String {
return {
return $1 + $0 + message
}
}
func helloGenerator(message: String) -> (String, String) -> String {
return { $1 + $0 + message }
}
func helloGenerator(message: String) -> (String, String) -> String {
return {
return $1 + $0 + message
}
}
let hello: (String, String) -> String = { $1 + $0 + " !" }
hello(" ", " ")
let hello: ((String, String) -> String)? = nil
hello?(" ", " ")
func manipulateNumber(number: Int,
usingBlock block: Int -> Int) -> Int {
return block(number)
}
manipulateNumber(10, usingBlock: { (number: Int) -> Int in
return number * 2
})
manipulateNumber(10, usingBlock: {
$0 * 2
})
manipulateNumber(10, usingBlock: { (number: Int) -> Int in
return number * 2
})
manipulateNumber(10) {
$0 * 2
}
let numbers = [1, 3, 2, 6, 7, 5, 8, 4]
let sortedNumbers = numbers.sort { $0 < $1 }
print(sortedNumbers) // [1, 2, 3, 4, 5, 6, 7, 8]
let evens = numbers.filter { $0 % 2 == 0 }
print(evens) // [2, 6, 8, 4]
let arr1 = [1, 3, 6, 2, 7, 9]
let arr2 = arr1.map { $0 * 2 }
// [2, 6, 12, 4, 14, 18]
let arr1 = [1, 3, 6, 2, 7, 9]
let arr2 = arr1.map { $0 * 2 }
// [2, 6, 12, 4, 14, 18]
let arr1 = [1, 3, 6, 2, 7, 9]
let arr2 = arr1.map { $0 * 2 }
// [2, 6, 12, 4, 14, 18]
let arr1 = [1, 3, 6, 2, 7, 9]
let arr2 = arr1.map { $0 * 2 }
// [2, 6, 12, 4, 14, 18]
let arr1 = [1, 3, 6, 2, 7, 9]
let arr2 = arr1.map { $0 * 2 }
// [2, 6, 12, 4, 14, 18]
let arr1 = [1, 3, 6, 2, 7, 9]
let arr2 = arr1.map { $0 * 2 }
// [2, 6, 12, 4, 14, 18]
let arr1 = [1, 3, 6, 2, 7, 9]
let arr2 = arr1.map { $0 * 2 }
// [2, 6, 12, 4, 14, 18]
let arr1 = [1, 3, 6, 2, 7, 9]
let arr2 = arr1.map { $0 * 2 }
// [2, 6, 12, 4, 14, 18]
let arr1 = [1, 3, 6, 2, 7, 9]
arr1.reduce(0, combine: { $0 + $1 }) // 28
let arr1 = [1, 3, 6, 2, 7, 9]
arr1.reduce(0, combine: { $0 + $1 }) // 28
0 1+
let arr1 = [1, 3, 6, 2, 7, 9]
arr1.reduce(0, combine: { $0 + $1 }) // 28
0 1+ = 1
let arr1 = [1, 3, 6, 2, 7, 9]
arr1.reduce(0, combine: { $0 + $1 }) // 28
1 3
0 1+ = 1
+
let arr1 = [1, 3, 6, 2, 7, 9]
arr1.reduce(0, combine: { $0 + $1 }) // 28
1 3
0 1+ = 1
+ = 4
let arr1 = [1, 3, 6, 2, 7, 9]
arr1.reduce(0, combine: { $0 + $1 }) // 28
1 3
0 1+ = 1
+ = 4
4 6+
let arr1 = [1, 3, 6, 2, 7, 9]
arr1.reduce(0, combine: { $0 + $1 }) // 28
1 3
0 1+ = 1
+ = 4
4 6+ = 10
let arr1 = [1, 3, 6, 2, 7, 9]
arr1.reduce(0, combine: { $0 + $1 }) // 28
1 3
0 1+ = 1
+ = 4
4 6+ = 10
let arr1 = [1, 3, 6, 2, 7, 9]
arr1.reduce(0, combine: +) // 28
class Dog {
var name: String?
var age: Int?
func simpleDescription() -> String {
return "" (self.name)"
}
}
struct Coffee {
var name: String?
var size: String?
func simpleDescription() -> String {
return "☕ (self.name)"
}
}
class Dog {
var name: String?
var age: Int?
init() {
self.age = 0 //
}
}
class Dog {
var name: String //
var age: Int?
init() {
self.age = 0
}
} ! Return from initializer without initializing all stored properties
class Dog {
var name: String = " "
var age: Int?
init() {
self.age = 0
}
}
class Dog: Animal {
var name: String?
var age: Int
override init() {
self.age = 0 //
super.init() //
// `self`
print(self.simpleDescription())
}
func simpleDescription() -> String {
return "" (self.name)"
}
}
struct Hex {
var decimal: Int?
}
struct Hex {
var hexString: String? {
get {
if let decimal = self.decimal {
return String(decimal, radix: 16)
} else {
return nil
}
}
set {
if let newValue = newValue {
self.decimal = Int(newValue, radix: 16)
} else {
self.decimal = nil
}
}
}
}
struct Hex {
var hexCode: String? {
if let hex = self.hexString {
return "0x" + hex
}
return nil
}
}
struct Hex {
var decimal: Int? {
willSet {
print("(self.decimal) (newValue) .")
}
didSet {
print("(oldValue) (self.decimal) .")
}
}
}
var coffeeInfo = (" ", 5100)
coffeeInfo // (String, Int)
coffeeInfo.0 //
coffeeInfo.1 // 5100
coffeeInfo.1 = 5100
var namedCoffeeInfo = (coffee: " ",
price: 5100)
namedCoffeeInfo.coffee //
namedCoffeeInfo.price // 5100
namedCoffeeInfo.price = 5100
let (coffee, price) = (" ", 5100)
coffee //
price // 5100
let (_, latteSize, lattePrice) = (" ",
"Venti", 5600)
latteSize // Venti
lattePrice // 5600
func coffeeInfoForName(name: String) -> (name: String, price: Int)? {
let coffeeInfoList: [(name: String, price: Int)] = [
(" ", 5100),
(" ", 5600),
]
for coffeeInfo in coffeeInfoList {
if coffeeInfo.name == name {
return coffeeInfo
}
}
return nil
}
coffeeInfoForName(" ")?.price // 5100
coffeeInfoForName(" ")?.price // nil
enum Month: Int {
case January = 1
case February
case March
case April
case May
case June
case July
case August
case September
case October
case November
case December
}
enum Month: Int {
case ...
func simpleDescription() -> String {
switch self {
case .January:
return "1 "
case .February:
return "2 "
case ...
return "..."
case .December:
return "12 "
}
}
}
let december = Month.December
print(december.simpleDescription()) // 12
print(december.rawValue) // 12
let october = Month(rawValue: 10)
print(october) // Optional(Month.October)
enum IssueState: String {
case Open = "open"
case Closed = "closed"
}
let state = IssueState(rawValue: "open")
print(state) // Optional(IssueState.Open)
enum Spoon {
case Dirt
case Bronze
case Silver
case Gold
}
enum Spoon {
case Dirt
case Bronze
case Silver
case Gold
}
let spoon: Spoon = .Gold
func doSomething(spoon: Spoon) {
// ...
}
doSomething(.Silver)
enum Error {
case InvalidParameter(String, String)
case Timeout
}
let error = Error.InvalidParameter(
"email",
" ."
)
if case .InvalidParameter(let field, let message) = error {
print(field) // email
print(message) // .
}
switch error {
case .InvalidParameter(let field, let message):
print(field) // email
print(message) // .
default:
break
}
public enum Optional<Wrapped> {
case None
case Some(Wrapped)
}
let age: Int? = 20
switch age {
case .None: // `nil`
print(" .")
case .Some(let x) where x < 20:
print(" ")
case .Some(let x) where x < 65:
print(" ")
default:
print(" ")
}
/// .
protocol Sendable {
var from: String? { get }
var to: String { get }
func send()
}
struct Mail: Sendable {
var from: String?
var to: String
func send() {
print("Send a mail from (self.from) to (self.to)")
}
}
func sendAnything<T: Sendable>(sendable: T) {
sendable.send()
}
protocol Messagable {
var message: String? { get }
}
protocol Sendable: Messagable {
// ...
}
let anyNumber: Any = 10
let anyString: Any = "Hi"
let anyInstance: AnyObject = Dog()
extension String {
var length: Int {
return self.characters.count
}
func reverse() -> String {
return self.characters.reverse()
.map { String($0) }
.joinWithSeparator("")
}
}




protocol Sendable {
var from: String? { get }
var to: String { get }
func send()
}
extension Sendable {
func debug() {
print("(self.from) -> (self.to)")
}
}





Contenu connexe

Tendances

Groovy puzzlers jug-moscow-part 2
Groovy puzzlers jug-moscow-part 2Groovy puzzlers jug-moscow-part 2
Groovy puzzlers jug-moscow-part 2Evgeny Borisov
 
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf Milan
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf MilanFrom Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf Milan
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf MilanFabio Collini
 
Ruby is Awesome
Ruby is AwesomeRuby is Awesome
Ruby is AwesomeAstrails
 
Taking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order FunctionsTaking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order FunctionsDavid Golden
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applicationsSkills Matter
 
Haste (Same Language, Multiple Platforms) and Tagless Final Style (Same Synta...
Haste (Same Language, Multiple Platforms) and Tagless Final Style (Same Synta...Haste (Same Language, Multiple Platforms) and Tagless Final Style (Same Synta...
Haste (Same Language, Multiple Platforms) and Tagless Final Style (Same Synta...takeoutweight
 
여자개발자모임터 6주년 개발 세미나 - Scala Language
여자개발자모임터 6주년 개발 세미나 - Scala Language여자개발자모임터 6주년 개발 세미나 - Scala Language
여자개발자모임터 6주년 개발 세미나 - Scala LanguageAshal aka JOKER
 
Pre-Bootcamp introduction to Elixir
Pre-Bootcamp introduction to ElixirPre-Bootcamp introduction to Elixir
Pre-Bootcamp introduction to ElixirPaweł Dawczak
 
Damn Fine CoffeeScript
Damn Fine CoffeeScriptDamn Fine CoffeeScript
Damn Fine CoffeeScriptniklal
 
A Taste of Python - Devdays Toronto 2009
A Taste of Python - Devdays Toronto 2009A Taste of Python - Devdays Toronto 2009
A Taste of Python - Devdays Toronto 2009Jordan Baker
 
Template Haskell Tutorial
Template Haskell TutorialTemplate Haskell Tutorial
Template Haskell Tutorialkizzx2
 
Using Scala Slick at FortyTwo
Using Scala Slick at FortyTwoUsing Scala Slick at FortyTwo
Using Scala Slick at FortyTwoEishay Smith
 
mobl - model-driven engineering lecture
mobl - model-driven engineering lecturemobl - model-driven engineering lecture
mobl - model-driven engineering lecturezefhemel
 
Cycle.js: Functional and Reactive
Cycle.js: Functional and ReactiveCycle.js: Functional and Reactive
Cycle.js: Functional and ReactiveEugene Zharkov
 
Groovy collection api
Groovy collection apiGroovy collection api
Groovy collection apitrygvea
 

Tendances (20)

interfaz
interfazinterfaz
interfaz
 
Groovy puzzlers jug-moscow-part 2
Groovy puzzlers jug-moscow-part 2Groovy puzzlers jug-moscow-part 2
Groovy puzzlers jug-moscow-part 2
 
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf Milan
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf MilanFrom Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf Milan
From Java to Kotlin beyond alt+shift+cmd+k - Kotlin Community Conf Milan
 
Ruby is Awesome
Ruby is AwesomeRuby is Awesome
Ruby is Awesome
 
Taking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order FunctionsTaking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order Functions
 
Elm: give it a try
Elm: give it a tryElm: give it a try
Elm: give it a try
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
 
Haste (Same Language, Multiple Platforms) and Tagless Final Style (Same Synta...
Haste (Same Language, Multiple Platforms) and Tagless Final Style (Same Synta...Haste (Same Language, Multiple Platforms) and Tagless Final Style (Same Synta...
Haste (Same Language, Multiple Platforms) and Tagless Final Style (Same Synta...
 
여자개발자모임터 6주년 개발 세미나 - Scala Language
여자개발자모임터 6주년 개발 세미나 - Scala Language여자개발자모임터 6주년 개발 세미나 - Scala Language
여자개발자모임터 6주년 개발 세미나 - Scala Language
 
Pre-Bootcamp introduction to Elixir
Pre-Bootcamp introduction to ElixirPre-Bootcamp introduction to Elixir
Pre-Bootcamp introduction to Elixir
 
Damn Fine CoffeeScript
Damn Fine CoffeeScriptDamn Fine CoffeeScript
Damn Fine CoffeeScript
 
A Taste of Python - Devdays Toronto 2009
A Taste of Python - Devdays Toronto 2009A Taste of Python - Devdays Toronto 2009
A Taste of Python - Devdays Toronto 2009
 
Template Haskell Tutorial
Template Haskell TutorialTemplate Haskell Tutorial
Template Haskell Tutorial
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScript
 
Using Scala Slick at FortyTwo
Using Scala Slick at FortyTwoUsing Scala Slick at FortyTwo
Using Scala Slick at FortyTwo
 
mobl - model-driven engineering lecture
mobl - model-driven engineering lecturemobl - model-driven engineering lecture
mobl - model-driven engineering lecture
 
Cycle.js: Functional and Reactive
Cycle.js: Functional and ReactiveCycle.js: Functional and Reactive
Cycle.js: Functional and Reactive
 
Python 1
Python 1Python 1
Python 1
 
Groovy collection api
Groovy collection apiGroovy collection api
Groovy collection api
 
Lekcja stylu
Lekcja styluLekcja stylu
Lekcja stylu
 

Similaire à Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기

Derping With Kotlin
Derping With KotlinDerping With Kotlin
Derping With KotlinRoss Tuck
 
Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB jhchabran
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to SwiftGiordano Scalzo
 
Introduction to Swift programming language.
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.Icalia Labs
 
Swift 5.1 Language Guide Notes.pdf
Swift 5.1 Language Guide Notes.pdfSwift 5.1 Language Guide Notes.pdf
Swift 5.1 Language Guide Notes.pdfJkPoppy
 
Perl6 a whistle stop tour
Perl6 a whistle stop tourPerl6 a whistle stop tour
Perl6 a whistle stop tourSimon Proctor
 
Perl6 a whistle stop tour
Perl6 a whistle stop tourPerl6 a whistle stop tour
Perl6 a whistle stop tourSimon Proctor
 
Functional Programming with Groovy
Functional Programming with GroovyFunctional Programming with Groovy
Functional Programming with GroovyArturo Herrero
 
Idiomatic Kotlin
Idiomatic KotlinIdiomatic Kotlin
Idiomatic Kotlinintelliyole
 
Swift 함수 커링 사용하기
Swift 함수 커링 사용하기Swift 함수 커링 사용하기
Swift 함수 커링 사용하기진성 오
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to PerlSway Wang
 
Scala in a Java 8 World
Scala in a Java 8 WorldScala in a Java 8 World
Scala in a Java 8 WorldDaniel Blyth
 
An Intro To ES6
An Intro To ES6An Intro To ES6
An Intro To ES6FITC
 

Similaire à Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기 (20)

Scala 2 + 2 > 4
Scala 2 + 2 > 4Scala 2 + 2 > 4
Scala 2 + 2 > 4
 
Derping With Kotlin
Derping With KotlinDerping With Kotlin
Derping With Kotlin
 
Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB
 
Pooya Khaloo Presentation on IWMC 2015
Pooya Khaloo Presentation on IWMC 2015Pooya Khaloo Presentation on IWMC 2015
Pooya Khaloo Presentation on IWMC 2015
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to Swift
 
Introduction to Swift programming language.
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.
 
Introduction to Scala
Introduction to ScalaIntroduction to Scala
Introduction to Scala
 
Swift 5.1 Language Guide Notes.pdf
Swift 5.1 Language Guide Notes.pdfSwift 5.1 Language Guide Notes.pdf
Swift 5.1 Language Guide Notes.pdf
 
ddd+scala
ddd+scaladdd+scala
ddd+scala
 
Perl6 a whistle stop tour
Perl6 a whistle stop tourPerl6 a whistle stop tour
Perl6 a whistle stop tour
 
Perl6 a whistle stop tour
Perl6 a whistle stop tourPerl6 a whistle stop tour
Perl6 a whistle stop tour
 
Functional Programming with Groovy
Functional Programming with GroovyFunctional Programming with Groovy
Functional Programming with Groovy
 
Idiomatic Kotlin
Idiomatic KotlinIdiomatic Kotlin
Idiomatic Kotlin
 
Swift 함수 커링 사용하기
Swift 함수 커링 사용하기Swift 함수 커링 사용하기
Swift 함수 커링 사용하기
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
 
Benefits of Kotlin
Benefits of KotlinBenefits of Kotlin
Benefits of Kotlin
 
Scala in a Java 8 World
Scala in a Java 8 WorldScala in a Java 8 World
Scala in a Java 8 World
 
Perl6 grammars
Perl6 grammarsPerl6 grammars
Perl6 grammars
 
Php functions
Php functionsPhp functions
Php functions
 
An Intro To ES6
An Intro To ES6An Intro To ES6
An Intro To ES6
 

Plus de Suyeol Jeon

Hello, ReactorKit 
Hello, ReactorKit Hello, ReactorKit 
Hello, ReactorKit Suyeol Jeon
 
Building Funnels with Google BigQuery
Building Funnels with Google BigQueryBuilding Funnels with Google BigQuery
Building Funnels with Google BigQuerySuyeol Jeon
 
ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기Suyeol Jeon
 
StyleShare 2014년 8월 관점공유 - 전수열
StyleShare 2014년 8월 관점공유 - 전수열StyleShare 2014년 8월 관점공유 - 전수열
StyleShare 2014년 8월 관점공유 - 전수열Suyeol Jeon
 
Present your presentation
Present your presentationPresent your presentation
Present your presentationSuyeol Jeon
 
Joyfl 창업이야기.ssul
Joyfl 창업이야기.ssulJoyfl 창업이야기.ssul
Joyfl 창업이야기.ssulSuyeol Jeon
 
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자Suyeol Jeon
 
Evermind (2차 평가)
Evermind (2차 평가)Evermind (2차 평가)
Evermind (2차 평가)Suyeol Jeon
 

Plus de Suyeol Jeon (11)

Let's TDD
Let's TDDLet's TDD
Let's TDD
 
Hello, ReactorKit 
Hello, ReactorKit Hello, ReactorKit 
Hello, ReactorKit 
 
Building Funnels with Google BigQuery
Building Funnels with Google BigQueryBuilding Funnels with Google BigQuery
Building Funnels with Google BigQuery
 
ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기
 
Evermind
EvermindEvermind
Evermind
 
StyleShare 2014년 8월 관점공유 - 전수열
StyleShare 2014년 8월 관점공유 - 전수열StyleShare 2014년 8월 관점공유 - 전수열
StyleShare 2014년 8월 관점공유 - 전수열
 
Present your presentation
Present your presentationPresent your presentation
Present your presentation
 
Joyfl 창업이야기.ssul
Joyfl 창업이야기.ssulJoyfl 창업이야기.ssul
Joyfl 창업이야기.ssul
 
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
 
Evermind (2차 평가)
Evermind (2차 평가)Evermind (2차 평가)
Evermind (2차 평가)
 
I'm Traveling
I'm TravelingI'm Traveling
I'm Traveling
 

Dernier

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456KiaraTiradoMicha
 

Dernier (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 

Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기