production.log

ピクスタ株式会社でエンジニアのマネージャーをやっている星直史のブログです。

技術

crontabで使用するエディタを変更する方法

新しくサーバーを立てた際、cron設定しようと思い、crontab -eをした時に、あ、あれ、、何このエディタ....って感じになり、エディタの設定を毎回変更するも、そのコマンド自体を覚えていないという由々しき状態になるので、メモとして残しておく

「伝説の外資トップが説く リーダーの教科書」を読みました。

会社の輪読会で「伝説の外資トップが説く リーダーの教科書」が題材となったので、読んだ感想をまとめます。この書籍はこれからリーダーになる人(目指している人)〜現在リーダーの人を対象に、 心構え、リーダーのあるべき姿、スキル、役割について、一章に…

【AWS CLI】OpsWorksAgentのインストーラがAgent installation failed.になる場合の対処方法

AWS 既存のEC2インスタンスをOpsWorksに登録する際、インストーラーを実行するのですが、Agent installation failed.になってしまいハマったので、対処方法を書きます。

技術誌に寄稿しました!テーマ選定、執筆の流れと使ったツールの紹介

技術評論社から発刊されているSoftware Designの2017年10月号に「サーバーレスで実現!素材集サービスを効率化した自動画像管理システムに学ぶ」というタイトルで寄稿しました! この記事では、記事執筆にあたり、テーマ選定、記事執筆の全体的な流れ、使っ…

【第三回】成田空港で一人開発合宿をしてきました

概要 雑誌の記事の執筆がいよいよ締め切りに迫ってきたので、一気に書き上げるべく、合宿を行いました。 開発合宿というより執筆合宿ですね。 合宿候補地はどんな感じで決めたの? 第一回目の合宿地が羽田空港で、だいぶ快適だったので、成田空港もきっとええ…

AWS Rekognitionで画像内の物体名を取得する方法

概要 AWS re:Invent 2016で発表された新機能の中にAWS Rekognitionという画像内の物体、シーン、および顔を検出するサービスが発表されました。 今更感ありますが、Rekognitionで画像内の物体名を取得する方法を書きます。 Lambdaでの処理 'use strict'; con…

【ServerlessFramework】lambdaでgmを使って画像加工をする方法

概要 ServerlessFrameworkにおいて、Lambdaで画像加工をする場合、Imagemagickかgm(GraphicsMagick)を使用することになります。 AWS公式ドキュメントではgmを使用しているので、今回はgmを使用してサムネイル作成処理について、書こうと思います。 ハマりど…

RedashでAWS DynamoDBに対してDQLを発行しデータ取得する方法

概要 表題の通りです。 RedashでDynamoDBからデータ取得する場合DQLという、SQLライクな書き方でデータを取得することになります。 今回はDynamoのIndexを指定して絞り込みを行う際に、ちょいハマりしたので、メモとして記録します。 AWS DynamoDBの設定 テ…

自前で立てた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まで書かなければならなく…

エンジニア版 人を動かすだと感じた 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の考え方という本を読んだの…