phpではPSR-12というコーディング規約があります。作成したphpプログラムがPSR-12の規約に合致しているかをチェックしたい場合、`phpcs`コマンドを使うと便利です。
この記事では、composerでグローバルインストールすることで、コマンドラインからphpc...
## Mongo DBのデータ階層
```language-bash
Database -> collection -> document
```
MySQLだと、下記の構成になる
```language-bash
Database(schema) -> table -> row
```
## 接続
- localhostにユーザ認証せずに接続
```language-bash
...
お名前.comのドメイン管理では、ドメインの有効期限が切れる15日前になると、自動更新を行える設定があります。通常はドメインの失効を防ぐために有効にした方が良いのですが、ドメインを廃止したいなどの理由でOffにしたい場合があります。
今回は、自...
macで`brew install git`コマンドでgitをインストースした場合、.bash_profileに下記の設定を書いておくと、コマンドの自動補完やプロンプトに作業中リポジトリのステータスが表示されるので便利です。
## 作業手順
エディタで.bash_profileを開きま...
macOSで、コマンドラインからVisual Studio Codeを"code"コマンドで起動できるようにする方法です。
昔は、.bash_profile等の編集が必要でしたが、現在はGUIから全部設定できます。
## 作業手順
エディタを起動して`Cmd + Shift + p`のショートカッ...
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ではlaravel-mixというものがあり、クライアントサイドのcss,jsのビルドを`npm run dev`コマンドを一つで簡単に行えます。
ですが、この`npm run dev`を実行したときに"ERR! code ELIFECYCLE"エラーが出ることがあります。
## エラーの出力例...
久しぶりにTOEIC対策の本を読みました。
[40歳オーバーでニート状態だったぼくが初めてTOEIC L&Rテストを受けていきなり930点取って人生を劇的に変えた、効果絶大な英語勉強法](https://amzn.to/2GTwEgk)
## 本書の攻略メソッド
この本は、全...
macOSにmecab-ipadic-NEologdをインストールしたので、インストール時の手順を書いておきます。
デフォルト設定だと、インストールした辞書は/usr/local/lib/mecab/dic/mecab-ipadic-neologd/以下に作成されます。
## 実行した環境
今回のインス...
macOSでコマンドライン(cli)から、OSのバージョンを確認したい場合、`sw_vers`コマンドを使用します。
```language-bash
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.4
BuildVersion: 17E202
```
結果をシェルスクリプトなどで使い...
mecabの辞書であるmecab-ipadic-NEologdをインストールする時「unxz is not found.」がエラーが発生してインストールが失敗する場合があります。
## エラーの出力例
```language-bash
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic...
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行づつ処理させたい場合は、`str_replace()`と`explode()`関数を組み合わせると便利です
## サンプルプログラム
下記のプログラムは、GETパラメータで渡されたテキストを改行文字で区切って、1行づつ処理する...
MySQLではmysqlコマンドでDBに接続する時に、接続先DBの情報をコマンドラインのパラメータで指定することが多いです。
ですが、この他に`my.cnf`ファイルに接続情報を書いておき、記載のDBに接続する方法があります。
今回は、my.cnfファイルを作成...
pythonで対数を取る関数math.log()の使い方と、対数自体の概念のおさらいです。
特に対数は久しぶりに使うとなんの事だったか忘れてしまうので、順を追って分かりやすく説明しています。
## 対数を取る
pythonで対数の計算を行いたいときはmath.log...
JetBrainsのサイトや商品購入時の決済明細をみると、JetBrainsは正式な会社名が`JetBrains s.r.o`となっています。
末尾につくs.r.oですが、チェコ語の"spoločnosť s ručením obmedzeným"の略で、`有限会社`という意味です。これは、JetBrains社は本社...
先日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を使っていると、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では、コマンドライン(cli)からfirebaseの環境を操作するための、firebaseコマンドがあります。今回は、このfirebaseコマンドが使えるVMをコマンド1つで構築できるVagrantfileを作成しました。
## Vagrantfileの中身
以下の内容をVagrantfil...
Vagrantで`vagrant up`コマンドを使って仮想マシンを起動時に、以下のようなエラーメッセージ「A newer version of the box '...' for provider '...' is available!」が出ることがあります。
```language-bash
$ vagrant up
==> default: A newer ...
「住所(address)」と「所在地(location)」の違いは以下の通りです。
```
住所: 人が住んでいる場所を示すもの
所在地: 建物や法人(会社など)の場所を示すもの
```
ですので、会社の場合は本来"会社の所在地"というのが正しいのですが、実際の日常...
VirtualBoxでは、VirtualBox Guest AdditionsというものをゲストOSにインストールすることで、vmをより便利に使用することができます。
Vagrant経由でVirtualBoxを使っている場合、 vagrant-vbguestというプラグインを使用することで、このVirtualBox G...
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で決済処理を行おうとして、"より安全にログインしています..."から進まないときは、ブラウザのAd Blockプラグインが原因の可能性があります。
Ad Blockerを使っている場合は、一時的にOffにしてから再度決済してみてください。
pythonで一定時間プログラムをスリープさせたい場合は、time.sleep()を使用します。
## プログラム
```language-python
import time
print('start')
time.sleep(1)
print('1sec')
time.sleep(0.5)
print('1.5sec')
```
## 実行結果
プ...
pythonで文字を改行せずに出力するには、sys.stdoit.write()メソッドを使用します。
write()で出力した文字は、出力バッファリングされます。直ぐに出力したい場合はflush()を使用します。
## サンプルコード
下記のサンプルは、1秒に一回`.`を...
pythonでシェルから直接ワンライナーのプログラムを実行したい場合は、`-c`オプションを使用します。
```language-bash
$ python -c "print('hello world')"
hello world
```
mac版のVisual Studio Codeを使っていてエディタ上にcliのターミナルを使いたい場合、メニューの"表示 -> 統合ターミナル"から開くことができます。
(ショートカットキーは、`ctrl + shift + @`です)
統合ターミナルを選択すると、以下のように...
pythonでは他の言語で連想配列/ハッシュに相当するデータ構造として、辞書(Dictionary)型というものがあります。
pythonの辞書データを値の順や、キーの順でソートするサンプルコードを紹介します。
## サンプルコード
変数`data`に入ったデー...
macOS上でpythonからmecab-python3をインストールしようとしたら、エラー「mecab-config: command not found」が発生した
## 発生した事象と、解決の手順
まず、brewでmecabとmecab-ipadicをインストールする
```language-bash
brew install mecab...
pythonでは、他の言語と異なり、グローバル変数と関数でネームスペースが分離していません。
このため、以下のように変数と関数を定義してしまうと、変数の中身が関数オブジェクトで上書きされてしまいます。
```language-python
# 変数aaを用意
a...
pythonで文字列と数値を`+`演算子で連結すると、以下のようにTypeError: must be str, not intエラーが発生します
## エラー例
プログラム
```language-python
message = '1+1は' + (1+1) + 'です'
print(message)
```
エラー例
```language...
python3を使った数値計算に関する演算子です加減乗除は他の言語と同じなので、pythonならではのモノのみ記載します。
```language-python
# 割り算
# python3の時は、浮動小数で計算される(python2は端数が切られる)
print(3 / 2) # -> 1.5
...
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(...
pythonではpyenvを使うことで、python2系とpython3系を共存させることができます。
今回は、このpyenvをmacOSにインストールして、別バージョンのpythonをインストールしてみました。
## 実行環境
macOS High Sierra10.13.4
brewで、gitコマン...
iconvでShiftJISのファイルをutf8に変更しようとした時に、下記の`不正な入力シーケンスがあります`というエラーが発生しました。
```language-bash
$ cat input.txt | iconv -f SJIS -t UTF8
iconv: 位置 355200 に不正な入力シーケンスがあります
...
pythonを使って、指定されたファイルの内容全部を取得した上で、ファイル内に含まれる改行を取り除き、1行に連結するプログラムです。
## プログラム
```language-python
# test01.py
text = open("input.txt").read().replace('\n', ' ')
print...
Visual Studio Codeで開いているファイルに埋め込まれた制御文字(STX,ETXなど)を表示させるには、ユーザー設定に下記の項目を追加すれば良いです。
```language-yaml
"editor.renderControlCharacters": true,
```
ユーザ設定はMacの場合`cmd+,`...
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をインストールするのに必要だったダウンロードファイルのサイズをメモしておきます。
合計55Mbyteぐらいで、モバイル回線経由でも問題なくダウンロードできる程度でした。
## 実行したコマンド
```language-bash
pip install n...
MeCabで自然言語処理のプログラムを書いて見ようとした場合、処理させる対象のテキストデータが必要となります。そこで今回は、サンプルのテキストとして青空文庫から夏目漱石の「ぼっちゃん」をダウンロードし、MeCabで操作してみました。
## 青空文庫...
AmazonLinuxで、Python3から形態素解析ライブラリのMeCabを使用できるようセットアップしたVagrantの設定ファイルを作成しました。
下記の内容をVagrantfileの名前で保存し、vagrantが入った環境で`vagrant up`するだけで環境が構築できます。
[関連...
vagrantでは初回vagrant up時にプロビジョニング処理を走らせることができます。
この際に方法をshellにしていると、プロビジョニングを実行するユーザが`root`になります。
ここで、プロビジョニングの実行をvagrantユーザで行いたい場合は、下記の...
MeCabで形態素解析を行わず、分かち書きだけ行いたい場合は、`-Owakati`オプションを使用すれば良いです。
まずは下記の内容でファイルinput.txtを用意しておきます
```language-bash
すもももももももものうち
```
その後、以下のように`-Owakat...
Linuxで作成したpythonスクリプトを実行可能な形式にするには、以下の2つを行えば良いです。
- ファイルの先頭に"#!"を追加
- ファイルに実行権限を与える
## ファイルの先頭に"#!"を追加
まずは、pythonのスクリプトの先頭に`#!/usr/bin/env pyth...
pythonでMeCabを使おうとしたところ、いろいとエラーがでてハマったので、発生したエラーと対処した方法を書いておきます。
## 作ったプログラム
今回動作させようとしたプログラムは下記で、与えられた文章の形態素解析を行うものです。
```language...
pythonではpyenvというツールを使うことで、1台のPCに複数バージョンのpython環境を共存させることができます。
pyenvは非常に便利なツールなのですが、仕組みがわかっていないと思った通りにバージョン切り替えを行えなかったりトラブルを生んでしまう...
htmlでシンタックスハイライトを行うためのライブラリであるPrism.jsで、縦に長いコードを書いた時に縦スクロールバーをつける方法を調べてみました。
下記のcssを適用しておけば良いみたいです。
```language-css
pre[class*="language-"] {
...
AmazonLinuxにMeCabをインストールすることがあったので、その時の手順をVagrantfileにしたものを公開しておきます。
Vagrantを使わずに、手作業でセットアップしたい場合は`config.vm.provision`に書いてあるコマンドを手で実行すれば良いです。
...
## 発生した事象
MeCabの辞書であるmecab-ipadicをインストールしようとしてconfigureしたところ、下記のエラーが発生した
```language-bash
configure: error: mecab-config is not found in your system
```
## 環境
```language-bash
Amazon L...
投稿ナビゲーション