備忘録

備忘録

Windowsでテキストファイル新規作成時の表示名を変更する方法

Ⅰ. はじめに

タイトルの通り「Windowsでテキストファイル新規作成時の表示名を変更する方法」です。

Ⅱ. やり方

1. レジストリエディタで以下パスを開く
HKEY_CLASSES_ROOT\Local Settings\MuiCache
2. 以下のキーを探す
@C:\Windows\system32\notepad.exe,-469
3. 任意の値に書き換える

f:id:kagasu:20190910080443p:plain

実行結果

f:id:kagasu:20190910080615p:plain

Ⅲ. その他

留意点

この記事で紹介した方法はキャッシュを変更するだけなので、未知のタイミングで初期化される場合があります。

ファイルを素早く作成する方法
右クリック → X → T

または

メニューキー → X → T

C#でFCMを利用してPUSH通知を送信する方法

Ⅰ. はじめに

タイトルの通り「C#でFCMを利用してPUSH通知を送信する方法」です。
※FCM = Firebase Cloud Messaging

Ⅱ. やり方

1. 必要なパッケージをNuGetからインストールする
Install-Package FirebaseAdmin
2. Firebase サービスアカウントの秘密鍵(serviceAccountKey.json)をダウンロードする

f:id:kagasu:20190904141325p:plain

3. サンプルプログラムを書く
var app = FirebaseApp.Create(new AppOptions()
{
  Credential = GoogleCredential.FromFile("serviceAccountKey.json")
});

var fcm = FirebaseMessaging.GetMessaging(app);

var message = new Message()
{
  Notification = new Notification
  {
    Title = "title",
    Body = "body"
  },
  Data = new Dictionary<string, string>
  {
    ["key001"] = "value001",
    ["key002"] = "value002"
  },
  Token = "token",
};

await fcm.SendAsync(message);

実行結果


Goでスクリーンショットを撮る方法

Ⅰ. はじめに

タイトルの通り「Goでスクリーンショットを撮る方法」です。

Ⅱ. やり方

1. ライブラリをインストールする
go get github.com/kbinani/screenshot
2. サンプルプログラムを書く
package main

import (
  "image/png"
  "os"

  "github.com/kbinani/screenshot"
)

func main() {
  bounds := screenshot.GetDisplayBounds(0)
  img, _ := screenshot.CaptureRect(bounds)

  file, _ := os.Create("out.png")
  defer file.Close()
  png.Encode(file, img)
  // jpeg.Encode(file, img, &jpeg.Options{Quality: 80})
}

実行結果

out.png が出力された
f:id:kagasu:20190830085448p:plain

CordovaでカスタムURLスキームに対応する方法

Ⅰ. はじめに

タイトルの通り「CordovaでカスタムURLスキームに対応する方法」です。

Ⅱ. やり方

1. Cordova プラグインをインストールする
cordova plugin add cordova-plugin-customurlscheme --variable URL_SCHEME=myapp
2. プログラムを書く

src/main.js

window.handleOpenURL = (url) => {
  alert(`Cordova : handleOpenURL\n${url}`)
}

Ⅲ. URIスキームを変更する時

以下のコマンドを実行する

cordova platform rm android
cordova plugin rm cordova-plugin-customurlscheme
cordova platform add android

cordova plugin add cordova-plugin-customurlscheme --variable URL_SCHEME=myapp001

GoでHTMLの要素をXPathで取得する方法

Ⅰ. はじめに

タイトルの通り「GoでHTMLの要素をXPathで取得する方法」です。

Ⅱ. やり方

1. パッケージをインストールする
go get github.com/antchfx/htmlquery
2. サンプルプログラムを書く
package main

import (
  "fmt"

  "github.com/antchfx/htmlquery"
)

func main() {
  doc, _ := htmlquery.LoadURL("http://example.com")

  // h1タグのInnerTextを取得する
  titleElement := htmlquery.FindOne(doc, "/html/body/div/h1")
  fmt.Println(htmlquery.InnerText(titleElement))

  // aタグのhref属性を取得する
  linkElement := htmlquery.FindOne(doc, "/html/body/div/p[2]/a")
  fmt.Println(htmlquery.SelectAttr(linkElement, "href"))

  // pタグを列挙し、InnerTextを表示する
  for i, x := range htmlquery.Find(doc, "/html/body/div/p") {
    fmt.Println(i, htmlquery.InnerText(x))
  }
}
3. 実行結果
Example Domain
http://www.iana.org/domains/example
0 This domain is established to be used for illustrative examples in documents. You may use this
    domain in examples without prior coordination or asking for permission.
1 More information...

その他

http://example.com の HTML が変わるとサンプルの意味が無くなるので、
念のため http://example.com のバックアップを残します。
https://gist.github.com/anonymous/e325a74047edab47a2cf6ccdef60af95