なかっちゃんtech blog

勉強会とか日々の勉強の記録

Ruby on Rails触ってみました

テストも落ち着きました.あとは英語1つだけなので実質春休みみたいなところはあります.来週には東京です.いやー楽しみです.ScalaMatsuri楽しみです.

なんでScalaって言ってたのに急にRailsをいじってるんだ(しかもRubyですらない)と思われそうですがまあバイトでじゃあやってみよーってなったので(笑) しかし環境ろくにできてなかったので最初に環境作成からです.(これがまた1時間かかった)

Rails環境構築

Apple Command Line Tools

結論からいくとこいつが1時間もかかった犯人です.ここからDLできます.これは一体なにがまとまっているToolなんだろうか調べてもいろんな問題の解決に導いているツールですねw(なんで今まで入れてなかったんだろう).実際,この中のどのツールが解決に導いたかはわかんないです.

homebrew

これもまた普段からつかってるのに全然メンテナンスしてないから問題いっぱい抱えてました.libxml2が入ってないエラーとPATHの問題でした.

 export PATH="$HOME/.rbenv/shims:$PATH"

を追加してhomebrewが普段から抱えている問題を解決しました.(これに関しては完璧に普段の自分が悪いですねw)

rails install

これはまあ上記の問題を解決したらいっぱつで

sudo gem install rails

で一発ですね.

ps:エラー文読むって大事ですね

最初はもちろんHello World

今回はこの本の3版を参考にさしました.こちらに原文のまま載ってますね.この順番に行きました.

rails new railsbook
rails generate controller hoge

あー Dive into Codeの勉強会で やったなあそういえばって感じです.とりあえずsqlite3でしたっけ?DB周りくらいまでいって本日は終了でした.

今日のメインはRailsより環境構築だった感じがすごいする.はいテスト終わりであんま記事は書かないでおこう.

HTTPSと表皮効果

今回は2つのお題がつながっているようでつながっていないような話です.

HTTPS

