飽き性人間はいつまでブログを続けられるか

どうも、さかもとです。非常に飽き性な僕がいつまでブログを続けられるか観察したいと思います。1ヶ月更新が途絶えたら終了です。

Linux環境でコマンドでのLiveUSB作成

UbuntuPCでLiveUSBを作成しようとしたのですが、専用のツールがなかなか見つからない&見つかったけどエラーが出るという状態だったのでターミナルでググりながらなんとかしました。 そのコマンドを記録しておこうと思います。

USBをドライブに挿入、以下のコマンドを実行します。

dmesg

ログの末尾にUSBを挿入したメッセージが表示されているのを確認します。 接続デバイスの名前をメモします。この場合、「sdb」がデバイス名です。

[ 170.171135] sd 5:0:0:0: [sdb] Attached SCSI removable disk

マウントを確認

sudo findmnt /dev/sdb

コマンドから何も出力されなければ次に進めます。
何かしらの出力がある場合、アンマウントをする必要があります。以下はその例。

sudo findmnt /dev/sdb
TARGET   SOURCE   FSTYPE  OPTIONS
/mnt/iso /dev/sdb iso9660 ro,relatime
### unmount
sudo umount /mnt/iso

ddコマンドを使ってISOイメージを直接デバイスに書き込みます。

sudo dd if=/path/to/image.iso of=/dev/devicename bs=blocksize

/path/to/image.isoにはダウンロードしたISOパスとファイル名、devicenameにはgmesgコマンドで確認したデバイス名、blocksizeには書き込みプロセスが迅速に行われるように適切なブロックサイズを入力します(512kなど)。

バイスへの書き込みは進捗バーが表示されません。$プロンプトが表示されたらデータ転送は終了です。

Ubuntu 18.04でRuby On Railsをセットアップする(MySQL, PostgreSQL)

こんにちは。

Ubuntuの次の長期サポート版であるUbuntu 18.04 LTSが2018年4月26日にリリースされますね。Ubuntu好きとしては楽しみです。

ちなみにコードネームは「Bionic Beaver」、日本語で「超人的なビーバー」です。

私は古いwindowsPCにUbuntu 17.10を入れて動かしています。

今回は4月のリリースに向けてUbuntu 18.04用のRailsdでの環境構築を記録しようと思います。 f:id:slopebook:20180225145150j:plain

Ubuntu 18.04でRuby On Railsをセットアップ

RailsでWebpackerのサポートに必要なものが揃っているか確認するため、まずNode.jsとYamリポジトリをシステムに追加、インストールします。

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev nodejs yarn

次にRubyをインストールします。今回はrbenvを使います。

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install 2.5.0
rbenv global 2.5.0
ruby -v

最後にBundlerをインストール

gem install bundler
rbenv rehash

Gitの設定

バージョン管理システムにはGitを使用しますので、 Githubアカウントと一致するように設定してください。

git config --global color.ui true
git config --global user.name "YOUR NAME"
git config --global user.email "YOUR@EMAIL.com"
ssh-keygen -t rsa -b 4096 -C "YOUR@EMAIL.com"

新しく生成されたSSH鍵をGithubアカウントに登録します。
次のコマンドを実行し、出力内容をこちらにコピペします。(New SSH key → Key入力欄)

cat ~/.ssh/id_rsa.pub

動いてるか確認。

ssh -T git@github.com

成功している場合、以下のメッセージが表示されます。

Hi excid3! You've successfully authenticated, but GitHub does not provide shell access.

Railsのインストール 最近のRailsにはたくさんの依存関係があるのでNode.jsのようなJavascriptランタイムをインストールする必要があります。
Node.jsをインストールするには、公式リポジトリを使用してNode.jsを追加します。

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

そして、Railsをインストール。

gem install rails -v 5.1.4
rbenv rehash
rails -v
# Rails 5.1.4

ここからはMySQLPostgresqlの設定。

