Cybozu Inside Out | サイボウズエンジニアのブログ

 

JaSST'24 Tokyo 参加レポート

こんにちは。サイボウズのQAエンジニアの斉藤です。

3/14-3/15に開催されたJaSST'24 Tokyoに、サイボウズはゴールドスポンサーとして協賛しました。 サイボウズのセッションにご参加いただいたみなさま、ありがとうございました。 こちらの記事では、当日の発表内容や資料のご紹介をさせていただきます。

今年はテクノロジーセッション、事例セッション、企画セッション、ミニセッションと数多くのセッションでサイボウズの社員が登壇させていただきました。

1. テクノロジーセッション

①既存プロセスからの脱却と変化に適応するために必要なこと @とうま

speakerdeck.com

kintone開発チームでQAプロセス改善を促進させるために行った取り組みと、その結果どのような変化が起こったかを紹介しました。

②三社三様のQAのカタチ @佐々木 千絵美、斉藤 裕希

東急 URBAN HACKS様、テクバン様、サイボウズの三社でパネルディスカッションを行いました。資料はJaSST公式から公開されるまでお待ちください。

2. 事例セッション

①スプリント内で試験を完了させるには?アジャイル・スクラム開発に参加したQAエンジニアの悩みと対策 @渡邉 豊幹

speakerdeck.com

スプリント内で試験を完了しフィードバックを行えるようにした取り組みとその結果について紹介しました。

②サイボウズのQAエンジニア育成 @斉藤 裕希

speakerdeck.com

中途入社した側の目線から、入社時オンボーディングの内容や自身の変化についてお話しました。

3. 企画セッション

「価値あるソフトウェア」の”価値”ってなぁに? @永田 敦

さまざまな価値が存在する中、われわれが向き合うべき「価値あるソフトウェア」の”価値”とはいったい何なのか?というテーマでの企画セッションでした。資料はJaSST公式からご確認ください。

4. ミニセッション

ここからは、Discordのボイスチャンネルで配信した発表です。

①サイボウズQAの紹介 @斉藤 裕希

speakerdeck.com サイボウズのQAエンジニアの業務、体制、特徴、各チームの取り組みなどについてご紹介しました。

②試験仕様書の英語化をやってみたら試験仕様書の本質が見えてきた @臼井 新

speakerdeck.com 試験仕様書の英語化と英文の添削を通じて見えてきた「試験仕様書で何をどのように伝えるべきか」についてお話ししました。

③販売管理オペレーターが開発チームの一員となった話 @浜田 じゅり

speakerdeck.com 営業アシスタントが開発チームの一員となったきっかけ、業務内容、その影響などをお話ししました。

④主体的な活動で巨大な影響範囲のテストを乗りこなしていく話 @福元 春輝

speakerdeck.com Garoonを新インフラへ移行していくにあたり、GaroonのみならずGaroonを取り巻く他サービスとの関連(全体像)の把握やテスト設計漏れを防ぐために、どのような取り組みを行ったのかをご紹介しました。

終わりに

当日は情報交換会でお話させていただいたり、DiscordやSNSでいただいた反応がとても励みになりました。ありがとうございました。

今後も色々なイベントで引き続き登壇できるよう、頑張っていきたいと思います。

また、私たちは「チームワークあふれる社会を創る」という理念のもと、日々チームワークを支えるソフトウェアの開発に取り組んでおり、現在一緒に働くQAエンジニアの仲間を募集しています。

少しでもご興味を持っていただいた方は下記採用ページをご覧ください。

QAエンジニアキャリア採用 募集要項 | 採用情報 | サイボウズ株式会社

 

エンジニアインターンシップ2024を開催します!

こんにちは!エンジニアインターン運営チームです。

サイボウズでは毎年夏に、エンジニア/デザイナー向けサマーインターンシップを開催しています。今年も昨年に引き続き、フルリモートでインターンを開催します。

インターン2024ロゴ
インターン2024ロゴ

