<?xml version="1.0" encoding="utf-8" ?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" 
			xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" 
			xmlns:cc="http://web.resource.org/cc/" xml:lang="ja">
<channel rdf:about="http://ktcsnsndiary.blog114.fc2.com/?xml">
<title>ゐむだうづK.E.</title>
<link>http://ktcsnsndiary.blog114.fc2.com/</link>
<description>高校生の管理人の非日常的な日常をつらつらと書いていくブログ。まったりといきませう。
相互リンク受付中！リンクフリーだよ！</description>
<dc:language>ja</dc:language>
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://ktcsnsndiary.blog114.fc2.com/blog-entry-227.html" />
<rdf:li rdf:resource="http://ktcsnsndiary.blog114.fc2.com/blog-entry-226.html" />
<rdf:li rdf:resource="http://ktcsnsndiary.blog114.fc2.com/blog-entry-225.html" />
<rdf:li rdf:resource="http://ktcsnsndiary.blog114.fc2.com/blog-entry-224.html" />
<rdf:li rdf:resource="http://ktcsnsndiary.blog114.fc2.com/blog-entry-223.html" />
</rdf:Seq>
</items>
</channel>
<item rdf:about="http://ktcsnsndiary.blog114.fc2.com/blog-entry-227.html">
<link>http://ktcsnsndiary.blog114.fc2.com/blog-entry-227.html</link>
<title>ひさしぶりに</title>
<description> なんか凍結されそうなので更新Pythonでのことa = [1,2,3,4,5]を逆順にしたいときa[::-1]とするとa = [5,4,3,2,1]行列の回転a = [[1,2,3],[4,5,6],[7,8,9]]をa = [[7,4,1],[8,5,2],[9,6,3]]としたいときはa = [list(row) for row in zip(*reversed(a))]まぁ技術系の記事はこっちに書きますよ。。。。。。。。。。
 </description>
<content:encoded>
<![CDATA[ なんか凍結されそうなので更新<br /><br />Pythonでのこと<br /><br />a = [1,2,3,4,5]<br /><br />を逆順にしたいとき<br /><br />a[::-1]<br /><br />とすると<br /><br />a = [5,4,3,2,1]<br /><br /><br />行列の回転<br /><br />a = [[1,2,3],[4,5,6],[7,8,9]]<br />を<br />a = [[7,4,1],[8,5,2],[9,6,3]]<br />としたいときは<br />a = [list(row) for row in zip(*reversed(a))]<br /><br />まぁ技術系の記事はこっちに書きますよ。。。。。。。。。。 ]]>
</content:encoded>
<dc:subject>プログラミング</dc:subject>
<dc:date>2009-07-04T23:32:35+09:00</dc:date>
<dc:creator>こたうち　さんさん</dc:creator>
<dc:publisher>FC2-BLOG</dc:publisher>
</item>
<item rdf:about="http://ktcsnsndiary.blog114.fc2.com/blog-entry-226.html">
<link>http://ktcsnsndiary.blog114.fc2.com/blog-entry-226.html</link>
<title>ニコニコ技術部　京都OFF</title>
<description> に参加してまいりましたーつーかーれーたー前日に日本橋ストリートフェスタにも行ったので疲労困憊気味です今回展示したのはC++ Dxlib と Python の連携という感じのプログラムとふきだしめーかーあんまり人はきませんでしたｗおもしろかったですねーフリスクPのようｚ・・・・・もとい娘さんがInnocenceを演奏したり、いろいろとものが多くておもしろかったです。はつねみくがセグウェイにのっている人の実機もあったしーHAXAのロ
 </description>
