Metal から広がるフレームワーク群
はじめに
- Metal とはなにか?
- またそれから派生したフレームワークを把握する
Metal 登場前 (iOS 2 〜)
- iOS 2 以降の時代、3D グラフィック処理をするためには OpenGL ES が案内されていた
- OpenGL ES の ES は Embedded Systems.(組み込みシステム)
- 以下にあるように iOS12 以降は OpenGL ES の機能が非推奨になったため、これ以降は Metal を使用するべきとなった
Important OpenGL ES was deprecated in iOS 12. To create high-performance code on GPUs, use the Metal framework instead. See Metal.
Metal (iOS 8)
- iOS 8 で Metal が新たに追加された
- OpenGL ES は純粋に 3Dグラフィックスレンダリング機能の提供だけだったが
- Metal はそれに加えて GPU を使用したデータの並列計算の役割ももつ
- この Metal から、さまざまなフレームワークが派生する
MetalKit (iOS 9)
- iOS 9 では MetalKit が登場する
- 3D グラフィックをレンダリングする場合、Metal を直接使用するよりも、このフレームワークを使用した方がより簡易に開発できる
- Metal のレンダリング系のユーティリティ、サブセットと考えれば良い
Apple Developer にある Metal / MetalKit サンプルプロジェクト
- Creating and Sampling Textures | Apple Developer Documentation
- Using Metal to Draw a View’s Contents | Apple Developer Documentation
- Device Selection and Fallback for Graphics Rendering | Apple Developer Documentation
ほかに Metal の上に構築されているフレームワーク
Core Image, SpriteKit は Metal 公開前から存在するため、のちに Metal により内部を書き換えられと思われる。
- Core Image (iOS 5)
- フィルタを使用して静止画、ビデオを加工
- SpriteKit (iOS 7)
- 2D ゲーム、2D コンテンツ作成。
- SceneKit (iOS 8)
- 3D ゲーム、3D コンテンツ作成。物理シミュレーション、パーティクルなどの物理ベースのレンダリングを簡単に実現できる。
- MPS(Metal Performance Shaders) (iOS 9)
MPS から構築されるフレームワーク
画像は Core ML から引用
さらに Core ML から派生するフレームワークがある。
- Vision (iOS 11)
- 画像認識
- Natural Language (iOS 12)
- 自然言語の分析
- Speech (iOS 10)
- SoundAnalysis (iOS 13)
- オーディオ解析
最後に
Google Engineering Practices Documentation
Google がこれまで蓄積してきた開発に関する知識、経験、手法を公開した。
Google Engineering Practices Documentation | eng-practices
非公式だが、日本語翻訳されたドキュメントも存在する。
Google エンジニアリング・プラクティス ドキュメント | eng-practices
現在はコードレビューに関するドキュメントがある。
ひとつはコードレビューをする側のドキュメント。
How to do a code review | eng-practices
ここでは以下が取り上げられている
- コードレビューの基準
- コードレビューで何を探すべきか
- レビュー中のCLのナビゲート
- コードレビューの速度
- コードレビューコメントの書き方
- コードレビューでのプッシュバックの処理
CL というのは Change List の略である。変更セットやパッチ、などのコードレビューをする単位。
もうひとつは、CL を作る側、コードレビューを受ける側のためのドキュメントである。
The CL author’s guide to getting through code review | eng-practices
これには下が含まれる
- 良い CL の説明を書く
- 小さな CL をつくる
- レビューのコメントに対応する
本『審判』(フランツ・カフカ)の感想
- 作者: フランツ・カフカ,本野亨一
- 出版社/メーカー: 角川書店
- 発売日: 1953/03/30
- メディア: 文庫
- 購入: 4人 クリック: 18回
- この商品を含むブログ (16件) を見る
「審判」
フランツ・カフカ 1925年
ストーリー
- ある日、男が逮捕される
- 逮捕される謂れは男にはない
- 逮捕されるが、身体を拘束されることもなく仕事をして、日常生活は自由に過ごせる
- 裁判所には通う必要はある
- 弁護士を雇う
- 処刑される
不安
- よくわからない罪で逮捕され処刑される。
- 法の執行は粛々と進んでゆく。
- 不明瞭な社会の仕組みだが、それを受け入れてしまう個人
- こういった内容から「不安」というキーワードを感じる。
漠然とした不安は例えば、現代だと下のように言い換えれる
- だいぶ前に店舗でレンタルした DVD/Blu-ray を返却していないかもしれない
- そしてそれは部屋のどこかにある気がする
- 外出先で、自宅のガスコンロの火を止めていない気がする
- 自宅のドアの鍵もかけていない気がする
しかし、だいたい思い過ごしの杞憂である。少しそういった不安症の要素が自分にはある、と思い聞かせて生きてきた。
そういった人生に突如、不明瞭な不安を実現させて、見せつけてくる。「審判」はそんな話に思えた。
またその他のカフカの本(たとえば変身)も、"ある日訪れる"超現実な状況とそれを受け入れる(受け入れるしかない)不安を感じる。
カフカ
作者のカフカが、不安な気持ちになりやすい人だとすると、以下の話は納得しやすい。
ネクスト・ソサエティ ― 歴史が見たことのない未来がはじまる
- 作者: P・F・ドラッカー,上田惇生
- 出版社/メーカー: ダイヤモンド社
- 発売日: 2002/05/24
- メディア: 単行本
- 購入: 25人 クリック: 148回
- この商品を含むブログ (188件) を見る
ところで、フランツ・カフカという名前を知っておられるか? オーストリアの偉大な作家だ。実は安全ヘルメットを発明したのが、そのカフカだった。彼は第一次対戦前に、ボヘミアとモラビア(当時オーストリア領、のちチェコ)で労災補償関係の行政官だった。
このエピソードが真実だとすると、カフカはその不安な気持ちを生かして、以下の2つを社会に残したことになる。
- 人の命を守る安全ヘルメット
- 人の心を豊かにする小説
その自身の特性が、違う分野でそれぞれ現代も残るほどの貢献をされたという点で、フランツ・カフカという人物は興味深い。
映画『ふしぎの国のアリス』の感想
- 発売日: 2013/11/26
- メディア: Prime Video
- この商品を含むブログを見る
1951年 アメリカ ウォルト・ディズニー(パブリック・ドメイン)
森の中、帰路を辿るアリス。
第一印象
- ストーリーや登場するキャラクターがシュールである
- 勧善懲悪や予定調和がないので、人によっては以下を感じるかもしれない
- 居心地が悪かったり
- 不安になったり
- 奇妙だったり
立川談志
- この映画を観終わったあと、これはどういった映画なのか、というカテゴライズを考えていると
- 落語家の立川談志が言っていた「言葉のイリュージョン」を思い出した
イリュージョン
立川談志は以下のようにイリュージョンを語っていたように思う。
- 人は生まれてきて、幼いころは、動物や虫を自分と同一視する
- 例えば、子供に絵を書かせると、子供とクマが並んだ絵をかく
- そしてそれは、子供とクマがニッコリ笑っている場合もある
- ただし、社会の中では、人間は人間であり、クマはクマである
- だから、子供がそのまま大人になると、社会生活に困ってしまうので大人は子供を教育して、社会の中で不自由なく生きれるようにする
- しかし、立川談志には以下の疑問があった
- 本当は、最初に見えていた子供の視点が、人間としてはまともと言ったり、正常と言ったりする状態ではないのか?
- 社会生活に順応することこそが、人間にとって無理をしているのではないかと
- だからこそ、老人になったら「ぼけた」と言われるが、それは無理をして順応することができなくなった事であり、人間としては元々の姿に、子供の時の感性に戻った、だけではないか
- その証左に、人間はほんらい、まともではない、不条理な物を欲しているし、その中に入りたいと思っている
- それが、寝るときにみる夢であり
- マジック(奇術)であったり
- シュールレアリズムの絵画である
- これらで、現実と不条理な世界のバランスをとって人間は生きている
- そして、落語というのは、そのイリュージョンを「言葉」で魅せているものだと
感想
そういった視点を持って、再度この映画を振り返ってみると。
原作者ルイス・キャロルは、子供(アリス・リデル)に話を聞かせて、純粋に子供が楽しんだ物語を、本にしてまとめた。それは、それまでの童話とは違って、教育や教訓は含まれない。
この経緯から、立川談志の言っていた「イリュージョン」はこの映画とそう遠く離れたものではない、と言って良さそうだ。
資料
本『スタートアップ・バブル 愚かな投資家と幼稚な起業家』(ダン・ライオンズ)の感想
- 作者: ダン・ライオンズ,長澤あかね
- 出版社/メーカー: 講談社
- 発売日: 2017/06/13
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
50代でニューズウィークのエディターを解雇された作者が、実在するスタートアップ(HubSpot)で勤めた時のルポルタージュ
本で書かれていた、そのスタートアップの特徴をリストする
- 2016年に glassdoor が社員の意識調査を元にした Best Places to Work 2016 Employees' Choice(従業員が選ぶ働きやすい会社)の中で4位になった
- 健康保険など福利厚生が恵まれている
- ハロウィン・パーティがある
- ビールがタダで飲める
- お菓子がタダで食べれる
- 廊下を犬が歩いている
- とり放題の休暇
- 会議室に「名前」をつける
- awesome(オーサム)とよくいう
- 「!」びっくりマークを多用する
- 退職のことを「卒業」と呼ぶ
作者が勤務して得たもの
会社の関係者が作者のデバイスやアカウントをハッキングした疑いが出て、 FBI が捜査するが、起訴には至っていない
読んだあと、YouTube を探すと作者(Dan Lyons)の動画がいくつか見つかった。中でも、この動画の概要欄が気になったので引用する。
Welcome to work in the modern economy, where the climate is cultish and management fads rule. Silicon Valley workplace culture has filtered through to other industries, dehumanising our working practices and putting tech in the driving seat. In a rapidly transforming world where entire industries are collapsing, companies scrabble to reprogramme their workforce to adapt and survive, conducting large-scale experiments in organisational behaviour; in short, we’re all their lab rats.
現代経済の仕事へ、ようこそ。
ここはカルトなかんじで、イケてるルールを運営している。
Silicon Valley の職場の文化は、他の産業にもひろがり、労働の慣習は非人間化(de-humanising)されて、テクノロジが運転席に座っている。
産業全体が崩壊し、急速に変化するこの世界では、企業は労働力を再プログラミングして、順応して生き残ろうとしている。組織的行動によって大規模な実験が行われている。
要するに、わたしたちはぜんいん、その実験ラット、というわけです。
どうやら、2018年に作者はまた本を書いたらしく、上の動画は、どちらかというと、新しいこの本にマッチしたもののようだ。
この動画を投稿したのは RSA(The Royal Society of Arts)、英国にある王立技芸協会。
CocoaPods could not find compatible versions for pod "xxx"
あるプロジェクトが CocoaPods でライブラリの依存管理をしていたので pod install
すると
$ pod install Analyzing dependencies [!] CocoaPods could not find compatible versions for pod "SwiftLint": In snapshot (Podfile.lock): SwiftLint (= 0.33.0) In Podfile: SwiftLint None of your spec sources contain a spec satisfying the dependencies: `SwiftLint, SwiftLint (= 0.33.0)`. You have either: * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`. * mistyped the name or version. * not added the source repo that hosts the Podspec to your Podfile. Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default.
が発生して依存関係を解決できず。
書いてあるエラーの内容は以下になる。
- ライブラリ(ここでは SwiftLint)のバージョンが Podfile.lock では 0.33.0 が設定されているが
- CocoaPods は 0.33.0 と互換性があるバージョンを見つけられなかった
CocoaPods がローカルで互換性のあるバージョンを見つけられない、という事なので、書いてある通り
$ pod install --repo-update
をすると
Analyzing dependencies Downloading dependencies Installing SwiftLint (0.33.0)
という感じで必要なバージョンのライブラリがインストールされて、無事依存関係を解決できた。
本『遅刻の誕生』(橋本毅彦+栗山茂久)の感想
- 作者: 橋本毅彦,栗山茂久
- 出版社/メーカー: 三元社
- 発売日: 2001/08/01
- メディア: 単行本
- 購入: 1人 クリック: 89回
- この商品を含むブログ (25件) を見る
- 日本人は時間を守り、時間通りに行動する
- という性質は、日本人が民族的に古来から持つ風習、ではなく
- 明治までは時間に対してルーズな国民、とヨーロッパ人から見られていた(今とは逆の感覚)
- というのも明治6年までは日本は「定時法」ではなく「不定時法」を採用していた
- 暦Wiki/時刻/定時法と不定時法 - 国立天文台暦計算室
- 定時法は現在、使っている時間の決め方
- 一方、不定時法は昼の長さによって時間の区切りが違う
- つまり、季節により時刻が変わる
- これにより「定時法」を使っていた外国からは、時間に対する感覚が違う(ルーズ)と思われていた
- 明治6年に法改正をし、日本という国時代が定時法を扱うようになった
- ちなみに鉄道に関しては、日本が国として定時法を採用する前から、定時法を採用していた
- 運行は日々違う不定時法ではできないので
- 鉄道はその後の日清戦争も含め、日本の国力や市民生活に大きく影響する存在になる