読者です 読者をやめる 読者になる 読者になる

Rodhos Soft

備忘録を兼ねた技術的なメモです。

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…

pip基本操作をメモ

pip -V pipのバージョン pip list インストールしている#パッケージ一覧 pip -U パッケージ #インストールしているパッケージのアップデート pip install パッケージ #パッケージのインストール pip uninstall パッケージ #パッケージのアンインストール pip…

Abstract Factory

擬似コード abstract class AbstFactory { Product createProduct() } abstract class Product { } class FactoryA extends AbstFactory class ProductA extends Product IFで済む気がする。

UIテスト

何々ができるまで待つ XCUIApplication *app = [[XCUIApplication alloc] init]; NSPredicate *existsPredicate = [NSPredicate predicateWithBlock:^BOOL(XCUIElement *app, NSDictionary<NSString *,id> * _Nullable bindings) { if (app.buttons[@"hoge"]) return YES; r</nsstring>…

コマンドライン

バージョン確認 xcodebuild -version ヘルプ xcodebuild -h インストールしているSDK xcodebuild -showsdks 以下参考 Xcodeでのビルドを自動化するxcodebuildコマンドとIPAファイルを作成してiTunes Connect(Testflight)に投げる方法 - 酢ろぐ! Xcode の Bu…

XCodeのデバッグで変数

可変リストを作ります。 (lldb) po [NSMutableArray array] <__NSArrayM 0x17084e970>( )オブジェクトをいれてみます。 p [(NSMutableArray *)0x17084e970 addObject:@"b"]変数を作ります。 p NSMutableArray* $list変数に先ほど作ったリストをいれてみます p $list = (NSMutableArra</__nsarraym>…

スクラム

以下を参照した。 スクラム (ソフトウェア開発) - Wikipediaアジャイルの一手法。 日々直接会いコミュニケーションを取ること。 プロダクトオーナー 要望をプロダクトバックログに書く。優先順位つける。 スクラムマスター スクラムが機能しているかを調整す…

iOS設計の参照先

MVC

以下のサイトが役に立った。yuuxxxx.hatenablog.com iOSやAndroidアプリ開発のGoodPractice from Ken Morishita www.slideshare.netyuuxxxx.hatenablog.comhttp://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.htmlmedium.com 間違って…

openssl

SSL

qiita.com上記サイトに詳しい。 秘密鍵生成 >openssl genrsa 1024 > private-key.pem 公開鍵生成 > openssl rsa -in private-key.pem -pubout -out public-key.pem 公開鍵で暗号 > openssl rsautl -encrypt -pubin -inkey public-key.pem -in hoge.txt -out …

キーチェーンサービスプログラミングガイド

developer.apple.com 冒頭 Computer users typically have to manage multiple accounts that require logins with user IDs and passwords. コンピュータのユーザは通常はユーザIDとパスワードをつかったログイン要求のある多数のアカウントを管理する必要…

hosts

IPアドレスとホスト名の対応、DNSより優先度が高い。 macでの場所は/etc/hosts

グラデーション

以下を参考にコードを書いている。 JavaScript版Cocos2d-x かんたんゲーム開発 グラデーション // グラデーション背景 var gradient = cc.LayerGradient.create(cc.color(0,0,0,255), cc.color(0x46,0x82,0xB4,255)); this.addChild(gradient) テキストラベ…

基本

リソースの追加 リソースフォルダに画像をいれて、resource.jsで読み込む変数名を定義 var res = { Tofu_png : "res/tofu.png", }; 画像の表示 app.jsにおいて スプライトとして作成 this.sprite = new cc.Sprite(res.Tofu_png);画面に追加 this.addChild(th…

セットアップ

以下を参考にやった。 初心者のためのCocos2d-xゲームプログラミング入門 準備 v3.10をDL www.cocos2d-x.orgsetup.pyを実行する。 試しに作ってみる 適当な場所で cocos new MyCocosApp -l cpp 実行 できたフォルダに入って cocos run -p macこれでハローワ…

URL

以下を参考にした。 language-and-engineering.hatenablog.jp me 自分の情報 me/photos/ 自分の写真 me/friends 自分の全友達 "友達のID" 友達の情報 "/muji.jp/" facebookページ me/?fields=posts 投稿したもの一覧 "オブジェクトID" 例えば投稿したものに…

エクスプローラ

APIのチェックは以下を使える。Facebookにログイン | Facebookまず、get tokenして、submitすると、 me?fields=id,nameの結果がかえってくる。 { "id": "hoge", "name": "hogehoge" } get tokenでチェックできる項目は色々ある。user data permissionsは ext…

TensorFlowやってみた Softmax Regressions

これは以下のチュートリアルをやってみたログである。 http://www.tensorflow.org/tutorials/mnist/beginners/index.html#mnist-for-ml-beginners分類問題には古典的にはSoftmax Regressionsを使用するのが自然である。あるクラスは入力値にそれぞれの重みを…

TensorFlowやってみた MIST For ML Beginners

このブログは以下を参考にしている。 http://www.tensorflow.org/tutorials/mnist/beginners/index.html#mnist-for-ml-beginners MNISTとは 画像認識のテストに使う手書き文字のセットで機械学習におけるHellow, World的な立ち位置のもの。 このデータはYann…

TensorFlowやってみた 使い方

以下を参考にした。blog.btrax.com Hello World import tensorflow as tf hello = tf.constant('Hello, world!') sess = tf.Session() print sess.run(hello) a = tf.constant(555) b = tf.constant(666) print sess.run(a+b) 基本的な使い方 グラフ表現 Ses…

シェイプ 続

ガイド 定規を出しておく(/表示/定規) 定規からガイドを引っ張り出せる スナップのオンオフは設定できる(表示/スナップ) ペンツールで前面シェイプを削除 でシェイプを削除したりできる。ガイドを適切に利用するとやりやすい。 台形のシェイプを作る 長方形…

シェイプなど

シェイプはベクター シェイプのツールは2種類 パス選択とシェイプツール シェイプレイヤー シェイプを描くと自動的に追加されるレイヤー シェイプの種類 シェイプモード 図形はシェイプレイヤーに保存 パスモード 作業用パスとして保存される。 ピクセルモ…

PhotoShopをさわってみた。

PhtoShopをさわることにしたのでそのログをとっておく。 画像合成 楕円選択ツールで合成したい画像を選択、選択範囲を変更で境界をぼかす。 合成先へペースト、大きさを変形/拡大縮小で調整 背景のコントラスト(レイヤパネルの下の半円ボタンから)を調整 解…

多対多関係

twitter風のフォロー、フォロワー関係をモデル化する。以下を参考にした。h3poteto.hatenablog.comUserクラスの互いのフォロー、フォロワー関係をFollowMapクラス(user_id, follow_id)で表現されるものとする。 railsの多対多関連の例

AppExtension

iOS

サンプルはgithub.comUIActivityViewControllerで外部アプリにイメージを渡し、それをセピアに変換して戻してくれるサンプルを作った。作り方を説明する。まずTargetを追加(ActionExtension)する。 アプリ間のデータのやりとりはextensionContextを通じて行…