production.log

ピクスタ株式会社で開発部の部長をやっている星直史のブログです。

技術

自前で立てたRedash(0.12.0+b2449)を最新1.0.3にupgradeする方法

概要 Redashが0.12.0の時に、AWS AMIから立ち上げたのですが、 この度、メジャーバージョンアップしたので、手動でupgradeした時のメモです。 手順もなにも、ドキュメントがあるのでその通りにやるだけですが、 コマンド実行する際に設定を変更する必要があ…

【ServerlessFramework】DynamoDB Streamsでデータの更新をトリガーにLambdaを動かす方法。

概要 表題の通り、DynamoDB Streamsでデータの更新をトリガーにLambdaを動かす方法について説明します。 AWSマネジメントコンソール上でのDynamoDB Streamsの有効化 まず、AWSマネジメントコンソールでStreamsを有効化する必要があります。 DynamoDB > Table…

【ServerlessFramework】S3のオブジェクト格納をトリガーにLambdaを動かす方法

概要 S3に何かしらのオブジェクトを配置したことをトリガーにLambdaを動かす設定について紹介します。 runtimeはnode.jsです。 lambdaの処理を書く lambdaにはトリガーが正常に動いていることだけを確認すれば良いので、 console.log("hello")とだけ書いてお…

【ServerlessFramework】AWS LambdaとCognitoで作るセキュアなS3へのオブジェクト格納

概要 ユーザーがアップロードした画像データをS3に保存するケースにおいて Serverless Frameworkを使用して、AWS API Gateway 経由しLambdaで処理をするときに、 Cognitoで認証したユーザーのIAMをSTSを使用してS3にPUTするときの説明です。 今日は上記の図…

Serverless Framework 1.10.2でAWS IAM変数(${cognito-identity.amazonaws.com:sub})を使用する場合の設定

概要 標題の通りですが、Serverless Framework 1.10.2において、serverless.ymlにAWS IAM変数(${cognito-identity.amazonaws.com:sub}など)を使用する場合、 フレームワークの挙動として${文字列}の値を設定した変数に置き換えようとする動きをするので、そ…

ファイル内の改行を置換するコマンド

2ファイル間で重複する / しない 行を出力する方法 こちらの操作をするときに、セットで、ファイル内の改行を置換するコマンドを調べることがあるので、 メモ程度に残しておく。 $ cat hogehoge.text 1 2 3 4 5 上記のファイルを1,2,3,4,5と出力したい場合の…

2ファイル間で重複する / しない 行を出力する方法

タイトルの通り、何気に結構使う処理だけど都度調べているからメモとして残す。 a.text と b.textが以下の内容の時、1と 2,3,4,5を出力したい場合 $ cat a.text 1 2 3 4 5 $ cat b.text 2 3 4 5 $ sort {a,b}.text | uniq -u # ユニークな行を出力 $ sort {a…

@t_wada さんの「Mac の開発環境構築を自動化する (2015 年初旬編)」をAnsible ベストプラクティスに則り書き換えてみた

Ansibleでmacの環境構築する際、t-wada さんの「Mac の開発環境構築を自動化する (2015 年初旬編)」を参考したのですが、Ansible Best Practicesに沿っていなかったので、書き直してみました。

Rubyで使われるコロンの意味を調べてみた

概要 Rubyを初めて触ったときに、(当時の自分が触っていた)C#とJAVAではコロンが使われておらず、 これはどのような意味なのかがよく話からたかったので、まとめてみました。 :symbol "symbol" こちらの違いについてまとめます。 Rubyにおけるコロンの意味と…

homebrewでinstallしたcurlがbrew cask install時のTLS1.2ではOSX標準のcurlが邪魔をしてうまく反映されなかった時の対処法

概要 homebrewでinstallしたTLS 1.2 接続できるcurlがbrew installでTLS1.2接続しなければならないパッケージのinstall時に、OSX標準のcurlを見に行ってしまい、うまくinstallできなかったので、その対処方法を書きます。 具体的には、brew cask install sou…

homebrewでinstlalしたOpenSSLが反映されず、OSX標準のOpenSSLが使用されてしまう場合の対処方法

