Yuya Sato さんのアバター 4views

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

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

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

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

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

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

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

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

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

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

[EC2] 仮想化タイプ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SierraでKarabinerのVi Modeによるカーソル移動を行う

KarabinerのVi Modeによって、Macでのカーソル操作をCommand + hjklによって作業していた。 OS SierraではKarabinerが対応していなく、現状Karabiner Sierra版は出ていない。 そこで、 2017年4月11日
Yuya Sato さんのアバター 28views

[Python] 余分な空白や改行文字を取り除く

Pythonではstrip()関数で指定した語を文字列から削除することができます。 このstrip()関数では引数になにも加えないと、空白及び改行文字を取り除いてくれます。 hoge = " hugahogehoge¥n" hoge.str 2017年4月5日
Yuya Sato さんのアバター 18views

[rsyslog] 特定のログを別のログファイルに記録する

rsyslogでログを取っていると、同じファシリティのログでも監視対象として重要なものとそうでないものが混在している場合がある。 そこで、監視対象をデフォルト設定のログファイルに記録し、そうでないものは別のファイルに記録する設定をする。 r 2017年3月29日
Yuya Sato さんのアバター 12views

[SSH] 鍵認証のみによる接続の設定

sshにおいて、パスワード認証をやめて鍵認証による接続のみを受け付けるには、設定ファイルである/etc/sshd/sshd_configに以下のような設定をします。 # 鍵認証の設定 RSAAuthentication yes Pubkey 2017年3月29日
Yuya Sato さんのアバター 17views

[MySQL] シェルからmysqlプロンプトに入らずにコマンド実行

シェルスクリプトなどで、mysqlの情報を知りたい時に、mysqlプロンプトに入らずにコマンドを実行するには-eオプションを使用します。 $ mysql -uroot -e "show status;" 2017年3月24日
Yuya Sato さんのアバター 20views

[Python] マルチプロセス処理

Pythonでマルチプロセス処理を行うときはmultiprocessingモジュールを使用する。 from multiprocessing import Process def childProcess(data): print "Hell 2017年3月22日
Yuya Sato さんのアバター 9views

[PHP] 歯抜けの配列のインデックスを連番にする

PHPでarray_diff()関数などを使用していると返り値の配列が歯抜けの場合がある。 このような配列は、array_merge()関数で連番のインデックスに直すことができる。 <?php $array[3] = "Rick"; 2017年3月22日
Yuya Sato さんのアバター 27views

[Python] print出力先の変更

Pythonのprint文は通常標準出力に出力されますが、これをファイルに変更します。 f = open("hoge.txt", 'w') print >> f, "hogehoge to file" f.close() 2017年3月15日
Yuya Sato さんのアバター 78views

VimでEscを使わない

vimを操作する時、インサートモードからノーマルモードに遷移する際にはEscキーを使用しますが、キーボードに置いている手の位置を大きく動かさないといけないのでなにかと億劫です。 vimではデフォルトでEscの代わりに以下のコマンドでノーマル 2017年3月8日
Yuya Sato さんのアバター 38views

SNSでメールを送信

Lambdaなどで処理を実行した後に簡易的にSNSメールを用いて通知を行う場合が多々あるので、 テンプレート用に作りました。 import boto3 def send_mail(region_name, topic_arn, subjec 2017年3月3日
Yuya Sato さんのアバター 136views

Nginxでリバースプロキシを構築する

Apacheで動かしているWEBサイトの上にNginxをリバースプロキシとして動作させます。 さらに、リクエストURLをrewrite機能を使って書き換えます。 Nginxの設定 upstreamにApacheで動作しているWEBサーバを指 2017年3月1日
Yuya Sato さんのアバター 194views

WordPressの.htaccessを編集する

WordPressでは、パーマリンクなどの設定をWordPress管理画面上から行うと.htaccessを自動で書き換えます。 管理者が独自の設定を.htaccessに行いたい場合、この自動書き換えにより独自に設定した項目が上書きされてしま 2017年2月24日
Yuya Sato さんのアバター 37views

boto3を使いdynamoDBに上書きさせずにデータを保存

boto3を用いてDynamoDBにデータを保存させる時、put_item()関数を使用すると既存のデータが存在した場合上書きを行ってしまう。 # {key: "hoge", value: "hoge"}がすでにDynamoDB上に存在 t 2017年2月22日
Yuya Sato さんのアバター 162views

特定の行から特定の行までを抽出する

テキストファイルを操作する場合や複数行の文字列を操作する時、awkコマンドを用いることである特定の文字列が含まれる行から別の特定の文字列が含まれる行までを抽出することができます。 例えば、BEGINが含まれる行からENDが含まれる行までを抽 2017年2月15日
Yuya Sato さんのアバター 13views

tmux

ssh越しにサーバで作業をする時、複数の作業を行いたかったり何個かウィンドウを表示してコードを片方に出しておき作業したかったりする場合があります。 この場合ターミナルを複数立ち上げて都度sshアクセスする必要がありますが、tmuxを使用する 2017年2月10日