読者です 読者をやめる 読者になる 読者になる

production.log

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

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するときの説明です。 今日は上記の図…

開発マネージャーのオレが実践している科学的なストレスコントロール方法

背景 直近18ヶ月の間にメンバー => リーダー => マネージャーと一気に職位があがり、 ストレスの質の違いを実感し、うまくストレスを逃していかないと消耗戦になると感じたため、 ストレススコントロールについて模索してきました。 最近、ストレスコントロ…

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}など)を使用する場合、 フレームワークの挙動として${文字列}の値を設定した変数に置き換えようとする動きをするので、そ…

羽田空港で一人開発合宿をしてきました

概要 最近新たにWebサービスを作ろうとしているのですが、ここ一ヶ月、毎週末自宅で缶詰になって開発を続けてきました。 一ヶ月も同じ環境で作業をしていると、どうしても気分転換がしたくなるので、どこか違う環境で集中して作業したいと思い、 羽田空港で…

シリコンバレー式 自分を変える 最強の食事のランニングコストを極限まで落とす方法 コーヒー編の更新

概要 以前の記事(シリコンバレー式 自分を変える 最強の食事のランニングコストを極限まで落とす方法)で全体的にコストを下げる方法を書きましたが、今回はコーヒー編でアップデートがあるので、その紹介をします。 前回紹介したスペシャリティーコーヒー 前…

自分が実践しているタスク管理の方法を紹介

自分が実践しているタスク管理の方法を紹介。脳内メモリは有限であるので、カテゴライズや優先度付けのルールがシンプルかつ、頭の外に追いやり、主タスクに集中する方法です。

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

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…

Fitbit Charge HR™を購入して一年経過したので使用感をまとめてみる

概要 Fitbit Charge HR™を購入して一年経過したので使用感などをまとめてみようと思います。 Fitbit Charge HR™とは ワイヤレス心拍計 + 活動量計リストバンド ChargeHRで生活のリズムを感じよう。手首に巻くだけで継続的・自動的に心拍数とアクティビティを…

@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予算を策定していく中で、こんな金額がいきなり身に降りかかってきたら生命保険に入ることを考えてしまうだ…

酒豪伝説飲んで飲み会に参加したら逆に酔えなくてハングオーバーしてしまう話

今回は、酒豪伝説という、飲み過ぎ/二日酔いを予防する魔法のアイテムを実際に使ってみた感想を書いていきます。 ※二日酔いになりたくないなら飲むなよ!というツッコミはなしで。 酒豪伝説とは? ただ、ウコンの粒と薬草を粒にしたものが、5,6粒入っている小…

口のドブ臭さがなくなる、虫歯にならないオーラルケアを紹介

2015年1月、12年ぶりに歯医者に行ったら虫歯が18本(!)あり、1年かけて虫歯治療を終えました。 その後はかなーり意識高く歯磨きを頑張るようになり、定期検診でも口の中の状態を褒められるまでになりました。 今回は、それなりに褒められるレベルになるために…

シリコンバレー式 自分を変える 最強の食事のランニングコストを極限まで落とす方法

前回の記事で、シリコンバレー式 自分を変える 最強の食事の実践とその結果について書きましたが、実践するには高品質高価格の食品を購入せざるを得ず、食費が驚くほど高くなるので、 今回はランニングコスト(主にバターコーヒー代)を極限まで落とす方法を紹…

シリコンバレー式 自分を変える 最強の食事 という本を実践したら体脂肪が2ヶ月で8%も落ちた

シリコンバレー式 自分を変える 最強の食事という本を実践したら体脂肪が2ヶ月で8%も落ちたので、 本の内容や実践方法を紹介します。 本内容 この本はざっくりいうと生活改善本です。 生活改善の中には下記のものが含まれています。 食事管理(完全無欠ダイエ…

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を読んでみました。今回はその感想を書きたいと思います。

脳が認める勉強方法 という本のハウツー部分を要約しました

脳が認める勉強方法という本を読んだのですが、この本はページ数が350ページ程度結構厚いです。 また、本の構成として、勉強法の効果を証明するための説明が大部分を占めています。 具体的にどのように勉強すればよいか?という点だけが知りたい人にとっては…

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…

Amazon CloudSearch における適切なスケーリングオプション(Scaling Options)を紹介します

概要 Amazon CloudSearch における適切なスケーリングオプションの設定を紹介します。 設定できる項目は下記の通りです。 インスタンスタイプ レプリケーション数 パーティション数 以下、公式ドキュメントより引用 ドメインのスケーリングオプションを設定…

スクラムのレトロスペクティブをKPTで振り返りするときに参考になった本を紹介します

スクラムを導入してなんとか1スプリントが終わったばかりなのですが、 レトロスペクティブ(振り返り)の具体的な進め方がわからなかったので、 「これだけ!KPT」という本を読んだらスムーズに進行できたので、 紹介しようと思います。 KPTをするの時のバイブ…

これからスクラムを始める人へのお勧め本を紹介します

ひょんなことから、会社でスクラムを使って開発をすることになり、スクラム関連の本を読み漁ったので、 これを機会にお勧め書籍を紹介します。 アジャイル手法 アジャイルサムライ アジャイル開発手法についてまとめた本。 これを読んだ時は、スクラムの存在…

Red Hatにberkshelfを入れようとした際に発生するエラー回避方法

背景 こちらを参考にchef, knife-solo, berkshelfをインストールしようとしたときに、berkshelfがエラーでインストールできなかったので、 その回避方法を書く。 対象サーバー AWS EC2インスタンス:RHEL-6.5_GA-x86_64-4-Hourly2 (ami-35106f34) 実行コマン…

Railsアプリケーションにおいて、ファイルアップロードする際のウイルスチェックをClamAVで実装する

背景 手軽にファイルアップロード機能を実装するときにCarrierwaveをよく使うんですが、 ひょんなことから、アップロードされたファイルのウイルスチェックをする必要がでてきたので、 チェックするまでの手順を、ClamAVのインストールとチェック方法を主に…

EC2上でrails4.2.1のWebrickを起動後、tcp port 3000番でアクセスできなかった時の対応

概要 新たなサービスを立ち上げるならRubyもRailsも最新が良いよね〜ということで、 Ruby 2.2.2 Rails 4.2.1 で環境を作り、Webrickを起動してhttp://#{ip}:3000でアクセスしよ〜と思ったところ、 なぜか、アクセスできなかったので、その時の対応方法を書き…

ActiveRecordのコールバックにハマったでござる

無限ループに泣く class Hoge < ActiveRecord::Base before_update :update_hoge!, if: :fuga_changed? private def update_hoge! hoge = true save! end end Hoge.find(1).update_attributes!(fuga: true) コールバックが発火しない class Hoge < ActiveRec…