https://findy.connpass.com/event/318375/ での登壇資料です。
うちのチームのプログラマーはテストが好きかどうかは分からないけど「これよく見つけたなー」と思うようなバグを見つけてくるからテストがうまいと思う。で、なんでうまいのか考えているのだけど「毎日1時間、システムレベルのテストをしている」のが、うまくなる要因の一つなんじゃないか。— miwa (@miwa719) 2019年6月24日 医用機器(自社製品)のソフトウェア開発に従事して、あと数年で30年になります。いろんなチームに所属し、多くの開発者と一緒に仕事してきましたが、現在所属しているチーム(うちのチーム)のプログラマーはテストがうまいです。プログラマー時代の自分と比較してもそう思いますし、『ソフトウェアテスト』という側面から製品開発を考えられるようになった今の自分から見てもそう思います。いいバグを見つけたなぁ…(素晴らしい)と思うことが多々あります。 うちのチームのプログラマーはなぜテスト
こんにちは、ファインディ株式会社で機械学習エンジニアをしていますsasanoshouta(@Edyyyyon)です。この記事は、ファインディでインシデントが発生した際に行なっているポストモーテムの運用とその様子について、先日発生したインシデントを元に紹介をする記事となっています。 今回発生したインシデントについて まず、今回発生したインシデントについて軽く紹介をさせていただきます。一言で表現すると、サービスの機能の1つを一時的に停止させてしまいました。 ポストモーテムの様子 弊社ではインシデントが発生した際にポストモーテムを実施して再発防止に努めております。 ポストモーテムとは? そもそもポストモーテムとはなんだ?と言う方もおられるかもしれませんので、簡単にご紹介いたします。 ポストモーテムは、インシデントとそのインパクト、その緩和や解消のために行われたアクション、根本原因(群)、インシデ
こんにちは。メルカリ ハロのSoftware Engineer (Engineering Head)の@napoliです。連載:Mercari Hallo, world! -メルカリ ハロ 開発の裏側-の2回目を担当させていただきます。 2024年3月上旬にメルカリ ハロという新しいサービスが公開されました。メルカリ ハロは好きな時間に最短1時間から働ける「空き時間おしごとアプリ」です。 この記事ではメルカリ ハロを作るにあたり、どういった技術スタックやアーキテクチャを選定したのか、さらにその背景と意思決定をご紹介したいと思います。 この記事で得られること メルカリ ハロで採用されている技術スタックやアーキテクチャの全体像 その意思決定の理由とプロセス これから新規サービスを立ち上げるうえでのヒント 主な技術スタック メルカリ ハロで利用されている主な技術スタックは以下のとおりです。 バッ
開発サイクルの終盤に近づくと「今回は優先順位の高いここまでを実装して、残りは優先順位が低いのでまたの機会にしましょう」という話になりがちだ。自分もこれまで何度もそうしてきたし、その場の判断としては正しい。が、このやり方に味をしめて常にこの調子で進めて、なんとなく上手く仕事をこなしている気になってしまうことには危機感がある。 以下、普段考えていることを自戒を込めてメモしておく。(なお、筆者の経験は toB ・Web 系・自社開発が中心なので読者の置かれている状況とは一致しないかもしれない) 優先度が低いタスクに着手する機会が一生訪れない 仮にあるタスクの優先度を下げたとする。バックログを眺めるとそのタスクに着手できそうなのは3ヶ月後だ。そして3ヶ月後、やっとそのタスクに着手できるかというと、そんなことは決してない。3ヶ月の間にそれよりも優先度の高いタスクが積まれているからだ。タスクを消化する
最近、分散データベースとかNewSQLとかサーバレスなデータベースとか色々聞きますよね。 でも、専門ではない人たちにとって、「何が違うの?」「自分たちに必要なDBはどれなの?」という点が分かりづらいと思います。 私も良く聞かれます。 AuroraはNewSQLですか? NewSQLってサーバレスなんですか? スケールできないDBとか聞きますけど、リードレプリカ増やせますよね? などなど。この辺に基本的なところから答えられるように、順を追って解説していきましょう。 「コンピュートとストレージは別であれ」 と神が言うと、コンピュートとストレージは分離された。 と言うのは冗談ですが、まずはここからスタートしましょう。 クラウド以前のデータベースを使っていた人にはお馴染みのように、それまでデータベースは大きな1つの箱でした。 過去に私は下図でデータベース(厳密にはRDBMS)のコンポーネントを解説
はじめに Rubyでゲームボーイのエミュレータを作って、rubyboyという名前のgemで公開しました! (スターをいただけると嬉しいです!) この記事 RUBY BOYの実装手順を説明しながら、ハマった点や工夫した点を紹介します。 またRUBY BOYの高速化のためにやったことを紹介します。 なぜゲームボーイのエミュレータをつくったのか なにか個人開発をしたいが、Webサービスは維持費がかかるので無料で維持できるものを作りたい 業務でRubyを使っていることもあり、以前からRubyのgemを作ってみたかった ゲームのエミュレータ開発は「ゴールが明確&動くと楽しい」ので、モチベを維持しやすそう 特にゲームボーイには思い入れがある → Rubyでゲームボーイのエミュレータを作って、gemで公開しよう! エミュレータの概要 以下は、ゲームボーイのアーキテクチャです。 "Game Boy / C
Sansan Engineering UnitでSansan Data Hubの開発をしている藤原です。 前回はニッチに深く潜り過ぎたので、今回は(使い古されたネタではありますが)モノレポ化についてお話ししたいと思います。 おさらい:モノレポ(mono repo)とは 一連のソースコードを単一のリポジトリで管理している状態のことです。 特に、実装言語、またはサブシステムやドメインといった何らかの区切りでリポジトリを分けている場合に、それらを集約することをモノレポ化と言います。 逆に、複数のリポジトリに分けている状態をポリレポ(poly repo)と言います。 モノレポのメリットとデメリット モノレポ化することで、以下のようなメリットが得られます。 プロダクト全体で統一したい設定、たとえばCIスクリプトやlinter設定などの管理が楽になる。 検索が楽になる。GitHubの検索で事足りること
こんにちは、DevRelブロックのikkouです。2024年5月15日から17日の3日間にわたり沖縄県は那覇市で「RubyKaigi 2024」が開催されました。ZOZOは例年同様プラチナスポンサーとして協賛し、スポンサーブースを出展しました。 technote.zozo.com ZOZOとWEARとRubyKaigi エンジニアによるセッション紹介 Generating a custom SDK for your web service or Rails API Namespace, What and Why YJIT Makes Rails 1.7x Faster Using Ruby in the browser is wonderful. An adventure of Happy Eyeballs Embedding it into Ruby code Unlocking Pot
サーバーサイドエンジニアの内藤(@naitoh) です。 RubyKaigi 2024に参加されていた皆さん、お疲れ様でした。 RubyKaigi のセッションの中で印象に残った発表をご紹介します。 RubyKaigi 2024 セッションレポート タイムテーブル タイムテーブルは以下から確認できます。 rubykaigi.org Namespace, What and Why 今回のRubyKaigi で非常に気になっていたセッションの一つです。 アプリケーション、ライブラリをある空間の中でライブラリを読み込み、他の空間から隠す。 空間の中で定義されたメソッドを別空間から呼び出すこと 別空間から呼び出されたメソッドは、元の空間内で動作すること という感じで複数のバージョンのライブラリに依存した場合のコンフリクト発生を解決するのが Namespace とのことで、内容が整理されておりわかり
色々な技術カンファレンスに参加するのが趣味なので、長年ずっと行ってみたかった RubyKaigiに初めて参加してみたという話です。普段、仕事でも趣味でもイベント運営をしているのでそういった視点からイベントの雰囲気をお伝えします。セッション内容や技術そのものに関しては言及していない点と、写真がとっても多い点にご注意ください。 初めてのRubyKaigiの印象は、Rubyを愛している人たちのために、Rubyを愛している人たちが作り上げているイベントだなぁというもので、やはり他のカンファレンスとは一線を画す熱量がありますね。運営に関わった皆さんの「楽しんでもらいたい」という愛を感じる素晴らしいイベントでした。 rubykaigi.org RubyKaigi 概要 Day -19 Day 0 Day 1 Day 2 Day 3 RubyKaigi 概要 RubyKaigiは国際カンファレンスとして
こんにちは、タイミーの @masarakki です。 先日、5月15日から3日間開催された「RubyKaigi2024」に参加しました。 本記事で取り上げるのは、そのRubyKaigi2024の最後のセッションであるmatzのキーノートで、「これが入ったらRuby 4.0」とまで言われた @tagomoris 氏のNamespace機能。 セッション終了後、目の前に本人が座っていたので「責任重大だねwww」と煽りに行こうとしたところ、感極まって帽子を目深に被りなおしている瞬間だったのでそっとしておきました。 というわけで、セッションの内容 は他にいくらでも記事があると思うので、実際に手を動かしてみようと思います。 参考: https://gist.github.com/tagomoris/4392f1091f658294bd4d473d8ff631cb 作業ブランチが Namespace
「アーキテクチャを突き詰める」Online Conference 2024年5月22日 ①大きな泥団子問題 ②銀の弾丸 関心の分離 ③関心の分離の枠組み(計算、アクション、アダプター) ④計算を分離する実践技法 ⑤関心の分離:その他の実践技法
Photo by Pixabay on Pexels.com 最近、よくお客さま向けに「アジャイル開発やスクラムにも、マネジメントやプロジェクトマネジメントは必要だ」と話すことが多い。事の背景はこんな感じ。 背景 よくあるのが「アジャイルチームは自律して動くからマネージャはいらない」という意見だ。この意見はおおむね正しいと思う。「おおむね」の理由は、マネージャという役割は自律型組織にとって必要なくなってくるだろうけど、マネジメントという仕事はなくならないからだ。 会社全体が自律型であれば、もしかしたらマネジメントすらいらなくなるのかもしれない。ただ、ほとんどの組織がそうではないのが現状だろう。よって、四半期ごとに目標設定と評価が発生するし、人材を採用したり育成する計画は必要だし、予算管理や体制変更も検討しなければならない。 こんな状況から「マネージャとマネジメント」を引っこ抜いてもうまくい
tl;dr はじめに 2024 年の 4 月 24 日に Node.js 22 がリリースされました。ESM を 条件付きで require する機能や、--run フラグによる npm スクリプトのパフォーマンス改善などが v22 で追加され、2009 年に Ryan Dahl が Node.js をリリースしてから 15 年が経つ今も、Node.js は進化を続けています[1]。 こうして Node.js 自身が強化されていくにつれ、以前はサードパーティーのパッケージを使用して実現することが一般的であった機能が Node.js のみで実現可能となり、当該パッケージが不要となるような場合があります。冒頭に引用した Ben Holmes の動画では、そのように不要となったパッケージとして dotenv node-fetch chalk mocha が挙げられていますが、この記事では「これら
本記事は Renovate の Pull Request を安全に自動マージするためのガイドです。 以下のドキュメントが元になっています。 この記事は一度書いたら後はメンテしませんが元のドキュメントはメンテしていくので、元のドキュメントも参照してください。 Renovate の導入は非常に簡単ですが、単に GitHub App をインストールしただけではその真価は発揮されません。 この記事では安全かつ自動で Renovate の Pull Request をマージし dependencies を常に最新に保つためのテクニックを紹介します。 この記事では CI に GitHub Actions を使うことを前提とします。また、 Renovate とは直接関係ない内容も含みます。 1. 概要 ある dependency を update する場合、その update に関連した test が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く