<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>.五月雨.のブログ</title>
<link>https://ameblo.jp/dotsamidaredot/</link>
<atom:link href="https://rssblog.ameba.jp/dotsamidaredot/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>ゲームプログラムとか音楽とか</description>
<language>ja</language>
<item>
<title>ネットワークプログラム</title>
<description>
<![CDATA[ WinSock使ってたんですが、<br>汎用性を考えてバークレーソケットに変更。<br><br>久々にCygwin出してEmacsなんぞ使い始めました。<br>いやー環境構築だけでだいぶ時間食ってしまった。<br>ちまちまとやっていこう。<br>
]]>
</description>
<link>https://ameblo.jp/dotsamidaredot/entry-11280386764.html</link>
<pubDate>Mon, 18 Jun 2012 02:01:35 +0900</pubDate>
</item>
<item>
<title>ネットワークプログラム</title>
<description>
<![CDATA[ 最近、サーバーまわり（といってもサーブレットとかね）のプログラムを触る機会が増えてきたので、<br>ネットワークプログラムの勉強をちゃんと始めました。<br>目に見えにくい部分なのであんまり好きじゃないんですが、<br>毛嫌いしててもしょうがないので、がんばります。<br><br>土日つかってオンラインゲームプログラミングを１００ページくらい読んだりサンプル組んだりしたので、<br>今月中くらいには終わるかなーと思います。<br>そしたらデータベースもかな。<br><br>ライブラリもちゃんと作って自前でグラフィック周りの実験環境も用意したい所ですが、<br>もうちょっと先になりそうですね。<br><br>
]]>
</description>
<link>https://ameblo.jp/dotsamidaredot/entry-11274442491.html</link>
<pubDate>Mon, 11 Jun 2012 01:34:00 +0900</pubDate>
</item>
<item>
<title>一週間経過</title>
<description>
<![CDATA[ 新しい仕事場で１週間が過ぎました。<br><br>まぁ出向多かったこともあり、緊張はほどほどですが、<br>まだまだ会社のルールがわかんないこともありますね。<br><br>にしても忙しすぎるので疲れます。<br>もうちょっと色々前倒しで仕事進めたい所ですが、<br>あんまり余裕なさそうな気がします。<br><br>なんとかしたいところです。<br><br>まぁ出張はなくなったようですが、<br>休日出勤がまだまだ怖いですね・・・。<br>
]]>
</description>
<link>https://ameblo.jp/dotsamidaredot/entry-11274441059.html</link>
<pubDate>Mon, 11 Jun 2012 01:32:04 +0900</pubDate>
</item>
<item>
<title>英語のお勉強。</title>
<description>
<![CDATA[ 英語の勉強を始めました。<br><br>Squrrelを勉強してて、英語の文献ばかりでほんと困りました・・・・。<br><br>以前からあれこれ調べ物をした時に英語でかなりひっかかっていましたが、<br>そろそろ読めるようにならないと効率的に成長できない気がします。<br><br>とりあえず、DUO３．０と基礎変のCDをしっかりやってみようと思います。<br>そのうち発音用のCDも買ってしっかり発音も勉強しないとな。<br><br>まずはTOEIC６００点くらいを目指しますかね。<br>
]]>
</description>
<link>https://ameblo.jp/dotsamidaredot/entry-11269362246.html</link>
<pubDate>Tue, 05 Jun 2012 01:26:11 +0900</pubDate>
</item>
<item>
<title>初出社</title>
<description>
<![CDATA[ 初出社でした。<br><br>皆さん良い人そうで、そんなにキリキリしてなくてよかったかな(；・∀・)<br>忙しそうなプロジェクトなので気を引き締めて頑張ります。<br><br>皆さんレベル高いのでもっと勉強せねば。<br>
]]>
</description>
<link>https://ameblo.jp/dotsamidaredot/entry-11266731832.html</link>
<pubDate>Sat, 02 Jun 2012 05:13:12 +0900</pubDate>
</item>
<item>
<title>今日から新しい職場</title>
<description>
<![CDATA[ いよいよ今日から新しい職場です。<br><br>いやー緊張しますね！<br>とりあえず、自己紹介なんていうかに迷いますねｗｗｗｗ<br><br>でも、心機一転頑張ります( ´∀｀)b<br>
]]>
</description>
<link>https://ameblo.jp/dotsamidaredot/entry-11265832825.html</link>
<pubDate>Fri, 01 Jun 2012 00:52:06 +0900</pubDate>
</item>
<item>
<title>Squirrel組み込みその５</title>
<description>
<![CDATA[ 今回は実行中のスクリプトの更新への対応の実験をしてみました。<br><br>以下のプログラムを実行して<br>'ｖ'を押すと「１４」と表示されます。<br>そのまま実行しながら、myclass.nutの<br>inst.bar の値を３に変更して保存<br>'c'キーを押してコンパイルし直します。<br>そして、ｖキーを押すと「２１」と表示されます。<br>こんな感じでビルドを挟まずにリアルタイムで反映していけると便利かな？<br><br><br>myclass.nut<pre class="program">local inst = MyClass();<br>inst._bar = 2;<br>printNum(inst.mul(inst._bar, 7)); // "num = 14\n"<br></pre>C++<pre class="program">#include "stdafx.h"<br>#include &lt;sqrat.h&gt;      // squirrel.h もインクルードされる<br>#include &lt;sqstdaux.h&gt;   // sqstd_seterrorhandlers<br> <br>#include &lt;stdio.h&gt;<br>#include &lt;stdarg.h&gt;<br>#include &lt;Windows.h&gt;<br><br>// 文字列出力<br>static void printfunc(HSQUIRRELVM vm, const SQChar* format, ...)<br>{<br>    va_list args;<br>    va_start(args, format);<br>#ifdef SQUNICODE<br>    vwprintf(format, args);<br>#else<br>    vprintf(format, args);<br>#endif<br>    va_end(args);<br>}<br><br><br>// クラス<br>class MyClass<br>{<br>public:<br>    int mul(int x, int y) { return (x * y); }<br>    int _bar;<br>};<br><br>// 関数<br>void printNum(int n)<br>{<br>    printf("num = %d\n", n);<br>}<br><br><br>void bindMyTable(HSQUIRRELVM vm)<br>{<br>    using namespace Sqrat;<br> <br>    // テーブルを作成<br>    Table myTable(vm);<br> <br>    // MyClass オブジェクトを作成<br>    Class&lt;MyClass&gt; myClass(vm);<br> <br>    // MyClass オブジェクトにメンバをバインド<br>    myClass.Func(_SC("mul"), &amp;MyClass::mul);     // メンバ関数<br>    myClass.Var(_SC("_bar"), &amp;MyClass::_bar);    // メンバ変数<br><br>    // ルートテーブルに myTable を "MyTable" としてバインド<br>    RootTable(vm).Bind(_SC("MyClass"), myClass);<br>    RootTable(vm).Func(_SC("printNum"), &amp;printNum);<br>}<br><br> <br>// メイン<br>int main(int argc, char** argv)<br>{<br>    // Sqratの名前空間<br>    using namespace Sqrat;<br> <br>    // VMの作成<br>    HSQUIRRELVM vm = sq_open(1024);<br> <br>    // エラーハンドラを設定<br>    sqstd_seterrorhandlers(vm);<br> <br>    // 文字列出力関数を設定<br>    sq_setprintfunc(vm, printfunc);<br> <br><br>    // 標準で使うVMの設定<br>    DefaultVM::Set(vm);<br><br>    bindMyTable(vm);<br><br>    {<br>        Script scriptA;<br>        scriptA.CompileFile("myclass.nut");<br><br>        while( !::GetAsyncKeyState( 'Q' ) )<br>        {<br>            // コンパイル<br>            if( ::GetAsyncKeyState( 'C' ) ) scriptA.CompileFile("myclass.nut");<br><br>            // 実行<br>//            if( ::GetAsyncKeyState( 'V' ) )<br>                scriptA.Run();<br>        }<br>    }<br><br><br>    // VMを解放<br>    sq_close(vm);<br> <br>    return 0;<br>}<br><br></pre>
]]>
</description>
<link>https://ameblo.jp/dotsamidaredot/entry-11265069855.html</link>
<pubDate>Thu, 31 May 2012 06:17:15 +0900</pubDate>
</item>
<item>
<title>Squirrel組み込みその４</title>
<description>
<![CDATA[ 今回は、Squirrel側のインスタンや関数にC/C++からアクセスすることに挑戦。<br><br>まずは、インスタンスの生成、クラスや関数の宣言したSquirrelを実行。<br>ルートテーブル経由で取得、実行していきます。<br><br><br><a href="http://www.ruche-home.net/"><font size="2"><span style="font-weight: bold;"><br></span>ルーチェ's Homepage</font></a>さんのソースを元に<br>テスト用に変更しました。<br><br>test_class.nut<br><pre class="program">valInt &lt;- 100;<br>valInt &lt;- 100;<br>valFloat &lt;- 2.5;<br>valStr &lt;- "Hello, Sqrat World !!";<br>valTable &lt;- { valT = 50 }<br> <br>class FooClass<br>{<br>    constructor(v)<br>    {<br>        valC = v;<br>    }<br>     valC = null;<br>}<br>valClass &lt;- FooClass("test class");<br></pre><br>test_function.nut<br><pre class="program">// 受け取った文字列を改行付きで出力する関数<br>function printLine(str)<br>{<br>    print(str + "\n");<br>}<br><br>// 受け取った引数の合計値を返す関数<br>function calcTotal(...)<br>{<br>    local ret = 0;<br><br>    for (local i = 0; i &lt; vargv.len(); ++i)<br>    {<br>        ret += vargv[i];<br>    }<br>    return ret;<br>}<br></pre><br>c++<br><pre class="program">#include "stdafx.h"<br>#include <sqrat.h>      // squirrel.h もインクルードされる<br>#include <sqstdaux.h>   // sqstd_seterrorhandlers<br><br>#include <stdio.h><br>#include <stdarg.h><br> <br>// 文字列出力<br>static void printfunc(HSQUIRRELVM vm, const SQChar* format, ...)<br>{<br>    va_list args;<br>    va_start(args, format);<br>#ifdef SQUNICODE<br>    vwprintf(format, args);<br>#else<br>    vprintf(format, args);<br>#endif<br>    va_end(args);<br>}<br><br><br>// メイン<br>int main(int argc, char** argv)<br>{<br>    // Sqratの名前空間<br>    using namespace Sqrat;<br> <br>    // VMの作成<br>    HSQUIRRELVM vm = sq_open(1024);<br>     // エラーハンドラを設定<br>    sqstd_seterrorhandlers(vm);<br>     // 文字列出力関数を設定<br>    sq_setprintfunc(vm, printfunc);<br> <br><br>    // 標準で使うVMの設定<br>    DefaultVM::Set(vm);<br><br>    {<br>        Script scriptA;<br>        scriptA.CompileFile("test_class.nut");<br>        scriptA.Run();<br><br>        scriptA.CompileFile("test_function.nut");<br>        scriptA.Run();<br><br>        // vmから値の取得<br>        //  IsNullで値が存在するかチェック<br><br>        // valInt &lt;- 100;<br>        Object objValInt = RootTable(vm).GetSlot(_SC("valInt"));<br>        if( !objValInt.IsNull() )<br>        {<br>            int valInt = objValInt.Cast<int>();<br>            printf("valInt = %d\n",valInt);<br>        }<br><br>        // valFloat &lt;- 2.5;<br>        Object objValFloat = RootTable(vm).GetSlot(_SC("valFloat"));<br>        if( !objValFloat.IsNull() )<br>        {<br>            float valFloat = objValFloat.Cast<float>();<br>            printf("valFloat = %.2f\n",valFloat);<br>        }<br><br>        // valStr &lt;- "Hello, Sqrat World !!";<br>        Object objValStr = RootTable(vm).GetSlot(_SC("valStr"));<br>        if( !objValStr.IsNull() )<br>        {<br>            // 文字型にキャスト<br>            Sqrat::string valStr = objValStr.Cast<sqrat::string>();<br>            printf("valStr = %s\n",valStr.c_str());<br>        }<br><br>        // valTable &lt;- { valT = 50 }<br>        Object objValTable = RootTable(vm).GetSlot(_SC("valTable"));<br>        if( !objValTable.IsNull() )<br>        {<br>            Object objValT = objValTable.GetSlot(_SC("valT"));<br>            if( !objValT.IsNull() )<br>            {<br>                int valT = objValT.Cast<int>();<br>                printf("valT = %d\n",valT);<br>            }<br>        }<br>        // valClass &lt;- FooClass("test class");<br>        Object objValClass = RootTable(vm).GetSlot(_SC("valClass"));<br>        if( !objValClass.IsNull() )<br>        {<br>            /// メンバ変数へのアクセス<br>            Object objValC = objValClass.GetSlot(_SC("valC"));<br>            if( !objValC.IsNull() )<br>            {<br>                // 文字型にキャスト<br>                Sqrat::string valC = objValC.Cast<sqrat::string>();<br>                printf("valC = %s\n",valC.c_str());<br>            }<br>        }<br><br>        // 関数を取得<br>        Function funcPrintLine = RootTable(vm).GetFunction(_SC("printLine"));<br>        Function funcCalcTotal(RootTable(vm), _SC("calcTotal"));<br> <br>        // 関数を実行する(結果不要な場合)<br>        if( !funcPrintLine.IsNull() )<br>        {<br>            funcPrintLine.Execute(_SC("てすと1"));<br>            funcPrintLine(_SC("てすと2"));<br>        }<br><br>        // 関数を実行して結果を得る<br>        if( !funcCalcTotal.IsNull() )<br>        {<br>            int resI = funcCalcTotal.Evaluate<int>(1, 2, 3, 4);             // 10<br>            float resF = funcCalcTotal.Evaluate<float>(1.1F, 2.2F, 3.3F);   // 6.6F<br><br>            printf("%d\n", resI);<br>            printf("%.2f\n", resF);<br>        }<br>    }<br>    // VMを解放<br>    sq_close(vm);<br> <br>    return 0;<br>}<br></float></int></sqrat::string></int></sqrat::string></float></int></stdarg.h></stdio.h></sqstdaux.h></sqrat.h></pre><br><br>
]]>
</description>
<link>https://ameblo.jp/dotsamidaredot/entry-11265067720.html</link>
<pubDate>Thu, 31 May 2012 05:46:06 +0900</pubDate>
</item>
<item>
<title>いきなりの出張 その２</title>
<description>
<![CDATA[ また連絡がありました。<br>さすがにすぐに長期出張という話はなくなりましたが、<br>数日働いて、短期で出張がそうです(；・∀・)<br><br>うーむ、昨日の時点でいろいろ断っちゃったんだけどな・・・(；´Д｀)<br>いつから出張なのかもわかんないし、予定立てにくいな・・・。<br><br>
]]>
</description>
<link>https://ameblo.jp/dotsamidaredot/entry-11264171631.html</link>
<pubDate>Wed, 30 May 2012 00:32:06 +0900</pubDate>
</item>
<item>
<title>いきなりの出張ｗｗｗ</title>
<description>
<![CDATA[ 転職先の会社から、今日連絡がありました。<br><br>『や、ヤバイ、もしかして内定取り消しとか？(；´Д｀)』<br>とか思っていると。<br><br>「出張してもらいたいんです。」<br>「え！？！？」<br><br>という感じで最初のお仕事が出張になりました。<br>１～２ヶ月ほど大阪にお世話になります。<br><br>出向経験は長いですが、出張は始めてです。<br><br>出向から移動距離が大きくなった気がしますｗｗｗ<br>そのうち海外にとかなるんですかねｗｗｗ<br><br>まぁ嬉しいお話もいただいたので、頑張ろうと思います。<br>ノートPCが必要になったな。用意せねば・・・。<br><br>
]]>
</description>
<link>https://ameblo.jp/dotsamidaredot/entry-11263381496.html</link>
<pubDate>Tue, 29 May 2012 03:20:06 +0900</pubDate>
</item>
</channel>
</rss>