最近ブラウザでSHA-01だと怒られるようになりましたね.詳細はこのサイトがよかったの で 管理者たるもの証明書周りはちゃんとしなきゃなー(自動化してない)(自分への戒め

Let’s Encrypt

僕は自宅サーバー時代からお世話になってますねーなんせ無料でいい感じですから今でもgitbucketに使ってますよ.(ちなみにブログにプログラム載せるときはこのリポジトリ使っていきますね)

ACMEプロトコル

今日はこれのお話がしたくてですね. Let’s Encrypt専用のプロトコルなんですね.うちのサイトはここのツールを使って証明書周りをやってます.まあ所詮無料と言うことで使われるところはかぎられますけどねー(笑

表皮効果

あとですねLANケーブルのことについて勉強してたんですけどなんでより対線があるかって話であれ受信と送信用で流れる電流の向きを逆にすることで磁界をお互いに打ち消す合うようにできてるんですね.へーって感じでした. このサイトが良い説明してくれていたのでちょっとだけ(こっから電磁気ガンガンはいりますね)

まあここで Maxwell’s equationsより (texをやろうと努力しましたが折れました)
f:id:kaoru1615:20170208223921p:plain ※画像は http://www.geocities.jp/sugachan1973/doc/funto105-no410.html より

まあこれで説明終わりでもいいんですけど(これは自然はこういう風になってるのでまあツッコミどこもなく) ③'の式に"これを使う"て書いてあるんで僕の解釈だけすこしいれましょうか,磁界にたいしてナブラの外積(rot)をとると電流がでてくるんですよね.これが導線中心部の抵抗(電流の打ち消しとでも言うのでしょうか)になっているんですね.わかりやすく言うと電界が発生してそれを妨げるように電流が発生する,その電流がもとの電流と逆なんで打ち消す位の感覚ですね.

というわけで今回は今話題のSHA1のながれでHTTPSとそれをささえるLANケーブルがなぜより対線なのかという理由でちょっと電磁気してみました.

ps:話題と言えばWordPressやばそうですね,サイトをもっているかたはさっさとアップデートしてくださいね

未踏講演会に参加してきました

お話聴いてきました

第11回未踏塾講演会 - 未踏塾プロジェクト

まあ学内でやってくださったので行く手間もなくよかったです.じゃあこっからいろいろ書いていきますね.

言葉的なあれ

一番悪いことと一番いいことはつながっている
かんたんなことを秘密にする
社会もOSI参照モデルとおなじで上に行くほど抽象度がたかくて下に行くほど具体度が高い

なにも考えない

以前打ち上げで言われた"大人は学生が考えてる以上に何も考えてない"って言う言葉が身にしみますね.考えすぎなのは昔からですがこれがまあまずいのでしょうって.講演聞きながらなんでこんなに純粋に好きなことを追っかけられるんだろうって,思ったんですけど自分のなかでの解決なのでまあその程度なのですが(これからすごい失礼なこと書きますが)たぶん"このことが知りたい"って思ったらそれ以上にこまごま考えずに行動するんだろうなって思いました.僕はここでいろいろ考えて結局しないのかなってそれが違うんだろうなって.

感想

まあまずさすが未踏というかはい…すごいです.ってのが講演聴いてたときの感想ですね.ここまで好奇心で行動できるってすごいなって思いました.HackerzLabの打ち上げとはまた違うことを感じました.なんというか登氏もおっしゃられていましたが"おもしろいと思ったことについて追いかける"っていう追いかけ具合が違うというか,じゃあ話を聴いて俺はなにしたいんだろうって思いました.いろんなことには手をだしてるけどまだ定まってないんですねよ.やりたいことはいっぱいありますがあるだけで行動できてないなって,これから俺じゃなにをしようかなってせっかく大学にいるんだから今しかできないことをしようって思ってます.(まあこれをみて某友人にまーたぶれるんかいとか言われるの怖いんですが) ほんとになにしたいんだろう,好奇心は大学にはいって高校のときよりも旺盛になりました(笑.じゃあ次は行動をする練習かな.人の真似でもいい,自分のペースでいいから次はこれをやろうって.

東京行くまでに本2冊仕上げる を目標にやっていこうとりあえずShell Scriptとセキュリティまずここから初めていこう

ぜんぜん自分のなかでまとまらないんで講演の内容とかは書いていません.とりあえず忘れちゃいけないことをここに書きました.

HackerzLab.博多に参加してきました

ご無沙汰に外の勉強会に行ってきました.そこでのお話をすることと自分がわかっていないことの復習を兼ねていきます.(復習と言ってもその用語自体の詳しい説明はしてないですけどw)

HackerzLab.博多とは

Facebookをここに笑
詳細はリンクをどうぞ.一番メインのところを載せときますね.

Hackerz Lab.博多とは次世代のホワイトハッカー育成の為の団体です。 私たちと一緒に次世代のホワイトハッカーを目指してトレーニングしてみましょう。

この一文につられて勉強会に参加しました.博多にこんな勉強会があったのかwと思いました.

CTF

暗号

今回の問題はシーザー暗号でした.まあそれ以外の暗号も幾つか調べてみました.(いうほど調べてない)

シーザー暗号

base64の親戚かと思って調べて見たら違うんですねw単純に文字列をずらすだけなんですね.文字列をずらす文字数も変わっていいんですね.一応wikipediaの引用を

シーザー暗号は単一換字式暗号の一種で、平文の各文字を、辞書順に3文字分シフトして暗号文を作る暗号である[4]。古代ローマの軍事的指導者ガイウス・ユリウス・カエサル(英語読みでシーザー)が使用したことから、この名称がついた[3]。文字のシフト数は固定であるが、3に限る必要はない。例えば左に3文字分シフトさせる場合、「D」は「A」に置き換わり、同様に「E」は「B」に置換される。シーザー暗号はヴィジュネル暗号などの部品として使用されることがあるほか、現代でもシフト数を13にした方式としてROT13が使用されることがある[5]。シーザー暗号は他の単一換字式暗号と同様、容易に解読されるため、今日の通信セキュリティにおいては効果的ではない[1]。

やっぱシフトする数は3がデフォルトなんですね.暗号としては本当に基本的なやつですよね.ROT13とかあったなぁ.

秘密鍵暗号,公開鍵暗号

これに関してはセキュリティの別記事にて書こうかなと思っています.

base64

ここを参照しました.どこぞの団体のCTFでお初におめにかかりボコボコにされた記憶が笑
今こうやって振り返るとこんな変換方法だったんだなという感じです.今ならすっと入ってきますね.文字列の最後が ==ならbase64を疑えという話でした.今度プログラム実装してみたいなぁ.

Exif情報

画像がきたら位置情報を探るんだろうなーくらいは感覚的に思いましたけどまあ見事ビンゴですね. ただExif情報という名前は初めて聞きましたね.

Exchangeable image file format(エクスチェンジャブル・イメージ・ファイル・フォーマット)は、富士フイルムが開発し、当時の日本電子工業振興協会 (JEIDA)で規格化された、写真用のメタデータを含む画像ファイルフォーマット。デジタルカメラの画像の保存に使われる。略称はExifで「エグジフ」(もしくは「イグジフ」)。 カメラの機種や撮影時の条件情報を画像に埋め込んでいて、ビューワやフォトレタッチソフトなどで応用することができる。Exif2.2ではExif Printという規格を組み込んでおり、撮影時の条件情報を元に自動的に最適化を行って、的確な状態でプリント出力を可能にしている。また撮影者や著作権情報、コメントなど付随することが出来る。 対応画像形式はJPEGTIFFJPEG XR(HD Photo)。

SNSとかに写真を載せてこれを元に場所がバレるみたいな話はききますね.ほんとに怖い.

正規表現

オートマトンの講義でも若干ふれたなぁって感じで教科書を引っ張りだしました.講義でやったのは任意の文字列を受理するオートマトンのお話でした.これだと^\s$なんてそりゃあ知らねえなぁって思いました.(下手したら.で全部の文字列受理で終わっちゃう)

MSに一覧が載っていたので載せますね.これからShellScriptをいじっていくのでのちのちきちんとお勉強することにはなるでしょ.今回の行数カウントで今回はきちんと正解できましたが行の中にtabとかあったら心配になるような回答を用意したのでうんー って感じですね

ホスティングクラウド業者,OSの特定

実際の問題の中ではここを使って回答しました.ホスティング業者ってまあ特定できるんですね.しっかしAWSとかって特定できるのかなぁ,グローバルIPからわかるんですかねえ,たぶんそうだななんか特定できねえかなこれは調べてみます.

はい次はOSの特定ですね.これで思ったのはnmapおまえこんなに強いコマンドだったのか所詮開いてるポート調べるだけのやつかと思ってたごめんよ.ですねw

パケット解析

Wiresharkすげえ

一昔まえは全然使いこなせなかったのですがまあ最低限は使えるようになったかなーって感じですね.パケット監視が趣味にならないように注意しなきゃ

感想

書いてる時点でむっちゃ眠いんで若干?手抜きですがまあまた見ても少し調べれば感覚戻るかなって感じで書きました.これからもできるだけ参加していきます.

方針だけここで

まず最初に

ブログを作成しました.定期更新しようとするから続かないということがわかったので(今までの経験で),今回は何かあったときしか更新シません.

なにを書くか

勉強会

ここがメインです.学外の勉強会に言ったときに学んだこと,やったことを書いていきます.

気になる技術

いろんな方法で情報収集を行ってますが,それできになること,関連技術について書いていきます.

明らかに自分用のメモ

これは題のとおりで日頃の勉強でこれはいるってのがあったら書いていきます.

基本的に木曜更新できたらいいなという感じです