production.log

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

2年連続で栃木県は喜連川早乙女温泉に行ってきました

ひょんなことからJR東日本在来線のグリーン券が4枚手に入ったので、今年も栃木県は喜連川早乙女温泉に行ってきました。 無料のグリーン券なので、せっかくなら渋谷からグリーン券で行ける最遠の駅が候補になり、その周辺で有名な温泉地帯に行くことにしまし…

ReactNative + Expo製アプリをiOS / Android(Genymotion)エミュレーターで動作させる手順

業務やプライベートでReactNative + Expo製アプリをpullしてきた場合、コードを読むだけではなく、サクッとエミュレーターで動かしたいとことが多くあると思います。 今回は、ReactNative + Expo製アプリをiOS / Android(Genymotion)エミュレーターで動作さ…

SnapmartのWebサーバーにmonitを導入してunicornを不死鳥にした

Webサービスを運営していると、夜中にWebサーバーのプロセスが突然死してしまい、朝に気づくということが多々あります。 流石に人間が24時間365日監視しているのはツラいので、ある特定のプロセスが落ちたら自動で検知と再起動という処理を行いたいです。 今…

特定の名前のEC2のPublicIPを取得する方法

TV放映などで、一時的にスケールアップさせたい時に、オートスケールの機構がなければ職人による技が光ります。 今回は、スポットリクエストで増やしたEC2インスタンスのIPをAWS ESS access policyに登録したかったので、IPを取得する必要がありました。

MySQL Staging環境のDBをdumpしてローカル環境のMySQLにimportする方法

Snapmart社のstagingのDB環境は、AWS RDSを使用しています。 毎日24時にproduction環境のスナップショットからstaging用DBを作成し、update文で個人情報やメールアドレスなどをマスクした状態にしています。 また、stagingが配置されているVPCは社内ネットワ…

vimでsnake_caseをCamelCaseに置換する

RailsとJavaScriptを同時に扱っていると((Style Guideで記法が異なる言語を同時に扱っている場合))、snake_caseからCamelCaseに置換したい時がしばしば訪れます。 一つずつ修正した方が、人間の温かみを感じることができるコードになると思うのですが、置換…

よちよちReactNative #1 を開催しました!

ReactNativeを使い始めたものの、基本的に参考になる記事が少なくて詰みかけてしまったり、英語の記事がメイン(これはまだ良いけど)であったり、参考書が少ないので、初心者にはだいぶハードルが高いなぁと感じていました。 写真者同士で助け合ったり、気軽…

Expo + React Native + TypeScript環境を作る手順まとめ

React Nativeによるアプリ開発では、Expoを使うと中々捗るのですが、2018年11月3日にExpo SDKがv31.0.0にバージョンアップしました。このリリースの大きなポイントとしては、2018年9月にリリースされたReact Native 0.57に対応したことです。 React Nativeは…

Go言語でパッケージを作る方法

Goでスクリプトを書いていると、巨大なmain関数ができてしまったり、1つのファイルに色々な関数がごちゃまぜになることはよくあります。そこで、今回はGo言語のパッケージを作る方法について紹介します。

TreasureDataのCLIで各テーブルのスキーマを取得するためのワンライナー

TreasureDataを運用していて、存在するDBとその中のテーブルのスキーマを一覧で取得したいことがあったので調べて見ました。 GUI上からDBとテーブルを一つずつ確認するのはさすがにツラいのでサクッと見れる方法はこちらです。 `td db:list -f tsv | awk '{ …

LocalStackを使用してGoで書いたLambdaからDynamoDBを呼び出す方法

以前の記事でLocalStackをインストールしました。今回はLocalStackを使用してGoで書いたLambdaからDynamoDBを呼び出す方法を紹介します。

LocalStackのインストールからDocker Composeで動かすまでの手順

以前ServerlessFrameworkでLambdaからDynamoDBを呼び出す処理を書いていました。しかしServerlessFramework単体だと修正, デプロイ, 動作確認のビルドライフサイクルが遅くなる問題があります。 今回は、その問題を解消すべく、LocalStackのインストールから…

OKR(オーケーアール) シリコンバレー式で大胆な目標を達成する方法を読んだ感想や疑問

会社では目標管理の方法としてMBO((Management By Objectivesの略))を使っています。目標管理の手法はMBOの他にもOKRというものが存在することを知ったので、概要を掴むために[OKR(オーケーアール) シリコンバレー式で大胆な目標を達成する方法](https://amz…

技術書典5の戦利品である「完全SIer脱出マニュアル」を読みました

技術書典5の戦利品である「完全SIer脱出マニュアル」を読みました。過去の自分と同じような境遇の人や、SIerに所属しているが、この本を手に取ったら人生が変わる人がいそうだと感じたので、感想を書こうと思います。

Re:VIEWで書いた文章の校正をCircleCIとtextlintでGitHubのPRに自動コメントする仕組み

技術書典でRe:VIEWを使っていたものの、文章を書き、textlintを回すというCI環境を整えることができませんでした。また、このCI環境は、ブログ執筆においても有効であるため、このタイミングで構築することにしました。今回はRe:VIEWで書いた文章をCircleCI…