製品開発を行うチームに加えて、製品開発を支えるチームやプラットフォームに関わるコースなど、幅広くご用意しています。 その数なんと17コース!!(過去最多、二年連続)

課題や業務を通して、チームが実際に使っている環境を体験しながら、開発や現場の雰囲気に触れることができます。 社長と話す機会や、気になる社員を指名して1対1で話す時間など、コンテンツ以外の社員との交流も予定しています。

サイボウズの風土や雰囲気をインターンを通して感じてみませんか?皆様からのエントリーをお待ちしております!

エントリー期間

2024年4月22日(月) 10:00 ~ 2024年5月7日(火) 10:00

例年に比べてエントリー期間が短くなっています。ご注意ください。

待遇

  • 日当 15,000円 ~ 20,000円 (コースにより異なります。)
  • ランチ補助

対象

  • 2026年4月に入社が可能な方
  • 日本国内でインターンに参加できる方

開催コース

  • kintone 開発
  • Garoon 性能改善
  • Garoon PHPアップデート
  • フロントエンドエキスパート
  • フロントエンドリアーキテクト
  • プラットフォーム(AWS)
  • プラットフォーム(自社基盤)
  • Kubernetes基盤開発
  • ストレージ
  • iOS育成型
  • iOS実務体験型
  • Android1週間
  • Android2週間
  • プロダクトセキュリティ
  • プロダクトデザイナー
  • 生産性向上

(品質保証(QA) コースは現時点での詳細は未定です。)

各コースの内容、応募方法や報酬などの詳細は特設サイトをご確認ください。 cybozu.co.jp ※コースによって開催時期が異なりますのでご注意ください。

参考情報

昨年までのインターンの報告も投稿しておりますので、ぜひご覧ください。 blog.cybozu.io

 

kintone 新機能開発 23 卒 1 年目を振り返って

kintone 新機能開発チームに 23 新卒で入った、エンジニアの宇都宮、柿崎、宮村、和渕、デザイナーのかやです。

23 新卒として一緒に入社した他チームの同期から、kintone 開発について聞いてみたいことを募集しました。 その中からいくつかピックアップして、みんなで答えていきました!

以下のような方の参考になると嬉しいです。

  • サイボウズに興味を持ってくれている就活生
  • 24 卒・25 卒で kintone の開発に興味を持ってくれている人
  • 配属で kintone 新機能開発を希望するサイボウズの新入社員

質問

質問 1 : kintone と他チームを比べて特徴的だなと新卒目線で感じていることは何ですか?

質問1 : kintone と他チームを比べて特徴的だなと新卒目線で感じていることは何ですか?
質問 1 : kintone と他チームを比べて特徴的だなと新卒目線で感じていることは何ですか?

モブプログラミング

和渕:これはモブプログラミング。モブプログラミングの時間多いねって他の同期に言われた。他チームと比較すると、長いんだと感じた。

領域ごとのチーム分割

宮村 : ユーザーの動線ごとに、チームが分かれているっていうところも特徴的だなと。

かや : 質問なんだけど、エンジニアが領域ごとにチームを分割しているのってなぜ?

和渕 : 1 つは、認知負荷を下げる目的がある。あと、自立性を高めて、価値提供のスピードを上げる目的があるね。 この記事がわかりやすいかも。

speakerdeck.com

宮村 : あと、担当範囲が狭いからこそ、その分野にフォーカスすることができて、その領域の専門になれるっていう側面もあるなと感じた。

新機能開発ができる

宇都宮 : 他チームでここまで新機能の開発してるとこってあんまりないかも。

和渕 : ユーザーにダイレクトに届く新機能開発ができるっていうのは嬉しい。

柿崎 : SNS で自分が開発した機能にポジティブな反応を見つけたときは嬉しかった。そういうのも kintone 新機能開発ならでは。

和渕 : こんな魅力的なチームがあっていいんでしょうか。

質問 2 : 1 年を振り返って 1 番大変だったことは何ですか?

