タグ

ブックマーク / www.buildinsider.net (6)

  • インターフェースを「契約」として見たときの問題点 ― C#への「インターフェースのデフォルト実装」の導入(前編)

    C#におけるインターフェースとは、ある型が持つべきメソッドを示す「契約」であり、実装は持てない。だが、このことが大きな問題となりつつある。今回から全3回に分けて、C#がこの問題にどう対処しようとしているかを見ていく。 ← 前回 連載 INDEX 次回 → 現在、「C#にインターフェースのデフォルト実装(Javaでいうデフォルトメソッドに相当する機能)を追加しよう」という話がある。C#にこの機能を導入するに当たっては、C#コンパイラーだけではなく、.NETランタイムの修正が必要になる。 この機能の説明に入る前に、前編では、そもそもインターフェースというものが必要とされる理由や、その内部的な仕組みについて説明したい。 インターフェース 多くのプログラミング言語で、クラスとは別にインターフェース(interface: 境界面、接点)*1というものが用意されている。この2つの違いはおおむね、以下の

    efcl
    efcl 2017/04/12
    多重継承、interfaceは契約とみなして実装が持てなかったという話。 Java8の実装を持てるinterfaceは、interfaceのデフォルト実装として定義されている。 状態を持たなければ実装を持っても大丈夫という話。
  • Unicodeと、C#での文字列の扱い

    進化の過程で煩雑な文字コード体系になっているUnicodeは、プログラミングでの取り扱いが面倒だ。C#とUnicodeの関係はどうなっているのか? C#が抱える課題とその解決策について見てみよう。 ← 前回 連載 INDEX 前編では、文字コード、そしてUnicodeがこれまでにどのような進化の道程を歩んできたかを見た。そこで説明したように、文字コード自体が結構な複雑さになっている。当然、プログラミング言語における文字列の扱いにも面倒が付きまとう。 後編である今回は、C#のstring型がどういう実装になっているかや、現状抱えている課題、それに対して検討している解決策などについて説明していく(以下、文字コードは全て16進数で表記する)。 文字列型 まずは、プログラミング言語内部での文字列の扱いについて話そう。Unicodeの歴史で話した通り、もともと、Unicodeは2Bytes固定長の文

    efcl
    efcl 2017/03/01
    C#の文字コードの扱い。 UTF-16、Utf8String、Span<T>、Compact stringでの最適化、識別子に使える文字列、サロゲートペアについて
  • Windows Subsystem for Linuxとは? そのインストールと使い方 - Build Insider

    Windows上のBashシェル入門【Windows 10 Fall Creators Update対応】(1) Windows Subsystem for Linuxとは? そのインストールと使い方 Fall Creators Updateで正式版として提供されることになった「Windows 10上で動作するLinuxサブシステム」によるBashシェルの基礎を理解・マスターすることをゴールとして、Windows Subsystem for Linux(WSL、旧称:Bash on Ubuntu on Windows)の概要から、インストール方法までを解説。また、よくある疑問をQ&A形式で短くまとめる。 連載 INDEX 次回 → “Windows Subsystem for Linux”(以下、WSL)は、2016年4月の発表当時から「WindowsにBashシェルが入る!」と大きな話題

    Windows Subsystem for Linuxとは? そのインストールと使い方 - Build Insider
    efcl
    efcl 2016/12/04
    BoWを入れると起動するSSH Serverについて
  • なぜ記事・本を書くのか? Webメディア/出版の基礎知識

    一方のメディア(Webメディアや出版社)は、たとえそれが専門領域であっても、できるだけ多くの読者、つまりマスをターゲットしている。よって基的に、どの記事、どの書籍でも、利益を確保できる一定基準以上のPV(ページビュー)数や実売部数を獲得できることが目標になっているだろう。あくまでビジネスとしてメディア業を営んでいるので、売り上げにつながらないニッチなものは、大半の場合、扱いにくい(図2)。 筆者が感じる両者の違いとしては、素早く情報発信するなら「ブログ」などの方が便利で、より多くの人に長期間、教科書的に読んでもらいたいのであれば「メディア」の方がうまくいく場合が多いだろう。 メディアの現状を説明する上で、開発者による技術情報発信方法の変化に触れておきたい。ここでは、より読者に身近なブログ系の変遷を基にこれを説明する。 ブログ系の変遷 ブログが最も盛り上がっていたのは2005~2010年ご

    efcl
    efcl 2014/10/05
    技術書の書く目的や現状、メディアの特性、出版による印税、どういう経路でメディアで執筆にいたるかについてなど詳細に書かれてる。 ウェブメディアについても書かれてる
  • TypeScript早わかりチートシート【1.5.3対応】 - Build Insider

    TypeScript 1.5正式リリース。最新言語仕様を速習しよう! TypeScriptを使うときに役立つ情報がまとまったチートシート(1クリックで試せるサンプル付き)。 稿はTypeScript 1.5.3を対象に解説を行います(※2016/11/08追記:姉妹サイトの@IT Insider.NETで「特集:TypeScript 2.0概説」 を掲載していますので、稿と併せてご参照ください )。 早いもので、TypeScript 1.0がリリースされた2014年4月3日から、1年以上が経ちました。今年の頭あたりに記事のTypeScript 1.0版からの更新の依頼が来た時は、(記事改訂は想定していなかったので)びっくりしました。情報をメンテし、良い情報がWeb上に残るよう運営するのは大変であろうな、と想像に難くないですが、筆者としてはうれしい限りです。 さて、去る2015年3月5

    TypeScript早わかりチートシート【1.5.3対応】 - Build Insider
    efcl
    efcl 2014/05/08
    TypeScriptチートシート
  • TypeScriptとは? Visual Studioを使って開発してみよう

    1.0正式版がリリース。TypeScriptは、Visual Studio上でも開発できる。C#などでコードを書いているVisual Studioユーザー向けに、その利用手順や特徴を解説。 連載 INDEX 次回 → TypeScriptとは TypeScriptとは、マイクロソフトが中心となって開発を進めているスクリプト言語で、コンパイル結果がJavaScriptコードになる、いわゆる「AltJS」と呼ばれる種類の言語である。AltJSにはTypeScript以外にもメジャーなものとして、CoffeeScript、Dart、Haxe、JSXなどがあり、TypeScriptはその仲間ということになる。 TypeScriptの公式ページ(英語) 日時間の2014年4月3日、開発者向けイベント「Build 2014」で、バージョン1.0がリリースされた。「ついに1.0に到達した」といった感じ

    efcl
    efcl 2014/04/03
    Visual Studioを使ったTypeScriptチュートリアルの連載
  • 1