タグ

interfaceに関するkiyo_hikoのブックマーク (17)

  • 構造的部分型について - Qiita

    Structural Subtyping とは - いげ太のブログ structural subtyping (構造的部分型)とは、強い型付けによる恩恵は魅力的やな、でも型は定義しても継承関係までは定義したくない、制限による堅さに利はあるけど柔軟性を失いすぎるのもちょっとな、インターフェースばっかりいくつも定義するのもアホらしいし、その時々で適当なインターフェース割り振るようにしたらステキやん、というシグネチャ至上主義だ。 構造的部分型の比較 - まぁ、そんなもんでしょう OCamlは全て型推論してくれる代わりに部分型への変換は明示的。部分型変換ができるバリアントがある。 haXeは全て型推論してくれて、かつ部分型への変換も暗黙的にできるけど、場合によってはコンパイルがとまらない Scalaは型推論は(完璧には)してくれないけど、部分型への変換は暗黙的 Scalaの構造的部分型 // クラ

    構造的部分型について - Qiita
  • インターフェイスとモデムの違いを教えてください。 - 仲介するものですよね? - Yahoo!知恵袋

    インターフェイスは、コンピューターで、機器やプログラムどうしをつなぐ装置、または部分。ハードウエアを接続するハードウエアインターフェースと、オペレーティングシステムやアプリケーションプログラムをつなぐソフトウエアインターフェースに分けられる。と言う意味。 モデムは、コンピューターのデジタル信号を電話回線などのアナログ信号に変調し、また、その逆に変換して復調する装置。変復調装置。と言う意味。 少々意味が異なります。

    インターフェイスとモデムの違いを教えてください。 - 仲介するものですよね? - Yahoo!知恵袋
    kiyo_hiko
    kiyo_hiko 2016/01/26
    なるほど…。
  • 難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS

    java.io.Serializable …、ある程度Javaに触れて来た人は必ず見たことがあるインターフェイスだと思う。私も何度も見てきたし、必要に迫られて自分の作ったクラスにSerializableをつけたこともある。しかし、こいつは一体何なのか? 継承の便利さ 僕らがまだJava初心者だった頃。継承というメカニズムに助けられながら育って来た。簡単に言えば、HttpServletクラスを継承しさえすれば、自分の作ったクラスがサーブレットとして認識されるのだ。また、abstractメソッドなどという便利な機能もあり、継承にあたって実装しなければいけないメソッドは確実に指示され、言われた通りにそのメソッドを実装すれば良い。 StrutsのActionも然り。そう、多くの場合は「継承さえすれば、望む物がだいたい出来上がる」というのがJavaの世界だと思っていた。 だが、世の中そんなに甘くない

    難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS
    kiyo_hiko
    kiyo_hiko 2014/12/01
    派生クラスは基本クラスの責任を引き継ぐということ
  • Java8新機能 ラムダ式とデフォルトメソッドの導入理由 - Yuji Blog

    前々回に次回予告した内容ですw ラムダ式とデフォルトメソッドがどう関係あるのかということですが、まずはラムダ式が追加された経緯から読んでみます。 なぜJavaにラムダ式が追加されたのか Why are lambda expressions being added to Java? ラムダ式(とクロージャ)は最近の様々な言語で人気が出ています。これには様々な理由がありますが、Javaにとって最も差し迫った理由は、コレクションの処理を複数のスレッドで分散処理することです。 現在、ListやSetはCollectionから取得されたIteratorを使ってその要素が一つずつ順番に処理されるのが普通です。 もしそれぞれの要素を並列に処理しようとした場合、その責任を負うのはCollectionではなく、プログラマがそういったコードを書かなくてはいけません。 Java8では、様々な方法で要素を処理する

    Java8新機能 ラムダ式とデフォルトメソッドの導入理由 - Yuji Blog
    kiyo_hiko
    kiyo_hiko 2014/06/12
    "Interfaceにメソッドを追加した場合、それを実装している既存のクラスを変更しなくてはいけなくなります"
  • Twitterで流行ってる文ウザすぎワロタwwww:カナ速

    1 忍法帖【Lv=40,xxxPT】 2013/09/05(木) 20:50:59.12 :ID:uqO9/8++0 悲しい事が起きると、女性は男性の8倍の身体的ストレスを受けるって科学で証明されたらしいよ。 それはその女性が強い、弱いに関わらず。 つまり対等に付き合ってるカップルがいたとしたら、彼女は彼氏の8倍の悲しみを隠して毎日笑ってる。 これが女の強さ。 知ってました? んん?????wwwww http://www.amazon.co.jp/exec/obidos/4062180812/ / ̄ ̄ ̄ ̄\ /;;::       ::;ヽ |;;:: ィ●ァ  ィ●ァ::;;| |;;::        ::;;| |;;::   c{ っ  ::;;| |;;::  __  ::;;;| ヽ;;::  ー  ::;;/ \;;::  ::;;/ |;;::  ::;;| |;;:: 

    kiyo_hiko
    kiyo_hiko 2013/09/07
    8倍というと太陽とはえ座アルファ星ぐらいの格差がそこには // 不幸自慢は何も産まないから。わたしの残業時間はあなたの8倍って言われたら返しに窮するのと一緒で
  • Windows 8にスタートボタンを復活させる「Classic Shell」に日本語版登場

    誌を含めた各媒体が報じているように、Windows 8はスタートボタンおよびメニューを廃している。その理由はWindows 8を従来のデスクトップ型コンピューターだけでなく、キーボードを備えないモバイル型コンピューターでの利用を前提にジェスチャおよびタッチ操作を前提としているからだ。しかし、これまでWindows OSを使ってきたユーザーとって、スタートボタン/メニューの廃止はドラスティックな変化であり、その変わりざまに抵抗を感じる方も少なくないだろう。 そこで再び脚光を浴びているのが、Ivo Beltchev氏が中心となり、オープンソースベースで開発が続けられている「Classic Shell」である。来は新しいWindows OSのスタートメニューになじめないユーザーのため、古いスタートメニューに変更するためのツールだが、Windows 8の仕様変更に伴い、"スタートボタン/メニュ

    Windows 8にスタートボタンを復活させる「Classic Shell」に日本語版登場
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • C# Tips: interface を 抽象クラス (abstract class) とどう使い分けるか (プログラミング C# - 翔ソフトウェア (Sho's))

    # 久々に技術ネタを書いてみる。 # と言っても、某掲示板で使ったネタの使い回し。 C++ にはなかった新しいキーワードとして、C# では interface というものが出てくる。 interface は、Java ではおなじみのキーワードだ。 例. interface ICloneable { object Clone(); } interface では公開されているメソッドとプロパティの外見 (名前、パラメータ、戻り値) だけが宣言されていて、実装部分が定義されていない。実装部分は、その interface を実装するクラスによって定義される。 例. class Employee : ICloneable { private string name; public string Name { get { return name; } set { name = value; } } p

    kiyo_hiko
    kiyo_hiko 2012/04/17
    「実際の設計では、State/Strategyパターンを使おう→じゃinterface を使おうとはならない」 / ConcreteStrategyに状態を持たせるならAbstractStrategy書いて共通のフィールドは書いてしまうかな。それが設計としていいのかダメかは謎い
  • 業務系のクラスでインタフェイスの実装クラス名に「インタフェイス名+Impl」って名前をつけるのはダサいよね。 - wildcatsの日記

    実装に特性があるからインタフェイスと実装を分離するわけで*1 インタフェイスに対して実装が1クラスになる場合にはインタフェイスと実装を分離する必要が無いとボクは思うね。 追記:特定のDIコンテナの話はこのエントリと無関係です。 追追記:他所での議論の延長でボクの考えをここに書いただけなので、特定のDIコンテナとか特定の設計手法とかは何も関係ない(というか意識もしていなかった)話ですけど。 上にも例外として書いたしコメントにも書いたんだけど、たとえばトランザクション自動制御とかでFacadeに対してAspectをかけたい場合の設計手法の一つとしてインタフェイスと実装を強制的に分離(インタフェイスと実装が1対1)してDynamic Proxyを使う設計手法を用いても構わないのではないでしょうか?最近のプロジェクトでDIコンテナは使ってないけどHibernateのセッションとかの管理をFacad

    業務系のクラスでインタフェイスの実装クラス名に「インタフェイス名+Impl」って名前をつけるのはダサいよね。 - wildcatsの日記
    kiyo_hiko
    kiyo_hiko 2012/04/11
    コメ欄より「interfaceImplではなくinterface_v101みたいな表記」なるほど / 追記先も見てみた。固有クラスでは多分アリだけど広く利用される予感ならI/FのJavadocにセマンティックス書く所かなあ
  • DisplayPort - Wikipedia

    DisplayPort 水色部分が凹、中央の黒い横棒部分が凸になっており、プラグ側中央部の凹に嵌まり込む。接続端子は千鳥配列になっている。高速伝送での損失を抑える為にケーブルは太く、プラグ側にツメが出て引き抜け防止となるオプション規定もある。 Mini DisplayPort 白色部分が凹、中央の黒い横棒部分が凸になっており、プラグ側中央部の凹に嵌まり込む。Appleが開発・提案し、DisplayPort Standard Version 1, Revision 1a規格で標準化されている[1]。 DisplayPortとMini DisplayPortの差動高速データ信号線と制御信号線の回路概要 データ信号線(図上)と制御信号線(図下)はともに差動回路で50 Ωの抵抗を介してバイアス電圧にプルアップされている。出力側は直列にコンデンサを入れ、DC成分が遮断されている。制御信号線は1組の差

    DisplayPort - Wikipedia
    kiyo_hiko
    kiyo_hiko 2011/12/03
    DPいけめんすぎ
  • User Interface Guidelines  |  Android Developers

    Build AI experiences Build AI-powered Android apps with Gemini APIs and more. Get started Start by creating your first app. Go deeper with our training courses or explore app development on your own.

    User Interface Guidelines  |  Android Developers
  • USB3.0は終わコン キヤノンも「Thunderbolt」を採用 | ログ速@2ちゃんねる(net)

    kiyo_hiko
    kiyo_hiko 2011/06/14
    >>33「するとUSBメモリはサンダーボルトメモリとなるのか 何かかっこええな」サンダー・ボルト・プリンターとか、サンダー・ボルト・扇風機とかも出るわけか。ディジーチェーンでハブを介さず直接コンバインもおk
  • Thunderbolt - Wikipedia

    Thunderbolt(サンダーボルト)は、インテルがAppleと共同開発した[1]高速汎用データ伝送技術である。Light Peak(ライト ピーク)を基にして開発されたコンピュータに周辺機器を接続するためのシリアルバス規格の1つ。 概要[編集] FireWireの後継として開発されたインターフェースで、ホスト機器にさまざまな周辺機器を接続するためのバス規格である。同時期に登場した高速汎用外部バス規格USB 3.0と比べてデイジーチェーンをサポートするなど多機能かつ高性能である一方、ホスト側・デバイス側の両方にインテル製のモジュールが必要であり、USBと比べて高コストである[2]。 コネクタは、Mini DisplayPort。Thunderbolt 3/4/5 ではUSB Type-C。 規格[編集] Thunderbolt[編集] 2011年2月に発表・発売されたAppleMacB

    Thunderbolt - Wikipedia
    kiyo_hiko
    kiyo_hiko 2011/06/14
    「インテルは、2013年までに1Tbpsの転送速度を実現することをほのめかしている」・・・えー(´・ω・`)
  • 技術レポート「効果的なソースコードのコメントについて」|ソフテックだより|株式会社ソフテック

    コメントとは、プログラム言語で書かれたソースコードのうち、覚え書きとして記述される注釈のことです。 コメントは多ければ良いというものではなく、意味のないコメントはコーディング時間の無駄になるばかりか、ソースコードを読む人を混乱させることにもなります。 そこで号では、効果的なソースコードのコメントの書き方や注意点について紹介したいと思います。プログラム言語はC言語で説明します。

    kiyo_hiko
    kiyo_hiko 2011/06/07
    仕様書見るのがめんどくさくなってきてコメントに仕様書こうかなと思ったので、改めてコメントに関する考え方をチェックしてみた。無難に正論。それにしても、コメントをソースコード履歴に使ってる自分の会社って…
  • 『インターフェイス指向設計』読了

    最初にオススメポイントだけ書いておく。このには テスト容易性の確保複雑性保存の法則への対処へのヒントが詰まっている。 kakutani.com にアサマシセンターがあるのかと思ったけどなかったので自分ので貼っちゃうよ。献なのに自分のアサマシ貼ってるなんてふてぇやつだよ、オレ。 読み手に推奨される準備まずはじめに「書の読者対象」を挙げておくと、 書は、ある程度のプログラミング経験と、オブジェクト指向設計の基的な知識を持つ開発者を対象にしています。オブジェクト指向に深い造詣がある読者でも、インターフェイス指向のアプローチを学ぶことで、これまでにはなかった設計の概念を得ることができるようになるでしょう。また、インターフェイスを理解することは、SOA(サービス指向アーキテクチャ)の設計においても有用です。 と書かれている。 正直に告白すると自分はこれをなめていた。普通に UML もデザイ

    kiyo_hiko
    kiyo_hiko 2011/05/26
    読書中・・・「継承の問題について自覚的であった方がよい。継承がいかに扱いにくいかを普段感じていないと、サンプルのコードだけではいたずらに複雑になっただけに感じられてしまう」
  • 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して

    Java: The Good Partsののタイトルに触発されて、逆にJava言語の使いにくい部分をいくつかピックアップしてみました。Java EEなどの業務系のアプリケーションプログラマーの視点で書いていますので、別の立場ではここで指摘している事項が必ずしもBad Partではないという指摘もあるかもしれませんし、他にもいろいろなポイントがあると思いますが、とりあえず、私の独断で思いついたものを10個説明したいと思います。 1.標準APIのチェック例外が扱いにくい Java言語のチェック例外は当にGood Partなのか? - 達人プログラマーを目指してでも取り上げましたが、Bad Partの第一番目として標準APIのチェック例外が扱いにくいという点を指摘させていただきたいと思います。チェック例外については、理屈上コンパイラーによって例外の処理をプログラマーに強制させることができるす

    業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して
    kiyo_hiko
    kiyo_hiko 2011/03/02
    Javaは強固な言語設計をバックに現在の地位を得た印象があるけど、強固に具象化されたものは互換性の維持と相入れにくいんだと思う。古い皮袋的印象がある。Groovyの記事読むと、新しい皮袋としては中々よさそう。
  • Higher order functions in Java with an annotation processor factory

  • 1