サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
blog.sharplab.net
このエントリは、CloudStack Advent Calender 12/4のエントリです。 みなさん、CloudStack開発してますか? まだ始めていない方には、きっとこの記事は良い導入になるかと思います。 既に始めている方は、お使いのIDEは何ですか?Eclipse?それともVim/Emacs? Java開発で敢えてVim/Emacsをお使いの方々は、それぞれ譲れない宗教をお持ちでしょうからどうでもいいですが、 Eclipseで開発している方は、CloudStackだとm2eのエラーが出て、なんとかならないかなーとか思っていませんか? 残念ながら、Eclipseを使い続ける限り、今のところ回避策はないようです。 エラーが出続ける状態で開発を行うのは心の健康にも、また実際の開発上も他のエラーを見落とす可能性があることから良くありません。 幸い、JavaのIDEには、軽量でモダンなUI
最近WPFアプリケーションの設計で頭を悩ませていまして、どのような設計をしたものかと色々と記事を物色しているのですが、どうやらModel-View-ViewModelパターンというのが良いみたいですね。そこでとりあえずThe Orbifoldというサイトの、WPF patterns : MVC, MVP or MVVM or…?というエントリを勉強がてら訳しながら読んでみました。自分も英語が得意なわけではないので、ミスがありましたらご指摘をお願いします。 2009-02-21追記:もう一つ記事を訳してみました:M-V-VMパターンについてのエントリを訳してみた2 原題:「David Hill’s WebLog : The ViewModel Pattern」 – SharpLab. ―訳ここから― 導入 Introduction XAMLの登場以来、WindowsアプリケーションのためにM
このエントリではVisualStudioの拡張のインストーラ/アンインストーラの作り方を解説します。 参考になるMSDNのドキュメント まずはMSDNから参考になるドキュメントを紹介します。 アドインの登録 方法 : アドインを非アクティブにして削除する ざっくりと内容を要約すると、VisualStudioに自作のアドインを追加するには、 <マイドキュメント>\Visual Studio 2008\Addins フォルダに、アドインのアセンブリの位置や、サポート対象としたいVisualStudioのバージョンなどを設定する.AddInファイルを置けば良く、追加したアドインを削除するには、.AddInファイルやアセンブリなど拡張を構成するファイルを削除したうえで、Visual Studioのコマンド プロンプトで、「devenv /resetaddin <拡張のConnectクラスのName
仮想化が大流行りな今日この頃、ホストのセットアップもテンプレートからで済むケースが身の回りでも増えていますが、そうはいっても、いや仮想化が流行っているからこそ、KVM用に何台もの物理サーバーにLinuxのインストール繰り返す、そんな刺身タンポポな作業も出てきます。最近はよくUbuntu Server 12.04 LTSを触っているので、いい加減これはインストール作業を自動化する方法を覚えねば、とPreseedingによるUbuntu Serverの自動インストールに取り組んでみました。PreseedingはUbuntu Serverのインストーラのダイアログへの応答を事前に定義しておくことで、完全自動インストールを実現する仕組みです。 今回作成した設定ファイルの中身は以下の通り。なお、設定は、Ubuntu Serverのインストーラに対してtftpで食わせたりもできるのですが、今回は完全に
いますぐコマンドプロンプトを捨てて、Cygwinを使うべき10+の理由 – ブックマクロ開発に 「コマンドプロンプトからCygwinへ」の記事への補足 – ブックマクロ開発に CygwinはWindows環境にそのままLinuxのCUIツールを導入できる。もう「コマンドプロンプト」に拘る必要は薄くなりました。僕は今年1年の一番の収穫はCygwinを使ったこと。Cygwinを使うことでターミナルを使いこなせるようになった。そしてMacに移行してもターミナルさえあるから困らないと思えるようになりました。 cygwinが進化していることを知らなかったので、このエントリは勉強になったのですが、まぁでもラップトップ用のDDR3メモリ4GB*2ですら三千円程で買えるこのご時世、もうcygwinで無理にWindows上にUNIXライクなインターフェイスを作る必要はないんじゃないかな、と思います。CUI環
最近VyattaでL2TP/IPsec VPNのアクセスコンセントレータをたてようとしていて嵌ったのでメモ。VyattaはPCルータを作るために様々なパッケージを集めたDebianベースのLinuxディストリビューションです。Tabによる補完の効くネットワーク機器ライクなCUI(vbash)とWebGUIを備えていて、Ubuntu Serverのような一般的なディストリベースでPCルータを構成するより手軽です。今回はこれをつかって、あるネットワークの管理用セグメントに入るためのVPNアクセスコンセントレータをたてようとしていました。WebGUIをガイドメッセージに従ってポチポチしていたらなんとなく動くものが出来て、こりゃ便利、と思っていたのですが、リモートアクセスするPCがNAT下にいると、うまく動かないという問題に直面。L2TP/IPsec VPNはIPsecで暗号化した通信を行うのです
みんな大好きWordPress。だからこそ、データが飛んでしまうのはなんとしても避けたいもの。そのためには、常日頃からデータのバックアップを取っておくのが重要なのですが、いちいち手動でバックアップするのは手間なので、なるべく自動化しておきたいものです。バックアップしたいのは次の二つ:アップロードしたファイルとMySQLのダンプ。そこで、UNIX環境の勉強がてら、今このブログが設置されているXREAのサーバーから、ローカルに立てたサーバへ自動的にバックアップする体制を整えてみることにしました。今回のエントリではその方法をまとめてみました。 処理の流れ 今回XREAのサーバーに設置したWordPressのデータをバックアップするにあたっては、まず、XREAのサーバー側で、MySQLのデータをダンプし、圧縮をかけてファイルとして保存する、という処理を行います。その上で、ローカル側に設置したサーバ
前のエントリで紹介したWebkit.NETはまだC#などのコードからDOMにアクセスする方法は実装中であるため、正式には提供されていません。提供されているのは基本的なナビゲーションなどに限られています。そのため、出来ることは相当制限されています。がしかし、表示されているページの中でJavaScriptのコードを実行させる方法がForumに上がっていましたので紹介します。これがあれば多少の助けにはなりそうです。 ソースコードはこんな感じ。 private void button1_Click(object sender, EventArgs e) { FieldInfo fi = typeof(WebKitBrowser).GetField("webView", BindingFlags.NonPublic| BindingFlags.Instance); WebView webView =
「C#凄い使いやすくて良い言語なんだけど、WebBrowserコントロールは残念だよなー、Trident最近頑張ってるんだけどWebkitとかに比べるとまだまだだよなー」とか常日頃から感じていたのですが、ふと「WebkitをC#から扱うためのラッパーとか探せばあるんじゃね?」という思いつきで「Webkit .net」とググってみると、ありましたありました、「Webkit.NET」というまんまなタイトルのプロジェクトが。オープンソース恐るべし。コンパイル済みのバイナリと共に、サンプルアプリがあったので実行してみました。 ・・・なにこれ凄い。日本語も全く普通に通りますし、普通に使えそうです。というわけで自分でもテスト用にWinFormsプロジェクトを作って動かすテストをしてみたので、メモを残しておきます。 まず、WebKit.NETライブラリをWebKit .NET | Get WebKit
ご存知の通り、中国では政府にとって好ましくないとされるサイトへのアクセスはブロックされており、Twitterもその一つです。TwitterのWebページのアクセスも、TwitterクライアントがTwitter APIを叩きに行くのもブロックされています(自分は普段TweetDeckを使っています)。しかし、それで「はいそうですか」、と素直に引き下がれるほど自分のTwitter依存度は低くなく。。一緒に上海に行った人達は日本にWebプロキシを建てた上で使っていたようですが、自分はちょっと違った方法を使いました。sobeesを使うという方法です。これはSilverlightで作られたTweetDeckライクなマルチカラムTwitterクライアントで、これはSilverlight3で構築されていて、Out of Browser機能が有効化されているので、これをデスクトップにインストールして使用し
※今回のエントリはWPFでの話ですが、Silverlightでも参考になると思います。 Expression Blend 3で追加されたBehavior、元はと言えば、Attached Behavior(添付ビヘイビア)という名前でWPF/Silverlight開発者の間で親しまれていたパターンが、Expression Blend 3でデザイナのサポートを受けれるようになったものです。 添付ビヘイビアとは、内部的には添付プロパティを利用し、添付された要素への参照を得ることでそのイベントを購読し、そのイベントハンドラにおいて、オブジェクトに対する様々な操作を実現する便利なテクニックです。 BehaviorがExpression Blendでサポートされたことにより、要素に対する添付ビヘイビアの追加、削除を、コードを書かずにGUI操作だけでできるようになりました。また、Microsoft.Ex
TextBox内でEnterキーが押下された時に、割り当てたCommandが実行されたりすると便利ですよね。ちょっと必要になったので添付ビヘイビアを利用して実装してみました。ちなみにKeyBindingも試しましたが、あれCommandプロパティが依存関係プロパティになっていないのでバインドが出来ないんですね…。不便。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Input; using System.Windows.Controls; using System.Windows; namespace SharpLab.IKnow.ItemBankPane { public class TextBoxBehavior {
このエントリは、M-V-VMパターンについてのエントリを訳してみる試みの四本目です。今回は添付ビヘイビアというテクニックを解説した、CodeProject: Introduction to Attached Behaviors in WPFという記事を訳してみました。著者はMSDN MagazineのWPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターンという記事も書かれたJosh Smithさん。Crack.NETの作者の方でもあります。 -訳ここから- 導入 Introduction この記事は添付ビヘイビアが何であるか、WPFアプリケーションでどう実装できるのかを解説します。この記事の読者はWPF、XAML、添付プロパティそしてModel-View-ViewModel(MVVM)パターンに多少親しんでいる必要があります。私の‘Simplifyin
M-V-VMパターンとアニメーションをどのようにして組み合わせるのかは、MVVMパターンを使う上で常に頭を悩ませる問題です。この問題に対して、Josh SmithさんがOrchestrating Animated Transitions between View and ViewModel >> Josh Smith on WPFというエントリでひとつの方法を示していたので、今回はこれを訳してみました。 Introduction Model-View-ViewModel(MVVM)パターンを使う場合、Viewに表示されるデータはほぼ常にデータバインディングを通じてやり取りされます。ViewModelオブジェクトのプロパティに対する変更はすぐにViewのバインディングターゲットに対して伝達されます。これは普通は良いことです。しかしながら、時によっては、伝達が即時に行われることが問題になること
5/1にCodePlexのWPFのサイトでリリースされたWPF Futures、様々なサンプルやテンプレートが含まれていて興味深いのですが、この中には、WPF Model-View-ViewModel Toolkitというものも含まれていました。 内容は、 Visual Studio 2008用のテンプレート (Visual C# Express 2008もサポート) 文書 M-V-VMの概略紹介 VSテンプレート利用の手引き MVVMパターンの適用されたWPFアプリケーションのデモ となっています。 Visual Studioテンプレート 規約というほどのものではありませんが、M-V-VMパターンもRuby on RailsやASP.NET MVC、CakePHPなどのMVCパターンのフレームワークのように命名規則やディレクトリ構造の作法が存在します。Model、View、Vi
一昨日のWordCampでもMatt直々に紹介があったP2、自分も早速設置してみました。 P2 - SharpLab. おお~。素敵素敵。でも、Twitterの魅力である、TLを通じた他人とのインタラクションは一人でP2を使っているのでは得られないので(多分。P2にはFollowとかいう仕組みはないですよね?)、自分はこのP2を適用したBlogをTwitterの自分のTweetのログを収集するために使うことにしました。 利用したのはTwitter Toolsというプラグイン。自分のTwitterでのTweetを収集してサイドバーとかに表示したり、一日のTweetのサマリ記事をBlogに自動で投稿したりする機能を持った、TwitterとWordPressをつなぐ働きを持った多機能プラグインです。で、今回はこのプラグインの「Tweet毎にエントリを自動投稿する」機能を利用しています。 但し、T
最近WPFアプリケーションの設計で頭を悩ませていまして、どのような設計をしたものかと色々と記事を物色しているのですが、どうやらModel-View-ViewModelパターンというのが良いみたいですね。そこでとりあえずThe Orbifoldというサイトの、WPF patterns : MVC, MVP or MVVM or…?というエントリを勉強がてら訳しながら読んでみました。自分も英語が得意なわけではないので、ミスがありましたらご指摘をお願いします。 2009-02-21追記:もう一つ記事を訳してみました:M-V-VMパターンについてのエントリを訳してみた2 原題:「David Hill’s WebLog : The ViewModel Pattern」 - SharpLab. ―訳ここから― 導入 Introduction XAMLの登場以来、WindowsアプリケーションのためにM
このエントリは、M-V-VMパターンについてのエントリを訳してみる試みの三本目です。前回のDavid Hill’s WebLog : The ViewModel Patternという記事の続きの記事です。前回の記事で言及されていた、M-V-VMパターンに基づく、CollectionViewのSilverlightでの実装例を扱った記事です。元記事はこちら:David Hill’s WebLog : CollectionViewModel -訳ここから- この投稿では、選択ベースのコントロール(例えばListBoxやComboBox)のソート、フィルタリング、グルーピング、選択状態のトラッキングを可能にするSilverlight用のICollectionViewの実装について解説していきます。実装をデモを行うために、ユーザーがフィルタリング、ソート、グルーピング、選択ができる、アイテムのカタ
MSDN Magazine 2月号のM-V-VMパターンについての記事の訳(WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン)が昨日公開されましたね。なかなか読みごたえがありました。さて、今回のエントリでは、同じくM-V-VMパターンについてを解説した、David Hill’s WebLogのDavid Hill’s WebLog : The ViewModel Patternという記事を訳してみました。 -訳ここから- ViewModelパターン(より一般的にはModel-View-ViewModelパターンと呼ばれていますが、それではとても長ったらしく、また私は無精なのです)はWPFとSilverlightの開発者にとってますます人気のあるパターンになってきました。これは、そのシンプルさ、フレキシブルさ、そしてWPFとSilverlightに
WordPress2.7が出たのをきっかけに、いい加減PHPの開発環境を整えようということで、hiromasaさん御用達のEclipse PDTの導入と、WebオーサリングツールであるAptana、SubversionクライアントであるSubclipseの導入を行ってみました。 参考にしたサイトはこちら Eclipse+pdtインストール 日本語化してPHP開発環境を作る(Xampp) – delab Subclipseのインストール方法 基本的にこの二つのサイトの指示に従ってインストールを進められたのですが、途中、PDTの「PHPサーバーの設定」のところでつまづきました。あるはずの「このサーバーへプロジェクトを公開」の項が…ない!という問題。実行時にXAMPPのフォルダにプロジェクトをコピーしてくれるオプションだったので、これがないと書いたものを走らせることができないので困ります。 ググ
UPDATE wp_options SET option_value = replace(option_value, 'http://www.old-domain.com', 'http://www.new-domain.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://www.old-domain.com','http://www.new-domain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');
追記:現在はWindows Live Writerが使えるようになったようです。はてなはフットワークが軽くていいですね。 はてなインターンで実装されたというはてなダイアリーのAtom Pub APIを使って、Windows Live Writerからはてダに投稿できないか試してみました。 結論から先に言ってしまうと、登録出来ませんでした。残念…。 とりあえず、どこで失敗しているっぽいか調べた際のレポートを載せておきます。 どこで失敗するかというと、Windows Live Writerに新しいアカウントを追加する際。FiddlerでWLWの通信を覗いてみたところ、アカウントの追加画面でBlogのタイプをAtom Pub APIに設定し、エンドポイントURLを入力してやって次の画面に進もうとすると、WLWはそのエンドポイントURLに対してまず認証無しでGETリクエストを投げるようです。当然は
コンピュータビジョン・拡張現実感に関する普通じゃない勉強会 - livedoor Wiki 皆さん凄すぎです><。 昨日工学ナビの橋本さんの主催で、CV/AR勉強会が開かれました。どっかの馬鹿が東大に爆破予告をしたせいで会場が変更になるハプニングがありましたが、橋本さん、hiroさんをはじめとする皆さんの入念な準備と運営で、大変素晴らしい会となりました。勉強会で発表をされた方、懇親会で色々と助言を下さいました皆様、本当に素晴らしい時間をありがとうございました。 セッションの内容としては、電脳コイルの世界実現に必要な技術のサーベイ、OpenCVを使ったプログラムの解説、ミクをARToolkit、HandyARで実装してみた動画の作者の方や、バーチャル飛鳥京プロジェクトの研究者の方による実装方法の説明、そしてそういったライブラリに頼らずゴリゴリ書いていた時代のテクニック紹介などなど、大変興味深
今まで理解していなかったのですが、MavenのローカルレポジトリのディレクトリとGradleのディレクトリは、場所が異なるんですね。同じだと思ってTravis-CIでMavenの場合に合わせてディレクトリキャッシュの設定をしていたら、キャッシュが効いていなくて毎回ライブラリのダウンロードが走り、ビルド時間が無駄に伸びていました。以下のように修正することで対処できました。 https://github.com/webauthn4j/webauthn4j/commit/c06094f0b784bfb36972ad4e424592bbf1763982 先月末開催されましたNTT Tech Conference #3でWebAuthnについて紹介してきました。資料はSpeackerDeckで公開しています。 久しぶりに外向きにアウトプットしましたが、資料をまとめる過程で自分の理解も進んで良いですね
このページを最初にブックマークしてみませんか?
『SharpLab blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く