おはようございます!「zenncast」にお越しいただき、ありがとうございます。今日は2024年6月1日、土曜日です。今日もZennでトレンドの記事をいくつかご紹介していきますよ!
前回紹介した記事は、「2日でファン限定支援サイトを作った話」、「入力線画を全く変えずに画像生成AIに色塗りさせる方法」、そして「JavaScriptの正規表現でgフラグを使う際は気をつけた方が良い」でした。それぞれ、短期間での開発、AIの活用、正規表現の注意点についての興味深い話題でしたよね。
さて、今日は5本の記事をご紹介します。まず1本目は...
。。。。
「React+TypeScript のコードをタイピングするゲームを作った話&個人開発の流れについて」です。この記事は、株式会社ソーシャルPLUSのフロントエンドエンジニア、@zomysanさんによるものです。ReactとTypeScriptを使って「tstt」というタイピングゲームを開発した過程と、個人開発の進め方について詳しく紹介しています。
「tstt」はTypeScriptのコードを入力して学習するタイピングゲームで、特にReact初学者のために実践的なタイピング練習を提供しています。ゲーム設計のポイントとして、プレイヤーが落ち着いてタイピングに集中できるように残り時間やスコアを表示せず、ランキング機能も排除しています。また、VSCodeに似た書き心地を再現し、括弧の補完機能なども実装されています。
個人開発の流れについても、作りたくなる、要件を決める、もう少し細かく考える、実装する、リリースする、というステップで進める方法が詳しく説明されています。具体的な例を挙げながら、どのように要件を整理し、具体化していくかが紹介されています。今後の改善点として、コードの整備やスコア保存機能、エディタの改善なども挙げています。
。。。。
2本目の記事は「MySQL 5.7 から 8.0 にアップデートして開発者として得たもの」です。アルダグラムのエンジニア、森下霞さんがMySQL 5.7から8.0にアップデートした際に得た利点について詳述しています。
MySQL 8.0では、CTE (Common Table Expressions)の導入によりクエリの可読性と機能性が大幅に向上しました。大規模なテーブルへのカラム追加が非常に高速化され、1,000万行のテーブルにカラムを追加する操作が0.18秒で完了するなどの具体例が紹介されています。
また、`EXPLAIN ANALYZE`によるクエリ分析や降順インデックス、関数インデックスの利用なども新たにサポートされ、クエリの実行速度やマイグレーションの効率が向上しました。これにより、MySQL 8.0の有用性を理解する一助となる内容です。
。。。。
3本目の記事は「Ruby 3.3 + YJITにアップデートしてパフォーマンスが大幅に向上しました」です。マイベストではRuby 3.3.1 + YJITにアップデートした結果、パフォーマンスが大幅に向上しました。
ユーザー向けAPIリクエストのレスポンスタイムが大幅に改善され、特にキャッシュが効かないリクエストが多くなるp95での改善が顕著でした。メモリ使用量に関しては大きな変化は見られず、負荷テストでも問題がないことが確認されています。
このアップデートにより、Rubyコミッターの努力に感謝の意を表しています。もし興味があれば、テックブログ連載企画「mybest BlogKaigi 2024」もご覧ください。
。。。。
4本目の記事は「ELYZA LLM for JP (デモ版)についての解説: (1) 70Bモデルの推論基盤」です。ELYZAのML Engineeringチームがリリースした70Bモデルのデモ版について、その巨大なモデルをどのようにホスティングしているかを解説しています。
推論アーキテクチャはメッセージキューを介して非同期に接続し、量子化による精度劣化を避けるため、インスタンス選定やSpeculative Decodingの手法を用いて推論速度を向上させています。スポットインスタンスを活用し、アクセス状況に応じて柔軟にスケールアウトする体制を整えていますが、開発中の課題も多くあったとのことです。
このデモは、ELYZAの日本語大規模言語モデルの実力をユーザーに体験してもらうことを目的としています。
。。。。
5本目の記事は「ついにSnowflakeにNotebookが搭載された!」です。2024年5月25日、Snowflakeに新機能「Snowflake Notebooks」が追加されました。これは、PythonやSQLなどの多言語に対応したインタラクティブなプログラミング環境です。
Snowflake Notebooksは、セル間でのデータ受け渡しやJinja2記法対応、Streamlitコンポーネントの出力など、6つの優れた機能を提供します。これにより、データサイエンティストにとって非常に使いやすいデータプラットフォームとなり、データ分析業務が効率化され、エンジニアの業務負担が軽減されるでしょう。
。。。。
さて、今日は5本の記事を紹介しましたが、いかがでしたでしょうか?次回もまたお会いできるのを楽しみにしています。詳しい内容はショーノートに書いてありますので、ぜひご覧ください。また、番組の感想も募集していますので、お気軽にお便りくださいね。それでは、素敵な一日をお過ごしください!