読者です 読者をやめる 読者になる 読者になる

ぶろぐめんどくさい

技術系の記事と漫画レビューが入り混じった混沌

Bash on Ubuntu on WindowsでRails覚書

railsの導入で引っかかったところをまとめる。

参考

ここ->http://qiita.com/chimame/items/8130aa2c07a152a865b1を参考にrailsを導入。

サーバ起動時にエラーが発生

$ bundle exec rails s
=> Booting Puma
=> Rails 5.1.0 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
Exiting
/home/user/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rb-inotify-0.9.8/lib/rb-inotify/watcher.rb:74:in `initialize': Invalid argument - Failed to watch "/mnt/c/Users/furik/Dropbox/work/rails/taskapp/config/locales": the given event mask contains no legal events; or fd is not an inotify file descriptor. (Errno::EINVAL)

bashはfile_watcherに対応していない->file_watcherを無効化。

config/environments/development.rb
- config.file_watcher = ActiveSupport::EventedFileUpdateChecker
+ #config.file_watcher = ActiveSupport::EventedFileUpdateChecker

Don’t know how to build task ‘rails’ (see –tasks)

参考 stackoverflow.com

bundle install --binstubsを実行

ルーティング

config/routes.rb

+ resources :projects
+ root 'projects#index'

Postできない

Rails4.0からの仕様? protect_from_forgeryを追加。

class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :null_session
end

参考(http://nonbiri-tereka.hatenablog.com/entry/2014/09/03/104824)

Template is missing

render nothing: trueいらない。ステータスコード204だけどまあいいや。

bundle exec railsできない

gemのインストールパスを設定。

bundle install --path vendor/bundle

忘れがちなコマンド

  • bundle exec rails
  • rails g model Task title done:boolean project:references
  • rails g controller Tasks
  • rake db:migrate
  • rake routes

ハイテンション利休をやったから分析してみる

アキバヨドバシで買ったハイテンション利休を4人でやりました。

f:id:be116:20170426173023j:plain

結論から言うと、一発ネタなゲームだなあと感じました。

まずはルールを簡単に説明します。 このゲームは利休に茶器を献上し、その見返りとして茶菓子をもらうゲームです。 利休は等級の高い茶器を好みます。しかし、同一の等級の茶器は受け取りません。 等級の高い茶器ほど、利休のテンションが高まり、見返りの茶菓子を多く獲得することができます。 では、受け取った茶菓子の額が一番多いプレイヤーが勝ちかというとそうではなくて、利休のテンションにより勝ちから手を引かなければならない場合があります。 このゲームは春夏秋冬の4ターンで決着します。一ターン毎に利休に茶器を献上します。それぞれの茶器には利休のテンションがどれだけあがるかが示されています。例えば1等級の茶器であれば利休のテンションが5上がります。5等級であれば、1しか上がりません。利休のテンションは利休の受け取った茶器の合計で決まります。受け取った茶菓子の額が利休のテンションより下回っていれば「わびさびを理解した」ということで勝ちから手を引くことになります。利休のテンション以上の額の茶菓子を獲得したプレイヤーの中から勝者を決めることとなります。この時の勝者は利休のテンションに最も近い額の茶菓子を持つプレイヤーです。つまり、利休のテンション以上であり、最も利休のテンションに近づいたプレイヤーが「わびさびの程度を理解した」として勝者となります。 それでは、勝利の鍵となる茶菓子をどう受け取るのかを説明しましょう。 最初に茶菓子を受け取る権利は利休に茶器を献上したプレイヤーにあります。 利休に茶器を献上するためにはプレイヤーの中でも最も等級が高く、また被りの無いように茶器を場に出す必要があります。 茶器を献上したプレイヤーは献上した茶器に示されたテンションの数だけ茶菓子を受け取ります。 プレイヤーはその中から一枚選び、右隣のプレイヤーに渡し、そのプレイヤーも一枚選び、更に右隣へと一枚ずつ茶菓子を受け取っていきます。 最初に、といったのはこのように茶器を献上したプレイヤーだけが茶菓子を受け取るわけではないということを伝えたかったからです。 ハイテンション利休の面白いところはここにあります。

一番等級の高い一等級の茶器は利休に献上しやすいものですが、一方で利休のテンションが5上がる、つまり、5枚の茶菓子カードを引くため、4人で遊ぶ場合では茶器を献上したプレイヤーは2枚分の茶菓子を獲得することになります。茶菓子の額は3両から7両までと決まっており、利休のテンションが5上がる一方でこっちは10獲得するといった状況がありがちです。これでは利休のテンションを大きく超えてしまうことになります。

というわけで利休のテンションを下回らないように、そこそこ茶菓子を引けるゲームプレイをする必要があります。

実験として、5等級から2等級まで順番に出してみるゲームプレイをしてみました。結果は負けですが、利休のテンション+2でゲームを終えることができました。(そのときのゲームでは利休のテンションにピッタリと付いていたプレイヤーがいたため負けてしまいました。)そのときのゲームでは最初の春と夏で利休に茶器を献上し、次の秋と冬では全員の出した茶器がかぶってしまったため、茶器を献上することができませんでした。春夏の時点で+2を維持できていたので勝ったなと思ったのですが、上には上がいました。このときのゲームで困ったことは2等級の茶器の処理です。1等級の茶器は使い勝手が悪いので残そうとしていたのですが、それ以外は何も考えずに5等級から出していたものですから、最後の手札に2等級の茶器が残った時無駄に茶菓子を頂いてしまうと思い、ひやひやしたものです。結局、秋冬と場は流れましたが。この経験から言えることは持っている茶菓子の額が利休のテンションを上回った場合、等級の高い茶器は早い段階で処理しておくべきだということです。たくさん茶菓子を持っている状態で冬に茶菓子を受け取ってもいいことはないですから。

このゲームで勝つためには、利休のテンションに付かず離れずを意識し、途中で等級の高い茶器を処理し、利休のテンションの程度を見て、冬は流すか、茶菓子を受け取るかを考えておく必要があるのでしょう。

ちなみに、一発ネタだなあと感じたところは、ゲームを遊んでいて勝ち方がよくわからなかったところ、ハイテンション利休という名前と、わびさびを理解していたというありがたいお言葉からです。

就活ノイローゼからの

就職活動を始めました。

いくつもの企業を落ちました。

心の底から落ち込みました。

ノイローゼ、になりました。

f:id:be116:20170331215045p:plain

でもまあ、1日が過ぎて、立ち直りました。

漫画見て、寝て、寝るだけ寝てから起きて、買い物行って、スーツをクリーニングに出して、学校行って、勢いで企業にエントリーして、家に帰って、日本酒を買いに行って、飲んで、スカイプして、風呂入って、腕立てして、ブログ書いてます。

今はもう、元気です。私は元気です。少なくとも、昨日よりは。

今のテンションはこんな感じです。

f:id:be116:20170401225645p:plain

「そんなテンションで大丈夫か?」

大丈夫だ、問題ない。

就活の軸を変えまして、志望業界を変えまして、明日から、ちょっとずつ頑張っていきます。

まずは履歴書の修正からやるよー。

就活途中経過(3月分)

paiza経由で5社受けました。

結果はほぼお見送りでした。

1ヶ月無駄にした思いです。

  • F社、面談でお見送り。理由はスキル不足。即戦力にはなれないよ…。
  • M社、書類選考でお見送り。課題ミス!ミスったところが見当たらない!ミスってなんだ!切り替えていこ!
  • A社、ES書けなくて辞退。今考えると最大の優良企業様だったのかもしれません…。
  • C社、書類選考でお見送り。理由はまたまたスキル不足。志望度高かっただけにショックがでかい。
  • B社、書類選考結果待ち。どうせ落ちるんやろ…。

とまあ、このように残念な結果に。 総合的にあんたには技術力が足りないよって意見が多い。

今後は、研修しっかりしたところに選考を絞ろうかと思いました。

ただ、スキル不足はいろいろな意味でのスキルを内包した言葉にも聞こえるので、なんともいえない気持ちになるんだなーとも。

3月中にこれだけお見送りされたのもなかなか感慨深い。

paizaを使用してみての感想ですけど、 paizaを使用している企業はは即戦力を求めている印象が強いこと、 あとスキルチェックは足切り足切りなんだなと思いました。

このブログを書いてる間にもお祈りメールがまた…。

落ち込みまくったので、一旦休みます。

ブログがつまらなくなってきた

自己承認欲求を満たすためにブログを始めました。

始めて半年間は5アクセス程度でした。

乙嫁語り最新刊の発売時期に、パリヤさんの可愛さに言及した記事のおかげで、アクセス数が増えました。

しかし、そうした反応は一時的なもので、最近は日に10アクセス程度です。

1年やってこれですよ。

自己承認欲求不満にもなりますよ。

ブログがつまらなくなってきました。

アクセスを集めるためにブログを書いてるわけじゃないですけど、 多少の反応を欲しがるのが人間じゃないですか。

1年間続けたブログが10アクセス程度で、プロブロガー()は3ヶ月で100万PVを達成ですよ。

こんな自分がブログやってる意味あるのかと。

そんなこんなですよ。

というわけで、しばらく更新滞ります。

追伸

採用担当の方、偶然、当ブログを見つけたとしてもそっとしておいてください。

ゲーム「キャッチー」を更新しました

先日公開したゲーム「キャッチー」ですが、 友人と遊んだところ、面白いところが全く見つからなかったのでルールおよびプログラムを更新しました。

最新版はGitHubからダウンロードできます。

github.com

相変わらずIP解決のサーバは持っていないので、ローカルでテスト、または友人同士でしか遊ぶことができません。

以下ルールをコピペ。

キャッチー

  • タイピング+キャッチボールがコンセプトのゲームです
  • 通信対戦ができます
  • 端末で動きます
  • ルール
    • enemyが白くなると相手の手番です。
      • その間なにもできません
    • youが白くなるとあなたの手番です。
      • 相手と同じ文字列+余分な文字(0文字以上)を入力しましょう

実行方法について

環境

  • Rubyを使います。ver2.4.0で動くことを確認済みです
  • 通信に8888番ポートを使います。空けておきましょう。
    • ポートの変更をする場合はプログラムのport変数を書き換えましょう
  • cursesライブラリを使っています。導入されていない場合は各自対応をお願いします
    • 一番簡単なインストール方法はgem install cursesです

各プログラムについて

client.rb

  • クライアント側のプログラムです
  • ruby client.rb destで実行します
  • destには127.0.0.1またはlocalhostのようにサーバ側のIPアドレスを入力しましょう
  • サーバ->クライアントと実行後ゲーム開始です

server.rb

  • サーバ側のプログラムです
  • ruby server.rbで実行
  • サーバ側を必ず先に実行しておきましょう

エラーについて

  • 突貫で作ったため通信周りに多数のエラーが残っています
  • 用法用量を守って使用しましょう

test.rbの中身は見ないで。

端末ゲーム「キャッチー」をGitHubに公開しました

端末ゲーム「キャッチー」をGitHubに公開しました。

GitHub - be116/catchy: タイピング+キャッチボールがコンセプトの通信対戦ゲームです。端末で動きます。

以下、readmeをコピペ。

キャッチー

  • タイピング+キャッチボールがコンセプトのゲームです
  • 通信対戦ができます
  • 端末で動きます
  • ルール
    • type?と聞かれたら適当な文字列を入力しましょう
    • これがボールを投げることにあたります
    • retype?と聞かれたらtype->と同じ文字列を入力しましょう
    • これがキャッチにあたります
    • 相手に投げる文字列はキャッチした文字列よりも長くなければなりません
    • 長すぎてもダメです。追加する文字長は5文字以内に収めてください
  • 以上で概要は終わりです。

実行方法について

環境

  • Rubyを使います。2.4.0で動くことを確認済みです
  • 通信に8888番ポートを使います。空けておきましょう。
    • ポートの変更をする場合はプログラムのport変数を書き換えましょう

プログラムについて

client.rb

  • クライアント側のプログラム。こちらが先攻でボールを投げます
  • ruby client.rb destで実行します
  • destには127.0.0.1のようにサーバ側のIPアドレスを入力しましょう
  • サーバ->クライアントと実行後ゲーム開始です

server.rb

  • サーバ側のプログラム。こちらは後攻でボールのキャッチから始まります
  • ruby server.rbで実行
  • サーバ側を必ず先に実行しておきましょう

エラーについて

  • 突貫で作ったため通信周りに多数のエラーが残っています
  • 用法用量を守って使用しましょう