プログラミング
Android SDKなどの開発環境をLinuxにインストールする。 Deprecatedになってしまったコマンドラインツール群 「LinuxでAndroid SDKを使う!」となれば、コマンドでガリガリ開発できるとワクワクしている人もいるだろう。実際私もかなり楽しみにしていた。 し…
neco-ghcを使ってHaskellの自動補完を有効にする。 github.com なお、neco-ghcはneocomplete,deoplete,YCMなどで動く。 インストール Tomlに追加。 <<dein_lazy.toml>> [[plugins]] repo = 'eagletmt/neco-ghc' on_i = 1 あとはdein#install()で完了。 さらに、ghc-modが必要</dein_lazy.toml>…
SourceTreeから乗り換えて、生のGitを使っている中でHunkの取り扱いがわからなかったのでメモ。 Hunkのステージ(部分コミット)は git add -p 基本は「-p」オプションを付ければうまくいく。 ステージングの場合においては、 $ git add -p [file] とすること…
最近プログラムをビルドするのにCmakeを使い始めてみた。 Cmakeでは、軽量な動作で有名なNinja用のファイルを生成できるらしいので試してみる。 Ninjaのインストール 同名のパッケージにご用心 早速入れてみようと、安直に以下のコマンドを実行。 $ sudo apt…
最近、ビルトインのldによるリンクの遅さが気になってきた。 そこで、もっと高速なリンク方法がないか探してみたところ、いくつかの新しいリンカに辿り着いた。 GNU goldよりも2倍早いlld 高速なリンカとしてはGNU goldが割と有名らしいが、それよりも更に高…
STLとかのコンテナが吐き出すイテレータをポインタ代わりに持っとくのはやめましょうねというお話。 コンテナへの非const操作はイテレータを破壊する(可能性がある) 「可能性がある」だから余計厄介だったりする。 テストケースではうまく動いても実環境では…
UML図を書くフリーのツールにはいろいろあるが、テキストコマンドで書けるものの一つに「PlantUML」がある。 テキストベースで書けると何がいいかというと、 保存・編集・移動・再利用が容易である Gitなどのバージョン管理システムとの親和性 などの点が挙…
オブジェクト指向の設計やコーディングについて自分なりに情報を集め始めてからかなり経って、自分なりに手法というものがある程度見えてきた。 ということで、それの実践としてひとつ簡単なゲームを制作してみたいと思う。 概要 今回作るのはよくある美少女…
OpenGLはプラットフォーム独立のライブラリだが、ウィンドウ管理などの面倒は見てくれない。 また、シェーダーを使うのには拡張機能を有効化する必要がある。 ウィンドウ管理や拡張機能の取得はプラットフォームごとに違うので、生のGLを扱うとそれなりに労…
初期設定など ユーザー設定(氏名とメアド) git config --global user.name "Grain" git config --global user.email grain@exout.net –globalによって設定が永続化する。 リポジトリ作成 対象フォルダにて git init コミット関連 ファイルのステージ git add <file></file>…
Makefileはうまく書けばコンパイルが自動化できて楽だが、ソースの登録が面倒くさい。 そこで、シェルスクリプトなどを活用して自動でMakefileを書いてみる。 (autoconfとかを使ってもいいのだけど、小規模なプログラムでいちいちconfigureするのも面倒だし…
バイナリファイルで一旦fwriteした後に前方へfseekして、もう一回fwriteすると上書きされるのか挿入されるのかたまに忘れるのでメモっとく。 結論から言うとfseekしてからfwriteすると元のデータは上書きされる。(まあ当たり前か) 例えば、新規ファイルにつ…