プログラミング

Visual Studio Code で JavaScript が意図しない Lint を適用するようになったら TypeScript の設定を見てみる

結論 ESLint や Prettier や TSLint やその他もろもろの拡張機能を無効にしても、なぜか .js ファイルの保存時に意図しない Lint がかかるときには TypeScript の設定を見てみるのも一つの方法です。 参考画面 補足 TypeScript の設定は無効にすることができ…

MP4ファイルは末尾に適当に何かを追記しても動画自体は見ることはできる

結論 hoge.mp4 という MP4ファイル があったとします。 このとき、foobar という単純テキストの文字列を hoge.mp4 の末尾に以下のように追加したとします。 $ echo foobar >> hoge.mp4 追加後、hoge.mp4 ファイルの視聴をすることができます。 参考

Google Images Download をさしあたり動かす方法

仕様変更により、Google Images Download が現在は期待通りに動作しません。Unfortunately all xxx could not be downloaded... というメッセージが出ます。 $ googleimagesdownload -k 'ねこ' (省略) Evaluating... Getting you a lot of images. This ma…

Puppeteer での「セレクタ」の書き方は一般的なセレクタの書き方を使うことができる

結論 たとえば、特定のセレクタをクリックする際に、page.click('HOGEHOGE') と記述するとします。ここの HOGEHOGE がセレクタですが、この部分の書き方には一般的なセレクタの書き方を使うことができます。 すなわち、以下の記法を使うことができます。 dev…

Mac で jenv を用いて複数バージョンの Java を用いる方法

まず複数バージョンの Java をインストールする 複数バージョンの Java をインストールする方法はこちらに書かれているとおりです。 stackoverflow.com 以下、具体的な手順を書きます。

GitHub でマージ後にマージ元のブランチが自動削除されることを防ぎたいときのチェックポイント

まずはリポジトリの設定を見直す リポジトリの Settings から Options のメニュー項目を選び*1、下の方にある Automatically delete head branches にチェックが入っていると、マージ後に自動でマージ元のブランチが削除されます。 gyazo.com Refined GitHub…

Mac および Ubuntu で Dart をインストールする方法

結論 公式ドキュメント に書いてあるとおりです。 具体例 macOS $ brew tap dart-lang/dart $ brew install dart $ dart --version Dart VM version: 2.6.1 (Mon Nov 11 13:12:24 2019 +0100) on "macos_x64" $ pub --version Pub 2.6.1 Ubuntu $ sudo sh -c…

mysqld_safe コマンドを実行した結果、Directory '/var/run/mysqld' for UNIX socket file don't exists. というエラーが表示された場合の対処法

結論 /var/run/mysqld というディレクトリを作り、適切なオーナーを設定します。その後、再度 mysqld_safe コマンドを実行します。 具体的方法 $ sudo mkdir /var/run/mysqld $ sudo chown mysql:mysql /var/run/mysqld エラーログ $ sudo mysqld_safe --ski…

Puppeteer で リダイレクト等 による ページ遷移 を待つ方法

結論 waitForNavigation() を使いましょう。 実例 await page.goto('https://wait-redirect.example.com/'); await page.waitForNavigation(); 公式ドキュメント github.com 参考 Cloudflare の DDos Protection を経由する場合などに有効です。

cargo install した際に use of unstable library feature ... と怒られたとき

結論(の一つ) 以下のコマンドを用いて Rust のバージョンを上げる。その後に cargo install をやり直す。 $ rustup install stable rustc 1.36.0 (a53f9df32 2019-07-03) (省略) $ rustc --version rustc 1.38.0 (625451e37 2019-09-23) 背景 grex をイン…

POSTメソッド をさっさと試したい場合は Slack の Webhook に投げるのが簡単

結論 POSTメソッド をテストしたい場合は Slack を用いると簡単です。 Slack の Webhook のアドレスを取得する*1 そのアドレスに POST する Content-Type は application/x-www-form-urlencoded 最小限の payload は { text: "ほげほげ" } *1:このアドレスを…

よちよち.rb & Sendagaya.rb 合同開催「よちがや.rb」 〜REST アーキテクチャを理解しよう会〜 に行ってきました

よちよち.rb & Sendagaya.rb 合同開催「よちがや.rb」 〜REST アーキテクチャを理解しよう会〜 2019/01/07 に開催された「よちよち.rb & Sendagaya.rb 合同開催「よちがや.rb」 〜REST アーキテクチャを理解しよう会〜」に行ってきました。内容の詳細につい…

VSCode でメモをとる拡張機能の VSNotes が便利

VSNotes Visual Studio Code の拡張機能に VSNotes というものがあります。 VSCode 上でメモをとることができる拡張機能です。以下のような特徴があります。 実体は指定したディレクトリ配下の実ファイル 階層構造で管理ができる タグを指定することができる…

OSS の IDE(コードエディタ)の選別を断念した話

