アクトインディ開発者ブログ

子供とお出かけ情報「いこーよ」を運営する、アクトインディ株式会社の開発者ブログです

morishita

AWS CDKでLambdaをデプロイしてみた。Layer付き。

morishitaです。 このエントリはアクトインディアドベントカレンダー2019の3日目です。 adventar.org CDK、便利ですね。 これまで、Lambda は Serverless Framework を使って開発してきたのですが、CDKでやるとどんな感じか試してみました。 作ったもの 習作…

Githubのラベル定義を宣言的に集中管理してみた

morishitaです。 当社で最も開発が活発なリポジトリはメインサービスであるいこーよのものです。 毎日、いくつものプルリクエストが登録されてはリリースされクローズしてきます。 プルリクエストの状態や重要度はラベルで表しています。 例えば次のようなラ…

Safariで「Preflight response is not successful」と言われたので対処した

morishitaです。 CloudFront + S3 で配信しているJSONファイルを別ドメインのJavaScriptで取らせようとしたら Preflight response is not successful というエラーが出てリクエストが失敗するという事象があったので対処しました。 発生したのは PC、iOS、i…

Github Actions で Nuxt.js のSPAにJestとESLintを実行してみた

morishitaです。 毎月第3土曜日にお得クーポンを配布しているいこーよ こどもBIRTHDAYはいこーよの中にありながら、このコーナーだけ独立したNuxt.jsのSPAとなっています。 https://birthday.iko-yo.net/birthday.iko-yo.net 次の記事で紹介したようにJestで…

システム開発・運用に関連する各種サービスのステータスページまとめ

2019/08/23 発生したAWSの障害事故は当社のサービスにも影響しました。 幸いサービスが長時間に渡って止まるなどの大きな影響はなかったものの、一時アクセスしにくい状態になりました。 普段、AWSがダウンするなんてことはほぼ考えないで使っているので、突…

PWA Night #7 で「いこレポ」のPWAの取り組みを話してきました。

morishitaです。 2019/08/21 行われたPWA Night vol.7 ~PWAのミライや活用方法をみんなで考えよう~ で 「いこレポ」でのPWAで事例ということで話してきました。 pwanight.connpass.com これまでにこの関係では次のブログエントリを書きました。 tech.actin…

夏休みの工作教室「可搬なタスクボード」

morishitaです。 今回はいこーよチームで使っているタスクボードの作り方、どのように使っているかについて紹介します。 材料・道具 必要な材料は次のとおりです。 スチレンボード 付箋 マスキングテープ マグネットクリップ(オプショナル) スチールプレー…

AWS CDK で IAM ユーザを作ってみる

morishitaです。 AWSのリソースを作るときにはコンソールをポチポチやるよりは Cloud Formation を使ったほうが楽に感じるようになってきました。 そんなところに aws-cdk が GA になりました。Typescript で Cloud Formation スタックが書けるということで…

GAS のライブラリを公開してみた

morishitaです。 既存のGASのプリケーションにSlackへの通知を追加したいなぁと思いました。 Incoming Webhook経由でSlackにメッセージを送るのはそんなに難しくないので、サラッと実装しても良かったのですが、汎用的な要件だしライブラリとして実装するこ…

Rubyどっちが速い?

morishitaです。 先日、Rubocop Performance の速度比較について3回に分けて書きました。 tech.actindi.net tech.actindi.net tech.actindi.net どんな言語でも多かれ少なかれあることですが、Rubyでも同じ結果を得るのに複数の実装方法があり、読みやすさ、…

Workboxのプリキャッシュの設定でハマった

morishitaです。 今回は Webpack(Webpacker)とWorkbox(Workbox webpack Plugins - GenerateSW plugin)の設定について書きます。 正確にはプリフェッチの設定というよりプリフェッチするファイルをCDNから取らせるためのURLの設定でハマりました。 多分、…

Amplify Console の Branch Autodetect でステージング環境を自動で作り放題

morishitaです。 以前、Nuxt.js のSPAの稼働環境としてAWS Amplify Console を紹介しました。 tech.actindi.net とても便利に使っているのですが、先日、次の機能追加があり、更に便利になりました。 aws.amazon.com 早速使って見たので紹介します。 Branch …

Codebuild のランタイムのアップデートでハマった

morishitaです。 先日、別のことでハマっていたときに「ビルド環境が古いせいではないか?」と思ってしまい焦ってCodebuild のランタイムを変更したら余計にハマったという話です。 当社でのCodeBuildの利用状況 本題に入る前にアクトインディでのCodeBuild…

AWS Chatbotを触ってみた

morishitaです。 AWSで様々なサービスを使っていて、常々不便に思っていたことがあります。 それは Slackに通知できない ということです。 もちろん、Lambda を使って Slack にメッセージを送るのは、難しくないしすぐできます。実際、Cloud Watch Alert の…

ネストしたリストで Vue.Draggable を使ってみた

morishitaです。 Vue.Draggableをネストさせて利用してみたので紹介します。 Vue.Draggable とは Vue.Draggable はVueアプリケーションでドラッグドロップ操作を実現するのにとても便利なコンポーネントライブラリです。 単に編集対象のリストを表示して、そ…

