プログラミング

Railsのresourcesが生成するURLがなんだか不自然だよ

DjangoでRESTfullな実装をしたいことがあり、とりあえずRailsのresourcesが生成するURLを真似して実装していました ところが、途中でどうしても綺麗な実装ができない箇所があり、「Django不便だなー」なんて思ったのですが、よく考えるとRailsのresourcesが…

springがLoadErrorで落ちる

概要 spring rspecやspring rakeなどがbundler/setupをロードしようとしてload errorで落ちる。 原因 システムのgemにはbundlerが入っていても、rbenvでインストールしたgemにbundlerが入っていない。 解決方法 $ rbenv exec gem install bundle 参考 cannot…

BitbucketとMagnumCIでCI環境を構築する

技術的なことを書くのは随分とお久しぶりな気がします。競技プログラミングを引退したYuZakuroです。 今回は、お仕事でBitbacketにprivateリポジトリを作って無料のCI環境を整える必要が合ったので、やったことをメモしておこうと思います。 要件 Ruby on Ra…

nginxをインストールしてphpを動かす

やること タイトル通りです。debianにnginxをインストールして、phpが動くまでの設定を行います。 環境 OS: debian jessie サイトのURL: hoge.com ドキュメントルート: /var/www/hoge/html nginxの基本設定 まずはnginxをインストールします。普通にaptから…

testingパッケージをインストールする

パッケージが古い debianのstableパッケージは結構古いものが多い。しかし、新しいバージョンがほしいからといって毎回ソースからビルドすると後々いろいろ面倒なのでやりたくない(ビルド大好きな人はGentooとか使えばいいんじゃないかな) testingパッケー…

型の名前

C++には、typeid演算子という実行時に型情報を取得することが出来る演算子が存在する。 typeid演算子はconst std::type_info&を返す。また、std::type_info::nameで実行時定義の型名を取り出すことが出来る。なお、gcc4.10.0及びclang3.5.0の時点ではマング…

コマンドラインオプションパーサ

とあるゲームに使用する、スクリプトパーサの開発中をC#で行った際、コマンドラインオプションのパースに困ったため調べて見ました。 CUIアプリケーションを開発していると、コマンドラインオプションを取り扱うことは必須です。しかし、その処理を毎回書く…

アセンブリが持つ3つのバージョンの意味

.netで作ったアセンブリは、下の3つのバージョンを持っています。 AssemblyVersion AssemblyFileVersion AssemblyInformationalVersion なぜ3つもバージョンが有るのだろうと思い、調べてみました。 ・AssemblyVersion アセンブリ内に保存され、CLR(つまり.N…

ファイルを入れ子にして表示する

VisualStudioを使っていると、partialクラスを書くときなど、ファイルを入れ子にして表示させたい時があるかもしれません。 フォームアプリではプロジェクトを作成するとForm1.Designer.csがForm1.csの下に表示されていることから、このようなことを考える人…

fcitxで日本語入力

OSをDebianに変えてしばらく経ちましたが、ようやく日本語入力ができるようになりました。 今回は、iBusではなく、Ubuntu14.04日本語Remixでも採用されたfcitxを使用します。 環境 Debian Wheezy 1. まず、im-configをインストールします。もしかしたら最初…

アセンブリからグローバル属性を取得する

スカゼミ内で、アセンブリから著作権情報を抜き出す方法についての質問があったので、調べてみました グローバル属性とは、クラスやメソッドなどの要素に結び付けられていない、アセンブリ全体に適用される属性のことです。 例えば、AssemblyInfo.cs にデフ…

タプルを引数に展開する

結論から言うと、次のようにすればできる >>> def sum(a, b, c): ... return a + b + c ... >>> sum(*(1, 2, 3)) 6 先頭にアスタリスクつけたらいいらしい タプルだけじゃなくて、リストとかセットでもできる >>> sum(*[1, 2, 3]) 6 >>> sum(*{1, 2, 3}) 6 …

OS自作入門 on Linux [day 2]

今回のコード。 https://github.com/zakuro9715-MiaOS-history/day02 二日目は、環境を整えたり、コードを綺麗にしたりします。機能の追加はありません。 基本的には本に書いてあるとおり進めるだけでOKですから、一日目に比べるとずいぶんと楽です。(Makef…

OS自作入門 on Linux [day 1]

今回のコード。 https://github.com/zakuro9715-MiaOS-history/day01 一日目は、とりあえずHello Worldを表示させます。 本ではnaskというNASM-likeなアセンブラを使っていますが、Linuxには当然ないので、gasを使います。 が、しかし、nask(NASM)はインテル…

OS自作入門 on Linux [index]

30日で作るOS自作入門を始めました。 Windowsでやるのが嫌なのと、謎のツールが大量に登場するのが気持ち悪いので、Linuxで開発します。具体的には、 使用OSはUbuntu12.04 64bit naskの代わりにgasを使用 コードはGithubで公開(予定) OSの名前はMiaOSです…