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

三流プログラマの雑記

プログラム、ゲーム、株、その他雑記など書いてます。

Ruby+Windows OpenSSLでエラーを吐く|||orz|||

nokogiri触ったついでに「Ruby スクレイピング」なんて調べると「mechanize」を使おうぜ!
って出てきたので触ってみることにした。

    agent = Mechanize.new
    agent.get('https://xxxxx') do |page|
      puts page.title
    end

なんて実行すると、、、

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

とopenSSLのエラーを吐く。
RubyInstallerの証明書が古くてエラーという問題にも関連しているのかもしれないけれど、、、

対処法としては以下を参考にしてみた。
qiita.com

1. 下を右クリックで任意の場所に保存
http://curl.haxx.se/ca/cacert.pem

2. コントロールパネルで、システムから環境変数を設定
SSL_CERT_FILE:任意のパス\cacert.pem」

とりあえず、これで使えるようにはなるんだけど、、、証明書関係ってまた微妙な部分だよね|||orz|||

「setx SSL_CERT_FILE=任意のパス\cacert.pem」をWindows10のコマンドプロンプトで実行するとシステムぬっこわれたんで、無難にコンパネから設定したほうが良い模様。

おかげで、システムの復元からしかもとに戻せないし、システムの復元で戻すとちょいと前の状態に戻って、
RailsのGemの整合性がぶっ壊れるエラー云々、bundleディレクトリ消して入れなおしたら直ったから良かったものの、
システム開発中にこんなこと起きると泣きそうになるよね。

ってことで、Windows10は怖いぞー

【Ruby on Rails】今更ながらにRansackベンリーということを知った。

株を管理するプログラムをちまちま組んでいたわけですが、取りあえず一通り機能は出来たかなーという状態
f:id:morio_1101:20160420081410j:plain
黒塗りの情報は勘弁(笑)
とりあえず、配当+株主優待で収支のバランスを考えてみた。

システム上、このページは必要最低限の情報のみに抑えたかったので、
株主優待の部分はJQueryUIのdialogで制御。

f:id:morio_1101:20160420074918j:plain
最初は登録、更新ページなんて作っていたけれど、、、
使っているとページ遷移が面倒になってきたので、一覧画面完結にした。
Ransackでテーブルソートを入れられたので、見やすいっちゃ見やすくなったかな?
検索フォームとかは、特に必要と感じなかったので、必要になった時に追加する予定。

f:id:morio_1101:20160420074921j:plain
あとは、取得検討株一覧ですね。
楽天証券のお気に入り銘柄もいいんだけど、いかんせん痒い所に手が届かなかった。
なので、パッと必要な情報を見れるようにしてみた。
こちらもRansackを使うことで、テーブルソート楽勝!状態に絞り込み入れた方がいい気がしないでもないので、
またいじくってみようかと。。。

Ransack に関する内容は以下の記事を参考にいたしました。

Railsでransackを使って検索機能を作成する - Rails Webook
wonderwall.hatenablog.com

N+1問題も一応対応する方法もあるらしいので、使い勝手は悪くないのかもしれないですね。
これは「bullet」入れて確認すればいい気もしますが、、、

あとは、サービス登録を、、、と考えていたけれど、
めんどうバッチで何とでもなるかな?という感じだったので、バッチを作って起動すると
ロームのタブでサイトが見れるよ!ってな感じにしてみた。

start /d C:\xxxx\StockList bundle exec thin start -e production

timeout 20 && start chrome.exe --new-tab http://localhost:3000/stocks

【Rails】ハマりどころの多いアセットパイプライン

暇を持て余す状況になったので、株を監理するシステムでも作ろうかと思ったわけです。

f:id:morio_1101:20160417175234p:plain

簡単に作れるように、Rails + Bootstrap + JQueryUIという感じの構成
株のAPIは一般公開されていないので、スクレイピングすることに、とはいえ毎回サイトにリクエスト飛ばすのは微妙なので、SQliteに保持することにしました。
view側で計算式埋め込んだりやらなんやらやってしまっているので、ちょっと構成は考えないといけないですが、取りあえず2日ほどで形には出来たかと。

