Test CircleCount PRO now!
Login now

Not your profile? Login and get free access to your reports and analysis.

Tags

Sign in

No tag added here yet.
You can login on CircleCount to add some tags here.

Are you missing a tag in the list of available tags? You can suggest new tags here.

Login now

Do you want to see a more detailed chart? Check your settings and define your favorite chart type.

Or click here to get the detailed chart only once.

森仁志 has been at 1 events

HostFollowersTitleDateGuestsLinks
森仁志6,4233月8日/9日に大阪・京都・奈良に行く予定です どこにいつ行くのかはまだ詳しく決まっていません関西に行きます2013-03-07 23:00:001  

Shared Circles including 森仁志

Shared Circles are not available on Google+ anymore, but you can find them still here.

The Google+ Collections of 森仁志

New!
Login and checkout your own profile to see the average response per collection.
Or check out how it looks like on the profile page of +CircleCount.

Looks like this is your profile but we haven't loaded your posts yet to show you here the average numbers per collection.
Just open your dashboard and let the server work for you.

116324207729009185938 has no public Google+ Collections yet.

Top posts in the last 50 posts

Most comments: 11

2014-04-14 05:29:52 (11 comments; 0 reshares; 0 +1s; )Open 

久しぶりの更新です
現在、どこで止まっているかというと、投稿などの各種データ保持クラス構造等にSQLiteを使いたいなってことで、ポータブルクラスライブラリ対応のSQLiteライブラリを探してて
Portable Class Library for SQLiteを使ってみるかってことになったけど、
テーブル?を新規作成するときにint型で次にstring型で・・ってメンバに従った文字列をクエリとして生成しなくてはいけないらしいことがわかって
型に応じた文字列生成はすぐできるんだけど、ポータブルクラスライブラリにあるクラスの全プロパティを列挙する関数が実装されていなくって、手詰まり状態

(列挙を自動化しないとクラスにメンバを加えた時にめんどくさいから必要)
で列挙自体は動的ではなくコンパイル時とかの静的に行うものでいいから、T4テンプレートで自動生成させるか?とか思ったけど
テンプレート内でポータブルクラスライブラリが対応していないコードがかけるのかがよくわからずそこから先に進んでない

何かいいアイデアあれば教えて下さい... more »

Most plusones: 3

2014-08-22 05:55:45 (3 comments; 0 reshares; 3 +1s; )Open 

スクリプティング代替技術について、現在Roslynを使用することを検討中

具体的には、ライブラリ更新者がWindows環境においてAPIスクリプトを高級言語で作成し、Roslynで解析、コード内容をより低級なコマンド系言語に変換後そのスクリプトをGooglePlusLibraryの方でロード

わざわざ低級言語に変換するのは、高級言語の構文解析器を作るのがめんどうだし時間もかかるから

GooglePlusLibraryで用いるスクリプト自体はそれほど多くの機能を使用せず、関数での読み書き、四則演算、各種制御構文程度しか使わないから、
switch(コマンド)
case 四則演算
case 関数読み書き

とかの簡単実装でもひとまずはいけそう

あと、Roslyn自体MicrosoftがVisualStudioに入れてた解析器を公開したものだから、そこらに転がってるフリーの解析器より精度がよい(気がする)

ひとまずこれを用いれば高精度でC#コードを解析できるから、以前やろうとしていたコードを解析して関数等を抽出し、各ドキュメントと合体するということもわりと簡単に実現できそう

(C++のコードを解析できるのかは不明)

とりあえず今週あたりいろいろいじってみるつもり... more »

Latest 50 posts

2014-08-24 17:42:56 (0 comments; 0 reshares; 0 +1s; )Open 

SQLiteを導入した本来の目的を失念していました
現状方向性こんな感じです

各データクラスは内部にプロパティでデータを保持するクラスを持っており、
各データクラスはId以外は自分のデータメンバとして持たず、IdをキーとしてSQLiteデータベースからデータを持ってくるようにする
データベース自体にロック機構が備わっているので、AsyncReaderWriterLockクラス等は廃止その他Thread系クラスが使用されなければThread系プロジェクトを全削除

SQLiteを導入した本来の目的を失念していました
現状方向性こんな感じです

各データクラスは内部にプロパティでデータを保持するクラスを持っており、
各データクラスはId以外は自分のデータメンバとして持たず、IdをキーとしてSQLiteデータベースからデータを持ってくるようにする
データベース自体にロック機構が備わっているので、AsyncReaderWriterLockクラス等は廃止その他Thread系クラスが使用されなければThread系プロジェクトを全削除___

2014-08-24 13:01:55 (3 comments; 0 reshares; 0 +1s; )Open 

骨組みが大体出来上がったので実装方針の話を。

今回のバージョンでプロパティを廃止してGet~Async Set~Asyncの形に統一したのは取得するデータがすべてWeb上にあって、普通のインターネット通信をしないプログラミングと同じように深いところのデータまで取れるようにするためのものです

例えば各アカウントのプロフィール上の名前とかではなく職業とか学歴とかその他の細かい情報を取る場合、
先ほどのインターネット通信をしないプログラミングの場合
var data = ~Account.Profile.Education.~;
のようにすればデータを取得できます
Web上からデータを取る場合時間がかかるので、Async関数にしてやる必要があります
var account = await GetAccountAsync();var profile = await account.GetProfileAsync();
var data = await profile.GetEducationAsync();
(ほんとはContinueWithとかで書くんだろうけど即興で書いたから)

