プログラミングは面白い

プログラミングの事を中心に色々書いていきます

rubyを勉強していたはずなのに、何故かDockerを勉強してた

Dockerを勉強するはめになったのですが、Dockerの概念がよく分からない...
Virtual Boxの方が100億倍わかりやすいんですけど...

Dockerイメージってなんやねん。
環境をセットアップする為の設計書みたいな感じ?
HTML CSS並に響かないなぁ...

まぁもう少しだけやってみるか。
まだ始めたばかりだけど、利便性が1ミリも分からん。
どうせこのイメージ作成するのもめっちゃ覚える事多くて大変なんでしょ。
知ってる。

まぁ適当にやってrubyに戻ろ。

勉強する環境って大事。特に分厚い本を用いるとき

プログラムの勉強をするようになって、分厚い本を読む機会が増えました。
しかし、分厚い本ってそのまま開いておくのも大変だし、そもそも邪魔だし結構これだけでやる気を削がれたりしませんか?
特に、プログラムの勉強本はコードを写経したりもするので開いていたページが分からなくなると萎えポイント高いです。

そこで!

このようなお勉強時にあると便利なアイテムを御紹介。


私が買った時はこれ2500円位だった気がします。
在庫なくなっちゃったのかな?変なライトと抱き合わせのあるけどちょっとお高い…
まぁこんな商品があるよって事で参考にしてみてください。

実際、これ本当に便利です。
本を開くためのストッパーがちょっと邪魔なときあるけど、それを差し引いても十分な代物です。

分からない事を勉強するわけですから、それだけでも労力を消費するものです。
極力、ストレスがないようにデスク周りの環境を整えるのも大事な事だったりしますね。

てことで、本日は何故か突然商品紹介でした。

『ruby』atom-runnerで日本語が文字化けするアレ

pythonでは解決方法がたくさん載ってるのですが、rubyでの解決方法が全然見つかりません。
質問サイトに投稿もしてみたのですが、解決に至る回答を頂けなかったので自力で何とかしてみました。
ただ、どうして直ったのかは自分でもよくわかっていない為、思わぬ所で弊害があるかもしれません。
この方法を試す場合は自己責任でお願い致します。

まず症状はこんな感じ。

a = %w[あ い う え お]
p a

["\u3042", "\u3044", "\u3046", "\u3048", "\u304A"]

日本語が含まれてる状態でatom-runnerを動かすとこんな感じで文字化けします。
ちなみに、pprintだと文字化けするのですが、putsだと日本語で表示されました。
まじで謎。

んで、やったことは環境変数にUTF-8を追加する事でした。
これだけで私の環境ではatom-runnerで日本語表示されました。
$ vim ~/.bash_profileでファイルを開いて、export LANG=ja_JP.UTF-8を追記する。
これだけでOK。 $ source .bash_profileで再読み込みをしましょう。
ちなみにMacです。

何か弊害があった時に直せないと怖いので備忘録として残しておきます。
こうゆう環境設定でめっちゃ時間取られるのやめてほしいなー。
まぁでも直ってよかった。

rubyをおさらい中

ちょっとpythonはお休みして、数学とrubyの勉強をしています。
大分前にrubyを少しやったのですが、意外と覚えていました。
pythonの知識のおかげで、rubyもすんなり入ってきます。

前に勉強した時はほーん、程度だったのですが、%記法ってめっちゃ便利じゃないですか?
特に配列作る時なんかは重宝しそうですね。

%W[a b c]
=> ["a", "b", "c"]

これ便利ー。
あと、mapメソッドも色々使えそうですね。

%W[あ い う].map { |data| "(#{data})"}  
=> ["(あ)", "(い)", "(う)"]

とか

%W[a b c].map { |data| data.upcase}
=> ["A", "B", "C"]

など、簡単にリスト内の要素を整形できたりします。
いちいちforとかeachで取り出さなくても良いのは便利です。
%記法はrubyの記法的には使って良いのかな。
流石に便利だし使うよね。

早くrails勉強したいけど、基礎をきっちりやろうっと。

irbで日本語入力が出来ない場合の解決方法

なかなかrubyは環境設定面倒ですなー。
日本人の方が開発してるのに、何で日本語使えないんやー。
て事で、irbで日本語入力した場合に文字化けした時の対処方法です。
これも備忘録ゆえ、参考サイトのコピペです。
万が一、参考サイト様の記事が消えたら困るので保険です。

rbenvでの対処方法のようなので、それ以外はわかりません。

# 適用したいrubyバージョンが既にインストール済みの場合は一度uninstall
$ rbenv uninstall 2.5.1

# readlineのinstall
$ brew install readline
$ brew link readline --force

# readlineを利用してruby再install
$ RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline)"
$ rbenv install 2.5.1

これ通りやったら簡単に出来ました。
圧倒的感謝。

$ RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline)"

この記述が謎ですが、rbenvでインストールする際にreadlineを使ってねっていうおまじないみたいなもんなのかな。
正直、よく分からない設定をして後で何か他に影響ないか怖かったりするのですが、 目の前の問題を解決するには多少のリスクも致し方ないですね。

