ブログ

読んで思い出す。忘れるために書く

経歴情報から のべ経験年数を計算する

計算したことなかったので、できるようにした

前提

経歴情報は Proff に保存している

各経歴の「いつから いつまで」は「年・月」のみで、「日」は含まれない

入力データは

20143 20149
20162 20175

のように「yyyymm」「yyyym」のいずれかで整形されている

(Proff の経歴情報を一部コピペすると 2つの「年月」情報が手に入る

これを手動でスペース区切りとして編集する

実際のデータと実装

今回は、自分が分かればいいので、なぐり書きで書いた。

gist.github.com

Q. 外部から購入した EPUB ファイルを iPad + Amazon Kindle で読みたい

A. 端末に紐づくメールアドレスが与えられているので、そこに EPUB ファイルを添付して送信する

Everyday Rails - RSpecによるRailsテスト入門」のような本を、「my-account-name_xxxxxx@kindle.com」宛に、任意のメーラーで送信する

3分〜10分ほど待てば、ライブラリに追加された旨、メールが来るので、当該端末で読めるようになる

Links

FizzBuzz の練習課題を解いた (TypeScript)

プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで」を読み進めて練習課題が出てきたので解いた

gist.github.com

Links

Q. ファクトリメソッドを主としたクラス実装で、クラスの初期化を外から隠したい

A. private_class_method :new を記述する

参考にしたコードは「良いコード/悪いコードで学ぶ設計入門」の「5.2.1 private コンストラクタ+ファクトリメソッドで目的別初期化」より

gist.github.com

Links

.NET C# で画像から文字列を検出する (Google Cloud Vision API)

ゴール

Vision API に渡した画像ファイルから、特定文字列が含まれているか否かを判定する

セットアップ

初期設定・チュートリアルは「Using the Vision API with C#」が詳しい

メモ

あとで調べられるようにメモ

  • 手元の Windowsgcloud コマンドをインストールする: Cloud SDK
  • プロジェクトにパッケージを追加: dotnet add package Google.Cloud.Vision.V1 -s https://api.nuget.org/v3/index.json
  • 認証情報を保持する JSON ファイルを生成する
#
# JSON 生成とその準備
#
gcloud auth list # で <my_account>@<my_domain.com> が得られる
gcloud config list project # で <PROJECT_ID> が得られる

gcloud services enable vision.googleapis.com # サービス有効化

export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value core/project)
gcloud iam service-accounts keys create ~/key.json --iam-account my-vision-sa@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com

コード

gist.github.com

Links

指定ウィンドウの特定領域を画像キャプチャする

ゴール

  1. Android ゲーム用のアプリケーション (BlueStacks) ウィンドウを指定
  2. ウィンドウ中に描画されているなかの特定領域を、画像として保存する

本文 次のコード例に書かれている NativeMethods は過去記事参照のこと

gouf.hatenablog.com

コード

gist.github.com

任意の領域をキャプチャする

コード例ではウィンドウ全体のキャプチャを示したが:

  • Size, Bitmatp のサイズ指定で生成・キャプチャする画像のサイズと領域
  • X, Y の指定でウィンドウ内の座標指定

この2つを調整することで、キャプチャしたい場所を狙って画像化できるはず

Links