BASEプロダクトチームブログ

ネットショップ作成サービス「BASE ( https://thebase.in )」、ショッピングアプリ「BASE ( https://thebase.in/sp )」のプロダクトチームによるブログです。

Go Conference 2022 Spring Onlineにシルバースポンサーで協賛・2名登壇します

2022/4/23(土)にオンラインで開催されるGo Conference 2022 Spring Onlineにシルバースポンサーとして協賛し、2名のメンバーが登壇します。

Go Conferenceとは

https://gocon.jp/2022spring/

イベントメインイメージ
Go Conference 2022 Spring Online

Go Conferenceは一般社団法人Gophers Japanが主催し半年に1回行われるプログラミング言語Goに関するカンファレンスです。
前回に引き続き、オンライン開催です。
今回、弊社は前回に引き続きシルバースポンサーとして協賛します。

※ The Go gopher was designed by Renee French. Illustrations by tottie.

BASEとGo

プロダクトの大半のサーバーサイドがPHPで実装されているBASEですが、BASE BANKチームが開発・運用している資金調達サービスである「YELL BANK」、ショップの売上金をVisa加盟店の決済で利用できる「BASEカード」はGoの分散サービスとして実装されています。

thebase.in https://cp.thebase.in/basecardcp.thebase.in

「YELL BANK」のリリースは2018年12月であり、Goを使ったプロダクト運用実績は3年以上になります。

登壇内容について

testingパッケージを使ったWebアプリケーションテスト(単体テストからE2Eテストまで) by @budougumi0617

gocon.jp BASE株式会社BASE BANKチームにて、 テックリードをしている清水(@budougumi0617)です。「testingパッケージを使ったWebアプリケーションテスト(単体テストからE2Eテストまで)」というタイトルでプロポーザルを提出し採択されました。

ソフトウェアとテストは切っても切れない関係です。 いっぽう、Webアプリケーション開発においてはDBなどのミドルウェア・外部API・永続化情報の状態など様々な依存関係が存在します。 本セッションではDBや外部APIに依存するコードの単体テストからテスト中にWebサーバやDBを起動するシミュレーションテストまで、 私がtestingパッケージを使って行なっている様々なレベルのテストについて紹介します。

前職の経験も合わせると業務でGoのWebアプリケーション開発に携わり始めて5年になります。 その中で行なった試行錯誤して書いたテストのアプローチを紹介します。 プロダクトによってテストで担保したい品質、仕様は異なります。私の発表を視聴していただいた方のテストに対する「手札」がひとつでも増えれば幸いです。

Python製の姓名分割ライブラリをGoに移植した話 by @glassmonkey

gocon.jp

一般的にわかち書きでは無い日本語で姓名から「姓+名」の分割を行うことは困難です。 しかし、Python製の姓名分割ライブラリ( https://github.com/rskmoi/namedivider-python )を用いるとある程度精度良く分割は可能です。 そこでシングルバイナリで扱えるGoのメリットを活かして、Python製の姓名分割ライブラリをGoに移植した話をします。 その際移植で工夫した点や気をつけた点をお話します。

今回、他の方が書いたコードを他言語に移植することを初めてチャレンジしました。 今回のケースではLL言語故のruntime時の不安定さをGoに移植することで解消することができました。 ただ、一部numpyの実装を独自に行う必要があったなど、メリットばかりでは無いことも学びとしてありました。 別言語の実装をGoやさらに他言語へ移植する際の意思決定の参考になれば嬉しく思います。

オフィス・アワーについて

今回は我々BASEはシルバースポンサーとして協賛させていただくため、イベント当日はRemo上でオフィスアワーを開いて参加者のみなさんをお待ちしております。 オフィスアワー中の弊社ブースでは弊社が定期開催しているGophers Code Reading Partyを開催予定です。 同Partyはコードリーディングに限らず、その場で集まったメンバーが最近気になったGoのトピックを話す集まりで、社外ゲストも含めカンファレンスの廊下やオフィスの休憩スペースのような雰囲気で雑談する集まりです。

  • 普段使っているGoのOSSのコードリーディング
  • ちょっと挙動がわからなかった標準パッケージのコード
  • 直近話題になったGo関連のトピック・ブログ記事について
  • BASEでGoをどうやって使っているか etc...

publicリポジトリのissueで毎回メモを取っています。 当日用はこちらのissueを使う予定なので事前にトピックをコメントしていただくのも大歓迎です。 github.com

普段の雰囲気やトピックについては過去の回のメモ(既存issue)を御覧ください。 https://github.com/basebank/gophers-code-reading-party/issues

宣伝

ANDPADさん主催のGoConスポンサー企業合同アフタートークイベントにも参加予定です。 andpad.connpass.com

株式会社Showcase Gigさん、株式会社LayerXさん、株式会社アンドパッドさんと4社合同で行ないます。 弊社からは @budougumi0617, @glassmonekey が次の内容の発表とパネルディスカッションに参加する予定です。

宣伝その2

BASE BANKチームでは Go, Python, PHPを中心に、フロントからインフラまでを一気通貫で開発しています。 また開発だけでなく、機能をグロース・分析・サポートまで担当します。

そんな開発スタイルに興味あるぞって方は永野(@glassmonekey)にDMを送っていただくか、 下記のリンクから気軽にご連絡ください。

open.talentio.com

「転職活動はしていないけど、Goの日々の開発の困りごとってどうやって解決しているの?」のような雑談がされたい方は@budougumi0617のMeetyでお話しましょう。 meety.net


最後に、Go Conference 2022 Spring Onlineに参加するには次のイベントページより参加登録をお願いします。

gocon.connpass.com

それでは4月23日にお会いしましょう!