質問2: 1 年を振り返って 1 番大変だったことは何ですか?
質問 2: 1 年を振り返って 1 番大変だったことは何ですか?

リリースのプロセス理解が大変

和渕:リリースのプロセスが 1 番大変だった。提供環境が複数あるし、提供順のルールもある。そこに、アップデートチャネルの概念もあるし、把握が難しい。今でもドキュメントを見返すときがある。 「アップデートチャネル」っていうのは、以前は新機能が適用されるタイミングが一律で月一度だったのが、2023年5月以降「アップデートチャネル」の「最新チャネル」か「月例チャネル」を選択することで、新機能を使えるタイミングをユーザーが変えられるようにした機能だね。

アップデートチャネルについて
アップデートチャネルについて

柿崎:いまだにちゃんとわかってるか微妙。リリース担当の方の仕事も複雑そう。

宮村:確かに複雑。ただ、今社内で改善の動きが起こっている。 リリースのやり方がより自由になっていくと思われるので、逆に考慮すべき点は増えそうな気がしている。 例えばデスクトップ通知とか。お客様の反応を見ながらリリースしたい機能だったので、一部の環境のみに先行提供してみたり。考えることが多かった。

和渕:考えることが多いことに対して、進め方でそこを軽減していった感じ?

宮村:決めの問題の調整が難しかった印象かな。

判断の難しさ

宇都宮:サブチームも裁量が大きいのは感じてて、その中で判断基準となるユーザー像がないから、実装時の判断に自信持てない。ベテランの人もそうだと思うけど、それが 1 番大変。自分の判断がいいのか悪いのか評価が難しいってところ。

かや:自分たちも普段 kintone を使う 1 ユーザーだけど、それで理解できてるのってエンドユーザーにとっての kintone のごく一部に過ぎなくて、情シスとかアプリ管理者とか立場が違えばよく使う機能や画面も違うし、価値を感じてもらえる部分も違う。だからそこを想像して判断するの難しいよね。

柿崎:今 React 化をやっていて、どこからやってくかという判断が難しい。大体先んじて React 化検証していたチームが大体優先順位を決めてくれているけど、自分のチームも担当することになって、何をどこまでやるかを自分たちで決めないといけないから、このフィールドはユーザーが何のためにどういう場面でどこまで作るのかっていうのが難しい。先輩の判断見てうまく判断できるようになりたい。

和渕 : みんな共通して、ユーザー像の把握が難しいっていうのがありそう。

柿崎 : いろんな属性のユーザーがいるからね。

質問 3 : 想定通りだったこと / 想定外だったことは何ですか?

質問 3 : 想定通りだったこと / 想定外だったことは何ですか?
質問 3 : 想定通りだったこと / 想定外だったことは何ですか?

機能理解が大変

和渕:kintone の全体感を掴むのは大変なんだろうな、と想定していたが、想定通り大変だった。 いつになったら kintone なんとなくわかったって言えるんだろうって今でも感じる。

柿崎 : 機能領域ごとにサブチームに分かれている。それでも、自分の領域でもわからないことはまだあるし、他の領域となるとわからないことが全然あって、確かにって思った。 チーム内でのタスクの進め方として、モブプロが中心だったのは想定通り。kintone 新機能開発チームならではの色だなと思う。

和渕 : エンジニアは機能領域ごとにチームが分かれていて、業務を進める上で理解するべきことの幅が限られているけど、デザイナーは領域分かれていない。kintone 全体を見ないといけない大変さとか難しさとかある?

かや :「前に同じようなところのデザインを担当した人が継続して担当する」とかざっくりとした分担は部分的にあるけど、明確には分けてないので担当しうる範囲は基本全部。なので今は新しいタスクに取り組む度に該当する機能とか画面を理解するところから入っている。デザイン変えるとなった場合全体がわかってないと他の部分にどう影響するかを考慮しきれないから、それは難しいなと思う。

和渕 : エンジニアの自分の領域内ですら、こんな機能あったんだ、ってなるから、全領域見てるってことはその発生頻度が凄そう。

