タグ

qiitaとclassに関するslay-tのブックマーク (8)

  • Pythonのオブジェクト指向プログラミングを完全理解 - Qiita

    オブジェクト指向 1. オブジェクト指向の起源 2003年チューリング賞の受賞者アラン・ケイさんはよくオブジェクト指向プログラミングの父と称されます。ご人も憚ることなく、幾度、公の場で発明権を宣言しています。しかし、ケイさんは「C++」や「Java」などの現代のオブジェクト指向言語を蔑ろにしています。これらの言語は「Simula 67」という言語を受け継いだもので、私が作った「Smalltalk」と関係ないのだとケイさんは考えています。 オブジェクト指向という名称は確かにアラン・ケイさんに由来するものです。しかし、C++Javaで使われている現代のオブジェクト指向は当初のと結構違います。ケイさん自身もこれらの言語を後継者として認めないです。では、ケイさん曰くC++Javaの親であるSimula 67という言語はどんな言語でしょうか。ここで、簡単なサンプルコードを見てみましょう。 Cl

    Pythonのオブジェクト指向プログラミングを完全理解 - Qiita
  • Dagger Hilt (DevFest 2020 資料) - Qiita

    DevFestの資料の記事版です。ステップごとにサンプルアプリの差分付きで説明します。 なぜDependency Injectionが必要なのか から始め、Dagger Hiltの説明、実践的なプラクティスまで説明していきます! Dependency Injection(DI)とはなにか なぜDIが必要なのか DI、ちょっと難しいイメージありますが、そもそもなんで必要なんでしょうか? 作っているのが動画再生するアプリでVideoPlayerというクラスがあるとしましょう。 VideoPlayerのクラスの中にデータベースやcodecなどがハードコードされています。 コード: https://github.com/takahirom/hilt-sample-app/commit/8c36602aaa4e27d8f10c81e2808f0ff452f1c8a4#diff-bbc9d28d8bc

    Dagger Hilt (DevFest 2020 資料) - Qiita
  • ドメインロジックはドメインオブジェクトに凝集させる - Qiita

    こんにちは。 最近、こんなツイートしたのですが、ドメインオブジェクトではなくアプリケーションサービス1などにドメインロジックが書かれてしまうことがあります。 アプリケーションサービスはドメインロジックを配置する場所ではない、それはドメインオブジェクトの役割。アプリケーションサービスは進行役。ここを間違うから簡単にドメインモデル貧血症になってしまうんだと思います。 — かとじゅん (@j5ik2o) August 18, 2019 最近、以下の書籍(以下 増田)をマジメに読み直しました(笑)。ドメインモデル貧血症2を回避して、ドメインロジックをドメインオブジェクトに凝集させる方法に関して、増田にいろいろ書いてあったので、そのエッセンスと僕の考察を交えて解説したいと思います3。 詳しい内容は以下の増田を読んでください! コード例はScalaですが難しい表現がないので、Scalaが分からな

    ドメインロジックはドメインオブジェクトに凝集させる - Qiita
  • Ruby の yield を使いこなす - Qiita

    まえがき yield ってなにがどうなっているのか (yeildが使われているコードの説明で) 自分で書くとこの設計できないのよね こんな感想をいただきました yield の理解を深めてもらうために、こんな使い方をしているよというコードベースでご紹介していきます 対象読者 yield がよくわからない人 yield がわかっているけど、自分の書くコードで使ったことがない人 yield ユースケース パフォーマンス監視 処理時間を記録して報告するような機能 module XXXReportable def with_reporting(name: ) started = Time.zone.now yield ended = Time.zone.now report(name: name, started: started, ended: ended) end private def rep

    Ruby の yield を使いこなす - Qiita
  • linuxカーネル4.1のプロセススケジューラ(ドラフト) - Qiita

    はじめに 記事は昔書いたlinuxカーネル4.1のプロセススケジューラの実装について途中まで書いたけど諸事情により二年くらい放置していたドラフトです。死蔵するのももったいないので公開しておきます。今現在のカーネルに比べてずいぶんと変わっていること、未稿の部分がかなりあること、誤字脱字や「てにをは」は気にしていないこと、などにご注意ください。 このドキュメントを積極的に更新する予定は(少なくともこの場では)いまのところありません。 ある瞬間にCPU1で動作できる処理は1つだけです。この限りあるCPU資源をシステムに存在する プロセス間で分配するのがプロセススケジューラです。プロセススケジューラは大きく分けて 次のことをします。 全プロセスの間で平等にCPUを分配する スループットの最大化 レイテンシ(応答時間、ターンアラウンドタイム)の最短化 個々のコアのことであり、かつ、ハイパースレッド

    linuxカーネル4.1のプロセススケジューラ(ドラフト) - Qiita
  • AndroidでSingletonを使っていいのか - Qiita

    結論 「Android Singleton」で検索すると、Singletonを使うなという記事がたくさん出てきます。 しかし、公式のAndroid Developersには以下の通り「ほとんどのケースでは、Applicationのサブクラスを作るよりも、static Singletonの方がいい」と書いてあるので、使って大丈夫です。 Android Developers: Application Note: There is normally no need to subclass Application. In most situations, static singletons can provide the same functionality in a more modular way. If your singleton needs a global context (for e

    AndroidでSingletonを使っていいのか - Qiita
  • GASでセブンイレブンの今週の新商品をスクレイピングして通知する - Qiita

    普段コンビニでお昼を取らないのですが、最近何度か足を運びまして。 いざ昼を選ぼうとするとその商品の量に圧倒されます。 さらに驚くべきことに毎週のように新商品がでるんです! 店頭では見分けがつかないので、ネットで追うにしても毎週は大変だぁ…(公式アプリがあるそうですが) というわけで、毎週更新なら週一回スクリプトを走らせて普段見ているSlackに投げちゃいましょう。 GASは手軽に定期実行が出来ていいですね! 今週の新商品|セブン‐イレブン~近くて便利~ スクリーンショット 対象は http://www.sej.co.jp/i/products/thisweek/kinki/ です。 変更履歴 2018/11/09 9月ごろから構成が代わり失敗していたので修正。 画像の持ち方がsrcからdata-originalに変更。 コード var REGION = '近畿' var REGIONS

    GASでセブンイレブンの今週の新商品をスクレイピングして通知する - Qiita
  • [Java8] 従業員のソートから考えるComparableとComparatorの適切な使い方 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    [Java8] 従業員のソートから考えるComparableとComparatorの適切な使い方 - Qiita
  • 1