MySQLの設定

sudo apt-get install mysql-server mysql-client libmysqlclient-dev

PostgreSQLの設定

sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-common
sudo apt-get install postgresql-9.5 libpq-dev

PostgreSQLのインストールではユーザが設定されないため、データベースを作成する権限をもつユーザを作成する必要があります。
<YOUR NAME>に設定したい名前を入れてください。

sudo -u postgres createuser <YOUR NAME> -s

# If you would like to set a password for the user, you can do the following
sudo -u postgres psql
postgres=# \password <YOUR NAME>

Railsを動かしてみる

#### sqlite3の場合
rails new myapp

#### MySQLの場合
rails new myapp -d mysql

#### Postgresの場合
rails new myapp -d postgresql
#### Postgresの場合、config/database.ymlにusernameとpasswordを設定してください。

cd myapp

rake db:create

rails server

これでOKです。
http://localhost:3000/
Railsのあの画面が表示されるはずです。

REST

これらを読めば良さそう。

Representational State Transfer - Wikipedia

 

qiita.com

www.webprofessional.jp

アプリケーション層(WWW,HTTP,SSL)について

こんにちはさかもとです。

更新が1ヶ月以上空いてしまいました。。

飽き性ですね。。

 

今回はアプリケーション層のWWW, HTTP, SSLについて僕みたいなアホでも簡単に説明できるようにまとめました。

 

アプリケーション層とは

OSI参照モデルの中身の1つ

・ネットワークを利用するアプリケーションとやりとりする部分に関するプロトコル

アプリケーション層には以下のプロトコルがあります。

BGP / DHCP / DNS / FTP / HTTP / IMAP / IRC / LDAP / MGCP / NNTP / NTP / POP / RIP / ONC RPC / RTP / SIP / SMTP / SNMP / SSH / Telnet / TFTP / TLS/SSL / XMPP

WWW

World Wide Webの略。よく「ウェブ」って呼ばれてます。

「文書や画像、動画などを公開したり、閲覧できる仕組み。」です。

こちらの記事がわかりやすいです。

saruwakakun.com

 

HTTP

wikiより

Hypertext Transfer Protocol

HTMLなどのコンテンツの送受信に用いられる通信プロトコルである。主としてWorld Wide Webにおいて、WebブラウザWebサーバとの間での転送に用いられる。ハイパーテキスト転送プロトコルとも呼ばれる。

HTML や XML によって記述されたハイパーテキストの転送を主な目的としているが、それ以外にも、バイナリ形式の画像、音声を含め、様々なデータを扱うことが可能である。その汎用性からセンサーからの定期的なデータの取得などにも用いられる。

TCP/IPのアプリケーション層

・WWWにおいてWebブラウザとWebサーバ間の転送 

・HTMLやXMLの転送が目的、バイナリ形式の画像や音声など様々なデータも扱える。

HTTP、HTTP1.1、HTTP2の違い

HTTP

1つのリクエストに対して1つのレスポンスを返す。

リクエストは1つずつ。

HTTP1.1

クライアントが複数のリクエストを同時に送れるようになったが、その場合も必ずリクエストされた順で1つずつレスポンスを返す

HTTP2

HTTP2の最大の特徴は、「ストリーム」という概念を導入したことだ。これによって1つのコネクション内で同時に並行して複数のリクエスト/レスポンスを処理できるようになった。

 

HTTPS

wikiより

Hypertext Transfer Protocol Secure

HTTPによる通信を安全に(セキュアに)行うためのプロトコルおよびURIスキームである。厳密に言えば、HTTPS自体はプロトコルではなく、SSL/TLSプロトコルによって提供されるセキュアな接続の上でHTTP通信を行うことをHTTPSと呼んでいる。

