テック

大規模な運用に備えて:マイクロアーキテクチャ(終)

下流サービスの機能不全 各サービスは接続する下流サービスが止まった場合、または機能低下を起こした場合、どういった振る舞いをするかを常に考えておく。 タイムアウトを設けて、一定時間以上応答がない場合は例外処理をするのが一般的だけど、タイムアウ…

組織が設計に与える影響とは?:マイクロサービスアーキテクチャ(7)

第10章 コンウェイの法則とシステム設計 コンウェイの法則とは "システムを設計する組織は、その構造をそっくりまねた構造の設計を生み出してしまう" この章では、疎のつながりのチームで開発するとモジュール性の高いコードが生産される傾向があると説明し…

A Tour of Go - Flow control statements 自分用リファレンスメモ

For sum := 0 for i := 0; i < 10; i++ { sum += i } while的な記述 sum := 1 for sum < 1000 { sum += sum } If 括弧 ( ) は不要。 if x < 0 { fmt.Println(x) }else{ fmt.Println(x) } If with a short statement ifの評価前にステートメントを記述できる…

セキュリティについてのセオリー:マイクロサービスアーキテクチャ(6)

第9章 セキュリティ 基本的にはマイクロサービスに関係なく、複数のサーバ運用しているサービスのセキュリティに対して当てはまることが解説されている。 認証・認可の課題 前提として全員がシステムごとに異なるIDとパスワードでsign inを行うという作業は…

マイクロサービスの監視の考え方と設計論:マイクロサービスアーキテクチャ(5)

第8章 監視 複数ホスト、サービスでどう監視設計を行うか。という話し。 多分、「監視」を行っている人達は用いているツールは違うけれども似たようなことはすでにやっているんじゃないかな。 ポイントは サービスが多くなると収集するメトリクス、ログの頻…

理解し易いナビゲーション:インターフェースデザインのお約束(5)

インターフェースデザインのお約束(5) ナビゲーションとユーザージャーニー 本書ではコンテンツの一覧表示時のユーザへのアプローチに対してのナビゲーションの例を紹介。モバイルUIに重きを置いて解説しているように感じた。 そしてナビゲーション、ユーザ…

A Tour of Go - Packages, variables, and functions の自分用リファレンスメモ

A Tour of Go の自分用リファレンスメモ A Tour of Go Exported names 外部のパッケージから参照できるオブジェクトは先頭が大文字から始まる。 例) PrintlnとPi fmt.Println(math.Pi) Functions 関数の定義 func add(x int, y int) int { return x + y } ad…

PHPで実装したソケットサーバにUnity C#から接続する

ちょっとした同期オンラインを試してみたかったので書いてみました。 PHPでソケットサーバーを立てる Unityからsocket通信するプログラム試したくて、socket-server立てるのに久しぶりにPHP書いてる。PHP便利!— Fumiya Ichikawa (@LET__IT__RIDE) December …

複数マイクロサービスからなるテストの複雑性に立ち向かおう:マイクロサービスアーキテクチャ(4)

第7章 テスト 複数のマイクロサービスから成り立つサービステスト、統合テストにどう立ち向かうか。という話し。 古典的な単体自動テストから話しは始まるんだけど、単体テスト - サービステスト(サービス間の結合) - エンドツーエンド(UI上から稼働テスト)…

UnityではじめるC# 基礎編 写経メモ

写経の感想 UnityではじめるC# 基礎編 写経したので忘れそうな操作をメモしておく。 「Unityの教科書」は写経済みで、Animationのadd keyframeの操作以外はサクサク進めることが出来て、写経するのに2日はかからなかった。 Unityの教科書はシンプルなミニゲ…

Unity ios-src/のサイズが大きくてGitHubにPushできない件

Push時のエラー UnityプロジェクトをGitHubにプッシュしようとしたら、libiPhone-lib.aがデカすぎてプッシュできない... initし直すしかないのかなあ。— Fumiya Ichikawa (@LET__IT__RIDE) January 5, 2020 remote: warning: File ios-src/Libraries/libil2c…

readlineのバージョンが上がってたでござるの巻き

ちょっと必要があってpsqlを使おうとしたら... $ heroku pg:psql --> Connecting to postgresql-round-81223 dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib Referenced from: /usr/local/bin/psql Reason: image not foun な…

Swift WKWebView、JSを利用したネイティブアプリ内で完結させるスクレイピング

サーバを持ちたくなくてネイティブアプリ側で外部サイトのHTMLをスクレイピング完結したい場合。 WKWebViewでページ取得するのが手取り早い。要はWKWebViewが読み込んだHTMLをスクレイピングしてしまおうという作戦。 ちなみに実験的に検証しただけなのでsto…

マイクロサービスのデプロイをどう迅速にするかの解説:マイクロサービスアーキテクチャ感想(3)

第6章 デプロイ デプロイについての章。 CIについて デプロイ先のアーキテクチャ environmentについて が解説されている。 テストがあってこそのCI ビルドが期待通りに振る舞っているかは、テストがあってこそ。テストがないCIはCIではないと本書では警鐘を…

ユーザが操作しやすいフォームとは?:インタフェースデザインのお約束(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.…