SlideShare a Scribd company logo
64bit化してみた話
デンソーアイティーラボラトリ
@sonson_twit 吉田悠一
本業
自己紹介
Evernote関連で言うと
• 2tchにクリップ機能があるのはご存知ですか?
1%
19%
80%
2tchを知らんがな
そんなん知らんがな
知ってた
お話
• そんな2tchの64bit化の話
• そんな2tchのコメントについての話
はまったところ
• UITableViewの高さ
• NSIntegerのNSNotFound
• 警告うざい
• fwriteとfread
高さ
- (float)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;
こんな雑なコードを書くと!
こんな悲劇的な結果を招きます
高さ
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;
ちゃんと,定義に従って書いておきましょう.!
将来.サポートが絶対に楽になります.!
!
私は絶望的に気付かず,1日まったく改善できませんでした.
NSNotFound問題
enum {	
NSNotFound = NSIntegerMax	
};	
!
int i = [array indexOfObject:obj];	
if (i != NSNotFound) {	
	 // 常にここ通ります	
	 // 死ねます	
}	
else {	
}
警告
• [NSString stringWithFormat:@“%d”, i];
• 64bitでコンパイルすると警告だらけに・・・・
!
• まぁそうだよね.
• でもテストしながら修正するの地獄です.
悪魔的な変更・・・・!!!!
ざわ・・・・・・
ざわ・・・・・・
ざわ・・・・・・
ざわ・・・・・・
ドキュメント「Major 64-Bit Changes」より
なぜなら
• 2tchはI/O高速化のためにレイアウト情報をバイナ
リで書き出している・・・!!!!
• しかもCGRectを直接!!!!!!!
• CGRect->CGPoint, CGSize
• CGPoint->CGFloat
• CGSize->CGFloat
!
• CGFloatェェェェェェ
キャストで逃げた
• 仕方ないナリ・・・・
!
• CGRect32を作った
• CGPoint32, CGSize32を作った
!
• このやり方はいつか・・・・
• 将来に禍根を残す!!!!!!
今日のお話
• 宣伝
• Evernoteクリップ機能
• CGFloatェェェェェ
Thank you.
@sonson_twit
http://sonson.jp
backup slide
backup

More Related Content

Similar to 64bit化してみた話

virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
Naoya Kaneko
 
Android gameprogramming
Android gameprogrammingAndroid gameprogramming
Android gameprogramming
Masahiro Hidaka
 
インターネットプログラミング 解説資料
インターネットプログラミング 解説資料インターネットプログラミング 解説資料
インターネットプログラミング 解説資料
Yuto Watanabe
 
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Shota Umeda
 
NSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansaiNSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansai
Tomohiro Kumagai
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?
Shingo Fukui
 
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
hiyohiyo
 
HTML5事情@Android, iPhone
HTML5事情@Android, iPhoneHTML5事情@Android, iPhone
HTML5事情@Android, iPhone
Yu Kobayashi
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
 
初めてのCPUを作ってみた
初めてのCPUを作ってみた初めてのCPUを作ってみた
初めてのCPUを作ってみた
Eric Sartre
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウKentarou Mukunasi
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
NTT DATA Technology & Innovation
 
ご注文は監視自動化ですか?
ご注文は監視自動化ですか?ご注文は監視自動化ですか?
ご注文は監視自動化ですか?
Masahito Zembutsu
 
20210515 cae linux_install_vb
20210515 cae linux_install_vb20210515 cae linux_install_vb
20210515 cae linux_install_vb
YohichiShiina
 
Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119
metamd
 
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
Yoshiki Shibukawa
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
Kenji Urushima
 
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
holypong
 

Similar to 64bit化してみた話 (20)

virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
 
Android gameprogramming
Android gameprogrammingAndroid gameprogramming
Android gameprogramming
 
インターネットプログラミング 解説資料
インターネットプログラミング 解説資料インターネットプログラミング 解説資料
インターネットプログラミング 解説資料
 
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
 
NSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansaiNSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansai
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?
 
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
 
HTML5事情@Android, iPhone
HTML5事情@Android, iPhoneHTML5事情@Android, iPhone
HTML5事情@Android, iPhone
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
 
初めてのCPUを作ってみた
初めてのCPUを作ってみた初めてのCPUを作ってみた
初めてのCPUを作ってみた
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
 