HTTP通信において認証や暗号化を行うために、ネットスケープコミュニケーションズによって開発された。当初、World Wide Web上での個人情報の送信や電子決済など、セキュリティが重要となる通信で使用されるようになった。その後、公衆無線LANの普及やPRISMによる大規模な盗聴ネット検閲への対抗などを要因として、あらゆるHTTP通信をHTTPSに置き換える動きが活発になっている

・HTTPにSecureを追加したもの(後に説明するSSLが使われてます)

・HTTP通信で認証や暗号化を行うため開発された。 

こちらの記事がわかりやすいです。

knowledge.sakura.ad.jp

 

SSL/TLS

SSL(Secure Soket Layer)・TLS(Transport Layer Security)とはネットワーク上のデータを暗号化するためのプロトコルWebだとURLが「https://」となっている。

個人情報などの機密性の高いデータを送受信する際、このSSL/TLSを導入することで第三者による改ざん、なりすましを防ぐ。

SSLTLSの違い

TLSSSLの次世代規格

・厳密には別物だが、いずれも安全に通信をするためのセキュリティプロトコル

こちらの記事がおすすめです。

qiita.com

 

最後に

ちなみにURLのhttps://www.google.co.jpは、

https = プロトコル名(sがある場合SSLを使用)

www = ホスト名

google.co.jp = ドメイン

です!

最近やっていることとこれからのこと

お久しぶりです!さかもとです。

ブログ初めて約三日で更新しなくたりました。

根っからの三日坊主ですw

 

今回は最近やっていることを記録します。

 

Webアプリ作成をDjangoからRailsに変えた

前までは頑なにPythonでプログラミングを行なっていましたが、Djangoの資料が少なくてRailsに手を出してみました。感想はめちゃくちゃわかりやすい!参考資料多い!って感じでした。個人的にですが。

「めちゃくちゃわかりやすい」っていうのはDjangoのファイル構成と似ており、ドットインストール等で1回学べばある程度わかるようになりました。おそらくDjangoやってなかったらスルスルと頭に入らなかったと思います。

「参考資料多い」というのはそのままですね。Railsでわからないことがあったらとりあえずググっとけば困ることはあまりありませんでした。Djangoではわからないところググってもわからないことが多かったのでこの点でRailsが良いと感じました。

 

Webアプリは1週間ちょい前に作り初めて8割ほど完成。1ヶ月くらいかけて作るつもりが思いの他早かったため、最近はゆっくりやってます。(はよ完成させろ)

 

3DCGに挑戦してみた

なんとなく興味があった3DCGに手を出してみました。使ってるパソコンがMacBook Airなのでスペックが足りないと感じます。

ソフトは

Sculptris 粘土をこねるようにモデルを作成するやつ

Thinkercad ブラウザでモデル作成

Blender アニメーションや骨格作成

Unity 色々

って感じで作ってます。

 

BlenderPythonスクリプトで物理シミュレーションを生成できるのでそれやって行きたい。

Unityはゲームを一からビルドまで簡単に作成できるところに感動しました。ただスクリプトC#なのが辛い。。

 

これから

Webアプリは1月中に公開させる。

課題はセキュリティ面がよくわからん(調べてすらいない)、法律的なのもよーわからん(利用規約とかになんか書くんかなあ)。

3DCGでは物理シミュレーション、アニメーションで動画作りたい。課題はC#

 

終わりに

今日気づいたのだが「シミュレーション」を「シュミレーション」だと思ってた。

ちょっと変わってる?偉人・成功者たちの「不思議な習慣」

どうも、さかもと(slopebook___)です!

 

今回は「偉人」、「成功者」たちが実践していた”不思議な習慣”をピックアップしてみました!

やっぱり偉人の方々は変わっている人が多いですね、、!

 

毎朝、鏡の中の自分に語りかける

f:id:slopebook:20171220222157j:plain

スティーブ・ジョブズ