かや :特定の領域に特化していると、ユーザー像とか機能の使われ方がある程度限定される分想定しやすいとかある?自分の担当領域だったら結構理解できてる?

和渕 : 理解しているかどうかだと、まだまだ難しい。ユーザー理解の部分が特に乏しい。

宮村 : ユーザー理解は自分でも難しいなあと感じる。自分たちが必要だと判断したところが意外と必要なかったり、逆に、あまり使われないかな、と想定したところが重要だったり。

リリースのスピード感

かや : 新機能をリリースするときにしっかりユーザーテストしたりして徹底的に検証するイメージを持っていたけど、素早くリリースして実際のユーザーに使ってもらう中で判断していくというスタンスがあることに驚いた。それを可能にしているのは先述の「アップデートチャネル」というもので、「最新チャネル」を選択したユーザーにより多くの新機能を早いタイミングで使ってもらえるようになったというのが背景としてあるよね。

提案が通りやすい & 変化が求められる

柿崎 : サブチームに分かれていて、1 つのチームが小さいから、開発の進め方とかスクラム開発の体制とかに対して、提案が通りやすいのは嬉しい想定外だった。とりあえずやってみようっていう流れがある気がする。

和渕:わかる。成長途中のチームだなっていうのが想定外。チームとして歴史があるから、安定していて、進め方の型決まってると思ってたけど、変化を求められてる段階だったっていうのが意外だった。

柿崎:ちょこちょこ変わってく部分がある気がする。

製品の伸び代

かや:製品の「伸び代」も予想以上に大きかった。歴も長いし既にたくさんの人に使ってもらっているから、ほぼ完成系の製品だと思ってた。けど実際は「ここ改善したい」っていうのがたくさん出てくるし新しい機能や画面を追加することも多いし、まだまだやれることがたくさんある。伸び代だね。

和渕 : 伸び代あるのはいいことですから。

コードが整備されている

宇都宮:読みづらいコードなかったのが意外。歴史長いと割と読みづらいコードが多いイメージ。ただ、そんなコードがなくて、いい想定外だった。

柿崎:フロントエンドのフレームワークの刷新もするしね。Closure Toolsに比べて React はわかりやすい気がする。

質問 4 : やりがいを教えてください!

質問 4 : やりがいを教えてください!
質問 4 : やりがいを教えてください!

ユーザーからのフィードバック

和渕 : 1 つはさっきも話に上がった、自分の作った機能に対してのフィードバックが直接くるっていうのがあるよね。

柿崎:Days とかでも大規模なイベントがあって、実際のユーザーと関われたりどう使ってくれているのかを知られたりするのはモチベーションになる。

days.cybozu.co.jp

様々な制約を超える達成感

和渕 : kintone に限らないかもだけど、サイボウズとしてパートナービジネス戦略をとっているからこその考慮点がある。考えないといけないこと多くて難しいからこそ、そこを超えるやりがいはある。 これはサイボウズじゃないとできない経験の 1 つなんだろうなと感じる。

かや : 制約がいっぱいあるからこそ、そこを超えられたときの達成感がある。

ユーザーとして改善したいところを自分で改善できる

かや : 普段 kintone を使っているからこそ「ここ直したい」「こうだったらいいな」みたいなことが出てきやすくて、それを自分の手で良くしていける可能性があるのはいいなと思う。愛着も湧くしね。 実際に、入社後に行った改善の例としては、チェックボックスの改善があるよ。

note.com

コード書くのが楽しい

宮村:コード書くの楽しい。kintone のコードを書くの楽しい。

和渕:どこら辺楽しい?これだけ規模が大きいコードを書けるところとか?

宮村:それもある。元々のコードが綺麗だから、あ、いいコード書けたってなりやすい。

和渕:既存コードがしっかりしているよね。

わからないことをどんどん追求できる

宇都宮:kintone の仕様や設計などで、わからないこと多すぎる。芋蔓式に出てくる。終わりが見えないから、いつまででもできる。kintone はドキュメントが整備されているから、自分で解決できる。人に聞かないとわからないでしょみたいなのが、他のプロダクトに比べるとなさそう。調べやすいのはいい。