概要 OSX標準のOpenSSLが古く、tls1.2で通信できず、curlが失敗する事案が発生してしまいました。 対処方法を調べても、 `brew update brew upgrade openssl brew link openssl --force で治りました^^ という記事が多かったのですが、上記の対応でもopens…

AWSアカウント開設直後 & EC2インスタンス立ち上げ直後に最低限行うべきこと

概要 以前からクラウド破産クラウド破産と耳に入ってはいたが、個人で利用しているAWSアカウントはほぼノーガードでした。 また、ピクスタの来期AWS予算を策定していく中で、こんな金額がいきなり身に降りかかってきたら生命保険に入ることを考えてしまうだ…

Re:dashのインストールから定期実行までの手順と使用感のまとめ

前回までの記事でWebサービスのデータ解析をする上で必要なデータソースから取り込む手順を書きました。今回は、それを定期的に実行する設定の手順と使用感などをまとめます。

GoogleAnalyticsからGoogleスプレッドシートに自動でデータを取得する

前回の記事では、Googleスプレッドシートの値をRe:dashに取り込む方法を紹介しました。 今回は、GoogleAnalyticsのデータをGoogleスプレッドシートに取り込む手順を紹介しようと思います。

Googleスプレッドシートの値をRe:dashに取り込む

Re:dashではDataSourceにGoogleスプレッドシートを指定することができます。Googleスプレッドシートからデータを取り込む場合、GoogleAPIConsoleからAPI Keyを発行するなど、手順が多かったので、今回の記事でまとめようと思います。

Re:dashでデータソースとしてMysqlを追加する

前回の記事でRe:dashを使えるようにしましたので、今回はDataSourceとしてMysqlを追加してみます。

データ可視化, 共有プラットフォームとして人気のRe:dashをAWS EC2で試してみるまでの手順

うちの会社では社内のユーザーがMysqlのデータから何らかの数値をグラフで確認する画面やGoogle Analyticsの数値をGoogle スプレッドシートに貼り付けてグラフ化するということが数多くあります。正直Railsで実装するとなると、viewまで書かなければならなく…

Qtがないとcapybara-webkitがbundle installできないので対処する方法

capybara-webkitをinstallするには、QtとXvfbをインストールする必要があります。この記事では、それら2つをインストールし、capybara-webkitをinstallできるまでにやるべきことを書きます。

エンジニア版 人を動かすだと感じた TeamGeekを読みました。

最近はコードより人とやりとりすることが多くなってきたので、TeadmGeekを読んでみました。今回はその感想を書きたいと思います。

Solr 4.10.4でSolrCloudを試してみました。

ピクスタの開発部で開発合宿を開催したので、Solr4からの新機能であるSolrCloudを試してみました。

Solr 4.10.4でレプリケーション(master-slave構成)を試してみました。

Solr4.10.4でレプリケーション(master-slave構成)について学びました。ピクスタの開発合宿のネタとしてやってみました。

Solr 4.10.4で分散インデクシングを試してみました。

Solr 4から登場したSolrCloudを今更ながら試してみることにしました。 今回の記事では分散インデクシング(Sharding)について触れようと思います。

「ついていきたい」と思われるリーダーになる51の考え方 を読みました。

ひょんなことから、リーダーポジションになり、色々勉強してきたのですが、いわゆる"理想の上司"的な人物像について書かれている本が多く、少し懐疑的になっていました。そんな時に「ついていきたい」と思われるリーダーになる51の考え方という本を読んだの…

上司のルール を読みました。

ひょんなことから、リーダーポジションについたので、まずは、理想のリーダー像を学ぶことを目的に上司のルールという本を読みました。今回はその感想を書きます。

人を動かす を読みました。

色々な人と接する機会が増えたので、今更ながら人を動かすを読みました。今回はその感想を書きます。

CircleCIで回しているRspecのテストを40%高速化しました

CircleCIで回しているRspecのテストを40%高速化しましたので、手順を紹介します。

スクラムのプランニングで見積もりと計画がうまくいかなかった時に参考になった本を紹介します

スクラムのプランニングで見積もりと計画がうまくいかなかった時に参考になった本を紹介します。 「アジャイルな見積もりと計画づくり」という書籍を読んだ感想をまとめました。

スクラムのレトロスペクティブをもっと掘り下げて学ぶときに参考になった本を紹介します

スクラムのレトロスペクティブをもっと掘り下げて学ぶときに参考になった本を紹介します。 「アジャイルレトロスペクティブズ 強いチームを育てる「ふりかえり」の手引き」という書籍を読んでの感想をまとめました。

Xcode7 で Buildしたときにyou must rebuild it with bitcode enabledと 出てしまう場合の回避方法

概要 Xcode7 で Buildした際に does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7 といわれ…

rbenvを使用したrubyのバージョン管理と最新状態に保つ方法

概要 rbenvのインストールと設定 rubyのバージョンの最新を取得 rbenv インストール $ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv $ mkdir -p ~/.rbenv/plugins $ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugi…