AWS EC2 tiny系インスタンスはCPU作業に向かない

タイトルの通りですが、初めて知ったことがあったのでメモ。

一番値段の安いt2.microでスクリプトを動かしてデータ処理を行っていたのですが、どうもスクリプトの動かし始めと、しばらく動いた後で処理スピードに大きな差が出ていました。

具体的に言うと、最初は秒間3件程度のデータを処理できていたのに、途中からは同程度のデータ処理に1件あたり10秒かかるほどの変化です。

web検索で調べたところ、tiny系のインスタンスは高負荷でCPUを長く使用していると、使えるCPUリソースに制限がかけられるようです。
t2.microなんてもともとしょぼいスペックな上に制限かけられるのでなかなか辛い・・・
制限かけられるのがいやならもっと高性能のインスタンスタイプを使用しろ、ということなんでしょうね。

参考

http://blog.a4works.co.jp/archives/937
EC2:microインスタンスのCPUがへぼいというお話 - アルパカDiary Pro

ブラサバ(BlackSurvival) 全投げ武器評価

(初投稿 2017/9/21) (最終更新 2017/9/27)

ブラサバ攻略記事です。
wikipediaより詳しい!

全投げ武器の評価をしました。

アドリアナ、ウィリアム、アレックス、シセラ、カミロ、バニロ、ザヒル、レオン、ロサリオを使う方は参考にしてみてください。


全投げ武器評価

全武器といいつつ、最終武器候補だけね。

※総合評価は主観による5段階評価です。
 ★存在意義不明
 ★★覚えなくていい
 ★★★覚えておくと役に立つかも
 ★★★★レシピ暗記したいレベル
 ★★★★★おすすめ
※必要なレア素材の①とは、生命の木、クリスタルのいずれかを指します。
※必要なレア素材の②とは、聖なる血、魔精石のいずれかを指します。

名前 総合評価 威力 弾数 合成素材数 必要なレア素材 備考
滿天花 ★★ 200 1 13 ロマン
氷塊銀針 100 1 8 どうせなら滿天まで育てよう
スダルサナ ★★★ 75 40 7 ②② 作るのは手間。生体ナノアームズを奪えるチャンスがあれば見逃すな
毒針 ★★ 56 4 5 弾数不足
処刑者・Dの斧 ★★★★★ 51 17 6 スキルで弾数補充可能。一番人気の投げ武器
ルチニウムの玉 ★★ 50 44 7 作るのは手間
高爆手榴弾 ★★★ 50 20 7 榴弾ならトンネルだけで作れる
ダビデのスリング ★★★ 50 39 3 ①② 素材数は少ないが高難易度
ブラッディチャクラム ★★★★ 46 50 4 風魔手裏剣使いは覚えておこう
風魔手裏剣 ★★★★ 46 28 5 ホテルだけで作れる。二番人気の投げ武器
アストラベ ★★★★★ 44 60 8 弾数多くて安心。個人的におすすめ
青色の短刀 ★★★ 44 25 6 強くはないが序盤を長く教会で過ごすなら選択肢として覚えたい
法輪 ★★★★ 41 26 4 スキルが強い
焼夷弾 48 1 3 弾数不足
強化ブーメラン ★★ 39 1 4 複数回使えるが5%で紛失
スパイクスーパーボール 39 12 5
テレビジョン ★★ 40 1 1 合成不要!序盤にぶん投げてビビらせよう

ピックアップ評価

いくつかの特筆すべき武器について追記します。

処刑者・Dの斧

説明

一番人気になっているその理由は高い火力と、弾数を補ってくれる効果です。
素材が全て拾いやすいアイテムであり安定して作れる点も嬉しいですね。

《効果:敵を倒した場合13個をランダム獲得》

レシピ
  • 処刑者・Dの斧
    • トマホーク
      • ハチェット
    • モーター
      • 鋼鉄
        • 鉄鉱石
        • 屑鉄
      • 電子部品
        • 鉄糸
        • バッテリー

アストラベ

説明