という形でWeb上のデータでも普通のプログラミングと同じように記述できます
現状における仕様では、通信を伴うことから、
・詳細取得APIを実行する前に概要がとれているものは取得しない(プロフィールAPIを操作しなくてもログインしただけでアカウントIDや名前、その他ちょっとしたプロフィール情報なら一緒に取得できる)
・詳細を取得した時概要がとれているものでもほかと一緒に取得できるものは更新する・初回時はWeb上のデータを用いて更新し、以後インスタンスが消失するまでそのデータをキャッシュする
・Web上にあるデータを扱うオブジェクトは各自Update関数等を用いて任意のタイミングでWeb上のデータと内容を同期する
・インスタンス生成後す... more »

骨組みが大体出来上がったので実装方針の話を。

今回のバージョンでプロパティを廃止してGet~Async Set~Asyncの形に統一したのは取得するデータがすべてWeb上にあって、普通のインターネット通信をしないプログラミングと同じように深いところのデータまで取れるようにするためのものです

例えば各アカウントのプロフィール上の名前とかではなく職業とか学歴とかその他の細かい情報を取る場合、
先ほどのインターネット通信をしないプログラミングの場合
var data = ~Account.Profile.Education.~;
のようにすればデータを取得できます
Web上からデータを取る場合時間がかかるので、Async関数にしてやる必要があります
var account = await GetAccountAsync();
var profile = await account.GetProfileAsync();
var data = await profile.GetEducationAsync();
(ほんとはContinueWithとかで書くんだろうけど即興で書いたから)

という形でWeb上のデータでも普通のプログラミングと同じように記述できます
現状における仕様では、通信を伴うことから、
・詳細取得APIを実行する前に概要がとれているものは取得しない(プロフィールAPIを操作しなくてもログインしただけでアカウントIDや名前、その他ちょっとしたプロフィール情報なら一緒に取得できる)
・詳細を取得した時概要がとれているものでもほかと一緒に取得できるものは更新する
・初回時はWeb上のデータを用いて更新し、以後インスタンスが消失するまでそのデータをキャッシュする
・Web上にあるデータを扱うオブジェクトは各自Update関数等を用いて任意のタイミングでWeb上のデータと内容を同期する
・インスタンス生成後すぐ全データを更新することはせず、必要になるまで取得を遅延する

という感じになっています
何か改善点等ありましたら指摘していただけるとありがたいです___

posted image

2014-08-24 12:42:19 (6 comments; 0 reshares; 2 +1s; )Open 

めっちゃ懐かしいものが出てきた
うおおおお(2012年1月のらしい)

めっちゃ懐かしいものが出てきた
うおおおお(2012年1月のらしい)___

2014-08-23 13:40:43 (0 comments; 0 reshares; 0 +1s; )Open 

とりあえず、ターゲットプラットフォーム変更に対するプロジェクト構造の調整作業が終了

また、本バージョンはAsyncReaderWriterLockを実装したいと思って実装したら、async関数はrefやoutパラメーターが使えないということで、Expressionでメンバ変数の情報を取得してGet Setできるように実装
一応単体テストではうまく行ったけどAsyncReaderWriterLockのテストをどうやってやればいいのかよくわからずそこは未テスト

