全文検索エンジンGroongaは、高速で高機能な全文検索を提供します。
Groongaはライブラリーとしてプログラムに組み込む事もできますし、HTTPサーバーとして起動してHTTP経由で全文検索することもできます。
Perlからは、Groonga-HTTPというCPANモジュールを使ってHTTP経由でGroongaを使えます。
また、PostgreSQLでは、PGroongaという拡張を使って、MySQLやMariaDBでは、Mroongaというストレージエンジンを使って、
Groongaで提供している高速で高機能な全文検索を使えます。
本発表では、Groongaがどのような特徴を持つ全文検索エンジンなのかと、その使い方について紹介します。
Groonga、PGroonga、Mroongaを詳しく知らない、または、高速・高機能な全文検索に興味がある人向けの発表です。
長期のプロダクト運営では、顧客体験の改善や開発者体験の向上のため、開発言語の移行が必要になることがあります。
私たちもJavaScript→TypeScriptやJava→Kotlinなどの移行を進めています。
本トークでは、GitHub内部で使用され、OSSとしても公開されているlinguistを用いて言語比率の推移をビジュアル化し、長期に渡る言語移行をモチベーション高く進める方法を紹介します。
※ 以下の記事でも解説しています。
https://studist.tech/visualize-language-percentage-history-b588f1e413de
デモ内容
1 linguistによるタグごとの言語比率の集計
2 Googleスプレッドシートによる推移の適切なビジュアル化
現状のビジュアル化という小さな一歩から、プロダクトの大きな一歩を踏み出しましょう。
メルペイの急成長期において、決済プラットフォームは多くの決済関連機能を開発しましたが、同時に多くの技術的負債も蓄積され、プラットフォームの機能が複雑化しています。コード自体が過度な結合になっているだけでなく、新機能の開発や組織の管理にも影響を及ぼしています。
今後、メルペイのビジネスが多様化する中で、より複雑な要件を実現し、数倍のトランザクションを頑強に処理する必要があります。このため、私たちは決済プラットフォームを再設計するリアーキテクチャに着手します。最高な決済基盤をプロダクトチームに提供し、ミッション達成を実現できる次世代の決済プラットフォームの実現を目指す挑戦に臨みます。
本セッションでは、決済プラットフォームの今までの課題や、リアーキテクチャへの準備、遭遇した課題、そして目指すべき目標に対するアプローチとそれにどのようにたどり着いたかについて詳しく説明いたします。
近年、ChatGPTの登場を皮切りに生成AI/LLMの社会実装が急速に進んでいます。メルカリでは、昨年専任の生成AIチームを設置し、生成AIを用いた全社的な開発生産性の改善に取り組んでいます。
具体的な取り組みとしては
などが挙げられます。
本セッションでは生成AIという革新的なテクノロジーを用いて開発者体験をOpen the futureするために、メルカリがどのような取り組みをしているか、またメルカリの生成AI活用の現状とこれからについてお話しします。
技術的負債はどこの現場でも多かれ少なかれ存在します。技術的負債ゼロな現場はありません。
技術的負債を継続的・定期的に返済できていれば問題はありません。しかし長年放置され「負債度」が高まった技術的負債を返済するのは非常に厄介で骨が折れる作業です。
本発表では、下記のトピックを扱います。
技術的負債はなぜ生まれ、それにどう立ち向かい、その後どうすべきなのか。私自身が経験したEOLを迎えたPHPの移植・アップグレード事例を踏まえて発表します。
みなさんはWebサービス移転のためのデータ移行を実施したことがありますか? データ量が少なければ作業の間サービスを停止して実施すればよいかもしれません。ではデータ量が多く数日程度かかるなら? 移行先のサービス、とくにtoCのWebサービスを数日間に渡って止めるのは現実的でない場合が多いでしょう。動いているサービスにユーザ影響なくデータを移行するには困難が伴います。このセッションでは、筆者が携わったこのようなデータ移行の経験を元に、サービスを極力止めず大量のデータを移行する手法とその段取り、将来同様の案件に着手する際にどのようなことを考えておくべきかについてご紹介します。
話すこと:
Kubernetesの採用は、複数チーム、マルチクラウド、異なるスタックを持つ組織にとって複雑な課題です。本セッションは、これらの課題を解決するアプローチを提示します。プラットフォームエンジニアリングの原則とKubernetesへの適用を軸に、OSSとベストプラクティスを活用した解決策を紹介します。Helm、Tekton、Argo CDなどを統合したプラットフォームの構築方法を解説し、開発チームの認知負荷を軽減しつつ、生産性を向上させる戦略を探ります。さらに、ソフトウェアリリース手法や、デリバリーメトリクスを用いた最適化戦略も紹介します。CrossplaneによるマルチクラウドインフラやKnative ServingとArgo Rolloutsを活用した段階的アップグレードなど、クラウドネイティブ環境の実現に向けた技術も取り上げます。とにかく盛って今のクラウドネイティブを紹介します。
ITエンジニア。情報化社会において必要不可欠な存在であり、中高生がなりたい職業ランキングでは必ず上位にランクインする程人気の職業です。
発表者はITエンジニアとなってからもうじき25年を迎えます。また零細システム開発企業の経営者でもあります。
このトークは、ITエンジニアになろうとしている方と、新人エンジニアを受け入れる立場の方へ向けた、いわば老婆心からのメッセージといった内容となります。
話すこと
持ち帰っていただきたい知見
開設から10ヶ月ものあいだ1記事しか投稿されていなかった上、途中でインシデントを引き起こし発信活動を停止していたClassi開発者ブログに賑いを取り戻すためにそれはもう色々なことをやってきました。
そんなブログも月数記事以上の公開ペースを3年近く保てるようになりました。そこに至る取り組みを通して、持続的な技術ブログ運営のノウハウと「アウトプットが人々を豊かにする」という哲学の醸成について考えたいと思います。
組織の技術ブログ運営について悩んでいる方はもちろん、ブログや発信から遠ざかっている個人のみなさまも、今一度、発信すること・共有することのおもしろさについて再発見する一助になるきっかけとなるようなトークにしたいと考えています。
チームのメンバーが増えてくると、どうしても決まりごとが増えてきます。様々な事情に配慮しなければならないからです。それまでは気軽かつ柔軟に決められていた事柄が、段々と形式に則ったミーティングでの意思決定プロセスが敷かれて、気がつくと当初の俊敏性は失われていると感じることがありませんか。
Scrum@Scaleは上記のような悩みを抱えるスクラムチームにとって有効なスケーリングの手段です。本セッションではリクルートのAirレジ オーダー開発チームのScrum@Scale導入のプロセスとその結果を紹介します。
多くのスクラムチームが直面するスケーリングに関する以下のような悩みに対してScrum@Scaleを実践する際の工夫をお伝えします。
現在YAPCを始め、たくさんの技術コミュニティが存在します。そして技術コミュニティにはスキルアップはもちろん、他の技術者との交流や新たな「好き」の発見、そして新たなキャリアの開拓など、参加者の未来を拡げる数多くのメリットが存在します。(実際、私も技術コミュニティを通して、数多くの「好き」の発見やキャリア開拓などを実現できました)
しかし、技術コミュニティに興味は持っていても「なかなか第一歩が踏み出せない」「自分には難しそう..」という方も多くいると聞きます。(私も最初はそうでした)
そこでこのセッションでは、AWS Community Builderである私がどのように技術コミュニティに参加・貢献するようになったのか、そして技術コミュニティにはどんな魅力があり、技術コミュニティを通してどのように自分の未来が拡がったのかなど、技術コミュニティの魅力やメリットをお話ししたいと思います。
技術、言語、コミュニティなど様々な分野の未来を創っていくためにはその分野に新しく入ってきてくれる人が不可欠です。新しい人に興味をもってもらう方法の1つに「ワークショップ」があります。ワークショップとは参加者の主体性を重視した体験型の学習で、メンターのサポートを受けながら、参加者が実際に手を動かして学びます。一人で始めるにはハードルが高いことでも、サポートのある中であれば安心してチャレンジができます。また、やってみたら意外と楽しかったという経験ができればその後の継続に繋がります。
ではそんな「ワークショップ」はどうやって作ればよいのでしょうか?
このトークでは学生向けプログラミングワークショップを内容から考え実施した経験を基に、ワークショップに必要な要素、コンテンツの作り方、ゴール設定、そして主催者の自己満足に陥ることなく、参加者にとって価値のある体験を提供する方法についてお伝えします。
2024年5月、それまで4年間エンジニアとしてキャリアを歩んでいた私は社内の肝煎りプロダクトのPdMを任命されました。
私たちは「不動産デベロッパー」、つまり街を作る人たちの業務改善アプリケーションを作っています。
不動産デベロッパーのビジネスは複雑性が高く、プロダクトの0→1を達成するには様々な困難がつきまといました。
今回は私たちが直面した様々な課題、またその課題をどのように乗り越えたのかを紹介できればと思います。
WebAPIを介して他のサービスと連携して、新しいサービスを作ることってありますよね。Googleアカウントでログインする機能の実装はまさにその一例です。
しかし、OpenAPI Specification等のフォーマットで各APIの仕様が公開されていたとしても、それらをどう組み合わせれば目的のユースケースを実現できるかは自明ではありません。ドキュメントを読み込み試行錯誤する中で、API間の依存関係やシーケンスを解き明かした経験がある方も多いのではないでしょうか。
そこで現在OpenAPI Initiativeで検討されているのが、2024年5月にv1.0.0が公開された、Arazzo Specificationと呼ばれるAPI Workflow定義です。
本セッションでは、そんなArazzoの内容、Arazzoが切り開く未来のユースケースを紹介し、対応ツールの自作で得た学びを共有します。
皆さんの周りに、つらそうな顔をしている人はいますか? 突然体調を崩し、なし崩し的に休職、退職していった方はいますか?
メンタルヘルス不調による休業・退職率について厚生労働省が行った令和4年の調査によると、ITエンジニアは全業界中でもワースト1位という結果が出ています。
リモートワークが当たり前になった現代。円安が進み、不安が増え続ける社会情勢。技術進化による職場環境の急激な変化……。
もしかしたら数ヶ月、あるいは数年後には自分が罹患するかもしれない。
技術だけでなく、健康についても、きちんと我々は知っておくべきだと、私は考えます。
このトークでは、実際にうつ病と診断され休職→退職を経て、再びエンジニアとして復職した私が、
一体どうやって自分と向き合い、そして前へ歩き出したのか、今どんな風に働いているのかと、これからについて、明るく話したいと思います。
プログラマとして生きてきて知識や技術も身につき、「こういうアプリケーションが欲しい」と思ったものをある程度は自分で作れるようになってきました。
過去には機械学習によるアイドル顔識別器、またそのデータセット管理システムなど。最近では
などを作っています。
すべて自分の趣味として「欲しい」と思ったものの、しっくりくるものが無かったので土台の部品から自分で作ったものたちです。
誰かが作った既存のものを組み合わせても良いですが、「自分好みのものを自分で作る」のも、とても楽しいものです。多くの学びも得ることができました。
未来の自分、または他の誰かが使うかもしれないものを、こだわり持って自作することの楽しさをお伝えしたいと思います。
プライベートのプログラミングでは、OSSへの貢献、競技プロ、個人開発のWebサービス、未経験エンジニアのポートフォリオ作成などがあります。これらは自身のキャリアや利益に繋がる素晴らしい活動です。しかし、プログラミングはもっと自由で良いのです。
本講演では、キャリアや地位、お金のためではない「第三のプログラミングの選択肢」として、「クソアプリアドベントカレンダー」を紹介します。これは今年で10年目を迎え、私は毎年皆勤賞で参加しています。
毎年人気を博しているこのイベントでは、品質や独自性にこだわらず、少なくとも自分が欲しくてたまらない機能を持つサービスを作る楽しさを共有します。
業務では再利用性やバグが発生しないように考慮しますが、プログラミングを覚えた頃のように、「これをやったら面白そう」「こうしたらどうだろう?」というモチベーションで不完全なプログラミングを楽しみましょう。
キャッシュレス決済がどんどん普及する今、様々な電子決済サービスが日常的に利用されています。一昔前は現金が一般的で、お金を預ける先といえば銀行でした。そして銀行のシステムには絶大な信頼感があります。
私が開発しているB/43では、プリペイドカードを発行して決済に利用するお金を事前に入金してもらいます。銀行ではない我々は、ユーザーから入金してもらったお金をどのように守っているのでしょうか?皆さんも一度は本当に使って大丈夫なのか?データ不整合は起きない?会社が倒産したら返金される?忘れたまま放置して大丈夫?など、不安になったこともあるのではないでしょうか。
お金を守るための法規制やそれを準拠するシステム、エンジニアやCSが行っている実務に興味はありませんか?今後も拡大していくキャッシュレス社会の未来に備えて、知っておくと安心な電子決済サービスの知識やそれを支える仕組みについてお話しします。
皆さんは普段からアウトプットをしていますか?
何かをインプットしたらアウトプットをすると良いという話はどこでも聞くことができます。
私自身、アウトプットの一つの形として、個人で技術を中心にした話題を扱うブログサイトを運営しています。内容には濃淡がありますが、2018年頃から最低でも週に1記事のペースで投稿しています。
投稿した記事の内容は多岐に渡りますが、過去の自分に感謝する記事もあります。
そこで今回は、普段アウトプットしたいけれど良い方法が見つからない人に向けて、以下のような内容をお話しできればと考えています
皆さん runn という OSS はご存知でしょうか?
登壇者が2年前に出会い、一目惚れした推しツールとなります。
推し活動をし続けていたら、なんやかんやがあって何故か登壇したり、本を作ったりするなどしました。
runn は APIシナリオテストツールに留まらない大変便利な機能が多く存在します。
その機能のアイデアの幾つかが「カンファレンスの廊下」で生まれていっています。
runn はカンファレンス駆動開発によって支えられていると感じています。
本トークを通して以下のゴールを目指したいと考えます。