<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>nicknameのブログ</title>
<link>https://ameblo.jp/risc20100124/</link>
<atom:link href="https://rssblog.ameba.jp/risc20100124/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[ <br>非常に興味を持って動向を見てますよ。<br><br>ただ、難しいんでしょうね。<br>あの手のツールを活用するのは…。<br><br>android、iOSでは、力不足なのかな。<br>或いは、アプリが不足してる感が少しありますね。<br><br>ER図や、UMLなどを簡単にタブレット端末で作れるようになると良いな。<br>まぁ、そんな点を含めて来年は少しソフトウェアの開発に力をいれてみようかな。<br><br>今年の反省じゃないけれど、会計関連の知識の充実、知的財産権関連の知識の充実、中小企業診断しあたりの資格の取得なんかの早期実現に向けて頑張らなきゃかな。<br>今年は、そういう面ではあまり進展がありませんでしたから…。<br><br>OpenGLなどのライブラリに触れた事は大きかったのかもしれないけど、そこら編についても、最終的なソフトウェアをしっかりと作らなきゃですね。<br><br>コンパイラについてある程度見てましたけど、こちらも目立った成果なしというのはまずいかもしれないですね。<br><br>MACに移行して不便だなと感じたのは、visioとaccessがない事かな。<br>あのツール、個人的にあまり評価は高くないですけど、結構使ってたのかな…。<br><br>PostGreSQLとmySQLのどちらが良いかなと少し考えてましたが、今の状況を考えると前者なのかな。<br>ライセンスの絡みもありますしね。<br>最悪、自分でデータベースを組み直すとしても…。
]]>
</description>
<link>https://ameblo.jp/risc20100124/entry-10749240552.html</link>
<pubDate>Mon, 27 Dec 2010 04:40:34 +0900</pubDate>
</item>
<item>
<title>phpでウェブアプリ...</title>
<description>
<![CDATA[ まず、作ってみるのが以下のサンプルコード<br>サクッと書いて一回サーバーに挙げて見るの。<br>サーバーの情報がある程度分かるから、作り込む際に楽なの。<br>あ、書いた毎に、一回実行してみて結果を確認するの。<br>間違いがあれば、すぐに気がつくはず。<br>（＊サンプルには、行番号が入ってたりする事があるけど、実際には不要。）<br><br>info.php<br>1:&lt;?<br>2:    phpinfo();<br>3:?&gt;<br>4:<br><br>次に１つ選択しなきゃいけない事があるの。<br>それは、データベースを使うかどうか？<br>今回は、使うと言う事にしますか。<br><br>config.php<br>01:&lt;?php<br>02:if(!defined("_MAIN_")) {<br>03:    header("HTTP/1.1 404 Not Found");<br>04:    die("Not Found");<br>05:}<br>06:<br>07:class Config {<br>08:    var $server = "server name";<br>09:    var $port = "port number";<br>10:    var $user = "user";<br>11:    var $pwd = "password";<br>12:}<br>13:?&gt;<br>14:<br><br>index.php<br>1:&lt;?php<br>2:    define("_MAIN_", "1");<br>3:    include './config.php';<br>4:?&gt;<br>5:SUCCESS<br>6:<br><br>コードをデータベースに接続する様に変更するの。<br>今回は、MySQLを選択する事にしたの。<br>あっ、その時に、donfig.phpの内容も正しいものに変更しないとダメだったり。<br>serverは、サーバー名、userは、ユーザ名、pwdは、パスワードを入れるの。<br><br>index.php<br>01:&lt;?php<br>02:    define("_MAIN_", "1");<br>03:    include './config.php';<br>04:    $config = new Config();<br>05:    $mysql = mysql_connect($config-&gt;server, $config-&gt;user, $config-&gt;pwd);<br>06:    if(!$mysql){<br>07:        die("Not Found");<br>08:    }<br>09:    echo "SUCCESS";<br>10:    mysql_close($mysql);<br>11:?&gt;<br>12:<br><br>テーブルの一覧を取得するコードを入れるの。<br>どんなテーブルがあるか、一発で分かると便利だからね。<br><br>01:&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br>02:&lt;html&gt;<br>03:    &lt;head&gt;<br>04:        &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;<br>05:        &lt;title&gt;&lt;/title&gt;<br>06:    &lt;/head&gt;<br>07:    &lt;body&gt;<br>08:        &lt;?php<br>09:            define("_MAIN_", "1");<br>10:            include './config.php';<br>11:            $config = new Config();<br>12:            $mysql = mysql_connect($config-&gt;server, $config-&gt;user, $config-&gt;pwd);<br>13:            if (!$mysql) {<br>14:                die("Failed Connect");<br>15:            }<br>16:<br>17:            $result = mysql_query("SHOW TABLES FROM " . $config-&gt;user, $mysql);<br>18:            if (!$result) {<br>19:                echo "SHOW TABLES FROM " . $config-&gt;user;<br>20:                echo mysql_error();<br>21:                mysql_close($mysql);<br>22:                die("Failed Query");<br>23:            }<br>24:<br>25:            while ($line = mysql_fetch_assoc($result)) {<br>26;                print_r($line);<br>27:            }<br>28:<br>29:            mysql_free_result($result);<br>30:<br>31:            mysql_close($mysql);<br>32:        ?&gt;<br>33:    &lt;/body&gt;<br>34:&lt;/html&gt;<br>35:<br><br>次は、リファクタリングだね<br>今のコードは、DBに強く依存していて、好ましくないの。<br>だから、少し変更するの。<br>これ以降のコードは、行番号は要らないので注意。<br><br>mysql.php<br>&lt;?php<br>if(!defined("_MAIN_")) {<br>    header("HTTP/1.1 404 Not Found");<br>    die("Not Found");<br>}<br><br>/**<br> * MySQLデータベースを管理。<br> */<br>class MySql {<br>    var $config;<br>    var $con;<br>    /**<br>     * 接続。<br>     * @param &lt;type&gt; $config 設定情報。<br>     */<br>    function Open($config) {<br>        if ($config == NULL) {<br>            throw new Exception("Required MySql Setting.");<br>        }<br>        $this-&gt;config = $config;<br>        $this-&gt;con = mysql_connect($config-&gt;server, $config-&gt;user, $config-&gt;pwd);<br>        if (!$this-&gt;con) {<br>            throw new Exception("failed Connect MySql Server.");<br>        }<br>    }<br><br>    /**<br>     * 切断。<br>     */<br>    function Close() {<br>        mysql_close($this-&gt;con);<br>    }<br><br>    /**<br>     * 内部用<br>     */<br>    function _checkConnection() {<br>        if (!$this-&gt;con) {<br>            throw new Exception("Required Connect MySql Server.");<br>        }<br>    }<br><br>    /**<br>     * 内部用<br>     * @param &lt;type&gt; $query<br>     * @return &lt;type&gt;<br>     */<br>    function _query($query) {<br>        $resource = mysql_query($query, $this-&gt;con);<br>        if (!$resource) {<br>            throw new Exception(mysql_error());<br>        }<br>        return $resource;<br>    }<br><br>    /**<br>     * 内部用<br>     * @param &lt;type&gt; $resource<br>     * @param &lt;type&gt; $func<br>     * @return array<br>     */<br>    function _fetch($query, $func) {<br>        $this-&gt;_checkConnection();<br>        $result = array();<br>        $resource = $this-&gt;_query($query);<br>        while ($line = $this-&gt;$func($resource)) {<br>            array_push($result, $line);<br>        }<br>        mysql_free_result($resource);<br>        return $result;<br>    }<br><br>    /**<br>     * 内部用<br>     * @param &lt;type&gt; $resource<br>     * @return &lt;type&gt;<br>     */<br>    function _array($resource) {<br>        return mysql_fetch_row($resource);<br>    }<br><br>    function _single($resource) {<br>        $result = mysql_fetch_row($resource);<br>        return $result[0];<br>    }<br><br>    /**<br>     * 内部用<br>     * @param &lt;type&gt; $resource<br>     * @return &lt;type&gt;<br>     */<br>    function _hash($resource) {<br>        return mysql_fetch_assoc($resource);<br>    }<br><br>    /**<br>     * 結果に二重配列を用いる検索メソッド。<br>     * @param &lt;type&gt; $query クエリ。<br>     * @return &lt;type&gt; 結果。<br>     */<br>    function queryArray($query) {<br>        return $this-&gt;_fetch($query, '_array');<br>    }<br><br>    /**<br>     * 結果にマップの配列を用いる検索メソッド。<br>     * @param &lt;type&gt; $query クエリ。<br>     * @return &lt;type&gt; 結果。<br>     */<br>    function queryHash($query) {<br>        return $this-&gt;_fetch($query, '_hash');<br>    }<br><br>    /**<br>     * 結果のない操作用メソッド。<br>     * @param &lt;type&gt; $query クエリ。<br>     */<br>    function queryVoid($query) {<br>        $this-&gt;_checkConnection();<br>        $resource = $this-&gt;_query($query);<br>    }<br><br>    /**<br>     *テーブル一覧を取得。<br>     * @return &lt;type&gt; テーブル一覧。<br>     */<br>    function getTables() {<br>        return $this-&gt;_fetch("SHOW TABLES FROM " . $this-&gt;config-&gt;user, '_single');<br>    }<br>}<br>?&gt;<br><br>tables.php<br>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br>&lt;html&gt;<br>    &lt;head&gt;<br>        &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;<br>        &lt;title&gt;&lt;/title&gt;<br>    &lt;/head&gt;<br>    &lt;body&gt;<br>        &lt;?php<br>            define("_MAIN_", "1");<br>            include './config.php';<br>            include './mysql.php';<br>            $config = new Config();<br><br>            $mysql = new MySql();<br>            $mysql-&gt;Open($config);<br><br>            try {<br>                print_r($mysql-&gt;getTables());<br>            } catch(Exception $ex) {<br>                print_r($ex);<br>            }<br>            $mysql-&gt;Close();<br>        ?&gt;<br>    &lt;/body&gt;<br>&lt;/html&gt;<br><br>index.phpも同じ感じで修正するの。<br>コードは省略。
]]>
</description>
<link>https://ameblo.jp/risc20100124/entry-10713411052.html</link>
<pubDate>Sun, 21 Nov 2010 05:38:51 +0900</pubDate>
</item>
<item>
<title>環境に依存しないライブラリ</title>
<description>
<![CDATA[ 少しソフト作ってみたいなとか思ったの。<br><br>OpenALは、オーディオ用のライブラリ。<br>OpenGLは、グラフィックス用のライブラリ。<br>OpenCLは、GPU演算用のライブラリ。<br>OpenCVは、C++用の画像処理用のライブラリ。<br><br>OpenMPは、C言語用のマルチスレッドライブラリー。<br>Intel Threading Building Blockは、C++用のマルチスレッドライブラリー。<br><br>
]]>
</description>
<link>https://ameblo.jp/risc20100124/entry-10706529393.html</link>
<pubDate>Sat, 20 Nov 2010 08:56:07 +0900</pubDate>
</item>
<item>
<title>OpenGLで曲線…</title>
<description>
<![CDATA[ 曲線については、NURBS曲線、ベジェ曲線、カーディナル曲線、Bスプライン曲線といろいろあるみたいだけど、多分、取り扱うのは、OpenGLから直接扱えるものだけかな。<br>NURBS曲線とベジェ曲線だけあれば、大抵の物は表現出来るような気がしますしね。<br><br>NURBS曲線・曲面<br><br>レンダーのインスタンスを生成<br>GLUnurbsObj *theNurb = gluNewNurbsRenderer();<br><br>プロパティを設定<br>gluNurbsProperty(theNurb, GLU_SAMPLING_TOLERANCE, 25.0);<br>gluNurbsProperty(theNurb, GLU_DISPLAY_MODE, GLU_FILL);<br><br>曲線なら<br>描画開始<br>gluBeginCurve(NurbsObj);<br><br>描画<br>gluNurbsCurve(NurbsObj, 8, knotVector, 3, CtlPoint,4, GL_MAP1_VERTEX_3);<br><br>描画終了<br>gluEndCurve(NurbsObj);<br><br>曲面なら<br>描画開始<br>gluBeginSurface(theNurb);<br><br>描画<br>gluNurbsSurface(theNurb, 12, knots, 12, knots, 8 * 3, 3, &amp;ctlpoints[0][0][0], 4, 4, GL_MAP2_VERTEX_3);<br><br>描画終了<br>gluEndSurface(theNurb);<br>
]]>
</description>
<link>https://ameblo.jp/risc20100124/entry-10709513027.html</link>
<pubDate>Wed, 17 Nov 2010 06:08:14 +0900</pubDate>
</item>
<item>
<title>OpenGLで直線…</title>
<description>
<![CDATA[ 図形定義開始<br>void glBegin(GLenum  mode)<br>GL_POINTS：点（一点毎に１つの点を描画）<br>GL_LINES：線（二点毎に１つの線を描画）<br>GL_LINE_STRIP：線（終点を次の線の始点として使用）<br>GL_LINE_LOOP：線（上記に加え、最後の線の終点から、最初の線の始点へ線を追加）<br>GL_TRIANGLES：三角形（三点毎に三角形を描画）<br>GL_TRIANGLE_STRIP：三角形<br>GL_TRIANGLE_FAN：三角形<br>GL_QUADS：四角形<br>GL_QUAD_STRIP：四角形<br>GL_POLYGON：多角形（ポリンゴン）<br><br>点の定義<br>void glVertex2s(GLshort x, GLshort y)<br>void glVertex2i(GLint x, GLint y)<br>void glVertex2f(GLfloat x, GLfloat y)<br>void glVertex2d(GLdouble x, GLdouble y)<br>void glVertex3s(GLshort x, GLshort y, GLshort z)<br>void glVertex3i(GLint x, GLint y, GLint z)<br>void glVertex3f(GLfloat x, GLfloat y, GLfloat z)<br>void glVertex3d(GLdouble x, GLdouble y, GLdouble z)<br>void glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w)<br>void glVertex4i(GLint x, GLint y, GLint z, GLint w)<br>void glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)<br>void glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)<br><br>図形定義終了<br>void glEnd(void)<br><br>うーん、直線関連については、結構簡素でこれを組み合わせて使うみたい。<br>
]]>
</description>
<link>https://ameblo.jp/risc20100124/entry-10709513047.html</link>
<pubDate>Wed, 17 Nov 2010 05:09:36 +0900</pubDate>
</item>
<item>
<title>xpressive - boost</title>
<description>
<![CDATA[ boost::xpressiveを使ってみたの <br>正規表現のライブラリね。（ただし、statcだけね　dynamicは、テキストエディッタでも作るときに使う程度じゃないかな？、少なくても、プログ ラムに埋め込む正規表現に使わなきゃいけない理由は思いつかないの。プログラムサイズは小さくなるかもしれないけどね） <br><br><br>ヘッダは以下のうちいずれかをインクルードするらしいよ。<br><br>//一番簡単な方法（staticとdynamicの両方がインクルードされるよ）<br><br>#include <br>//どちらかしか使わない場合は、使う側だけインクルードするのがお勧めなの<br><br>//staticのみの場合<br><br>#include <br>//dynamicのみの場合<br><br>#include <br><br><br>当然、両方インクルードしても問題ないみたい。わざわざ、自分のソースで両方インクルードするのであれば、xpressive.hppを確認して同じ順番でインクルードするのが安全かな。<br><br>内 部で、何をインクルードしているかは、ソースを追うと良いよ。それほど長くないみたいだし。いずれにせよ、これは、ヘッダだけインクルードすれば、使える から便利なの。boostには、これ以外にもregex++という正規表現のライブラリがあるけど、そちらは、それだけじゃダメなので注意するといいかも しれない。 <br>使うクラスは、boost::xpressive空間にあるから、using namespaceを使って描くコードを簡略化することもできるみたい。（ただし、その場合には、少しだけ注意してください。）<br><br><br><br>以下にPerlとの正規表現の比較表があって、それを見れば、簡単にどんな風に書けば分かると思うよ。<br><br><br>http://www.boost.org/doc/libs/1_43_0/doc/html/xpressive/user_s_guide.html<br><br><br><br>ただ、一応サンプル的なものを書いておこかなって思う。<br><br><br><br>//C++の標準ライブラリ<br><br>#include<br>#include<br><br>//boostのライブラリ<br>#include<br><br>using namespace boost::xpressive;<br><br>int main (int argc, char * const argv[]) {<br>   //[0-9]+?a<br>   r1 = !+range('0','9') &gt;&gt; 'a';<br>   //テスト用の文字列<br>   std::string str1 = "1234567890abcdefgh";<br>   <br>   //結果<br>   smatch m1;<br><br>   //検索実行<br>   if(regex_search(str1,m1,r1)){<br>       //見つかったら出力<br>       std::cout &lt;&lt;&gt;str();<br>   }<br><br><br>   return 0;<br>}<br>
]]>
</description>
<link>https://ameblo.jp/risc20100124/entry-10707565527.html</link>
<pubDate>Mon, 15 Nov 2010 04:36:01 +0900</pubDate>
</item>
<item>
<title>MacOS X</title>
<description>
<![CDATA[ ずっと書いてなかったけど、実はMacがメインなのですよー。<br>
]]>
</description>
<link>https://ameblo.jp/risc20100124/entry-10706531556.html</link>
<pubDate>Sun, 14 Nov 2010 06:21:14 +0900</pubDate>
</item>
<item>
<title>オペレーティングシステム</title>
<description>
<![CDATA[ 仮想マシン、リングプロテクションなしなものでも作って見ようかな<br>少し、保留する事になりましたー。
]]>
</description>
<link>https://ameblo.jp/risc20100124/entry-10503792859.html</link>
<pubDate>Sun, 14 Nov 2010 06:13:39 +0900</pubDate>
</item>
<item>
<title>Objective-C</title>
<description>
<![CDATA[ <br>基本的なライブラリの幾つが欠如してるような気がする。<br>拡張子をmm或いはMと変える事でobjective-c++のソースコードがかけるみたいなのです～。<br>少し分かりました。<br>まぁ、c/c++関連のライブラリは多いですからね。
]]>
</description>
<link>https://ameblo.jp/risc20100124/entry-10476742206.html</link>
<pubDate>Sun, 14 Nov 2010 06:13:11 +0900</pubDate>
</item>
<item>
<title>iPadの4つの欠点</title>
<description>
<![CDATA[ ・サイズ<br>私はiPhoneでも少し大きいな<br>そう思いましたから<br><br>・先進性<br>私がiPhoneを買ったとき<br>この製品は確かに先進的な機能があった。<br>だが、この製品にはiPhoneの時のような目新しさは無い<br><br>・バッテリー<br>うーん、これも少し心許ないのですよ<br>マックとは違いマルチタスクをサポートしていないのだから、もう少し頑張って欲しかったかな<br><br>・キーボード<br>外付けのキーボードが接続出来る事をアピールするとは…<br>それ程自信が無いのでしょうか<br>追記&gt;そういえば、iPadは、マルチタスクをサポートしてるみたいですね。そして、iPhoneも、サポートしてるし…。<br>大画面で何かをしたいのなら、未だにオススメするのは、iBookAirですけどね。<br>あっ、決して、アップルの製品が嫌いなわけでは無いですよ。代替品として紹介してるのもアップルの製品ですし♪<br><br>決してiPadが劣った製品であるというつもりはありません<br><br>iPhoneを高解像度にし、そしてバッテリーもより長く連続使用出来るようになった。<br>でも、それだけの事<br><br>iPhoneの時のような大きな変化は無いのでは無いかと思います
]]>
</description>
<link>https://ameblo.jp/risc20100124/entry-10445971696.html</link>
<pubDate>Sun, 14 Nov 2010 06:09:22 +0900</pubDate>
</item>
</channel>
</rss>
