Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

2016-01-01から1年間の記事一覧

Appleのサンプルムービー

iOS

http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8

回転させたときのレイアウト変更

iOS

XCode8で回転させた場合のレウアウト変更はSizeClassを使うとできる。 拘束条件を個別にinstallで設定する。全画面にしたい場合は上下左右にマージン0で設定してやる。サイズの変更は以下の参考に書かれているような変更で呼び出しを受ける。 iOS8以降で、ど…

強制回転

iOS

iOSで強制的に回転させる方法は以下の一文で良いようだ。 UIDevice.current.setValue(NSNumber(integerLiteral:UIDeviceOrientation.portrait.rawValue), forKey: "orientation")

Tensorflowをあらためてやってみた。

あらためてTensorflowをやってみた。以前より理解は進んでいる気がする。 #coding:UTF-8 import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) import tensorflow as tf ## 画像は28*28ピクセル = 784ピクセル ## この画像か…

StoreKitメモ

参考 以下を参考にした。 d.hatena.ne.jp以下がデータフォーマットがあり詳しい ameblo.jpqiita.com SKProductRequest initWithProductIdentifiers:でプロダクトIDを指定しプロダクト情報を取得するリクエスト(SKProductsRequest)を作成する。 これは非同期…

プレゼンタに加えてドメイン層を入れる

MVC

プレゼンタを導入した後は今回はさらにドメイン層(UseCase)を取り入れたい。 プレゼンタ プレゼンタはUseCaseにまとめられた処理を用いてビューないしUseCaseからの返事を処理する。 ユースケース UseCaseはビジネスロジックを記述するところでそれのみで単…

Adaptive Design

UITraitCollection デバイスの情報が入っている。 Size class (H,V) iphone/ipad 倍率 Size Class 以下を参考 qiita.com 各種UI部品のUITaraitCollectionでの変化 以下を参考 qiita.com UISplitViewController Master/Detailの両方が見える時、Masterだけが…

FaceBookグラフ

