タグ

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

  • C# 基礎文法 最速再入門【7.0対応】

    「あれ、どう書くんだっけ?」を素早く解決するための、C# 7.0主要文法がコンパクトにまとまったリファレンス(全3回)。前編では、C#の歴史/開発ツール/プログラムの実行と制御/型と変数/演算子/ステートメントを説明する。 ← 前回 連載 INDEX 次回 → 連載(全3回)は、執筆時点で最新のC# 7.0の主要な文法をサンプルコードと一緒に一覧できるようにするために書いたものである。文法の解説などは特に注意するべきことなどに絞っているため、初学者の学習用というよりはある程度C#を知っている方の参考用として書いている。 今回の記事を書くに当たって、C#言語仕様などを確認していたが、筆者自身初めて知った文法ルールもあった。この内容は全てを覚えるというよりも、C#コードを書いていて気になったときに参考にしてもらえると幸いである。 ちなみに、古いC# 6.0対応版が読みたい場合は、こちらを参照

  • Windows Subsystem for Linuxを使って「開発」をしてみよう

    WindowsとWSL(Windows Subsystem for Linux)の間でファイルシステムを上手に相互運用するためのヒントや、WSLを活用してクロスプラットフォームな開発を行う方法を説明する。 ← 前回 連載 INDEX 次回 → 前回は、Windows Subsystem for Linux(以下、WSL)の概要とインストール方法を説明した。今回は、より実践的な内容として、WSLとWindowsでファイルシステムを上手に相互運用するためのヒントとして、Windows側のファイルパス作成時の注意点を紹介する。また、WSLを活用してクロスプラットフォームな.NET開発を目指したい人に向けて、ASP.NET Coreサイトを動かす方法と、WindowsからLinuxネイティブバイナリをデバッグする方法を説明する。 Windowsとの相互運用 WSLとWindowsではもともとの思想

    Windows Subsystem for Linuxを使って「開発」をしてみよう
  • 新人開発者がインストールすべきWindowsデスクトップアプリ(できるだけ無料)

    今春からITエンジニア、特に開発者となる新人にお勧めのWindowsデスクトップアプリとは? 筆者の利用経験をベースに厳選して、インストールしてほしい順で紹介する。 今年も早くも3月中旬、もうすぐ春だ。この4月からITエンジニアとして新社会人生活をスタートする皆さんへ。仕事が始まる前に、仕事に関係する環境/勉強しやすい環境を自宅のノートPCなどに整えておくのはいかがだろうか。 MacでWeb開発/スマートフォン開発する人、Windowsデスクトップ開発/Web開発する人など、いろんな予定の人がいると思うが、稿ではWindows上に作業環境を構築する人を対象に、「このアプリはインストールしておいた方が便利だ」というものを厳選して簡単に紹介していこうと思う*1。とは言っても、有償製品を新たに購入するのもお金がたくさん掛かってしまうので、新人にとって現実的ではないだろう。そこで稿では、でき

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

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

  • ASP.NET シングル ページ アプリケーション (SPA) 詳説 [スライド&動画]

    ASP.NETに新しく加わったシングル・ページ・アプリケーション(SPA)のアーキテクチャやテクノロジーを解説するとともに、昨今のWebアプリケーションで必須となりつつあるマルチデバイス対応やUX向上に向けた開発トレンドをご紹介します。

    ASP.NET シングル ページ アプリケーション (SPA) 詳説 [スライド&動画]
  • Web制作で使いこなしたいIE開発者ツールの最新機能

    最新版のWebブラウザー「Internet Explorer 11」(以下、IE)は、2013年10月に正式リリースされ、その後のアップデートでも機能が少しずつ強化されてきた。例えば、2014年4月のWindows 8.1 Update 1提供と同時に機能が強化され、2014年8月のアップデート(August Update)でもさらに更新されている*1。 *1 以前のIEでは、IE5/IE6/IE7のようなメジャー・バージョンアップのタイミングで新機能が搭載されていたが、現在のIEでは他のマイクロソフト製品と同じく、1年の間に何度もアップデートが行われるようになっている。 そのIEにも、Chromeのデベロッパー・ツールと同様に、Web制作者向けのツール「F12開発者ツール」が標準搭載されており、そのツールもIE10以前からIE11のアップデートで大幅に変更されている。そこで稿では、強化

    Web制作で使いこなしたいIE開発者ツールの最新機能
  • C11の仕様-それ以外の主な機能強化点

    「無名」という言葉は、構造体/unionの識別子(いわゆるタグ名)が省略されていること(リスト1の(1))、メンバー名が省略されていること(リスト1の(2))の両方を指している。メモリ上での配置は通常の構造体/unionと変わらない。つまり、リスト1のintegerメンバーとfloatingメンバーは同一のアドレスに配置される。無名union/構造体内のメンバーへは、その無名union/構造体をメンバーとして持つunion/構造体のメンバーと同じようにアクセスできる。(3)を見ると分かるとおり、dataTypeメンバーと同じようにして、integerメンバーにアクセスできていることが分かる。 総称選択(§6.5.1.1) 総称選択(Generic selection)は、型に応じて分岐する式である(リスト2)。

  • Web開発でよく使う、特に使えるChromeデベロッパー・ツールの機能

    Webアプリのデバッグやチューニングに役立つ、Chrome Developer Toolsの主要機能を、スクリーンキャプチャ中心で簡潔に紹介。2014年10月に最新情報に改訂。 モダンブラウザーの中でGoogle Chromeは最後発ながら、その機能の潤沢さ、便利さ、高速さからシェアを大きく伸ばしている。そして、今やほとんどのブラウザーではWindowsの場合F12キーを押すことで(Macの場合はCommand+Option+Iキーで)手軽に各ブラウザー搭載のデベロッパーツールを利用できるが、特にChromeのデベロッパーツールは、非常に機能が豊富なため、利用している人もかなり多い。 稿では筆者がよく使う機能や、使うと便利な機能を中心に、Chromeのデベロッパーツールについて紹介していく。なお、書は執筆時点で、最新のChrome 38を使用している。 機能ふかん 残念ながら、Chro

    Web開発でよく使う、特に使えるChromeデベロッパー・ツールの機能
  • C11の仕様-脆弱性対応に関連する機能強化点

    C言語の最新仕様の情報にキャッチアップしよう。C11の仕様で強化された機能のうち、主に脆弱性対応に関連するものを紹介する。 ← 前回 連載 INDEX 次回 → 前回は、C99の仕様(ISO/IEC 9899:1999)について主だったところを紹介した。今回はC11の仕様(ISO/IEC 9899:2011)の中から主に脆弱性対応に関連するところを紹介したい(次回はそれ以外のC11の強化点を説明する)。 なお、C11の仕様書はANSIのeStandards storeからも購入できる。また、committee draftであれば、www.open-std.orgで閲覧可能だ。現在はこのリンクからダウンロード可能(ただし、詳細は確定した仕様とは異なる場合があるので注意されたい)。 概要 C11の仕様は2011年に規格化された。C11の特徴の1つとして、脆弱(ぜいじゃく)性対応に力が注がれてい

  • Build Insider

    ONLINE SITE 最新情報 人気記事ランキング Top 100 [5年間] 2013年4月24日~2018年3月30日、5年間の累計人気記事ランキング Top 100を発表。PV数も公開しています。5年間ありがとう!

    Build Insider
  • 「Pro相当機能が無料!」と話題になった「Visual Studio Community」の光と“影”

    新登場したVisual Studio Communityとは? その狙いやメリットについて概説する。また、「どういった人が使えるのか」という規約上の条件と、規約違反しないための注意点を紹介する。

  • Xamarinの基盤「Mono」のmonoランタイムとクラスライブラリ

    Xamarinにおけるソフトウェアの基盤であるMonoを深く理解すれば、Xamarin製品の理解はもっと深まる。今回はmonoランタイムと、Monoのクラスライブラリについて解説する。 ← 前回 連載 INDEX 次回 → 前回は、Monoの成り立ちから、そのソフトウェア構成、C#コンパイラーの内容まで、Monoについて解説した。今回も引き続き、monoランタイムと、Monoのクラスライブラリについて解説する。 mono: ECMA CLIランタイム 次はmonoランタイムについて説明しよう。monoランタイムは、.exeファイルや.dllファイルを解釈して、そのCIL(MSIL)コードをCPUのネイティブ命令に置き換えて実行する、実行エンジンだ。その中身は、CIL(MSIL)メタデータローダー、JITコンパイラーなどの実行エンジン、メモリ管理(ガベージコレクション)、AppDomain

  • Xamarinを構成するソフトウェア。その主要な10要素とは?

    Xamarinは何を提供しているのか? その主要なソフトウェア構成要素として、Mono、Gtk#、MonoDevelopとXamarin Studio、Xamarin.iOS、Xamarin.AndroidXamarin.Mac、Visual Studioアドイン、Xamarin.Forms、Xamarinコンポーネント、Xamarin Test Cloudなどについて紹介。 連載 INDEX 次回 → はじめに 今回、Xamarinについて記事を書かせていただくことになった。Xamarin(カタカナで書けば「ザマリン」となるだろうが、何と読もうが皆さんの自由だ)は、iOSおよびAndroidを中心に.NET/C#を活用するモバイル開発フレームワークを開発・販売している米国の会社であり、同社が販売している一連の製品に冠せられた名前でもある。同社のチームは、10年以上前からオープンソースの

  • 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

  • .NET互換環境

    マルチプラットフォーム開発を実現するための.NET Frameworkの互換環境について説明。その代表として、今回はMonoと、Monoベースのフレームワークを取り上げる。 ← 前回 連載 INDEX 前回紹介したようなマルチプラットフォーム開発を実現するために、今回は.NET Frameworkの互換環境について説明する。互換環境もいくつかあるが、その代表として、利用者が多くサポートもしっかり得られるMonoと、Monoベースのフレームワークについて説明しよう。 Mono Monoは、GNOMEプロジェクトの創設者Miguel de Icaza氏の主導で開発されている.NET Framework互換フレームワークである(以下、稿で単に「.NET Framework」という場合、マイクロソフト製の.NET Frameworkを指す)。Windows、Max OS X、Linuxなどを中心

  • 誰でもできる! IoT時代の極小コンピューター「Edison」で初めての“Lチカ”

    IoTデバイス開発初心者の筆者が、ほぼSDカードサイズの極小コンピューターとして注目を集める「Intel Edison」を使って、LinuxベースのEdison Yoctoに触れ、ArduinoボードのLEDライトをチカチカさせる。 最近、“IoT”という単語が新たなバズワードとなりつつある。すでにバズワードとなっている“クラウド”や“ビッグデータ”と同じように、いろんなところでこの単語が使われるようになっており、関連製品や関連サービスが次々と登場している。そういう状況のため、何となく「このテクノロジが、未来ではより重要になっていくのかな」と感じている人は少なくないだろう。 そもそもIoTとは、直訳すると「モノのインターネット(Internet of Things)」となり、身の回りの“モノ”が“インターネット”に接続して情報を送受信できるようになることを意味する。クラウド上に集まった情報

  • C# 6.0で知っておくべき12の新機能

    Visual Studio 2015正式版のリリースで利用可能になったC#言語の最新バージョン「6.0」の新機能を解説する。CTP 5→正式版に合わせて改訂。 連載 INDEX 次回 → 「C# 6.0」と呼ばれているC#の最新バージョンは、Visual Studio 2015*1で利用可能になっている。 この最新バージョンでは、「.NET Compiler Platform」(コード名:“Roslyn”)と呼ばれる新しいコンパイラーが導入されており、静的解析APIの提供など、コンパイラーまわりに大きな変更が行われている。一方、言語機能に目を向けると、async/awaitという大きな機能が追加されたC# 5.0に比べると、一つ一つの新機能自体は小さい。しかし、それらはプログラムをより書きやすくするための機能なので、C#開発者にとってはやはり重要なアップデートとなっている。 そして、これら

  • Excel方眼紙からホームページが作れる「Forguncy」を試してみた(デベロッパー視点)

    多くの日人に愛される一方で、システム化に不向きな「Excel方眼紙」。そのギャップを埋める製品の主要機能を、ソフトウェア開発者の視点で試し、そのポイントを箇条書きとスクリーンキャプチャで紹介する。正式版登場に合わせて改訂。 昔から日の会社では、「Excel方眼紙」(=あえて説明するまでもないと思うが……方眼紙のようにマス目を細かく区切って入力箇所をレイアウトしているExcelファイル)で文書や仕様書のフォーマットを作成しているところが少なくない(例:「2001年の@IT掲示板: 仕様書をExcelで書く人」)。特に申込書のように、1枚の紙に入力項目を敷き詰めてレイアウトしようとすると、方眼紙にして升目を区切っていく文書作成の方が、作業が楽だからだろう(一般企業でそう思っている人は少なくないと思われる)。 一方で、このようにして作られた文書に対しては、データの抜き出しが難しかったり、レイ

  • 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の仕様
  • 開発環境までもWeb化?! Visual Studio Online “Monaco”機能徹底解説(Win&Mac対応)

    Visual Studioのオンライン版?! Webブラウザー上で動作する開発環境“Monaco”で開発はどう変わるのか? その全機能をさまざまなブラウザーで徹底的に試してみる。さらにデスクトップアプリ開発も実験してみる。 連載 INDEX 次回 → 先日(米国時間で11月13日に)開催されたオンラインイベント「Visual Studio 2013 Launch Event 」の中で、「Visual Studio Online」が発表された。この名前を文字通りに受け取るなら、「Visual Studioの“オンライン版”」という意味になるだろう。しかし実際に発表されたその内容は(筆者の理解では)、これまで「Team Foundation Service」と呼んでいたものを強化しつつ、名称変更したにすぎないものだった。 これでは「命名と実体が合っていない」ということになる。ところがこの命名の

  • 1