Yappli Tech Blog

株式会社ヤプリの開発メンバーによるブログです。最新の技術情報からチーム・働き方に関するテーマまで、日々の熱い想いを持って発信していきます。

json.Unmarshalでmap[string]interface{}型にパースするときの注意点

Go

サーバーサイドエンジニアの田実です! 今回はGoの json.Unmarshal 関数で map[string]interface{} の型を指定したときに発生していた事象とその対策を併せて紹介します! なにが起きていたか 以下のように任意のキー、バリューを含むJSON文字列を map[strin…

npm v7におけるsudo run scriptがスーパーユーザーで実行されず、ハマった

npm v7へのマイグレーション直後、`sudo npm run script`が期待通りの動作をしませんでした。そこで、各種パッケージのコードリーディングをして、原因を突き止めました。

CSSスプライトを使用して、簡単にぐるぐる動くアニメーションを実装しました。

はじめまして。フロントエンドエンジニアの相原と申します。 普段はYappli CMSのUIを実装しております。 通常業務で大きく動くアニメーション等を実装する機会はあまり(と言うか殆ど)無いのですが今回久しぶりにそういった機会に恵まれたのでその辺りの事…

ヤプリ初のアドベントカレンダー振り返り

メリークリスマス! ヤプリのテックブログ編集長を担当している望月です。 近況としては、長女がサンタさんに高額なプレゼントをリクエストしましたが、コロナ下におけるサンタさん事情を説明して別のプレゼントにするための説得に注力しておりました。 この…

GoでS3 Batch Operationsを用いたS3間大量コピーを実現する

サーバーサイドエンジニアの森谷です。 業務の中でS3からS3への大量オブジェクトコピーを行う必要が生じたのですが、これが思いの外簡単には実現できず、またGoから利用している記事もあまりなかったため今回はその実装などについて備忘録的にまとめようと思…

Goのin-memory cache packageについて調査してみた

サーバーサイドエンジニアの鬼木です! 今回はGoのin-memory cache packageについて調べてみた記事になります。既存機能の拡張でin-memory cacheを使う必要があり調査したことが背景としてあります。 以下について比較、調査しました。 github.com/allegro/b…

Selenium × ECS × APMツールで作る管理画面ログインhealthcheck

サーバーサイドエンジニアの鬼木です! 今回はYappliのCMSにログインできるかどうかを確認、通知するhealthcheck機構を導入した記事になります。 とあるサービス障害で一時的にCMSのログイン認証機構に障害が発生し、標準的なTCPレベルのhealthcheckでは検知…