macOSで外部接続したディスプレイを、メインのディスプレイとして使うためには、下記の設定を行います。 ## 作業手順 右上のアップルメニューより、システム環境設定->ディスプレイを選択します。 配置タブを選びディスプレイの配置が表示されて...


pythonで、指定されたディレクトリがなければ作成するプログラムです。 下記のサンプルでは、outputというディレクトリの存在チェックを行い、なければ作成しています。 ## プログラム ```language-python import os if not os.path.exists('...


macでvagrant+NFSによるフォルダ同期を使用している時、`vagrant up`コマンドの実行時にrootパスワードを聞かれる場合があります ```language-bash $ vagrant up ... ==> default: Exporting NFS shared folders... ==> default: Preparing to edit...


JetBrainのDBツールであるDataGripでは、SQLを実行したときに最初の500のみを返してくれます。 通常はレスポンスが速くなるので500行ぐらいで十分なのですが、大量データを分析したいときにこのデフォルト値を変更したい場合があります。 結果セットの...


mongoDBからデータをcsv形式で出力したい場合、下記のようにmongoexportコマンドを使用すると良いです。 ```language-bash $ mongoexport --db DB_NAME --collection COLLECTION_NAME --csv --fields id,name,created_at > output.csv ```


PHPのfile_get_contents()では通常GETでリクエストを送信しますが、POSTでリクエストを投げたい場合があります。 このような場合はfile_get_contents()の第3引数を使えば良いです。 ```language-php


[linux]dateコマンドで日付を取得する

2018年6月16日 | カテゴリ: Linux
linuxやmacのコマンドラインから、日付を取得したい場合dateコマンドを使うと便利です。 ## YYYYMMDDHH24MISS形式で取得する 下記のコマンドで、年月日時分秒の値が取得できます。 ```language-bash date +'%Y%m%d%H%M%S' 20180616141949 ``` ...


macのsedでタブに置換できない

2018年6月6日 | カテゴリ: Mac
macのsedコマンドでカンマをタブに置換したかったのですが、\tを指定してもtに置換されてしまう問題に遭遇しました。 ```language-bash cat foo.csv | sed -e "s/,/\t/g" ``` この問題を解消するには、"\t"の代わりにターミナルやvi上でキーボードの...


bashで単発で特定のコマンド群を実行したいときは、";"で各コマンドをつなぐことが多いですが、数が多い場合はbash関数の機能を使った方が見やすい。 ## 処理を関数の形でまとめる ```language-bash function func01() { echo "==============...


下記のコマンドでVagrantfile中にある"Vagrant"から始まる行の下に、定義を追加できます。 macで作業しているので、標準で入っているsed(BSDバージョン)ではなくgnu sedを使用しました。 ```language-bash brew install gnu-sed gsed -i -e '/^Vag...


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 (gcp)で、プロジェクトを削除するには下記の手順を取れば良いです。 - プロジェクトを選択し`IAMと管理 -> 設定`をクリック - `シャットダウン`のボタンをクリック - 確認ダイアログが出るので、プロジェクトIDを入力し`シ...


MySQLでユーザの情報を取得する方法です。 ## ユーザ一覧を取得する ```language-bash SELECT User, Host, Password FROM mysql.user; ``` ## ユーザ権限を確認する ```language-bash SHOW GRANTS FOR root@'%'; SHOW GRANTS FOR root@localh...


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 ...


macで`brew install git`コマンドでgitをインストースした場合、.bash_profileに下記の設定を書いておくと、コマンドの自動補完やプロンプトに作業中リポジトリのステータスが表示されるので便利です。 ## 作業手順 エディタで.bash_profileを開きま...


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 ``` 結果をシェルスクリプトなどで使い...


sedでファイルの最後の行だけを置換する

2018年5月26日 | カテゴリ: Linux, Mac | タグ:
sedでは`sed -e "s/before/after/g"`のように記載すると全ての行に対して文字列の置換を行うことがあります。 ですが、時にはファイルの最終行のみ置換したいなど処理範囲を指定したい場合があります。 このような場合はsedのアドレス指定の機能を使...


PHPでフォームに入力されたテキストを1行づつ処理させたい場合は、`str_replace()`と`explode()`関数を組み合わせると便利です ## サンプルプログラム 下記のプログラムは、GETパラメータで渡されたテキストを改行文字で区切って、1行づつ処理する...


MySQLではmysqlコマンドでDBに接続する時に、接続先DBの情報をコマンドラインのパラメータで指定することが多いです。 ですが、この他に`my.cnf`ファイルに接続情報を書いておき、記載のDBに接続する方法があります。 今回は、my.cnfファイルを作成...


Vagrantではvagrant-sshfsとういプラグインを使用することで、ホストOSとゲストOSのファイル同期にsshfsを使用することができます。 ## インストール vagrant-sshfsのインストールは、`vagrant plugin install`コマンドを使用します ```language-ba...


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秒に一回`.`を...


mac版のVisual Studio Codeを使っていてエディタ上にcliのターミナルを使いたい場合、メニューの"表示 -> 統合ターミナル"から開くことができます。 (ショートカットキーは、`ctrl + shift + @`です) 統合ターミナルを選択すると、以下のように...


 pythonでは他の言語で連想配列/ハッシュに相当するデータ構造として、辞書(Dictionary)型というものがあります。 pythonの辞書データを値の順や、キーの順でソートするサンプルコードを紹介します。 ## サンプルコード 変数`data`に入ったデー...


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コマン...


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キーバインドが使えなくなっている場合、プラグインが無効化されている場合があります。 ## 対...