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

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

morishita

VSCode の Jupyter で Ruby を使う

morishitaです。 今回は小ネタを1つ。 VSCode の Jupyter 拡張は手軽に Jupyter Notebook が使えて便利です。 Python さえインストールされていれば、必要なライブラリがインストールされていなくても拡張子 .ipynb の Notebook ファイルを開いたときにダイ…

GAS で Zip 圧縮された Excel を解凍しようとしてエラーが出た話

morishitaです。 いこーよは外部サービスとの連携をいくつかしています。 チケット販売もいくつかのサービスとの連携をしています。 その様な連携先の1つに毎日の実績データの Excel ファイルをメールに添付して送ってくるものがありました。 担当者に毎日…

Rails の入力フォームのエラー表示のカスタマイズ

morishitaです。 Web アプリケーションではユーザの入力を求めるために入力フォームを実装することがあります。 HTML の <form> や <input>、<select> タグなどを使ってテキストボックスやラジオボタン、セレクトボックスなどで構成する UI ですね。 入力フォームの例 Rails では</select></form>…

textlint editor を使ってブラウザで textlint を使う

morishitaです。 久しぶりに文章校正ツール textlint について書きます。 textlint については過去に2回取り上げました。 tech.actindi.net tech.actindi.net 過去のエントリはテキストエディタから利用する方法を紹介したものですが、今回は textlint のブ…

VCR 設定 Tips

VCRのちょっと便利な設定を紹介します。

SvelteでWeb Componentsを作ってみた

morishitaです。 前回のエントリでフロントエンドフレームワーク Svelte を紹介しました。 tech.actindi.net 今回は Svelte で Web Components を作ってみようと思います。 Svelte 入門に書いた Typescript, Pug, Sass を使えるようにした状態を前提とします…

Svelte 入門

morishitaです。 今回は JavaScript の UI フレームワーク Svelte を紹介します。 アクトインディでは今の所、フロントエンドフレームワークとしては Vue.js を使っていますが、これもなかなか良さそうだと思ったのでちょっと触ってみました。 プロジェクト…

Stripe のサブスクリプションについて調べてみた

morishitaです。 年初にいこーよに新しいサービスを追加しました。 その名も「いこーよプレミアム」です。 iko-yo.net いこーよプレミアム - プレミアムクーポン 簡単に紹介すると、いこーよの有料会員サービスです。 登録するといこーよプレミアムクーポン…

Github workflow の実行をラベルで制御する

あけましておめでとうございます。morishitaです。 世間はコロナで大変な状況ですが、早くいこーよでお出かけ先を探して思う存分遊びに行けるようになればいいのになぁと思いながら新年を迎えました。本年もよろしくおねがいします。 さて、今回は小ネタを1…

GAS の Web エディタが一新されたので触ってみた

morishitaです。 Google App Script (以下、GAS)便利ですよね。 無料で使える JavaScript の実行環境で HTTP での外部への通信も可能なので、API を叩いたり、Web サイトにアクセスして情報を収集するなどできます。 しかも定期実行も可能なので、定期的な作…

CodeBuildのレポート機能を使ってRSpecの結果を見る

morishitaです。 前回のエントリで、CodeBuild 上で RSpec を実行する環境について紹介しました。 tech.actindi.net その中で RSpec の結果を CodeBuild のレポートで確認できるようにしてみたらなかなか良かったのでそれについて紹介します。 CodeBuild の…

CI Test環境を作り直した話

CI Test環境を作り直した話 morishitaです。 いこーよは Rails アプリケーションです。 ユニットテストには Rspec を利用しています。 それなりに大きなアプリケーションなので全スペックを実行するにはそれなりに時間がかかります。 ローカルPCで全スペック…

バッチ処理をFargateに移行した

morishitaです。 先日、いこーよを Kubernetes に移行した件を紹介しました。 tech.actindi.net いこーよは Web だけで動いているわけではなく、裏で定期的に実行されるバッチ処理も行っています。 本エントリではそのバッチ処理の実行環境を Fargate ECS に…

Kubernetesの導入で考えたこと、一緒に導入したもの

morishitaです。 yamamotoが次のエントリで紹介しましたが、いこーよを Kubernetes 上で運用し始めて3ヶ月になろうとしています。 tech.actindi.net まあトラブルもありますし、やってみてEC2で運用していたのとは勝手が違うところに苦労しつつですが、移行…

Amplify ConsoleのE2Eテストを導入してみた

morishitaです。 Nuxt.js で作っている SPA を Amplify Console で運用していることはこれまで数本のエントリで紹介してきました。 tech.actindi.net tech.actindi.net その Amplify Console に Cypress によるE2Eテストがサポートされたという発表が2019年…

Pronto を Github Action で実行する

morishitaです。 rubocop や brakeman などの静的コード解析ツールを Prontoで実行するとPull Request にコメントで指摘されるので便利です。というのは、以前、キエンが紹介しました。 tech.actindi.net このときは、AWSの Lambda と CodeBuild で実行して…

Ruby 2.7がリリースされましたね!

morishitaです。 年末もだいぶ押し迫ってきました。 当社も今日が2019年の仕事納めです。 最近、仕事でRubyを書いていない私ですが、今年の最後はRubyの話題で締めくくろうと思います。 Ruby 2.7 リリース ! 今年も年末恒例のRubyの新バージョンがリリースさ…

Amplify Console の Preview は超便利

morishitaです。 この記事は actindi Advent Calendar 2019 の15日目の記事です。 adventar.org Nuxt.js の SPAをAmplify Consoleで運用しているということは以前紹介しました。 tech.actindi.net これまで、ステージング環境の作成は Branch Autodetect 機…

AWS CDKでEKSクラスタを作る

CDK で EKS構築してみる morishitaです。 前回に引き続きCDKでやってみた系のエントリです。 アクトインディは基本Railsでサービスシステムを開発している会社ですが、 私はこの1ヶ月ほどRubyを書かずにCDK+Typescriptでインフラをいろいろいじっています。 …

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の設定でハマりました。 多分、…