Yuya Sato さんのアバター 18views

awscliでEC2インスタンスを起動しステータスがrunningになるまで待つ

awscliからEC2インスタンスを起動するにはaws ec2 start-instancesコマンドを使用します。 これだけでもインスタンスは起動しますが、起動後ステータスがrunningになるまで多少時間がかかります。 スクリプトなどで 2017年8月18日
Yuya Sato さんのアバター 8views

[PostgreSQL] 対話形式でパスワードを入力しない

スクリプトでpsqlコマンドをワンライナーで実行したい時、PostgreSQLは対話形式でパスワードを聞いてきます。 また、MySQLのように-pオプションがありません。 PostgreSQLで対話形式でパスワードを入力しないようにするには 2017年8月16日
Yuya Sato さんのアバター 13views

[PHP] preg_matchで日本語を使う

preg_matchで日本語を使うには、パターン修飾子を正規表現文字列に付加します。 $search_string = '/検索する文字/u'; $target_string = '検索対象になっている文字列'; preg_match($s 2017年8月4日
Yuya Sato さんのアバター 27views

[Crowi] MarkdownでかけるオンプレWikiサービス

CrowiはMarkdownでWikiがかけるサービスです。 オンプレで構築でき、MongoDBとNode.jsが入っていることが前提条件です。 # インストール $ git clone https://github.com/crowi/c 2017年8月2日
Yuya Sato さんのアバター 8views

awscliからSESでメールを送信する

send_email関数でメールを送信する。 http://boto3.readthedocs.io/en/latest/reference/services/ses.html # -*- coding: utf-8 -*- import 2017年7月28日
Yuya Sato さんのアバター 14views

[RDS (MySQL)] Super権限操作で出たエラー

Amazon RDSを使用してMySQLを構築し、Super権限が必要な処理を実行しようとした所以下のようなエラーがでました。 ERROR 1227 (42000) at line 8: Access denied; you need (a 2017年7月26日
Yuya Sato さんのアバター 23views

[Nginx] 画像などの静的ファイルのキャッシュ設定

jpgやcssなどの静的ファイルをキャッシュするようnginxに設定するにはserverディレクティブに以下のような設定をします。 server { ... location ~ .*\.(html?|jpe?g|gif|pdf|png|c 2017年7月19日
Yuya Sato さんのアバター 33views

[git] 強制的にgit pullする

リモートリポジトリをpullしたいが、ローカルで適当にした作業が原因でpull出来ない時、 $ git fetch master $ git reset --hard origin/master 2017年7月18日
Yuya Sato さんのアバター 31views

[PHP] SOAP APIを叩く

RESTではなくSOAP APIをスクリプトから叩こうと思い調べました。 Pythonなどではsuds-jurkoといった外部ライブラリが有りましたが開発が終わっているようでした。 PHPを使うとSOAP Clientモジュールを使用して簡 2017年7月12日
Yuya Sato さんのアバター 44views

[AmazonLinux] yumでPHP 7.1をインストール

amzn-mainリポジトリを明示的にdisableする必要があったり、CentOSにインストールする時と比べると手間がかかります。 yum install http://rpms.famillecollet.com/enterprise/ 2017年7月11日
Yuya Sato さんのアバター 28views

[CentOS] yumでPHP 7.1をインストール

remiリポジトリを使用してPHP 7.1をインストールする。 $ yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm (CentOS7の場合はht 2017年7月11日
Yuya Sato さんのアバター 12views

[Python]コンソールに色付き文字を出力する

SUCCEED = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' print SUCCEED + 'Success!' + ENDC print WAR 2017年7月5日
Yuya Sato さんのアバター 34views

[MySQL]バイナリログの設定

差分バックアップなどに使えるバイナリログを設定するには以下のように設定します。 /etc/my.cnf [mysqld] ... # Binary log log_bin="/var/log/mysql/bin.log" ... ログディレ 2017年7月4日
Yuya Sato さんのアバター 5views

MySQL5.7のTDE

MySQL5.7にはTDE(Transparent Data Encryption)というデータ暗号化機能があります。 アプリケーション側で暗号化をしなくても、テーブルファイルなどを暗号化してくれます。 設定手順は以下のような感じです。 T 2017年6月30日
Yuya Sato さんのアバター 150views

[awk]ログから特定の範囲の日時のものを抽出する

/var/log/secureなどのログフィアルから、特定の範囲の日時を指定して、そのログだけを抽出する方法 $ awk -F - '"開始時間" < $1 && $1 <= "終了時間"' /var/log/s 2017年6月28日
Yuya Sato さんのアバター 11views

[Python] 長い文字列を改行して書く

pythonでrequestsモジュールなどを用いてparameterなどの値を設定したい時、追加したいparameterの値がたくさんあると文字列が長くなってコードが見づらくなる。 また、文字列内に変数を格納したいときなどはさらにややこし 2017年6月21日
Yuya Sato さんのアバター 8views

[bash] ファイルの先頭を飛ばす or 後ろを飛ばす

ファイルの内容などを読み込むときに、ヘッダーのような項目がかいてあるような行はスクリプトで処理する時に邪魔になるので、 tailコマンドで飛ばします。 # 先頭2行を飛ばす(3行目から表示) $ tail -n +3 hoge.txt # 2017年6月20日
Yuya Sato さんのアバター 10views

[Python] dictで順番を記憶する

Pythonのdictは順番が記憶されないので、forなどで回した時に追加した順では無い時がある。 PythonではOrderedDictを用いると順番が記憶される。通常のdictと同じようにhas_keyなどのメソッドも使用可能 from 2017年6月7日
Yuya Sato さんのアバター 12views

[Apache] TLSのバージョンによって処理を変更する

TLSのバージョンによって、他のページやサイトに遷移させたりする場合は、.htaccessに以下のような設定を記述する。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond 2017年6月7日
Yuya Sato さんのアバター 51views

[Python] pipで任意のディレクトリにライブラリをインストールする

Lambdaなどの開発をしていると、開発環境で書いたコードをawsにアップロードする場合があります。 この時外部のライブラリを使いたい場合はそのライブラリ関連ファイルも一緒にアップロードしなければなりません。 pipなどを使ってライブラリを 2017年6月2日
Yuya Sato さんのアバター 25views

[EC2] 仮想化タイプ

EC2には2つのか仮想化タイプが存在します。 PV (Paravirtual) 準仮想化方式。PV-GRUBという特別なブートローダーを使用して起動される。 HVM (Hardware-assisted VM) 完全仮想化。ベアメタルなどと 2017年5月26日
Yuya Sato さんのアバター 68views

Centosのシステムバックアップを取る

Centosのシステムバックアップを取るオープンソース・ソフトウェアとしてMondo Rescueがある( http://www.mondorescue.org/ )。 # repo追加 $ cd /etc/yum.repos.d $ wg 2017年5月24日
Yuya Sato さんのアバター 283views

DataTablesを使用してtableにページングやソート機能を付ける

Bootstrapなどでtable要素をいい感じに作れますが、ページングやソート機能、検索機能などをつけようとすると自分で色々といじっていく必要がありますが、DataTablesを使うとそのような機能を簡単に作ることが出来ます。 使用方法は 2017年5月17日
Yuya Sato さんのアバター 47views

[Python] 設定ファイルを扱う

Pythonのスクリプトなどで、アクセスキーやメールアドレス、パスワードなどの変数をスクリプトの直接書き込まずに、設定ファイルとして分離して扱うときにConfigParserモジュールを使用します。 設定ファイルの作成 from Confi 2017年5月12日
Yuya Sato さんのアバター 10views

[Apache] suEXECでCGIを実行するユーザを変更する

ApacheはCGIを起動する際デフォルトではApacheを起動しているユーザ(rootやapache)で起動します。 しかし、自前CGIなどを起動する場合などは思わぬ挙動を示して他ユーザのファイルを削除してしまったり、セキュリティ的に問題 2017年5月10日
Yuya Sato さんのアバター 187views

[Python] 文字列を正規表現で判定

reモジュールをimportします。 search関数で、文字列の中でマッチした箇所を返します。 import re hoge="sample1234hogesample5678" match = re.search("sample[0-9 2017年4月26日
Yuya Sato さんのアバター 16views

ファイルの途中の行に文字列を挿入する

echo "hogehoge" >> sample.txt とすると、ファイルの末尾に追加されるが、途中の行に追加したい場合は以下のようにする。 sed -e "12i hogehoge" -i sample.txt 12は追加 2017年4月25日
Yuya Sato さんのアバター 8views

ファイルから特定の文字列を含む行の行番号を取得する

ある特定の文字列を含む行がファイルの何行目にあるのかを知りたい時に使用する。 grep -e "特定の文字列" -n <対象ファイル> | sed -e 's/:.*//g' 2017年4月25日
Yuya Sato さんのアバター 51views

[PHP] コマンドライン引数からオプションを取得する

自作PHPスクリプトをCLIやcronなどから実行する際、様々な追加情報のためにオプションを指定することがあるときは、 getopt()関数を使用します。 $shortopt = ""; $shortopt .= "s:" #値必須 $sh 2017年4月18日
Yuya Sato さんのアバター 56views

Macでウィンドウを右寄せ・左寄せする

Windowsにあるアプリのウィンドウを右寄せ・左寄せ・フルスクリーン化する機能はMacにはありません。 Spectacleを使用するとそれっぽいことが出来ます。 デフォルトでは、 左半分: Opt + Cmd + <- 右半分: O 2017年4月12日