<content:encoded>
<![CDATA[ に参加してまいりましたー<br /><br />つーかーれーたー<br /><br />前日に日本橋ストリートフェスタにも行ったので疲労困憊気味です<br /><br /><br />今回展示したのは<br /><br />C++ Dxlib と Python の連携<br /><br />という感じのプログラムと<br /><br />ふきだしめーかー<br /><br />あんまり人はきませんでしたｗ<br />おもしろかったですねー<br /><br />フリスクPのようｚ・・・・・もとい娘さんがInnocenceを演奏したり、いろいろとものが多くておもしろかったです。<br /><br />はつねみくがセグウェイにのっている人の実機もあったしーHAXAのロケットもあったしー撮影できますPやらアルテマスターP、尻Pやらが来てて非常に有名Pが多かったですぅー<br /><br />プログラミング・・・・・・・もといソフトウェア単体の展示は私だけーみたいなぐらいですｗ<br /><br /><br />最後のほうで記者の方が、私の作ったプログラムがほしいー！とのことであげましたｗ<br />あれには若干感動してしまいましたね<br />人にプログラムをよろこんでもらってもらえるっていうのはいいものです<br /><br />あとHAXAの超電磁Pの名刺ももらったし♪なんかプログラムでこういう風なソフトできない？みたいなことを聞かれましたー<br /><br />というわけでなんかAPIとかがわかったら作りたいなーと。その辺の情報はIRCかなんかで聞けばいいのかな・・・・・・・・・<br /><br />結構人多かったなーと。130人ぐらいはいたそうです。ｽｹﾞｰ<br /><br /><br />全体的な感想としては、テキトーなソフトを出すんじゃなかったとｗ<br />もうちょい凝ったものを作るべきだったなーと今更反省しています<br /><br />では、今日はこの辺で・・・・・・・・・・ ]]>
</content:encoded>
<dc:subject>プログラミング</dc:subject>
<dc:date>2009-03-21T20:55:45+09:00</dc:date>
<dc:creator>こたうち　さんさん</dc:creator>
<dc:publisher>FC2-BLOG</dc:publisher>
</item>
<item rdf:about="http://ktcsnsndiary.blog114.fc2.com/blog-entry-225.html">
<link>http://ktcsnsndiary.blog114.fc2.com/blog-entry-225.html</link>
<title>JNI プログラミング</title>
<description> はい。ひさびさの更新春休み入りましたなーまぁそんなことはどうでもいいとして備忘録環境：DebianJavaの実行環境等はapt-getしてきたものJNI Java Native Interface を使ったC++コードのコンパイルの仕方C++からJavaを呼び出す場合どうもJavaを使っているひとがC++とかのコードを読み出すことを前提として作られているから扱いにくい扱いにくい。コンパイラを通すだけでも一苦労。動かすのにもう一苦労。というわけで。C++(main.c
 </description>
<content:encoded>
<![CDATA[ はい。ひさびさの更新<br /><br />春休み入りましたなー<br /><br />まぁそんなことはどうでもいいとして備忘録<br /><br />環境：Debian<br />Javaの実行環境等はapt-getしてきたもの<br /><br /><br />JNI Java Native Interface を使ったC++コードのコンパイルの仕方<br /><br />C++からJavaを呼び出す場合<br /><br /><br />どうもJavaを使っているひとがC++とかのコードを読み出すことを前提として作られているから扱いにくい扱いにくい。コンパイラを通すだけでも一苦労。動かすのにもう一苦労。<br /><br /><br />というわけで。<br />C++(main.cpp)からJavaを呼び出す場合、<br /><br />g++ main.cpp<br /><br />というのではダメー<br /><br />で、オプションがいろいろと必要、デフォルトのままであれば、<br /><br />g++ -g main.cpp -I/usr/lib/jvm/java-1.5.0-sun-1.5.0.14/include/linux -I/usr/lib/jvm/java-1.5.0-sun-1.5.0.14/include/ -L/usr/lib/jvm/java-1.5.0-sun-1.5.0.14/jre/lib/i386 -L/usr/lib/jvm/java-1.5.0-sun-1.5.0.14/jre/lib/i386/server -ljava -ljvm -lverify<br /><br />もしくは<br /><br />g++ -g main.cpp -I/usr/lib/jvm/java-1.5.0-sun-1.5.0.14/include/linux -I/usr/lib/jvm/java-1.5.0-sun-1.5.0.14/include/ -L/usr/lib/jvm/java-1.5.0-sun-1.5.0.14/jre/lib/i386 -L/usr/lib/jvm/java-1.5.0-sun-1.5.0.14/jre/lib/i386/client -ljava -ljvm -lverify<br /><br />正直serverとclientの差はわからんが。。。。。。。。。。<br /><br /><br />あーくっそマゾい洒落にならん。ふつーにJNI使ってるひとはWindows環境でVC++の設定ーとか言ってるのは見たのだが、Linux関係がない。<br />コンパイル時のエラーをググると海外の記事しかない。それでいて解決していない。<br /><br />どーせーと<br /><br />で、VC++の設定で、jvm.libにリンクするよ！みたいな記事があったので、必死こいて、/usr/libのなかでlibjvmをさがして、で、それがsoファイルだったからやりかたわかんねEEEEEEEEってなってsoファイルのリンクの仕方調べて。。。。。。。。。。。。<br /><br /><br />ってやっとできた。正直これからプログラム打とうとおもったがする気が起きん。<br /><br />では、今日はこのへんで。。。。。。。。。。。。。 ]]>
</content:encoded>
<dc:subject>プログラミング</dc:subject>
<dc:date>2009-03-03T00:12:45+09:00</dc:date>
<dc:creator>こたうち　さんさん</dc:creator>
<dc:publisher>FC2-BLOG</dc:publisher>
</item>
<item rdf:about="http://ktcsnsndiary.blog114.fc2.com/blog-entry-224.html">
<link>http://ktcsnsndiary.blog114.fc2.com/blog-entry-224.html</link>
<title>Code Reading! P3</title>
<description> はい。誰も見てないCodeReadingです。今日のはコレFreeBSD wc+====内容詳細====+引数に渡されたファイルの-c サイズのみを表示-l 行数のみを表示-w 単語数のみを表示-m マルチバイト文字？の対応-L 一番長い行を表示+====ソース解説====+変数フラグ： do+対象と処理   doline(対象となるもの=line -l)命名規則:   対象となるもの+ct(countの意味) tlinect (temporaly(一時的な)line(行の)ct(countカウンタ))その他の変数templl   t
 </description>
<content:encoded>
<![CDATA[ はい。誰も見てないCodeReadingです。<br /><br />今日のはコレ<br /><br /><a href="http://www.jp.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/usr.bin/wc/wc.c?rev=1.21.2.1&amp;content-type=text/plain" target="_blank" title="FreeBSD wc">FreeBSD wc</a><br /><br />+====内容詳細====+<br /><br />引数に渡されたファイルの<br /><br />-c サイズのみを表示<br />-l 行数のみを表示<br />-w 単語数のみを表示<br />-m マルチバイト文字？の対応<br />-L 一番長い行を表示<br /><br />+====ソース解説====+<br /><br />変数<br />フラグ： do+対象と処理   doline(対象となるもの=line -l)<br /><br />命名規則:   対象となるもの+ct(countの意味) tlinect (temporaly(一時的な)line(行の)ct(countカウンタ))<br /><br />その他の変数<br />templl   temporaly longest line 一時的な一番長い行　その時点で暫定的に一番長い行　みたいな感じ<br />llct longest line count 一番長い行の長さ<br /><br /><br />処理系<br /><br />78～100行目 コマンドのフラグ処理<br /><br />105,106行目 コメントどおりではあるが、コマンドラインオプションが指定されていなかった場合の、処理。行数と単語数と文字数がデフォルトで表示される<br /><br />257 iswspace関数 引数として渡されたワイド文字が"空白的な文字であれば真"を返す。<a href="http://www.bohyoh.com/CandCPP/C/Library/iswspace.html" target="_blank" title="参考">参考</a><br />姉妹品にisspaceとか言う関数もあります。<br /><br /><br />肝はcnt関数 139行目<br /><br />219行目以降 単語のカウント処理<br /><br />さて、注目したポイントですが、<br />ワイド文字の処理・・・・・・といいたいところですが、もともとC言語はワイド文字を主眼として作られていないので、扱いが変態的になっています・・・・・・・・・・そのあたり私は疎いので省くと<br /><br /><br />147行目 buf[MAXBSIZE]<br />175行目 for(p=buf;len--;++p)<br />176行目      if(*p == '\n')<br /><br />と、この辺ですね。c++ではstring型で、getline(string,cin)とかいう感じで、変数に1文が代入されるのですが、C言語では、固定長の文字列しか対応していない。<br /><br />ということはMAXBSIZEを超えた一文がありうる。で、どうするかーってなるんですけど。175行目,176行目のところで、bufに入った文字列を一文字走査して、その文字が'\n'であった場合、行が終わったことを検知しています。<br /><br />なんだ、普通な技術だなーと思うけれども、こんなめんどくさい処理しなきゃならんのか・・・・・・・・・・とか改めて思いました。<br /><br />日本人がC言語でプログラムをするのは向いてない！というと非常に偏った偏見ですが、初心者的にはchar型に日本語をぶち込んで、<br /><br />ｱﾙｪｰ?思い通りにうごかないよー<br /><br />ってなことがあるので、あまり文字列系のプログラミングはしたくありません・・・・・・・・コンパイラ作りたいなーとか考えてたりするけど、そのあたりの文字列を触るのがいやでorz<br /><br />あと、気になった点として、<br /><br />135行目 exit(errors == 0 ? 0 : 1);<br /><br />これって<br /><br />exit(!errors ? 0 : 1);<br /><br />でよくね？前回のコードリーディングの記事とかぶるけども、同じ動きだよな・・・・？<br />!0は真というのを前回話しましたな<br /><br />ソースを書いた人が違う！っていう可能性もあるんですが、<br />122行目 }while(*++argv)<br /><br />って書いてあって、これは!0を理解しているのでは？*++argvはFreeBSDのコードでは定石的なコードで、論理的な理解はあんまりなかったり・・・・・・・？？<br /><br />しろーとが類推してもしゃーないので何も言いませんが。<br /><br /><br />また、ワイド文字のお話になってしまいますが、<br /><br /><a href="http://www.bohyoh.com/CandCPP/C/Library/index.html" target="_blank" title="BohYoh.com 【Ｃ言語講座】標準ライブラリ関数">BohYoh.com 【Ｃ言語講座】標準ライブラリ関数</a><br /><br />とか見ていると、wcatとか一応文字列関数はワイド文字を網羅しているようですね<br />時期C++ C++0x でもこのあたりの統合はされないようです・・・・・・・してくれ頼む。だってそうじゃなかったら使いにくいじゃーん、日本語と英語交じりとかなったらめんどくさいと思うよー<br /><br /><br />+====感想====+<br /><br />最近になってwcというコマンドを知って、記事を書いてみた。<br />やっぱりワイド文字の取り扱いはめんどくさそうですねー；；これはやりたくない；；<br />うん。やっぱり文字列の統合をして欲しいな。うん。<br /><br />ちょーっとずつコードが長くなってきましたね。手ごろなコードが見つかりにくくなってきました(笑)<br />でも、FreeBSDの樹海の中をさまよってきますか・・・・・・・<br /><br />では、今日はこの辺で・・・・・・・・・・ ]]>
</content:encoded>
<dc:subject>Code Reading</dc:subject>
<dc:date>2009-02-07T22:27:04+09:00</dc:date>
<dc:creator>こたうち　さんさん</dc:creator>
<dc:publisher>FC2-BLOG</dc:publisher>
</item>
<item rdf:about="http://ktcsnsndiary.blog114.fc2.com/blog-entry-223.html">
<link>http://ktcsnsndiary.blog114.fc2.com/blog-entry-223.html</link>
<title>Googleがカオスな件</title>
<description> 俺だけ？このサイトはコンピュータに損害を与える可能性があります。ってなんだよｗｗｗｗGoogleも損害与えんのかよｗｗｗｗｗ
 </description>
<content:encoded>
<![CDATA[ <a href="http://blog-imgs-30.fc2.com/k/t/c/ktcsnsndiary/kaosu.png" target="_blank"><img src="http://blog-imgs-30.fc2.com/k/t/c/ktcsnsndiary/kaosus.png" alt="kaosu.png" border="0" /></a><br /><br />俺だけ？<br /><br />このサイトはコンピュータに損害を与える可能性があります。<br /><br />ってなんだよｗｗｗｗGoogleも損害与えんのかよｗｗｗｗｗ ]]>
</content:encoded>
<dc:subject>オタク</dc:subject>
<dc:date>2009-02-01T00:00:36+09:00</dc:date>
<dc:creator>こたうち　さんさん</dc:creator>
<dc:publisher>FC2-BLOG</dc:publisher>
</item>
</rdf:RDF>