今週の成績
ちなみに先週は
パルマが失速しました。今週は1900円台で落ち着いてくれるかな?とも思ってたのですがそう簡単にはいかないようです.トータルでは何故かバランスが取れて微増に落ち着いてます(笑)
パルマ2年週足
パルマ6ヶ月日足
テクニカル的には6ヶ月日足チャート赤線の交点あたりが押し目になるような気がします.ただし,テーマとしては2倍株以上になると信じていますので,単元数を余程多く持っていなければ押し目買い過熱売りのリスクが高いと思いますので現状の私ではそのような方針はありません。
一方エリアリンクは1400円に再チャレンジしております.
エリアリンク10年月足
エリアリンク2年週足
10年の月足ではなかなかいい感じで膠着状態が続いています.決算説明会の動画が上がっているので,家に帰ったら見てみようと思います.
今は保有していない白鳩は素敵な株価になってきましたね.てっきり600円割ることはなくなると思っていましたが,先日の小田急との提携IR急騰時に拾ってその後何もないから痺れを切らした人々が放り投げたのか…そんな業績に直ぐに出るはずないでしょという気もします(笑)いずれにせよしばらく低空飛行でいてくれれば再インしたいです.正直なところいまは割く資金がないです.
白鳩2年週足
株関連での銘柄・テーマの調査は以下のジャンルに集中します
□3Dプリンタとその素材・応用技術
□情報・物の流動化技術
□CRISPR-cs9のビジネス
□電気の基礎技術(発電・蓄電・送電)
さて,ビットコインの価格はというと
ビットコイン週足
ビットコイン3日足
相変わらずボラティリティが凄いです。1月に86,000円台かと思えば今は120,000円台とゆり戻しの規模も早さも凄い.市場規模がまだまだ小さいからでしょうか.
先日も中国の取引所が停止ということで若干下がり100,000円台でしたが案外早く戻しましたね.ビットコイン関連でお世話になっている会社の先輩は後述の4月にある仮想通貨法施行前に予定購入量を確保したいけれど、なかなか押し目に向かわないといっておりました(笑)その先輩は60,000円くらいから買い増し続けている現物オンリーなのでそういうスタンスだと暴落は美味しいですね.ビットコインでも長期投資の強さを感じました.
ちなみに私も短期の投資対象としては見ていません.基本的には長期での投資をしていきます.発展性のある利便性の高い技術として、とても面白いですしね.直近の大きなイベントは4月の仮想通貨法の施行です。内容については現場の方のとても参考になる以下の記事があります.
消費者保護と大手の参入というのは国としてはとても大切だと思いますが,せっかくの開かれた技術が日本国内で制限を受けてしまうのは確かに残念です.日本ってこういう出来なくすることに対する機動力は何なんでしょうね(笑)是非ともこの勢いを出来る方向への機動力に等しく割いて欲しいところです。
また,この施行により大手が参入し始めてコンビニなどでビットコインが使われるようになれば一般層の暗号通貨に対する負のイメージもようやく払拭され、ようやく日本でも暗号通貨が普及していくのかもしれません.
そういう意味ではよい転機ということで今後暗号通貨の価値が上がるひとつの起爆剤になってくれればいいのですが…
またこの先の懸念事項としては以下の記事にあるハードフォークです.
これによって今まで買った暗号通貨が新世代の暗号通貨システムでは使えないので,どちらの人気が出るかにもよるのですが,どちらかが衰退し価値を失っていくことになると思います.このあたりの情勢についてはもう少し詳しく調査しておきたいと思います.
具体的にビットコインについての要調査項目を備忘録として書いておきます
□ハードフォークに対する現在の動向
□暗号通貨の勢力図
□暗号通貨の市場規模と従来の通貨の流通量
朝香先生の新刊
本日発売の新刊早速読んでみます。
今日中にとりあえず一回読み終わらせたいです。
お風呂で読むのも一興。
webサービス開発その3
さて,前回の続きをやっていきましょう. 問題解決には現在の状態を知る必要があります.ということで,全体の状態を改めて書いておきます.
まずはディレクトリの構成確認です.コマンドプロンプトでディレクトリを表示するコマンドは以下の通りです.
tree
【出力結果】
├─.bundle ├─public ├─vendor │ └─bundle │ └─ruby │ └─2.3.0 │ ├─bin │ ├─build_info │ ├─cache │ ├─doc │ ├─extensions │ │ └─x64-mingw32 │ │ └─2.3.0 │ │ └─redcarpet-3.4.0 │ ├─gems │ │ ├─backports-3.6.8 │ │ │ ├─lib │ │ │ │ └─backports │ │ │ │ ├─1.8.7 │ │ │ │ │ ├─argf │ │ │ │ │ ├─array │ │ │ │ │ ├─binding │ │ │ │ │ ├─dir │ │ │ │ │ ├─enumerable │ │ │ │ │ ├─enumerator │ │ │ │ │ ├─env │ │ │ │ │ ├─fixnum │ │ │ │ │ ├─float │ │ │ │ │ ├─gc │ │ │ │ │ ├─hash │ │ │ │ │ ├─integer │ │ │ │ │ ├─io │ │ │ │ │ ├─kernel │ │ │ │ │ ├─method │ │ │ │ │ ├─module │ │ │ │ │ ├─numeric │ │ │ │ │ ├─object_space │ │ │ │ │ ├─process │ │ │ │ │ ├─range │ │ │ │ │ ├─regexp │ │ │ │ │ ├─stdlib │ │ │ │ │ ├─string │ │ │ │ │ ├─struct │ │ │ │ │ └─symbol │ │ │ │ ├─1.9.1 │ │ │ │ │ ├─array │ │ │ │ │ ├─dir │ │ │ │ │ ├─enumerable │ │ │ │ │ ├─enumerator │ │ │ │ │ ├─env │ │ │ │ │ ├─file │ │ │ │ │ ├─float │ │ │ │ │ ├─hash │ │ │ │ │ ├─integer │ │ │ │ │ ├─io │ │ │ │ │ ├─kernel │ │ │ │ │ ├─math │ │ │ │ │ ├─numeric │ │ │ │ │ ├─proc │ │ │ │ │ ├─range │ │ │ │ │ ├─regexp │ │ │ │ │ ├─stdlib │ │ │ │ │ ├─string │ │ │ │ │ └─symbol │ │ │ │ ├─1.9.2 │ │ │ │ │ ├─array │ │ │ │ │ ├─complex │ │ │ │ │ ├─dir │ │ │ │ │ ├─enumerable │ │ │ │ │ ├─float │ │ │ │ │ ├─hash │ │ │ │ │ ├─kernel │ │ │ │ │ └─stdlib │ │ │ │ │ └─matrix │ │ │ │ ├─1.9.3 │ │ │ │ │ ├─file │ │ │ │ │ ├─io │ │ │ │ │ └─string │ │ │ │ ├─2.0.0 │ │ │ │ │ ├─array │ │ │ │ │ ├─enumerable │ │ │ │ │ ├─enumerator │ │ │ │ │ ├─env │ │ │ │ │ ├─hash │ │ │ │ │ ├─nil │ │ │ │ │ ├─range │ │ │ │ │ ├─stdlib │ │ │ │ │ └─struct │ │ │ │ ├─2.1.0 │ │ │ │ │ ├─array │ │ │ │ │ ├─bignum │ │ │ │ │ ├─enumerable │ │ │ │ │ ├─fixnum │ │ │ │ │ └─module │ │ │ │ ├─force │ │ │ │ ├─rails │ │ │ │ ├─random │ │ │ │ └─tools │ │ │ ├─set_version │ │ │ ├─spec │ │ │ │ └─tags │ │ │ │ ├─1.8.6 │ │ │ │ │ └─core │ │ │ │ │ ├─argf │ │ │ │ │ ├─array │ │ │ │ │ ├─complex │ │ │ │ │ ├─enumerable │ │ │ │ │ ├─enumerator │ │ │ │ │ ├─env │ │ │ │ │ ├─file │ │ │ │ │ ├─fixnum │ │ │ │ │ ├─gc │ │ │ │ │ ├─hash │ │ │ │ │ ├─integer │ │ │ │ │ ├─io │ │ │ │ │ ├─kernel │ │ │ │ │ ├─math │ │ │ │ │ ├─module │ │ │ │ │ ├─numeric │ │ │ │ │ ├─proc │ │ │ │ │ ├─range │ │ │ │ │ ├─string │ │ │ │ │ └─symbol │ │ │ │ ├─1.8.7 │ │ │ │ │ └─core │ │ │ │ │ ├─array │ │ │ │ │ ├─complex │ │ │ │ │ ├─enumerable │ │ │ │ │ ├─env │ │ │ │ │ ├─file │ │ │ │ │ ├─hash │ │ │ │ │ ├─integer │ │ │ │ │ ├─io │ │ │ │ │ ├─kernel │ │ │ │ │ ├─math │ │ │ │ │ ├─module │ │ │ │ │ ├─proc │ │ │ │ │ ├─range │ │ │ │ │ ├─string │ │ │ │ │ └─symbol │ │ │ │ ├─1.9.1 │ │ │ │ │ └─core │ │ │ │ │ ├─array │ │ │ │ │ ├─env │ │ │ │ │ ├─hash │ │ │ │ │ └─io │ │ │ │ └─1.9.2 │ │ │ │ └─core │ │ │ │ └─io │ │ │ └─test │ │ ├─multi_json-1.12.1 │ │ │ └─lib │ │ │ └─multi_json │ │ │ ├─adapters │ │ │ └─vendor │ │ ├─rack-1.6.5 │ │ │ ├─bin │ │ │ ├─contrib │ │ │ ├─example │ │ │ ├─lib │ │ │ │ └─rack │ │ │ │ ├─auth │ │ │ │ │ ├─abstract │ │ │ │ │ └─digest │ │ │ │ ├─backports │ │ │ │ │ └─uri │ │ │ │ ├─handler │ │ │ │ ├─multipart │ │ │ │ ├─session │ │ │ │ │ └─abstract │ │ │ │ └─utils │ │ │ └─test │ │ │ ├─builder │ │ │ ├─cgi │ │ │ │ ├─assets │ │ │ │ │ ├─folder │ │ │ │ │ ├─fonts │ │ │ │ │ ├─images │ │ │ │ │ ├─javascripts │ │ │ │ │ └─stylesheets │ │ │ │ └─test+directory │ │ │ ├─multipart │ │ │ ├─rackup │ │ │ ├─registering_handler │ │ │ │ └─rack │ │ │ │ └─handler │ │ │ ├─static │ │ │ │ └─another │ │ │ └─unregistered_handler │ │ │ └─rack │ │ │ └─handler │ │ ├─rack-protection-1.5.3 │ │ │ ├─lib │ │ │ │ └─rack │ │ │ │ └─protection │ │ │ └─spec │ │ ├─rack-test-0.6.3 │ │ │ ├─lib │ │ │ │ └─rack │ │ │ │ └─test │ │ │ └─spec │ │ │ ├─fixtures │ │ │ ├─rack │ │ │ │ └─test │ │ │ └─support │ │ │ └─matchers │ │ ├─redcarpet-3.4.0 │ │ │ ├─bin │ │ │ ├─ext │ │ │ │ └─redcarpet │ │ │ ├─lib │ │ │ │ └─redcarpet │ │ │ └─test │ │ │ └─fixtures │ │ ├─sinatra-1.4.8 │ │ │ ├─examples │ │ │ ├─lib │ │ │ │ └─sinatra │ │ │ │ └─images │ │ │ └─test │ │ │ ├─integration │ │ │ ├─public │ │ │ └─views │ │ │ ├─a │ │ │ ├─b │ │ │ └─foo │ │ ├─sinatra-contrib-1.4.7 │ │ │ ├─lib │ │ │ │ └─sinatra │ │ │ │ └─contrib │ │ │ └─spec │ │ │ ├─config_file │ │ │ ├─content_for │ │ │ ├─namespace │ │ │ │ └─nested │ │ │ ├─reloader │ │ │ └─respond_with │ │ └─tilt-2.0.6 │ │ ├─bin │ │ ├─docs │ │ ├─lib │ │ │ └─tilt │ │ ├─man │ │ └─test │ │ └─markaby │ └─specifications └─views
こんなに沢山出てきても見難いので,整理すると以下のようになっています.
test_app ├─app.rb ├─Gemfile ├─Gemfile.lock ├─.bundle ├─public ├─vendor │ └─bundle │ └─ruby │ └─2.3.0 │ ├─bin │ ├─build_info │ ├─cache │ ├─doc │ ├─extensions │ │ └─x64-mingw32 │ │ └─2.3.0 │ │ └─redcarpet-3.4.0 │ ├─gems │ │ ├─backports-3.6.8 │ │ ├─multi_json-1.12.1 │ │ ├─rack-1.6.5 │ │ ├─rack-protection-1.5.3 │ │ ├─rack-test-0.6.3 │ │ ├─redcarpet-3.4.0 │ │ ├─sinatra-1.4.8 │ │ ├─sinatra-contrib-1.4.7 │ │ └─tilt-2.0.6 │ └─specifications └─views ├─erb_template_page.erb └─markdown_template_page.md
app.rb本体は以下の通り
require 'sinatra' require 'sinatra/reloader' require 'redcarpet' get '/' do 'how are you?' end get '/path/to' do "this is [/path/to]" end get '/hello/*' do |name| "hello #{name}. how are you?" end get '/erb_template_page' do erb :erb_template_page end # ここから get '/markdown_template_page' do markdown :markdown_template_page end # ここまでを追加
Gemfileは以下の通り
# frozen_string_literal: true source "https://rubygems.org" # gem "rails" gem 'sinatra' gem 'sinatra-contrib' gem 'redcarpet'
それで,エラーはというと
じっくりとエラー画面を眺めてみます…
と,ここであることに気付きました!!
どうやら拡張子が.markdownのファイルを探しに行っているようです.現状ではmarkdownファイルを.mdという拡張子にしているので,もしかすると…
ということで以下のようにファイル名を変更します.
markdown_template_page.md => markdown_template_page.markdown
これで【[http://localhost:4567/markdown_template_page】にアクセスしてみると…
おおおお!!出来た!!出来ました!!そういうことだったのですね…答えは既に書いてあったのです.大切なのはとにかくエラーをよく見ること.最近他のプログラミング言語も多種やっているのですが,成長しない人ほどエラーを見ようとせず,エラーの見方を理解していない気がします.私のことです(笑)どんな言語でもエラーはしっかり読みましょうということですね.
さて問題解決したところで,続いてはmarkdownとerbを組み合わせて使います.
手順どおりに色々作りました.
構成は以下の通り
test_app ├─app.rb ├─Gemfile ├─Gemfile.lock ├─.bundle ├─public ├─vendor │ └─bundle │ └─ruby │ └─2.3.0 │ ├─bin │ ├─build_info │ ├─cache │ ├─doc │ ├─extensions │ │ └─x64-mingw32 │ │ └─2.3.0 │ │ └─redcarpet-3.4.0 │ ├─gems │ │ ├─backports-3.6.8 │ │ ├─multi_json-1.12.1 │ │ ├─rack-1.6.5 │ │ ├─rack-protection-1.5.3 │ │ ├─rack-test-0.6.3 │ │ ├─redcarpet-3.4.0 │ │ ├─sinatra-1.4.8 │ │ ├─sinatra-contrib-1.4.7 │ │ └─tilt-2.0.6 │ └─specifications └─views ├─erb_template_page.erb ├─markdown_template_page.markdown ├─erb_and_md_template_page .erb └─erb_and_md_template_page.markdown
最後の2つの.erbファイルと.darkdownファイルを追加して本体のapp.rbを書き換えました.
いざサービスを稼動!!【http://localhost:4567/erb_and_md_template_page】にアクセス!!
ほげぇ
エラーです
ローカル変数かメソッドであるlocalsってなんなんですか!!って怒られています.
そんなこと言われても…
といっていてもどうにもならないので調べましょう.
"method variables erb markdown エラー sinatra get do"と検索したら
【記事31】
kataribe.naist.jp
こんな便利なサイトが出てきました.sinatraについてのリファレンスを和訳して下さった感じでしょうか.
早速"locals"で検索してみましょう.
結果の中にMarkdown テンプレートについて書かれている部分があります.ここで記述例がある訳ですが…
erb :overview, :locals => { :text => markdown(:introduction) }
ほうほう,大体同じような感じ…
私の書いたコードは
erb :erb_and_md_template_page, locals => { md => markdown(:erb_and_md_template_page) }
あれ?localsの前にコロンが付いてます.textの部分にもコロンが!!もしかするとこれかもしれません.
早速私の書いたコードを以下に変更します.
erb :erb_and_md_template_page, :locals => { :md => markdown(:erb_and_md_template_page) }
それでもってブラウザを更新!!
わー!!上手くいきました!!
とここまで来て,本筋の【記事28】末尾になんとsinatraのリファレンスページがあり,そこにもmarkdownテンプレートについて【記事29】と同様の記載がありました.最初からここに目を向けられていれば…
【記事32】
Sinatra: README (Japanese)
ということでとりあえず【記事28】の内容終了です.
徐々にsinatraとrubyに慣れてきました.sinatraに関してはなんとなく入り口が分かってきた程度です.
もうちょっとsinatraでそれっぽいサイト作りを学んでRubyにも慣れるようにしたいと思います.その後,Railsに手を出していこうかと.
それとは別に,そろそろ作りたいサービスについていろいろと考え始めます.
1.記憶支援
忘却曲線に沿って一度学習したことの復習リマインドを知らせてくれる学習支援
2.髪の毛カット記録
髪型の管理サービス.カットの周期やサロン,担当者,金額などが簡単に確認できる.ライフログの一種.
3.raspberry pi 入出力表示
興味本位.rasberry piでのデータ取得を絡めてハードウェアとソフトとサービスの総合力を鍛える
4.服装と天気のリンク
服装の写真を取ってその日の最後に快適だったか寒かったかなどを天気とリンクさせて保存.その後は天気から快適だった服装の候補をサジェストしてくれる
webサービス開発その2
【記事の更新方法変更】
従来は記事に追記するスタイルとしていたのですが,アップロードがだんだんと重くなってきて出先では不便するので,やはり更新毎に記事を独立させます.
ただし,それらの更新をまとめた一つの記事も作っておきます.これは自己満足です.どれだけやってきたのか,どんな効率で調べごとをしたのかということを全体を通して見たいのです.
ということで今回を"その2"として引き続き記事を更新していきます.記事,画像の番号は統合記事の連番としておきます(編集が面倒くさいので(笑)).
【記事本文】
ここからはこれまで"hello world!"を表示する程度だったところをもう少し発展させます.ざっくり言うと,よりwebサイトっぽい要素を盛り込みます.
基本的には以下の記事にチャレンジしてみます.
【記事29】
続きを読む今日やること
○カメラのレンズを見に行く
×新しいレンズで写真を撮りにいく
→悩んだので未購入
△rubyの勉強で簡単なwebサイトの骨格を学ぶ
→なぞのエラーに苦戦中
○音読
○英語の発音の復習
○rarejob受講
△ヘアサロンの予約が取れたら髪を切りに行く
→明日行く
○3時くらいにいきなりステーキの現場調査しに行く
→3時なのに凄い混んでた。老若男女。
○バイオリンの練習(レベルは幼稚園児以下.改めて弾ける人の凄さを感じます.)
→ピッツと弓で運指練習
×筋トレ
→眠いので寝る.明日
×rasberry piをいじくる
→眠いので寝る.明日
他にもいろいろとやりたい…特に最近プライベートでの人との交流がめっきり減ってパソコンに向かっていることが多いです.この状態を少し切り替えて,閉じた人間にならないようにしなければ!
こんなところですかね.