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]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...
[Python]Linuxで作成したスクリプトを実行可能にする方法
2018年5月5日
| カテゴリ: python
Linuxで作成したpythonスクリプトを実行可能な形式にするには、以下の2つを行えば良いです。
- ファイルの先頭に"#!"を追加
- ファイルに実行権限を与える
## ファイルの先頭に"#!"を追加
まずは、pythonのスクリプトの先頭に`#!/usr/bin/env pyth...
pythonでMeCabを使おうとしたところ、いろいとエラーがでてハマったので、発生したエラーと対処した方法を書いておきます。
## 作ったプログラム
今回動作させようとしたプログラムは下記で、与えられた文章の形態素解析を行うものです。
```language...
[python]pyenvがバージョンを切り替える仕組みを理解する
2018年5月5日
| カテゴリ: python
|
pythonではpyenvというツールを使うことで、1台のPCに複数バージョンのpython環境を共存させることができます。
pyenvは非常に便利なツールなのですが、仕組みがわかっていないと思った通りにバージョン切り替えを行えなかったりトラブルを生んでしまう...
シンタックスハイライトのPrism.jsで長いコードに縦スクロールバーをつける
2018年5月4日
| カテゴリ: css
htmlでシンタックスハイライトを行うためのライブラリであるPrism.jsで、縦に長いコードを書いた時に縦スクロールバーをつける方法を調べてみました。
下記のcssを適用しておけば良いみたいです。
```language-css
pre[class*="language-"] {
...
[NLP]VagrantでAmazonLinuxにMeCabをインストールする
2018年5月3日
| カテゴリ: MeCab
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...
[PHP]macにComposerをインストールする
2018年4月30日
| カテゴリ: composer
macOS上にcomposerをインストールするためには下記のコマンドを実行すれば良い。
```language-bash
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09...
[vagrant]作成した環境をboxに保存しておく方法
2018年4月29日
| カテゴリ: Vagrant
Vagrantでは,`vagrant package`コマンドを使うことで、作業した結果のディスクイメージを作ることができます。`vagrant package`コマンドで保存されたイメージは`package.box`のファイル名で保存されます。
保存した`package.box`は、`vagrant box add`...
## 発生した事象
MySQLでcreate tableを実行した所、下記のERROR 1214が発生した。
```language-bash
ERROR 1214 (HY000): The used table type doesn't support FULLTEXT indexes
```
## エラーの例
```language-bash
$ mysql -u root -D sa...
新しいプログラム言語やフレームワークを学ぶ時、適当なサンプルデータが入ったMySQLデータベースが欲しくなる場合があります。
今回は、このような時のためにvagrantを利用して下記の構成のvmをコマンド1つで構築できるようなvagrantの設定ファイル(Va...
Software Designの電子書籍(pdf)を購入した(SD/WebDB)
2018年4月28日
| カテゴリ: テック系
Software Designの雑誌をpdfの電子書籍で1年間定期購読してみました。
今回初めて手続きしたので、手順を控えておきます。
気になる部分をまとめると、以下のような感じでした。
- サイトへのユーザ登録は、Google,Facebook,Yahooの外部ID認証で...
[AngularJS]ディレクティブに指定するrestrictの指定例[E,A,C,M]
2018年4月26日
| カテゴリ: AngularJS
Angularでは、ディレクディブ(カスタムのタグや、属性のようなもの)を作る時、restrictと言うものを指定します。
ここでは、restrictの種類と、それぞれの実行サンプルを説明します。
## 確認した環境
```language-bash
AngularJS 1.2.32
Google ...
Vagrantを使っていて、ansibleでサーバのプロビジョニングをしようとした時、`The Ansible software could not be found!`エラーが出る場合があります。
```language-bash
$ vagrant provision
==> default: Running provisioner: ansible...
Vagrant ...
[CircleCI]単体テストを書いていないプロジェクトで「There were no test commands!」メールが来るのを抑止
2018年4月25日
| カテゴリ: CircleCI
CircleCIを使っていて、単体テストを書いていないプロジェクトをCircle CIでデプロイさせると、以下のように単体テスト失敗のメールが届きます。
There were no test commands!
GitHubのプルリクエストにも✖︎マークとともに、`Failure: You...
[AngularJS]$http.get()を実行したら、net::ERR_BLOCKED_BY_CLIENTエラーが発生
2018年4月24日
| カテゴリ: AngularJS
AngularJSでAmazonのベストセラー情報を取得しようと$http.get()を実行したら、net::ERR_BLOCKED_BY_CLIENTエラーが発生したので、その時に行なったことを書いておきます。
## 環境
macOS
Chrome 65.0.3325.181
AngularJS 1.2.32
## 実行したコ...
[Mac]Finderで全てのファイルの拡張子を表示させる方法
2018年4月20日
| カテゴリ: Mac
MacのFinderで、全てのファイルに対して拡張子を表示させる方法です。
- Finderを開いて、右上にある`Finder->環境設定`を開く
- 詳細タブにある、`すべてのファイル名拡張子を表示`にチェックを入れる
[AngulerJS] Hello worldを出力するだけのプログラム
2018年4月19日
| カテゴリ: AngularJS, JavaScript
AngulerJSの1.2を使って、もっともシンプルなコード(JavaScriptの変数に入った値"hello world"をHtmlに出力するだけの処理)を作ってみます。
## 確認した環境
AngulerJS 1.2.32
ブラウザ: Chrome
## プログラム
```language-html
...
git cloneでリポジトリ名を"git@github.com"形式で指定したら失敗する時にチェックしたこと
2018年4月18日
| カテゴリ: git
|
GitHubからリポジトリをcloneする時に、リポジトリの指定方法は2種類あります。
```language-bash
1. "https://github.com/user/repo" の形式(http方式)
2. "git@github.com:user/repo.git" の形式(SSH方式)
```
前者の方法でOKだったけと後者...
Macでナカグロ/中黒「・」を入力する方法
2018年4月17日
| カテゴリ: Mac
Macで中黒「・」を出したいときは、かなキーを押して日本語入力モードにした後、`Option+/`を入力します。
[mac] SSHの公開鍵をコマンドラインからクリップボードにコピーする
2018年4月16日
| カテゴリ: Mac
macOSでSSHの公開鍵をコマンドラインからクリップボードにコピーする方法です。
公開鍵の情報は、`~/.ssh/id_rsa.pub`に入っており、cliからクリップボードへコピーするには`pbcopy`コマンドを使えば良いため、下記のコマンドで実行できます。
```la...
GithubアカウントのOAuth認証でCircleCIのユーザ登録を行う
2018年4月15日
| カテゴリ: CircleCI
継続的インテグレーションのWebサービスであるCircle CIをGithubのOAuth認証を使う形で、ユーザ登録する方法を説明します。
Circle CIを使うときは、デプロイすべきコードをGithubに格納する事も多いかと思うので、CircleCIの認証自体をgithubアカウン...
[Mac]Cmd+Shift+4で取得するスクリーンキャプチャの保存先を変更する
2018年4月15日
| カテゴリ: Mac
MacではCmd+Shift+4で、画面キャプチャを取る事ができますが、ファイルの保存先をデスクトップから別の場所に変えたい場合は、ターミナルから下記のコマンドを実行すれば良いです。
```language-bash
# スクリーンキャプチャの保存先を変更する
defau...
PHPのデプロイメントツールであるDeployerを使用すると、下記のように「To speed up composer installation setup "unzip" command with PHP zip extension https://goo.gl/sxzFcD」エラーが出る場合があります。
```language-bash
$ dep deploy
De...
[PHP]Deployerでデプロイ失敗時に、ロックが解除されないのを回避する
2018年4月14日
| カテゴリ: Deployer
PHPのdeployerでは、デプロイメントに失敗すると排他制御のロックがかかったままになってしまい、次回実行する時には`dep deploy:unlock`コマンドを手作業で実行する必要があります。
本番運用中はこれで良いのですが、デプロイメントのセットアップ中...
[PHP]Deployerでallow_anonymous_statsをtrueにした時に送信されるデータ
2018年4月14日
| カテゴリ: Deployer
PHPのdeployerでは、deploy.phpの中で以下のようにallow_anonymous_statsをtrueにしておくことで、deployerの作者にツールの使用統計情報を送信する事ができます。
```language-php
set('allow_anonymous_stats', true);
```
この値をtrueにした時、具...
[PHP]depoyer実行時に「Failed to execute git clone」エラー
2018年4月13日
| カテゴリ: Deployer
## エラーの内容
deployerでデプロイしようとすると「Failed to execute git clone」のエラーが出る
```language-bash
[root@localhost deployer_test]# php deployer.phar deploy
✈︎ Deploying 1.7/master on localhost
✔ Executing...
[git] git commit時にエラー"Please tell me who you are"が出る時
2018年4月12日
| カテゴリ: git
gitを使っていてcommitしようとした時、以下のように"Please tell me who you are"エラーが出る場合があります。
```language-bash
$ git commit -m "add files"
*** Please tell me who you are.
Run
git config --global user.email "you...
[PHP]Deployer実行時にエラー「Deploy locked.」が出る時
2018年4月11日
| カテゴリ: Deployer
PHPのデプロイメントツールDeployerを実行すると下記のエラーが出る事があります。
```language-bash
$ dep deploy
Deploy locked.
Execute "dep deploy:unlock " to unlock.
```
## 原因
Deployerはデプロイメントを実行時に多重実行されな...
## 事象
PHPのデプロイメントツールであるDeployerを実行したところ、にエラー「Call to undefined function Deployer\Utility\posix_setsid()」が発生し、デプロイが行えなかった。
## プログラム
エラーが出る最小のプログラム(deploy.php)は以...
[MySQL]sakilaサンプルデータベースを非対話で作成する
2018年4月10日
| カテゴリ: MySQL
MySQLが提供しているサンプルデータベースのsakilaを非対話で作成する方法です。
## sakilaサンプルデータベースを作成する
mysql5.6以前を使用している場合は、mysqlコマンドの最後に指定しているパスワード指定(`-p`オプション)は不要かもしれま...
CentOS7.4にMySQL5.7をインストールする
2018年4月9日
| カテゴリ: MySQL
Vagrant上のCentOS7.4(bento/centos7.4)にMySQL5.7をインストールしたので、その時に実行したコマンドを残しておきます。
下記のコマンドを実行したのち、rootユーザの初期パスワードを設定する必要があります。
```language-bash
# インストール済み...
[PHP]Composer実行時に、エラー「sh: git: command not found」が発生する
2018年4月9日
| カテゴリ: composer
## 事象
PHPのComposerを実行時に、エラー「sh: git: command not found」が発生した。
```language-bash
[vagrant@localhost www]$ composer create-project fuel/fuel blog
Installing fuel/fuel (1.8.0.1)
Failed to download fuel/fuel f...
[PHP] 「composer create-project」でエラー「Could not delete ./」が出力される
2018年4月9日
| カテゴリ: composer
## 発生したエラー
composer create-projectを行ったら、以下のように`Could not delete ./`のRuntimeExceptionが発生する。
```language-bash
$ composer create-project fuel/fuel . -vvv
...
Executing command (CWD): git clone --no-checkou...
[勉強会メモ] 「形態素解析とは?」から始める自然言語処理実践入門
2018年4月8日
| カテゴリ: テック系
「形態素解析とは?」から始める自然言語処理実践入門
https://handsons.doorkeeper.jp/events/72427
## 日時と場所
```
日時:
2018-04-07(土)14:00 - 18:00
場所:
ピクスタ株式会社
東京都渋谷区渋谷2-12-19 東建インターナショナルビル...
[golang]goコマンドのオプションを確認する
2018年4月8日
| カテゴリ: golang
## オプションなしでgoコマンドを実行
プログラムgoをオプションなしで実行すると、コマンドの一覧が表示される
```language-bash
$ go
Go is a tool for managing Go source code.
Usage:
go command [arguments]
The commands ...
## インストール
```language-bash
brew install docker
brew cask install docker
```
## バージョンを確認
```language-bash
$ docker -v
Docker version 18.03.0-ce, build 0520e24
```
## Docker関連の情報を確認
```language-ba...
Macでダイアログをキーボードだけで操作する。[2018年版, High Sierra]
2018年4月6日
| カテゴリ: Mac
macOSで、ダイアログが表示された時にキーボドだけで操作する方法を説明します。
※本作業はHigh Sierraで確認しています。
## 設定手順
画面右上のアップルメニューより、`システム環境設定`をクリックします。
一覧から`キーボード`をクリッ...
エンジニアがMacを買った時、brewでインストールすべきパッケージ達
2018年4月6日
| カテゴリ: Mac
|
macOSのパッケージマネージャであるbrewを使って、主にエンジニアがインストールしておいた方が良いパッケージの一覧です(自分がインストールしたモノ一覧の忘備録です)。
```language-bash
# homebrew自体のインストール
/usr/bin/ruby -e "$(curl...
[golang] Go言語の正規表現検索で大文字小文字を無視して検索( iスイッチ)
2018年4月6日
| カテゴリ: golang
PHPやPerlなどの言語では正規表現検索次に、大文字小文字を無視するiスイッチというものがあり`/expression/i`のような形で、指定することができます。
Goで同じことを行う場合、正規表現の先頭に`(?i)`と記載します。
## プログラム
```language...
[golang] Go言語でテキストの内容に行番号をつける(cat -n)
2018年4月6日
| カテゴリ: golang
Go言語で、Unixの`cat -n`コマンドのように、標準入力より入力されたテキストに行番号をつけるプログラムです。
ファイルから1行づつテキストを読み込むにはbufio.NewScanner()を使うと便利です。また、標準入出力はio.Stdin, io.Stdout, io.Stderrを...
macのプレビューアプリで、マークアップツールバーを常に出す方法
2018年4月5日
| カテゴリ: Mac
macOSでは、画像のプレビューや簡単な加工を行うために、"プレビュー"アプリがあります。
プレビューアプリから画像編集を行うためには"マークアップツールバー"から行うのですが、マークアップツールバーは起動時にデフォルトで表示されていません...
macbookでAndroid端末のファイル転送(MTP)を使ってUSBファイル送受信を行う
2018年4月4日
| カテゴリ: Mac
MacBookを使っていて、USB接続されたAndroid端末とファイルの転送を行う方法を説明します。
## Android公式のヘルプを確認する
下記のURLに、 MacとAndroid搭載端末間のファイル転送に関するオフィシャルのマニュアルがあります。
https://suppor...
[golang]Go言語でPHPのstr_repeat()関数相当の処理を行う
2018年4月3日
| カテゴリ: golang
Go言語でPHPのstr_repeat()関数相当の処理を行うには、strings.Repeat()メソッドを使用します。
## プログラム(Go言語)
プログラム
```language-go
package main
import (
"fmt"
"strings"
)
func main() {
// PHPのstr_repeat()相...
[golang] Go言語でPHPのimplode/explode相当の処理を行う
2018年4月2日
| カテゴリ: golang
go言語でPHPのimplode/explode相当の処理を行痛い場合は、stringsパッケージのJoin()、Sprit()メソッドを使用します。
## プログラム
```language-go
// test01.go
package main
import (
"fmt"
"strings"
)
func main() {
// PHPのimp...
Mac(High Sierra)で韓国語(ハングル)を入力する [2022年版]
2018年3月31日
| カテゴリ: Mac
|
macOSのHigh Sierraで韓国語を入力できるようにする方法を紹介します。
2022/01更新: 現在macOSのBig Surを使っていますが、同じ方法で韓国語の入力が可能です。
## 作業手順
画面左上にあるアップルメニューより、「システム環境設定」をクリッ...
Macでスクリーンキャプチャを取る方法
2018年3月30日
| カテゴリ: Mac
Macでスクリーンキャプチャを取るには、`Command + Shift + 4`のキーを押します。
そこからさらに`Space`キーを押すと、マウスカーソルがカメラのアイコンに変わり、特定のウィンドウのみをキャプチャすることができます。
また、ディスプレイ全体を...
[golang]エラー「non-declaration statement outside function body」が出るときにチェックすること
2018年3月30日
| カテゴリ: golang
Go言語でプログラムをコンパイルしたとき、下記のエラーが出ることがあります。
```language-bash
go build test.go
syntax error: non-declaration statement outside function body
```
このエラーは、ファイル内にpackage定義を複数回行ったとき...
MacでPageUp、PageDown、Home、Endキーを使う
2018年3月30日
| カテゴリ: Mac
MacでWindowsのPageUp、PageDown、Home、Endキーに相当するキー入力を行うためには下記のショートカットキーを使用します
```
Page Up
-> fn + ↑キー
Page Down
-> fn + ↓キー
Home
-> fn + ←キー
End
-> fn + →キー
```
[Anki]Window版のAnkiでカード登録時に、予期しないdivタグが入るのを防ぐ
2018年3月27日
| カテゴリ: Anki
Window版のAnkiでカードを登録すると、入力したデータがdivタグで囲まれてしまうことが有ります。
## 原因
この原因ですが、複数行のデータを登録時にそれぞれの行が自動でdivタグで囲まれるためです。
ちなみに、各行を自動でdivタグで囲むのはWin...
[Angular]"No provider for xxx"エラーが発生するときの対処法
2018年3月26日
| カテゴリ: Angular
## 発生したエラー
app.component.tsで、コンストラクタにHttp型の引数を指定するとNo provider for Http!エラーが発生した
### エラー内容
```language-typescript
ERROR Error: No provider for Http!
at injectionError (reflective_error...
MacBookを買った時に表示される「COUNTRY KIT-JPN」は何?
2018年3月26日
| カテゴリ: Mac
AppleのサイトでMacを買うと構成一覧に"COUNTRY KIT-JPN"というものが出てくる場合があります。
このCOUNTRY KITは何かというと、電源タップのコンセント形状が日本形式になっていることを意味しています。
キーボードの配列は"COUNTRY KIT"とは別に...
[Angular]TextAreaで、残り入力可能文字数を表示させる
2018年3月25日
| カテゴリ: Angular
Angularを使って、htmlのtextareaに入力可能な残り文字数を表示させるサンプルプログラムです。
残りの入力文字数が少なくなってきたら赤文字にして警告し、文字数オーバーしたら太字で強調します。
## プログラム
```language-typescript
import ...
## 発生した事象
formに設置したsubmitボタンのdisabled制御にFormのinvalidプロパティを使おうとしたが、下記のエラーが発生する。
```language-typescript
AppComponent.html:3 ERROR TypeError: Cannot read property 'invalid' of undefined
...