個人的オススメ武器です。
火力は標準レベルですが、弾数が多いのが魅力。
他の投げ武器がだいたい30発弱なのに対して、アストラベは60発です。武器が完成してしまえばサブ武器の心配は無用になります。
短所としては素材数が多いところで8個の素材が必要になり、熟練度競争のスタートダッシュに遅れやすいです。
とはいえ、拾いにくいアイテムはないので敵がいる地区を避けつつさっさと集めてしまいましょう。

レシピ
  • アストラベ
    • ピラム
      • シャベリン
        • 槍の柄
          • ピアノ線
        • 投擲用の短刀
      • 短槍
    • ソニックスクリュー
        • 屑鉄
      • 電子部品
        • 鉄糸
        • バッテリー

法輪

説明

法輪は数値上の攻撃力はパッとしないのですが、効果によって火力がブーストされる武器です。 相手のスタミナ量が多ければ多いほど効果的です。

短所としては素材の仏経が配置数が少ない上に競合が発生しやすい寺なところ。
最序盤の殴り合いに強くて敵がいても居座れるシセラで特におすすめの武器です。

《効果:相手の現在スタミナを8%減らし、同じ量のスキル被害を与える》

レシピ
  • 法輪
    • 仏経
    • チャクラム
    • 標槍
      • 剃刀
      • カッター
    • CD

風魔手裏剣

説明

上述していますが、全ての素材がホテルで収集可能な初心者でも覚えやすいレシピなのが長所です。
短所としては投げ武器に共通してるポイントですが、弾数があまり多くなく、終盤まで生き残るならばもう一度なんらかの武器を作成するか奪うかする必要があるところ。
もちろん、合成前の標槍を利用して風魔手裏剣を二回作るのでも構いません。

レシピ
  • 風魔手裏剣
    • 標槍
      • 剃刀
      • カッター
    • 双刀
      • 切れ味のいい包丁
        • 砥石
        • 包丁
      • 包丁

テレビジョン

説明

攻撃力はそれなりにあるものの弾数が1発であることから武器としては弱いです。
しかし、テレビジョンは投げ武器としてよりも、ハッキングの道具として需要があります。 対戦相手にJPが居るときには積極的に拾っておき、嬉々として投げつけてやりましょう。

レシピ
  • テレビジョン

ブラサバ攻略 初心者必読の3点TIPS

今回は勉強ではなくゲームの話です。

みなさんはBlackServival通称ブラサバをご存知でしょうか?

スマホアプリで、1回の試合に10人まで参加できて島の各所を巡りながら武器・防具・回復アイテムを集めたり合成したりしつつ、"最後の一人"になるゲームです。
ちょっと昔からネットやってる人には15年くらい前に流行ってたCGIバトロワに似てるゲームと言えば想像がつきやすかと思います。

私もまだまだ始めたばかりで初心者なのですが、いくつかコツみたいなものが分かってきたので書き留めておきます。

ちなみに持ちキャラはウィリアムで、ウィリアムを使う中で覚えたことを書くので必ずしも他のキャラでも同じことが言えるとは限りませんし、そもそも初心者のメモなので最善のことを書いてるとも保証しません。
むしろ私へのアドバイスとかあったらコメント頂けると助かります!

人体の70%は水でできている!

探索地域によっては水は大量に手に入りますよね。
このお水、そのまま飲んでもそれなりに役立つんですが、実は他のアイテムと合成することで、お手軽により強いスタミナ・体力回復アイテムに変化します!

ある程度の水は確保しておいて、対応した素材を拾った時にいつでも合成できるようにしておくといいですね。
水をそのまま飲むのは余程スタミナが底を尽きそうな時か、水が余って邪魔になりそうな時くらいにしておいた方がいいかもしれません。

スタミナ回復レシピ

水(スタミナ10)×3+ペットボトル=1.5Lの水筒(スタミナ33)×3
 ⇒スタミナ69のお得!
水(スタミナ10)×3+アルコール=焼酎(スタミナ44)×2
 ⇒スタミナ54のお得!
水(スタミナ10)×3+グラス=水が半分入ったコップ(スタミナ37)×2
 ⇒スタミナ44のお得!
水(スタミナ10)×3+はちみつ(スタミナ22)=蜂蜜水(スタミナ42)×2
 ⇒スタミナ32のお得!

体力回復レシピ

水(スタミナ10)×3+聖杯=聖水(体力101)