背景 クローズドで利用できる OSS の IDE(エディタ)がほしい。 結論 どれも実用に至ると判断できませんでした。以下、試したものと所感です。 Codebox 最終コミットは3年半前 基本的な機能はある ペアプロできる Chrome だと インデント が 3以下 の場合に…

CodePen の クローン である OSS の CodePan をインストールする

CodePen CodePen とは、ご存知、Webブラウザで完結できるフロントエンドの開発環境です。 CodePan その CodePen の クローン OSS の CodePan というものがあります。これをインストールします。 なお、デプロイ済みのデモはこちらです。 手順 特に難しいとこ…

Twitter のツイートを MySQL に格納するときに Data too long for column と出るとき

結論 ツイートの本文は VARCHAR(255) では収まらない(ときがある)ので、TEXT型 にする。

「同一生成元ポリシー」の読み方

結論 「どういつせいせいげんポリシー」 Wikipedia 同一生成元ポリシー - Wikipedia 余談 今までずっと「どういつせいせいもとポリシー」と読んでいました……。

Ubuntu 16.04 LTS で MeCab を NEologd とともにインストールする

MeCab あえて記載する必要はないかと思いますが、形態素解析エンジンです。「和布蕪」です。 MeCab: Yet Another Part-of-Speech and Morphological Analyzer Ubuntu 16.04 LTS にインストール OS や バージョン ごとに微妙にインストール方法が異なるので、…

Ubuntu 16.04 LTS で JDK(JRE) と Maven はどこにあるか

結論 JDK (JRE) /usr/lib/jvm/java-8-openjdk-amd64/jre Maven /usr/share/maven 備考 $ ls -l を使ってシンボリックリンクをたどっていけば分かります 参考(感謝)

続・Ruby で UTF-8 の文字を Shift JIS の文字に変換する

以前に書いた記事の別解です。

Babel で JSX をトランスパイルする(最小限操作)

目標 最小限。

JavaScript 開発のまとめ(用語、ツール……)

前提 2018/02/18 現在でかき集めた内容です リポジトリ等へのリンクを付け加えたい

webpack-dev-server に localhost 以外からアクセスできるようにする場合は host: 0.0.0.0 を指定する

追記 現在では disableHostCheck は不要です*1。この記事を書いたときにバージョンの差異があったようです。 結論 単に webpack-dev-server の実行オプションに --host 0.0.0.0 と指定するだけだではだめ*2。webpack.config.js に devServer を追加し、その…

cron が動かなくてログも出力されない場合に調べるところ

結論 ログの出力先に書き込みできるパーミッションが設定されているかどうか。 補足 上記の場合だと、cron は実行されないわログは出ないわで気づきにくいです。 その他 定番の「フルパスで書いているか」も調べましょう。

pyenv で Python をインストールしようとしたら5時間ハマった話(/usr/include 配下のパーミッション問題だった)

結論 /usr/include 配下のディレクトリのパーミッションが全て 744 になっていたため、コンパイルが通らなかった。

Elasticsearch は root で実行できない(←Docker の Elasticsearch は権限に注意)(←Docker の Volume 指定では権限に注意)

さらに補足 Docker で Volume 指定をしたディレクトリを予め作ってしまったことが問題っぽいです(自動で作られる前に)。 Docker で Volume 指定をすると思わぬ権限で上書きされて思わぬパーミッションエラーが出るので注意しましょうということです。 補足…

Python における Bundler のような管理ツールである Pipenv について(Bundler との比較)

Pipenv Python でのパッケージ管理には pip が用いられますが、pip の内容や依存性を管理してくれるツールに Pipenv というものがあります。 Pipenv の使い方 Pipenv の使い方については公式ドキュメントが詳しいです(日本語です)。 Pipenv: 人間のためのP…

Node.js のバージョン管理に ndenv を使う(nvm ではなく)

nvm ではなく ndenv を使う理由 nvm でのバージョン管理は、ユーザ単位ですべての場所(ディレクトリ)での実行バージョンが統一されます。rbenv のように、ディレクトリごとにバージョンを使い分けたいので ndenv を使います。

Ruby で CSV を扱う際に便利な gem である SmarterCSV

SmarterCSV Ruby で CSV を扱う際には標準ライブラリが便利です。 Ruby標準添付ライブラリcsvのCSV.tableメソッドが最強な件について ただ、このライブラリでは面倒な操作を行う際には SmarterCSV という gem もとても便利です。

amazon-ecs の gem を使って JANコード を ASIN に変換する方法

結論 以下のようなコードで実現できます。実行すると B079KZKTBF が表示されることが確認できます。 require 'amazon/ecs' Amazon::Ecs.configure do |options| options[:AWS_access_key_id] = 'YOUR_ACCESS_KEY_ID' options[:AWS_secret_key] = "YOUR_SECRE…

Powered by はてなブログ