アップル社創設者の1人であり、ピクサー・アニメーション・スタジオの創設者。元アップル(Apple)社CEO。1955年2月24日生まれ、2011年10月5日没。
略歴
1976年、アップルコンピュータを設立。1981年に解任され、1985年に退社。同年NeXTを設立し、1986年にピクサーPixar)CEOに就任。iPodiTunesMac OS XiPhoneMacBook AiriPadなどの製品をヒットさせた。

・毎朝鏡の前に立ち、自分自身に「もし今日死ぬとしたら、今日やろうとしていることは本当に自分がやりたいことだろうか」と問いかけていたという。

 

同じTシャツ20枚をずっと着回す

f:id:slopebook:20171220223250j:plain

マーク・ザッカーバーグ

ハーバード大学在籍中にソーシャル・ネットワーキング・サービスサイト、「Facebook」を開設した。開設に際しては、同大学計算機科学部生のアンドリュー・マッコラム、ルームメイトだったダスティン・モスコヴィッツやクリス・ヒューズなど、他のハーバード大学の学生が協力した。現在、ザッカーバーグFacebookのCEOに就いている。2010年のTime誌「Person Of The Year」に選ばれた。

・ 常にグレーのTシャツでメディアに出演することについて、ザッカーバーグ氏は「20枚くらい同じものを持っており、着回している」と答えた。

洋服の収納もほとんどが妻プリシラ・チャン氏に使われ、「自分の収納空間はあまりない」とも述べたという。

・新しいことを考えるために、服装に時間をとられるのは無駄でしかない。

スティーブ・ジョブズも10年間同じような服を着続けたのはあまりに有名。

・「くだらないことや、浮ついたことに時間を使うと、自分の仕事をしていない気がする。私はFacebookを良くすることに全ての時間を使いたい」と述べた。

何もない山荘に1週間こもり、読書をする

f:id:slopebook:20171220224140j:plain

ビル・ゲイツ

2014年版の米国の長者番付で、米マイクロソフト(MS)創業者のビル・ゲイツ氏が21 年連続でのトップ。

ビル・ゲイツは何もない山荘に1週間こもり、読書をする習慣があった。

・場所はアメリカのどこかにある山荘らしいのだが、その場所は家族も知らないとのこと。

外界と一切の連絡を断ち、食事と睡眠以外のすべてを「読書」に費やす1週間。 

・これは「ビル・ゲイツのシンクウィーク」とか「思考習慣」と呼ばれ、世界を変えるようなマイクロソフト社の決断やアイデアはこの期間に生み出されていることが多い」と言われている。

 

鏡に映る自分を見つめながら目標を思う

ウォーレン・バフェット

アメリカの男性投資家。バークシャー・ハサウェイ投資株式会社最高経営責任者(CEO)。今世紀でもっとも偉大な投資家と言われている。

「私は毎日ややこしい手順を踏む。鏡をみて、今日は何をするのかを決める。その一瞬は、誰にでも決定権があるのではないか。

鏡をみて想像する習慣は他にもスティーブ・・ジョブズスティーブン・スピルバーグ岡本太郎らが実践していた。

 

 

〇〇だけを食べ続けるとどうなるのか!

どうも、さかもと(slopebook___)です!

みなさん、1週間〇〇だけを食べ続けたことはありますか?

今回は、一定期間〇〇だけを食べ続ける動画をピックアップしました!

【検証】1週間マックを食べ続けたら実際何kg太るの?


【検証】一週間マックを食べ続けたら実際何kg太るの?

 

納豆だけを5日間食べ続けると人はどうなるのか?


納豆ダイエット結果発表!納豆だけを5日間食べ続けると人はどうなるのか? 【美容法研究部】

 

1週間豆腐だけを食べ続けると衝撃の結果


1週間豆腐だけ食べつづけると衝撃の結末

 

【完全版】デブが1週間セブンの物だけ食べ続けた結果


【完全版】 デブが1週間セブンの物だけ食べ続けた結果…

 

5日間もやしだけ食べたら痩せるのか!?


【もやし生活前編】5日間もやしだけ食べたら痩せるのか!?