Site will be available soon. Thank you for your patience!
つぶやき vim-easymotion入れた。頑張ろう・・ https://t.co/lqDk0ywmtk— Hiroaki Kadomatsu (@note103) January 29, 2016 vim-easymotionとりあえず最低限の基礎的な動きはできるようになってきた— Hiroaki Kadomatsu (@note103) January 30, 2016 背景 ここ数週間、どうもneocompleteの調子が悪く、動作条件は揃っているはずなのに(というか以前は使えていたのに)、やれVimのバージョンを上げろ、luaをインストールしろ、という警告が出てきて困った。 実際にはVimは最新のバージョンを使っており、かつluaも入っているので、自分がなにか奇妙な設定をしているのだろうとは思ったものの、いくら検索して同様の症状や対策を探しても出てこない。 仕方なくVimやMac
近い将来WebSocketがRailsで使用できるようになると聞くと、デベロッパはみんな舞い上がって興奮します。 しかし、 あなたのユーザは、あなたがWebSocketを使用しているかどうかなんて気にしません 。 ユーザは、”快適なリアルタイムWebアプリ”を求めている。 デベロッパは、”快適でビルドが簡単なリアルタイムWebアプリ”を求めている。 オペレーションは、”デプロイ、スケール、管理が簡単なリアルタイムWebアプリ”を求めている。 上記全ての要望をWebSocketがかなえてくれるのなら素晴らしいことですが、この実装の詳細は高いコストがかかります。 超高性能で全二重なクライアントとサーバ間の通信は、本当に私たちに必要なのか? WebSocketは、クライアントに情報を配信するための簡単なAPIと、クライアントからWebサーバへ情報を送信するための簡単なAPIを提供します。 サーバ
async void を避ける 使用できる戻り値の型には、Task、Task<T>、および void の 3 つがありますが、async メソッドで自然な戻り値の型は Task と Task<T> だけです。同期コードから非同期コードに変換する際、型 T を返すメソッドはすべて Task<T> を返す async メソッドになり、void を返すメソッドはすべて Task を返す async メソッドになります。次のコード スニペットは、void を返す同期メソッドとそれに相当する非同期メソッドを示しています。 void MyMethod() { // Do synchronous work. Thread.Sleep(1000); } async Task MyMethodAsync() { // Do asynchronous work. await Task.Delay(1000);
概要 「リソースの破棄」で説明したように、 C# で何らかのリソースの破棄が必要な場合、IDisposable インターフェイスを実装して、using ステートメントを使います。 この、IDisposable インターフェイス(の Dispose メソッド)の実装方法などに関して、少々注釈を。 IDisposable インターフェイスの実装 .NET の性質上、 明示的に破棄処理を書く必要があるリソースには、非管理リソース(unmanaged resource)と管理リソース(managed resource)の2種類あります。 非管理リソース .NET Framework (の自動メモリ管理)の範疇にないリソースです。 ネイティブ コードで書かれた OS 機能を直接呼び出す場合などです。 例えば、.NET の範疇でも File クラスを使ってファイルの読み書きができますが、 Window
.NET でみられる非同期プログラミングモデルのパターンは主に三つあります。APM、EAP、TAP の三つです。ここでは、それらの大まかな分類を紹介します。 APM (非同期プログラミングモデル) APM (非同期プログラミングモデル) は Asynchronous Programming Model の略です。 APM は IAsyncResult インターフェイスを利用するものです。 具体的には BeginMethodName で処理を開始して、 EndMethodName という二つのメソッドを実装するタイプの非同期プログラミングモデルです。 Begin... で処理を開始します。開始した処理が時間のかかる処理であっても、それは裏側で処理が実行されるので、 Begin... メソッド自体は返ってきます。 後で処理結果を得るために End... メソッドを呼び出します。まだ処理が終わっ
VS 2015 もリリースされて、C# 6.0 が使えるようになった今頃になって、C# 5.0 の新機能の話というのも時機を逸してますが、まぁいいじゃない。 というわけで、今のところ最も新しい非同期処理のお話です。 昔の非同期処理 実のところ、やってることは昔から大して変わらないのです。 Begin/End パターン Asynchronous Programming Model(APM)とも言うようです。.NET における最古の非同期プログラミング手法です。 BeginXxx というメソッドを呼び出すと、裏でスレッドが立ち上げられて処理が行われます。 非同期処理が終わるとコールバック関数が呼ばれるので、コールバック内で EndXxx メソッドを呼んで結果を受け取ります。 Stream.BeginRead を例にすると、こんな感じ。 stream.BeginRead(buffer, 0, b
This example shows how to create an asynchronous method conforming to the Event-based Asynchronous pattern. This example is part of asynchronous method implementation series. In this example, we create an asynchronous version of a method that processes a list of files. [C#] private void MyTask(string[] files) { foreach (string file in files) { // a time consuming operation with a file (compression
.NET での非同期パターンの簡単な歴史は、次のとおりです。 .NET Framework 1.0 で、非同期プログラミング モデル (APM) とも、Begin/End パターンとも呼ばれる IAsyncResult パターンが導入されました。 .NET Framework 2.0 で、イベント ベースの非同期パターン (EAP) が追加されました。 .NET Framework 4 以降で、以前のパターンから簡単に移行ルーチンをビルドできる、APM および EAP よりも優先される、タスク ベースの非同期パターン (TAP) が導入されました。 タスクおよび非同期プログラミング モデル (APM) APM から TAP へ 非同期プログラミング モデル (APM) パターンは構造化されているため、APM 実装を TAP 実装として公開するラッパーをとても簡単にビルドできます。 .NET
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く