しかし、Windows環境で無理やり作ったので、BootstrapとJQuery関連はsassのgemを使用することに、
lessってのを使用してみたかったのだけど、残念ながらwindows未対応|||orz|||

せっかくなので、windowsのサービス化してみようかなんて思ったときに、production環境で動かす必要があるのかなーっと。
WEBrickだと微妙なので、軽量化目的で、thinサーバを使用して起動してみたら、、、はいハマりました。

production環境で動かす際のお約束
【アセットパイプライン
Rails 3系から出てきたCSS、JSを結合、圧縮するぜ!!ってやつですね。

bootstrapとJQueryUI関連のファイルを食わず嫌いしないでよ|||orz||| っと言いたくなるんだけど、assetのロード用のパスを通してやらないと、画像やらフォントやらはロードされなかったりするみたい。
とりあえずは、「config/application.rb」もしくは「config/initializers/assets.rb」で【Rails.application.config.assets.precompile】の設定を追加する必要があったりする。

と書いておきながら色々試行錯誤して、、、挫折し、最終的には、、、


Gemfileに以下を追加して、productionを動かすという無念な感じになりましたとさ。

group :production do
  gem 'rails_12factor'
end

heroku今回使用しないんだけどな、、、

qiita.com

アプリケーションがこの12の要素を満たしていることか、、、
しっかり目を通しておこうと思いました(キリッ

MVNO + SIMフリースマートフォン に変更してみた。

毎月の携帯代節約のため、MVNOしてみた。

DoCoMo => BIC SIM(IIJ) に変更

 BIC SIM にした理由
 3GB のところ今は 1GB プラスの 4GB!
 Wi2 300が無料とのことだけど、今のところ入った試しがないので気持ち得?

 音声通話付きで月1,600円(税抜)!

と書いてみるも、自身は業者ではないので、
とりあえずメリット、デメリットをまとめてみる。


◆ MVNOのメリット

・携帯代が8,000円 => 2,000円ぐらいに減る
 (年間の通信費72,000円減はデカいと思う)


◆ MVNOのデメリット

・通話メインだと、結局高くなる
 ※ ただし、通話放題のSIMを提供しているプロバイダもあるので、検討の価値はあるかと
・キャリアアドレスが無くなる
・他の人の携帯にメールを送る際、PCアドレスになるため、迷惑メールの設定がされていると正常に送れなくなる
 (私はSMSで対応しているが、SMSは案外高いので頻繁に使うと微妙)
・キャリアの店舗サービスのような高品質なサポート体制はない
 (お金を出せば、、、あとはネットで調べてが出来ないと辛いかも)


◆ 私の使い方

電話はLINEやスカイプを使用

キャリアアドレスは不要、LINEでやり取りメイン

最終的に、費用面でのメリットを優先して移行することにしました。
あとはビックカメラの店舗で契約して即使えるようになったというのは大きい。

元々がDoCoMoXperia Z3だったので、ビックカメラのカウンタでMVNOの手続き自体は30分ぐらいでスムーズにできました。
auの場合は回線が対応していないので、端末買う必要があるかと

個人的には、nano sim で契約しておくと、simの変換アダプタで端末にあったサイズに変更出来るので、おススメだと思ってます。
※ simサイズ変更するのにも、結構費用が掛かりますからね、、、

MVNO後は、何事もなく携帯自体は使えていましたが、、、

おや? Xperia Z3の様子が、、、

f:id:morio_1101:20160403102344j:plain

開いてはいけない部分が開き始めたので、端末の移行を検討することに|||orz|||

MVNOの場合は、基本的に端末買い替えになるかと思います。
値段もピンからキリまで安いものだと1万を切るし高いものだと青天井。

ミドルクラスのこの端末を購入しました。
Xperia Z3 がハイエンドで10万程したので、お値段3分の1!

メリットとしては電池の容量が5,000mAhなので、一般的なスマホの電池の約2倍相当というところ。
スペックはミドルスペックなので、Xperia Z3よりもっさりしているイメージ。

ゲームでいうと、、、こんな感じ?

・星のドラゴンクエスト
 初期設定のままだと、戦闘シーンがすごくもたつく(倍速プレイすると技選択が辛い)
 省電力、画面解像度低にすると若干マシな動作になるかなというイメージ

・黒猫のウィズ
 たまにもたつくことがあるけど、プレイに支障はない

・白猫
 重いけどプレイ出来なくはない。
 設定変更は必須。

個人的に一番慣れないのがキーボード、、、Sonyのキーボードに慣れるとほかのキーボード使いにくい。
Sonyのキーボード有料アプリでいいから出して欲しいと思う。
右矢印で前の文字コピーとか「、、、」とか打つときに重宝するのでorz

とはいえ、値段的の割には、満足できる一台かと思われます。
バイブレーションの調整があまり出来ないので、バイブの設定した状態で画面を触ると、バイブ音が聞こえてしまうのが難点。
(もうしばらくするともう少し安いZenFone Goが出るけどあまり変わらなそうだよな、、、ゲフゲフ)

iPhoneもSEで日本のSIMフリー端末市場に乗り出したので、今後の携帯市場は荒れそうだなと思ったりしなかったり。

【Ruby on Rails】Windowsで開発するにはどうすればよいか考えてみた。。。

久々に技術的なブログでも書こうかと、、、

Ruby on RailsWindows環境で開発するのは中々骨が折れる作業になったりします。

特にWindows10だと、vagrant環境が上手くいかなかったりで、、、orz

で、どうしたものかと思ったときに、ふと思ったわけです。
クラウドサービス使えばいいんじゃね(・Ǎ・)?

ということで、Cloud9 を使ってみた。

GitHub or Bitbuket のアカウントがあると使えるとのこと

せっかくなので、Bitbuketではなく、GitHubデビューしてみました。

GitHub - rararamorio/c9_sample: cloud9を試すためのリポジトリ

Cloud9はYOUブラウザベースで開発しちゃおうぜ!というスタンスっぽい。

ブラウザベースのbashで日本語のコミットコメント入れようとすると、イラッ☆となるのはご愛敬(^^;

すごい触りレベルでしか試していないけれど、MySQLもCloud9内で作成出来たりするので、
本格的に開発しようと思えば出来なくはないかもしれない。
※とはいえ技術を試すとか、勉強会ぐらいで利用するのがちょうどいいかも

Git flowまで試せていないけど、インストール出来るのかな?
あとはrspec + guardとか回せるのかな?
そうすればテストしやすい環境作れるかもしれない。

あとは、まだプログラム自体は組んでいないので、IDEとしてどれぐらい力があるかかなー

でもブラウザでここまで出来るというのは正直驚いた!

もう少し検証してみようと思えた。

【黒猫のウィズ攻略】 マクロス 絶級 「ノーマル」 SSグレードクリア

最近のんびりプレイしていたので、攻略っていう感じではなくなっていたり、、、
今回、SSグレード取れ!みたいなミッションがあったので、取りあえずノーマル最難関を攻略してみた。

f:id:morio_1101:20160401130251j:plain

デッキは鉄壁対策をする必要があったり、ボス戦での火力が必要だったり、ここ最近ガチャで出たキャラで固めてみました。

f:id:morio_1101:20160401130941j:plain

一戦目、右を優先して対処しないと、アンサースキルの封印を食らってしまいます。
これを食らうとクリアターン数に影響が出るので注意

f:id:morio_1101:20160401131050j:plain

二戦目、このデッキだと特にタゲを取る必要もなくただひたすら殴るだけになります。
ただ、シェリル&ランカのステアップは使えるときに使うと、HPの回復とステアップで後半に活きてきたリします。

f:id:morio_1101:20160401131222j:plain

三戦目、個人的な鬼門はここかと、取りあえず、左をタゲにしてリヴェータ&ルドヴィカの連撃をぶつけます。

f:id:morio_1101:20160401131312j:plain

次にアリエッタ&シャルロットの連撃を雷は右端で、炎を左にセットしてぶつけます。

f:id:morio_1101:20160401131503j:plain

あとは、アリエッタ&シャルロット、シェリル&ランカの雷を右端、それ以外は真ん中にセットしてダメージを与えると上の様な感じになります。
あとは普通に倒すだけ。

f:id:morio_1101:20160401131634j:plain

ボス戦、真ん中にタゲを取って一回攻撃を当てます。

f:id:morio_1101:20160401131720j:plain

アデレードのSSを放つと、上のような形になるので、あとは左にタゲを取って殴ると、、、

f:id:morio_1101:20160401131807j:plain
f:id:morio_1101:20160401131820j:plain

クリアターン数は、9ターンのSですが、平均解答時間をSSで抜ければ、ひとまずSSグレードになれそうです。

クリアターン数をSSにしようと思うと、、、
回復などいらぬのだ!というスタンスで挑まないといけなくなりそうなので、
周回安定しないんだろうなー、、、っと思ったり(^^;

株主優待を目当てに株を買いあさってみた結果

ということで、めりーくりすます。(遅い?)

今年も一年終わりますね!
一足先に、ブルーシールのアイスの福袋を買ってしまいました。

さて、約3年前から株主優待を目当てに、株を買うようになりました。
株の知識など皆無で始めながらも、アベノミクスの波に乗っていたので買い漁っては売ってを繰り返してたらこうなった。

2013年度:85,397(2回取引)
2014年度:237,795(5回取引)
2015年度:172,073(7回取引)
※ 配当や株主優待除く

何やかんやで地道にプラスになってます。
あまり売り買いする気もないので、配当で貰える金額より結構増えたら売ったりと、
売り買いの基準もバラバラでしたが、結果としてはプラスだったのでよしでしょう。

2014年度は、ANA株が198円=>303円になったのと、優待で貰えるチケットが
金券ショップで値崩れし始めたので売却した感じでした。(2000株持っていたので、20万ほどのプラス)
と考えると、2014年度のプラスはもう起きない可能性が高いですね(汗

2015年度は、芙蓉総合リースの優待に魅力を感じて、買ったところ急にプラスを叩き出すようになったので、
売り買いを繰り返しているとこうなりました。
これももうあまり発生しないかも、、、

優待をメインとしているのに、こうなるのは不本意ということで、この3年間で稼いだ金額約50万程は
水に溶かす覚悟で株主優待目当ての株を購入することにしました。
※ 今の時期に株を買うのは個人的に値が上がりすぎてておすすめ出来ないです(汗

また、株は手間やらなにやら考慮した結果、特別口座で源泉徴収まで行うようにしてます。
20万超えることはまーないので、本来であれば特定口座の源泉徴収なしでいいんですが、
2014年度の様な事が起こると大変な目にあうので、、、あとは売り買いの利益で云々する気もあまりないので、
多少税金を多く払う形になってもよいかと思ってます。

さて、プラス50万の利益で、取りあえず、アサヒの株やら、キリンの株やら、12月しか楽しめない株を購入したり、
多々色々な優待を受けられる株を購入したりしました。

12月は、アサヒの限定酒、キリン発泡酒詰め合わせ、あとQUOカード500円分が一応確定予定。
2月、吉野家のお食事券、DCM社の日用品詰め合わせ
3月は、アトム系列の居酒屋2000円分、はるやまのYシャツ1枚無料券
今の手持ちだとこんな感じかなーっと。実際貰えるのはそれよりだいぶ先だったりしますが。
売り買いせずに放置しても、年利3%(配当+優待)であれば、まー、、、悪い数字ではないかと

何が正解というのも特にないですが、優待を手にした時、自分がどうしたいのかを考えて株を購入するとこんな感じ
になったりします。
今だと株価が下がるので、塩漬けするしか出来なくなるので、ある意味ではこれでよかったのかもしれないと思ったり。
魅力的な株は調べていると色々出てくるので、少しは増やしていきたいところですが、
一気に投資すると生活が回らなくなるので、ある意味手探り感満載ですね(^^;

目標は株のみで生活!とか言ってみたいですが、現実的ではないので、まずは、優待で生活を楽しく出来たらいいなーっと思っています。
2016年度の目標は、そういうところを強化していこうと思います。