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

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

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

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

Railsで #update のできるFormObjectを作る

最近FormObjectを作ろうと思って調べてみたところ、ネット上の記事だと #update ができなかったり、Ruby 3.0 だとそのまま動かなかったりしたので、需要があるかと思い作成しました。 まだまだ色々改善点があるので、元のリポジトリの方でもう少し改善してい…

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

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

Android版いこーよの中身。Jetpack Navigation編

Androidアプリエンジニアのhondaです。 Android版いこーよではNavigation componentを導入しています。 今回はNavigation componentで画面遷移を実装している際のTIPSを紹介したいと思います。 このブログではNavigation componentについては深く説明しませ…

VCR 設定 Tips

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

私のAWSを勉強する道

こんにちは、クアンです。 今年からRubyコードを書くだけではなくAWSのサービスをやりたいので、勉強をはじめました。 この投稿の内容は私の勉強した方法です。 初めに困ったこと AWSは3つのパスがあります:アーキテクト、デベロッパーとシステムオーパーレ…

Google スプレッドシートで、複数シートの情報を自由にレイアウトしたシートを作る

こんにちは、kadotaです。 複数の社員にそれぞれの入力シートを持たせ、そのデータをひとまとめに閲覧できるものが欲しい、という簡単な社内ツール的なものをこしらえることがあったのでそのお話です。 Googleスプレッドシート と Google Apps Script (GAS) …

CIで使っているMySQLのメモリ使用量を調整した話

最近CIが3回に1回くらいメモリ不足で落ちて辛かったのでメモリ使用量の見直しを行いました。 原因の特定 まずはエラーメッセージを確認します。 Codebuildのメッセージを見てみると、以下のように書かれていました。 # 〜中略〜 rails-test | /usr/local/bun…

目標を一つに絞ったらRuby Gemがリリースできた話

s4naです。 今回はKageuchiというWebサーバーのRuby gemをリリースした話を書いていきます。 作ろうと思ったきっかけ 2020/8/3にKaigi on Railsというイベントが行われました。 kaigionrails.org イベントの中でAaron Pattersonさんが行っていた発表は、「0…

SvelteでWeb Componentsを作ってみた

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

Svelte 入門

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

IT用語辞典ご紹介

みなさん、こんちは。去年3月下旬に来日して4月からエンジニアとしてアクトインディで働きはじめましたソンと申します。 日本で仕事をはじめてから、日常的な会話だけではなく、技術的な会話も苦労していることです。ベトナムで日本語を少し勉強しましたが、…

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

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

在宅勤務するときに効率を最大化するにはどうすればいいですか?

はじめまして。私はベトナムから来ましたチエンと申します。新卒としてのエンジニアで日本に来て2020年2月に入社しました。入社2ヶ月後、コロナウイルスの影響で在宅勤務になりました。これは自分の在宅勤務中に体験したことのブログ初投稿です。どうぞよろ…

Sunspotを使いRailsでSolrの環境構築を行う方法

はじめに あけましておめでとうございます。 s4naです。 今回は、最近勉強し始めたSolrについて書いていきます。 SunspotとはSolrという検索エンジンをRuby上で使うためのライブラリです。 github.com 中でもSunspot::Rails を使うとSolrをインストールせず…

ローカル環境でもAPMが見たい!

こんにちは!!こんにちは!! moriyamaです。 みなさん、APMってご存知でしょうか? Application Performance Managementの略で、直訳すると「アプリケーション性能管理」ですね。 広く知られているサービスとして、Amazon CloudWatchやNew Relicなどが挙げられ…

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 の…

ラバーダックデバッグ

ラバーダックデバッグ はじめまして。ベトナム人のクアンと申します。 2020年2月来日してアクトインディで働いています。ブログ初投稿です! どうぞよろしくお願いいたします。 自己紹介 2019年にベトナムのハノイ工科大学を卒業しました。学生時代のインタ…

CI Test環境を作り直した話

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

ZookeeperをAWS ECSで稼働させてみた

こんにちは!!こんにちは!! インフラエンジニアのyamamotoです。 いこーよのインフラをKubernetesに切り替え、古いサーバーを整理していたのですが、厄介だったのが「Zookeeper」でした。 ZookeeperはSolrのステータスを管理するために利用しているのですが、…

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

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

失敗事例の共有。テストが実行できていないのにCI/CDが通ってリリースしてしまった話

はじめまして アクトインディでWebエンジニア職として採用されて4ヶ月目。 つい最近試用期間が終了して、正式に正社員になったばかりの s4na です。 今回は私の失敗事例を共有させていただきます。 はじまりはリリース後のふとした違和感でした。 最初にその…

AWS ElasticBeanstalkで作られるALBに手を加える

こんにちは!!こんにちは!! インフラエンジニアのyamamotoです。 ElasticBeanstalkを使うと、複雑なインフラ構成も簡単に構築できますよね。 でもちょっと細かいところに手を入れようとすると、なかなか難しかったりするのが難点です。 今回は、ElasticBeanst…

ブラウザ上で自作javascriptを走らせたい!

こんにちは!!こんにちは!! moriyamaです。 早速ですが、特定WEBサイトのアクセス時に自作scriptを走らせたい時ってありませんか? 私はあります。読者の皆さんもありますよね? いつかは実現したいと常日頃から考えており、今回ついに実装できたので記してお…

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

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

Kotlinのスコープ関数との付き合い方

Androidアプリ開発担当のhondaです。 皆さんKotlinのスコープ関数使ってますか? 好きなスコープ関数はalsoです。 結論 Android版いこーよではスコープ関数はlet、alsoそしてrunを使うようにしています。 今回はなぜそのようにしているのか解説したいと思い…

デザイン未経験のエンジニアが Figma はじめました。

いこーよの iOS アプリを担当している namikata です。友人から Flutter がすごいよ、という事を教えてもらい、一つアプリを Flutter で作ってみました。すごいです。 Flutter 。君はすごい。もうあなたなしじゃ生きられないよっていうぐらいすごいです。い…

GitHub Actionsを利用してgemをGitHub Packagesに公開する

はじめに こんにちは!!こんにちは!!Webエンジニアのshimeです。 最近、GitHub Actionsを利用してGitHub Packagesにgemを公開する機会があったので、その方法をご紹介いたします!! GitHub Actionsとは 改めて説明する必要は無いと思いますが、GitHub Actions…