タグ

2012年12月7日のブックマーク (4件)

  • D言語で使えるテンプレートエンジン - Qiita

    D言語 Advent Calendar 2012の7日目の記事です.自分で実装しておきながら日語で紹介した記憶もないので,これを気に現状のテンプレートエンジン周りについて書いておきます. D言語は言語機能としてevalなどを現状提供していないのもあり,テンプレートエンジン界隈は盛んではありません.なので数が少ないです. 今の所存在しているアプローチは以下の4つです logic-lessで値を埋め込むやつ (mustache-d) D言語のコードにしてしまう (diet, 新jade) dmdscriptなど外部の処理系を呼び出す (旧jade) 手で頑張る (web.dなど.そもそもテンプレートエンジンではないが…) 上から見ていきます. mustache-d 俺が書いてるやつです.mustacheはD言語特有のものではなくて,有名なテンプレートフォーマットです.サイトにもたくさんの言語

    D言語で使えるテンプレートエンジン - Qiita
  • ゲーム作る時のGCについて… - Qiita

    しばらくD言語から離れていたのですが、最近D言語熱が再燃してゲームでも作ろうと思っています。 そこでD言語でゲームを作るにあたって気を付ける必要があるGCについて、調べたことを纏めたいと思います。 D言語! D言語! みなさんゲーム作ってますか? D言語はサクサク書けてバグが入りにくく、コンパイル速度が速くて実行速度も速い! ここまで聞くとゲーム開発に最適な言語と言えますね。 しかし、D言語について調べてみて 「えっ、D言語ってGCあるの…。駄目じゃん…」 と思ったC++系なプログラマさんは多いと思います。 なんでGCがあると駄目なのか GCとはガベージコレクション。使われなくなったヒープメモリを自動で回収してくれる便利な機能で、 最近の高級言語やスクリプト言語はだいたい搭載しています。 GCが無い言語は不要なメモリを手動で解放してやらないといけなく、 メモリを解放し忘れるとメモリリークと

    ゲーム作る時のGCについて… - Qiita
    Akaza
    Akaza 2012/12/07
    GCの動作を抑制する方法について
  • 2010からの2年で入った新機能4つの詳細解説 - Qiita

    お題がコンパイラ過去話ということで、私がdmdへのcontributionを始めたのは2010年末頃からですが、その中でも私が直接関わった大きな機能拡張4つを実装面からちょっと詳しく説明してみたいと思います。 inout関数 (2011/10/02) 次のような関数を考えてみる。 int[] arr = [1,2,3]; int[] dropHead(int[] arr) { return arr[1..$]; } dropHeadは受け取った配列の先頭を落としたスライスを返す関数だが、int[]型の配列しか受け取れないのでconst(int)[]やimmutable(int)[]は受け取れない。 1つ目の改良案は

    2010からの2年で入った新機能4つの詳細解説 - Qiita
    Akaza
    Akaza 2012/12/07
  • MySQL上のテーブルデータをPostgreSQL上に移行 - ブログ三郎

    MySQLでデータベース組んでたけどやっぱPostgreSQLにしようってこととかそーないですね。 けどEC-CUBE使ってたらありました。 しかも完全に設定ミスでMySQLのデータベース設定ちゃんとしてなかったからphpMyAdminからエクスポートしてphpPgAdminでインポートするとかっていう方法はムリ…。 もっと言うと作成するテーブルの照合順序を設定してなかったから作られるテーブルの照合順序が「latin1_swedish_ci」になってしまって、システムからは正常に動作してるように見えてたけど実際の中身はぐちゃぐちゃになってた反省してます。。。おかげでphpMyAdminから参照したらマルチバイト文字が化け化けです。 なので既存データのエクスポートとインポートはコマンド叩いてやるはめに。 MySQL上の既存データのエクスポート まずはデータをエクスポートさせる為のディレクトリ

    MySQL上のテーブルデータをPostgreSQL上に移行 - ブログ三郎