Quiver Export #ruby #markdown

Quiverのノートブックをテキストファイルにエクスポートするツールを作りました。 nori3tsu/unofficial-quiver-export Quiverの内部で保存しているjsonをパースしてテキストファイルにエクスポートするだけのツールです。Cronで定期的にクラウドストレージに…

-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

SSHログインでタイトルのエラーが発生するようになったときの解決方法。 Terminal 以下の設定のチェックを外す。 Preferences > Profiles > # Advanced # Set locale environment variables on startup iTerm2 以下の設定のチェックを外す。 Preferences > P…

Quiver: MacのMarkdown Editor #mac

MacのMarkdown EditorをQuiverに乗り換えたので紹介したいと思います。 Markdownいいですよね。簡単なメモから技術的なメモまでシンプルに書けるのでとっても気に入っています。 Macで使えるMarkdown EditorとしてKobitoの操作感が好きでずっと使っていまし…

Web APIを作る上で考えていること

ここ数年、Web API(以降API)を作る機会が増えています。例えば、スマホやシングルページアプリケーションのバックエンド,システム間のデータ連携などです。 これらのAPIを複数の言語やフレームワークで実装してみましたが、個々の機能を実装する前に考えるべ…

Java+RSA公開鍵暗号化 -> Ruby+RSA秘密鍵復号

JavaからRSA公開鍵で暗号化したデータをRubyからRSA秘密鍵で復号するサンプル。 鍵の保存 require 'openssl' OpenSSL::Random.seed(File.read("/dev/random", 16)) rsa = OpenSSL::PKey::RSA.generate(2048) # 秘密鍵を保存 File.open("private_key.pem", "w…

VarnishのコンパイルでError 1

エラーメモ 環境 CentOS 6.5 Varnish 3.0.6 現象 Varnishをコンパイル中に以下のエラーが発生。 varnishadm.c: In function ‘interactive’: varnishadm.c:234: error: ‘rl_already_prompted’ undeclared (first use in this function) varnishadm.c:234: err…

Vagrant上のCentOSでhttpd.confをVagrant共有ディレクトリのシンボリックリンクにしているとOSブート時にhttpdが自動起動しない #vagrant #apache

これはApacheに関わらず、Vagrant共有ディレクトリにサービス起動に必要なファイルを配置している場合に発生する現象です。 解決方法を考えてみましたが、起動スクリプトを変更するという微妙な方法になりました。 どなたか良い解決方法をご存知なら教えてい…

GlusterFSでpeer probe: failed: Probe returned with unknown errno 107 #glusterfs

原因と対策をメモします。

New RelicのAdpexについて #newrelic

公式ページから必要な部分だけメモ。 https://docs.newrelic.com/docs/site/apdex-measuring-user-satisfaction

tmuxinatorでcan't find pane: 1 #tmux

原因と対策をメモします。

Vagrantの共有フォルダをApache(Nginx)のDocumentRootに指定するとレスポンスがおかしくなる奇妙な現象の解決方法 #vagrant

今まで遭遇したことのない奇妙な現象でかなり戸惑ってしまいましたのでメモしておきます。

Heroku Request ID #heroku

Heroku Request IDは1リクエスト毎にユニークなIDをHeroku Routerのログに出力する機能です。このIDはHTTPヘッダにも設定されるので、アプリケーション側でログ出力しておくと、Heroku Routerとアプリケーションのログの結びつけが容易になります。この機能…

Javaヒープ領域の使用量と容量をコマンドラインから取得する #java

JDKに標準で入っているjstatコマンドを使います。jstatコマンドではJavaヒープ領域中のNew領域・Old領域・Permanent領域の使用量・容量・最小容量・最大容量などを取得することができます。 ※ 2015/06/24追記: こちらはJava7までのヒープ領域についての記事…

Mac OS Xでbase64デコード #mac

mac

Linuxの場合は-dですがMac OS Xだと-Dを使うようです。 エンコードはできるがデコードでエラー発生 $ echo "a" | base64 | base64 -d Dec 4 15:36:21 mac.local base64[39990] <Info>: Read 5 bytes. Dec 4 15:36:21 mac.local base64[39990] <Info>: Wrote 8 bytes. WVF</info></info>…

bashの変数($,ダラー,ドル)まとめ

