tktechblog

日々の記録用です。blockchain,bitcoin,ethereumメインです。

1007_ssh認証系でなぜかよくハマる

ssh認証系でよくハマる。
macvagrant(centOS)
macvagrant(ubuntu)

vagrant(centOS)→github
vagrant(ubuntu)→github

基本的に触ってきたけど、一番ミスりやすいポイントは

  • 秘密鍵と公開鍵がきちんと対応関係にあるか
  • ssh-agentはきちんと設定されているか
  • githubに公開鍵はきちんと登録されているか
  • ssh-add -lを打ち込んだ時にきちんとパラメーターは出るか。

これで大体はカバーできるような気がする。

どうしてもよくわからない時は、秘密鍵と公開鍵をHost環境(mac or windows or linux)で作り直して、Guestに渡す。

  • 参考ページ

ssh-agentを使ってVagrant上のゲストOSからMac側の秘密鍵を使えるようにする | Firegoby

SSHなるものをよくわからずに使っている人のための手引書 - Qiita

1006_ubuntuでvi/vimを使った時に打ち込みができない時の修正方法

ubuntuでvi/vimを開いてテキスト修正をしようとすると矢印キーを操作しようとするとABABCAのようにアルファベットが記入され、「あれ?これなんなん?」みたいな感じになりました。

原因

ubuntuのviではデフォルト設定として矢印キーにアルファベットABCDが設定されている。

これが原因でviでテキスト修正しても全くうまくいきませんでした。
そんなわけで修正方法をググりました。

解決方法

色々あるが、ubuntu環境にvimをインストールするのが早い。
現在vimがインストールされていてもそれを削除する必要はなく、$ sudo apt-get install vimと打ち込めば上書きされます。

その後$vim --versionでインストールされているか確認してみましょう。

できていれば矢印キー (↑↓←→)を入力すると(ABCD)になってしまうキー設定も修正され、他の環境と同じように通常通りのvimの修正作業が行えます。

1005_今日の開発で手こずったこと

今日はデプロイまでの流れの中で、主にvpsにデプロイする際のデプロイ環境で非常に手こずりました。(というか今日終わっていない)

環境構築をしていていくつか感じたことがあります。

1.インフラ、ネットワーク周りの言葉がインプットできていない。

なんとなくはわかるのですが、やはりフロント周りやVRの領域と異なり、基本的な言語知識、能力とはまた別次元の考え方、作業の進め方が必要なのだなと思いました。

そもそもシェルスクリプトも、デプロイツールも、開発環境、テスト環境、本番環境間のスムーズな設定もvagrantのような仮想環境構築やdockerのようなコンテナ管理など、正確な理解を持っていませんでした。また、ポートやリバースプロキシ、nginxやapacheunicornやpassangerなどの違い、DB(sqlite/mysql/posgre)などの差や、デプロイツールのcapistranoやら出て来たときはナンノコッチャと思ったりもしました。

2.どういったロジックでデプロイに行き着くのかよくわかっていない。

herokuのようなほとんど設定の必要のないものは問題ないですが、VPSのようなものやaws EC2のようなものだと動くことは動くけどロジックがはっきりわかっていないようなものもあります。ここら辺はとりあえず動かしてから、そこからなんで動いているのか考えるような流れで進めていこうと思ってます。 ネットワークはどうなっているのか、データベースはどうなっているのか、今まで以上に外観を理解し、各所詳しく学習していくことが必要だと思いました。

3.セキュリティが怖い

最近気になってるのが主にセキュリティです。デプロイする際に一度githubの方にpushしてからgithubを経由してdeployを試みたのですが、その際に謝って公開鍵ではなく、秘密鍵をpushしてしまうことがありました。その後、コミット履歴を取り消す方法を調べことなきを得たのですが、qiitaやその他情報ツールを参考にするときもパスワードやサイトに関わる情報をどの程度公開しても良いのか非常に悩んだりもしました。まずは小さくデプロイしていって、徐々に慣れ次第、セキュリティの学習も踏まえつつ拡大していきたいと思いました。

