タグ

2024年3月19日のブックマーク (8件)

  • たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita

    はじめに この記事は レガシーコード改善ガイド: 保守開発のためのリファクタリング を参考に手を動かしてみて、ある程度自分の中で体系的にまとまった知識のアウトプットです。 この記事で扱う内容 この記事で扱うのは主にレガシーコードで単体テストを書く際のハードルになりがちな 依存関係の排除 に関する手法を紹介します。 この記事を読んだ後に、 『この観点を持っておけば単体テストをスムーズに書いていけそう!』 『今までモック使ってたけど意外とモック使わなくても書けるね!』 となったらいいな、と思います。 ちなみに、今まであんまりテスト書いたことないよーて人は以下の記事など参考にして一度やってみてください。 前提の話: この記事の旨は「テスト書きにくいプロダクトコードも依存関係を排除すれば楽にテスト書けるよ」なので、それ設計的にアウトでは?リファクタリング耐性低くない?みたいな話は度外視してます。

    たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita
  • Conventional CommitsとCHANGELOGの自動生成でリリースのユーザ影響をわかりやすくした話 - ドワンゴ教育サービス開発者ブログ

    ドワンゴ教育事業 バックエンドエンジニアのtakuminishです。 現在、私は教材入稿ツールの開発チームに所属しています。 教材入稿ツールは昨年の2023年06月に社内向けに正式リリースされた比較的新しいツールであり、リリース当初はリリースノートに関する運用について検討が進んでいませんでした。 リリースノートは開発メンバーが手動で作成しており、内容も前回リリース後にマージされたPRタイトルとリンクを箇条書きで記載しているだけの簡素なものでした。 また、PRタイトルのフォーマットも存在しなかったため、英語で記載されたタイトルと日語で記載されたタイトルが混在している、ユーザ影響度がタイトルからわからないといった問題もありました。 そこで、教材入稿ツール開発チームではリリースノートの運用として、Conventional Commitsを導入するとともに、conventional-change

    Conventional CommitsとCHANGELOGの自動生成でリリースのユーザ影響をわかりやすくした話 - ドワンゴ教育サービス開発者ブログ
  • とほほさんの「お茶・紅茶入門」の内容を検証する(主に中国茶部分) – あるきちのお茶・旅行日記

    随分、放置しておりましたブログですが、ぜひ語りたいことが出てきましたので、緊急で書いています(YouTuberの「緊急で動画回してます」みたいなノリ)。 お茶好きをざわつかせた記事 インターネットの黎明期から活動されていた、とほほ(杜甫々)さんという方がいらっしゃいます。 Webサイトが”ホームページ”と呼ばれていた時代に、Webサイトを記述するHTMLという言語がありまして、それを分かりやすく解説するサイト(とほほのWWW入門)を運営されている方です。 私もその頃、よくページを読みに行って勉強し、ゼミやサークルのホームページを作ったものでした。 インターネット老人会?の方は、たいていお世話になっていることの多い方です。 さて、そのとほほさんは、今でもWebサイトの更新を続けられております。 インターネット関係だけではなく、色々な情報のまとめもされています。 実は、その新しいジャンルとし

    とほほさんの「お茶・紅茶入門」の内容を検証する(主に中国茶部分) – あるきちのお茶・旅行日記
  • データレイクのデータスキャン量を25%削減する方法

    こんにちは。ヤフー広告でデータエンジニアをしている長峯です。 LINEヤフー株式会社では、Yahoo! JAPANと関連企業が所有するデータを活用することでお客様のマーケティング課題の発見と解決を実現するサービスYahoo! JAPAN データマーケティングソリューションを展開しています。私はサービスを通じてお客様がさまざまなデータを活用するためのデータ分析基盤となるデータレイクの構築・運用を担当しています。このデータレイクは、2.5ペタバイトのデータを保有しており、年間1,000万クエリが実行される大規模な環境となっています。 今回、私たちはAWS上に構築されたデータレイクのデータスキャン量を4人月という工数で25%削減することに成功しました。この記事では、その削減プロセスを紹介いたします。このデータレイクは、クエリエンジンとしてAmazon Athenaを主に使用しており、Amazo

    データレイクのデータスキャン量を25%削減する方法
    ikosin
    ikosin 2024/03/19
  • The History of the URL | The Cloudflare Blog

    On the 11th of January 1982 twenty-two computer scientists met to discuss an issue with ‘computer mail’ (now known as email). Attendees included the guy who would create Sun Microsystems, the guy who made Zork, the NTP guy, and the guy who convinced the government to pay for Unix. The problem was simple: there were 455 hosts on the ARPANET and the situation was getting out of control. This issue w

    The History of the URL | The Cloudflare Blog
  • ブラウザの仕組み  |  Articles  |  web.dev

    序文 WebKit と Gecko の内部オペレーションに関するこの包括的な入門情報は、イスラエルのデベロッパー Tali Garsiel 氏による多くの研究の成果です。数年にわたり、ブラウザ内部に関するすべての公開データを確認し、ウェブブラウザのソースコードを読むことに多くの時間を費やしました。彼女は次のように書いています。 ウェブ デベロッパーは、ブラウザ操作の内部構造を学ぶことで、より的確な意思決定を行い、開発のベスト プラクティスの背後にある理由を知ることができます。これはかなり長いドキュメントですが、時間をかけてじっくり読むことをおすすめします。やったら嬉しいよ。 Chrome デベロッパー リレーションズ、Paul Irish はじめに ウェブブラウザは、最も広く使用されているソフトウェアです。この入門編では その仕組みを解説しますアドレスバーに「google.com」と入力し

  • MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス

    はじめに MySQL(InnoDB)でSQLのパフォーマンスチューニングをするときに役に立つ知識をエッセンスとしてまとめました。結合(JOIN)やB-treeインデックスの探索の仕組み、実行計画の基的な見方を紹介します。 想定する読者は、SQLのパフォーマンスを改善する必要があるが実行計画をみてもいまいちピンと来ない方です。インデックスの作成の経験や、複合インデックスやカーディナリティの知識があることを前提にしています。目標は、実行計画の内容がよく分からない読者が、実行計画をみただけでクエリが実行される様子をイメージでき、自信を持ってクエリの改善にあたることができるようにすることです。 ストレージエンジンはInnoDBを前提としています。また、インデックスはB-treeインデックスを想定しています。全文検索の転置インデックスや空間検索のR-treeインデックスについては触れません。 イン

    MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス
  • JavaのDIコンテナは言語機能の補完でありinjectはimport - きしだのHatena

    というブログを書こうとしたら、すでにあった。 Dependency Injectionでやりたいことはモジュールimport - きしだのHatena 依存性の注入って要するにimportなので。 まず、DIコンテナを実装してみるとどういうものかがわかりやすくなります。 このときの結論はこんな感じ。 DIコンテナというのは、Javaのリフレクションやバイトコード操作、ThreadLocalといった、あまり美しくない部分を覆い隠してきれいなコードでアプリケーションを構築するための仕組み 作って理解するDIコンテナ - きしだのHatena 言語機能の補完なので、他の言語で同様に便利とは限らないわけですね。 わかりやすい例として、DIコンテナの現実的に便利なのはAOPを利用した宣言的トランザクションやログです。これはAspectJのように言語機能としてAOPが用意されていれば不要になります。

    JavaのDIコンテナは言語機能の補完でありinjectはimport - きしだのHatena
    ikosin
    ikosin 2024/03/19