Yappli Tech Blog

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

Go

Goのnet/httpパッケージを理解する

Go

はじめに こんにちは、サーバーサイドエンジニアの喜田です。 Goにはnet/httpというHTTP クライアントとサーバーの実装を提供してくれるパッケージがあります。 普段の開発でnet/httpパッケージを使っているのですがGoの経験がまだ浅いということもあり、仕…

Go Conference 2022 SpringでPHPからGoへの移行について発表しました

Go

サーバーサイドエンジニアの森谷です。 Go Conference 2022 Springに"Go"ldスポンサーとして登壇してきましたので、その後日談記事になります! 登壇内容 「創業以来のPHPシステムが生み出した混沌をGoへの移行で乗り越えた話」について発表しました。 gocon…

Go Conference 2022 Springに"Go"ldスポンサーとして協賛・登壇します!

Go

サーバーサイドエンジニアの森谷です。 もうすぐGo Conference 2022 Springが始まりますね。 前回とはまた打って変わったセッションが並んでおり非常に楽しみです! gocon.jp ヤプリはGo Conference 2022 Springに"Go"ldスポンサーとして協賛しています!! …

Goのsqlxパッケージを理解する

Go

サーバーサイドエンジニアの森谷です。 前回の記事に続いて、今回はsqlxパッケージについて見ていこうと思います。 簡単なおさらい 前回はdriverパッケージとsqlパッケージを読みました。 driver.Driver インターフェースを満たす型を実装し sql.Register で…

Goのsqlパッケージを理解する

Go

サーバーサイドエンジニアの森谷です。 弊社ではDBの一部にSQLiteを使っており、SQLiteからのSELECT結果を構造体にパースする部分の処理について調べごとをしていたのですが、その中で「SELECT結果をモックできたら楽に手元で色々確認できないかな」という疑…

PHPのちょっとした静的解析をGo+GitHub Actionsで実施するようにしてみた

こんにちは、エンジニアの尾宇江です。 goでプルリク作ってリリース作業を改善してみた。のエントリーに引き続き、Goを使ったちょっとした改善をした話です。 最初に 書いたコードをcommitした後、「あープリントデバッグで仕込んでたvar_dump消し忘れた」っ…

goでプルリク作ってリリース作業を改善してみた。

Go

こんにちわ、エンジニアの山田です。 2022年始まって1ヶ月ですが、これだけWeb3がもてはやされると、自分もヤマダ2ぐらいにはならないとヤバいのではという危機感を覚えますね。 これだけWeb3がもてはやされると、自分もツノダ2ぐらいにはならないとヤバいの…

gRPC-Gateway v2へのアップグレードで対応したこと

サーバーサイドエンジニアの田実です! YappliではネイティブアプリのAPIでgRPC-Gatewayを使って実装しています。 今回は、gRPC-Gatewayをv1からv2にアップグレードしたときに対応したことを紹介します! マイグレーションガイドはこちら↓ github.com 1. Go…

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

Go

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

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

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

新卒で入社してから読んでみた本を並べてみた。

こんにちは。はじめましての方ははじめまして。 サーバーサイドエンジニアの加納です。 もういくつ寝ると、お正月~♬ と歌ってもいいような時期で、早い人は来週末から年末年始のお休みに入る方もいらっしゃるのではないでしょうか? 昨今の状況だと、お休み…

PHPからGoを呼び出す方法

サーバーサイドエンジニアの田実です! ヤプリではPHPとGoを使っています。ということで(?)、PHPからGoを呼び出す方法について紹介します。 なおこの記事はGoからPHPを呼び出す方法の姉妹投稿(?)となっております。 ※この記事は PHP Advent Calendar 2…

GoからPHPを呼び出す方法

サーバーサイドエンジニアの田実です! ヤプリではGoとPHPを使っています。ということで(?)、GoからPHPを呼び出す方法について紹介します。 なおこの記事はPHPからGoを呼び出す方法の姉妹投稿(?)となっております。 ※この記事は Go Advent Calendar 20…

Go標準パッケージのコードリーディング会でチームが強くなった話

サーバーサイドエンジニアの森谷です。 ヤプリではtenntennさんに技術顧問を務めていただいており、tenntennさん同席の元に隔週ペースでGoの社内勉強会を行なっています。 news.yappli.co.jp tenntennさん主導のレクチャーから業務コードの実装相談・モブプ…

Go Conference 2021 Autumnで個人的に気になった発表まとめ

Go

サーバーサイドエンジニアの森谷です。 11/13 にGo Conference 2021 Autumnが開催されました。 ヤプリもSiliverスポンサーとして参加していたのですが、みなさんもうご覧になりましたか? 今回は個人的に気になったセッションをまとめてみたので、もしまだ視…

ファイルの埋め込みをstatikからgo:embedに置き換えた

Go

サーバーサイドエンジニアの田実です! Yappliではメールテンプレートや多言語化の設定ファイルをGoに埋め込んで使うためにstatikを使っていました。Go 1.16から導入されたgo:embedによってビルド時にファイルコンテンツを埋め込めるようになったので、stati…

Goで異なる構造体を1つのsliceで扱う

Go

サーバーサイドエンジニアの森谷です。 先日、開発中に面白い実装を見つけたため小ネタとしてご紹介します。 例として駐輪場に駐められている自転車とバイクを管理するsliceを考えます。 以下の構造体を定義したとして、これらを1つのsliceで扱いたいとした…

Goで多言語化を実装してみた

Go

サーバーサイドエンジニアの田実です! Yappliでは多言語に対応したアプリを公開できます。 ネイティブ向けのAPIでは一部Go言語を使っており、エラーメッセージなどの多言語化の機構が実装されています。 本記事では、Goで多言語化を実装する方法を紹介した…

Copyright © 2021 Yappli, Inc. All rights reserved