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

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

morishita

VCRでWeb APIのモックを楽しよう!

morishitaです。 最近、Stripeを利用した決済処理の実装をしていました。 tech.actindi.net tech.actindi.net サーバーサイド(Rails)でStripe APIを利用しており、そのテストの実装にvcrを利用しました。 以前から使っていましたが、改めて便利だと思った…

Stripe + Vue.js による決済フォームの実装

morishitaです。 先日、決済サービス Stripeについて書きました。 tech.actindi.net 今回はVue.jsとStripeを使ってクレジットカードの決済フォームを実装したのでご紹介します。 なおこのエントリのコードはTypeScriptを使っています。 HTML部分は Slim また…

Stripeを使った決済処理を調べてみた。

morishitaです。 今回はStripeについて調べてみたのでそのことを書きます。 Stripeとは Stripeは決済処理を代行してくれるサービスです。 サービス内でなにか販売をしようとするとユーザーから代金をいただく決済の仕組みを用意する必要があります。 ネット…

Simplecovで一部クラスでカバレッジが計測されない場合の解決方法

morishitaです。 アクトインディではRailsアプリケーションのテストをRSpecで書いています。 そして、テストカバレッジをSimpleCovを使って計測しています。 何故かカバレッジが計測できないクラスがあったのですが、計測できるように解決した件を紹介します…

Active Flagで効率的にフラグを実装する

morishitaです。 今回はActive FlagというGemを紹介します。 このGemはActiveRecordのモデルでBIt Arrayなカラムを扱いやすくしてくれます。 github.com こういう要件ってありますよね? ON/OFFできるユーザ設定をたくさん持たせたい 選択肢を複数選択できる…

Vue+Vuexにvalidatorjsを組み合わせると自在にバリデーションが書ける!

morishitaです。 今回はJavascriptのバリデーションライブラリvalidatorjsを紹介します。 TL;DR いこレポではクライアントサイドバリデーションにvalidatorjsを使っています。 validatorjsはとても柔軟に設定でき使いやすいバリデータです。 Vue+Vuexなアプ…

いこナビにAPLを導入しました

morishitaです。 昨年末にEcho Showが発売され、FireTVでもAlexaが使えるようになりました。 これから、ディスプレイ付きのAlexaデバイスが増えていくと思います。 ということで、いこーよのAlexaスキル「いこーよのおでかけナビ」でディスプレイデバイス向…

いこレポのRailsを5.1.2から5.2.2にアップグレードしました

morishitaです。 Rails 6のリリースも見えてきたので、やっといこレポのRailsをアップグレードしました。 具体的には、Rails 5.1.2 → 5.2.2 のアップグレードを実施しました。それについて紹介します。 アップグレードまでの道のり アップグレードはセオリー…

Github serviceをwebhookに変更した

morishitaです。 Github Service が使えなくなったので対応しました。 次の記事には2019年1月末に止めるよって書いてあるので、今月中になんとかすればいいかなと思っていました。 ところが、2019/01/08 から突然動かなくなったのです。 developer.github.co…

超小ネタ・クリスマス仕様なアプリケーション

morishitaです。 平成最後の年末真っ只中ですが、皆さんいかがお過ごしでしょうか。 街はクリスマスだ何だと賑やかですが、この時期クリスマス仕様になりデスクトップを賑やかしてくれるアプリケーションもいくつかありますね。 毎年恒例 VLC 有名どころでは…

GAS活用事例紹介 いこーよ10周年企画を支えたアプリケーション

