Hiroto's diary

プログラミングとか色々

Puppeteer で target="_blank" が開くのを待つ

Puppeteer で target="_blank" な <a>要素をクリックして新しいページが開くのを待つ方法. browser.once('targetcreated', target => resolve(target.page())) でやる方法が出てくるけど, newPage が null になって上手く行かなかったので, 色々試した結果上手</a>…

nanaco ギフト ID を完全自動登録するスクリプトを書いた

セブンイレブンで使える電子マネーの nanaco はギフト券を福利厚生で安く買える. 自分のバイト先はベネフィット・ステーションを使っていて, ベネフィット・ステーションだと 1000円のギフトが 980円と 2% オフになる. セブンイレブンでの普通の買い物は nan…

Raspberry Pi 4 で録画サーバーを作った (Mirakurun + EPGStation)

Raspberry Pi 4 で録画サーバーを作った. 録画サーバー周りの様子, 超コンパクト Raspberry Pi 4 Model B 4GB + Mirakurun + EPGStation で録画鯖作ったFFmpeg 周りまだ何も手つけてないけどとりあえず録画は出来たっぽい pic.twitter.com/oSlgPnk7mB— hirox…

新規購入した Raspberry Pi をセットアップする

Raspberry Pi 3 Model B 以来 3~4 年振りのラズパイを新規購入. 録画鯖用に Raspberry Pi 4 Model B 4GB を買った. もう一台別用途で買うかもしれないのでやったことを書いておく. 用意するもの Raspberry Pi 本体 メモリが 1GB / 2GB / 4GB から選べる. 困…

Vue.js で日本語の変換中に `keyup.up` や `keyup.down` が発火しないようにする