単に以下のようにやるだけでJSONが返却される。 let req = FBSDKGraphRequest(graphPath: "me" , parameters: ["fields":"id,email,name"]) req?.start(completionHandler: { (con, result, error) in if let error = error { print("error") return } print…

FaceBookログイン

基本はdevelopers.facebook.com にすべて書いてある。フレームワークとしてFBSDKCoreKit、FBSDKLoginKitあたりをDLして入れる。ここでpodを使っても良い。 info.plistの設定でFaceBookAppIDの文字列を間違えないようにする。FBSDKCoreKitのFBSDKApplicationD…

ハフマン符号

"AABABCAC"を単純にbitを割り当てるとA 00, B 01, C 10のように1文字に2ビットで、計16ビットかかる。 出現頻度を調べる。 "AABABCAC"のAは4、Bは2、Cは2で現れる。 ハフマン木をつくる。 最も低い出現頻度とその次のものを取ってくる。今は,B,C。{B,C}次の…

insertion sort 挿入ソート

O(n^2)な実行時間。ほぼ整列している場合は非常に速い。1. 先頭から整列してない数を探す。 2. その数を整列させるように差し込む。 2,3,5,4,2 2,3,5,"4",2 2,3,"4",5,2 2,3,4,5,2 2,3,4,5,"2" "2",2,3,4,5

ドメイン駆動

参考にしたもの ドメイン駆動設計 ( DDD ) をやってみよう ドメイン駆動設計のためのオブジェクト指向入門 実践に向けたドメイン駆動設計のエッセンス 3つのレイヤー プレゼン層 表示 (ビュー, プレゼンタ) ドメイン層 抽象化された仕様 (ユースケース, ト…

ReSwiftの流れ

ReSwiftというSwiftのRedux実装のライブラリを触ってみました。github.com アプリはStoreを一個持ちStoreはこちらで定義した状態(State)を持ちます。 各種のReducerというのをStoreに登録します。 ReducerはActionが発行されたらどのようにStateを変更するの…

基本操作

vi

最低限 入力モードへの切替はiで、コマンドモードに戻るときはesc 保存 :w、保存して終了:wq、終了:q 参考 viの使い方/基本操作

マルチスレッドのデザインパターン

以下を参照しつつマルチスレッドのデザインパターンを概観し、適宜Swiftでの実装を考える。 Single Threaded Execution (同時にできない) クリティカルセクション。 Immutable (不変) Guarded Suspension (用意できるまで待つ) Balking (用意できないならや…

GLKitミニマム2 OpenGL

テンプレートからOpenGL部分を残し、データを三角形の回転するだけに変えてみたもの。頂点シェーダー attribute vec4 position; uniform mat4 modelViewProjectionMatrix; void main() { gl_Position = modelViewProjectionMatrix * position; } フラグメン…

GLKitミニマム

テンプレートを三角形が回転するだけのコードに削ってみた。 import GLKit import OpenGLES func BUFFER_OFFSET(i: Int) -> UnsafePointer<Void> { let p: UnsafePointer<Void> = nil return p.advancedBy(i) } class GameViewController: GLKViewController { var rotat</void></void>…

Swift落穂ひろい プトロコル準拠

Swiftで少しわかりにくかった所を整理しておきます。Swift3です。 二つのプロトコル準拠 複数のプロトコル準拠な変数宣言に&を使います。 let animal3:Animal & Helloable = seri Switch文で特定の型に対して protocol Animal { } protocol Helloable { func…

コンパイル時間計測

other Swift Flagsに-Xfrontend -debug-time-function-bodiesをつける。Speeding Up Slow Swift Build Times

ネットワーク

iOS

引き続き developer.apple.comの一部の要点 NSURLSessionを使う。 旧iOSとの互換がいるときはNSURLConnectionを使う。 dataTaskWithRequest:completionHandler:ないしdataTaskWithURL:completionHandler:を呼ぶ NSURLRequestにはリクエストに必要な情報をつ…

ネットワーク

iOS

iOSDevネットワーキングオーバービュー developer.apple.com 詳細はリンク先をみるとして冒頭の要点をまとめてみる。 ネットワークは信頼性が低いから以下に注意。 必要なデータのみ通信 タイムアウトじゃなくて取り消し手段を入れる というか遅い通信では取…

プロトコル指向の例

WWDC2015から developer.apple.com重要だが未消化なのであとで感想を追記したい。

プロトコル指向+値型なコーディング

WWW2016におけるコーディングの指針developer.apple.comモデルは値型に Viewのレイアウト調整はプロトコルとジェネリクスを使ってUIViewから独立なクラスを作ると単体テストできる。 Controllerの状態はenum一つにまとめる。モデルの更新を通知してコントロ…

値型

WWDC2015においてSwiftでは参照より値型を用いることを推奨している。Building Better Apps with Value Types in Swift - WWDC 2015 - Videos - Apple Developer参照型を混ぜる際にはgetにmutatingをつけてコピーして渡すようにする。 isUniquelyReferenceNo…

iPhoneの実機でネットワーク環境を試す

図は「On-Demand Resources Guide: Optimization with Testing」を参照 設定 Settings/Developer/Network Link Conditioner/Statusenableをオンにし、 Profileを設定する。 Profile Profileは基本のpresetがあり、自分でも設定できる。 主な値は以下 100%LOS…

railsやってみたインデックス

Hello world railsやってみた - Rodhos Soft SQLite railsやってみた SQLite - Rodhos Soft Modelからデータを取り出す railsやってみた モデルからデータを取り出す - Rodhos Soft 辞書でシンボルの利用 ハッシュの例 - Rodhos Soft rake Rake - Rodhos Sof…

AVFoundation関連のサンプルコード

Apple 基本AV Foundation for iOS and macOS - Apple Developerのコーナーへ見に行けばよい sample code かなりあるので用途別に整理したい。 AVLoupe StitchedStreamPlayer AVFoundationPiPPlayer: Picture-in-Picture Playback with AVKit AVReaderWriter:…

フレーム間予測

概要 フレームの間の画像を予測し生成する。 動き補償とともに画像圧縮に用いる。 符号化の概要 符号化の可逆/不可逆 可逆符号化 不可逆符号化 符号化方式 予測符号化 フレーム内予測、フレーム間予測 ★ここ 変換符号化 離散フーリエ変換、ウェーブレット変…

フレームレート

単位時間あたりの静止画像数(フレーム数)。1秒あたりをfpsと呼ぶ。 どの程度 8fps 一般のTVアニメ 15fps以下 カクカクする 24fps 映画 30fps 一般の動画、テレビ 60fps なめらかな映像が再現できる 補足 通信路容量の計算

HLSのメモ

基本的な事項の復習HTTP Live Streamingの略 Appleの開発した動画ストリーミングのプロトコル HTTPプロトコルを利用する MPEG-2 TS 映像・音声データ MPEG-2 TSを10秒単位で細切れにし、エンコードする。エンコードはビットレートに応じて幾つか作る。 m3u8…