April 19, 2014

[PowerShell]32bitと64bitの使い分け

PowerShellにはちゃんと 32bit版と 64bit版が備わっています

Windows2008 R2
Windows2012 R2
共に同じ場所にあります(~o~)

64bit版
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe

32bit版
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe


デフォルトの64bitマシンであれば、コンソールで

> powershell

とすると、64bitモードが立ち上がります

これはどういうことかというと、64bitのアプリから使うライブラリなどは、64bitでないとダメってことです


何にはまったかというと、PowerShell から System.Data.OracleClient に接続するとき

たとえDBサーバが 64bit Oracle だったとしても
Oracle Client はデフォルトでは 32bit になっているようです

powershell から oracle に接続しようとしたときこんな感じになります
(参考)powerShellからOracleを使う(接続・切断)
# アセンブリのロード
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Data.OracleClient")

# 接続
$conn_str = "Data Source=saoDB;User ID=sao;Password=password;Integrated Security=false;"
$ora_conn = New-Object System.Data.OracleClient.OracleConnection($conn_str)

# インスタンス
$ora_cmd = New-Object System.Data.OracleClient.OracleCommand
$ora_cmd.Connection = $ora_conn

# データベースに接続
$ora_conn.Open()

このDB接続直後に、64bit のPowerShell だと
こんなエラーが出ます
"0" 個の引数を指定して "Open" を呼び出し中に例外が発生しました: "Oracle クライアント ライブラリを読み込もうとしましたが、BadImageFormatException が発行されました。この問題は、32 ビットの Oracle クライアント コンポーネントが
インストールされている環境で 64 ビット モードを実行すると発生します。"
発生場所 行:1 文字:22
+ $ora_conn.Open <<<< ()
    + CategoryInfo          : NotSpecified: (:) []、MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException
