約束の地

あの日あの時のキャロの想い出

プログラミング

Embulk でレジューム(差分実行)するためには実行時に -o オプションを付ける

Embulk ご存知Embulk(http://www.embulk.org/)ですが、Fluentd(http://www.fluentd.org/)とともにとても便利なプロダクトですよね。データベースの実質的なレプリケーションもこれで柔軟に行えたりします。プラグインにもよりますが、オプション指定も豊…

MySQL でテーブルを一括削除する方法

テーブルの一括削除 MySQL においてテーブルをDROP TABLEで削除する際にはワイルドカードを用いることができません。何とかしたいですね。 grepしてパイプでつなげる 以下のようにコマンドラインから投げてやれば、db_nameに存在する複数のテーブルを削除で…

Ubuntu 16.04 LTS で MySQL のスロークエリログを出力する方法

スロークエリログ 一定の条件を設定し、それを満たす(満たしてしまう)クエリに対してログを吐き出す設定です。パフォーマンス改善などに役立ちます。 設定ファイル 以下のファイルに追記します。 /etc/mysql/mysql.conf.d/mysqld.cnf 設定内容(設定項目)…

PostgreSQL でユーザを追加して権限を与える方法

概略 2段階の操作が必要 まずユーザ(ロール)を作成する その後に権限を付与する

MySQL でユーザを追加して権限を与える方法

概略 2段階の操作が必要 まずユーザを作成する その後に権限を付与する

Fluentd の tail Input Plugin で CSV ファイルを読み込む際は read_from_head を true にする

Fluentd で CSV ファイルを読み込む Fluentd を用いて CSV ファイルを読み込む際は、tail Input Plugin を用いるのが定石だと思います。formatでcsvが指定できますし。 待てど暮らせど出力してくれない しかしながら、以下のような感じで conf ファイルを書…

Ubuntu 16.04 LTS の MySQL にて外部のアドレスから接続する方法

結論 /etc/mysql/mysql.conf.d/mysqld.cnfのbind-addressの設定を変更して、MySQL を再起動しましょう。一番てっとり早いのはbind-addressをコメントアウトすることです*1。 補足 ユーザ単位での許可も忘れないようにしましょう。 *1:とりあえずは、というこ…

fluent-plugin-postgres の key_names の設定でハマった話

fluent-plugin-postgres Fluentd の plugin にfluent-plugin-postgresという PostgreSQL 用の plugin があります。こいつの設定(conf ファイルでの記述)でハマった話です。 正常に動作しない記述 以下のような conf を書くと正しく動作しません。 <match mysql_replicator> @type p</match>…

Ubuntu 16.04 LTS にて MySQL の文字コードを utf8mb4 にする方法

設定ファイルを書き換える バージョン違いやディストリビューションの違いがあるので、改めて Ubuntu 16.04 LTS の場合をここに。 結論 2つのファイルを以下のようにして(書き加えて)、再起動する。sed -i -eを使ってもいいでしょう。 /etc/mysql/conf.d/m…

MySQL から「改行」「カンマ」「ダブルクォート」「シングルクォート」を含むフィールドをエクスポートして他のデータベースにインポートする方法

MySQL からのエクスポート やたら長い標題になってしまいましたが、MySQL からエクスポートしたデータに以下のような内容が含まれていた際に、その情報を失わずにいかに他のデータベース(や Excel*1 など)にインポートするか、ということです。なお、ここ…

Ubuntu 16.04 LTS にて psycopg2 のインストール時にエラーが出る場合

結論 以下を入れましょう。 # apt-get install python3-dev # apt-get install libpq-dev これでエラーが出ないはずです。 # pip install psycopg2 Installing collected packages: psycopg2 Running setup.py install for psycopg2 ... done Successfully i…

PostgreSQL でダブルクォートを含んだフィールドが正しくインポートできない場合

PostgreSQL で CSV ファイルのインポート PostgreSQL にて CSV(広義の意味の方で、Character Separated Values)からのインポートをする場合に、ダブルクォートが含まれているフィールドがインポートできずにハマった話です*1。 *1:ダブルクォートをフィー…

SQLite で空の値が指定できない場合

SQLite で空の値 例えば、以下のようなデータがあったとします。 id money 1 1000 2 3 500 このテーブルでmoneyが空であるレコードを指定したい場合に結構ハマってしまいました。 ダメな書き方 以下の書き方だとダメでした。 money = "" money = '' money = …

SQLite の .import で no such table というエラーが出る場合

結論 文末にセミコロンを付けていませんか。.importのようなドットから始まる命令には文末のセミコロンは不要です。 情報源

Superset 0.15.1 がリリースされました

2016/12/29 に Airbnb 製の BI ツール、Superset の 0.15.1 がリリースされました。 あわせて Docker のイメージ(非公式)も更新されています。 0.15.1 の細かな改良点は CHANGELOG を見ていただくとして、個人的には以下の点の改良が大きいです。 IE 11 su…

SQLite3 を GUI(Webアプリ)で扱う場合の選択肢

SQLite3 を GUI で SQLite3 はその性質上、GUI のネイティブアプリよりも Webアプリ の方が使いやすいです。2016年12月23日時点だと何があるのか調べてみました。

Ubuntu 16.04 LTS の Python3 で fake2db にてデータを作る方法

fake2db fake2db はダミーデータを簡単に大量に作ることができる Python 用のツールです。詳しくは以下のあたりを。 Ubuntu 16.04 LTS で SQLite3 用に使おうとしたらハマった*1ので書いておきます。 *1:DBの種類以前の問題だと思いますが

Adminer のインストールから使用まで

Adminer Adminer という Webアプリケーション があります。データベースを Webブラウザ ベースで操作できるアプリケーションです。phpMyAdmin を代替するものとして作られたそうです。

SQLite3 のコマンドラインでヒストリや補完が効かない場合

SQLite3 でカーソルキーやタブキーが効かない Ubuntu 16.04 LTS に入れた SQLite3 のコマンドラインで、↑キーや TAB キーを押しても ^A のような制御文字が出てきて操作が思いどおりにいかないことがあります。 macOSの例 macOS の例はウェブにいくらか見つ…

幻想水滸伝II の 18周年 を祝う Amazon Dash Button のコードを書いた

1998年の12月17日は、「幻想水滸伝II」が発売された日です。2016年の同日、コナミの公式 Twitter もお祝い申しておりました。 その強さがあれば、すべてを守れると思った・・・一作目から約三年の時を経た1998年の今日、PlayStation向けゲームソフト「幻想水…

Jupyter Notebook を永続的に起動させる方法

Jupyter Notebook を# jupyter notebookで起動させると、そのシェルを閉じると実行が終了してしまいます(サーバが落ちる)。 これをシェルが終了しても永続化して起動させ続けるためには、nohupしましょう。 # nohup jupyter notebook > /dev/null 2>&1 & …

Apache 上の PHP で SQLite3 を扱う場合の方法

環境 Ubuntu 16.04.1 LTS です。 結論 php-sqlite3を忘れずに。 # apt-get insatll -y sqlite3 php-sqlite3 インストールが終わったら Apache を再起動しましょう。 # service apache2 restart

MySQL に CSV ファイルをインポートするときの改行コードは LF でないといけない

完全に覚え書きです。参考(というか答え)にさせて頂いたページはこちらです。感謝。 MySQLのLOAD DATA INFILEで大はまりした話 | infoScoop開発者ブログ ハマってしまっているときに、こういうズバっと一直線な回答にたどり着くとうれしいものです。

早急に Go(Golang) を投げ出してしまった話

Hugo を使いたい Hugo を使ってみようと思い、Ubuntu に Go を入れてみたけど使えずに挫折した話です。読み方は「ヒューゴ」です。なお、私は Go に触るのはこれがほぼ初めてです。

mysql2 の gem を使って MySQL に接続する際に文字コードを utf8mb4_general_ci にする方法

MySQL へ格納できない Twitter のツイートを MySQL に記録しようとした際に Ruby で mysql2 を用いようとしたのですが、どうあがいてもエラーで止まることがあります。Incorrect string valueとか出てきますが、MySQL に収める前の生取得データはちゃんと取…

SourceTree で複数のサービスを用いる場合は「デフォルトユーザー情報」を記入しない

SourceTree で複数のサービスを用いる SourceTree を用いて一つのサービス(例えば GitHub)だけでなく、GitLab や GitBucket など複数のサービスを利用する際の注意点です。 「デフォルトユーザー情報」を記入しない それは、「ツール」→「設定」→「全般」…

Windows の SourceTree で プル した際に改行コードを LF にする方法

Windows 版の SourceTree で プル すると…… SourceTree は日本語をデフォルトで使用することができ、Windows 用の Git クライアントとして初心者を中心に扱いやすいと思います。しかしながら、デフォルトの設定では、プル したファイルの改行コードが CR+LF …

XPath で自分自身の親ノードを指定する方法

XPath XPath 自体はこちらのページやこちらのページなどをご覧ください。たぶん私が説明するより明瞭です。 今回は単に XPath でのノード指定の方法のうち、親ノードを指し示す方法を書きます。 親ノードの指定方法 とは言え簡単です。ディレクトリの指定と…

eRuby (CGI)で POST する時に値を渡す方法

eRuby 2016年も終わろうとしているこのときに CGI な eRuby を使っている人がどれだけいるのかというとあやしいですが、とりあえず知見として。 eRuby(erb)を CGI で 下記のサイトなどの方法で、任意のファイルに Ruby スクリプト を埋め込んで Web に展開…

GitBucket の Webhook(Service Hooks、Payload URL)を Jenkins のビルド・トリガにする方法

GitBucket GitBucket はご存知、takezoe さんを中心に開発されている素晴らしい GitHub クローンです。度重なるバージョンアップにより様々な機能が追加され、その利便性は計り知れません。 そんな GitBucket の機能の中に Webhook 機能があります。「Webhoo…

Ubuntu 16.04 LTS で PHP を用いて PDO するときにインストールしておくもの

ここらへんを忘れないようにしましょう。 # apt-get install -y php-mysql # apt-get install -y php-dev

PhantomJS を Ubuntu 16.04 LTS にインストールする

PhantomJS もはや説明するまでもないですが、PhantomJS とは WebKit ベースの Headless な Webブラウザ です。こいつを Ubuntu で使おうとしたのですが……ドハマりしました。 ハマった理由 : apt-get で入れた これやっちゃだめです。もうエラーの嵐です。 # …

PHP で undefined function utf8_decode() のエラーが出た場合

結論 php-xml を入れましょう。 やり方 # apt-get install -y php-xml

Amazon の URL を短縮するブックマークレット(2016年7月版)

Amazon の商品ページの URL Amazon の商品ページの URL は、そのたどり着く経路によって様々なパラメータを引き連れてきます。例えば以下のような感じです。 Amazon.co.jp: Amazon Web Services クラウドデザインパターン 実装ガイド 改訂版 日経BP Next ICT…

phpMyAdminで「ビュー(view)」を指定したSQLの確認や編集をする方法

phpMyAdmin でビュー(view)のステートメントの確認 phpMyAdmin で「ビュー」を作成したのち、そのビューを作成するのに用いた SQL(ステートメント) を確認および編集をする方法です。 phpMyAdmin の該当テーブルの該当ビューを選択し、「構造」タブを選…

「幻水総選挙2016」の裏側

「幻水総選挙2016」 2016/06/17(金)~2016/06/18(土)に、「幻水総選挙2016」というファンイベントがTwitter上で開催されました(開票発表まで含めると2016/06/26(日)まで)。詳細は以下のアカウントと周辺情報をご覧ください。今回はこのイベントの裏…

Chart.js でレスポンシブ指定をするとサイズが自由に変更できなくなる

両刃の剣であるレスポンシブ指定 Chart.js はグラフをWebページ上に描画するために大変便利なツールです。そしてレスポンシブ指定ができる(options で responsive: true と指定するだけ)ので、画面の大きさに応じたサイズにグラフを自動でリサイズしてくれ…

Chart.js でグラフが表示されないとき

コードをコピペしてもグラフが表示されない もしかして、1.0 のコードを 2.0 の Chart.js で使っていませんか。 Webで検索すると引っかかるここやここやここは 1.0 の記載です。 2.0 では記述方法が変わっています。2.0 を使う場合はとにかく公式のリファレ…

Twitterでツイートを表示するためのURLの表記について

Twitterでツイートを表示するためのURLの一般的な表記 Twitterで、とある一つのツイートを表示する際のURLの表記は、例えば以下のとおりです。 https://twitter.com/TwitterJP/status/742813425286283264 具体的には以下の4つの要素で構成されています。 1. …

Twitter の API で取得できるデータの一部はエスケープ済みである

戻り値の時点でエスケープが施されている Twitter の API 経由で取得したツイート本文のあるデータをたまたま見ていたら、そこに「&gt;(&は半角)」という記述を見つけたので標題のことに気付きました。 同じようなことに気づいた方がいらっしゃいます。 …

「waifu2xで補完された幻想水滸外伝のOP」の比較検証をしてみました

waifu2xとは waifu2xとは、2015年の5月に発表された*1技術です。簡単に言えば、ある画像を拡大するときにとっても綺麗に拡大できるよ、という技術です。詳しくは以下のページをご覧ください。小さい画像を大きく拡大した際には一般的に「荒く」なります。ギ…

PlayStation版「幻想水滸伝」の20周年を祝うTwitter botの作成方法

2015年12月15日は、PlayStation版「幻想水滸伝」が発売されて20周年のその日です。この日を祝うためにTwitter上では #HappySuikoden20th というハッシュタグで各種お祝いツイートが寄せられています。20周年のこの日に、このハッシュタグを用いて、毎時08分…

Powered by はてなブログ