十字架は教会で活きる!

十字架を普段あまり意識しない方もいるんじゃないでしょうか?
教会でしか拾えないので、教会を回らないプレイする人にとっては存在感薄いかもしれませんね。

この十字架、実は教会で拾える他のアイテムとの合成に便利なんです。
教会を探索するだけで合成素材が揃うというのは分かりやすく、色々複雑なことを覚えるのはつらいという初心者におすすめです。

汎用的におすすめレシピ

十字架+聖杯=ゴルゴーダの十字架(装具8)
 ⇒ゴルゴーダの十字架には【制作で獲得する熟練度+1】という効果がついています。なるべく最序盤で入手したいアイテムです。
十字架+司祭服(服5)=ハイショップの服(服12)

投げキャラにおすすめレシピ

十字架+投擲用の短刀(投げ12)=黒剣(投げ34)
 ⇒最短2回だけの探索で作れる攻撃力34の武器。強いです。序盤を制することができます。

砥石は調理器具である!

初めて砥石を入手した時には心躍りました。
きっと武器を強化してくれたり、壊れた時に直してくれる超便利なアイテムなんだろう!と・・・

斬り武器の強化しかできないのかよ!
斬りキャラ使わねえからいらねえよ!

ってことでしばらく出番のないゴミアイテム扱いしていたのですが、実は砥石は調理器具だということに気づきました。

砥石+ライター=熱せられた砥石 熱せられた砥石×2+サツマイモ(体力5)=焼き芋(体力70)×4
 ⇒サツマイモをそのまま食べるより体力270のお得!
熱せられた砥石×2+ジャガイモ(体力10)=焼きポテト(体力120)×2
 ⇒ジャガイモをそのまま食べるより体力220のお得!
熱せられた砥石×2+マグロ(体力10)=マグロのたたき(体力120)×2
 ⇒マグロをそのまま食べるより体力220のお得!
熱せられた砥石×2+鮎(投げ6)=焼き鮎(体力75)×2
 ⇒鮎をそのまま・・・は食べられない!体力150のお得!
熱せられた砥石×2+ドジョウ(投げ6)=ドジョウの蒲焼(体力50)×3
 ⇒ドジョウをそのまま・・・は食べられない!体力150のお得!

砥石+包丁=切れ味のいい包丁 切れ味のいい包丁+マグロ(体力10)=マグロの刺身(体力70)×6
 ⇒マグロをそのまま食べるより体力410のお得!!!

とりあえず今日のところは以上!

ansibleのOSS活動に加わりたい

思い立った背景

さて、今月からエンジニア職ではなくなった訳ですが、元エンジニアとしてITを強みにすることはやめたくありませんので何か趣味でエンジニアらしいことを続けたいなーと思っていたのですが、ついでに成果として社内外にアピールできるようなものだともっと嬉しいわけで、なんらかのOSS活動に参加してみたいなあと前から思っていました。

ただ、OSS活動とは言っても活動内容は色々ありますが、ドキュメント整備とかバグ報告活動には興味がないし、だいたいエンジニアとしての力をアピールできる部分化というと微妙。
ということで、コード提供やバグ修正でのOSS活動をしたいなあと考えました。

そこで目を付けたのはansibleです。
ansibleを選んだ理由は大きく3つ。

  • Pythonで書かれている。(私がPython好きなので・・・)
  • 有名なOSSである。(アピールにも使いたいので、ネームバリュー必要です)
  • 使用経験がある。(全く知らないツールよりも学習コストが低く済むと想定)

これからやらなければいけないこと

  • コントリビュートルールを確認する
  • コーディングルールを確認する
  • (バグ修正で貢献する場合、)バグ一覧の場所を確認する(存在するらしい)

転職活動をしました。

はじめに

最近仕事をしながらこそこそと転職活動をしてました。
やっとのこと入社したいと思える企業から内定を頂けて、会社の上司にも転職する旨を伝えたので、今後転職活動をする方の参考になればと、情報を残しておこうかなと思います。

動き始めたのは今年の4月頭。
ハイクラス層向け転職サイトを謳っているビズリーチに登録をしました。
このサイトに登録した理由はずばり"高給が欲しかった"から。
ちなみに、この記事の公開日は8月ですが、5月末には転職が決定していたので約2ヶ月間の転職活動でした。