ちなみに、このような面倒な設定をすっ飛ばして、とりあえず使えればそれでいい、というのであれば下記の方法が一番簡単です。

irb --noreadline

ただこの方法だと副作用があります。
私はその副作用に耐えられなかったので根本からの解決を試みました。
て事で解決方法は以上です。

参考サイトはこちら。
qiita.com

やっぱりなんかruby面白いなー。
pythonも好きだけどrubyを本格的にやろうかちょっと悩む。

今宵はrubyセットアップ(rbenvのpath設定)

Mac Book Proを購入してからrubyを全くやっていなかったので少しセットアップをしてみました。
macに初めから2.3が入っていたのですが、何となく2.5がよかったので入れてみました。
rbenvを使うとバージョン管理が楽になるようなので、rbenvを使いました。

しかし、rbenvでglobal設定をしてもバージョンが切り替わらず...
調べてみると、rbenvのpathが通っていないようでmacに入っていたrubyしか呼び出さられない状況でした。

なので、.bash_profileを下記のように編集しましました。

$ vim ~/.bash_profile

# これを追加
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
# 設定を反映
$ source ~/.bash_profile

これでpathが通り、rbenvで指定したバージョンのrubyになりました。
備忘録として書いておきます。
まぁ下記のサイトをそのままやっただけなんですけどね。
そちらも貼っておきます。

keeponrockin.hatenablog.com

さて、これで久しぶりにrubyが出来る。
なんかrubyの学習サイトとか見てるとやたらcloud9を勧めてるの多い気がする。
自分のPCにちゃんと環境がないと嫌な私にはちょっと困りもの...
pythonIDEのオススメとか大体環境構築ちゃんと教えてくれるの多いんだけどなぁ。
IDEも何がいいのかわからないからとりあえずATOMでも使おうかな。
もうrubyはだいぶ忘れてしまっただろうなぁ...

数学を勉強中

さて、swiftも触ってみたものの、いまいち入り込めない私はやっぱりpythonに戻りました。
動くものを開発できるって言うのは凄く良いのですが、今からswiftをイチからガッツリやるのはちょっと厳しいです。
もう少しpythonを覚えてからじゃないとどっちも中途半端で終わりそう。

んで、私はやっぱり機械学習を最終的にはやりたいなと思っています。
今でもやろうと思えば出来るのですが、もっと数学的な知識が欲しいと思い勉強をしなおしております。
学生時代、私は全く勉強をしませんでした。
ほら、ちょろっとやってるのに全く勉強してこなかったからキツイわー、みたいな表現する人いるじゃないですか?
私の場合はマジで全くやっていないのです。
中二の途中からしょーもない事ばかりやっていたので学校にもあまり行ってません。
受験勉強なんかした事ないし、高校は定時制に行きましたが色々あってすぐに退学しました。
なので最終学歴は高校中退、まぁ中卒ですね。

とは言え、私はいいオッサンですがこれまで学歴で困った事はありません。
自分で会社をやったりしていましたし、ダメでも周りの方からの助力があったので今までやってこれました。
勉強は出来ませんが、考える能力は備わっていたようでこれがあれば生きて行くには困らないようです。

とまぁ、こんな私が数学を勉強し直すわけですからホント人生とは分からないものです。
中1からの数学を勉強をし直してみたのですが、まず分数の足し算、引き算が怪しい事が判明。
なのでまずは算数からだと言う事で、通分、約分から勉強しなおしました。
現在はやっと中1の過程が終わって中2の数学をやっています。

この歳になると、学生時代ではお経、またはどこぞの文明の暗号にしか見えなかった数学が何故か楽しく感じます。
きっとテストで良い点を取る為の勉強ではなく、目的があるからなのでしょう。
ぶっちゃけ、数学のほとんどは普通に生きてる分には使わないと思うけど、「数学的な思考」って言うのはあって損はない気がします。
特に文章問題をやっていると自分のアホさ加減が良く分かるw
アホすぎてちょっと自分が嫌になる事もしばしば…w
でもこの文章問題を沢山解くことで、プログラムにも活きてくるんじゃないかと実感しましたね。
インプットしてアウトプットするのはプログラムも一緒なんです。
私の人生にはもしかしたらこのような数学的思考が足りなかったのかもしれません。

そして時代の恩恵と言いますか、今はネットで沢山の学習資料があります。
お金を掛けなくてもそれなりに学力が身につくと言うのは、私の時代では考えられなかったです。
いまはyoutubeにも沢山授業動画があって、そして凄い分かりやすい。
現役の学生さんがこれだけで勉強するには少し物足りないのかもしれないけど、基礎を学ぶなら十分な教材の一つになる気がします。
こうゆうのが私の時代にもあったら、もしかしたら違った人生があったのかもなー、なんてしょーもないタラレバを考えてみたりw
うらやましい限りです。

早く微分積分に辿り着かないといけないので、GWは勉強漬けです。
私のオススメ教材をリンクしておきます。
学生さんにも私のようなオッサンの復習にもきっと役立つものだと思います。

19ch.tv

www.eboard.jp