対象顧客が多いからこそのやりがい

和渕:対象顧客が多いからユーザー像掴みにくい、手触り感持ちにくいなとは感じつつ、やりがいだなと感じている。

まとめ

みんな、楽しく色々なことを学びながら、 1 年間を過ごせていたことがわかりました! kintone の新機能開発について少しでも雰囲気が伝わっていると嬉しいです。

2 年目も頑張っていきます!

 

リレーブログ企画:スクラムマスターって何をするの?チームを健全に保つ多様なリーダーシップの実際

こんにちは。シニアスクラムマスターの天野 @ama_ch です。

スクラムマスターとは一体何をする人なのでしょうか。スクラムマスターを職能と位置付けているサイボウズ社内でも、まだまだ理解が浸透しているとは言えず、啓蒙活動の必要性がよく話題に上ります。

スクラムマスターの理解が進むことで、チーム・組織はスクラムマスターからより多くのメリットを享受することができ、スクラムマスターの能力を伸ばす機会も増えると考えます。そこで、スクラムマスターについてより理解していただくための実験として、リレーブログ企画を始めることにしました。

本記事に、企画の概要と各記事へのリンクをまとめます。

タイトル

スクラムマスターって何をするの?チームを健全に保つ多様なリーダーシップの実際

概要

「スクラムマスターって何をするの?」

スクラムを知って間もない人に最もよく聞かれる質問のひとつです。それはスクラムマスターを職能として定義・運用しているサイボウズにおいても同じです。サイボウズのスクラムマスターの責任は「チームを健全に保つこと」と定義していますが、この責任を果たすために実際に行う活動は多岐に渡ります。よってスクラムマスターの具体的な活動はイメージしづらく、どんな期待を持って接すれば良いのか分からないという問題がよく起こります。

このリレーブログ企画では、サイボウズで実際にスクラムマスターとして活動しているメンバーの具体的な仕事に焦点を当てます。この企画を通じて、スクラムマスターの日々の業務、直面する課題、そしてチームや組織に対してどのような影響を与えるか紹介します。具体的な事例をもとに、スクラムマスターについての理解を深め、みなさんがスクラムマスターから享受できるメリットを最大化することを目指します。本企画を通じて、スクラムマスターと効果的にコラボレーションできるようになれば幸いです。

対象読者

スクラムマスターが近くにいるけどありがたみを感じたことがない人

学習成果 (Learning Outcome)

記事の内容に関連する悩みについて、近くのスクラムマスターに相談できるようになる

記事一覧

乞うご期待!

 

「第13期サイボウズ・ラボユース成果発表会」開催

サイボウズ・ラボの中谷です。 今回は2024年3月29日にサイボウズ東京オフィスで開催された第13期サイボウズ・ラボユース成果発表会の模様を紹介します。

サイボウズ・ラボユース

サイボウズ・ラボユースは日本の若手エンジニアを発掘し、育成する場を提供する制度です。インターンと似ていますが、最長で1年間という長期サポートと、テーマをサイボウズ・ラボで設定するのではなく、ラボユース生個人が作りたいものをテーマとする点が特徴です。

今回の成果発表会では、第12期から引き続き活動していた学生も含めて16名のラボユース生が研究開発に取り組んだ成果を発表してくれました。

近年はコロナウィルスの影響でこの成果発表会もオンライン開催が続いていましたが、今回は 2019年の第8期成果発表会以来、5年ぶりのリアル開催となりました。今年度は夏合宿も4年ぶりに開催できたりと、徐々に社会がもとに戻っている手応えがありますね。

また4月12日にサイボウズ・ラボユースのオンライン説明会も予定しています。ご興味のある方はご参加いただけると大変嬉しいです。

発表会レポート

www.youtube.com

今回の発表をそれぞれ簡単に紹介します。

第13期サイボウズ・ラボユース成果発表会

