木木木

Swift / Ruby on Railsなどの学習メモ。


GastbyJSでGoogle Fontsやセルフホステッドフォントを使う

Google FontsやTypeKitはプラグインがサクッとやってくれる。

www.gatsbyjs.org

しかし自分で用意したフォントを導入するのはなかなか入れるのに手こずった。
自分用にメモ。

$ yarn add gatsby-plugin-web-font-loader

gatsby-config.js

{
      resolve: 'gatsby-plugin-web-font-loader',
      options: {
        google: {
          families: ['Noto Sans JP'],
        }
      },
    },

これでGoogle Fontsは入る。楽。

自分で用意したフォントを導入

rootフォルダ/staticフォルダに入れて対応した。

ほんとはできるだけjsの管理下にしておいたほうがよいのだけれど、自分の理解不足のせいかフォントが導入できないため、static管理下に。

static/fonts.css

@font-face {
  font-family: 'MyFont';
  src: url('MyFont.woff') format('woff');
}

gatsby-config.js

{
      resolve: 'gatsby-plugin-web-font-loader',
      options: {
        google: {
          families: ['Noto Sans JP'],
        },
        custom: {
          families: ['MyFont'],
          urls: [`fonts.css`],
        },
      },
    },

で、static/以下に MyFont.woff を入れる。

ちなみになぜかttf形式だとchromeで以下のエラーが出てフォントが表示できなかった。 理由は不明。

Failed to decode downloaded font: OTS parsing error: incorrect entrySelector for table directory

ttf => woffに変換するサービスを利用してことなきをえた。

Apache 2.0 License の ボーントラッキングライブラリ Open Pose Plus

センサー無し、画像のみで骨格や顔、手のトラッキングができる Open Pose。
しかし商用利用は$25,000 / 年 と高い。

しかし、調べているうちにOpen Pose Plus というライブラリがApache 2.0で公開されているのを見つけた。

github.com

まだ動作確認などできてないけど、これはひょっとして胸熱。。

qiita.com

Firebase + iOSでCrashlyticsのクラッシュレポートが送信されない場合

iPhoneアプリにCrashlytics入れてたら、consoleでクラッシュが反映されなかったのでメモ。

公式ドキュメントのように、一度デバッガーからのアプリの実行を止め、
ホーム画面からアプリを起動してクラッシュさせると、意図通りレポートが送信される。

Firebase Crashlytics 実装をテストする  |  Firebase

Macで自分のipアドレスを調べる

WiFi利用の際のIPアドレスはとりあえずこのコマンドで表示される。

$ ipconfig getifaddr en0

Macではen0 (イーサネット0の略)というインターフェイスWiFiに割り当てられているので、このコマンド一発で表示される。

ネットワークサービスの一覧を表示

$ networksetup -listallhardwareports

すべてのネットワーク設定を見たい場合

$ ifconfig

Android Studio を立ち上げずにAVDエミュレーターをローンチする

以前は重くて使い物にならないと感じていたAVD。
開発のときはもっぱらGenyMotionを使用していた。

しかし、最近はAVDの方が動作が軽い!
ので、AVDを使いたいが、FlutterやReact Nativeで開発している時にいちいちAndroid Studio を立ち上げるのが面倒。
以下の方法でコマンドから一発で立ち上げることができた。

まずは、デバイス名を調べる

$ ~/Library/Android/sdk/emulator/emulator -list-avds

これが必要なのは最初の一回だけ。 出てきたデバイス名をメモる。

そしたら、次回からはこちらで一発起動が可能。

$ ~/Library/Android/sdk/emulator/emulator -avd デバイス名

macOSで有線ネットワーク一覧を取得する

System Preferences の NSUserDefaults にplistとして保存されている。

defaults シェルコマンド か NSTask 経由で取得可能。

$ defaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences | grep SSIDString

参考 stackoverflow.com

atomでrubyの文字列をシンボルに置換する

プログラム上でシンボライズするって話じゃなくて、
ソースコード上で文字列になってるのを一括置換で 文字列 => シンボルにするメモ。
Atomの検索 / 置換は正規表現が使えるので以下が可能。
Replace AllすればOK。

f:id:device_me:20181105190736p:plain