morishitaです。 この記事はactindi Advent Calendar 2018 - Adventarの3日目の記事です。 2018年12月1日、「いこーよ」は10周年を迎えました。 すでに終了したものも含めて10周年企画として次を実施しています。 お出かけスポット無料チケット配布(12/1終了…

AlexaスキルのServeless Frameworkテンプレートを公開!

morishitaです。 先日のAlexa スキルアワード2018で「子育て支援部門賞」と「世の中あかるくしてくれ賞(株式会社TAM)」をいただきました。 tech.actindi.net 参考リンク Amazon.co.jp: Alexaスキルアワード2018受賞作品: Alexaスキル Alexaスキルアワード2…

Nuxt SPAのPVを @nuxtjs/google-tag-manager を利用して計測する

morishitaです。 Nuxt の SPA を運用する際にページビューを計測しようと、@nuxtjs/google-tag-managerを導入しました。 ページがロードされるランディングは計測されるのですが、SPA 内でページ遷移したページビューが計測されなかったので調べたことを書き…

NuxtのSPAを S3+CloudFrontでホストする。デプロイはCodeBuildで自動化

≪2019/06/20追記≫ この記事を公開したのは2018-10-19です。 2019-06-20時点でより簡単さ、運用の容易さを求めるならAWS Amplify Consoleもおすすめです。 tech.actindi.net morishitaです。 Nuxt で実装した SPA を S3 + CloudFront で配信する機会があった…

Google Cloud Natural Language API で口コミのネガ/ボジ判定してみた

morishitaです。 いこーよでは口コミをもっと投稿しやすく、もっと役立つ情報にしたいと考えています。 口コミを投稿してもらう内容や方法や、それを見てもらう見せ方について議論をしています。 現状の口コミを見つめ直す一環として、機械学習 API を利用し…

workbox を導入してServiceWorkerによるキャッシュを実装した話

morishitaです。 いこレポに workbox を導入してServiceWorkerによるキャッシュを実装しました。 そのことについて書きます。 導入の背景 いこレポはおかげさまで順調に成長できており、アクセス数も伸びてきています。 先日 1 周年を迎え、ますます頑張って…

Alexa スキルアワード2018 で2つの賞をいただきました!

morishitaです。 2018/09/29(土)、Alexa スキルアワード 2018 ファイナルステージイベントがありました。 弊社の「いこーよのおでかけナビ」もファイナリストに選出されたので参加してきました! いこーよのおでかけナビ発売日: 2019/08/27メディア: アプ…

Colaboratory + Foliumで地図マッピングしてみる

morishitaです。 Alexa スキル「いこーよのおでかけナビ」では、ユーザの自宅を起点に探したお出かけ先を提案します。 いこーよのおでかけナビ発売日: 2019/08/27メディア: アプリ 東京ではたくさんの施設を紹介できますが、そうでない地域もあります。 一応…

VSCodeでFlutter、最初の一歩

Web エンジニアの morishitaです。 Web アプリは Android も iOS を1つのソースで動かせるのに、 それぞれ作らないといけないなんてネイティブアプリ開発は大変だなぁといつも横目でちら見しております1。 プッシュ通知やオフラインキャッシュなどアプリ開…

ssml-builderでらくらくセリフ実装

morishitaです。 Alexa スキル「いこーよのおでかけナビ」で VirtualAlexa の次に使っているライブラリ ssml-builderを紹介します。 tech.actindi.net ssml-builder ってなに? Alexa スキルの開発では、スキルに喋らせるセリフの組み立てをする必要がありま…

ColaboratoryでBigQueryを検索してみた

morishitaです。 アクトインディでは、ログを Google BigQuery にログを格納しています。 BigQuery は Web コンソールから簡単に検索できます。 Web コンソールはクエリを実行するだけなら便利なのですが、業務に使うには不十分と思っていました。 BigQuery …

Rubyの文字列連結、最速は?

morishitaです。 先日、文字列を繰り返し結合するようなコードを書いていました。 文字列の連結するのに StringIO を利用していました。 イメージとしてはこんな感じですね。 io = String.new io.write '文字列' io.write '文字列' # 〜中略: たくさんの繰り…

VSCode でも textlint + α

morishitaです。 今回は軽めに。 昨年末に Atom エディタに textlint を導入した話を書きました。 tech.actindi.net もっぱら JavaScript と Markdown を書くときには Atom を使っていました1。過去形です。 Alexa スキルで Typescript を導入するのに際し、…

Webpagetestでサイトのパフォーマンスを定期計測する

morishitaです。 今回は社内でプライベートに運用している Webpagetest について紹介します。 日経新聞やDev.toなど爆速を実現している Web サイトが度々話題となります。 それは Web サイトにとってページの表示速度が非常に重要で関心が高いからだと思いま…

VSCodeにGithub純正のプルリクエスト拡張が来た!

morishitaです。 VSCode に Pull Request のコードレビューをサポートする拡張はいくつかありますが、ついに純正が出ました! まだプレビュー版ですが、インストールして使えます。 VSCode のブログでも紹介されています。 code.visualstudio.com できること…

Google Apps ScriptsでTypescriptが超簡単に使えるようになった!

morishitaです。 Cloud Functions と並ぶ(?)Google のサーバレスな JavaScript 実行環境といえば Google Apps Scripts(GAS)です。 GAS ってあの Excel で言う VB スクリプト環境のようなものでしょう? と思ったあなた! このエントリでその認識が変わると…

VirtualAlexaによるテストドリブンなAlexaスキル開発

morishitaです。 「いこーよのおでかけナビ」の開発において、最も役立ったライブラリVirtualAlexaについて紹介したいと思います。 いこーよのおでかけナビ発売日: 2019/08/27メディア: アプリ 開発環境 このエントリでは次の環境を前提とします。 Node.js v…

Serverlessの変数にSSMパラメータストアを使って秘密情報を分離する

morishitaです。 アクトインディでは AWS Lambda を利用しています。 Alexaスキル「[asin:B07G7W8SNL:title]」はプロダクトそのものが Lambda 関数ですし、 いこレポでは CI に Lambda を活用しています。 それらは Serverless Framework を使ってビルドした…

AWS CodeBuild 入門

morishitaです。 今回は利用しているAWSのサービスの中でも特にお気に入りの CodeBuildについて書きたいと思います。 CodeBuildとは CodeBuild とはAWSのサービスの1つで、完全マネージド型のビルドサービスです。 ビルドサービスだからといって、プログラ…

「いこーよのおでかけナビ」の実装について

前々回、前回のエントリーでAlexaスキル「いこーよのおでかけナビ」の開発の経緯や 考えたことについて書きましたが、 今回は「いこーよのおでかけナビ」(以降いこナビと呼びます)をどの様に実装したかについて書きたいと思います。 いこーよのおでかけナ…