production.log

株式会社リブセンスでエンジニアをやっている星直史のブログです。

2018-01-01から1年間の記事一覧

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…

Re:VIEWで執筆とPDF出力を行い、印刷所に不備のない入稿をするポイントの紹介

技術書典5に参加したのですが、自分で本を作るのは初めてだったので、Re:VIEWの使い方から学び、入稿して印刷所のサポートの方から指摘を受けて再入稿して、やっと物理本を完成させることができました。 今回この記事では、Re:VIEWで執筆とPDF出力を行い、印…

技術書典5に参加したらスマホを買い換えることができました!

10月8日(月)に開催された技術書典5で出店者側として参加しました。今回は技術書典5の参加レポートと振り返り(KPT)について書こうと思います。

ハーフを走りきるために必要な装備と不要だった装備を紹介

会社の人がマラソンのためのトレーニングを行なっているらしく、この土曜日に20km走るとのことでした。 自分は、マラソン(ランニング)はメリットよりデメリットの方が多いと思っているのですが、走ってもいないのに主張するのは筋違いだと思い、自分もチャレ…

2泊3日 別府の湯巡り珍道中

1週間夏休みをもらったので、2泊3日で別府に行きました。 今まで、会社で温泉番長と名乗りつつも別府に行ったことがないモグリでした。 今回は別府の湯巡り珍道中のことを書こうと思います。

AWS EC2のルートボリューム(EBS)をダウンタイム0で拡張する方法

サービスを公開したと同時に、mackerelを導入してみました。 CPU, Memory, filesystemのアラートをデフォルトの閾値で設定した結果、一瞬でfilesystemのアラートが鳴りました。 すぐさま対応できなかったので、とりあえずアラートを止めるために閾値を変える…

mackerelをAWS OpsWorks カスタムクックブックでインストールする方法

これまで、Webサービスを作ったことはあれど、サーバーの管理/監視は構築したことがありませんでした。 手軽に導入したかったので、SaaS型サーバー監視サービスを導入しようと考えていました。 そこで、今回はmackerelを使って監視をしようと思います。また…

GitHubの草を60日間連続で生やしてわかった習慣化のコツ

最近個人プロジェクトの開発をしているのですが、気づけばGithubの草が60日間連続で生えていました。 60日間も毎日草を生やしていると、完全に習慣されたと思ったため、 今回はGithubの草を60日間連続で生やしてわかった習慣化のコツを紹介します。

【Rails】deviseが送信するメールをAWS SESから配信する方法

個人開発において、Railsのdeviseから配信されるメールは、これまでGmailを使用していたのですが、せっかくドメインを取得したので、AWS SESからメールを送信することにしました。 今回はRailsにおいて、deviseが送信するメールをAWS SESから配信する方法に…

AWS OpsWorks スタック におけるCustom Chef cookbooksを適用する方法

AWS OpsWorks スタックでは、Chef Supermarketで公開されているCookbooksを適用する方法もありますが、自前で作成したCustom Chef cookbooksを適用することもできます。今回はAWS OpsWorks スタックにおいて、自前で作成したCustom Chef cookbooksを適用する…

栃木県は奥鬼怒川の八丁の湯に行ってきました

会社の秘湯好きの方に「今まで行った中で一番良かった温泉を教えてください!」質問した時に、栃木県の八丁の湯が出てきたので、行ってきました!今回は奥鬼怒川の関東最後の秘湯 八丁の湯を紹介します。

WebdriverIOを使ったChromeによるE2Eテスト環境構築の手順 - Amazon Linux -

Amazon LinuxでWebdriverIOによる自動E2Eテストの実験をしようとしていたのですが、うまくGetting startedできませんでした。Linux環境においてWebdriverIOのGet Startedはやや説明不足感があるため、今回の記事では、Amazon LinuxでWebdriverIOを使ったChro…

Rails 5.2でActive Storage を使った画像のアップロードを試す

ひょんなことから、画像をアップロードする処理を書くことになりました。 これまで、Railsで画像アップロードといえば、CarrierWaveやPaperclipを使っておけば良いでしょ〜!くらいに思ってたんですが、せっかくRails5.2を使っているのであれば、Active Stor…

Rails5.2のcredential管理を試してみた

Rails 5.2でJWTとdeviseを使った認証の仕組みを作る機能を開発しているときに、Rails5.2からcredential管理が変更されたことに気づいたので、 今回はRails5.2のcredential管理の方法をざっくり説明しようと思います。

宮城県は作並温泉 鷹泉閣 岩松旅館に行ってきました!

出張で仙台に来たので、宮城の温泉に行かねばと思い、仙台駅から比較的アクセスの良い作並温泉に行くことにしました。 今回は作並温泉の元湯である作並温泉 鷹泉閣 岩松旅館に行きました!

ChromeExtensionのBrowser Actionsで格納したlocalStorageの値をBackground Pagesを使ってContent Scriptsからアクセスする方法

Chrome ExtensionのBrowser Actionsで認証リクエストし、レスポンスのJWTをlocalStorageに格納する処理を作っていました。 その後、さらに拡張してContent ScriptsでJWTを使って他のAPIリクエストをするときに、「あれ?localStorageのスコープ違くね?\(^o…

Railsでpreflightリクエストを処理し、no route matches optionsを回避する方法

前回の記事ではRailsを使って、APIの受け側を作りました。ただ、このままだとJSでフロントエンドからAPIに対してリクエストした場合、preflightリクエストが飛ぶので、No route matches [OPTIONS]エラーが返ってしまい、正常終了できません。今回は、Railsで…

【第五回】トスラブ館山ルアーナで一人開発合宿をしてきました

前回の一人開発合宿が1月だったので、そろそろ開発合宿したいな〜と思っていたので、行ってきました! 一人開発合宿も今回で5回目です。今回は、抽選の当選確率が10%台と言われるITSトスラブ 館山ルアーナの抽選が当たったので、そこにしました! ITSのトス…

Rails 5.2でJWTとdeviseを使った認証の仕組みを作る

最近フロントエンドからAPIを叩く実装における認証の仕組みをどうするか考えていました。 以前、AWS Cognitoを使った認証仕組みを作ったことはあったのですが、Railsの場合はどのようにJWTを扱うか知りたかったので、作ってみました。 今回は、タイトルの通…

栃木県は氏家の喜連川温泉郷 早乙女温泉に行ってきました

ひょんなことから、JR東日本のグリーン車乗車券の無料券をゲットしたので、最大限、得したいという貧乏根性出しまくりの旅行がしたくなったので、栃木県は氏家の喜連川温泉郷 早乙女温泉に行ってきました。

Redashのバージョンアップで消えたデータソースを復活させる方法

Redashのバージョン2系から3系にupgradeした際、DataSourceのプルダウンから色々なものが消えてしまいました。この記事はBigQuery, AWS Athena, Google Analytics, Google Spreadsheetを復活させる方法について書いています。

怒ってばかりの自分に怒りを感じたので、アンガーマネジメント入門を読みました

最近、自分の怒りを自分でコントロールすることが苦手であることに気付き、感情コントロールができないと人を動かす立場として相応しくないと考えました。怒りにもマネジメントする手法がある事を知ったので、学ぶ事にしました。今回は、アンガーマネジメン…

rakumoのカレンダー登録を効率化するための4つコツ

会社での予定管理はrakumoを使っていて、他のメンバーに「rakumo入れといて〜」という指示を出すときに、意図しない予定を入れてしまうことがあったりします。自分は業務上、rakumoを結構使っているので、この操作を知ってると便利だよ〜ってことが多々あり…