第一部

伊藤 愛香 「ラボユースと私のマイペースな二年間」 (メンター:生田)

伊藤さんは、12期をラボユース研究生として、13期をラボユース生として活動しました。 研究生のときは卒業研究のテーマであった、日常利用を想定したAR空間での情報配置デザインの比較検討についての活動をし、実験手法や評価についてメンターとの議論を重ねてきました。 ラボユース生になってからは、街歩きの体験価値向上のためのナビゲーションアプリの開発に取り組みました。従来の最短経路を表示するナビゲーションではなく、目的地までの街歩きが楽しくなるような体験について検討し、興味があるカテゴリのスポットをできるだけ多く通る道を選択肢として提示するシステムのプロトタイプを完成させました。

重本 玲奈 「紙への手書きとデジタルメディアの利点を融合したメディア体験の提案」 (メンター:生田)

重本さんは、紙への手書きに対するこだわりを持ち、手書きとデジタルメディアとが融合することで新たなメディア体験を創出することを目指して活動しています。 これまで開発していた、紙に手書きをしたストロークをデジタル空間で情報共有可能なシステムをベースに、新たなメディア体験の設計や機能開発をラボユース期間中に取り組んできました。メディア体験の設計に苦労しながらも根気強く取り組み続け、現在は、書籍に対する手書きメモとその情報共有による新たなメディア体験が可能なシステムの開発を進めています。 今後は、開発中のシステムを完成させ、ユーザスタディを通してメディア体験の評価を進めていく予定です。

柏木 力哉 「関数型プログラミング言語の型保存コンパイラ」 (メンター:川合)

高級言語が持つ型情報をコンパイル時にも保存して、型付きアセンブリ言語を生成できるようにします。これによりコンパイルの各段階で型情報を利用したバグの検出や最適化が可能になります。また、相互再起関数を含めた型付きクロージャ変換を考案して実装しています。

今後の課題としては、型保存コンパイルの効率や安全性をさらに改善すること、言語に実用的な機能(データ型、パターンマッチ、多相型)を導入することです。

高名 典雅 「RISC-Vのアドレス変換を可視化する」 (メンター:川合)

ラボユース期間ではRISC-Vエミュレータ「carron」をRustで書きました。rv32imacとrv64imacに対応して合計9000行ほどです。このエミュレータでLinuxを動かすという目標も達成しています。

今回の発表では、RISC-Vのアドレス変換の自作ビジュアライザを紹介しました。これはRISC-Vの低レイヤのプログラムを書いているとアドレス変換がうまくいかなくて苦労するため、設定値が期待通りの動作をしているのか確認するためのものです。このビジュアライザはRust+dioxus+trunkで書かれていてブラウザ上で動作するので、RISC-Vアドレス変換のデバッグの際はぜひ使ってみてください。

福田 優真 「スクリプト言語の開発」 (メンター:川合)

以前よりプログラミング言語の開発に興味を持っていて、ラボユース期間では2つのスクリプト言語を作りました。

一つ目の言語は、前半のモジュール定義部と後半のスクリプト記述部に分離している言語で、直感的で読みやすくなっています。関数定義はScalaライクな構文を採用しています。また関数呼び出しの際はコマンドラインシェルのように引数にカッコをつけずにスペース区切りで書くことも許されており、好きな方を選べます。

二つ目の言語は、Gleamのuse構文やKokaのwith構文に類似したusing構文を持っていて、これによりネストを深くせずに簡潔に書けるようになります。発表では「Minecraftのログを解析して入退室をDiscordに通知」する例を5行で書いて例にしました。なおどちらの言語もRustで実装されています。

今後の展望としては、この2つの言語を統合したいと考えています。

山口 雄翔 「Rustによる自作OS」 (メンター:川合)

ラボユースでは、教育用OSへのNICドライバの実装・Linuxへの移植と、Rustでの自作OSをやりました。今回の発表では、自作OSの件を紹介しました。このOSはx86(32bit)用でエミュレータ(QEMU)で動作確認しています。現在のコード規模は1200行程度で(テスト含む)、キーボード/VGA/UARTによる簡単な入出力とページングができるようになっています。

