下記のコマンドでVagrantfile中にある"Vagrant"から始まる行の下に、定義を追加できます。
macで作業しているので、標準で入っているsed(BSDバージョン)ではなくgnu sedを使用しました。
```language-bash
brew install gnu-sed
gsed -i -e '/^Vag...
MySQLでindex定義を確認する方法(外部キーも確認する)
2018年6月6日
| カテゴリ: MySQL
下記のクエリでインデックスの一覧を確認できる。
```language-sql
SELECT TABLE_NAME,
COLUMN_NAME,
CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME
FROM information_schema.KEY_CO...
MySQLでの日付処理
2018年6月6日
| カテゴリ: MySQL
|
## 日付列をYYYYMMDDHH24MISS形式で出力
```language-sql
select date_format(created_at, '%Y%m%d%H%i%s')
from TABLE;
```
## 日単位で件数をサマリーする
```language-sql
select date_format(created_at, '%Y%m%d'),
cou...
macでgitを使っていると、Untracked files:(バージョン管理外のファイル)として"Icon\r"が表示されることがあります。
```language-bash
$ git status
Untracked files:
(use "git add ..." to include in what will be committed)
"Icon\r...
Google Cloud Platformでプロジェクトを削除する方法
2018年6月1日
| カテゴリ: gcp
Google Cloud Platform (gcp)で、プロジェクトを削除するには下記の手順を取れば良いです。
- プロジェクトを選択し`IAMと管理 -> 設定`をクリック
- `シャットダウン`のボタンをクリック
- 確認ダイアログが出るので、プロジェクトIDを入力し`シ...
[MySQL] DB接続ユーザの情報取得を行う
2018年6月1日
| カテゴリ: MySQL
MySQLでユーザの情報を取得する方法です。
## ユーザ一覧を取得する
```language-bash
SELECT User, Host, Password FROM mysql.user;
```
## ユーザ権限を確認する
```language-bash
SHOW GRANTS FOR root@'%';
SHOW GRANTS FOR root@localh...
[PHP] phpcsをグローバルインストールしてPSR-12チェックする
2018年5月31日
| カテゴリ: phpcs
phpではPSR-12というコーディング規約があります。作成したphpプログラムがPSR-12の規約に合致しているかをチェックしたい場合、`phpcs`コマンドを使うと便利です。
この記事では、composerでグローバルインストールすることで、コマンドラインからphpc...
MySQLユーザのためのMongoDB入門
2018年5月31日
| カテゴリ: MongoDB
## Mongo DBのデータ階層
```language-bash
Database -> collection -> document
```
MySQLだと、下記の構成になる
```language-bash
Database(schema) -> table -> row
```
## 接続
- localhostにユーザ認証せずに接続
```language-bash
...
お名前.comで、ドメインの自動更新設定をOffにする方法
2018年5月31日
| カテゴリ: 未分類
お名前.comのドメイン管理では、ドメインの有効期限が切れる15日前になると、自動更新を行える設定があります。通常はドメインの失効を防ぐために有効にした方が良いのですが、ドメインを廃止したいなどの理由でOffにしたい場合があります。
今回は、自...
macで`brew install git`コマンドでgitをインストースした場合、.bash_profileに下記の設定を書いておくと、コマンドの自動補完やプロンプトに作業中リポジトリのステータスが表示されるので便利です。
## 作業手順
エディタで.bash_profileを開きま...
macOSでコマンドラインからVisual Studio Codeを使えるようにする[2018年版]
2018年5月31日
| カテゴリ: VSCode
macOSで、コマンドラインからVisual Studio Codeを"code"コマンドで起動できるようにする方法です。
昔は、.bash_profile等の編集が必要でしたが、現在はGUIから全部設定できます。
## 作業手順
エディタを起動して`Cmd + Shift + p`のショートカッ...
[python]TfidfVectorizerで指定するnormパラメータの意味を理解する
2018年5月30日
| カテゴリ: scikit-learn
pythonでtf-idf処理を行う時によく利用される、TfidfVectorizer()には,単語ベクトルを成果するためにnormパラメータというものがあります。
今回、このnormの役割を確認するために、ソースコードを確認してみました。
## normパラメータの説明
公式...
pythonのscikit-learnライブラリには、tf/idf処理を行うTfidfVectorizer()という関数があります。
また、TfidfVectorizer()はtf-idf値の計算に内部的に TfidfTransformer()という関数を使用しています。
今回は、このTfidfTransformer()関数の仕様を...
WordPressでAll in one SEOプラグインを使用していると、記事を作成する時に下記の警告が表示されることがあります
```
Notice: To avoid problems with your XML Sitemap, we strongly recommend
you enable Sitemap Indexes and set the Maximum P...
[Laravel] "npm run dev"の実行時にエラー"ERR! code ELIFECYCLE"が発生した時
2018年5月28日
| カテゴリ: 未分類
Laravelではlaravel-mixというものがあり、クライアントサイドのcss,jsのビルドを`npm run dev`コマンドを一つで簡単に行えます。
ですが、この`npm run dev`を実行したときに"ERR! code ELIFECYCLE"エラーが出ることがあります。
## エラーの出力例...
読書メモ:40歳オーバーでニート状態だったぼくが初めてTOEIC L&Rテストを受けていきなり930点取って人生を劇的に変えた、効果絶大な英語勉強法
2018年5月27日
| カテゴリ: TOEIC
久しぶりにTOEIC対策の本を読みました。
[40歳オーバーでニート状態だったぼくが初めてTOEIC L&Rテストを受けていきなり930点取って人生を劇的に変えた、効果絶大な英語勉強法](https://amzn.to/2GTwEgk)
## 本書の攻略メソッド
この本は、全...
macOSにmecab-ipadic-NEologdをインストールしたので、インストール時の手順を書いておきます。
デフォルト設定だと、インストールした辞書は/usr/local/lib/mecab/dic/mecab-ipadic-neologd/以下に作成されます。
## 実行した環境
今回のインス...
[mac]コマンドラインからmacOSのバージョンを確認する方法
2018年5月26日
| カテゴリ: Mac
macOSでコマンドライン(cli)から、OSのバージョンを確認したい場合、`sw_vers`コマンドを使用します。
```language-bash
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.4
BuildVersion: 17E202
```
結果をシェルスクリプトなどで使い...
mecab-ipadic-NEologdのインストールでエラー「unxz is not found.」が出た時
2018年5月26日
| カテゴリ: MeCab
mecabの辞書であるmecab-ipadic-NEologdをインストールする時「unxz is not found.」がエラーが発生してインストールが失敗する場合があります。
## エラーの出力例
```language-bash
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic...
[MySQL]リードレプリカでMySQLのレプリケーション遅延を1分単位で監視する
2018年5月26日
| カテゴリ: MySQL
MySQLのレプリケーションで、レプリケーション遅延がどれくらいあるか(追いついてきたか)を、毎分監視するためのスクリプトです。トラブルなどで大幅な遅延が発生して、追いつくのに時間がかかりそうな場合は、このスクリプトを実行してしばらく放っておく...
下記のコマンドでDBに存在する全テーブルのcountを取得できます
```language-bash
mysql --defaults-file=.my.cnf -e "select concat('select count(*) as cnt, ''', table_name, ''' as name from ', table_name, ' UNION ALL') from information_s...
sedでは`sed -e "s/before/after/g"`のように記載すると全ての行に対して文字列の置換を行うことがあります。
ですが、時にはファイルの最終行のみ置換したいなど処理範囲を指定したい場合があります。
このような場合はsedのアドレス指定の機能を使...
[PHP]フォームに入力されたテキストを1行づつ処理する
2018年5月26日
| カテゴリ: PHP
PHPでフォームに入力されたテキストを1行づつ処理させたい場合は、`str_replace()`と`explode()`関数を組み合わせると便利です
## サンプルプログラム
下記のプログラムは、GETパラメータで渡されたテキストを改行文字で区切って、1行づつ処理する...
[MySQL]mysqlコマンド使用時、明示的にmy.cnfファイルを指定する
2018年5月26日
| カテゴリ: MySQL
MySQLではmysqlコマンドでDBに接続する時に、接続先DBの情報をコマンドラインのパラメータで指定することが多いです。
ですが、この他に`my.cnf`ファイルに接続情報を書いておき、記載のDBに接続する方法があります。
今回は、my.cnfファイルを作成...
[python]対数を取る関数math.log()と、対数/自然対数とは何かを直感的に理解する
2018年5月24日
| カテゴリ: python
pythonで対数を取る関数math.log()の使い方と、対数自体の概念のおさらいです。
特に対数は久しぶりに使うとなんの事だったか忘れてしまうので、順を追って分かりやすく説明しています。
## 対数を取る
pythonで対数の計算を行いたいときはmath.log...
JetBrains s.r.oの「s.r.o」はどんな意味?
2018年5月22日
| カテゴリ: 未分類
JetBrainsのサイトや商品購入時の決済明細をみると、JetBrainsは正式な会社名が`JetBrains s.r.o`となっています。
末尾につくs.r.oですが、チェコ語の"spoločnosť s ručením obmedzeným"の略で、`有限会社`という意味です。これは、JetBrains社は本社...
JetBrainsの製品を、ほんの少しだけお得に買う方法
2018年5月22日
| カテゴリ: 買い物
先日JetBrainsの製品をPayPal決済で購入したのですが、決済のオプションを変更するだけで少しだけ安く購入できることに気づきました。
PayPalではデフォルトで決済時のドル->円の換算レートがPayPalが決めたレートになっています。ですが、このレートは...
JetBrainsのAll Products Packのライセンス料はWebサイトをみると下記の金額であると記載されいます。
```
法人ユーザ
US $649.00 / 初年度
US $519.00 / 2年目
US $389.00 / 3年目以降
個人ユーザ
US $249.00 / 初年度
US $199.00 / 2年目
U...
[node.js] エラー[SECURITY] open has 1 critical vulnerability. が出たとき
2018年5月21日
| カテゴリ: Node.js
node.jsを使っていると、npmで下記のエラーが出力されることがあります。
```language-bash
npm WARN notice [SECURITY] open has 1 critical vulnerability.
Go here for more details: https://nodesecurity.io/advisories?search=open&version=0.0....
[firebase]コマンド1つでfirebaseコマンドが使用可能な環境を構築する
2018年5月21日
| カテゴリ: firebase
firebaseでは、コマンドライン(cli)からfirebaseの環境を操作するための、firebaseコマンドがあります。今回は、このfirebaseコマンドが使えるVMをコマンド1つで構築できるVagrantfileを作成しました。
## Vagrantfileの中身
以下の内容をVagrantfil...
[vagrant]起動時にメッセージ「A newer version of the box」が出たとき
2018年5月21日
| カテゴリ: Vagrant
Vagrantで`vagrant up`コマンドを使って仮想マシンを起動時に、以下のようなエラーメッセージ「A newer version of the box '...' for provider '...' is available!」が出ることがあります。
```language-bash
$ vagrant up
==> default: A newer ...
「住所(address)」と「所在地(location)」の違いは何?
2018年5月17日
| カテゴリ: 未分類
「住所(address)」と「所在地(location)」の違いは以下の通りです。
```
住所: 人が住んでいる場所を示すもの
所在地: 建物や法人(会社など)の場所を示すもの
```
ですので、会社の場合は本来"会社の所在地"というのが正しいのですが、実際の日常...
[Vagrant]vagrant-vbguestでVirtualBox Guest Additionsを自動インストールする
2018年5月16日
| カテゴリ: Vagrant
VirtualBoxでは、VirtualBox Guest AdditionsというものをゲストOSにインストールすることで、vmをより便利に使用することができます。
Vagrant経由でVirtualBoxを使っている場合、 vagrant-vbguestというプラグインを使用することで、このVirtualBox G...
[Vagrant]vagrant-sshfsでファイルの同期を行う
2018年5月15日
| カテゴリ: Vagrant
Vagrantではvagrant-sshfsとういプラグインを使用することで、ホストOSとゲストOSのファイル同期にsshfsを使用することができます。
## インストール
vagrant-sshfsのインストールは、`vagrant plugin install`コマンドを使用します
```language-ba...
pythonでは、collections.Counter()を使って配列の各要素が何回出てきたかの度数分布を簡単に求めることができます。
自然言語処理(NLP)なので単語の出現頻度(word frequency)を求めたい場合、この機能を使うと便利です。
## プログラム
```languag...
オライリーのO'Reilly Japan Ebook Storeで電子書籍を購入したときに、領収書をもらう方法です。
電子書籍を購入すると、以下のメールが送信されてきます。
```
x月xx日
****************************************************************
この...
PayPalで"より安全にログインしています..."から進まないとき
2018年5月13日
| カテゴリ: テック系
PayPalで決済処理を行おうとして、"より安全にログインしています..."から進まないときは、ブラウザのAd Blockプラグインが原因の可能性があります。
Ad Blockerを使っている場合は、一時的にOffにしてから再度決済してみてください。
[python3]一定秒数スリープする: time.sleep()
2018年5月13日
| カテゴリ: python
pythonで一定時間プログラムをスリープさせたい場合は、time.sleep()を使用します。
## プログラム
```language-python
import time
print('start')
time.sleep(1)
print('1sec')
time.sleep(0.5)
print('1.5sec')
```
## 実行結果
プ...
[python3]文字を改行せずに出力する : sys.stdout.write()
2018年5月13日
| カテゴリ: python
|
pythonで文字を改行せずに出力するには、sys.stdoit.write()メソッドを使用します。
write()で出力した文字は、出力バッファリングされます。直ぐに出力したい場合はflush()を使用します。
## サンプルコード
下記のサンプルは、1秒に一回`.`を...
[python]cliからワンライナーでスクリプトを実行する方法(-cオプション)
2018年5月13日
| カテゴリ: python
pythonでシェルから直接ワンライナーのプログラムを実行したい場合は、`-c`オプションを使用します。
```language-bash
$ python -c "print('hello world')"
hello world
```
mac版のVisual Studio Codeを使っていてエディタ上にcliのターミナルを使いたい場合、メニューの"表示 -> 統合ターミナル"から開くことができます。
(ショートカットキーは、`ctrl + shift + @`です)
統合ターミナルを選択すると、以下のように...
[python]辞書(ハッシュ)のデータを値の順でソートする
2018年5月13日
| カテゴリ: python
pythonでは他の言語で連想配列/ハッシュに相当するデータ構造として、辞書(Dictionary)型というものがあります。
pythonの辞書データを値の順や、キーの順でソートするサンプルコードを紹介します。
## サンプルコード
変数`data`に入ったデー...
macOS上でpythonからmecab-python3をインストールしようとしたら、エラー「mecab-config: command not found」が発生した
## 発生した事象と、解決の手順
まず、brewでmecabとmecab-ipadicをインストールする
```language-bash
brew install mecab...
pythonでは変数と関数のネームスペースが重複する
2018年5月12日
| カテゴリ: 未分類
pythonでは、他の言語と異なり、グローバル変数と関数でネームスペースが分離していません。
このため、以下のように変数と関数を定義してしまうと、変数の中身が関数オブジェクトで上書きされてしまいます。
```language-python
# 変数aaを用意
a...
[python]文字と数字を"+"で連結するとエラー"TypeError: must be str, not int"
2018年5月12日
| カテゴリ: python
pythonで文字列と数値を`+`演算子で連結すると、以下のようにTypeError: must be str, not intエラーが発生します
## エラー例
プログラム
```language-python
message = '1+1は' + (1+1) + 'です'
print(message)
```
エラー例
```language...
[python]数値の計算方法(割り算の端数処理、べき乗)
2018年5月12日
| カテゴリ: python
python3を使った数値計算に関する演算子です加減乗除は他の言語と同じなので、pythonならではのモノのみ記載します。
```language-python
# 割り算
# python3の時は、浮動小数で計算される(python2は端数が切られる)
print(3 / 2) # -> 1.5
...
[python]変数のデータ型を確認する
2018年5月11日
| カテゴリ: python
pythonではtype()を使用することで変数のデータ型を確認できます。
## プログラム
```language-python
val = 1
print("- 1 -")
print(type(val))
val = 'a'
print("- 2 -")
print(type(val))
val = [1, 2, 3]
print("- 3 -")
print(type(...
macOSでpyenvを使う[2018年, macOS High Sierra]
2018年5月10日
| カテゴリ: python
|
pythonではpyenvを使うことで、python2系とpython3系を共存させることができます。
今回は、このpyenvをmacOSにインストールして、別バージョンのpythonをインストールしてみました。
## 実行環境
macOS High Sierra10.13.4
brewで、gitコマン...
エラー iconv: 位置 355200 に不正な入力シーケンスがあります
2018年5月9日
| カテゴリ: テック系
|
iconvでShiftJISのファイルをutf8に変更しようとした時に、下記の`不正な入力シーケンスがあります`というエラーが発生しました。
```language-bash
$ cat input.txt | iconv -f SJIS -t UTF8
iconv: 位置 355200 に不正な入力シーケンスがあります
...
[python]ファイルの中身全体を取得して、改行を取り除く
2018年5月8日
| カテゴリ: python
pythonを使って、指定されたファイルの内容全部を取得した上で、ファイル内に含まれる改行を取り除き、1行に連結するプログラムです。
## プログラム
```language-python
# test01.py
text = open("input.txt").read().replace('\n', ' ')
print...
[VSCode]ファイル内の制御文字を表示させる
2018年5月8日
| カテゴリ: VSCode
Visual Studio Codeで開いているファイルに埋め込まれた制御文字(STX,ETXなど)を表示させるには、ユーザー設定に下記の項目を追加すれば良いです。
```language-yaml
"editor.renderControlCharacters": true,
```
ユーザ設定はMacの場合`cmd+,`...
[PHPStorm]viキーバインドのプラグインが使えなくなった時にチェックすること[IdeaVim]
2018年5月8日
| カテゴリ: PHPStorm
|
PHPStormでは、IdeaVimプラグインを使うことでエディタをviキーバインドにすることができます。
プラグインをインストールしていたのに、いつのまにかviキーバインドが使えなくなっている場合、プラグインが無効化されている場合があります。
## 対...
pythonでMeCabの分かち書き機能を利用して、特定のファイル内に存在する単語の出現回数を求めるプログラムです。
単語の出現回数を求めることは、自然言語処理の中ではtf(term frequency)と呼ばれています。
## プログラム
```language-python
# tf....
ファイルから読み込むと末尾に改行文字が付くので、改行を取り除く必要がある点に注意。
## プログラム
```language-python
import sys
import MeCab
m = MeCab.Tagger ("-Owakati")
for line in open('input.txt', 'r'):
words = m.par...
pythonのパッケージマネージャである、pipを使用すると下記の警告が表示されることがあります
```language-bash
$ pip install scikit-learn
...
You are using pip version 9.0.3, however version 10.0.1 is available.
You should consider upgr...
[python]scikit-learnのインストールに必要なダウンロード容量
2018年5月6日
| カテゴリ: python
pythonのscikit-learnをインストールするのに必要だったダウンロードファイルのサイズをメモしておきます。
合計55Mbyteぐらいで、モバイル回線経由でも問題なくダウンロードできる程度でした。
## 実行したコマンド
```language-bash
pip install n...
[NLP]夏目漱石の「ぼっちゃん」の本文を非対話で取得しMeCabで処理する
2018年5月5日
| カテゴリ: MeCab
MeCabで自然言語処理のプログラムを書いて見ようとした場合、処理させる対象のテキストデータが必要となります。そこで今回は、サンプルのテキストとして青空文庫から夏目漱石の「ぼっちゃん」をダウンロードし、MeCabで操作してみました。
## 青空文庫...
AmazonLinuxで、Python3から形態素解析ライブラリのMeCabを使用できるようセットアップしたVagrantの設定ファイルを作成しました。
下記の内容をVagrantfileの名前で保存し、vagrantが入った環境で`vagrant up`するだけで環境が構築できます。
[関連...
[vagrant]プロビジョニングをvagrantユーザで行う方法
2018年5月5日
| カテゴリ: Vagrant
vagrantでは初回vagrant up時にプロビジョニング処理を走らせることができます。
この際に方法をshellにしていると、プロビジョニングを実行するユーザが`root`になります。
ここで、プロビジョニングの実行をvagrantユーザで行いたい場合は、下記の...
MeCabで形態素解析を行わず、分かち書きだけ行いたい場合は、`-Owakati`オプションを使用すれば良いです。
まずは下記の内容でファイルinput.txtを用意しておきます
```language-bash
すもももももももものうち
```
その後、以下のように`-Owakat...