Rubocop Performanceを測ってみた。後編

morishitaです。 前々回、前回から続くrubocop-performanceの指摘事項について盲従せずに確認してみるシリーズの最終回です。 前編、中編はこちらです。 tech.actindi.net tech.actindi.net 計測について 計測には BenchmarkDriver を利用しました。 Rubocop…

Rubocop Performanceを測ってみた。中編

morishitaです。 前回のエントリーの続き、rubocop-performanceの指摘事項について盲従せずに確認してみるシリーズの2回目です。 前編はこちら。 tech.actindi.net 計測について 計測には BenchmarkDriver を利用しました。 Rubocopのドキュメントに bad と…

Rubocop Performanceを測ってみた。前編

morishitaです。 以前、弊社のWebエンジニアキエンが次のエントリで紹介した prontoによる自動レビューですが、今ではほかのRailsアプリケーションにも導入して使っています。 tech.actindi.net うっかりしたコードを書くと容赦のない指摘コメントが付きます…

NuxtアプリケーションをJestでテストする

morishitaです。 このところNuxtのSPAを作っていました。 次のエントリで紹介したものに手を入れていたのですが、このときにはテストを書いていませんでした。 tech.actindi.net 今回はちゃんとテストも書こうと思ってやってみました。 いくつかすんなり行か…

clasp push でプッシュできないファイルがあると思ったら、仕様が変わってた

morishitaです。 最新のclaspでは .claspignore を設定しないと clasp push でプッシュされないファイルがあるよって話です。 以前自分が実装したGASのアプリケーションを機能拡張することになりました。 次のエントリで紹介したスプレッドシートをJSONにし…

Nuxt.jsのネストした動的ルーティングで困ったので調べてみた

morishitaです。 SPAモードで動作するNuxtアプリケーションでネストした動的ルーティングの動作が思ったのと違ったので調べてみました。 やりたかったこと Railsのノリで次のようなパス階層をNuxt.jsでやりたいと思いました。 パス 説明 / サイトトップ。 /g…

TypescriptのGASをJestでテストする

morishitaです。 時々、業務で使うツールをGASで作ります。 これまでのものはキャンペーン対応のものなど使い捨てとまでは言わないまでも、短い運用期間を想定したものでした1。 サービスレベル的にはベータレベルですが、少し運用期間が長くなりそう、かつ…

Echo Show5 が届いたので試してみた

morishitaです。 Echo Show5が発売されました。 手元にも届いたので試してみました1。 Echo Show 5 について 2019/06/26 発売の新しいAmazon製 Alexa端末です。 1万円を切る値段で、ディスプレイ付きのEchoデバイスでは最も安いモデルになります。 Echo Show…

Vue.jsでWeb Componentを作ってみた

morishitaです。 先日、Web Componentついて書きました。 tech.actindi.net 多くのブラウザで動作できるようになってきていることは確認できました。 ただ、実装方法についてはもっと良い方法がないものかと思いました。 と思っていたら、Vue.jsが Web Compo…

Web Componentsを試してみた

morishitaです。 プログラムを部品化して再利用したい。 コードを書く人間にとってはいつも考えていることですし、永遠のテーマなのではないかと思います。 オブジェクト指向はクラスとしてパッケージしたコードを再利用する仕組みを提供します。関数型言語…

Multi-stage build でNode.jsのインストールをちょっぴり効率化する

morishitaです。 Dockerコンテナは1プロセスだけ動作させるのが基本なので、複数の言語実行環境をインストールする必要はほとんどないです。 ただ唯一、例外かなと思うのがNode.js。 Webアプリケーションを開発する場合、それほどリッチなUIでなくても多か…

VSCode の Remote - Containers 拡張を試してみた

morishitaです。 先日リリースされたVisual Studio Code May 2019で Stable でもRemote Developmentが使えるようになりました。 これはExtension Packで、次の3つの拡張を含んでいます。 Remote - SSH - Visual Studio Marketplace Remote - Containers - Vi…

Web Share APIを試してみた

morishitaです。 いこーよやいこレポでは、情報を共有してもらいやすいようにシェアボタンをページに置いています。 シェアボタン 現状はTwitterやFacebookなど各サービスごとにシェアボタンを用意していますが、 モバイルに於いてはWeb Share APIを使っても…

Nuxt.jsのSPAをAmplify Consoleでホストする。めっちゃ簡単だった!

morishitaです。 以前、次のエントリを書きました。 tech.actindi.net このとき作ったNuxt.jsのアプリケーションはその後、 リニューアルして2019年4月からはいこーよ!こどもBIRTHDAYとして利用しています。 https://birthday.iko-yo.net/birthday.iko-yo.n…

Cloudformation 入門してみました

morishitaです。 これまで、なんかめんどくさそうでCloudfrmationは避けてきました。 ElasticBeanstalk や Serverlessフレームワークは裏側でCloudFormationが動くので、間接的には使ってきました。 デフォルトで用意されないリソースを追加するのにちょっと…