今後は割り込み処理やマルチタスク、マルチコア対応、ファイルシステム、ユーザプログラム起動などに対応していきたいです。

第二部

阿部 奏太 「自作 RISC-V CPU の高速化」 (メンター:内田)

ラボユース期間で、自作の RISC-V CPU にパイプライン処理やアウトオブオーダー実行の機能を加えました。 これらの機能は CPU の処理をとても複雑にするため、たびたびバグが発生し、その都度乗り越えました。 追加した機能によるクロック数の削減量を計測し、確かに高速化することを確認しました。

櫻井 拓馬 「NAND Only CPU の安定化と高機能化」 (メンター:内田)

NAND という基本的な論理素子のみを使って、ちゃんと動く CPU を作りました。名付けて NLP-16 です。 ラボユースでは NLP-16 の動作の安定化と命令の高機能化を図った NLP-16A を設計・実装しました。

また櫻井さんは実際にNANDゲートで構成したCPUの実機を展示・デモをしてくれました(下の写真の機械全体で1個のCPUです)。

NANDのみで構成したCPU NLP-16A

高棟 雄斗 「Merkle-CRDTを使った分散KVSの実装に向けて」 (メンター:星野)

高棟さんは、Merkle-CRDT を使って分散 KVS を作ってみたいと、まさに今回のタイトル通りのテーマを掲げてラボユースに応募してきました。 Merkle-CRDT についての一番マシだと思われる情報源は arXiv にある Preprint 論文なのですが、これが難解で、設計・実装できそうだという状況になるまでにかなり時間がかかりました。 論文を読むのに慣れていない状況で、やりたいことについて書いてあるのがこの論文だったことは、高棟さんも運が悪い……(一緒に読んだメンターも?)と思わなくもないですが、実装できるところまでこれて良かったです。 今は簡単な CRDT の実装が動くようになったところで、これから分散 KVS に取り組んでいく予定です。

多田 瑛貴 「Rust製Linuxウインドウマネージャ開発を通じた良い設計へのアプローチ」 (メンター:星野)

多田さんは、良い設計とは何かについて本などを通じて学ぶ活動と、ウィンドウマネージャという具体的なソフトウェアにおいて設計の善し悪しを考える活動に取り組んでいます。 ウィンドウマネージャは過去に作ったこともあるということでしたので設計について学ぶ良い題材だったと思います。 一方で Rust は評判が良いので使ってみたいという軽いノリだったので少し心配しましたが、コードを書き始めたら割とすぐに動くものが出来ていたので杞憂でした。 ラボユース活動を通じて、設計の善し悪しについての判断軸を得ることができたのではないかと思います。

小栗 悠太郎 「DBMS自作によるトランザクション処理の学習」 (メンター:星野)

小栗さんは大学の卒業論文に取り組む年度であるにも関わらず、10 月にラボユース活動を開始したチャレンジャーです。 卒論を無事に終えたどころか、国際会議にも論文を投稿しています。 ラボユースでは、SimpleDB という本を教材にトランザクション処理について学んでいます。 小栗さんの専門はベクトル検索ということもあり、今作っている DBMS はトランザクション処理機能に加えて、 ベクトル検索機能を搭載するのが目標だそうです。

第三部

加藤 万理子 「言語モデルは音楽データから自然言語の構文的性質を学習するか?」 (メンター:中谷)

加藤さんは、言語モデルの入力に含まれるどのような知識が単語ベクトル表現として獲得されているのかに興味を持ち、特に音楽データから言語に関する知識が獲得できるかを、実験によって調べました。実験では、LSTMモデルに対して英語、日本語、音楽データ(MAESTRO)、ランダムデータ(Zipf分布と一様分布)で事前学習を行い、英語への転移性能を評価しました。 実験結果は、音楽データの埋め込み表現に句構造などの言語情報が含まれ、これが言語データの埋め込み表現と類似の構造を持つことを示唆していました。単語ベクトル表現の可視化からも、言語や音楽から得られた表現はランダムなデータとは異なることが確認できました。 加藤さんは今後もこの研究を継続し、言語の構造を探究していくとのことです。