現職での私の給与は年収450万ほどなのですが、目標額を600万に定めていました。

転職理由について

転職理由についてはポジティブな理由とネガティブな理由の両方があります。

まず、ネガティブな方の理由ですが、現職の会社(つまり転職前の会社)は総勢40万人の社員がいるグループ会社の中の一社でした。
そして、グループ会社の中でも頂点ではない会社です。つまり、親会社が存在します。
すると、親会社からの出向や、親会社を退職&現職の会社で再雇用という形の、つまりは天下り的な社員によって管理職のポストがほとんど埋められています。

それによって、普通に現職の会社に入社して管理職になるのが難しいのと、現職の会社に入社した多くの社員が管理職の手前で止まることによる等級ピラミッドの停滞から、私の世代では1つ等級を上げるだけでもかなり難しい環境になっていました。
もちろんそれでも頑張っていけば少しずつ等級を上げていくことは可能だと思いますが、現職の会社に拘るよりももっと昇格しやすい会社で努力した方が効率的だと感じました。

次にポジティブな理由ですが、現職ではできない業務を行いたくなったからです。 具体的には、現職では主にIT技術の調査や試作開発・検討を行っており、数年~数十年後に世の中に送り出す技術を作っていく業務を行っていました。
しかし、社内でたまたま新規ソリューション創出の活動を行わせて頂いている中で、IT技術を作るよりもIT技術を活用した課題解決を行いたいと考えるようになりました。
そのため、転職先の企業としては事業会社の社内SEか、ITコンサルを目指して活動を行いました。

上記の文章だと社内の新規ソリューション創出の活動を継続すればよかったんじゃないかと思われるかもしれませんが、そこは察して下さい。
ほとんど稼働を割かせて貰えないとか、チームメンバーがトップからの指示で任命されてるからやる気があまりないとか、色々あったんです。

転職エージェントについて

その後、サイト上でメッセージを頂いた3社の転職エージェントさんにお会いしました。

3社さんの中で私が一番お世話になったのはプリセプトさんです。
初めて会いに行く直前にネットで調べたら『ろくな会社を紹介してくれない』『サイト上のメッセージに書かれている会社名は釣り』『受けたくない会社まで無理矢理エントリーさせようとしてくる』といろいろと「ゲゲッ!」と思うような記述が見つかりましたが、まあ実際会ってダメだと思ったらやめればいいだけだし、既にアポ取ってしまっていたのでお会いしました。

結果としてはネット評判として上に書いた3つはどれも当てはまらず、超有名企業含め複数の企業をご紹介頂きました。
紹介してくれなかったという書き込みをした人は単に経歴が有名企業を紹介してもらう為の基準に到達してなかっただけじゃないかなー、と。

まあ、だからといって不満なかった訳ではなく何回かイライラする場面はありました。
折角なのでプリセプトさんの良かった点と悪かった点を両方書いておきましょう。

  • 良かった点

    • コンサルがどんなものかも分からずにコンサルを志望していた私にコンサルの仕事について説明してくれた。
    • コンサルタントの人が複数人出てきて面接対策をしてくれた。
      • コンサル業界の面接で受けが良い言葉遣い・表現方法
        • 企業が望むのは利益向上。その為には収入を増やすこととコストを減らすことが重要
        • as is, to be のギャップ分析
    • 分からないことを質問すると何でもかなり丁寧に答えてくれた。
      • コンサルとSIerと社内SEの違い
      • 各企業の特徴
  • 悪かった点

    • 私に何も連絡がなく担当者が変わっていたり、
    • 企業のwebテストを受けるようにっていう連絡だけくれてwebテストのパスワード連絡してくれなかったり、
    • 22時とか23時に普通に電話かけてきたり、(まあこれは悪い面ばかりではないですが)
    • 5分だけお話させて下さいから始まる電話が1時間続いたり、
    • 外資AC社のコンサルを志望してるって伝えたのにAC社のエンジニアでエントリーされてたり、
    • 士気を下げないように気を使ってくれてるのか知らないけど絶対落ちてるような面接でも不合格の通知が来ずに結果待ちの状態から移行しな かったり、(だから私、1社も落ちてないことになってますw採用プロセスが止まってるだけw)

