Enviar búsqueda
Cargar
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
•
0 recomendaciones
•
1,405 vistas
Taro Matsuzawa
Seguir
Educación
Tecnología
Noticias y política
Denunciar
Compartir
Denunciar
Compartir
1 de 60
Descargar ahora
Descargar para leer sin conexión
Recomendados
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
Wanbok Choi
Unleash your inner console cowboy
Unleash your inner console cowboy
Kenneth Geisshirt
The Ring programming language version 1.3 book - Part 84 of 88
The Ring programming language version 1.3 book - Part 84 of 88
Mahmoud Samir Fayed
Mastering Kotlin Standard Library
Mastering Kotlin Standard Library
Nelson Glauber Leal
The Ring programming language version 1.5.1 book - Part 44 of 180
The Ring programming language version 1.5.1 book - Part 44 of 180
Mahmoud Samir Fayed
Python在豆瓣的应用
Python在豆瓣的应用
Qiangning Hong
Øredev 2011 - JVM JIT for Dummies (What the JVM Does With Your Bytecode When ...
Øredev 2011 - JVM JIT for Dummies (What the JVM Does With Your Bytecode When ...
Charles Nutter
Hive introduction 介绍
Hive introduction 介绍
ablozhou
Recomendados
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
Wanbok Choi
Unleash your inner console cowboy
Unleash your inner console cowboy
Kenneth Geisshirt
The Ring programming language version 1.3 book - Part 84 of 88
The Ring programming language version 1.3 book - Part 84 of 88
Mahmoud Samir Fayed
Mastering Kotlin Standard Library
Mastering Kotlin Standard Library
Nelson Glauber Leal
The Ring programming language version 1.5.1 book - Part 44 of 180
The Ring programming language version 1.5.1 book - Part 44 of 180
Mahmoud Samir Fayed
Python在豆瓣的应用
Python在豆瓣的应用
Qiangning Hong
Øredev 2011 - JVM JIT for Dummies (What the JVM Does With Your Bytecode When ...
Øredev 2011 - JVM JIT for Dummies (What the JVM Does With Your Bytecode When ...
Charles Nutter
Hive introduction 介绍
Hive introduction 介绍
ablozhou
Php data structures – beyond spl (online version)
Php data structures – beyond spl (online version)
Mark Baker
The Ring programming language version 1.2 book - Part 79 of 84
The Ring programming language version 1.2 book - Part 79 of 84
Mahmoud Samir Fayed
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Sages
Do we need Unsafe in Java?
Do we need Unsafe in Java?
Andrei Pangin
sizeof(Object): how much memory objects take on JVMs and when this may matter
sizeof(Object): how much memory objects take on JVMs and when this may matter
Dawid Weiss
Realm to Json & Royal
Realm to Json & Royal
Leonardo Taehwan Kim
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, Italy
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, Italy
Patrick Allaert
ARCでめちゃモテiOSプログラマー
ARCでめちゃモテiOSプログラマー
Satoshi Asano
The Ring programming language version 1.5.2 book - Part 10 of 181
The Ring programming language version 1.5.2 book - Part 10 of 181
Mahmoud Samir Fayed
Leveraging Hadoop for Legacy Systems
Leveraging Hadoop for Legacy Systems
Mathias Herberts
Aplicações assíncronas no Android com Coroutines & Jetpack
Aplicações assíncronas no Android com Coroutines & Jetpack
Nelson Glauber Leal
The Ring programming language version 1.3 book - Part 87 of 88
The Ring programming language version 1.3 book - Part 87 of 88
Mahmoud Samir Fayed
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Sages
.NET Multithreading and File I/O
.NET Multithreading and File I/O
Jussi Pohjolainen
Wprowadzenie do technologi Big Data i Apache Hadoop
Wprowadzenie do technologi Big Data i Apache Hadoop
Sages
The Ring programming language version 1.5.2 book - Part 45 of 181
The Ring programming language version 1.5.2 book - Part 45 of 181
Mahmoud Samir Fayed
Gpu programming with java
Gpu programming with java
Gary Sieling
Letswift19-clean-architecture
Letswift19-clean-architecture
Jung Kim
Rubyconfindia2018 - GPU accelerated libraries for Ruby
Rubyconfindia2018 - GPU accelerated libraries for Ruby
Prasun Anand
[131]해커의 관점에서 바라보기
[131]해커의 관점에서 바라보기
NAVER D2
Defnydd trydan Ysgol y Frenni
Defnydd trydan Ysgol y Frenni
Mrs Serena Davies
Tales@tdc
Tales@tdc
Tales Andrade
Más contenido relacionado
La actualidad más candente
Php data structures – beyond spl (online version)
Php data structures – beyond spl (online version)
Mark Baker
The Ring programming language version 1.2 book - Part 79 of 84
The Ring programming language version 1.2 book - Part 79 of 84
Mahmoud Samir Fayed
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Sages
Do we need Unsafe in Java?
Do we need Unsafe in Java?
Andrei Pangin
sizeof(Object): how much memory objects take on JVMs and when this may matter
sizeof(Object): how much memory objects take on JVMs and when this may matter
Dawid Weiss
Realm to Json & Royal
Realm to Json & Royal
Leonardo Taehwan Kim
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, Italy
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, Italy
Patrick Allaert
ARCでめちゃモテiOSプログラマー
ARCでめちゃモテiOSプログラマー
Satoshi Asano
The Ring programming language version 1.5.2 book - Part 10 of 181
The Ring programming language version 1.5.2 book - Part 10 of 181
Mahmoud Samir Fayed
Leveraging Hadoop for Legacy Systems
Leveraging Hadoop for Legacy Systems
Mathias Herberts
Aplicações assíncronas no Android com Coroutines & Jetpack
Aplicações assíncronas no Android com Coroutines & Jetpack
Nelson Glauber Leal
The Ring programming language version 1.3 book - Part 87 of 88
The Ring programming language version 1.3 book - Part 87 of 88
Mahmoud Samir Fayed
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Sages
.NET Multithreading and File I/O
.NET Multithreading and File I/O
Jussi Pohjolainen
Wprowadzenie do technologi Big Data i Apache Hadoop
Wprowadzenie do technologi Big Data i Apache Hadoop
Sages
The Ring programming language version 1.5.2 book - Part 45 of 181
The Ring programming language version 1.5.2 book - Part 45 of 181
Mahmoud Samir Fayed
Gpu programming with java
Gpu programming with java
Gary Sieling
Letswift19-clean-architecture
Letswift19-clean-architecture
Jung Kim
Rubyconfindia2018 - GPU accelerated libraries for Ruby
Rubyconfindia2018 - GPU accelerated libraries for Ruby
Prasun Anand
[131]해커의 관점에서 바라보기
[131]해커의 관점에서 바라보기
NAVER D2
La actualidad más candente
(20)
Php data structures – beyond spl (online version)
Php data structures – beyond spl (online version)
The Ring programming language version 1.2 book - Part 79 of 84
The Ring programming language version 1.2 book - Part 79 of 84
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Do we need Unsafe in Java?
Do we need Unsafe in Java?
sizeof(Object): how much memory objects take on JVMs and when this may matter
sizeof(Object): how much memory objects take on JVMs and when this may matter
Realm to Json & Royal
Realm to Json & Royal
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, Italy
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, Italy
ARCでめちゃモテiOSプログラマー
ARCでめちゃモテiOSプログラマー
The Ring programming language version 1.5.2 book - Part 10 of 181
The Ring programming language version 1.5.2 book - Part 10 of 181
Leveraging Hadoop for Legacy Systems
Leveraging Hadoop for Legacy Systems
Aplicações assíncronas no Android com Coroutines & Jetpack
Aplicações assíncronas no Android com Coroutines & Jetpack
The Ring programming language version 1.3 book - Part 87 of 88
The Ring programming language version 1.3 book - Part 87 of 88
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
.NET Multithreading and File I/O
.NET Multithreading and File I/O
Wprowadzenie do technologi Big Data i Apache Hadoop
Wprowadzenie do technologi Big Data i Apache Hadoop
The Ring programming language version 1.5.2 book - Part 45 of 181
The Ring programming language version 1.5.2 book - Part 45 of 181
Gpu programming with java
Gpu programming with java
Letswift19-clean-architecture
Letswift19-clean-architecture
Rubyconfindia2018 - GPU accelerated libraries for Ruby
Rubyconfindia2018 - GPU accelerated libraries for Ruby
[131]해커의 관점에서 바라보기
[131]해커의 관점에서 바라보기
Destacado
Defnydd trydan Ysgol y Frenni
Defnydd trydan Ysgol y Frenni
Mrs Serena Davies
Tales@tdc
Tales@tdc
Tales Andrade
Method Shelters : Another Way to Resolve Class Extension Conflicts
Method Shelters : Another Way to Resolve Class Extension Conflicts
S Akai
RubyistのためのObjective-C入門
RubyistのためのObjective-C入門
S Akai
よくわかるオンドゥル語
よくわかるオンドゥル語
S Akai
Romafs
Romafs
S Akai
Beginning to iPhone development
Beginning to iPhone development
Vonbo
Objective-C Survives
Objective-C Survives
S Akai
Présentation gnireenigne
Présentation gnireenigne
CocoaHeads.fr
Destacado
(9)
Defnydd trydan Ysgol y Frenni
Defnydd trydan Ysgol y Frenni
Tales@tdc
Tales@tdc
Method Shelters : Another Way to Resolve Class Extension Conflicts
Method Shelters : Another Way to Resolve Class Extension Conflicts
RubyistのためのObjective-C入門
RubyistのためのObjective-C入門
よくわかるオンドゥル語
よくわかるオンドゥル語
Romafs
Romafs
Beginning to iPhone development
Beginning to iPhone development
Objective-C Survives
Objective-C Survives
Présentation gnireenigne
Présentation gnireenigne
Similar a スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
Angular2 for Beginners
Angular2 for Beginners
Oswald Campesato
オペレーティングシステム 設計と実装 第3版(20101211)
オペレーティングシステム 設計と実装 第3版(20101211)
Ryousei Takano
Migrating from matlab to python
Migrating from matlab to python
ActiveState
Happy Go Programming
Happy Go Programming
Lin Yo-An
React Native Evening
React Native Evening
Troy Miles
JavaScript in 2015
JavaScript in 2015
Igor Laborie
iPhone Development Intro
iPhone Development Intro
Luis Azevedo
Parallel Computing in R
Parallel Computing in R
mickey24
シェル芸でライフハック(特論)
シェル芸でライフハック(特論)
Yuki Shimazaki
TypeScript
TypeScript
Oswald Campesato
みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」
みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」
techtalkdwango
iOS 2 - The practical Stuff
iOS 2 - The practical Stuff
Petr Dvorak
Golang
Golang
Felipe Mamud
A Recovering Java Developer Learns to Go
A Recovering Java Developer Learns to Go
Matt Stine
Node Boot Camp
Node Boot Camp
Troy Miles
Metaprogramming
Metaprogramming
Dmitri Nesteruk
NSC #2 - Challenge Solution
NSC #2 - Challenge Solution
NoSuchCon
NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!
NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!
Daniel Cousineau
ECMA5 and ES6 Promises
ECMA5 and ES6 Promises
Oswald Campesato
ぐだ生 Java入門第三回(文字コードの話)(Keynote版)
ぐだ生 Java入門第三回(文字コードの話)(Keynote版)
Makoto Yamazaki
Similar a スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
(20)
Angular2 for Beginners
Angular2 for Beginners
オペレーティングシステム 設計と実装 第3版(20101211)
オペレーティングシステム 設計と実装 第3版(20101211)
Migrating from matlab to python
Migrating from matlab to python
Happy Go Programming
Happy Go Programming
React Native Evening
React Native Evening
JavaScript in 2015
JavaScript in 2015
iPhone Development Intro
iPhone Development Intro
Parallel Computing in R
Parallel Computing in R
シェル芸でライフハック(特論)
シェル芸でライフハック(特論)
TypeScript
TypeScript
みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」
みゆっき☆Think#4 「こんどはiPhoneに触ってみるよ!」
iOS 2 - The practical Stuff
iOS 2 - The practical Stuff
Golang
Golang
A Recovering Java Developer Learns to Go
A Recovering Java Developer Learns to Go
Node Boot Camp
Node Boot Camp
Metaprogramming
Metaprogramming
NSC #2 - Challenge Solution
NSC #2 - Challenge Solution
NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!
NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!
ECMA5 and ES6 Promises
ECMA5 and ES6 Promises
ぐだ生 Java入門第三回(文字コードの話)(Keynote版)
ぐだ生 Java入門第三回(文字コードの話)(Keynote版)
Más de Taro Matsuzawa
タイルの話
タイルの話
Taro Matsuzawa
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
Taro Matsuzawa
Couchbase hackaton pomo
Couchbase hackaton pomo
Taro Matsuzawa
11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?
Taro Matsuzawa
OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門
Taro Matsuzawa
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
Taro Matsuzawa
AFNetworking使ってみた
AFNetworking使ってみた
Taro Matsuzawa
スマホ開発者も使えるWireshark
スマホ開発者も使えるWireshark
Taro Matsuzawa
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
Taro Matsuzawa
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
Taro Matsuzawa
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
Taro Matsuzawa
デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1
Taro Matsuzawa
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
Taro Matsuzawa
デコメを送る
デコメを送る
Taro Matsuzawa
Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)
Taro Matsuzawa
Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画
Taro Matsuzawa
Más de Taro Matsuzawa
(16)
タイルの話
タイルの話
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
Couchbase hackaton pomo
Couchbase hackaton pomo
11月のささみ: pgRoutingって何?
11月のささみ: pgRoutingって何?
OSMを使ったスマホ&Web開発入門
OSMを使ったスマホ&Web開発入門
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
AFNetworking使ってみた
AFNetworking使ってみた
スマホ開発者も使えるWireshark
スマホ開発者も使えるWireshark
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
来年のLLeventのお知らせ @ OSC2011 Tokyo/Fall
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
スマートフォン勉強会@関東 #11 LT 5分で語る SQLite暗号化
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
ベトナムにRoRを教えに行ったら大変なお土産をもらったでござる
デバッガを使おう@ブラウザ勉強会#1
デバッガを使おう@ブラウザ勉強会#1
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
(元)コミュニティメンバーから見たMozilla / Firefoxの歴史と展望@Browser Workshop
デコメを送る
デコメを送る
Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画(PDF)
Mozilla コアハッカー育成計画
Mozilla コアハッカー育成計画
Último
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
National Information Standards Organization (NISO)
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
MateoGardella
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Celine George
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
christianmathematics
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
Celine George
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
MateoGardella
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
Dr. Mazin Mohamed alkathiri
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Shubhangi Sonawane
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
EduSkills OECD
psychiatric nursing HISTORY COLLECTION .docx
psychiatric nursing HISTORY COLLECTION .docx
PoojaSen20
Application orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
RamjanShidvankar
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
KokoStevan
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
Maestría en Comunicación Digital Interactiva - UNR
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
National Information Standards Organization (NISO)
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
TeacherCyreneCayanan
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
Disha Kariya
PROCESS RECORDING FORMAT.docx
PROCESS RECORDING FORMAT.docx
PoojaSen20
Último
(20)
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
psychiatric nursing HISTORY COLLECTION .docx
psychiatric nursing HISTORY COLLECTION .docx
Application orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
PROCESS RECORDING FORMAT.docx
PROCESS RECORDING FORMAT.docx
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
1.
discon iPhone Taro Matsuzawa aka
btm (@smellman) at sumaben kanto #11
2.
3.
1981 •
4.
1988 •
5.
1989 •
6.
1991 •
BL
7.
1997 •
• Windows 95 OSR2 • MMX Pentium 200Mhz
8.
1999 • •
English Speaking Society (E.S.S.) •
9.
2000 • • •
Mozilla Party JP 1.0 ( OSS ) • • • Linux • • E.S.S.
10.
2001 • • • •
Tokyo Linux Entertainment Community(TLEC) • WEB
11.
2002 • • •
VB ( ) • Mozilla Party 3.0 JP • • •
12.
2003 • • • •
Mozilla Party JP 4.0 • • 1000 40
13.
2004 •
(5 ) • • • • • ○
14.
2005 •
C Magazine 2005/10 2 Firefox Piro C++ •
15.
2006 •
• •
16.
2007 •
Software Design 2007/04 Firefox ( ) • • ○○ • • •
17.
2008 • •
KBMJ • Firefox 3 Hacks ( ) • •
18.
2009 • • •
Software Design Firefox 2009.11 2010.04 • OSS EC
19.
2010 •
iPhone In App Purchase 2 • • ( )
20.
2011 •
( ) • •
21.
•
iPhone • • iPhone • GUI • •
22.
•
• iPhone • • • IMAP •
23.
IMAP?
24.
IMAP • •
i.softbank.jp • • • •
25.
• • •
SSL •
26.
•
• ... • • ( )
27.
•
Pantomime Mac OS X/GNUStep LGPL2 • 2007 • • ... • •
28.
LGPL2 iPhone •
LGPL2 (ex. cocos2d-iphone ) • • • • OK • • • ( • Σ( д lll)
29.
30.
Pantomime •
Objective-C IMAP/POP/SMTP • Mac OS X GNUStep • • 2007 / 2 / 5 • discon (ry
31.
1 •
• Mac OS X 10.2 • • NSDebug • •
32.
2 •
GNUStep • • SMTP • ( • iOS • Apple • Apple
33.
•
• NSString cString • NSFileManager fileAttributesAtPath:traverseLink: • xcode •
34.
NSFileManager fileAttributesAtPath:traverseLink:
35.
attributesOfItemAtPath:error: - attributes =
[[NSFileManager defaultManager] fileAttributesAtPath: thePath traverseLink: NO]; + NSError *error = nil; + attributes = [[NSFileManager defaultManager] attributesOfItemAtPath: thePath error: &error];
36.
•
Pantomime openssl • openssl-xcode openssl iPhone • https://github.com/sjlombardo/openssl-xcode • libcrypt.a libssl.a orz
37.
•
libssl.a openssl-xcode • https://github.com/smellman/openssl-xcode • • libssl.a libcrypt.a
38.
GNUStep •
GNUStep • #ifdef MACOSX (iOS ) • GNUStep Mac OS X Mac OS X • OK (Search and Destroy)
39.
-#ifdef MACOSX #include
<Pantomime/CWMacOSXGlue.h> -#endif Mac OS X
40.
-#ifdef MACOSX
#include <CoreFoundation/CFString.h> #include <CoreFoundation/CFStringEncodingExt.h> -#else -#include <GNUstepBase/GSCategories.h> -#endif else GNUStep
41.
iOS •
iOS • • • • •
42.
NSHost •
[[NSHost currentHost] name] • • gethostname • NSString
43.
gethostname +
char s[65]; + memset(s, 0, sizeof(s)); + gethostname(s, sizeof(s)-1); + NSString *hostName = [NSString stringWithCString:s encoding:NSUTF8StringEncoding]; aMailFile = [NSString stringWithFormat: @"%@:%@", [NSString stringWithFormat: @"%d.%d%d%d.%@", time(NULL), getpid(), rand(), [_cacheManager count], - [[NSHost currentHost] name]], + hostName], ((id)theFlags ? (id)[theFlags maildirString] : (id)@"2,")];
44.
NSCalendarDate •
iOS Mac OS X Legacy API • Pantomime •
45.
NSCalendarDate •
NSCalendarDate • NSDate • descriptionWithCalendarFormat • NSDateFormatter • • NSCalendar NSDateCompoments • timeIntervalSince1970 • NSDate
46.
-
NSCalendarDate *aCalendarDate; + NSCalendar *calendar = [NSCalendar currentCalendar]; + NSDate *aCurrentDate = [[NSData alloc] init]; int days; - // We get the days interval between our two dates aCalendarDate = [NSCalendarDate calendarDate]; w - [aCalendarDate years: NULL - months: NULL - days: &days - hours: NULL - minutes: NULL - seconds: NULL - sinceDate: aDate]; - + NSDateComponents *comps; + NSUInteger flags = NSDayCalendarUnit; + comps = [calendar components:flags + fromDate:aDate + toDate:aCurrentDate + options:0]; + days = (int) [comps day];
47.
NSMapTable •
NSMapTable typedef struct _NSMapTable NSMapTable; • Mac OS X 10.0 10.4 • • int • NSMapTable iOS
48.
•
NSCreateMapTable • NSCreateMapTable(NSObjectMapKeyCallBacks, NSObjectMapValueCallBacks, 128); • Map NSMutableDictionary
49.
NSMutableDictionary // - NSMapTable *_table; +
NSMutableDictionary *_table; // - _table = NSCreateMapTable(NSObjectMapKeyCallBacks, NSObjectMapValueCallBacks, 128); + _table = [[NSMutableDictionary alloc] initWithCapacity:128]; // - NSMapInsert(_table, aUID, aDate); + [_table setObject:aDate forKey:aUID];
50.
int •
NSCreateMapTable int • NSCreateMapTable(NSIntMapKeyCallBacks, NSObjectMapValueCallBacks, 128); • NSMutableDictionary • |← | (^o^ )
51.
•
Map • Java (Generic) • Generic • • std::map • C++ !!!!!!
52.
C++ iPhone •
iPhone C++ • Objective-C • Objective-C++ • ( д) ( д ) (д ) • • • C++ Objective-C++ ...
53.
Objective-C++
Map (1) #ifndef _Pantomime_H_StdMapIntWrapper #define _Pantomime_H_StdMapIntWrapper #import <Foundation/Foundation.h> #ifdef __cplusplus #include <map> @interface StdMapIntWrapper : NSObject { @private std::map<int, int> *wrapper_map; } #else @interface StdMapIntWrapper : NSObject { @private void *wrapper_map; } #endif - (int) valueForKey:(int)aKey; - (void) setValue:(int)aValue forKey:(int)aKey; - (void) removeValueForKey:(int)aKey; @end #endif // _Pantomime_H_StdMapIntWrapper
54.
Objective-C++
Map (2) #import <Pantomime/StdMapIntWrapper.h> - (void) removeValueForKey:(int)aKey { std::map<int, int>::iterator it; @implementation StdMapIntWrapper it = (* wrapper_map).find(aKey); if (it != (* wrapper_map).end()) - (id) init { { (* wrapper_map).erase(it); self = [super init]; } if (self) } { wrapper_map = new std::map<int, int>; - (void) dealloc } { return self; wrapper_map = NULL; } [super dealloc]; } - (int) valueForKey:(int)aKey { @end return (* wrapper_map)[aKey]; } - (void) setValue:(int)aValue forKey:(int)aKey { (* wrapper_map)[aKey] = aValue; }
55.
//include +#include <Pantomime/StdMapIntWrapper.h> // -static NSMapTable
*fd_to_cfsocket; +static StdMapIntWrapper *fd_to_cfsocket; // - fd_to_cfsocket = NSCreateMapTable(NSIntMapKeyCallBacks, NSIntMapValueCallBacks, 16); + fd_to_cfsocket = [[StdMapIntWrapper alloc] init]; // - NSMapInsert(fd_to_cfsocket, (void *)[_connection fd], (void *)_socket); + [fd_to_cfsocket setValue:(void *)_socket forKey:(void *)[_connection fd]]; // - socket = (CFSocketRef)NSMapGet(fd_to_cfsocket, (void*)fd); + socket = (CFSocketRef)[fd_to_cfsocket valueForKey:(void*)fd];
56.
: Modified UTF-7 •
Pantomime Modified UTF-7 • •
57.
- (NSString *)
modifiedUTF7String { NSString *str = self; unichar c; uint index = 0; BOOL nowBase64 = NO; NSMutableString *toBase64String = [[NSMutableString alloc] initWithString:@""]; NSMutableString *result = [[NSMutableString alloc] initWithString:@""]; for (; index < [str length]; index++){ c = [str characterAtIndex:index]; if ((0x20 <= c && c <= 0x7e)) { if (nowBase64) { NSString *base64edstr = [self getUTF7Parts:toBase64String]; toBase64String = [[NSMutableString alloc] initWithString:@""]; [result appendString:base64edstr]; [result appendString:@"-"]; nowBase64 = NO; } if (c == 0x26) { [result appendString:@"&-"]; } else { [result appendString:[NSString stringWithCharacters:&c length:1]]; } } else { if (!nowBase64) { nowBase64 = YES; [result appendString:@"&"]; } [toBase64String appendString:[NSString stringWithCharacters:&c length:1]]; } } if (nowBase64) { NSString *base64edstr = [self getUTF7Parts:toBase64String]; [result appendString:base64edstr]; [result appendString:@"-"]; nowBase64 = NO; } return result; }
58.
•
Mac OS X • Apple • • Objective-C++
59.
URL •
Pantomime • http://www.collaboration-world.com/pantomime • Pantomime iOS fork • https://github.com/smellman/Pantomime
60.
(
)
Descargar ahora