C++11のささやかなネタコード
C++11 では initializer_list が実装されたのでこんなことができます
data.txt
{
{
{1, 3},
{5, 8}
},
{
{3, 8},
{1, 0},
{8, 8}
}
}
main.cpp
#include <iostream>
#include <utility>
#include <vector>
using namespace std;
vector<vector<pair<int, int>>> dataset
#include "data.txt"
;
int main(){}
展開結果↓
http://melpon.org/wandbox/permlink/oh88hZW9pc6Rpe9z
int arr[] = {
#include "a.csv"
};
を思い出しますね
サーバに Alminium をインストールした
動機
- 色々がんばって構築したサーバを些細なミスから環境壊してしまった.
- もう一度設定するのめんどい
- Alminium(https://github.com/alminium/alminium)がその辺やってくれるらしい
- まっさら環境じゃないと入れにくいらしい
- ちょうどサーバまっさらにしたし入れてみよう
入れる
- さくらVPSでCentOSインストール直後の状態
- https://github.com/alminium/alminium に書いてる通りに入れた.Jenkinsも入れた.
- 30分くらいで入った
カスタマイズというか追加というか
- バックアップのために Mondo Rescue - GPL disaster recovery solution 入れた.
- 自動設定された iptables の設定を変えた
- SSL 証明書は StarSSL で持ってたので Apache の設定から証明書を変えた.
- Redmineに Overview - Extended Fields - Andriy Lesyuk site 入れた.
- Redmineに Redmine Plugin: add link to overall activities page 入れた.
- Redmineに martin-denizet/redmine_login_audit · GitHub 入れた.
- Jenkinsに Doxygen プラグイン入れた.
- サーバのホスト名変えた.
- サーバのsshの設定変えた.
- 色々Redmine内でログイン必須にしたり設定した
- 色々Jenkins内で権限とか設定した
- メールの設定はされてなかったので config.yml 作って設定した
- VSプロジェクトビルドのためにWindowsのスレーブをJenkinsに追加した
- 他にも何かしたかもしれない
すごいとおもったとこ
- JenkinsとかSVNのリポジトリへのアクセスがRedmineのアカウントと共有できてる,すごい!
- プラグインのおかげでRedmineからサーバ内にリポジトリ作成出来る,すごい!
- Github風テーマでオシャレっぽい!
- プラグインいくつか勝手に入れててくれて便利っぽい!バックログとかよくわからんけど
- まぁとにかく時間かければ自分でも出来るけどちゃんと色々自動化されててパッと構築できて楽に出来て良い!
ちょっと気になってるとこ
- Jenkinsでビルド中にRedmineからHudson画面に行く→活動→Hudsonとするとサーバエラーになる.
- アカウント認証の共有本気でやるなら LDAP 自分で設定した方が良さそう?
Redmine SCM プラグインのおかげでサーバ内にリポジトリ作れるのは良いんだけど,副作用なのかリモートのリポジトリをRedmineで設定出来ない……*1
つまり
すごいべんり
i686-w64-mingw32 のコンパイル済みバイナリ入れたら一発で動いた
さくらVPSのcentos に i686-w64-mingw32 が……入れられない
http://kanedaq.blog24.fc2.com/blog-entry-10.html
ここを参考にして gcc-4.8.2 をビルドしてみたが,手順5の途中で
checking for wchar.h... (cached) yes
checking for wctype.h... (cached) yes
checking for ld version... 22300
checking for ld that supports -Wl,--gc-sections... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
make[1]: *** [configure-target-libstdc++-v3] エラー 1
make[1]: ディレクトリ `/tmp/gcc-4.8.2/build' から出ます
make: *** [all] エラー 2
となって進めない.
うーーーーーーーーん
Lua で Boost::Lambda っぽいの
http://melpon.org/wandbox/permlink/LNbdDxlbAE4nkdrP
Lambda もなにも,Lua は最初から関数がファーストクラスオブジェクトでクロージャもあるから直接その場にfunction
と書けば済むのだが……
とても単純なWebサービスを一時間で作った
作ったもの
http://md.nyaocat.jp/?url=(マークダウンファイルのURL)
これでMarkdownファイルをhtmlに変換して表示してくれる. あまりセキュリティ考えてないので悪いところがあったら教えてください.
ソースコード
実質1ファイルのみで非常に単純.
工程
- お名前.com のレコード設定で md.nyaocat.jp を設定した
- Github にリポジトリを作った
- サーバでCloneしてコード書き始める(コミット履歴)
- Twitter にURL載せてみる
- 指摘してくれたアカンところをちょいと修正
反省点
この程度のものも作ってみると1時間かかってしまうんだな,ということがわかりました.
エラーチェックやレコード設定,Github にリポジトリ作る部分が本質的な部分じゃないのに複数の サイトにアクセスして設定する必要があって面倒でした.
あと,Javascript よくわかってなくて Javascript で正規表現使う方法とか調べながら書いてたのが良くありませんでした.
これの今後
- サーバ側でなくクライアント側で変換させる
- CSS 自分で用意する
- 見出しをピックアップして目次メニューつけたりすると良いかも
- 第一レベルの見出しごとにプレゼンテーションになるようにすると便利かも