![]() |
![]() |
VS2012以降で.NET4.5をターゲットにした場合,async/awaitを使用した非同期処理を使用できる
サンプルコード
実行結果
解説 メソッドについているasyncは非同期を表す修飾子。この戻り値はvoidまたはTaskになる。 http://msdn.microsoft.com/ja-jp/library/hh156513.aspx 戻り値を返したい場合,Task<戻り値の型>となる。 メソッドを呼び出す際に指定している await 演算子は、待機中のタスクが完了するまでメソッドの実行を中断する。 http://msdn.microsoft.com/ja-jp/library/hh156528.aspx Test() メソッド中にAccessTheWebAsyncメソッドをasyncをつけて読んでいるが、これは、AccessTheWebAsyncの処理が終了するまで 待機することを表す。 awaitを用いて中断している場合は、呼び出し元に制御を返し、処理が完了したら中断している箇所から制御が再開する。 Wait()も制御を中断するが、呼び出し元に制御がもどることはない。 たとえば、以下のコードを置き換える
この場合の実行結果は以下のようになり、Mainに制御がもどらずに、Test()中で中断していることがわかる。
なお、VS2012以降(C#5.0)なら.NET4.5以外をターゲットにしてもasync/awaitを使用した非同期処理を使用できる。 http://xin9le.net/articles/81 参考 http://msdn.microsoft.com/ja-jp/library/hh191443.aspx #
by mima_ita
| 2014-07-02 00:46
| .NET
目的
.NETを用いてTwitterの検索を行う。 環境 Windows7 VisualStudio Express 2013 for Windows DeskTop LINQ to Twitter LINQ to TwitterはLINQを用いてTwitterの操作を行える。 http://linqtotwitter.codeplex.com/ このライブラリSystem.Net.Http.Primitivesに依存しているので、以下のようにインストールすること。 1. プロジェクトの参照設定でNuGetパッケージの管理を選択する ![]() ![]() クライアントアプリケーションでAccessTokenとAccessTokenSecretを取得するには次のように認証用のURLを開いて、PINコードを取得して、それを使用して認証を行う。 C#でOAuthでTwitter http://d.hatena.ne.jp/nojima718/20100129/1264792636 なお、CONSUMERKEY,CONSUMERSECRETはTwitterDeveloperでアプリケーションを追加してキーを発行する。 https://dev.twitter.com/ LINQ to Twitterでツイートを検索する
#
by mima_ita
| 2014-06-29 00:49
| .NET
Redmineのプラグインのデバッグでログを残したい場合は次のようにすればよい。
Rails.logger.info "executing command: #{out['command']}" 下記のファイルにログが出力される。 /var/lib/redmine/log/production.log #
by mima_ita
| 2014-06-28 03:29
| ruby
次のようなコードがあったとする。
この際、UTF-8の文字をいくらwriteしても正常にわたらない場合がある。 この場合、Encoding.find("locale")の値を確認してみる。 もし、UTF-8になっていなければ、いくらinternal_encodingやexternal_encodingをいじっても正常に動作しない。 #
by mima_ita
| 2014-06-28 03:25
| ruby
目的
RedmineのWikiにシーケンス図やユースケースなどのUMLを記述する。 前提: JAVAが動くこと Redmineが動作すること Apache2でRedmineが動いていたものとする 手順: 1. PlantUMLを下記よりダウンロードして任意のフォルダにおく http://plantuml.sourceforge.net/download.html この例では下記にあるとする. /share/plantuml.jar 2. ラッパー用のシェルスクリプトを記述する。 この例では/usr/bin/plantuml に記述するものとする。
3. Redmine用のプラグインを下記からダウンロードする https://github.com/cdwertmann/wiki_external_filter 4. 3のファイルをRedmineのプラグインにコピーする。 この際,フォルダ名はwiki_external_filterとする。 デフォルトはwiki_external_filter_masterになっており、名前が違うと正常に動作しない 例:/var/lib/redmine/plugins/wiki_external_filter 5. 下記に書き込み権限を与える。 /var/lib/redmine/public/plugin_assets/ 例: chmod go+w /var/lib/redmine/public/plugin_assets/ 6. 解凍したディレクトリに存在するconfig/wiki_external_filter.yml を redmineのconfigにコピーする。 例: /var/lib/redmine/config 7. wiki_external_filter.ymlのplantumlにおけるパスを適切に指定する。 ※この例だと修正不要のはず 8. apache2の起動時のlocaleをutf-8とする。 これを怠ると、日本語が適切に表示されなくなる。 /etc/apache2/envvars の下記を修正 export LANG=ja_JP.UTF-8 なお、下記の戻り値がUTF-8ならば日本語が使えるようになる。 Encoding.find("locale") 9. apache2を再起動 10.redmineの管理メニューより、キャッシュの保持時間を指定する。 デフォルトは0であるが、この場合は、キャッシュを保持せず画像が絶対に表示されない。 管理>プラグイン>Wiki External Filter Plugin の設定 「Cache expiration time 」に十分大きな数値を入力 ![]() 11. 下記のような文章をWikiに記述する
![]() #
by mima_ita
| 2014-06-28 03:16
| memo
|
![]() |
![]() by mima_ita 検索
カテゴリ
全体
実験 VBA 泣き言 管理 メンタルヘルス memo buildbot php テスト subversion book JQuery python R .NET box2d SQLSERVER node.js ruby 未分類
最新の記事
以前の記事
2014年 07月
2014年 06月 2014年 05月 2014年 04月 2013年 12月 2013年 11月 2013年 10月 2013年 09月 2013年 07月 2013年 06月 2013年 05月 2013年 03月 2012年 10月 2012年 09月 2012年 08月 2012年 04月 2012年 02月 2012年 01月 2011年 10月
最新のトラックバック
その他のジャンル
ブログパーツ
|
![]() | ||||||||||||||||||||||||||||||||||||
ファン申請 |
||