テック

ユーザが操作しやすいフォームとは?:インタフェースデザインのお約束(4)

第5章 フォーム フォームについて。ユーザが使いやすいフォームとはどういうものか。 少ない操作で完了。やり直しを少なくを考える。 入力フィールドについて 例えマーケティング等で有用なデータであっても、そのファンクション内で必要のない情報は入力さ…

DB分割というアンタッチャブルに踏み込む:マイクロサービスアーキテクチャ(2)

第5章 モノリスの分割 第4章 統合では分割されている各マイクロサービス同士をどう統合していくかに焦点を当てていたが、今回は「どうマイクロサービスに分けていくか」の話し。 データベースの分割 データベースの分割。いきなり核心をついてきた。 多分、…

読了:iOSアプリ開発 自動テストの教科書

iOSアプリ開発 自動テストの教科書 そういえば読み終えていた。メモと感想をば。 僕自身のテストコードについての経験値はRailsのminitestで単体テストや統合テストを書いてるよ。みたいな感じ。GithubにpushするとCirecleCIでテストを回すというところまで…

インタフェースデザインのお約束(3)

4章 UI部品 UI部品、主にコントロール要素についての注意点などの紹介。 標準コントロールの利用を心がけよう デバイス、ブラウザ標準のコントロールを利用することが、結局はユーザは一番わかりやすいし、操作しやすい。 我流のコントロール、例えば独自の…

Mac Keynoteでテキストにアウトラインをつける

対象のテキストを選択して、 フォーマット - テキスト - スタイル - 歯車アイコンから ちなみに明るい色でシャドウをつけると文字が光っているように見える。 これは、ぼかし30、オフセット0、不透明度100で黄色っぽい色でシャドウを入れた例。

マイクロサービスアーキテクチャ(1)

マイクロサービスアーキテクチャ とりあえず統合の章まで読んだので感想 & メモ 動機 モノリシックなシステムからマイクロサービス化を検討することは誰しも経験したことがあると思う。 動機としては、 システムが大きくなるにつれ、人員も増えたが作業のコ…

Unity 入門書の復習

Unityの入門書を一冊写経したので、復習の為、忘れそうなことなどを記録。 背景色の変更 Main Camera.Camera.Background スクリプトファイル 実行するには必ず何らかのGameObjectにアタッチする必要がある。 プロパティ、メソッドをpublic宣言することで、ヒ…

インタフェースデザインのお約束(2)

3章 アイコンやボタン アイコンのスタイルは統一する 統一感のあるassetsを使用しようという話し。 古いデバイスのアイコンについて 所謂、フロッピーディスク = 保存アイコンについて。 逆に新しい表現、例えばクラウド上に保存(アップロード)する場合はク…

GRDB.swiftの生SQL発行とマイグレーション

GRDB.swiftの生SQL発行とmigrationを試したのでメモ。 Swiftでカジュアルに生SQLでSQLiteの操作したいんだけど、GRDB.swift入れるしかなないのかなあ...Androidはめっちゃ簡単なんだけどなあ。— Fumiya Ichikawa (@LET__IT__RIDE) December 15, 2019 github.…

ストーリーボードを使わないTableViewの配置とカスタムCellの高さ自動調整

以前にもTableViewCellの高さ自動調整について書いたけど、今度はStoryboard、autolayoutを使わずにSwiftコードだけでやってみた。 www.letitride.jp いくつかの手順に分けて紹介していきます。 カスタムセルクラスの作成 例として、UILabelを配置したカスタ…

インタフェースデザインのお約束(1)

良いUXでデザインとなるルールやコツを101の小節で紹介している書籍。 とても読みやすく、また文章量も適度なサイズなので隙間の時間に読み進めています。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentSc…

「レベルアップ」のゲームデザイン(4)(終)

LEVEL6 カメラについて 固定カメラ 固定カメラの利点と欠点について。 古いイメージがあるが初期のバイオハザードなど雰囲気を演出できる利点などがある。 スクロールカメラ スクロールカメラの効果と注意事項。 カメラの加減速を誤るとプレイヤーのストレス…

「レベルアップ」のゲームデザイン(3)

LEVEL6 キャラクターについて 外見の設定方法 「ゲームデザイン」に合わせる。その理由について。 体型で個性を表現できる可能性について。シルエットでキャラクターを判別できるゲームもある。 キャラクターの性格 ユーモア系キャラクターの性格付時のポイ…

「レベルアップ」のゲームデザイン(2)