書式説明 $?直前に実行したコマンドの終了ステータス $@スペース区切りの実行引数 $*変数$IFS区切りの実行引数 $0ファイル名 $n実行引数のn番目の値 ${@:n}スペース区切りの配列のn番目以降 ${@:n:o}スペース区切りの配列のn番目からo番目 $$プロセスID ${…

iframe内のオブジェクトをデベロッパーツールのコンソールから操作する #html #javascript

クライアントサイドのJavascript開発では、各ブラウザのデベロッパーツールに付属している対話型のコンソールを使い、状態を確認しながら開発する方法がとても便利ですが、iframe内のオブジェクトを呼びだそうとしても、Same-Origin Policyの制約などでオブ…

Vagrantのbox名を変更する #vagrant

実はboxの実態をリネームするだけでbox名を変更することができます。 boxの実態は$HOME/.vagrant.d/boxesにインストールされています。 $ cd ~/.vagrant.d/boxes/ $ mv {old} {new} あとはvagrant initで新しいbox名を指定するだけです。 $ vagrant init {ne…

Vagrantのゆるい使い方 #vagrant #linux

VagrantはOSに依存しない開発環境を手軽に管理・配布することができるツールです。 私の環境の場合、開発環境にありがちな問題への対処としてVagrantを導入することにより、いくつかの問題を解決することができました。 開発環境構築の手順書を作成したいけ…

Jenkinsのタスクでシェルスクリプトの終了コード1が返却されても処理を続行する #jenkins

Jenkinsタスク内に設定したシェルスクリプトは/bin/sh -xeで実行されるため、コマンドの途中で終了コード0以外が返却されるとタスクがエラーとして終了します。通常はこの挙動で問題ないのですが、場合によりそのまま処理を継続させたいこともあります。解決…

Herokuの1dynoのCPUコア数 #nginx #heroku

Nginxのworker_processesには通常CPUのコア数を設定しますが、heroku上に配置したNginxの場合1dynoに割り当てられているCPUコア数がわからなかったので調べてみました。 Stack Overflowに同じように悩んでる人が居ました。 同様にheroku run コマンドでコア…

Gitコマンドのハイライト表示 #git

Git

Git の diff を美しく表示するために必要なたった 1 つの設定 #git こちらの記事を見かけて設定してみたら私の環境(OS X Mavericks)ではなぜか出来ませんでした。調べてみたらgit configでcolor.uiを設定することにより近いことができました。ハイライト表示…

Macがより快適になるアプリケーションと各種設定

購入してから放置していたMacBook Air (11-inch, Mid 2011)をiOS開発のためにセットアップしてみたら、なぜ今まで使ってなかったのかと後悔してしまうくらいに快適です。Macに乗り換えた方々のWindows要らなくなったという言葉はにわかに信じられませんでし…

CentOS6+ownCloud+Nginx+spawn-fcgiでプライベートDropboxを構築 #owncloud #dropbox

ownCloudはDropboxのクローンです。Dropboxと同様にWindows,Mac,LinuxやiPhone,Android用のクライアントもあり、非常に便利です。 今回はCentOS6にownCloudを構築する方法をご紹介します。

VirtualBox上のCentOSのディスク容量を拡張する #virtualbox #centos

WindowsのVirtualBoxにCentOSを入れていますが、長く使っているとディスク容量が足りなくなったので拡張しました。方法をメモします。

fluentdのmessageにtimeフィールドを残す #fluentd

fluentdのin_tailでパースされたメッセージは time,tag,message に分割されて次のプラグインまで流れますが、その際にmessageにtimeフィールドが残りません。これを残す方法はないか調べてみました。

siegeの-mオプションが便利 #siege

siegeの-mオプションを付けると、ログファイルにコメント付きで実行結果を残すことが出来ます。負荷をかけるシナリオ名を毎回指定することで、後々ログファイルから振り返りやすくなるため便利です。 ということで-mオプションの便利な使い方を簡単にまとめ…

nginx(ssl offload)+tomcat

nginxでssl offloadしてtomcatをバックに置く場合の簡易設定メモです。

javaのalternatives切り替えメモ

Linuxに新しいJavaを入れた場合、alternativesに追加してバージョンを切り替えています。 コマンドを毎回忘れるのでメモしときます。

curlでJDKをダウンロード

いつもなんらかのミドルウェアをインストールする場合はLinuxからcurlコマンドでダウンロードしてインストールしているのですが、 JDKは普通にcurlでダウンロードしてもHTMLがダウンロードされてしまいます。 curlでダウンロードする方法をまとめました。

AWS EC2にSSH接続出来なくなった場合の対処法

なんらかの原因(ssh_configの設定ミス等)でSSH接続出来なくなってしまい、もうどうしようもない場合の対処法です。