選考を受けた会社について

どういう会社の選考を受けて、
どのような選考が行われて、
どの程度まで合格し、
どの会社に入社するのか

を書こうと思ったのですが、それぞれの社の選考内容とか書いていいものかどうか分からない(選考書類の記述内容忘れた)ので、抽象的に書きます。

上の方でも少しだけ書きましたが、事業会社の社内SEとITコンサルを志望して転職活動を行いました。 ただし、それぞれ条件があって、
社内SEの場合、トップオーダーの仕事をするだけじゃない業務ができる会社。つまり、社内SEの立場から社で様々な目的に対してどのようなシステムを導入すべきかを企画段階から行える会社に絞っていました。
ITコンサルの場合、自社製品を持っていないこと、または、ある製品を導入することに強いこだわりを持っていないこと。
導入する製品が決まっていて、それに向かってお客を誘導するような仕事はしたくないと考えていました。

で、何社か受けて、幸せなことに何社か内定を頂くことができました。
ちょっと自慢になりますが、コンサル業界(というか会計監査業界で)BIG4と呼ばれる会社の中の1社からも内定を頂けました。

そして、結論としてはやりたいことがやれそうで、かつ、最も条件がよい会社として、あまり有名ではない日系の総合系コンサル企業に転職することとなりました。

今後について

総合系コンサルに転職はするのですが、やはり私のバックボーンとして強みにできるのはITですし、転職理由からしてもITコンサルをメインで手がけていきたいと考えています。

また、今の時代はITの進化が目まぐるしく、少し勉強を怠っていると時代に置いていかれてITを武器として使うことができなくなってしまうと考えています。

ですので、今後もIT技術の勉強は継続し、それを私の強みとして、新しい職に活かしていきたいと考えています。

次の会社への入社は来月になります。
期待もありますが、未経験の職種に対する不安も大きいです。
この転職が私の人生に対してよいものになることを期待しています。

go言語のコマンドライン引数

go言語で書いたプログラムでコマンドライン引数を利用するにはos.Argsを使用する方法と、flag.Args()を使用する方法がある。
前者のosパッケージの方は引数を単純にスペースで分割して受け取ってリストで返すようである。
一方、後者のflagパッケージの方はハイフンでのオプション指定をされた引数を受け取ったり、-hでヘルプ画面を出せるようになる。

osパッケージ

package main

import (
        "fmt"
        "os"
)

func main() {
        fmt.Println(os.Args)
}
$ go run os.go 1 a bu 3
[/tmp/go-build468017920/command-line-arguments/_obj/exe/os 1 a bu 3]

flagパッケージ

package main

import (
  "flag"
  "fmt"
)

var (
  intOpt  = flag.Int("i", 1234, "help message for i option")
  boolOpt = flag.Bool("b", false, "help message for b option")
  strOpt  = flag.String("s", "default", "help message for s option")
)

func main() {
  flag.Parse()
  fmt.Println(flag.Args())
  fmt.Println(*intOpt)
  fmt.Println(*boolOpt)
  fmt.Println(*strOpt)
}
$ go run flag.go -i 444 aaaa iu
[aaaa iu]
444
false
default
$ go run flag.go -h
Usage of /tmp/go-build959953608/command-line-arguments/_obj/exe/flag:
  -b    help message for b option
  -i int
        help message for i option (default 1234)
  -s string
        help message for s option (default "default")
exit status 2
参考

matope.hatenablog.com

Gitよく使うコマンド

またしても自分用のメモを主目的によく使うコマンドをメモしておく。

git init

リポジトリ新規作成
既にリモートのどっかにあるリポジトリを使いたい場合は git clone を使う

git clone

リモートにあるリポジトリをローカルにクローン

git config

git config user.name <gitのID>
git config user.email <gitに登録してあるメールアドレス>

git remote add

git remote add github https://:@github.com/kurakado/my_emacs_initel_for_go.git

git push

git branch

git branch
リモートも見たい時は
git branch -a

git checkout

リモートブランチをローカルに持って来たいときは
git checkout -b