(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)}; c.getElementById(a)||(d=c.createElement(f),d.src=g, d.…

Swift QRコードの作成

ネット上に沢山あるんだけど、一応メモしておく。 文字列からQR化したCiImageを返すメソッド private func makeQRCode( str:String )->CIImage?{ let data = str.data(using: .utf8) let qr = CIFilter(name: "CIQRCodeGenerator", parameters: ["inputMessa…

Swift TextLabelの縦書き表示とその編集

(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)}; c.getElementById(a)||(d=c.createElement(f),d.src=g, d.…

読了 データ指向アプリケーションデザイン

データ指向アプリケーションデザインを読み終えたので個人的な感想。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(ar…

「レベルアップ」のゲームデザイン(1)

(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)}; c.getElementById(a)||(d=c.createElement(f),d.src=g, d.…

iPhone用Todoアプリを公開しました

appstoreにiPhone用のTodoアプリを公開しました。 Todo with LocationYoshiko IchikawaProductivityFreeapps.apple.com 何故今更Todoかというと、今年の夏頃に1日のうちに複数の場所に用事があることがあって、移動先のすべてが地図上で一眼で確認できるも…

Swift5 QRリーダーの実装 脳死コピペ用

概要 Swift5でQRコードを読み込んだので作業記録。 ググれば沢山の記事がヒットするんだけど、どれもViewControllerに結構な量のコードが記載されているので、コピペするには結構しんどい(笑) なので、コピペしやすいようにクラスファイルに落としましたとさ…

Swift weakプロパティを持つUIViewControllerを再利用する時は注意しよう

Swift weakプロパティを持つUIViewControllerを再利用する時は注意しよう。という話し。 概要 Storyboardからoutlet接続されたViewを持つUIViewControllerを再利用しようとした時、outlet接続されたプロパティがnilになる時があります。 再利用されるViewCon…

Swift PageViewControllerの両端タップのジェスチャーを無効にする

概要 PageViewControllerはデフォルトで左右のスワイプの他、View両端のタップも検知し、befor、afterメソッドを着火している。 スワイプのみ検知し、View両端のタップは無効とするよう処理を施す。 実装 PageViewControllerに登録されているUITapGestureRec…

Swift MapKitのマーカーカラーを外部からのステータスによって変更する

概要 MapKit Annotationのマーカーカラーをannotationの状態によって変更する。 MKPointAnnotationでは、マーカー座標、タイトル、サブタイトルの指定しか行えないので、MKPinAnnotationView、MKMarkerAnnotationViewを使用する。 MKPointAnnotationの拡張ク…

Android nendの本番広告設定にハマる

nendの広告枠の承認を頂いたので、Androidアプリに設定を行っていた。 SDKの組み込み自体はマニュアルを見ながら簡単に行え、テストAdの表示まで順調に完了できた。 ところが、本番用のapikeyとspot idに差し替えてみたところ、広告表示が行われない... で、…

Android WebViewの広告表示を制限する

概要 WebViewでロードしたページの広告表示を制限する Hacking up an ad blocker for Android | Ha Duy Trung’s Blog こちらのページを参考に実装を行った。 ミュートする広告配信ホスト一覧の取得 https://sites.google.com/site/hosts2ch/ja より日本国内…

Swift Date型からString型へ

いつも忘れるのでメモ。 let date = Date() formatter.dateFormat = "MM/dd HH:mm" string = formatter.string(from: date)

個人開発アプリ リリース後2ヶ月経過の記録

7月の頭にいくつかのAndroidアプリをリリースして、約2ヶ月が経過した。 www.letitride.jp 経過記録 で、どういった状況になっているかというと、ゲーム系RSSアンテナ情報アプリがやはり強い。 FF14、DQX、モンハン、ゲーム総合の4つが伸びた。 強い、といっ…

Swift CoreData 複数のpredicate条件の指定とIN句の書き方

概要 CoreDataのpredicateに複数条件の指定を行う。 ユーザの入力等によって動的に条件を生成する場合に使用する。 実装 NSCompoundPredicate(andPredicateWithSubpredicates: [NSPredicate])をpredicateに渡すことで複数の条件を渡すことができる。andPredi…

Swift FSCalendarに初期値日付を設定する

概要 FSCalendar表示時に初期選択日を設定する 実装 FSCalendarはstoryboard上からoutlet接続されているものとする。 selectメソッドに表示時の指定日とするDateオブジェクトを渡せばよい。使用しない場合は現在日が表示時の選択日となる。 import FSCalenda…

Swift UICollectionViewのcellサイズを自動調整する

概要 UICollectionViewのcellサイズを中のコンテンツサイズに応じて自動調整する。 下イメージではUIButtonを横スクロールするUICollectionViewに並べた。UIButtonのサイズだけ、cellの横幅を自動調整している。 estimatedItemSizeを指定すると楽に設定する…