西本 晋平 「赤外線リング構造検出に向けた深層学習モデルの開発」 (メンター:中谷)

天文学を専攻する西本さんは、可視光以外の観測データを用いた研究を行っています。今回の発表では、NASA の Spitzer 宇宙望遠鏡で観測された赤外線データから、太陽の8倍以上の質量を持つ大質量星が誕生した際に形成される構造である Spitzer Bubble(赤外線リング構造)を検出する深層学習モデルの開発について報告しました。 SSDというモデルを使用し、観測データから赤外線リング構造の位置を出力するシステムを開発、銀経10.5度から22.5度、銀緯-1度から1度の領域で学習したモデルを用いて推論したところ、多数の赤外線リング構造を見つけることができました。さらに、このモデルをCygnus X(白鳥座の領域)などの他の銀河にも適用したところ、リング構造らしい特徴を持つ天体を検出することができました。 今後もこのモデルの開発を続け、研究を進めていく予定です。

湯谷 承将 「深層学習モデルを用いたウェーブテーブル合成における意味的な音色制御」 (メンター:中谷)

シンセサイザーの音作りは複雑で難しいという課題に着目し、ウェーブテーブル合成に深層生成モデルを適用することで、直感的な音色制御を目指しました。提案手法では、条件付き変分オートエンコーダ(CVAE)を用いて、ウェーブテーブルに対する意味的なラベル(明るさ、温かさ、豊かさ)を条件として生成を行います。 モデルの評価では、再構成精度、条件付け生成の制御性、生成時間の3点に注目しました。その結果、高品質な再構成が可能であり、条件付けラベルに沿った生成ができることを確認しました。また、高いリアルタイム性も実現できました。 今後の課題として、条件付け生成の制御性改善のためのデータ数増加やモデル構成の検討、さらなるリアルタイム性の向上などを挙げていました。 また懇親会では音色をリアルタイムに変更する実機デモも行ってくれました。

「CVAEを用いたウェーブテーブル合成の意味的な音色制御」実機デモ

青木 志穂 「天然変性タンパク質の分子動力学法シミュレーション法における高速処理方法の検討」 (メンター:光成)

天然変性タンパク質とは変性領域と呼ばれる構造的に不安定な部分で、タンパク質の性質に重要な役割を果たすのですが、計算シミュレーションが難しい部分です。 その部分を高速化できないか検討を始めました。分子動力学法シミュレーション法(MD)のコアの部分は実装し、MDに渡す準備の部分もできるだけ自動化しました。 現在、既存システムGROMACSの評価をしていて、GPUのプロファイルに苦戦してるところです。 今後は自分で実装したMDのコアの部分を高速化していく予定です。

斉藤 楽 「SRv6 L2VPNの実装」 (メンター:光成)

従来IPv6のカプセル化が機能ごとに分かれていたのをまとめて、柔軟性と効率性を高めたのがSRv6です。 当初はGoでrawソケットを使って開発を始めたのですが、プログラミングの基礎をきちんと勉強する必要が分かりました。 それで『C言語[完全]入門』をサンプルコードを動かしながら勉強を進めて最後まで終わったので、いよいよネットワークプログラミングに戻ってきたところです。 デバッグ中にパケットキャプチャし続けていたのでパケットダンプを見てある程度構造が分かるようになりました。 今後は本来のSRv6の開発に着手する予定です。

まとめ

この発表まとめからもわかる通り、サイボウズ・ラボユースの活動範囲は非常に幅広く、おのおののラボユース生が自分の好きを追求しています。 今年度もサイボウズ・ラボユースは新たな応募をお待ちしていますので、興味を惹かれましたら説明会へのご参加や応募をご検討ください。