対処方法 $event ( KeyboardEvent インスタンス) の isComposing をチェック Edge や IE では動かない developer.mozilla.org 例 <template> <div> <input :value="inputValue" @keyup.up="onKeyUp($event)" class="input" type="text" > </div> </template> <script> export default { name: 'TestComponent', data () { return { inputValue: '', …

スプレッドシートに入れた還元系のキャンペーン情報を Google Apps Script でカレンダーに入れる

クレカとか, なんとか Pay とか, なんとかポイントみたいなやつでやってるキャンペーンの期間とか上限とかがゴチャゴチャで分かりにくいし覚えられる訳もない. とりあえず Google スプレッドシートに入れて管理してたけど, 一覧で見やすいだけで別に分かりや…

GitHub Actions で特定の OS の時のみ実行するスクリプトを切り替える

テスト時の必要なパッケージのセットアップ等で OS 毎に実行するスクリプトを切り替える必要があり, 色々と調べたので書き残します。 GitHub Actions では標準で Windows Server 2019, Ubuntu 18.04, 16.04, macOS Catalina 10.15 が使えます。 (2019/12/18 …

iOS の Spotify で曲やアーティストを Twitter で共有する時に曲名やアーティスト名を入れる

iOS デバイスで Spotify を使ってる方は分かると思いますが, iOS の Spotify で曲やアーティストを Twitter で共有すると, なぜか曲名やアーティスト名はツイートされず, URL だけがツイートされます。 PC では曲名もアーティスト名もツイートされるのに何故…

Vue.jsでMarkdownファイルを読み込んでHTMLにして表示する

Vue.jsやNuxt.jsで何かしらのサイトを作ってる時にわざわざHTMLを書くほどでもないようなページを作る際、Markdownで内容を書いてHTMLに変換すると便利。というちょっとしたメモ。 タイトルではVue.jsと書いていますがNuxt.jsでも使えます。 webpackの準備 .…

.babelrc はJSON5で書ける

公式のドキュメントにも書いてあるし割と一般的な事だと思ってたけど、知らない人ばっかだったので布教がてら。 そもそもJSON5とは JSON5とは コメントが書けない Stringでシングルクォートが使えない Arrayでケツカンマが書けない などの、JSONの難点を解消…

JSONにコメントを書く時や、JSON5を書く時はJavaScriptでハイライトすると便利。

たまに役に立つかもしれないライフハックです。 コメント入りのJSONをJSONでハイライトすると色々残念 設定などの説明でJSONにコメントを入れた時、普通にJSONでシンタックスハイライトをさせると、残念な感じになります。 { // presetの設定 "presets": [ "…

Laravel の .env の値は config() 経由で使う

Laravelの .env の値は config() 経由で使う。 .env ファイルは設定のキャッシュがあると読み込まないので env() をそのまま使うと本番環境で設定をキャッシュした時に動かなくなる。なので env() は直接使わずにconfig()経由で使います。

iTunesの音楽とプレイリストをWALKMANに入れる

既にiPhoneやiPodなどに入っている音楽・プレイリストをSONYのWALKMANに丸々持ってくる方法。SONYが公式で説明している方法よりも管理しやすい方法を説明。ジャケットの設定や音楽・プレイリストファイルの整理までメモ。

iTunes (Apple Music) で大きいサイズのジャケットを取得するブックマークレット

iTunesで大きいサイズのジャケット(アートワーク)を取得するブックマークレットを書きました。iTunesのアートワーク自動取得機能が使えない時や、ジャケットのサイズの大きい物にしたい時などに使えます。

RubyのThorで設定出来ないコマンド名を無理矢理設定する

Rubyで簡単にCLIツールを作れるThorで run や shell コマンドを作成する方法。 Thor::THOR_RESERVED_WORDS で定義されている作成出来ないメソッド名のコマンドを作成。

MacでLinuxディストリをUSBに焼く。

たまにやり方忘れて一々検索するのが面倒なのでメモがてら。 焼くのはUbuntu GNOME。Ubuntu GNOMEじゃなくても他のディストリでも殆どこの方法でOK。 USBは8GBあれば十分です。ディストリにもよりますが4GBでも使えるものは使えます。 isoファイルをダウンロ…

php-cs-fixerで"."から始まるファイルの中身が修正されない時の対処

PHP

PHPファイルのコーディングスタイルを自動で直すphp-cs-fixerで.から始まるファイルが修正出来ない問題の対処方法。 php-cs-fixerで使ってるFinderクラスは元々.から始まるファイルを無視します(例えば.php_csファイルなど)。Finderのインスタンスで.から始…

Safariで見ているページのタイトルとURLをfeatherでツイートする。

iOS

タイトルにもある通り、Safariで閲覧しているページをfeatherに転送してつぶやく。 featherにはURLスキームがあるので、それを使ってブックマークレットを作る。(ブックマークレットの作り方は調べてください…) これをコピーしてブックマークのURLに貼ればOK…

PHP CS Fixer 2でファイルの先頭に自動的にコメントを挿入する。

PHP

知らない内に、PHP CS Fixerの2系が出ていました。.php_csの中身が結構変わっていて前に書いたファイル先頭にコメントを挿入するのもかなり変わっていたので2系用の記事を作成。 1系のはこっち。 hiroto-k.hatenablog.com コメントを準備する 頭の方でコメン…

ツイート内容が140文字を超えてるツイートでツイート内容が省略される問題に対応する。

Twitterで140文字以上の内容+画像が出来るようになってから、ツイートを取得するAPIでのレスポンスの中のtextが一部省略されるようになってしまった。 回避方法 クエリにtweet_mode=extendedをつけてtextフィールドを使わずにfull_textを使う。 実際にやって…

hugoのSummaryが巨大化する問題を回避する

hugoでブログを作ったけどサマリーがやたら大きくて困ってたので色々調べた。 結論から言えばconfig.tomlにhasCJKLanguage = trueを入れれば回避出来る。もしくはマークダウンの先頭(設定の所)にisCJKLanguage = trueを入れる。 公式ドキュメントを読んだら…

PHP CS Fixerを使ってファイルの先頭に自動的にコメントを挿入する

PHP

PHPのコーディングスタイルを直すPHP CS Fixerでファイルの先頭にヘッダーを自動的に挿入する。 バージョン1系ではこの方法で出来ますが2系ではこの方法では出来ません バージョン2系は以下の記事を見てください。 hiroto-k.hatenablog.com .php_csにヘッダ…

Laravel/Lumenでレスポンスヘッダーのアサートをする

Laravel及びLumenでレスポンスヘッダーのアサートをする方法。Illuminate\Foundation\Testing\Concerns\MakesHttpRequestsに実装されてるseeHeaderメソッドを使う。

LaravelのartisanコマンドでgetArguments()やgetOptions()を使う時はコマンド名の指定に$nameを使う必要がある

LaravelのArtisanで自作Commandクラスを使う時に躓いたのでメモ LaravelでArtisanコマンドを作る時に以下のようにコマンド名を指定する($signatureを使う)とgetArguments()やgetOptions()が読まれない。

Symfonyのconsoleコンポーネントで全てのコマンド共通のオプションを設定する

PHP

PHPでコンソールアプリを作るときに使うSymfonyのconsoleコンポーネントで全てのコマンドに共通のオプションをつける方法。 Symfony\Component\Console\Applicationクラスを拡張して独自のApplicationクラスを作ってgetDefaultInputDefinitionメソッドをオー…

Laravelでデータベースの接続を指定してmigrateやdb:seedを実行する

Laravelで特定の接続で``migrate``や``db:seed``を実行する方法。Lumenでも使えます。

ブログをWordPressからはてなブログに移動した

ブログをWordPressからはてなブログに移動しました。 移行した経緯 WordPressのカスタマイズに疲れたからです。前のブログではテーマでStinger6を使っていましたが色々と足りなかったりする機能を自分で書いていました。が追加したコードを管理したりメンテ…

© 2015 hiroxto