AnsibleでRubyをインストールする際にハマった話

環境

  • Vagrant 1.7.2
  • CentOS6
  • ansible 1.8.2

落とし穴

  • AnsibleではTaskごとにシェルが起動されるためsource(1)を使って設定ファイルの読み込みができない。
  • bash(1)-lオプションで設定ファイルを再読み込みさせると良いらしい。
  • しかし、まだ環境変数が変化していない(.bashrcは読み込まれていたが、そのタイミングがわからなかった。また、ではなぜ環境変数が変化しないのかがよくわからない)
  • commandモジュールのenvironment変数で直接環境変数を設定するとうまくいった(PATHでrbenvが見えるようにする。RBENV_ROOTも指定する必要があるらしい。)

playbook

playbookはそのうち

TAG FORCE SPECIAL 図書館エクゾ

TAG FORCE SPECIALをプレイしているのですが、そこそこ安定したDP稼ぎ用のデッキができたのでメモ代わりに記事にしようと思います。ちなみに禁止制限無し。

デッキ (計 40枚)

  • 封印されし者の左足 x 1
  • 封印されし者の左腕 x 1
  • 封印されし者の右足 x 1
  • 封印されし者の右腕 x 1
  • 王立魔法図書館 x3
  • 処刑人-マキュラ x 3
  • 封印されしエクゾディア x 1
  • 暗黒界の取引 x 2
  • 一時休戦 x 3
  • 打ち出の小槌 x 3
  • 苦渋の選択 x 3
  • 強欲で謙虚な壺 x 3
  • 強欲な壺 x 3
  • 天使の施し x 3
  • 貪欲な壺 x 1
  • 成金ゴブリン x 3
  • 無の煉獄 x 3
  • 無謀な欲張り x 3

動かし方

  • 基本は、手札が増えるように魔法を使っていく。罠が使えるならばそちらを優先。
  • 早い段階で、マキュラの効果を発動させる。
  • 出来る限り図書館の召喚を狙う。
  • エクゾパーツはなるべく墓地に落とさない。

パートナーデッキ

  • 破壊耐性モンスター、魔法罠破壊カード、攻撃制限カードの3種類をバランスよく入れておけば良さそう。
  • 除外対策に王宮の鉄壁を入れても良い。

vectorで安全に要素にアクセスする

atを使って、std::vectorの要素数を超えてアクセスしようとすると、std::out_of_range例外が投げられる。

#include <iostream>
#include <vector>
#include <stdexcept>

int main() {
  std::vector<int> vec = {1, 2};
  try {
    std::cout << "vec[0] = " << vec.at(0) << std::endl;
    std::cout << "vec[1] = " << vec.at(1) << std::endl;
    std::cout << "vec[2] = " << vec.at(2) << std::endl;
  } catch (std::out_of_range& ex) {
    std::cout << "out of range" << std::endl;
  }
  return 0;
}
出力
vec[0] = 1
vec[1] = 2
out of range

線形計画法について勉強した

目的関数と制約条件がすべて線型の最適化問題を、線形計画問題と呼ぶ。例えば、
f:id:mihael1213:20140928010136j:plain
のとき、
f:id:mihael1213:20140928011202j:plain
のもとで、
f:id:mihael1213:20140928011139j:plain
を最小化する。(特に、この上記の形を標準形と呼ぶ。)

xの次数が2の場合を考える。xの値が取りうる範囲は、グラフを描くと、多角形になる。このとき、最適なxの値は、多角形の頂点のどれかになる。(一般には、多面体の頂点。)
このxの値が取りうる範囲の頂点を辺を伝って調べていくのがシンプレックス法である。

シンプレックス法については、そのうち書くかもしれません。
練習問題を探しています

参考

論理・集合と位相空間入門の正誤表(自作)

自分なりに正してみたので、間違っていたら教えて下さい。

p
7 ( 5 ) はド・モルガンの公式という. ( 6 ) はド・モルガンの公式という.
8 同様に考えて, A1 ≡ A2がFのとき, B1 ∧ B2もFとなる. ゆえに,A1 ≡ A2のとる値とB1 ∧ B2のとる値とは一致し,A1 ∧ A2 ≡ B1 ∧ B2を得る. 同様に考えて, A1 ∧ A2がFのとき, B1 ∧ B2もFとなる. ゆえに,A1 ∧ A2のとる値とB1 ∧ B2のとる値とは一致し,A1 ∧ A2 ≡ B1 ∧ B2を得る.
32 C ( 2 ) = { ... , -1 , 2 , 4 , ... } C ( 2 ) = { ... , -1 , 2 , 5 , ... }
178 ( 4 ) ( i ) { x ∈ R | x ≠ 0 } ( 4 ) ( i ) { x ∈ R | x > 0 }
73 また(i)よりa より小さな数で また(ii)よりa より小さな数で
75 上界でないからx - ε > aNとなるaNが存在する. 上界でないからx - ε > xNとなるxNが存在する.

Javaのアクセス修飾子

Javaのアクセス修飾子の働きを忘れてたので調べた。

アクセス修飾子自ファイル他ファイル
自クラスサブクラス他クラスサブクラス他クラス
public
protected ×
なし × ×
private × × × ×

exampleA/ExClassAファイル

package exampleA;

public class ExClassA {
  public    String exPublic = "publicアクセスレベル";
  protected String exProtected = "protectedアクセスレベル";
            String exDefault = "無指定アクセスレベル";
  private   String exPrivate = "privateアクセスレベル";
}

exampleB/ExClassBファイル

package exampleB;

import exampleA.*;

public class ExClassB extends ExClassA {  //(1)
  public static void main(String[] args) {
    ExClassA objectA = new ExClassA();  //(2)
    System.out.println(objectA.exPublic);  //(3)
  //System.out.println(objectA.exProtected);  //(4)
  //System.out.println(objectA.exDefault);  //(5)
  //System.out.println(objectA.exPrivate);  //(6)

    ExClassB objectB = new ExClassB();  //(7)
    System.out.println(objectB.exProtected);  //(8)
  }
}

参照