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

  • nullが生まれた背景と現在のnullの問題点 ― null参照問題(前編)

    Cの系譜を継ぐC#ではnullが長らく使い続けられてきたが、最近ではその存在が大きな問題だと認識されている。前後編でこの問題を取り上げ、今回(前編)はnullを取り巻く事情について考察する。 ← 前回 連載 INDEX 次回 → 近年、nullの存在は、billion dollar mistake(10億ドル規模の損失をもたらす過ち)と呼ばれるくらい忌避されるものになっている。 nullは、低コストでそこそこ安全に参照を扱えるという意味で悪くない妥協ではあるが、技術が進歩した現在ではもう少し賢い参照の扱い方があるはずである。C#のように、これまでnullを認めてしまっているプログラミング言語で、今からそれを完全になくすというのは現実的ではないが、nullに起因する問題を少しでも避ける手段はこれからでも追加していけるだろう。 今回は、nullが生まれるに至った背景から始め、nullが抱える問

  • 次期C#とパフォーマンス向上(前編)―― 必要となった背景と改善内容

    機能や構文ばかりが注目されるが、プログラミング言語ではパフォーマンスも重要だ。パフォーマンス向上に対する要求が高まってきた背景と、向上のための改善方法を説明。C# 7以降で追加が検討されている新機能にも言及する。 ← 前回 連載 INDEX 次回 → 近年、さまざまなプログラミング言語では、ソフトウェア開発の生産性を向上するべく便利な機能が実装されてきた。その一方で、書かれたプログラムのパフォーマンスへの配慮も重要である。「確かに書きやすいが、出来上がったものが遅くてつらい」ということになっては言語の魅力は半減する。 C#では、これまでも、パフォーマンスに配慮した言語機能をいくつか提供してきている。例えば、値型(構造体)がその代表例だ。ジェネリックが型消去ではない実装になっているのもパフォーマンス上の理由である。利用場面によってはイテレーターや非同期メソッドなどもパフォーマンス向上に寄与す

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

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

    DevOpsとは何か? そのツールと組織文化、アジャイルとの違い
  • 10分間で分かった気になれるXamarin概要

    稿は、Sansan主催の第6回.NET勉強会「『Xamarin』って何? Wエバンジェリストによる特濃『Xamarin』勉強会 ~C#によるマルチデバイス・クロスプラットフォーム開発の最前線~」の第1セッション「1時間で分かった気になれるXamarin概要」の内容をそのまま起こしたレポート記事を、最新のXamarin事情に合わせてアップデートしたものです(ちなみに第2セッションは「Xamarinで今日から始めるクロスプラットフォーム開発」でした)。 元のレポート記事はSansanから提供され編集部で編集・校正を加えたものでしたが、今回の改訂では、セッション登壇者人である田淵氏自らが元のレポート記事に加筆・修正を行いました。なお、最新状況でも変更のない内容は、元の文章および章立てのままになっています。 モバイル向けクロスプラットフォーム開発環境―“no silver bullet” ――

  • 無料でダウンロードできるIT技術系電子書籍(EPUB/PDF)一覧

    2015年に入り、「Amazon.co.jp: Kindle無料マンガ雑誌」がスタートするなど、や雑誌を電子書籍で読む機会が増えてきている。特に「紙の書籍よりも、電子書籍の方が大きく割安になっている場合は、電子書籍で買う」という人も多いのではないだろうか(特にIT業界の人は)。実際に自分もAndroidタブレットやiPhoneなどを使って電子書籍を読むことが増えてきた。 まだ電子書籍を読む習慣がないという人は、今春から試してみてはいかがだろうか。紙の書籍ではあり得ないが、電子書籍であれば無料で提供されているものもある。稿ではそんな「無料*1でダウンロードできるIT技術電子書籍」を一挙にまとめて紹介する(※特に主要な出版社のものを取り上げている。「これがないぞ」というのがあればお知らせいただけると幸いだ)。 なお以下では、英語書籍が圧倒的に多いので、逆に日語書籍にのみ【日語】と

    無料でダウンロードできるIT技術系電子書籍(EPUB/PDF)一覧
  • 人気上昇中のJavaScriptライブラリを調べてみた【2015年版】

    altJSの人気が混戦で面白い! 2014年中に人気が急上昇してきており、「2015年では必須の知識」となりそうなJavaScriptライブラリをランキング形式で発表。 ← 前回 連載 INDEX 次回 → こちらのページで【2016年版】も発表! ■ 2015年が始まり、心機一転で「今年こそはWeb開発を頑張ろう」と思っている人も少なくないだろう。そんな方々に向けて稿では、2014年中に人気が急上昇してきており、「2015年では必須の知識」となりそうなJavaScriptライブラリをランキング形式で発表する(※昨年の2014年版はこちら)。 なお、稿のランキング決定では、検索キーワードの流行を調査可能な「Googleトレンド」(「すべての国」「過去 12 か月間」「すべてのカテゴリ」「ウェブ検索」という条件で絞り込み)を使って、ライブラリの人気をジャンルごとに比較した(※ライブラリ名

  • Oculus Rift Development Kitの基礎知識

    UnityとUnreal Engine 4で、ゴーグル型のヘッドマウントディスプレイ「Oculus Rift」(Development Kit 2)用アプリを開発する方法を解説する連載がスタート。 連載 INDEX 次回 → Oculus Riftとは 2014年3月にFacebookに買収されたことで一躍話題を集めたOculus Riftは、米国Oculus VR社が開発を進めているゴーグル型のヘッドマウントディスプレイデバイスだ。2012年8月にKickstarterで1万人弱からの支援を受け、2013年3月から米国をはじめとして第1弾Development Kit(以下、DK1)が出荷された。Oculus Riftの特徴は、広視野角のディスプレイ表示と、頭の向きに高速に追従するヘッドトラッキングによって生まれる非常に高い没入感だ。 DK1の出荷が始まって以降、世界各地でゲームに限らず

  • Xamarinの基盤となっている「Mono」と、C#コンパイラー「mcs」

    ← 前回 連載 INDEX 次回 → 前回は「Xamarinが何を提供しているのか?」について説明した。 Xamarinは、テクノロジーとしては.NET FrameworkとC#の上に成り立っているが、ソフトウェアの基盤はこれらの技術の独自実装であるMonoの上に成り立っている。Monoについての理解が深まれば、Xamarin製品の理解も深まることになろう。 そこで今回と次回は、このMonoについて解説しよう。 * Xamarin 2.0のリリースに際して、「Mono」の名前が「Xamarin」になったと思われていることもあるようだが、そうではなく、Monoは従来のままのオープンソースプロジェクトであり、XamarinはMonoを主にモバイル開発製品に適用しているということになる。 Monoの歴史的な成り立ち MonoプロジェクトのリーダーであるMiguel de Icazaは、来はLi

  • 1