ブックマーク / codezine.jp (6)

  • 【第5回】委譲

    オブジェクト指向プログラミングでは、具体的には以下の方法で委譲を実現します。 委譲を行うオブジェクトは、委譲先のオブジェクトへの参照を持つ メッセージの応答を、参照を通じて委譲先のオブジェクトに委ねる このような手法を用いることによって、他のさまざまなオブジェクトから必要な機能をピックアップして再利用しつつ、独自の機能を持つ、新たなオブジェクトを作り出すことが可能になります。 継承との使い分け 再利用の手法・仕組みとしては、もう1つ、前々回に解説した「継承」がありました。継承と委譲の違いとは、一体どのようなものでしょうか。 復習すると、継承とは、既存のクラスの構造をベースに新しいクラスを定義する、クラス(つまりメッセージ/メソッド/属性全てをひっくるめた構造)を再利用する仕組みでした。これは、前回解説したような多態性を生みだすエンジンにもなっており、非常に強力な仕組みです。 しかし、強力で

    【第5回】委譲
    wakuteka
    wakuteka 2018/10/02
  • 「PyCon JP 2018 ひろがるPython」登壇者座談会 ~わたしのPythonのひろげかた~ (1/3):CodeZine(コードジン)

    はじめに PyCon JP 2018のテーマは「ひろがるPython」。今回の座談会では、PyCon JP初登壇のスピーカー、ベテランスピーカーをお招きし、「わたしのPythonのひろげかた」と題して、日々どのように知識や人との関わりをひろげているのか、そしてPythonがこれからどのようにひろがっていくのかといったテーマでお話しいただきました。 記事の構成 第1部では、「わたしの知識のひろげ方」をテーマに、Pythonを始めたきっかけや、日々どのように勉強をしているか、どうやって情報収集をしているかを取り上げます。 第2部は、「コミュニティへのひろげ方」ということでコミュニティ活動について。コミュニティの主催者側、参加者側双方の視点からコミュニティ活動についてお話しいただきました。 第3部では、「これからPythonでやっていきたいこと」として、Pythonの未来についても話がおよびまし

    「PyCon JP 2018 ひろがるPython」登壇者座談会 ~わたしのPythonのひろげかた~ (1/3):CodeZine(コードジン)
    wakuteka
    wakuteka 2018/09/03
  • グラス片手にアジャイル開発 第5回(前編) - イテレーション単位のアクティビティ

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    グラス片手にアジャイル開発 第5回(前編) - イテレーション単位のアクティビティ
    wakuteka
    wakuteka 2018/01/23
  • 大規模解析サービスのためのデータベース構成 ~BigTable/BigQueryの弱点をどう補うか?

    大規模なデータを扱う解析サービスにおいて、データベースの性質の理解や選定、配置、活用方法などはクリティカルな問題であり、サービスとして大きく差をつくる要素にもなります。稿では考慮すべきデータベースの性質の違いから始め、解析サービスにおける考え方や活用のテクニック、構成方法について紹介したいと思います。 解析サービスにおける重要な2つの仕事 ここでは大量のデータを収集する解析サービスの仕事の中でも、重要な2つの仕事についてフォーカスして話を進めていこうと思います。 一つ目は、データを単に収集し、スケーラビリティの高いデータベース(または分散ファイルシステム)に格納し、あとで(管理画面から、もしくはスケジュールバッチなどで)Aggregateするものです。こちらは解析サービスと言われるサービスの多くが行なっている仕事と考えられます。 二つ目は、データによって振る舞いを変える、リアクションする

    大規模解析サービスのためのデータベース構成 ~BigTable/BigQueryの弱点をどう補うか?
    wakuteka
    wakuteka 2017/12/01
  • 3値論理とNULL

    要するに、データベースにnullが1つでも含まれていれば、クエリから正しくない結果が返される可能性がある。しかも、一般的には、どのクエリから正しくない結果が返されるのかを知る方法はないので、すべての結果があやしく見えてくる。nullが含まれたデータベースから正しい結果が得られることは確信できない。筆者に言わせれば、この状況はまさにお手上げである。 ――――C.J.デイト はじめに 多くのプログラミング言語が、真理値型(BOOL型、BOOLEAN型)というデータ型を持っています。もちろん、SQLにも真理値型が存在します。ユーザーが直接扱えるデータ型として定義されたのはSQL-99ですが、WHERE句などの条件の評価時にも真理値の演算が行なわれています。 ところで、普通のプログラミング言語の真理値型とSQLの真理値型の違いをご存知でしょうか? それは、普通の言語の真理値型が、true、fals

    3値論理とNULL
    wakuteka
    wakuteka 2016/08/23
  • 検索技術と自然言語処理技術を駆使して話題のトピックをひとまとめ ~はてなブックマークのトピックページの作り方

    はじめに 稿では、はてなブックマークの10周年記念の第1弾として開発した「トピックページ」の作り方について解説します。トピックページとは、インターネット上で話題となったトピックを閲覧できるページです。 トピックページは、トピックに関連する記事の集合とトピックを表すタイトルから構成されます。 トピックページ生成の流れは以下の通りです。 トピック生成 トピック表すキーワード集合を獲得し、そのキーワードに関連する記事を収集する。 トピックタイトル生成 トピックに関連する記事の情報を利用してトピックを表すタイトルを生成する。 稿では、Elasticsearchなどの検索技術を活用したトピック生成方法、および、CaboChaなどの自然言語処理技術を活用したトピックタイトル生成方法について説明します。 対象読者 Elasticsearchを利用している/したい方 検索技術、自然言語処理技術に関心の

    検索技術と自然言語処理技術を駆使して話題のトピックをひとまとめ ~はてなブックマークのトピックページの作り方
    wakuteka
    wakuteka 2015/08/26
  • 1