問題解決方法は2つ
  • Oracle Client を 64bit版をインストールする(たとえDBサーバ上であっても…
  • 呼び出す側のPowerShellを 32bit版にする
既存の稼働環境に影響を与えない様にするという意味では
不毛ですが後者を選択すると波風立てずにコトを済ませられます


haruka_sao at 21:46コメント(0)トラックバック(0)PowerShellTips 

April 10, 2014

[Oracle]テーブル・カラム名が不明でもDBに入っている値を検索したい

見知らぬデータベースを渡され、中を解析したい時…

ありますよね?ありますよね!?

全テーブルの全列に入っている値を横断検索したいという要求、あるんじゃないでしょうか?

探したら同じことを考えている人が居ました

*全テーブルの全列の値の検索方法について - Oracle Community
https://community.oracle.com/thread/2334738?tstart=0
 
方法は2種類
一つは dmp 出力して、テキスト検索をするというもの
だいぶ力技ですけど、確かに、確実に検索できますね…

もう一つの方法は、PL/SQL で全データを総検索するというもの

この方法、
やってみると、良い感じに動きます
お勧めです
テーブル名やカラム名が判らなくても、動きますしね!

めっちゃ感激したので、この記事にも SQL を載せておきます

このサンプルでは、全ての値に 「あ」 が入っているデータを検索します
どのテーブルの、どのカラムに、何件入っているかが判ります

う、嬉しい〜


declare
 sSQL VARCHAR2(128);
 sDATA VARCHAR2(500);
 type cursor_type is ref cursor;
 cur_search cursor_type;
 vCount INTEGER;
 ERR_CODE NUMBER := 0;
 ERR_MSG VARCHAR(255);
begin
 for vRec in (select COLUMN_NAME,TABLE_NAME from USER_TAB_COLS where DATA_TYPE like '%CHAR%')
 loop
  begin
    open cur_search for 'select count(*) as cnt from ' || vRec.TABLE_NAME || ' where ' || vRec.COLUMN_NAME || ' like ''%あ%''';
        fetch cur_search into vCount;
        if vCount > 0 then
          dbms_output.put_line(vRec.TABLE_NAME || '.' || vRec.COLUMN_NAME || ':' || vCount || '件あり');
        end if;
        close cur_search;
  exception
   WHEN OTHERS THEN
    ERR_CODE := SQLCODE;
    ERR_MSG  := SUBSTRB(SQLERRM,1,255);
    dbms_output.put_line('error:' || ERR_CODE || ' ' || ERR_MSG || ' ' || vRec.TABLE_NAME || '.' || vRec.COLUMN_NAME);
  end;
 end loop;
end;




DBの構造を解析するツールは結構探せばあるのですが、データの中身となると、調べるのは手間ですよね…
このSQLには助けられました〜


話は変わりますが、
DB系のクライアントツールで、わたしがよく使っているのは  A5:SQL Mk-2 (フリーソフト)です
 
*A5:SQL Mk-2 : SQL Development Studio
http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/
 
Oracle, SQLServer, MySQL など多くのDBに対応しています
一番うれしいのは、Oracle への接続に、Oracle Client が無くても接続できる所ですね

OCI経由か、直接 IPアドレスなどを指定して接続するかを選択できる!!
 
ER図も自動生成してくれるし、
めっちゃ、現場で役立ってます


haruka_sao at 18:00コメント(0)トラックバック(0)OracleSQL 

March 23, 2014

[C++/CX]MVP Community Camp 2014大阪で「VC++まわりの非同期処理」セッションしました

MVP Community Camp 2014大阪にて、VC++系のセッションをさせて頂きました

MVP Community Camp 2014大阪会場
http://atnd.org/event/E0024087

当日利用した資料はこちら!
 pptx版はこちら  ←セッション時の私的メモが欄外に載っています
 PDF版はこちら

序盤はわたしの追体験発表みたいになってしまいました
同じような疑問を持っている人や、その人なりの解釈の手助けになる様であればと思って記載しています

後半部分は、VC++での非同期処理の触りだけになっていますが
非同期での例外や中断など、C++/CXのWIndowsストアアプリでは興味深い仕組みが色々あるので
この続きになる情報も、もっと自分なりに勉強して発信していきたいなー


haruka_sao at 00:25コメント(0)トラックバック(0)C++/CX勉強会 

March 17, 2014

[Jekyll]タグのソート

Jekyll が生成するタグページが、ソートされてないために見難いです

調べると、同じことを考えていた人が居てます

*Jekyllプロジェクトへpull requestを行う手順(したとは言っていない) - kk_Atakaの日記
http://d.hatena.ne.jp/kk_Ataka/20140128/1390919513

ありがとうございます!ほら、こんな感じにソート出来ましたよ(~o~)

jekyll-sort00
 →これは絶賛移行中の SilverlightSquare の履歴サイトです…

今回は修正箇所の Jekyll モジュールに手を直接手を入れてしまいましたが
このソート機能、ぜひとも、本家Jekyllにマージしてもらいたいところですね

ちなみに修正箇所はこちらです

Ubuntu の場合のパス:
 /usr/local/lib/ruby/gems/2.1.0/gems/jekyll-1.4.3/lib/jekyll

Windows の場合のパス:
 C:\_d\Library\Ruby200-x64\lib\ruby\gems\2.0.0\gems\jekyll-1.4.2\lib\jekyll

細かいバージョンが異なっているのは、わたしの環境が単にそうなっているだけです
インストールディレクトリも同じく
修正コード:site.rb
    def post_attr_hash(post_attr) の最後にある hash を hash.sort に変更

これだけでOK

※ソートしたくない例の方が、思いつかないなー
 だってこれ、明らかにプログラムの処理順やし

ちなみにこの kk_Atakaさんは、Jekyllの有志翻訳用のGitHubを立ち上げたとのことです

*Jekyllドキュメント ( http://jekyllrb.com ) の日本語訳ページ
 
頑張ってほしいので、とりあえずわたしも何かしら貢献できたらいいかなーということで
fork させて頂きました( *´艸`) 


haruka_sao at 18:00コメント(0)トラックバック(0)JekyllTips 

March 13, 2014

[C#/VB.NET]VisualStudio2013-CodeLens

この機能を使いこなすのは、ちょっと大変そうなので、ひとまず紹介のみ

ここのところVisual StudioでC++プロジェクトしか開いていなかったので
久しぶりにC#プロジェクトを作ったら、変な文字が…!?
// あんた、どんだけ、C#プロジェクトを作ってないねん…
// VS2013出てからもう、ずいぶん経ちますが…

codelens00

「0 個の参照」って、なんですかね??

気になったので、VB.NETも立ち上げてみたら、同じような文字が…

codelens01
 
これは CodeLens という Visual Studio 2013 の新しい機能のようです

ツール > オプション の
テキストエディター
 > すべての言語
  > CodeLens
   > CodeLens を有効にする 

 
で、表示の切り替えが出来るようです

codelens02


*CodeLens を使用したエディターからのコード情報の検索
http://msdn.microsoft.com/library/dn269218.aspx

C++プロジェクトには、こんなのなかったですねぇ

具体的な機能としては、ここに表示されているような参照の個数の他にも
参照の検索
参照の可視化
など

TFSで管理していれば、そのコードを作った人にメールを送れたりするみたいです……
 // 豪華ですね…


haruka_sao at 18:00コメント(0)トラックバック(0)VisualStudioTips 

February 28, 2014

[勉強会]3/1(土)Room metro#23大阪開催しますよ〜

明日、3/1(土)はRoom metro #23 大阪の日です!

Room metro #23 大阪
〜めとべやスペシャルサンクスDay〜
http://metrostyledev.net/index.php/event/20131026/
 
最新のASP.NET, SignalR, C# のお話に加え
Xamarin MvvmCross, インタラクションデザインなど、モバイル系のお話も聞けます!

お気軽にお越しください〜

どうぞ、よろしくお願いします(~o~) 

haruka_sao at 15:30コメント(0)トラックバック(0)勉強会 

February 24, 2014

RSSを整理した

昨日、自分のRSSを整理してて
感じたことを書いておきます

これらの感想は、あくまでわたしが集めていた RSSフィードがたまたまそうなっただけなのかもしれませんが、面白いなと思ったので、共有しておきますね(~o~)


*何も考えずにGoogle ReaderからFeedspotに移行

まずは、昨年のことです

過去数年分の登録作業により、まぁ大量にRSSが登録されていたわけです
 
おかけさまで毎日 1000+ だったので、英語サイトも含めて情報を読むスピードは上がりましたが…

当時、使っていたのは今は亡き Google Reader
昨年 2013年の7月にサービス終了しました

昨年は何かと忙しかったため、とりあえず自分の過去RSSフィードをえいやっと Feedspot にエキスポートしました

* Feedspot


*RSS内容の見返し

その後は、大した整理もせず、そのまま利用していたのですが
前から Feedの情報量が多すぎで、そろそろつらいな…と思っていたところでした

で、Google Readerが終わって、今どきの Reader が出てるんじゃないかと思い、調べてみたんですけど、1年前から対して変わってないですね

ちょうど、読む量をもう少し精査したいと思っていたのもかねて
Feedspot にザルで登録しているRSSを
一つ一つ整理しながら livedoor Reader に移行する
という作業を行ってみました

*livedoor Reader
http://reader.livedoor.com/

半端ない量があったんですけど
やり始めると結構楽しくなったんですよね

※そもそも自分が興味のあるサイトのRSSなので、見返すのも楽しい

わたしの場合、RSSを用いて情報を集めだしたのが2009〜2010年ごろ
今から4年前くらい前です


*気が付いたこと - 組織のサイト

整理してて、何やら面白いなぁと思ったので、ちょっと書いておきます

会社など組織的に情報発信サービスを行っている所は
4年たってもそのまま発信し続けているサイトが多いです

ただし、今は亡き技術など
(どれとは言いませんが…^^;)
既にオワコンと言われる技術は
配信終了 or サイトそのものの消滅 となっていました


*気が付いたこと - 個人のサイト

最終更新日時が 2009年とか、2010年になっているブログサイトも多かったです

3年以上更新が止まっている
もしくは
サイトを削除している人は
だいたい3〜4割くらいかなぁ

色んな事情もあるのでしょうが
やはり「ブログを更新し続ける」というのは、結構難しいんでしょうね

わたしもなんとか今に至ってますけど…(~o~)
息も絶え絶えですけどね…


*ブログCMSの種類、移動

何はともあれ、「はてなダイアリー」から「はてなブログ」に移動している人が多かったです

* はてなダイアリー
http://d.hatena.ne.jp/

* はてなブログ
http://hatenablog.com/

技術系ブログは、やはり「はてな」ですか!!

あとは Wordpress / FC2 / Blogger / 独自CMS などかしら

個人でよく見たパターンは
  • ブログを辞めた
  • はてなダイアリーから、はてなブログに移動
  • はてなダイアリーから、独自CMSに移動
こんな感じです

最後の「独自CMSに移動」というのは
本当にほぼ9割以上の人が「はてなダイアリー」からの移動でした

他の Blogger などのサービスからの移動という人は
わたしのRSSリーダーからはありませんでした
(独自→独自はいてた)

これ、不思議ですね

元々「はてな」のサービスを利用している人は
ほぼ技術系であり
より高いサービスを求めて、自分で運営する道を選ぶのかもしれません


*ブログCMSの移動 - 番外編

地味に気になったのが
「はてなダイアリー」から「ライブドアブログ」に移行している人が3人ほど居てたことです

ほとんどの人が、独自サイト or はてなブログに移行しているのに
なんで「ライブドアブログ」なのか、ちょっと気になるところです

その特徴は、ほぼ、同じで、

全員が、独自ドメインを当てていました
(つまり、有料のライブドアブログを利用)

ライブドアのブログサービスそのものの持つ集客、ランキングなどなど
検索以外での集客と
それにまつわる有料サービスを
駆使している方々なのかもしれません

詳細は不明ですけど… 

かく言うわたくしも、ライブドアです
最初は無料で始めましたが、今となってはちゃんと有料会員になってます(~o~)

何が良いかって…??
ソースコードの表現がうまくいかないので、苦労してるのですが
一番いいところは、ブログとしての基本的な機能が備わってるところかなー

そんなの、どのブログでもあるんですけど…
しかも有料にならなくても、いいんですけど…

ほら、何となく、払った方が良いかなーと思って…
それだけです

今年はもしかしたら、どこかに移動するかもしれません 


*Feedサービス移動の結果

印象としては、Feedspotよりも livedoor Reader の方が
細かい機能の面で優れてそうな感じがしました

ただし livedoor Reader は、あきらかに玄人好みな感じですね


*感想

実はここまで書いておいて、このまとめは何なんって感じですが

もう情報収集はRSSの時代ではないよなーと思いました

未読フィードも溜まるとストレスです

メールも読まないといけないし
Facebook の通知にも反応したいし
Twitter の話題も見ときたいし

なんか、サービスが増えてる分、やることもいっぱいじゃないですか…!!

かといって「Gunosy」のように、自分に最適化された情報だけを見るというのも、なんだかなぁと思いつつ…
(とはいえ、便利ですぉ)

* Gunosy
http://gunosy.com/ 

どうしたらいいのかなーは、現在進行形で模索中
良い案あれば教えてください


*感想2

いやまぁ、ほんとに個人的な感想を

パスタ君が、相変わらず、すごい情報発信してて、いやはや、、すごいよ
会った時は15歳だったんですけど、モーレツにバージョンアップしてるのを感じまする

もう、こっちが覚えてもらえてないんだろうなぁ(*_*)

* Pastalablog in はてな
http://pastak.hatenablog.com/
 

あと、わたしがお試しで更新している GitHub Pages で、ATOM and RSS を吐くようにしてみました
これが、うまく他の RSSリーダーでも読んでもらえるかどうかを、絶賛試し中 
Feedspot と livedoor Reader では、いちおう取れるようになった感じです
良かった。。
 // 内容を英語で書いているのは、ご愛嬌です…(*'ω'*)

* Sao's Closed Circle




haruka_sao at 18:30コメント(0)トラックバック(0)Tips 

February 22, 2014

[Game]FABLE ANNIVERSARYやってみたよ

今日はゲームのレビューですん♪

FABLE ANNIVERSARY - Xbox360
http://www.xbox.com/ja-JP/Marketplace/Product/FableAnniversary 

fable_a02

iPadのSmartGlassを立ち上げたら、ちゃんと対応してますね!

fable_a00

実はイマイチ、使わなかったんですけどね…(*´Д`)
ゲーム上のマップになってます
↓↓↓

fable_a03


前回の Fable The Journey はキネクトを利用して
腕の動きで魔法を発動させて物語を進めていくゲームでした

ところがあらら?
しょっぱなに、男の人の浮気現場に遭遇して、どうする?みたいな選択が出来てきて、びっくりしました

RPGでストーリーを進めていくのかと思いきや
いろんなサブストーリーの嵐で、そこが楽しめるようになっているんですね〜

すごい世界観の作りこみです

わたしはプレイ未経験ですが、ネットで調べてみると、初代 Fable の焼き直しだそうな
ふむふむ

子供時代

fable_a01

青年時代の弓の訓練

fable_a04

大人になると、いろんなミッションをこなし始めます

ヘルプ機能が充実してるよ!

犯罪をおかせば…とか、注意事項がやばい
CERO Z指定になるわけですねー

fable_a06

主人公の顔は結構、ノーマルな感じです
かわいくもなく、不細工すぎず…

まぁこれから、英雄になるか、悪党になるかご自由にっていうゲームなので、どちらとも取れるデザインなんでしょうね

fable_a07

こちら、序盤の方にある果樹園を守るミッションをこなしているところ
ライトニング発動中です

fable_a05

下に見える変な頭は、味方の印の様です……シュールだわ(*´Д`)


開始1時間くらいでも、既に細かいサブストーリのミッションが多発しており
なかなかの、おつかいこなしゲームです

ただ、こちらのアクションに対して
ゲームからの反応がちゃんと用意されているのが素晴らしい

やろうと思ったら、男の人にも告白出来るし
人前でコサックダンス踊ったり
お仕事をこなして褒められたり

やることいっぱい!!!

人生ってこんな感じなのかもしれませんね……

大きなストーリーをクリアすることに楽しみを見出すゲームじゃないです

ゲームの世界で暮らす?みたいな感覚が生まれてくる感じかも

えっと、、誤解を恐れずに言うと、「どうぶつの森」の大人版かな(。・_・。)


操作はとても判りやすく、良心的な作りこみです
また、グラフィックはもちろん言う事なし!
なんのかんのと、Xbox360綺麗ですねー


話は逸れますが、2014年に出るという、Xbox One が待ち遠しいです

あ、そういえば、今日 2014/2/22 はPS4の発売日ですね!

ゲームライフ万歳(~o~) 


haruka_sao at 19:27コメント(0)トラックバック(0)ゲーム 

February 20, 2014

[Hyper-V]第2世代の仮想マシンの初回起動が出来ないとき

WIndows8.1 端末に入っているクライアントHyper-Vを利用したいとき

仮想OS作成の設定画面には、こんな選択肢が出てきます

hyper-v-secureboot0

どうやら第1世代は、これまでのバージョンの仮想OSフォーマット、
第2世代は、新しい仮想OSのフォーマットのようです

もちろん、新しいやつで試したいわけですが、起動時にこんな画面が出てきて、インストールが進みません><

hyper-v-secureboot1


Press any key boot from CD or DVD......

Boot Failed. EFI SCSI Device.
PXE Network Boot using IPv4
..
  PEX-E18: Server response timeout.
Boot Failed. EFI Network.
Boot Faild. EFI SCSI Device.
No Operating System was Loaded. Press a key to retry the sequence...

キーの入力も効かないし
なんだこれ?状態

設定を見てみる…

起動時に PEX とか動いてるので、ネットワーク系?のなんぞかなーと思ってみてみたら、これですか…!!

hyper-v-secureboot2

 ブート時に「ファームウェア>セキュアブートを有効にする」にチェックが入っていると、その起動は信頼できるデバイスやOSなのか?をチェックしてくれるみたいです

その他にも、ブートが高速化したり、2TBディスクがサポートされたりと進化してるのですが、わたしは自分の環境でほげほげしたいだけなので、まぁ要らないかな

というわけで、「セキュアブートを有効にする」のチェックを外したら、無事、起動しました!

hyper-v-secureboot3

動いた動いた!
良かったー

haruka_sao at 12:30コメント(0)トラックバック(0)Hyper-VTips 

February 14, 2014

[Jekyll]サブディレクトリにJekyllを生成したい

Jekyll Bootstrap で数日前からサイトを構築しています

Rubyがどやこや、、マークダウンがどやどや、、Jekyllがあーだこーだと
自分の専門外のことを良くメモっていますがが!!!

何がしたいからこれをやってるのかというと

C++/CX のリファレンスサイトを昨年秋ごろに作ったはいいけど
サイトそのものの更新が滞ってしまっています

原因は単純で、更新しにくいという点
うまく運用すればいいのかもしれませんが、私的にノウハウ不足で。。


リファレンスサイト、まずはMediaWiki で作ったのですよ

で、ちょっとやってみて思ったのは、更新管理が非常にしにくく、
ソースコードの表記やシンタックスハイライトにも苦労しており、
結果、全然更新にたどり着いていません><

だったらちょっと本気でプログラマの満足するWebサイトつくったろーやないですか〜ということで、静的コンテンツ生成ツールである Jekyll にたどり着いた次第です

http://jekyllrb.com/

jekyllsubdir00

この Bootstrap版がこちら

http://jekyllbootstrap.com/

jekyllsubdir01


なぜこれになったのかというと

とにかく、マークダウンで書きたい(テキストが良い!)、ということ
ソースコードの表示に苦労したくない、ということに重きを置いた結果

良い感じにマークダウンを解釈して、HTMLに出力してくれるオレオレCMSを作ろう…
もう作るしかない!
納得いくCMSなんて、見つからないょ……

という結論に至りました

それを、ふにゃふにゃと Twitter でつぶやいていたところ

それって、Jekyll みたいなのですかね?Github Pages でも使われてますよ〜

@bouzuya さんが教えてくださり、その神の声がきっかけで、空前絶後のマイJekyll ブームが起きています!(いまここ)
@bouzuya さん、ありがとうございます!!


とりあえず、記事のタイトルの件
Jekyll の生成をサブディレクトリにする方法のメモ


Jekyll は普通にビルドすると、URL直下にサイトを作る仕組みになっています

例えば、ローカルの環境であれば
http://localhost:4000
ですし、サーバに配置した場合は
http://tmp.com
など、ドメイン直下にサイトを置くことを想定したHTMLの構造になります
これを、
http://tmp.com/blog
この様に、サブディレクトリの直下に Jekyll の静的コンテンツを展開したい場合についてです

検索すると、いろーーーんな方法が紹介されているのですが
一番簡単なのは、_config.yml の BASE_PATH を設定する方法です

(1)_config.yml を開く

既定では、BASE_PATH は false が設定されています

BASE_PATH : false

false というのは、"/" (ルート直下という意味) のことです

ここを、以下の様に変更します

BASE_PATH : "http://tmp.com/blog"

(2)ローカルで動作させる場合

このまま、
> jekyll serve
でビルド&ローカル展開しても、 サブディレクトリの設定は無視されます
展開されるのは、
http://tmp.com
とか
http://localhost:4000 
のままです
サブディレクトリに Jekyll を展開するには、ビルド時にオプションを付けます
> jekyll serve --safe
すると
http://tmp.com/blog
に展開されることを想定したHTMLの構造になります!!(_site 配下)
(この場合、もちろんローカルの http://localhost:4000 では、うまく動作しません) 

おぉ、Jekyll なんでも出来るわ!
もうしばらく、マイブームが続きそうです(~o~)


というわけで、調子に乗って、今、Github にpush したら、Jekyll自動ビルド&自動デプロイがかかる仕組みを作っています
うまく出来たら、また書きます!! 

(参考)
{{ BASE_PATH }} doesn't work #92 - github-plusjade-jekyll-bootstrap
https://github.com/plusjade/jekyll-bootstrap/issues/92


haruka_sao at 23:50コメント(0)トラックバック(0)JekyllMarkdown 

February 11, 2014

Sample Browserでコード検索

コード レシピ:サンプルコードから学ぶ
http://code.msdn.microsoft.com/

開発者向けのサンプルコードがたくさん載っています
デスクトップ/Web/クラウド/Windows Store apps/データ/モバイル/Xbox のカテゴリあり!


IT プロフェッショナル向けスクリプト リソース
http://gallery.technet.microsoft.com/scriptcenter/

ITプロ向けのスクリプト集
こちらのジャンルは多岐に渡っていて、主に VBS/PowerShell での管理などなどが充実しています

これらはWebで公開されており、ブラウザさえあれば誰でも気軽に検索が出来るようになっています

さらになんと、これらを一括して検索できるツールも公開されています

それが「Sample Browser」(サンプルブラウザ)です!


Sample Browser で快適な開発を
http://msdn.microsoft.com/ja-jp/jj730399.aspx 

samplebrowser00


ちなみにツールは3種類あって、自分の必要に合わせて選ぶことが出来ます
(Webも入れると4通りの検索方法がありますね!)

<Visual Studio Extension版>

インストールはこちらから
http://aka.ms/samplebrowservsxjp


<Windows ストアアプリ版>

インストールはこちらから
http://aka.ms/win8samplebrowserjp


<デスクトップ版>

インストールはこちらから
http://aka.ms/samplebrowserjp

とりあえずの利用方法
こんな感じでインストールできます

samplebrowser01


アプリのホーム画面

この画面、あまり気にしなくていいです
(例えば、「HTML5」の枠を押したら、検索条件の指定が出来るだけ)

あんまり使わないと思いますので、早速、「検索とダウンロード」に行きましょう

samplebrowser02


設定画面
ちゃんとプロキシにも対応しているし、日本語表示も選択できます

samplebrowser03


この設定画面、何か触ってからホーム画面に戻ろうとすると、設定の保存・非保存に関わらず、以下のようなポップアップが表示されます
「設定」画面から離れようとしています。設定の変更を保存しますか?

samplebrowser04

これね、「サンプルの保存場所」を設定していないと、絶対に聞かれる項目なので、素直に保存場所の設定を行いましょう

ようやくの、検索画面

samplebrowser05

ちょっと、慣れるまではクセがありますが
慣れると使いやすいです

検索条件が折りたたまれた状態になるので
開いて使いましょう

画面左上のプラスボタンをぼちちっ!
(うっすら、「すべての検索条件を展開する」と見えます)

samplebrowser06

選べる条件は以下です
  • Visual Studioのバージョン
  • 作成者名
  • 言語
  • 対象テクノロジ
  • おすすめサンプル
個人的には、最後の「おすすめサンプル」は、あまり使わないかも…
検索条件が「対象テクノロジ」と被っているので…

さてこのサンプルブラウザ、何がイイって
やっぱり横断検索ですね

コードレシピとスクリプトリソースは、サイトが異なっているので
それが一緒に見れるようになってるのは、結構いいかも

あと、まとめてダウンロードできるのも地味に嬉しい

とはいえ、使い勝手が良いかと言われると、うーんという部分もまだまだ残っています

まぁ完璧なアプリになるまで、頑固に内部開発し続けるよりは

こうやってエイヤッ↑(/>_<)/ っと出してもらえる方が、ユーザにとっても有りがたいので
細かいことは気にしない〜です

興味あれば使ってみてくださいね 

haruka_sao at 00:50コメント(0)トラックバック(0)MicrosoftTips 

February 07, 2014

Windows環境Jekyll(Ruby2.0)で日本語で書かれたファイルを扱う

Jekyll Bootstrap で記事を投稿する際に、日本語で記事を書くと、以下の様なエラーになってしまいます

(test.md ファイルに日本語を記載した場合)
Generating...   Conversion error: There was an error converting '_posts/test.md'.
error: incompatible encoding regexp match (UTF-8 regexp with Windows-31J string). Use --trace to view backtrace
どうやら、Windows × Ruby2.0 の環境の問題の様です。

Ruby2.0 でUTF-8の日本語を使えるようにする環境変数「RUBYOPT」に「-EUTF-8」を設定してあげます

以下は、PowerShellの場合
# Jekyllで日本語を使うための設定
$env:RUBYOPT = "-EUTF-8"
コマンドプロンプトの場合は、
set RUBYOPT=-EUTF-8
ですね

にとよんさんのブログに書いてあって、助かりました〜(~o~)

(参考)
Windows で Jekyll 1.3 を動かすまでの手順 - てっく煮ブログ
 

haruka_sao at 12:30コメント(0)トラックバック(0)RubyTips 

February 05, 2014

[GitHub]JekyllBootstrapのテーマをフォークして作った

先日、自分の英語ブログを Github Pages & JekyllBootstrap で作成しました
その時の顛末はこちらから

Jekyll Bootstrap ではhooligan テーマを利用しており、
dhulihanさんという方が GitHubにて公開されていました
https://github.com/dhulihan/hooligan

テーマの色を変えたいなぁと思って、ちょっと触ったら、すぐに変更箇所は判りました

で、そのまま自分のブログにポストしようかと思ったのですが、ふと、ある文言が頭をよぎりました……

Fork

そう、有志の方々は、結構なんらかのテーマからForkされてるのも良く見かけるのです
Jekyll Bootstrap のテーマ集みたいなサイトも見つけたのですが(URL忘れた…)そこでも

「みんなでテーマをForkしたり、UPしようぜ!」

などなど書かれてありました

というわけで、自分だけのテーマにするのではなく
dhulihanさんhooligan テーマをForkすることにしました

初体験だったので、そのメモ

(1)フォークする

まずは、フォークしたい人のサイトに行きます
わたしの場合は、上記に書いたhooligan テーマのGitHubサイトですね
Forkボタンをぼちっ

jekyllfork00

すると自分のGitHubに入ってきます
これで完了

わたしはGitHub for Windows を入れていたので
あとは、Clone in Desktop を押すと、良しなにローカルに落ちてきます

jekyllfork01


(2)テーマの変更
肝心のテーマ変更です

Jekyll Bootstrap のテーマ作成方法は本家に詳しく書いてあります

*Theme API
http://jekyllbootstrap.com/api/theme-api.html

わたしは、hooligan のテーマの水色の文字をピンクに変更したかったので
HooliganPink という名前にしようと思います

以下、変更点を箇条書きしていきます

  • _include/themes/hooligan のフォルダ名を hooliganpink に変更(★)
  • _include/themes/hooliganpink/default.html のフッター部を HooliganPink に変更
  • assets/themes/hooligan のフォルダ名を hooliganpink に変更(★)
  • assets/themes/hooliganpink/css/style.css の a タグの color を hotpink に変更(リンクを桃色に)
  • 同じく、style.css のaタグのマウスオーバー部分 a:hover color を pink に変更
  • README.md に hooligan からの Fork である旨を追記
  • manifest.yml の name を "hooliganpink" に変更(これがテーマのディレクトリ名(★)になる)
  • manifest.yml の その他の部分を作者へ尊敬の意を込めながら変更
これで、GitHubにコミットします

(3)テーマのインストール
どきどきしながら、自分で作ったテーマをインストールします

> rake theme:install git=https://github.com/h-sao/HooliganPink

完了、、ローカルのサイトを見て見る

jekyllfork02

おおー色が変わってる!

これでもしかしたら、誰かhooligan のピンクバージョンが使いたい人は、使えることに…

HooliganPink - Jekyll Bootstrap
https://github.com/h-sao/HooliganPink

これまで、サンプルプロジェクトを公開することはあっても
GItHub で他人向けに何かをしたことは無かったので
こんなささいな Fork でも、ちょっと嬉しくなりました 


haruka_sao at 23:50コメント(0)トラックバック(0)GithubMarkdown 

February 03, 2014

[Git]ローカルを強制上書きして、作業をなかったことにしたい

ローカルの作業が何やらおかしくなったから
リモートのファイル内容に戻したい〜という時
以下のコマンドでさくっと戻りました 
git fetch origin
git reset --hard origin/master
GitHub for Windows で強制的にsyncさせようとしても

failed to sync this branch 

という悲しいお知らせが出て、Git Bash に飛ばされますので……

(参考)
gitでリモートのブランチにローカルを強制一致させたい時

How to reset my local repository to be just like the remote repository HEAD
 

haruka_sao at 18:54コメント(0)トラックバック(0)GitTips 

January 31, 2014

[PowerShell]初期起動したときに実行したいものは$profileへ!

バッチといえば、コマンドプロンプト!
そしてなにはともあれ PowerShellですね!

古くからあるコマンドプロンプトでは、以下の様にして、初期起動バッチを実行させていました 

psprofile00

この sao.bat の中身は、Vim のパス通したり、 よく利用するディレクトリに移動したり
いわゆる自分だけの環境設定を行っています

昔から使っているので、BATファイル形式です

で、最近は PowerShell を使う機会が増えたので、この BATファイルの最後に、PSの起動を入れました

@echo off
@echo Hello sao!

set MY_DRV=c:
...
...
...
%MY_DRV%
cd %MY_DIR%
 
powershell

これはこれで幸せだったのですが

PowerShell で初期設定されている GitHub Shell を起動させるときにも、これらの sao.bat の内容を反映させたいなと思いました

gitproxy00

もちろん、この Git Shell には GitHub の設定が組み込まれているので、わたしのバッチファイルを自動で起動させる方法が判りませんでした

そんなときに、むたぐち先生からの神のお告げが…!

psprofile01
 
$profile という場所にあるファイルに
起動時に自動的に読み込まれるという素晴らしい情報を聞いたので、やってみると…

psprofile02

$profile は powershell の起動時に読み込まれるので
その $profile に posweshell の起動を書いたら
もちろん無限起動に…Σヾ( ̄0 ̄;ノ

$profile の中身には、powershell の起動は書いてはいけません

当然のことでしたね、はい、しょーもないことやって、すみませんでした



haruka_sao at 01:36コメント(0)トラックバック(0)PowerShellTips 

January 30, 2014

[C++/CX]DirectX & XAMLのプロジェクト:SwapChainPanelメモ

ちょっと触ったらすぐにわかるのですが、自分へのメモ

そういえば、D3D & XAML のプロジェクトを Visual Studio 2013 でまだ触ってなかったなーと思って、立ち上げてみました

swapchainpanel00

以前は D3D & XAML のプロジェクトは、良い選択肢だよねと思いつつも
どうやって使おうか。。。と感じる部分も多くあり、私的にも最初の一歩以上に触手が伸びないジャンルではありました

そもそもだいたいつまりは、D3D使える人であれば

今からわざわざ XAMLの作法を勉強するよりは

自分で 2D ぼんっと表示してしまう方が

圧倒的に楽であり

メリットが全く感じられない
、という事実があるように思います
(偉そうに一般的な書き方しましたが、あくまでわたしの主観です、違っていたらごめんなさい)

XAML で描画したら、その分速度も落ちますしね…

XAMLはなんのかんのといいながら、業務アプリで成果を発揮してきた子な気がしてます
その子と、ゲームジャンルのDirectXとと使いこなせるスキルの人って……
既存の D3Dプログラマで、XAMLの知識がある人が、世の中に何人いるんやろ。。という気になります…
逆もまたしかりで……

前置きが長くなりましたが、とにかくDirectX & XAMLのプロジェクト触ってみました



<SwapChainPanel とは>

Windowsストアアプリの Page オブジェクトのコンテンツとして
DirectX との懸け橋となる SwapChainPanel という名前のコンテンツが用意されています

こちら、ゲームでいうところの描画エリア(レンダー ターゲット)であり
XAML でいうところの Grid に相当します

SwapChainPanel は Windows::UI::Xaml::Controls::Grid を継承しているので、Grid と同じように表組みしたりできます
ColumnDefinitions とか、RowDefinitions を設定できるってことです

<何が嬉しいのか?>

(XAML を書くことに苦痛を感じなければ)
簡単に2Dオブジェクト表示が出来ます

swapchainpanel01


こんな使い方ができます
XAML Text の部分は、DirectX で描画管理しなくても、勝手に表示されるので、便利だよってことだと、わたしは認識しました

また、ゲームのメインルーチンから、対象のXAMLオブジェクトへのデータのやり取りも
比較的簡単にできます


<お作法>

具体的なコーディングの前に、お作法があるので、今日はちょっとそこを押さえておきます

基本的に、SwapChainPanel は Page に対して一つしか設定できません

<Page  ...>

 <SwapChainPanel x:Name="swapChainPanel"  ... >
  <TextBlock  ... >
 </SwapChainPanel>

  この位置に、SwapChainPanel の2つ目を宣言できない
  この位置に、TextBlock などのコントロールを宣言できない

</Page> 

以下の様な構造にはできないということですね

swapchainpanel02


見え方として、SwapChainPanel のマイナスのポジションに Grid を置くなどは出来ますが
もろもろのXAMLコントロール関係は、全て SwapChainPanel の子供にする必要があるようです

※もしかしたら、何かの設定などで変更できるかもしれませんが、ちょっとよく判らず…
 どなたかご存じあれば教えてください

パフォーマンスを高めるための制限事項として
SwapChainPanel の子供は 8つまでとするのが良いようです
子供の下は、けっこうザルな作りでいいみたいです

MSDNに書いてありましたので、参考まで!!

(参考)
DirectX と XAML の相互運用機能 (C++ と DirectX を使った Windows ストア アプリ)
 


haruka_sao at 20:19コメント(0)トラックバック(0)C++/CXDirectX 

January 29, 2014

GitHubPages & JekyllBootstrapで作るマークダウンサイト環境構築

ソースコードを綺麗に表示できて、マークダウンでブログを管理したい!
という要望を、周りの人に言いまわっていたのですが
中でも @neuecc せんせーに教えてもらった Github Pages がお手軽で良さそうだったので、ちょっと触ってみました

簡単に言うとこんな感じです

Github Pages
 → 無料で使えるただのWebサイト
    アクセスURLは http://[Gitユーザ名].github.io

Jekyll
 → マークダウンで書けるブログサイト(かな?) ”じきる”と読むようです
   こみこみパックの Jekyll Bootstrap がよさげ

で、どうやら今更感があるみたいでそこらじゅうに情報も満載なのですが
どうしても自分でやってみたかったので、その結果です

あ、先に、出来上がったものはこちらになります
↓↓↓
http://h-sao.github.io

こゆの、作りたい人は、以下、参考にしてくださいm(__)m


(1) まずはクライアント(Windows作業端末)にRubyのインストール

Ruby Installer for Windows
http://rubyinstaller.org/downloads/ 

わたしは Windows8.1 64bit 環境なので、Ruby2.0.0-p353(x64) をダウンロードして入れました

インストールは何事もなく次へ次へでOK

PATHの設定なども特に追加していません
ただし、インストールディレクトリには半角文字は入らない方が良いかもしれません
 ※わたしは D:\Library\Ruby200-x64 というディレクトリにインストールしました

jekyllruby00



(2) 次に必要なのが、Ruby の Development Kit

同じURLの下のところにあります

jekyllruby01

For use with Ruby 2.0( x64-64bit only )DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe をダウンロードします

このexe はファイルを展開するだけの様です

わたしは 自分の「ダウンロード」ディレクトリで展開してしまったのですが
展開時にディレクトリが自動作成されないので
DevKit の細かいファイルが「ダウンロード」ディレクトリに散漫してしまいました…おぅぅ

あらかじめ DevKit を展開する場所を確保して展開した方がいいですね
 ※わたしは  D:\Library\RubyDevKit というディレクトリに展開しました

Rubyのインストール準備はここまでです



(3) dk.rb のインストール

Rubyのパスが通っているコマンドプロンプトを立ち上げます
インストーラーで入れると、こんな感じでコマンドプロンプトが既に用意されているので便利です

Ruby コマンドプロンプトを開く

jekyllruby02


DevKit をいれたディレクトリに移動します
わたしの場合は、D:\Library\RubyDevKit です

そこで、以下のコマンドを実行します
> ruby dk.rb init
> ruby dk.rb install
実行結果
D:\Library\RubyDevKit>ruby dk.rb init
[INFO] found RubyInstaller v2.0.0 at D:/Library/Ruby200-x64

Initialization complete! Please review and modify the auto-generated
'config.yml' file to ensure it contains the root directories to all
of the installed Rubies you want enhanced by the DevKit.

D:\Library\RubyDevKit>ruby dk.rb install
[INFO] Updating convenience notice gem override for 'D:/Library/Ruby200-x64'
[INFO] Installing 'D:/Library/Ruby200-x64/lib/ruby/site_ruby/devkit.rb'

D:\Library\RubyDevKit>
 入りました

この dk.rb をインストールしておかないと、
DevKit入れてよという、下記のようなエラーが出てしまいます
つまり Jekyll のインストールが出来ませんのでご注意を!

D:\Library\RubyDevKit>gem install jekyll
ERROR:  Error installing jekyll:
        The 'fast-stemmer' native gem requires installed build tools.

Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'



(4) Jekyll のインストール

通常であれば、

> gem install jekyll

で大丈夫なはずなのですが
2014/1/27現在、バグがあるらしく
最新の Jekyll-1.4.3 ではうまく Windows 環境でサービス起動できなかったです

仕方がないので、Jekyll-1.4.2 を入れることにします

> gem install jekyll --version "=1.4.2"

(参考)
Jekyll - Error Running 'Jekyll Serve'

gem install jelyll で1.4.3 を入れてしまった人は、一旦
> gem uninstall jekyll
でアンインストール後、再度、1.4.2 をインストールすればOKです
(わたしもやってしまいました…)

実行結果
D:\Library\RubyDevKit>gem install jekyll
Fetching: liquid-2.5.5.gem (100%)
Successfully installed liquid-2.5.5
Fetching: fast-stemmer-1.0.2.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
Successfully installed fast-stemmer-1.0.2
Fetching: classifier-1.3.4.gem (100%)
Successfully installed classifier-1.3.4
Fetching: rb-fsevent-0.9.4.gem (100%)
Successfully installed rb-fsevent-0.9.4
Fetching: ffi-1.9.3-x64-mingw32.gem (100%)
Successfully installed ffi-1.9.3-x64-mingw32
Fetching: rb-inotify-0.9.3.gem (100%)
Successfully installed rb-inotify-0.9.3
Fetching: rb-kqueue-0.2.0.gem (100%)
Successfully installed rb-kqueue-0.2.0
Fetching: listen-1.3.1.gem (100%)
Successfully installed listen-1.3.1
Fetching: maruku-0.7.1.gem (100%)
Successfully installed maruku-0.7.1
Fetching: yajl-ruby-1.1.0.gem (100%)
Building native extensions.  This could take a while...
Successfully installed yajl-ruby-1.1.0
Fetching: posix-spawn-0.3.8.gem (100%)
Building native extensions.  This could take a while...
Successfully installed posix-spawn-0.3.8
Fetching: pygments.rb-0.5.4.gem (100%)
Successfully installed pygments.rb-0.5.4
Fetching: highline-1.6.20.gem (100%)
Successfully installed highline-1.6.20
Fetching: commander-4.1.5.gem (100%)
Successfully installed commander-4.1.5
Fetching: safe_yaml-0.9.7.gem (100%)
Successfully installed safe_yaml-0.9.7
Fetching: colorator-0.1.gem (100%)
Successfully installed colorator-0.1
Fetching: redcarpet-2.3.0.gem (100%)
Building native extensions.  This could take a while...
Successfully installed redcarpet-2.3.0
Fetching: blankslate-2.1.2.4.gem (100%)
Successfully installed blankslate-2.1.2.4
Fetching: parslet-1.5.0.gem (100%)
Successfully installed parslet-1.5.0
Fetching: toml-0.1.0.gem (100%)
Successfully installed toml-0.1.0
Fetching: jekyll-1.4.3.gem (100%)
Successfully installed jekyll-1.4.3
Parsing documentation for liquid-2.5.5
Installing ri documentation for liquid-2.5.5
Parsing documentation for fast-stemmer-1.0.2
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/stemmer.so, skipping
Installing ri documentation for fast-stemmer-1.0.2
Parsing documentation for classifier-1.3.4
Installing ri documentation for classifier-1.3.4
Parsing documentation for rb-fsevent-0.9.4
Installing ri documentation for rb-fsevent-0.9.4
Parsing documentation for ffi-1.9.3-x64-mingw32
Installing ri documentation for ffi-1.9.3-x64-mingw32
Parsing documentation for rb-inotify-0.9.3
Installing ri documentation for rb-inotify-0.9.3
Parsing documentation for rb-kqueue-0.2.0
Installing ri documentation for rb-kqueue-0.2.0
Parsing documentation for listen-1.3.1
Installing ri documentation for listen-1.3.1
Parsing documentation for maruku-0.7.1
Installing ri documentation for maruku-0.7.1
Parsing documentation for yajl-ruby-1.1.0
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/yajl/yajl.so, skipping

Installing ri documentation for yajl-ruby-1.1.0
Parsing documentation for posix-spawn-0.3.8
Installing ri documentation for posix-spawn-0.3.8
Parsing documentation for pygments.rb-0.5.4
Installing ri documentation for pygments.rb-0.5.4
Parsing documentation for highline-1.6.20
Installing ri documentation for highline-1.6.20
Parsing documentation for commander-4.1.5
Installing ri documentation for commander-4.1.5
Parsing documentation for safe_yaml-0.9.7
Installing ri documentation for safe_yaml-0.9.7
Parsing documentation for colorator-0.1
Installing ri documentation for colorator-0.1
Parsing documentation for redcarpet-2.3.0
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/redcarpet.so, skipping

Installing ri documentation for redcarpet-2.3.0
Parsing documentation for blankslate-2.1.2.4
Installing ri documentation for blankslate-2.1.2.4
Parsing documentation for parslet-1.5.0
Installing ri documentation for parslet-1.5.0
Parsing documentation for toml-0.1.0
Installing ri documentation for toml-0.1.0
Parsing documentation for jekyll-1.4.3
Installing ri documentation for jekyll-1.4.3
21 gems installed

D:\Library\RubyDevKit>gem uninstall jekyll
Remove executables:
        jekyll

in addition to the gem? [Yn]  y
Removing jekyll
Successfully uninstalled jekyll-1.4.3

D:\Library\RubyDevKit>gem install jekyll --version "=1.4.2"
Fetching: jekyll-1.4.2.gem (100%)
Successfully installed jekyll-1.4.2
Parsing documentation for jekyll-1.4.2
Installing ri documentation for jekyll-1.4.2
1 gem installed

D:\Library\RubyDevKit>


(5) GitHub Pages の作成

ここからは Ruby のコマンドラインを離れて、GitHub の世界に移ります

GitHub 上に新しいリポジトリを作成します

GitHub Pages に自分のサイトを作成する名前のルールは決められていて
わたしの GitHub アカウントは h-sao なので、h-sao.githum.com という名前でリポジトリを作成します

jekyllruby04

できたできた

jekyllruby03



(6) Jekyll Bootstrap の取得

クライアントの GitHub for Windows や Git Shell を利用して、Jekyll Bootstrap をローカルに取得します

プロキシ環境下で git を使う際の設定方法は
過去記事に書きましたので、参考にして下さい

[Git]gitのプロキシ対応
http://blog.livedoor.jp/haruka_sao/archives/52060357.html

以降、参考になったのは本家サイトなので、いちおうリンク張っておきますね

Jekyll QuickStart

さてさて、Jekyll Bootstrap の取得は Git で取ってきます

手元のGit Shell を利用した場合で記載します

gitproxy00

> git clone https://github.com/plusjade/jekyll-bootstrap.git [GitHubユーザ名].github.com

実行結果
D:\dev\GitHub> git clone https://github.com/plusjade/jekyll-bootstrap.git h-sao.github.com
Cloning into 'h-sao.github.com'...
remote: Reusing existing pack: 1934, done.
remote: Total 1934 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (1934/1934), 673.76 KiB | 13.00 KiB/s, done.
Resolving deltas: 100% (770/770), done.
Checking connectivity... done
これでひとまず、手元に Jekyll Bootstrap が手に入りました
わたしの場合のパスは D:\dev\GitHub\h-sao.github.com になります


(7) クライアントで Jekyll サービスを起動させる

さて、次は Ruby のコマンドプロンプトに戻ります

先ほど落としてきた Jekyll Bootstrap のディレクトリに移動します

> cd D:\dev\GitHub\h-sao.github.com

クライアントでサービスを起動させます
いろんな記事で
> jekyll --server
でサービス起動とありますが、これはもう古い起動方法のようです
今は

> jekyll serve

で起動させます

実行結果
D:\dev\GitHub\h-sao.github.com>jekyll --server
       Deprecation: Jekyll now uses subcommands instead of just switches. Run `j
ekyll help' to find out more.
       Deprecation: The --server command has been replaced by the 'serve' subcom
mand.
invalid option: --server

D:\dev\GitHub\h-sao.github.com>jekyll serve
Configuration file: D:/dev/GitHub/h-sao.github.com/_config.yml
            Source: D:/dev/GitHub/h-sao.github.com
       Destination: D:/dev/GitHub/h-sao.github.com/_site
      Generating... done.
    Server address: http://0.0.0.0:4000
  Server running... press ctrl-c to stop.
 
http://localhost:4000 にアクセスすると
Jekyll Bootstrap のデフォルトページが表示されます

jekyllruby05

よっし
まずは Jekyll とたわむれるための環境が整いました!


(8) Jekyll Bootstrap のテーマ変更

Jekyll Bootstrap にはいくつかサイトデザインのテーマが配布されています
自分の気に入ったテーマを見つけて、変えてみました

テーマは本家にビュワーがあるので、好きなものを選べます

Launch Theme Explorer
http://themes.jekyllbootstrap.com/

わたしは hooligan というのが良いなぁと思ったので、このテーマに変更してみます
 ※基本的に背景黒が好き

http://themes.jekyllbootstrap.com/preview/hooligan/

jekyllruby06

…と、思ったけど、サイトのテーマは有志が作ってるのかしら?

hooligan テーマは本家サイトにはありませんでした
検索すると、こちらで公開されているテーマが良さそうです

dhulihanさんの GitHub
https://github.com/dhulihan/hooligan

テーマをインストールします

> rake theme:install git=https://github.com/dhulihan/hooligan

実行結果
D:\dev\GitHub\h-sao.github.com>rake theme:install git=https://github.com/dhulihan/hooligan
Cloning into './_theme_packages/_tmp'...
remote: Reusing existing pack: 338, done.
remote: Total 338 (delta 0), reused 0 (delta 0) eceiving objects:  92% (311/338)
, 828.00 KiB | 241.00 KiB/s
Receiving objects: 100% (338/338), 980.17 KiB | 241.00 KiB/s, done.
Resolving deltas: 100% (115/115), done.
mv ./_theme_packages/_tmp ./_theme_packages/hooligan
mkdir -p ./assets/themes/hooligan/bootstrap/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/bootstrap/css/bootstrap-
responsive.css ./assets/themes/hooligan/bootstrap/css/bootstrap-responsive.css
mkdir -p ./assets/themes/hooligan/bootstrap/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/bootstrap/css/bootstrap-
responsive.min.css ./assets/themes/hooligan/bootstrap/css/bootstrap-responsive.m
in.css
mkdir -p ./assets/themes/hooligan/bootstrap/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/bootstrap/css/bootstrap.
css ./assets/themes/hooligan/bootstrap/css/bootstrap.css
mkdir -p ./assets/themes/hooligan/bootstrap/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/bootstrap/css/bootstrap.
min.css ./assets/themes/hooligan/bootstrap/css/bootstrap.min.css
mkdir -p ./assets/themes/hooligan/bootstrap/img
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/bootstrap/img/glyphicons
-halflings-white.png ./assets/themes/hooligan/bootstrap/img/glyphicons-halflings
-white.png
mkdir -p ./assets/themes/hooligan/bootstrap/img
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/bootstrap/img/glyphicons
-halflings.png ./assets/themes/hooligan/bootstrap/img/glyphicons-halflings.png
mkdir -p ./assets/themes/hooligan/bootstrap/js
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/bootstrap/js/bootstrap.j
s ./assets/themes/hooligan/bootstrap/js/bootstrap.js
mkdir -p ./assets/themes/hooligan/bootstrap/js
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/bootstrap/js/bootstrap.m
in.js ./assets/themes/hooligan/bootstrap/js/bootstrap.min.js
mkdir -p ./assets/themes/hooligan/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/css/darkstrap.css ./asse
ts/themes/hooligan/css/darkstrap.css
mkdir -p ./assets/themes/hooligan/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/css/pygments.css ./asset
s/themes/hooligan/css/pygments.css
mkdir -p ./assets/themes/hooligan/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/css/style.css ./assets/t
hemes/hooligan/css/style.css
mkdir -p ./assets/themes/hooligan/css-social-buttons/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/css-social-buttons/css/z
ocial-regular-webfont.eot ./assets/themes/hooligan/css-social-buttons/css/zocial
-regular-webfont.eot
mkdir -p ./assets/themes/hooligan/css-social-buttons/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/css-social-buttons/css/z
ocial-regular-webfont.svg ./assets/themes/hooligan/css-social-buttons/css/zocial
-regular-webfont.svg
mkdir -p ./assets/themes/hooligan/css-social-buttons/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/css-social-buttons/css/z
ocial-regular-webfont.ttf ./assets/themes/hooligan/css-social-buttons/css/zocial
-regular-webfont.ttf
mkdir -p ./assets/themes/hooligan/css-social-buttons/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/css-social-buttons/css/z
ocial-regular-webfont.woff ./assets/themes/hooligan/css-social-buttons/css/zocia
l-regular-webfont.woff
mkdir -p ./assets/themes/hooligan/css-social-buttons/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/css-social-buttons/css/z
ocial.css ./assets/themes/hooligan/css-social-buttons/css/zocial.css
mkdir -p ./assets/themes/hooligan/css-social-buttons/css
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/css-social-buttons/css/z
ocial.stripped.css ./assets/themes/hooligan/css-social-buttons/css/zocial.stripp
ed.css
mkdir -p ./assets/themes/hooligan/css-social-buttons
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/css-social-buttons/READM
E.md ./assets/themes/hooligan/css-social-buttons/README.md
mkdir -p ./assets/themes/hooligan/css-social-buttons
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/css-social-buttons/sampl
e.html ./assets/themes/hooligan/css-social-buttons/sample.html
mkdir -p ./assets/themes/hooligan/images/bgs
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/images/bgs/body.png ./as
sets/themes/hooligan/images/bgs/body.png
mkdir -p ./assets/themes/hooligan/js
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/js/jquery.min.js ./asset
s/themes/hooligan/js/jquery.min.js
mkdir -p ./assets/themes/hooligan/_sass
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/_sass/style.scss ./asset
s/themes/hooligan/_sass/style.scss
mkdir -p ./assets/themes/hooligan/_sass
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/_sass/_base.scss ./asset
s/themes/hooligan/_sass/_base.scss
mkdir -p ./assets/themes/hooligan/_sass
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/_sass/_custom.scss ./ass
ets/themes/hooligan/_sass/_custom.scss
mkdir -p ./assets/themes/hooligan/_sass
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/_sass/_post.scss ./asset
s/themes/hooligan/_sass/_post.scss
mkdir -p ./assets/themes/hooligan/_sass
cp -r ./_theme_packages/hooligan/assets/themes/hooligan/_sass/_responsive.scss .
/assets/themes/hooligan/_sass/_responsive.scss
mkdir -p .
cp -r ./_theme_packages/hooligan/screenshot.png ./screenshot.png
mkdir -p ./_includes/themes/hooligan
cp -r ./_theme_packages/hooligan/_includes/themes/hooligan/default.html ./_inclu
des/themes/hooligan/default.html
mkdir -p ./_includes/themes/hooligan
cp -r ./_theme_packages/hooligan/_includes/themes/hooligan/page.html ./_includes
/themes/hooligan/page.html
mkdir -p ./_includes/themes/hooligan
cp -r ./_theme_packages/hooligan/_includes/themes/hooligan/post.html ./_includes
/themes/hooligan/post.html
mkdir -p ./_includes/themes/hooligan
cp -r ./_theme_packages/hooligan/_includes/themes/hooligan/settings.yml ./_inclu
des/themes/hooligan/settings.yml
=> hooligan theme has been installed!
=> ---
=> Want to switch themes now? [y/n] y
Generating 'hooligan' layout: default.html
Generating 'hooligan' layout: page.html
Generating 'hooligan' layout: post.html
=> Theme successfully switched!
=> Reload your web-page to check it out =)

D:\dev\GitHub\h-sao.github.com>
テーマを変更してもいいなら、最後に y で変更出来ます

完了(~o~)


(9) ブログコメント機能

コンテンツ内容は、こんな感じで記載できます

トップページは index.md
コンフィグは _config.yml
ブログ投稿は _posts 以下

これらはまぁ見た感じで触れそうです
マークダウン記法の本領発揮ですね〜

ブログの投稿については問題ないと思いますが
肝心なのはブログのコメント投稿

やってて気が付いたのですが、マークダウンの記法で書いた記事は、あくまでただのテキストファイル
Jekyll が良い感じに解釈して、静的サイトを作成してくれているので
コメントを動的に記述するのは、このままでは無理です

CMSならこういう系は得意ジャンルでしょうけど…

解決策はちゃんと用意されていて、JekyllBootstrap はデフォルトでコメントプロバイダーを用意してくれています

コメントプロバイダー
要は、マークダウンで生成した静的HTMLファイルの中に、動的に記載できるコメントパーツを埋め込むというものです

JekyllBootstrap で一番使われていそうな、DISQUS をわたしも利用することにしました
もし、DISQUSなどの外部サイトを利用するのが嫌になったら、自前でコメントWebサービスを作ればいっか…という気軽な考え
というわけで、DISQUS に自分のアカウントを登録し、_config.yml に以下を記載します
  comments :
    provider : disqus
    disqus :
      short_name : [DISQUSで取得した自分のショートネーム]
これで、_posts/2014-01-29-Hello-World.md など作成すると
Jekyll に記事として認知してもらえて、ブログ記事が静的に生成されます

簡単!


というわけで、長々と書きましたが
良い感じに作成できたと思います

最後にもろもろ調整したあとは、GitHub にアップ!

GitHub にてちょっとコンパイルに時間がかかるようです
とはいえ、ものの2,3分でポストした方法はちゃんと更新されました

※GitHub Pages はマークダウンを良い感じに解釈してくれているようです

というわけで、やっとできた〜
英語用ブログの完成です

Hello World - Sao's Closed Circle
http://h-sao.github.io/diary/2014/01/28/Hello-World/

このノリで行くと
過去のCMSサイトも静的HTMLに変換して、ただのWebサイトにしてしまえば、かなりポータブルになりますね

マークダウン最高ヽ(`▽´)/


haruka_sao at 02:17コメント(0)トラックバック(0)GithubMarkdown 

January 28, 2014

[勉強会]Room metro#22大阪の感想

今年になってから大阪で初めてのRoom metroを開催しました!

Room metro #22 大阪
今晩教えて欲しい!WPF
http://metrostyledev.net/index.php/event/20140128/ 

会場はいつもお世話になっているフェンリルさんです

今回はめとちゃうやんっ!!の声はさておき(*´Д`)

率直な感想というと…

Windowsストアアプリの勉強会よりも参加者やTLの反応が良い…!

やっぱり業務で利用している人が(多少なりとも)いてるからでしょうかね…

講師は @yone64 さん

今回も素晴らしいセッションをありがとうございましたヽ(`▽´)/

わたしはXAMLといえば Silverlight が始まりなので、
WPF であれやこれや色々出来るのを聞いて、かなり新鮮でした

WPFって2006年に出ているから
Blend が出た 2007年 よりもちょっと前なんですよね

なので、Blend で充実しているビヘイビアの機能とかはそんなに必要なくて
なんでも トリガでやれるっ!っていう思想な感じがしました

→つまり、一時流行ったデザイナとの協業うんぬん…の発想がWPFには入っていないような…?


参加者には、WinForm を使っているけど、WPFにした方が良いのかな。。どうなのかな。。という声もちらほら
そろそろWPFくらい触っておくか。。みたいなノリがありました

なるほど…世間の温度感は、まだそこなんですね…

興味ある人も多い様なので
第2弾として、めとべや WPF Dayをやってもいいかも
という気になりました

何はともあれ、幸先の良いスタートが切れました!

今年もみなみなさま、どうぞよろしくお願いします!

haruka_sao at 23:59コメント(0)トラックバック(0)WPF勉強会 

January 27, 2014

[Git]gitのプロキシ対応

Windows8.1にGitHub for Windowsを入れた際に、プロキシを通したかったのでその設定

これはGitHub for Windowsに特化した話ではなく
git を利用する際に有効なコマンドです

Git Shell を立ち上げます

gitproxy00

今の git の設定を見るコマンド
> git config --list
プロキシアドレスが proxy.test.local
プロキシポートが 999
プロキシ認証ユーザが sao
プロキシ認証パスワードが password の場合

> git config --global http.proxy http://sao:password@proxy.test.local:999
> git config --global https.proxy http://sao:password@proxy.test.local:999 

とすると、プロキシ対応通信になりました
これで、GitHub のソースも git clone で取得できるようになってます

ユーザ名やパスワードに”@”などの記号が含まれる場合は、URLエンコードするとOKです
 @ なら「%40」
 " なら「%22」などなど

設定ファイルである .gitconfig のデフォルトの場所は
C:\Users\[ユーザ名]\.gitconfig
になります
(※)わたしの場合は「C:\Users\sao\.gitconfig」

GUIツールの GitHub for Windows では
最初はこれを設定してもつながらなかったのですが
一度PCを再起動したら、プロキシを通るようになりました!

良かった!

(参考)
プロキシ環境下でgitを使う
http://sushichop.blogspot.jp/2013/09/git.html
Github for WindwosでのProxy設定
http://qiita.com/kp_ohnishi/items/efcf98737e83361d5278 

haruka_sao at 18:30コメント(0)トラックバック(0)GitTips 

[Hyper-V]ロックファイル場所

Hyper-V上の仮想マシンのロックファイルの場所

C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines

緊急時(仮想が上がらなくなったなど)には
ここのしかるべき対象のSIDのロックファイルを削除すると
いちおう起動するようになります 

わたしはよくメモリ不足で初期起動すら上がらなくなるので、実はよくお世話になっている… 

haruka_sao at 11:27コメント(0)トラックバック(0)Hyper-VTips 
Sao's Tech Memo
mvp_logo_140

Microsoft MVP for Client App Dev [Jan,2010-Dec,2013]
Microsoft MVP for
Client Development
[Jan,2014-Dec,2014]
Silverlight アニメーション
Recent Comments
訪問者数
  • 今日:
  • 昨日:
  • 累計:

記事検索