Insider.NET編集部
DOMはHTMLドキュメントなどをツリー状のデータ構造として取り扱い、これを参照/操作するためのデータ構造やインタフェースを定義したもの。
Mark TextはMarkdownの編集に特化したエディタ。Markdown形式のテキストを入力しながら、即座にそのプレビューを確認できるのが大きな特徴。
VS Live ShareはVS 2017/VS Codeを利用して、複数の開発者がコラボレーションをしながら開発を進めることを可能とするツール。
EntryPointパッケージを使用することで、プログラムが処理可能なコマンドライン引数を構造化して、簡単に扱えるようになる。
Storylineは、Alexaのスキル開発をコーディングなしに行えるWebサービス。対話モデルの設計やWeb API呼び出しの指定などをブラウザで行える。
Power CommandsはVSのIDEをより便利に、より使いやすいものにしてくれる機能を詰め合わせた拡張機能だ。
Roslynatorは、C#コードの改善に役立つ多数のアナライザー機能およびリファクタリング機能を集めたVS用拡張機能。品質の高いコードの記述に役立つ。
SharpLabでは、自分が書いたC#コードをコンパイラがどんなコードとして扱い、それをどんなILコードへコンパイルするかを手軽に確認できる。
mdn-browser-compat-dataパッケージを使うと「何らかの機能の各ブラウザにおけるサポート状況」を「目視」ではなく「プログラムで参照」できる。
JoplinはMarkdown形式でノートを作成し、それらをWindowsやmacOSなど、さまざまなデバイス間で手軽に同期したり、編集したりできるツール。
Custom Vision Serviceを利用すると、何点かの画像をアップロード/タグ付けすることで、画像分類を行うためのカスタムモデルを作成可能だ。
PowerShell Coreは、ランタイムを.NET Coreとすることで、クロスプラットフォームで動作するようになったPowerShellエディションである。
HTML 5.2はHTML 5.1に続く、HTML5のマイナーバージョンアップ。2018年にはHTML 5.3の勧告も予定されている。
Span<T>型は「連続したメモリ領域とその操作」を抽象化して、元のメモリ領域の種類によらず、それらを統一的かつ効率的に扱えるようにするもの。
C# 7.2はC# 7.1に続くC#の「ポイントリリース」であり、主に値型をより効率的に扱うための機能の追加に力点が置かれている。
clrverコマンドは開発者向けのユーティリティー。これを使うことで手元のPCにインストールされているCLRバージョンを簡単に調べられる。
CCライセンスは、作品の作者が「自分の作品を再利用するに当たっての条件を明記」することで、創作物の柔軟な再利用や流通を促すためのライセンスシステム。
null許容参照型を使用すると、参照型の変数や戻り値などの値をnullにできるか否かを明示したり、不適切なnull参照を発見したりできるようになる。
Windows Compatibility Packにより、.NET Standardではサポートされていない、.NET FrameworkのAPIが.NET Coreでも使えるようになる。
NuGet Package Explorerを使うと、GUIベースでNuGetパッケージの内容を閲覧したり、NuGetパッケージの作成作業を行ったりできる。
Platform Compatibility Analyzerを使用すると、クロスプラットフォームでの互換性に問題がある.NET APIや使用が推奨されていない.NET APIをその場その場で見つけてくれる。
Windows Template Studioを使うと、画面の構成、必要とするページや機能をウィザード形式で指定していくだけでUWPアプリのひな型を簡単に作成できる。
C# PadはWebベースのC# REPL環境。ブラウザにブックマークしておけば、簡単にC#コードの動作を確認したり、シェアしたりといったことが可能だ。
Avaloniaは、クロスプラットフォームで動作するXAMLベースのUIフレームワーク。Windows、macOS、Linux、iOS、Androidをサポートする。
C# 7.1は、C# 7に非同期Mainメソッド、defaultリテラル、タプルの要素名の推測など、若干の機能が追加された「ポイントリリース」。
C#インタラクティブを使うと、Visual Studioあるいはコマンドプロンプトなどで、C#コードを対話的に入力、実行できるようになる。
JShellはJDK 9で導入されたJava用のREPL環境。Javaで書かれた「スニペット」を対話的に入力していくことで、その評価結果を即座に知ることができる。
News Search APIを使用すると、Bingを利用したニュース記事の検索をとても簡単に行える。ニュース検索機能を提供したい場合には便利に使える。
ダウンディテクターは、通信プロバイダーや自分がよく使うWebサービスなどがダウンしているかどうかをリアルタイムで監視してくれるサービスだ。
LINQPadはC#などで書いたコードの動作確認に利用できる軽量なアプリ。LINQを使うコードでも使わないコードでも動作確認でき、使い勝手がよい。
globパターンを利用すると、「*」「?」「[]」などのワイルドカードや文字クラスを組み合わせて、多数のファイルパスをまとめて表記できる。
WebAssemblyは、C/C++などで書かれたコードをWebページでも利用できるようにすることを念頭に置いたバイナリフォーマット。
RiderはJetBrainsが提供するクロスプラットフォームな.NET用の統合開発環境(IDE)。Windowsのみならず、macOSやLinuxでもさまざまなアプリの開発を快適に行える。
Autosuggest APIは、与えた検索クエリを基に関連する検索クエリを提案してくれる。このAPIを使うことで、自サイトにおけるユーザーの検索体験を向上させられる。
Brainfuckは8種類の命令とバイト配列、バイト配列を参照するポインターで構成される極めてシンプルなプログラミング言語。コードの可読性は著しく低い。
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える。
Emotion APIは、画像ファイルや動画ファイルを渡すだけで、そこに映っている人がどんな感情を持っているかを簡単に判定してくれる。
Azure Functionsを使うと、トリガーとバインドを利用することで、シンプルでありながら、多様なサービスと接続可能なアプリを開発することが可能となる。
Haskellは静的型付け、型推測、並行性、遅延評価といった特徴を持ち、強力なリスト操作機能やパターンマッチ機構などをサポートする純粋関数型プログラミング言語。
Face APIはマイクロソフトのCognitive Servicesに含まれるAPIの1つで、顔検出/画像のグループ化/人物の特定などの機能を提供する。
WebExtensionsは、Mozillaが開発を進めているブラウザ拡張機能用API。Chrome用のAPIとの互換性を持っているため、さまざまなブラウザで動作する拡張機能を作成できる。
Computer Vision APIを使用すると、マイクロソフトが提供する画像処理アルゴリズムを使って、画像ファイルを解析し、さまざまな情報を得られる。
Text Analytics APIは、入力されたテキストを基にそれがどの言語で書かれたものか、肯定的か否定的か、テキストに含まれるキーフレーズなどを取り出してくれるWeb API。
Bing Image Search APIは、Bingが提供する画像検索機能と同様な機能をAPI化したもので、画像検索機能をユーザーに提供するなどの目的で使える。
Translator Text APIはマイクロソフトが提供するクラウドベースの機械翻訳APIであり、さまざまな言語で書かれたテキストをさまざまな言語に翻訳してくれる。
Translate APIは、グーグルが提供するREST形式の翻訳API。APIに渡した文字列がどの言語で記述されたものかを検出したり、翻訳したりできる。
Google Cloud Vision APIはグーグルが提供する画像分析サービス。画像に何が含まれているかや、文字認識など、高度な画像分析をREST API経由で簡単に行える。
Microsoft Small Basicは学習を目的としてマイクロソフトが提供しているBASICの処理系。シンプルな言語仕様、習得が容易、簡潔な記述がその特徴といえる。
二分探索は、ソート済みのデータ列の中から特定の要素を探索するアルゴリズム。全ての要素を順に検索する線形探索よりも高速に探索を行える。
Rは主に統計解析やその可視化を行うためのオープンソースのソフトウェア環境。さらに機械学習を行うためのツールとしても広く使われている。
Productivity Power Tools for Visual Studio 2017は、Visual Studio 2017のIDEの操作性/作業効率をさらに向上させるための拡張機能群。
Python FireはPythonコードに対するコマンドラインインタフェース(以下、CLI)を自動生成するライブラリ。グーグルがオープンソースプロダクトとして公開している。
.NET Portability Analyzerは、さまざまなプラットフォームをまたいだ.NETプログラムの移植性をチェックするためのツール。
タプルは「複数のデータをひとまとめにして扱う」ためのデータ構造だが、その位置付けや用途、使われ方は言語ごとに異なるものとなる。
Jupyter Notebookは実行可能なプログラムコード、視覚化されたデータ、メモなどを含んだドキュメントを作成/共有可能なオープンソースのWebアプリ。
URIはさまざまな種類のリソースを統一的に参照するための識別子。URIは、広く使われている「URL」という用語を包含する概念である。
クイックソートはピボット値を基準としてデータを分割し、分割後のデータに対して(ソートが完了するまで)同じ手法を適用していく高速なソートアルゴリズム。
ECMAScriptはいわゆる「JavaScript」と呼ばれる言語の統一的な仕様を、標準化団体の1つであるEcma Internationalが取りまとめたもの。
BabelはECMAScript 2015など、新世代のECMAScript言語仕様に沿って記述されたコードを従来のJavaScriptコードに変換するトランスパイラ。
LUISはマイクロソフトが提供する自然言語解析サービス。ユーザーが「何をしたいのか」(インテント)とそれに付随する情報(エンティティ)を取り出せる。
JSFiddleはブラウザ上でちょっとしたHTML/CSS/JavaScriptコードを記述して、その動作を確認するために便利に使えるツールだ。
FlowはJavaScript用の静的型チェッカー。型推測機構や型注釈を利用することで、型安全なプログラミングを支援する。
ジャグ配列とは「配列の配列」を表す用語。ジャグ配列では配列の特定の次元の各要素が参照する配列の要素数が異なる場合がある。
Wingは最小限の機能だけを備えた軽量なCSSフレームワーク。レスポンシブWebデザインにも対応している。
「FizzBuzz問題」とは、英語圏での言葉遊びであるFizz Buzzをプログラミング言語で記述する行為。さまざまな言語によるさまざまな解法がある。
Markdownはプレーンテキストに対して記号類を用いて装飾することで文書構造を簡便に記述し、それをHTMLなどに変換するためのツールおよびその構文のこと。
SemVerとはソフトウェアのバージョン番号の付け方に一貫した意味付けを与えることで、その後方互換性情報が一目で分かるようにしたものだ。
EmmetはHTML/CSSの入力を爆速で行えるようにするツールであり、数多くのテキストエディタでプラグインの形などでサポートされている。
Vimは、古くからUNIX系統のOSで使われてきた「vi」というテキストエディタの系譜に属するプログラマーの手によくなじむテキストエディタだ。
HTML 5.1はHTML5の最初のマイナーバージョンアップであり、Webアプリ開発に役立つさまざまな機能が追加されている。
Microsoft Flowは「何かをトリガーとし、そこからさまざまなWebサービスを組み合わせて、一連の処理を実行する」ことを自動化するサービスだ。
BliskはWebコンテンツの開発に役立つさまざまな機能を提供する、「Web開発者」のためのブラウザだ。
JSONは、さまざまな言語/プラットフォーム間で軽量なデータ交換を行うのに利用可能なテキストフォーマットだ。
Bootstrapは、見栄えがよく、レスポンシブで、モバイルファーストなWebコンテンツを作成するためのフレームワークだ。
レスポンシブWebデザインとは、さまざまなデバイスで、単一のHTMLドキュメントをその画面特性に合わせて適切に表示するための仕組みや考え方のことである。
CSSは構造を持つドキュメント(HTMLページやXMLドキュメント)に対して、その表現方法を指定するための機構だ。
PHPは、HTMLへの埋め込みが可能なスクリプト言語(およびその処理系)。主としてWebアプリ開発に使用される。
BuckleScriptはJavaScriptコードを生成するOCamlコンパイラ。OCamlで型安全なプログラミングを行い、そこから可読性の高いJavaScriptコードを生成できる。
OCamlは記述性が高く、型安全なプログラミングを実現する関数型言語であり、静的型付けと強力な型推論、バリアント型などがその特徴として挙げられる。
ESLintはJavaScript用のリントツールであり、標準のルールに加えて独自のルールを作成してコードチェックを行える「プラガブル」な特性を持つ。
Erlangは、並行処理/分散処理/耐障害性といった特徴を備えた関数型プログラミング言語およびその実行環境だ。
Elixirは、動的型付けを持つ関数型言語だ。スケーラビリティ、耐障害性、並行プログラミングなどの特徴を持つ。
PowerAppsはさまざまなサービス/データソースを利用して、コーディングレスでビジネスモバイルアプリ/Webアプリを作成するためのツールだ。
curlはURL構文を用いてデータを転送するためのオープンソースなコマンドラインツール/ライブラリだ。
LESSはCSSを拡張する動的スタイルシート言語であり、変数/ミックスイン/関数などの機能を使用し、より簡潔な形でスタイルシートを記述できる。
webpackは、依存関係のある複数のモジュールやファイルを1個以上のファイルにまとめてくれるバンドリングツールだ。
MacinCloudはクラウドベースのMacレンタルサービスで、Macの実機なしにMacを利用した開発が安価で行えるのが大きな特徴といえる。
jQueryはクロスブラウザで動作する、高機能なJavaScriptライブラリであり、現在のWebアプリ開発には欠かすことができない。
.NET Coreは、Windows、Mac OS X、Linux上で動作する、軽量/モジュール性などの特徴を持ったオープンソースなアプリ開発プラットフォームだ。
Checked Cは、C言語に境界チェック機能が追加されたものであり、より安全な形でCプログラミングを行えるようにするものだ。
Electronは、Web標準技術(HTML/JavaScript/CSS)を使って「クロスプラットフォームなデスクトップアプリ」を開発するためのフレームワークだ。
npmはJavaScript開発者向けのパッケージマネジャーであり、Node.jsベースのさまざまなパッケージの管理を手軽に行える。
ScalaはJava仮想マシン上で動作する「スケーラブル」で、オブジェクト指向言語と関数型言語の双方の性質を持った言語だ。
Node.jsはサーバサイドで動作するJavaScript実行環境。イベントとノンブロッキングI/Oを活用し、高性能なWebアプリを構築できる。
GoはGoogleによって開発されているオープンソースなプログラミング言語であり、静的言語と動的言語のよいとこどり、並列処理などの特徴を持っている。
DevOpsとは「ビジネスの価値を高めることを目的に、製品・サービスを迅速かつ継続的にユーザーへと届けるために、ITシステムの開発チーム(Dev)と運用チーム(Ops)が協調すること」を意味する言葉だ。
Rubyは、まつもとゆきひろ氏(Matz)が開発した日本発のオブジェクト指向スクリプト言語。楽しくプログラミングできることがモットーだ。
Kotlin(コトリン)は「実用的」であることを主眼においたプログラミング言語だ。その特徴は簡潔/安全/汎用/(Javaとの)相互運用性にある。
Android StudioはIntelliJ IDEA Community EditionをベースにしたAndroidアプリ開発用のグーグル公式IDEだ。
Pythonはオープンソースで開発されているオブジェクト指向スクリプト言語であり、シンプルなコードの記述、可読性の高さなどをその特徴とする。
tsconfig.jsonファイルは、TypeScriptを開発言語としたプロジェクトにおいて、そこに含まれるTypeScriptファイルと、tscコマンドのコンパイルオプションなどを指定するファイルだ。
マイクロサービスとは、単一のアプリを「粒度の小さなサービスの集合として開発する」というアプリ開発のスタイルであり、さまざまなメリットがある。
Swiftは「開発者が正しいプログラムを記述/保守管理するのが簡単に行えるように」設計された、安全で高速、記述性が高い言語だ。
package.jsonファイルは、Node.js+JavaScriptでのアプリ開発時に、そこで使用するパッケージやプロジェクト全体を管理するのに使われる。
SPAは単一ページで構成されるWebアプリであり、応答性がよく表現力の高いアプリをクロスプラットフォームでユーザーに提供できるのが利点だ。
Angular 2はHTML5/JavaScript/CSSの組み合わせで、モバイルアプリ/Webアプリを開発するためのフレームワークだ。
AngularJSはJavaScript用のMVWフレームワークであり、「テンプレート」「データバインディング」などの機能を利用して、Webアプリを簡潔に記述できる。
ChakraCoreは、マイクロソフトがWebブラウザ「Edge」およびJavaScriptで記述されたUWPアプリの実行エンジンとして開発したChakraをオープンソース化したもの。単体アプリへの組み込みも可能なことから、さまざまな可能性が考えられる。
HTML5は、2014年10月にW3Cによって勧告されたHTMLの最新バージョンであり、OSやWebブラウザに依存することなく、モダンなWebアプリを開発できるようにすることに主眼が置かれている。
Xamarinは、C#を開発言語として、WindowsあるいはMac(OS X)上でiOSアプリ、Androidアプリ、Windows Phoneアプリなどを開発するためのプラットフォームだ。Xamarinを使うと複数プラットフォーム間でコード(ロジック)やUIを共有できるため、クロスプラットフォームに対応したアプリの開発が容易になる。
Apache Cordova(以下、Cordova)はHTML5、JavaScript、CSS3を用いて、さまざまなプラットフォームに対応したハイブリッド(なモバイル)アプリを開発するためのオープンソースなフレームワークである。Web標準技術を利用することで、OSごとに異なる開発言語を使うことなく、iOS/Android/Windowsなどのプラットフォームに対応し、それらのネイティブな機能にアクセスするアプリを開発できる。
Gitは分散型のバージョン管理システムで、オープンソース開発プロジェクトなどで広く利用されている。中央集中型のバージョン管理システムとは異なり、リモートリポジトリ、ローカルリポジトリの2種類のリポジトリで管理し、ブランチを使用したノンリニア(並列)な開発が可能になっており、複数の組織や個人が参加する開発プロジェクトのバージョン管理に適している。