猫でもわかるWebプログラミングと副業

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

競馬における『キレ負け』とは何なのか

2017年有馬記念のヤマカツエースはキレ負けかな?という話 本命: キタサンブラック 対抗: ヤマカツエース 押さえ: シュヴァルグラン、シャケトラ、サクラアンプルール 2017年有馬記念、僕はこのような予想をしていた。レースはキタサンブラックが先行し、2番…

vue.js 0.12 から vue.js 2.x 系にアップデートした時に v-repeat と v-on 周りがおかしくなる時の対処と、v-bind の利用

はじめに 今回、vue.js 0.12 を 2.x 系までバージョンアップする過程で以下の変更点に気づきました。 0.12 では v-repeat という構文があったが、vue.js 2.x 系では削除され、 v-for というものになっていた v-bind というものが増えていた v-on の書き方が…

PHP で GuzzleHttp と DOMDocument/DOMXPath を使ってページのスクレイピングをする

PHP

はじめに PHP で Web ページのスクレイピングをする 利用するのはGuzzleHttpとDOMDocument DOMDocument DOMXpath GuzzleHttp GuzzleHttpのインストール スクレイピングしてみる GuzzleHttpを使ってHTTPリクエストを送る Guzzleで受け取った結果をDOMDocument…

LoL民が交流するsummoners-riftodon.jp を立てた話とマストドンに絵文字を追加する話

はじめに この記事は Mastodon Advent Calendar 2017 - Qiita の20日目の記事です。 summoners-riftodon.jp を建てました LoL(League of Legends)をプレイする人たちが交流するマストドン、 https://summoners-riftodon.jp/ を yota くんという人と一緒に…

curlで複数のファイルとファイル以外のパラメータをPOSTして、PythonのFlaskでそれらを受け取る

curlでファイルをPOSTしてFlaskで受け取る方法 Webアプリ開発中、curlでAPIの動作を確認したい時があるかと思います。 先日PythonのWebフレームワーク Flask を使ってWebアプリを開発していたのですが、curlでどうやってpostしたらいいのか、さらにはFlaskで…

Emacsでマイナーモードを定義してみたり、 M-x で動くインタラクティブ関数を定義してみたりする

はじめに この記事は Emacs Advent Calendar 2017 - Qiita の18日目の記事です。 パッケージをインストールしているだけでは物足りない時がある EmacsでPHPのシンタックスハイライトやコードフォーマッタを導入する、といった場合には、適当なパッケージを導…

MySQL 5.6 で実装されたGTIDレプリケーションについて誤解を恐れずに、とにかく簡単にわかりやすく解説する

はじめに この記事は MySQL 5.6.4 で実装されたGTIDレプリケーションを、とにかく簡単に、とにかくわかりやすく解説したものです。それゆえ正確な説明ではなくなっているところがあります。ご了承ください。正確な知識を得るための導入としてお読みください…

Linuxでディスクの容量が大きくなってきた時にどのディレクトリが容量を食っているのか調べる方法

ディスクの容量を見るコマンド df 指定したディレクトリの容量を調べるコマンド du -hs ディスクの容量を見るコマンド df $ df Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on /dev/disk1 487849984 369271528 118066456 76%…

MySQL 5.7のマルチソースレプリケーションを活用する - 無停止でシャーディングを解消

はじめに この記事は ドワンゴ Advent Calendar 2017 - Qiita の15日目の記事です。 昨日の記事は ytanaka さんの Goadを使った負荷試験とパフォーマンス分析手法について - Qiita でした。 自己紹介 ドワンゴでニコニコ動画の開発をしています。 *1 去年も…

PHP の composer で remove する時にパッケージの依存関係も含めて remove したい

PHP

状況 composer remove --update-with-dependencies でもだめだった 一番確実なのは composer.lock を作り直すことだが... ただ、バージョンが固定されておらず composer.lock を簡単に消せないことも ではどうすればいいのか composer.lock を読む どうやっ…

TypeScript 1.5 から internal modules の名前が "namespace" に変わったらしい

A note about terminology: It’s important to note that in TypeScript 1.5, the nomenclature has changed. “Internal modules” are now “namespaces”. “External modules” are now simply “modules”, as to align with ECMAScript 2015’s terminology, (n…

ニコニコ動画は動画の時間とコメントが紐付いているのでそれを解析したら何かできないかなという話

ニコニコ動画とYouTubeのコメントの違い ニコニコ動画とYouTubeのコメントの違い、、、ニコニコ動画は画面の上にコメントが流れる、だけでなく、動画の時間とコメントが紐付いているのが面白いです。YouTubeは動画自体にコメントするのに対して、ニコニコ動…

Code Quest 連鎖ノ試練(しりとり問題)をクリアする

Code Quest 前にも書いたCode Quest、今回は連鎖ノ試練を解いていきます。 geek-out.jp 連鎖の試練 与えられた単語の中からしりとりをできるだけ長く繋ぐようにします。 しりとりはグラフで解ける しりとりは、ノードが文字、エッジが単語のグラフで書けます…

JavaScriptのundefined判定、jQueryのdomが見つからなかった時の判定

Javascriptのundefined判定 if(hoge === undefined) { // } ただし、 undefined の再定義ができるので、注意が必要だが、普通そんなことしないので、基本的には undefined と === 比較したらいいと思います。 例えば行かのようにundefinedの再定義ができます…