タグ

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

  • Unicodeとは? その歴史と進化、開発者向け基礎知識

    まず、Unicodeで規定されている文字1つ1つには、最大で21bits(16進数で5~6桁)の数値が割り振られている。この数値をコードポイント(code point: 符号点、符号位置)という。 ちなみに、Unicodeでは、コードポイントの数値で文字を表すための表記として、「U+16進数」という書き方を使う。例えば、「a」であればU+61、「あ」であればU+3042と表記する(以下、文字コードは全て16進数で表記する)。 一方で、この21bitsのコードポイントがそのままテキストファイルに保存されるわけではない。一定のルールでバイト列に符号化することになる。詳細については、後々、Unicodeの歴史を追いつつ説明していくが、おおむね以下の3つを押さえておけばいいだろう(加えてコードポイントがビッグエンディアンで格納されるか、リトルエンディアンで格納されるかも重要になる。が、今回と次回は

  • インターフェースを拡張する2つの手段 ― C#への「インターフェースのデフォルト実装」の導入(後編)

    破壊的な影響を他に及ぼすことなくインターフェースの機能を拡張するには、デフォルト実装に加えて拡張メソッドも使用できる。今回はこれら2つの方法がなぜ必要なのか、それぞれが得意としている分野について詳しく見る。 ← 前回 連載 INDEX 次回 → デフォルト実装と拡張メソッド C#以外の言語が持つ「インターフェースのデフォルト実装」に類似の機能、例えばJavaのデフォルトメソッドは、「既存のインターフェースに対して、利用側のコードを壊さずに、インターフェース機能を拡張するもの」と説明される。C#で「拡張」というと、すでに拡張メソッドという機能があって、同じ目的のものがすであるのにどうしてデフォルト実装が必要なのかと思うかもしれない。 これら2つの機能は、確かに同じ目的に使える部分もあるが、それぞれにしかできないことも存在している。ひとくちに「インターフェースの機能拡張」といっても、実のところ

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

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

  • C99の仕様

    長い歴史を持ちながら、依然として人気の高いC言語。その最新仕様の情報にキャッチアップするための連載スタート。今回は1999年に策定された「C99」を取り上げる。 連載 INDEX 次回 → C言語(以降、単にC)はDennis Ritchieによって1969~1973年の間にベル研にて開発されたプログラミング言語である。長い歴史を持つと共に非常にポピュラーな言語で、プログラマーでCを知らない人はまずいないと言っていいだろう。プログラミング言語のシェアを調査しているTIOBEでも、ここ最近は常に1、2位を占めている。 Cの言語仕様は今から25年近く前である1989年に初めて規格化され、これは一般に「ANSI-C」と呼ばれている。ANSI-Cは長らくCの言語仕様のスタンダードの位置を占め、世の中の大半のプログラマーは、このANSI-Cに慣れ親しんでいることだろう。しかし、実はCの言語仕様はその

    C99の仕様
  • 新しいコンパイラー“Roslyn”を用いたプログラミングを体験!

    .NET Compiler Platform SDKをインストールしたVisual Studio 2015開発環境を使って、Roslynを用いたプログラミング方法を実際のコードで示しながら説明する。Visual Studio “14” CTP3→正式版に合わせて改訂。 ← 前回 連載 INDEX 前回は、Visual Studio 2015に搭載された、新しい.NETコンパイラープラットフォーム(コード名“Roslyn”。以下、Roslynと表記)の概要を説明した。今回はVisual Studio 2015とRoslynを用いた、プログラミング手法を簡単に紹介する。 Roslynで開発を行うための準備 Visual Studio 2015でRoslynによる開発を行うには、Visual Studioの追加機能と.NET Compiler Platform SDKをインストールする必要がある

  • DevOpsとは何か? そのツールと組織文化、アジャイルとの違い

    両氏はこのプレゼンテーションの中で、それぞれの役割の違いから対立することの多い開発者(以下、Dev)と運用者(以下、Ops)の対立構造を次のように示した。 Devの役割が“システムに新しい機能を追加する”である一方、Opsの役割は“システムの安定稼働”である。そのため、Devが新しい機能を追加したくても、Opsはシステムの安定稼働のために変更を加えたがらない、という対立構造が作られてしまっていた。 しかしDevとOpsのそれぞれのミッションは(DevOpsの概念と同じく)、どちらも「システムによってビジネスの価値をより高めるだけでなく、そのビジネスの価値をより確実かつ迅速にエンドユーザーに届け続ける」ことである。そのミッションを達成するための手段が、上記のとおりDevは“システムに新しい機能を追加する”であり、Opsは“システムの安定稼働”なのである。つまり、同じ「ミッション」を掲げている

    DevOpsとは何か? そのツールと組織文化、アジャイルとの違い
  • 歳を取ってもエンジニアを続けられるのか

    エンジニアが年を取るとはどんなことだろう。年を取ることのデメリットとメリット、加齢に対する心構えを筆者自身の経験を基に語ってくれた。 ← 前回 連載 INDEX 次回 → 今回は割と語り尽くされた感のある話題であるが、歳を取ってもエンジニアが続けられるのかという話をしてみたい。最初に結論から言ってしまえば、歳を取ってもエンジニアは「もちろん続けられる」なのだが、そうはいっても老化というのは否応なしに全ての人の身に降りかかってくる(将来は遺伝子研究が進んで老化というものがなくなるのかもしれないが)。 30半ば過ぎの方は、最近物忘れが段々と増えてきたり、あるいはもともと視力の良い方であれば近くが見えづらくなってきたりと、このままエンジニアという職を続けてよいのだろうかと不安を抱えているかもしれない。今回は、老化への対処について具体的に取り上げたい。また、老化には負の側面だけでなく、プラスとなる

  • Windows 10 IoT Core(最新Creators Update版)で何ができるのか?

    最新Creators Update版のWindows 10 IoT Core(OS)は、どのような機能を持つのか? Raspberry Pi 3にインストールして試した結果を画像キャプチャして示しながら、その特徴と機能をまとめる。 安価な小型コンピューターであるRaspberry Pi(ラズベリーパリ、略してラズパイ)を活用すれば、お金を掛けずに手軽に電子工作が楽める。例えば、LEDを点滅させるような簡易なものから、ロボットのような機械の制御といったものまで、想像と工夫次第で「何でも」と言ってよいほどさまざまなモノが製作できる。特に、センサーなどから取得したデータをクラウドに送信して、蓄積されたビッグデータを分析・活用するIoT(Internet of Things)のデバイス製作には、お勧めできる。 もちろんIoT向きのエッジデバイスとしては、Arduino(アルデュイーノ)なども有力な

    Windows 10 IoT Core(最新Creators Update版)で何ができるのか?
  • Xamarin.Androidで地図を操作するには?(Google Maps使用)

    Google Maps Android API v2」を使って、Xamarin.Androidアプリで地図の表示位置や種類を変更する方法、ジェスチャの有効/無効を切り替える方法などを説明する。 ← 前回 連載 INDEX 次回 → 前回に引き続き、Xamarin.AndroidアプリでGoogle Maps Android API v2(以下、「GoogleMapAPI」と表記)を使用する。今回は、地図の位置の変更や、地図種類の変更などの各種設定について解説する。 「Tips:Xamarin.Androidで地図を表示するには?(Google Maps使用)」の続きとして解説するので、プロジェクトの準備は前回を参照してほしい。 1. 地図の位置を変更する GoogleMapAPIで地図を指定の位置に移動させるには、以下のような方法がある。 中心位置(緯度経度)を指定 範囲(南西と北東の緯

  • 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
  • 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に到達した」といった感じ

  • 1