ご注文は監視自動化ですか?
ご注文は監視自動化ですか?ご注文は監視自動化ですか?
ご注文は監視自動化ですか?
 
20210515 cae linux_install_vb
20210515 cae linux_install_vb20210515 cae linux_install_vb
20210515 cae linux_install_vb
 
Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119
 
東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた東京Node学園 今できる通信高速化にトライしてみた
東京Node学園 今できる通信高速化にトライしてみた
 
Linuxにおける開発環境
Linuxにおける開発環境Linuxにおける開発環境
Linuxにおける開発環境
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
 

More from Yuichi Yoshida

Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究
Yuichi Yoshida
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
Yuichi Yoshida
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムYuichi Yoshida
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
Yuichi Yoshida
 
Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談
Yuichi Yoshida
 
Swift - Result<t>型で結果を返すのは邪道か,王道か
Swift - Result<t>型で結果を返すのは邪道か,王道かSwift - Result<t>型で結果を返すのは邪道か,王道か
Swift - Result<t>型で結果を返すのは邪道か,王道か
Yuichi Yoshida
 
Machine Learning : The high interest credit card of technical debt
Machine Learning : The high interest credit card of technical debt Machine Learning : The high interest credit card of technical debt
Machine Learning : The high interest credit card of technical debt
Yuichi Yoshida
 
キーボードアプリとSketchのススメ
キーボードアプリとSketchのススメキーボードアプリとSketchのススメ
キーボードアプリとSketchのススメ
Yuichi Yoshida
 
Handoff from Safari
Handoff from SafariHandoff from Safari
Handoff from Safari
Yuichi Yoshida
 
Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with Handoff
Yuichi Yoshida
 
Getting started with CloudKit
Getting started with CloudKitGetting started with CloudKit
Getting started with CloudKit
Yuichi Yoshida
 
Handoffは動かない〜これから役立たないバッドノウハウ集
Handoffは動かない〜これから役立たないバッドノウハウ集Handoffは動かない〜これから役立たないバッドノウハウ集
Handoffは動かない〜これから役立たないバッドノウハウ集
Yuichi Yoshida
 
UIToolbarの同時タッチを防ぐ
UIToolbarの同時タッチを防ぐUIToolbarの同時タッチを防ぐ
UIToolbarの同時タッチを防ぐYuichi Yoshida
 
UZTextView, UZMultilayeredPopoverControllerの解説
UZTextView, UZMultilayeredPopoverControllerの解説UZTextView, UZMultilayeredPopoverControllerの解説
UZTextView, UZMultilayeredPopoverControllerの解説
Yuichi Yoshida
 

More from Yuichi Yoshida (15)

Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
 
Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談
 
Swift - Result<t>型で結果を返すのは邪道か,王道か
Swift - Result<t>型で結果を返すのは邪道か,王道かSwift - Result<t>型で結果を返すのは邪道か,王道か
Swift - Result<t>型で結果を返すのは邪道か,王道か
 
Machine Learning : The high interest credit card of technical debt
Machine Learning : The high interest credit card of technical debt Machine Learning : The high interest credit card of technical debt
Machine Learning : The high interest credit card of technical debt
 
キーボードアプリとSketchのススメ
キーボードアプリとSketchのススメキーボードアプリとSketchのススメ
キーボードアプリとSketchのススメ
 
Handoff from Safari
Handoff from SafariHandoff from Safari
Handoff from Safari
 
Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with Handoff
 
Getting started with CloudKit
Getting started with CloudKitGetting started with CloudKit
Getting started with CloudKit
 
Handoffは動かない〜これから役立たないバッドノウハウ集
Handoffは動かない〜これから役立たないバッドノウハウ集Handoffは動かない〜これから役立たないバッドノウハウ集
Handoffは動かない〜これから役立たないバッドノウハウ集
 
UIToolbarの同時タッチを防ぐ
UIToolbarの同時タッチを防ぐUIToolbarの同時タッチを防ぐ
UIToolbarの同時タッチを防ぐ
 
UZTextView, UZMultilayeredPopoverControllerの解説
UZTextView, UZMultilayeredPopoverControllerの解説UZTextView, UZMultilayeredPopoverControllerの解説
UZTextView, UZMultilayeredPopoverControllerの解説
 
Gitのすすめ
GitのすすめGitのすすめ
Gitのすすめ
 

Recently uploaded

論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 

Recently uploaded (8)

論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 

64bit化してみた話