過去の経歴について
私はもうツクールもtimidity+も関わる気力が薄れました‥‥
(FLStudio買って以降、今まで集めたサウンドフォントは有効活用しています)
無保証ながら、過去の作品をアップロードしました。
一度作ったからには最後まで保証を尽くさなければならないのですが、もう自分にそのようなことが出来るほどの精神力は備わっていません。
スクリプト素材は競合が激しいので、サポート無しでは使い物にならないと判断して公開を停止していました。勝手な判断はよくないです。
ただし、他人のスクリプトに乗っかったものも多くありますので、その場合は元の作者の表記をしっかりしていただくよう……
http://yaruki0.sakura.ne.jp//program/olds.zip
(FLStudio買って以降、今まで集めたサウンドフォントは有効活用しています)
無保証ながら、過去の作品をアップロードしました。
一度作ったからには最後まで保証を尽くさなければならないのですが、もう自分にそのようなことが出来るほどの精神力は備わっていません。
スクリプト素材は競合が激しいので、サポート無しでは使い物にならないと判断して公開を停止していました。勝手な判断はよくないです。
ただし、他人のスクリプトに乗っかったものも多くありますので、その場合は元の作者の表記をしっかりしていただくよう……
http://yaruki0.sakura.ne.jp//program/olds.zip
LuaD殴り書き
LuaDなるものを発見。ビルドスクリプトを使って一発ビルド出来るようにディレクトリ構造を組み替えたりなんたり。よりビルドしやすく作りたいけど、実際その配布方法が出来るかといえばそうなのかどうか分からず。
とりあえず変数や関数の共有が出来ればあとは必要な所で呼び出して‥‥多少パフォーマンスは落ちるがいじり安さは上がるので、積極的に使いたいところだが、皆は許してくれるのかどうかが心配。
追記はまたの機会にでも。とりあえず関数単位で相互呼び出しが出来ればそれでいいのですが、まず自分がLuaの文法を覚えないとならない。
とりあえず変数や関数の共有が出来ればあとは必要な所で呼び出して‥‥多少パフォーマンスは落ちるがいじり安さは上がるので、積極的に使いたいところだが、皆は許してくれるのかどうかが心配。
追記はまたの機会にでも。とりあえず関数単位で相互呼び出しが出来ればそれでいいのですが、まず自分がLuaの文法を覚えないとならない。
gtkDの使い方 その1
どうせ自分でラッパ作るんだったら同じなので、ここは素直にgtkDを使います。既存ライブラリを使う際の問題はビルドするために必要なソフトウェアが増えることですが、可能ならば自作のビルドスクリプトを使ってもビルド可能なようにしたい……無茶か。
gtkDというのはgtk+のD言語バインディングで、言うまでもないですがgtk+さえ入っていればどこのOSでも動かせます。
同梱のサンプルソースがこんな感じです。
ライブラリを使ったプログラムをビルドする場合は、makefileを書いてもいいですし、D言語で書いたビルドスクリプトで手っ取り早くやってしまった方が相手の環境を考えなくてすむ分楽です。
自作ビルドスクリプトで同梱のHelloWorld.dをビルドする場合、スクリプトの中身はこうなります。
まあ、私のビルドスクリプトなんて私しか使わないでしょうけど。
あとビルドスクリプトにバグ見つけちゃったし‥‥
gtkDというのはgtk+のD言語バインディングで、言うまでもないですがgtk+さえ入っていればどこのOSでも動かせます。
同梱のサンプルソースがこんな感じです。
/*
* This file is part of gtkD.
*
* gtkD is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* gtkD is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with gtkD; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
module gtk.HelloWorld;
private import gtk.MainWindow;
private import gtk.Label;
private import gtk.Main;
class HelloWorld : MainWindow
{
this()
{
super("GtkD");
setBorderWidth(10);
add(new Label("Hello World"));
showAll();
}
}
void main(string[] args)
{
Main.init(args);
new HelloWorld();
Main.run();
}
ライブラリを使ったプログラムをビルドする場合は、makefileを書いてもいいですし、D言語で書いたビルドスクリプトで手っ取り早くやってしまった方が相手の環境を考えなくてすむ分楽です。
自作ビルドスクリプトで同梱のHelloWorld.dをビルドする場合、スクリプトの中身はこうなります。
all_section:
include:
type:
execute
target:
HelloWorld
debugopt:
-I -D -H -unittest -wi
releaseopt:
-I -D -H -O -release -inline
sources:
HelloWorld
libraries:
DD-atk DD-cairo DD-gdk DD-gdkpixbuf DD-gio DD-glib DD-gobject DD-gthread DD-gtk DD-gtkc DD-pango
まあ、私のビルドスクリプトなんて私しか使わないでしょうけど。
あとビルドスクリプトにバグ見つけちゃったし‥‥
1年が終わる
結局何もやってなかった.
死なない.
skypeやtwitterやってから精神状態がより悪くなっている気がする.
これを乗り越えないと成長は出来る気がしない.
死なない.
skypeやtwitterやってから精神状態がより悪くなっている気がする.
これを乗り越えないと成長は出来る気がしない.
テンプレートをちょっと学んでみた
今更だけど,テンプレートの使い方に関して勉強してみた.いつもながら人に読ませるような書き方はしていないため,そのあたりはご了承願いたい.
・汎用的な処理の実装
本来テンプレートが実装された理由.型に依らない関数やオブジェクトを定義するために使われる.
・メタプログラミング
D言語ではメタプログラミングを行うことを前提とした言語仕様が作られているので,比較的安全に行える.比較的.
テンプレートメタプログラミングとは,テンプレートがコード上に展開されることを利用したプログラミングである.基本的には,コンパイル時の展開処理を活用したプログラミングである.
もっと簡単に言えばコンパイル時に出来る処理はコンパイル時にしておくということである.それによってしか書けないプログラムというものは全く存在しないが,それが最適化のお供となることはよくあると思われる.
ただ,どうにもテンプレートメタプログラミングで何が出来るかというのは奥が深く,理解するのにまだまだ経験が必要だと思われる箇所が多い.
テンプレートの展開によって,式からそのまま定数を作ることが可能になる場合もある.特にsizeofもコンパイル時に決定される要素であるため,展開処理によって扱うことが容易である.いいねこれ.
テンプレートを扱いこなすには,まだまだ勉強が必要っぽい.タプルとかも絡んできそうだし,実際に使う場合はどのようにコードを書き換えれば効果的であるかも理解せねばならないし.
それを活用しながらも読みやすくて弄りやすいプログラムを書けるようになるかも問題ですし,展開後にどのようなコードとなるかをしっかりと理解出来なければ意味がありません.誰か教えて,マジで.
・汎用的な処理の実装
本来テンプレートが実装された理由.型に依らない関数やオブジェクトを定義するために使われる.
・メタプログラミング
D言語ではメタプログラミングを行うことを前提とした言語仕様が作られているので,比較的安全に行える.比較的.
テンプレートメタプログラミングとは,テンプレートがコード上に展開されることを利用したプログラミングである.基本的には,コンパイル時の展開処理を活用したプログラミングである.
もっと簡単に言えばコンパイル時に出来る処理はコンパイル時にしておくということである.それによってしか書けないプログラムというものは全く存在しないが,それが最適化のお供となることはよくあると思われる.
ただ,どうにもテンプレートメタプログラミングで何が出来るかというのは奥が深く,理解するのにまだまだ経験が必要だと思われる箇所が多い.
テンプレートの展開によって,式からそのまま定数を作ることが可能になる場合もある.特にsizeofもコンパイル時に決定される要素であるため,展開処理によって扱うことが容易である.いいねこれ.
テンプレートを扱いこなすには,まだまだ勉強が必要っぽい.タプルとかも絡んできそうだし,実際に使う場合はどのようにコードを書き換えれば効果的であるかも理解せねばならないし.
それを活用しながらも読みやすくて弄りやすいプログラムを書けるようになるかも問題ですし,展開後にどのようなコードとなるかをしっかりと理解出来なければ意味がありません.誰か教えて,マジで.