結論

とにかくアウトプットしてデプロイして失敗して修正しよう。サーバー代は勉強代だと割り切る。

人工知能とブロックチェーン

人工知能(機械学習、深層学習)は人間機能のばらつきに均質性を持たせ、人がやる作業よりもっと正確にもっとスビーディーに効率よく作業をこなしてくれる。深層学習、強化学習、深層強化学習の領域では、データアセットの量とクオリティこそがものを言う。そこを人が都度都度目視で確認し、処理をして行くのは非効率だし時間がかかる。

ブロックチェーンで特にスマートコントラクトなどの技術、一定の取引処理アルゴリズムを描き、そのアルゴリズムの条件に達したものは取引処理され履歴が残る。ブロックチェーンはP2Pネットワークにより數十分単位で新たなブロックは繋がれ、マイナーがしのぎを削っているため、事実上改ざんは難しい。と言うかあのハッシュ関数を突破し、マイナー競争を突破してまで改ざんするのはコスパが悪すぎるし、チェーンは不可逆性を持っているので履歴でバレる。非常にリスキーである。

未来は人間機能はコモディティ化され、単純処理ではなく、その機会をどうオペレートして行くかという部分に注力することができる。強化学習用のデータアセットもクオリティの高いものが取れるので合理的だ。

ブロックチェーンによって履歴は共有され、改ざんはされにくく、劇的に管理コストと価値共有コストも下がる。ただ浸透までにまだ何十年もかかりそう。

ただ、ブロックチェーンが新しいインターネットになるのはかなり可能性が高いと思う。だからその何十年も先を見通して、辛抱強く開発を進めていこう。 人間機能も発散され、インターネットもweb上だけでなく、リアルな現実社会に溶け込んでくる。IOTからIOA(Internet of ability)の時代が来てから自分たちはどう生きて行くのかを夢想しながら頑張って生きたい。

1005_書評6:DIAMONDハーバード・ビジネス・レビュー 17年8月号 (ブロックチェーンの衝撃)を読んだ

本書で世界的なブロックチェーンへの関心の高まりだろうか、ブロックチェーン関連の特集が組まれた。以前立ち読みして少し見ていたので、今回、改めて全編通して読み通した。

この本はブロックチェーン、仮想通貨に関して5編の寄稿から成り立っている。登場人物は以下の5人。

1.ブロックチェーン活路は人工知能との連携にあり 北野宏明 ソニーコンピュータサイエンス研究所 代表取締役社長 2.ブロックチェーン:ビットコインを動かす技術の未来 鳩貝純一郎 「ビットコインとブロックチェーン:暗号通貨を支える技術」翻訳者 3.仮想通貨に「信頼」は成立するのか 国立情報学研究所 准教授 4.ブロックチェーンと企業戦略 マルコ・イアンシティ ハーバード・ビジネス・スクール教授 5.Fintechで勝ち取る企業の条件 林野 宏 クレディセゾン 代表取締役社長

この本を読んで色々感じたこと、今までブロックチェーン、仮想通貨に関して考えてて事業をする際に何かうまい切り口はないかなと考えていてなんとなく感じたことがあった。

ブロックチェーンの浸透には時間がかかる

ブロックチェーンに関してずっと調べているがおそらくこの技術の浸透には結構時間がかかるような気がする。理由は、小さくプロダクトを作ればそのプロダクトだけでプロダクト以外に調整作業など必要なくひとりでに社会に浸透して行く「破壊的な技術」ではなく、既存の経済・法律・政治システムと協調をとり、話し合い、少しずつ少しずつ社会との協調の上で旧体制のレガシーシステムを完全に置き換える「技術的基盤」であるからである。

インターネットの成り立ちと似ている