実装は以下のページを参考にしてこんな感じに
private FieldInfo GetFieldInfo<TSource, TField>(TSource source, Expression<Func<TSource, TField>> fieldLambda)
{
    Type type = typeof(TSource);

    var member = fieldLambda.Body as MemberExpression;
    if (member == null)        throw new ArgumentException(string.Format(
            "Expression '{0}' refers to a method, not a property.",
            fieldLambda.ToString()));

    var fieldInfo = member.Member as FieldInfo;
    if (fieldInfo == null)
        throw new ArgumentException(string.Format(
            "Expres... more »

とりあえず、ターゲットプラットフォーム変更に対するプロジェクト構造の調整作業が終了

また、本バージョンはAsyncReaderWriterLockを実装したいと思って実装したら、async関数はrefやoutパラメーターが使えないということで、Expressionでメンバ変数の情報を取得してGet Setできるように実装
一応単体テストではうまく行ったけどAsyncReaderWriterLockのテストをどうやってやればいいのかよくわからずそこは未テスト

実装は以下のページを参考にしてこんな感じに
private FieldInfo GetFieldInfo<TSource, TField>(TSource source, Expression<Func<TSource, TField>> fieldLambda)
{
    Type type = typeof(TSource);

    var member = fieldLambda.Body as MemberExpression;
    if (member == null)
        throw new ArgumentException(string.Format(
            "Expression '{0}' refers to a method, not a property.",
            fieldLambda.ToString()));

    var fieldInfo = member.Member as FieldInfo;
    if (fieldInfo == null)
        throw new ArgumentException(string.Format(
            "Expression '{0}' refers to a propety, not a field.",
            fieldLambda.ToString()));

    return fieldInfo;
}

protected async Task<TField> GetFieldAsync<TSource, TField>(TSource source, Expression<Func<TSource, TField>> fieldLambda)
{
    var fieldInfo = GetFieldInfo(source, fieldLambda);
    using (var releaser = await _lock.ReaderLockAsync())
    {
        return (TField)fieldInfo.GetValue(source);
    }
}

protected async Task SetFieldAsync<TSource, TField>(TSource source, Expression<Func<TSource, TField>> fieldLambda, TField value)
{
    var fieldInfo = GetFieldInfo(source, fieldLambda);
    using (var releaser = await _lock.WriterLockAsync())
    {
        fieldInfo.SetValue(source, value);
    }
}

で使用するには
public async Task<string> GetIdAsync()
{
    return await GetFieldAsync(this, c => c._id);
}

public async Task SetIdAsync(string id)
{
    await SetFieldAsync(this, c => c._id, id);
}

private string _id = string.Empty;

と記述すればいい感じ

現状における問題点としては参考にしたAsyncReaderWriterLockプログラムにUpgradableWriterLock等の実装がなかったこと
これはまた後日実装予定___

2014-08-22 13:42:09 (1 comments; 0 reshares; 1 +1s; )Open 

とりあえず、ターゲットプラットフォームをWindows、Android、iOSとした時の各パッケージの対応状況は
Json.NET→OK
SQLite PCL→OK
NLua→OK(PCLでのインストールでなく個別プロジェクトへのインストールは可)

現状特に未対応だから困るというものはなさそう
Luaが使えるようになったからあとはasync awaitを最大利用できる方法を調査中です

他にもEntityFrameworkも一応インストールに成功するようになりました(使わないかもしれないけれど)

とりあえず、ターゲットプラットフォームをWindows、Android、iOSとした時の各パッケージの対応状況は
Json.NET→OK
SQLite PCL→OK
NLua→OK(PCLでのインストールでなく個別プロジェクトへのインストールは可)

現状特に未対応だから困るというものはなさそう
Luaが使えるようになったからあとはasync awaitを最大利用できる方法を調査中です

他にもEntityFrameworkも一応インストールに成功するようになりました(使わないかもしれないけれど)___

posted image

2014-08-22 10:32:47 (6 comments; 0 reshares; 0 +1s; )Open 

なんでこれだけ探してもWinRTでスクリプティング非対応ばかりなのかなと思ってたけどこのページを見てわかった

-------------------------------------------------------------------------
余談:Windowsストア アプリと外部スクリプト
Windowsストア アプリでは、実行時にスクリプトを動的に差し替えるようなことはポリシー上できません。その代わり、すべてのスクリプトをパッケージに含める形であれば配布可能です。スクリプト言語をWindowsストアアプリで使用する、というのは、あくまで開発効率を高めるためのひとつの手段(あるいはデスクトップ版アプリとの開発基盤共通化目的での使用のみ)だと思ってください。例えばユーザーがインターネット経由でダウンロードした外部スクリプトを使い、アプリの動作までをも変更・拡張できるようなMODやプラグインのためには使用できない、ということです。
-------------------------------------------------------------------------
G+クライアントみたいな使い方はしてはいけません

ってことじゃないか
http://sygh.h... more »

なんでこれだけ探してもWinRTでスクリプティング非対応ばかりなのかなと思ってたけどこのページを見てわかった

-------------------------------------------------------------------------
余談:Windowsストア アプリと外部スクリプト
Windowsストア アプリでは、実行時にスクリプトを動的に差し替えるようなことはポリシー上できません。その代わり、すべてのスクリプトをパッケージに含める形であれば配布可能です。スクリプト言語をWindowsストア アプリで使用する、というのは、あくまで開発効率を高めるためのひとつの手段(あるいはデスクトップ版アプリとの開発基盤共通化目的での使用のみ)だと思ってください。例えばユーザーがインターネット経由でダウンロードした外部スクリプトを使い、アプリの動作までをも変更・拡張できるようなMODやプラグインのためには使用できない、ということです。
-------------------------------------------------------------------------
G+クライアントみたいな使い方はしてはいけません

ってことじゃないか
http://sygh.hatenadiary.jp/entry/2014/06/22/000456___

2014-08-22 05:55:45 (3 comments; 0 reshares; 3 +1s; )Open 

スクリプティング代替技術について、現在Roslynを使用することを検討中

具体的には、ライブラリ更新者がWindows環境においてAPIスクリプトを高級言語で作成し、Roslynで解析、コード内容をより低級なコマンド系言語に変換後そのスクリプトをGooglePlusLibraryの方でロード

わざわざ低級言語に変換するのは、高級言語の構文解析器を作るのがめんどうだし時間もかかるから

GooglePlusLibraryで用いるスクリプト自体はそれほど多くの機能を使用せず、関数での読み書き、四則演算、各種制御構文程度しか使わないから、
switch(コマンド)
case 四則演算
case 関数読み書き

とかの簡単実装でもひとまずはいけそう

あと、Roslyn自体MicrosoftがVisualStudioに入れてた解析器を公開したものだから、そこらに転がってるフリーの解析器より精度がよい(気がする)

ひとまずこれを用いれば高精度でC#コードを解析できるから、以前やろうとしていたコードを解析して関数等を抽出し、各ドキュメントと合体するということもわりと簡単に実現できそう

(C++のコードを解析できるのかは不明)

とりあえず今週あたりいろいろいじってみるつもり... more »

スクリプティング代替技術について、現在Roslynを使用することを検討中

具体的には、ライブラリ更新者がWindows環境においてAPIスクリプトを高級言語で作成し、Roslynで解析、コード内容をより低級なコマンド系言語に変換後そのスクリプトをGooglePlusLibraryの方でロード

わざわざ低級言語に変換するのは、高級言語の構文解析器を作るのがめんどうだし時間もかかるから

GooglePlusLibraryで用いるスクリプト自体はそれほど多くの機能を使用せず、関数での読み書き、四則演算、各種制御構文程度しか使わないから、
switch(コマンド)
case 四則演算
case 関数読み書き

とかの簡単実装でもひとまずはいけそう

あと、Roslyn自体MicrosoftがVisual Studioに入れてた解析器を公開したものだから、そこらに転がってるフリーの解析器より精度がよい(気がする)

ひとまずこれを用いれば高精度でC#コードを解析できるから、以前やろうとしていたコードを解析して関数等を抽出し、各ドキュメントと合体するということもわりと簡単に実現できそう

(C++のコードを解析できるのかは不明)

とりあえず今週あたりいろいろいじってみるつもり___

2014-08-21 04:04:05 (0 comments; 0 reshares; 0 +1s; )Open 

現在スクリプティング代替技術について調査中
とりあえず、
DLLの動的読み込みコードを試してみたがPCL上での意外といい感じだった
具体的には
Assembly asm = Assembly.LoadでDLLロードして
var type = asm.GetTypeでクラスタイプを取得して
var instance = Activator.CreateInstanceでインスタンス生成して
var methodInfo = type.GetTypeInfo().GetDeclaredMethodで関数取得して
methodInfo.Invokeで実行

一番気になることはDLLをロードする関数がAssembly.Loadしか使えないこと
形上としてはPCL実装になってるけど、これがほんとにWP8上やAndroid上で動作するのか不明Windows上で実験した時はプログラム実行パスにDLLをコピーしたらいけたけど各環境での実行パスがわかり、必要なDLLをそこに用意させられるのならばできるのかもしれないが
やっぱりやってみないとわからない

あとLua調査の方は完全C#で書いてある?AluminumLuaというののソースコードをPCLライブラリとして作ったらSystem.Reflection.Emit下のILGenerator、LocalBuilder、DynamicMethodがPCLで未実装だから型が見つかりませんって言ってきた

LuaをPCL化する場合はここらへんが問題になってそう

代替... more »

現在スクリプティング代替技術について調査中
とりあえず、
DLLの動的読み込みコードを試してみたがPCL上での意外といい感じだった
具体的には
Assembly asm = Assembly.LoadでDLLロードして
var type = asm.GetTypeでクラスタイプを取得して
var instance = Activator.CreateInstanceでインスタンス生成して
var methodInfo = type.GetTypeInfo().GetDeclaredMethodで関数取得して
methodInfo.Invokeで実行

一番気になることはDLLをロードする関数がAssembly.Loadしか使えないこと
形上としてはPCL実装になってるけど、これがほんとにWP8上やAndroid上で動作するのか不明
Windows上で実験した時はプログラム実行パスにDLLをコピーしたらいけたけど各環境での実行パスがわかり、必要なDLLをそこに用意させられるのならばできるのかもしれないが
やっぱりやってみないとわからない

あとLua調査の方は完全C#で書いてある?AluminumLuaというののソースコードをPCLライブラリとして作ったらSystem.Reflection.Emit下のILGenerator、LocalBuilder、DynamicMethodがPCLで未実装だから型が見つかりませんって言ってきた

LuaをPCL化する場合はここらへんが問題になってそう

代替手段はあるのか不明___

2014-08-20 01:27:13 (3 comments; 0 reshares; 0 +1s; )Open 

なんとかNLuaをPCL化できないか実験してみたけどどうやらWinRTプラットフォームがだめらしい

WinRTではC++のLuaライブラリを用いてLuaスクリプトを読み込むことはできるみたいだけど、直接.NETのクラスやライブラリを読み込めるか不明だしやり方わからないからなんとも

それがC++のLuaでできるんならいいんだけれども

というか読み込めるとしても読み込める対象はPCL環境における.NETクラスだからこのクラスはここでは使えてここでは使えないってなるからデバッグがしにくくなりそう

やっぱりAPIを別DLLに分離して仕様変更時に上書きコピーするのが一番楽な気が・・・

ただ互換性問題があるからなんとも・・・

なんとかNLuaをPCL化できないか実験してみたけどどうやらWinRTプラットフォームがだめらしい

WinRTではC++のLuaライブラリを用いてLuaスクリプトを読み込むことはできるみたいだけど、直接.NETのクラスやライブラリを読み込めるか不明だしやり方わからないからなんとも

それがC++のLuaでできるんならいいんだけれども

というか読み込めるとしても読み込める対象はPCL環境における.NETクラスだからこのクラスはここでは使えてここでは使えないってなるからデバッグがしにくくなりそう

やっぱりAPIを別DLLに分離して仕様変更時に上書きコピーするのが一番楽な気が・・・

ただ互換性問題があるからなんとも・・・___

2014-08-19 09:02:06 (3 comments; 0 reshares; 0 +1s; )Open 

とりあえず、SQLite PCLでnew PlatformWin32()
みたいなプラットフォーム記述をリフレクションを使ってライブラリ内部で自動で行うようにしました

具体的には
var platform = new SQLitePlatformWin32();
var db = new SQLiteConnection(platform, "foofoo");

と各ライブラリ利用者が書かなければいけないものを
var db = DatabaseService.Connect("foofoo");
と記述するだけで自動的にWin32用プラットフォームクラスが選択されます

一応今はDatabaseService.ConnectはSQLiteConnectionクラスを返して初期化のみ独自コードであとはSQLite PCLの使い方通り行うって形にしているけど、やはり依存ライブラリは一度ラップした方が良いとか、何かそういう意見があればライブラリ使用者がさわる範囲のクラスのラッピングを検討してみます... more »

とりあえず、SQLite PCLでnew PlatformWin32()
みたいなプラットフォーム記述をリフレクションを使ってライブラリ内部で自動で行うようにしました

具体的には
var platform = new SQLitePlatformWin32();
var db = new SQLiteConnection(platform, "foofoo");

と各ライブラリ利用者が書かなければいけないものを
var db = DatabaseService.Connect("foofoo");
と記述するだけで自動的にWin32用プラットフォームクラスが選択されます

一応今はDatabaseService.ConnectはSQLiteConnectionクラスを返して初期化のみ独自コードであとはSQLite PCLの使い方通り行うって形にしているけど、
やはり依存ライブラリは一度ラップした方が良いとか、何かそういう意見があればライブラリ使用者がさわる範囲のクラスのラッピングを検討してみます___

2014-08-19 00:30:14 (2 comments; 0 reshares; 0 +1s; )Open 

なんかgitでコミットエラーでたんですけど・・・

終了コード128って

なんかgitでコミットエラーでたんですけど・・・

終了コード128って___

2014-08-18 14:10:31 (5 comments; 0 reshares; 0 +1s; )Open 

リフレクションを利用したクロスプラットフォームライブラリ作成について、
各プラットフォームに依存するコードを各プロジェクトに記述するところで
以前プラットフォームを選択すると勝手にAndroidとiOSが対象に加わる問題は作っているプロジェクトの種類を間違えていたからだった

とりあえず、Windows、WinRT、WP8、Android、iOSの単一(クロスプラットフォームじゃない)プロジェクトを用意することができたからSQLite PCLをインストールして、そこから各プラットフォームごとのSQLite PCLプラットフォームライブラリをインストールしてみたけど、WinRTのだけどうやってもインストールに失敗する

どうやら
install-package : Something unexpected happened. Failed to installSQLite for Windows Runtime (Windows 8.1).

ということらしい

仮想デスクトップでやってるからだめなのかもしれんということで仮想じゃないWin8で試したけどやっぱり失敗した

どういうことなんだろ・・・... more »

リフレクションを利用したクロスプラットフォームライブラリ作成について、
各プラットフォームに依存するコードを各プロジェクトに記述するところで
以前プラットフォームを選択すると勝手にAndroidとiOSが対象に加わる問題は作っているプロジェクトの種類を間違えていたからだった

とりあえず、Windows、WinRT、WP8、Android、iOSの単一(クロスプラットフォームじゃない)プロジェクトを用意することができたからSQLite PCLをインストールして、そこから各プラットフォームごとのSQLite PCLプラットフォームライブラリをインストールしてみたけど、WinRTのだけどうやってもインストールに失敗する

どうやら
install-package : Something unexpected happened. Failed to install SQLite for Windows Runtime (Windows 8.1).

ということらしい

仮想デスクトップでやってるからだめなのかもしれんということで仮想じゃないWin8で試したけどやっぱり失敗した

どういうことなんだろ・・・___

2014-08-13 15:50:27 (1 comments; 0 reshares; 1 +1s; )Open 

今考えてる方向性
・ReaderWriterLockSlimではなくSemaphoreSlimを用いてAsyncLockする
・上記のためプロパティを廃止(awaitできないため)すべてGet Set関数で記述
・ANTLRでasync awaitを直接処理できるC#ライクなインタプリタ言語を実装(公開されているグラマーを改造)
・構文解析した内容をリフレクション等で実行

こんな感じ

今考えてる方向性
・ReaderWriterLockSlimではなくSemaphoreSlimを用いてAsyncLockする
・上記のためプロパティを廃止(awaitできないため)すべてGet Set関数で記述
・ANTLRでasync awaitを直接処理できるC#ライクなインタプリタ言語を実装(公開されているグラマーを改造)
・構文解析した内容をリフレクション等で実行

こんな感じ___

2014-08-11 08:18:11 (10 comments; 0 reshares; 1 +1s; )Open 

いろいろ考えたけど使用したいライブラリが完全にPCL対応してない件について、特にスクリプティングライブラリが存在しない問題は
NLuaライブラリの対応を見てみると
WinRTだけ非対応だけどRTだからC++のLua使えるとかなんとかって英語で書いてあったから一応全プラットフォームで動くらしいので、
あとはここの
http://okazuki.hatenablog.com/entry/20121107/Portable
ポータブルライブラリで、ポータブルじゃない処理をうまいこと分離する方法を利用して
簡単なラッパライブラリを作れば解決しそう
あとSQLiteの方もここに書いてあるリフレクションを利用してプラットフォームライブラリを呼び出すやり方じゃなくてコードにnewWin32()とかいうハードコーディングするやつだったり別のところの利便性が悪かったりするのでこの方法でうまくカバーできるライブラリはカバーしていきたいなって思う
それをやれば一応実装に進めるとは思う

それにしてもメイン開発環境がWin7だからWin8関連はWin8上でないと開発できないから仮想化して・・・っていうのがめんどくさい

あとはクラス構造をもうちょっと一新したいところだけどいまいち勉強不足でうまい実装が思いつかない... more »

いろいろ考えたけど使用したいライブラリが完全にPCL対応してない件について、特にスクリプティングライブラリが存在しない問題は
NLuaライブラリの対応を見てみると
WinRTだけ非対応だけどRTだからC++のLua使えるとかなんとかって英語で書いてあったから一応全プラットフォームで動くらしいので、
あとはここの
http://okazuki.hatenablog.com/entry/20121107/Portable
ポータブルライブラリで、ポータブルじゃない処理をうまいこと分離する方法を利用して
簡単なラッパライブラリを作れば解決しそう
あとSQLiteの方もここに書いてあるリフレクションを利用してプラットフォームライブラリを呼び出すやり方じゃなくてコードにnew Win32()とかいうハードコーディングするやつだったり別のところの利便性が悪かったりするのでこの方法でうまくカバーできるライブラリはカバーしていきたいなって思う
それをやれば一応実装に進めるとは思う

それにしてもメイン開発環境がWin7だからWin8関連はWin8上でないと開発できないから仮想化して・・・っていうのがめんどくさい

あとはクラス構造をもうちょっと一新したいところだけどいまいち勉強不足でうまい実装が思いつかない___

2014-05-31 03:51:17 (0 comments; 0 reshares; 0 +1s; )Open 

永続化に関してPortable Class Library for SQLiteを使ったら各プラットフォームごとのプロジェクトに追加する参照DLL関係の対応がまだ甘くて微妙だったので、とりあえずSQLite.NET PCLを用いてデータベースの作成、挿入、取得を行うコードを実装
しかしデータ削除しようとしたらPKがないっていうエラーメッセージがでてできなかったからそこで中断してる
PKってPrimaryKeyのことかなって思ったけどちゃんとIdに属性つけてるしなんだろうなあって

あとスクリプティングに関してはG+APIを記述するのに最低限必要な機能を備えたスクリプト言語を自作してANTLRで解析して処理する方向で落ち着いてるCSVみたいに、最初に命令を何個かに区切って
Connection POST url
とかCalculate hoge = hoge + hoge
みたいな
代替手段としてコードの記述をJsonにしてJson.NETで解析してから実行するのも手はだけど変数受け渡しとか考えると少し無理があるかなあと思ったり... more »

永続化に関してPortable Class Library for SQLiteを使ったら各プラットフォームごとのプロジェクトに追加する参照DLL関係の対応がまだ甘くて微妙だったので、とりあえずSQLite.NET PCLを用いてデータベースの作成、挿入、取得を行うコードを実装
しかしデータ削除しようとしたらPKがないっていうエラーメッセージがでてできなかったからそこで中断してる
PKってPrimaryKeyのことかなって思ったけどちゃんとIdに属性つけてるしなんだろうなあって

あとスクリプティングに関してはG+APIを記述するのに最低限必要な機能を備えたスクリプト言語を自作してANTLRで解析して処理する方向で落ち着いてるCSVみたいに、最初に命令を何個かに区切って
Connection POST url
とか
Calculate hoge = hoge + hoge
みたいな
代替手段としてコードの記述をJsonにしてJson.NETで解析してから実行するのも手はだけど変数受け渡しとか考えると少し無理があるかなあと思ったり___

2014-05-23 10:40:58 (4 comments; 0 reshares; 1 +1s; )Open 

最近の進捗
・永続化に関して、とりあえずSQLite.NET PCLを使用することにして、
プラットフォーム依存コード部分を
var service = new GooglePlusService(new SQLitePlatform32());
といったようにGooglePlusServiceクラスのコンストラクタで宣言してもらうようにしました
この記述はコンソールアプリケーションやWinForm、WPFなど各プラットフォーム上で書かれるコード部分になります

これにより、T4テンプレートを用いたSQLite クエリのコンパイル時生成コードを記述する必要はなくなりました

それから、プロジェクト構造がわけわからない複雑さになってきたので、
実験的な手段として、CS-Scriptを使用してみようと思いますこれは、C#コードをスクリプト言語として使用できるようにしたものです
その他のライブラリ、例えばLua関連はPCL対応は壊滅的であり、
その他のC#系スクリプトライブラリも壊滅状態になっています。
また、C#コードの動的ロード等もPCL上ではなかなか難しく、そもそも .NETのクラスが実装されてなかったりしている状態なわけで、
可能ならばスクリプト言語を使用するのがベストだと考えてます。
そのため、マイナーだろうが実装が甘かろうが、使えるライブラリは使っていきたいなと考えています。

あと、相変わらずクラス構造に関して悩んでいます
具体的にはサークルやポストなどの関数をどの場所で実装するのか、リスト系(アカウントのリスト、サークルのリスト)などを独自で実装するのか、そうするなら排他関連はどうするのがベストか
など... more »

最近の進捗
・永続化に関して、とりあえずSQLite.NET PCLを使用することにして、
プラットフォーム依存コード部分を
var service = new GooglePlusService(new SQLitePlatform32());
といったようにGooglePlusServiceクラスのコンストラクタで宣言してもらうようにしました
この記述はコンソールアプリケーションやWinForm、WPFなど各プラットフォーム上で書かれるコード部分になります

これにより、T4テンプレートを用いたSQLite クエリのコンパイル時生成コードを記述する必要はなくなりました

それから、プロジェクト構造がわけわからない複雑さになってきたので、
実験的な手段として、CS-Scriptを使用してみようと思います
これは、C#コードをスクリプト言語として使用できるようにしたものです
その他のライブラリ、例えばLua関連はPCL対応は壊滅的であり、
その他のC#系スクリプトライブラリも壊滅状態になっています。
また、C#コードの動的ロード等もPCL上ではなかなか難しく、そもそも .NETのクラスが実装されてなかったりしている状態なわけで、
可能ならばスクリプト言語を使用するのがベストだと考えてます。
そのため、マイナーだろうが実装が甘かろうが、使えるライブラリは使っていきたいなと考えています。

あと、相変わらずクラス構造に関して悩んでいます
具体的にはサークルやポストなどの関数をどの場所で実装するのか、
リスト系(アカウントのリスト、サークルのリスト)などを独自で実装するのか、そうするなら排他関連はどうするのがベストか
など___

2014-04-14 05:29:52 (11 comments; 0 reshares; 0 +1s; )Open 

久しぶりの更新です
現在、どこで止まっているかというと、投稿などの各種データ保持クラス構造等にSQLiteを使いたいなってことで、ポータブルクラスライブラリ対応のSQLiteライブラリを探してて
Portable Class Library for SQLiteを使ってみるかってことになったけど、
テーブル?を新規作成するときにint型で次にstring型で・・ってメンバに従った文字列をクエリとして生成しなくてはいけないらしいことがわかって
型に応じた文字列生成はすぐできるんだけど、ポータブルクラスライブラリにあるクラスの全プロパティを列挙する関数が実装されていなくって、手詰まり状態

(列挙を自動化しないとクラスにメンバを加えた時にめんどくさいから必要)
で列挙自体は動的ではなくコンパイル時とかの静的に行うものでいいから、T4テンプレートで自動生成させるか?とか思ったけど
テンプレート内でポータブルクラスライブラリが対応していないコードがかけるのかがよくわからずそこから先に進んでない

何かいいアイデアあれば教えて下さい... more »

久しぶりの更新です
現在、どこで止まっているかというと、投稿などの各種データ保持クラス構造等にSQLiteを使いたいなってことで、ポータブルクラスライブラリ対応のSQLiteライブラリを探してて
Portable Class Library for SQLiteを使ってみるかってことになったけど、
テーブル?を新規作成するときにint型で次にstring型で・・ってメンバに従った文字列をクエリとして生成しなくてはいけないらしいことがわかって
型に応じた文字列生成はすぐできるんだけど、ポータブルクラスライブラリにあるクラスの全プロパティを列挙する関数が実装されていなくって、手詰まり状態

(列挙を自動化しないとクラスにメンバを加えた時にめんどくさいから必要)

で列挙自体は動的ではなくコンパイル時とかの静的に行うものでいいから、T4テンプレートで自動生成させるか?とか思ったけど
テンプレート内でポータブルクラスライブラリが対応していないコードがかけるのかがよくわからずそこから先に進んでない

何かいいアイデアあれば教えて下さい___

2014-03-20 08:21:09 (0 comments; 0 reshares; 0 +1s; )Open 

DFさん来てるよー

DFさん来てるよー___

2014-03-07 23:58:26 (1 comments; 0 reshares; 1 +1s; )Open 

おはよー
Good Morning-.
早上好ー
早晨ー
Bonjour!
Buenos dias-.
안녕하십니까?
Доброе утро.
Bom dia-.
Buon giorno-.
Guten Morgen.

おはよー
Good Morning-.
早上好ー
早晨ー
Bonjour!
Buenos dias-.
안녕하십니까?
Доброе утро.
Bom dia-.
Buon giorno-.
Guten Morgen.___

2014-03-07 17:27:07 (2 comments; 0 reshares; 0 +1s; )Open 

SQLite直ったわ
違うVisual Studioのバージョンのを入れとったからだった

ぐぬぬ

SQLite直ったわ
違うVisual Studioのバージョンのを入れとったからだった

ぐぬぬ___

2014-03-07 12:20:04 (0 comments; 0 reshares; 0 +1s; )Open 

はやくEntity FrameworkもPCLに対応してくれー

はやくEntity FrameworkもPCLに対応してくれー___

2014-03-07 11:58:23 (5 comments; 0 reshares; 0 +1s; )Open 

あー確かに言われてみれば横に伸びたような気がしないでもない

あー確かに言われてみれば横に伸びたような気がしないでもない___

2014-03-07 11:26:50 (11 comments; 0 reshares; 0 +1s; )Open 

昨日イヤホンの片方が断線しかかってることに気づいて大慌て

どうしよう

オーディオマニアじゃないからよくわかんないけどリケーブル?とかいうのもできないタイプだし

まあ買い直すのが一番楽なんだけども

うーむ

昨日イヤホンの片方が断線しかかってることに気づいて大慌て

どうしよう

オーディオマニアじゃないからよくわかんないけどリケーブル?とかいうのもできないタイプだし

まあ買い直すのが一番楽なんだけども

うーむ___

2014-03-07 10:40:33 (0 comments; 0 reshares; 0 +1s; )Open 

そろそろPSO2と同時にプログラミングできるよう別PCがほしいところ・・・
現状スペック的にもnPro的にも実現はむり

そろそろPSO2と同時にプログラミングできるよう別PCがほしいところ・・・
現状スペック的にもnPro的にも実現はむり___

2014-03-07 10:33:11 (0 comments; 0 reshares; 0 +1s; )Open 

SQLiteが使えなくなった・・・
なんでだろ

SQLiteが使えなくなった・・・
なんでだろ___

2014-03-07 10:01:07 (2 comments; 0 reshares; 0 +1s; )Open 

ProviderIncompatibleExceptionってなんだよ・・・
SQLiteのインストールか何かに失敗してるのかなあ・・・?

ProviderIncompatibleExceptionってなんだよ・・・
SQLiteのインストールか何かに失敗してるのかなあ・・・?___

2014-03-07 08:51:44 (0 comments; 0 reshares; 0 +1s; )Open 

おんがくきこう

おんがくきこう___

2014-03-07 05:51:31 (0 comments; 0 reshares; 1 +1s; )Open 

まずい!禁断症状が!

まずい!禁断症状が!___

2014-03-07 05:34:29 (0 comments; 0 reshares; 0 +1s; )Open 

このメンテナンスを利用してソフトを更新しておこう

このメンテナンスを利用してソフトを更新しておこう___

2014-03-07 04:17:07 (0 comments; 0 reshares; 0 +1s; )Open 

起きたらメンテだった

うわああああ

起きたらメンテだった

うわああああ___

2014-03-07 01:06:18 (1 comments; 0 reshares; 0 +1s; )Open 

ぷるぷるにゃららすやあ

ぷるぷるにゃららすやあ___

2014-03-07 00:36:14 (1 comments; 0 reshares; 0 +1s; )Open 

おはよー
Good Morning-.
早上好ー
早晨ー
Bonjour!
Buenos dias-.
안녕하십니까?
Доброе утро.
Bom dia-.
Buon giorno-.
Guten Morgen.

おはよー
Good Morning-.
早上好ー
早晨ー
Bonjour!
Buenos dias-.
안녕하십니까?
Доброе утро.
Bom dia-.
Buon giorno-.
Guten Morgen.___

2014-03-06 17:24:46 (0 comments; 0 reshares; 0 +1s; )Open 

すやあ

すやあ___

2014-03-06 17:04:31 (1 comments; 0 reshares; 0 +1s; )Open 

やあ

やあ___

2014-03-06 12:49:07 (3 comments; 0 reshares; 0 +1s; )Open 

いええええええい

いええええええい___

2014-03-06 07:07:13 (1 comments; 0 reshares; 0 +1s; )Open 

おきたよ

おきたよ___

2014-03-06 05:21:12 (2 comments; 0 reshares; 0 +1s; )Open 

それにしてもd,e,fを手に入れるのにa,b,cが10*10=各100個必要っていうのしらなくて今各30個ぐらいしかもってないから一人でブーストかかってないおいしくないノーマルアドにひたすらこもるはめに・・・

予想に反してコフィーさんくれなかったし・・・

それか買うかだけど
むー

それにしてもd,e,fを手に入れるのにa,b,cが10*10=各100個必要っていうのしらなくて今各30個ぐらいしかもってないから一人でブーストかかってないおいしくないノーマルアドにひたすらこもるはめに・・・

予想に反してコフィーさんくれなかったし・・・

それか買うかだけど
むー___

2014-03-06 05:19:31 (0 comments; 0 reshares; 0 +1s; )Open 

すやあ

すやあ___

2014-03-06 05:17:50 (0 comments; 0 reshares; 0 +1s; )Open 

11次元こわい

11次元こわい___

posted image

2014-03-06 05:13:29 (7 comments; 0 reshares; 2 +1s; )Open 

セブンイレブンコーヒーカテキタヨー

セブンイレブンコーヒーカテキタヨー___

2014-03-06 05:12:35 (0 comments; 0 reshares; 0 +1s; )Open 

やあ

やあ___

2014-03-06 05:07:49 (5 comments; 0 reshares; 0 +1s; )Open 

Attached~っていうクラス名をやめよう

Attached~っていうクラス名をやめよう___

2014-03-06 05:05:36 (0 comments; 0 reshares; 0 +1s; )Open 

よし
ページ付加投稿に引き続きYoutube付加投稿の情報取得もできるようにしたぞ

あとはイベントと写真で基本的なものは終わりで
あとは
サークル共有とかの投稿ページ以外からのやつをやればOKなはず

あ誕生日のやつとかもあったか

よし
ページ付加投稿に引き続きYoutube付加投稿の情報取得もできるようにしたぞ

あとはイベントと写真で基本的なものは終わりで
あとは
サークル共有とかの投稿ページ以外からのやつをやればOKなはず

あ誕生日のやつとかもあったか___

2014-03-06 04:30:10 (0 comments; 0 reshares; 0 +1s; )Open 

やあ

やあ___

2014-03-06 04:02:36 (0 comments; 0 reshares; 1 +1s; )Open 

イルフォイエの使えない感・・・
硬直・遅い・外れる

むー

ナメギド安定だったわ

イルフォイエの使えない感・・・
硬直・遅い・外れる

むー

ナメギド安定だったわ___

2014-03-06 03:57:24 (3 comments; 0 reshares; 0 +1s; )Open 

やあ

やあ___

2014-03-06 03:50:34 (0 comments; 0 reshares; 0 +1s; )Open 

いええええええい

いええええええい___

2014-03-06 03:49:00 (0 comments; 0 reshares; 0 +1s; )Open 

やあ

やあ___

2014-03-06 01:27:17 (0 comments; 0 reshares; 0 +1s; )Open 

着●

着●___

2014-03-06 01:24:31 (2 comments; 0 reshares; 0 +1s; )Open 

すやあ

すやあ___

Buttons

A special service of CircleCount.com is the following button.

The button shows the number of followers you have directly on a small button. You can add this button to your website, like the +1-Button of Google or the Like-Button of Facebook.






You can add this button directly in your website. For more information about the CircleCount Buttons and the description how to add them to another page click here.

森仁志Circloscope