はじめに こんにちは、サーバーサイドエンジニアの喜田です。 Goにはnet/httpというHTTP クライアントとサーバーの実装を提供してくれるパッケージがあります。 普段の開発でnet/httpパッケージを使っているのですがGoの経験がまだ浅いということもあり、仕…
ヤプリの望月です。 最近結婚10年を迎えましたが、スイートテンダイヤモンドという古来からある風習の圧力に屈していました。 話は変わりますが、先日2022-05-14,15に開催されたSRE NEXT 2022で、ヤプリのセキュリティの取り組みについて発表させていただき…
サーバーサイドエンジニアの森谷です。 Go Conference 2022 Springに"Go"ldスポンサーとして登壇してきましたので、その後日談記事になります! 登壇内容 「創業以来のPHPシステムが生み出した混沌をGoへの移行で乗り越えた話」について発表しました。 gocon…
サーバーサイドエンジニアの森谷です。 もうすぐGo Conference 2022 Springが始まりますね。 前回とはまた打って変わったセッションが並んでおり非常に楽しみです! gocon.jp ヤプリはGo Conference 2022 Springに"Go"ldスポンサーとして協賛しています!! …
サーバーサイドエンジニアの田実です。 もうすぐ PHPerKaigi 2022 が始まりますね! 今回も面白そうなセッションばかりで非常に楽しみです。 phperkaigi.jp ヤプリは PHPerKaigi 2022 にダイアモンドスポンサーとして協賛しています!! ヤプリは創業期からP…
サーバーサイドエンジニアの森谷です。 前回の記事に続いて、今回はsqlxパッケージについて見ていこうと思います。 簡単なおさらい 前回はdriverパッケージとsqlパッケージを読みました。 driver.Driver インターフェースを満たす型を実装し sql.Register で…
こんにちは。フロントエンドエンジニアの小林(baco16g)です。 この記事では、YappliのCMSにおけるデザインシステムを構築に向けた準備をしている話を、エンジニア視点でお伝えします。 デザインシステムが求められた背景 YappliのCMSは、2019年にシステム…
サーバーサイドエンジニアの森谷です。 弊社ではDBの一部にSQLiteを使っており、SQLiteからのSELECT結果を構造体にパースする部分の処理について調べごとをしていたのですが、その中で「SELECT結果をモックできたら楽に手元で色々確認できないかな」という疑…
サーバーサイドエンジニアの田実です! Yappliでは各APIの通信にgRPC, Protobufを採用しています。 本記事ではYappliにおけるgRPC, Protobufの利用方法・運用方法についてご紹介します! 利用箇所 以下のAPI通信においてgRPCを利用しています。 用途 プロト…
データサイエンティストの阿部です。この1年間、毎週土曜日に8時間副業していました。結果、週休二日制のありがたみがわかりました。 さて、明日から使いたくなるデータハンドリング術を紹介する "Sexy Tech for You" の第11話を配信しました。例えばDAUとMA…
こんにちは、ヤプリの三縞です。 iOSアプリの開発を進める中で、クラスの外からそのクラスの親のプロパティへのアクセスを禁止したい状況がありました。 今回の記事では実際の事例を紹介しながら、どのように解決したのかを説明したいと思います。 実際にあ…
こんにちは、エンジニアの山田です。 前振り一切無しですが、弊社オフィスから徒歩3分のところにイケてるスタバが出来たらしいです。 仕事帰りのフラペチーノが楽しみですね ( ゚∀゚)レッツトッピング!! オフィスから徒歩3分の所にイケてるスタバがオープンしたと聞…
データサイエンティストの阿部です。今さらながら『劇場版 少女☆歌劇 レヴュースタァライト』を映画館で観たのですが衝撃的でした。 さて、明日から使いたくなるデータハンドリング術を紹介する "Sexy Tech for You" の第10話を配信しました。僕は「とりあえ…
サーバーサイドエンジニアの田実です! YappliはSQLite3を使ったマルチテナントアーキテクチャを採用しています。 今回は、SQLite3の運用でよく使うコマンドやちょっとマニアックな仕様についてまとめてみました! CLIでクエリ結果を縦に表示したい MySQLで…
こんにちは、フロントエンドの山田です。 補足すると別記事にも登場する「サーバサイドの山田」と同一人物です。 現在はサーバサイドとフロントエンドを兼務してます。 tech.yappli.io さて、今回はフロントエンドの山田として、私達フロントエンドチームに…
こんにちは、エンジニアの尾宇江です。 goでプルリク作ってリリース作業を改善してみた。のエントリーに引き続き、Goを使ったちょっとした改善をした話です。 最初に 書いたコードをcommitした後、「あープリントデバッグで仕込んでたvar_dump消し忘れた」っ…
こんにちわ、エンジニアの山田です。 2022年始まって1ヶ月ですが、これだけWeb3がもてはやされると、自分もヤマダ2ぐらいにはならないとヤバいのではという危機感を覚えますね。 これだけWeb3がもてはやされると、自分もツノダ2ぐらいにはならないとヤバいの…
プロダクト開発本部 インテグレーションエンジニアの尾宇江です。 職種も名前も珍しいので…オーイェーって覚えてください。 Yappliでもリモートワークを行っているのですが、「そういえばあの人とリアルであったこと一度もないかも」って状況も出てきました…
サーバーサイドエンジニアの田実です! YappliではネイティブアプリのAPIでgRPC-Gatewayを使って実装しています。 今回は、gRPC-Gatewayをv1からv2にアップグレードしたときに対応したことを紹介します! マイグレーションガイドはこちら↓ github.com 1. Go…
ITグループの原口です。 最近親子でトランポリンにハマり、面白そうなトランポリン施設を夜な夜なチェックしているトランポリンエンジニアをやっています。 はじめに Yappliでは外部との情報共有はDropboxの利用を推奨しています。 利用に際してファイルやフ…
あまり聞き慣れないインテグレーションエンジニアという職種の尾宇江です! 今回は、GitHub Actions と GitHub Teamsのauto assignmentで、特定のブランチに向けたプルリクだけレビュワーをランダムに抽選してみた件を紹介します。 やりたかったこと 「プルリ…
サーバーサイドエンジニアの田実です! 今回はGoの json.Unmarshal 関数で map[string]interface{} の型を指定したときに発生していた事象とその対策を併せて紹介します! なにが起きていたか 以下のように任意のキー、バリューを含むJSON文字列を map[strin…
npm v7へのマイグレーション直後、`sudo npm run script`が期待通りの動作をしませんでした。そこで、各種パッケージのコードリーディングをして、原因を突き止めました。
はじめまして。フロントエンドエンジニアの相原と申します。 普段はYappli CMSのUIを実装しております。 通常業務で大きく動くアニメーション等を実装する機会はあまり(と言うか殆ど)無いのですが今回久しぶりにそういった機会に恵まれたのでその辺りの事…
メリークリスマス! ヤプリのテックブログ編集長を担当している望月です。 近況としては、長女がサンタさんに高額なプレゼントをリクエストしましたが、コロナ下におけるサンタさん事情を説明して別のプレゼントにするための説得に注力しておりました。 この…
サーバーサイドエンジニアの森谷です。 業務の中でS3からS3への大量オブジェクトコピーを行う必要が生じたのですが、これが思いの外簡単には実現できず、またGoから利用している記事もあまりなかったため今回はその実装などについて備忘録的にまとめようと思…
サーバーサイドエンジニアの鬼木です! 今回はGoのin-memory cache packageについて調べてみた記事になります。既存機能の拡張でin-memory cacheを使う必要があり調査したことが背景としてあります。 以下について比較、調査しました。 github.com/allegro/b…
サーバーサイドエンジニアの鬼木です! 今回はYappliのCMSにログインできるかどうかを確認、通知するhealthcheck機構を導入した記事になります。 とあるサービス障害で一時的にCMSのログイン認証機構に障害が発生し、標準的なTCPレベルのhealthcheckでは検知…
(こちらの記事はヤプリ Advent Calendar 2021 16日目の記事になります。) プロダクト開発本部の佐藤です。 先月末より徐々に世界的にLog4jの抱えていた脆弱性の話題が盛り上がり、実務でも調査・対応に追われた方も多いのではないでしょうか。 www.jpcert.…
こんにちわ、サーバーサイドエンジニアの山田です。 急に寒くなってきましたね、出オチですが今回はこちらの件です。 CFOと久しぶりに真剣に会議。していて1時間経って気づいた。俺やん! pic.twitter.com/yvvWUQuewU— 庵原保文(Yappli ヤプリCEO) (@ihaem…