インターネットは僕らが生まれるより昔から少しずつ社会への実証実験とともに育っていった。それが社会に完全に取り込まれ、僕らの生活の一部になったのは、TCP/IPが1970年代にIEEEからA Protocol for Packet Network Interconnectionという論文が発表され、それがARPANET上で研究者たちがメールの送受信のためにTCP/IPが単体で使われた。その後、社内で非公開の情報共有ネットワークを築くために用いられ、その後1980年から1990年代にはサンマイクロシステムズ、ネクスト、HPなどの多くの企業で導入され、WWWによってインターネットで世界は繋がり、既存の産業を置き換えるためにアマゾンは仮想空間上の本屋に、エクスペディアはネット上の航空チケット販売所、になった。その後、P2Pアーキテクチャーによって既存の商業システムとは全く異なるものになった。個人間でのやりとりによってビジネスが成り立つようになった。通信技術で言えばskype、リンクによって世界の情報に飛ぶ検索エンジンを作ったgoogleなどだ。こんな風に、インターネットの成り立ちと同じようにブロックチェーンはきっと世界をよりよくする。だけどそれを長期的なスパンで、未来を先読みし、忍耐強く、未来を信じて仕組みを作り続けるべきだと思った。

ブロックチェーンはインターネットによって広がった貧富の差を補完しうる

インターネットは多くの人に一部の人にしか得られなかった情報へのアクセス、サービスへのアクセス、個人の声を世界に届かせる、国境を越える、人々の暮らしを便利にするなどのメリットを与えてきた。確かに大部分の人の生活は豊かになったけど、ある種資本主義の経済システムから外れた人にとっては、情報格差によって貧富の格差が拡大したとも言える。本来、世界中の全ての人に等しく同じ機会の平等をもたらすために作られたものなのに実際は多くのIT企業が巨万の富を築き、富の集中が起こり、貧富の差と情報格差を生んでいる。ブロックチェーンはそんな資本主義の概念から外れた人の助けになりうる。例えば、銀行口座やクレジットカードを持てない人の金銭の送受信の手段として。資金力がなく多くの人たちが弁護士、会計士、労務士などの専門家などをやとえなかったり、買い掛け金、売掛け金に悩まされていても、スマートコントラクトなどの技術によって管理コストは劇的に減るし、金銭の移動も低コストで即時性を持つことができる。もう組織の大きさ、お金やものをたくさん持っていたり、権威が何より重要な時代じゃない。

1004_ruby(dot/pro)

今日のまとめ

dev

ruby

  • dotinstall(全て完了)もう一周するかpaizaでアルゴリズムやるか検討。ドキュメントを読み込む。
  • progate(久しぶりにやったがすごくよかった。)

githubの整理

biz

家入さんの本 ビジネス分析 K

  • github pushとブログ更新。
  • 本を読む。要約。
  • biz分析:新たな知見が得られた。

P

  • 起きるのが遅い。作業開始が遅い。
  • 書類関係(ib:再配達連絡や口座登録などを忘れた。 )これは先に済ませた方が良い。
  • ドキュメント関係調べるのを忘れた。
  • 時間の密度が低い。
  • Biz関係に手が回らなかった。
  • devでデプロイまで持っていけなかった。
  • 開発kpiが全然守れていない。kpiがそもそも意識されていない。
  • 目標が曖昧。

T

  • vpsawsでデプロイまでのルートを整えておく。時間がなければheroku →明日はrailsvpsでとりあえずデプロイまでの導線を速攻で作る。
  • 読書と開発インプットの時間の密度をあげる工夫をする。
  • 作業開始をもう少し早い時間にする。
  • 時間あたりのポートフォリオをもっとかんがえる。
  • タスク処理と、クリエイティブな時間を分ける。
  • pdcaを意識する。数値目標kpiなどを必ず追う、達成する。
  • もっと具体的な目標を立てる。
  • 短期目標と中長期目標をきちんと設定する。必ず進捗を達成する。一度遅れてもペースを崩さず、トータルでクリアする。
  • 午前中に雑務を終わらせる。