コラーゲンを食べる意味はあるか?
僕ももう20歳を過ぎてしまったので,健康には多少興味があります.
ちょうどNewtonで健康食品に対する特集があったので,自分用のメモとして残しておきます.
さて,よく健康食品の怪しげな特集では,コラーゲン配合などの謳い文句がありますが,
あれは本当に効果があるのでしょうか?
結論から言うと美容効果に対する証拠はないです.
エビデンスは http://hfnet.nibiohn.go.jp/ です.
やっぱり,みんな気になるのか特集が組まれています.
まずコラーゲンを口から摂取しても,消化されてしまいます.
そのため,コラーゲンがそのままの形で吸収されることはありません.
ちなみにコラーゲンが消化されて出来たペプチド(ジペプチドやトリペプチド)が吸収されます.
最近は,このペプチドが関節などの体の特定部分で,何らかの機能を発揮している可能性が考えられています.
しかし,人間に十分な効果があると言う証拠はありません.
コラーゲンってなに?
最後にコラーゲンってなんなのかを書いておきます.
だらだら書いても読まないと思うので,箇条書きで要素だけまとめます.
- コラーゲンはタンパク質の一種
- 全タンパク質の約30%
- 体内コラーゲンのうち40%は皮膚に,20%は骨や軟骨に存在
- コラーゲンには色々な種類がある
- 皮膚や腱などの主要なコラーゲンはI型
- 軟骨の主要なコラーゲンはII型
Jenkins入門
流石にCIツールを使ったことがないのは,恥ずかしいなと思って,今更ながらJenkinsを触ってみました.
僕はDockerが好きなので,Dockerを使って環境構築をしました.
基本的にこのサイトを参考にしました.
Jenkinsにブラウザからアクセスするときは,Macの人は以下のURLでアクセスできます.
あとは手順通りに進めれば,環境構築が完了しました(Jenkinsのsetupって結構時間かかりますね).
最終的なフォルダ構造はこんな感じになりました.
. ├── README.md ├── docker │ ├── Dockerfile │ ├── Makefile │ └── plugins.txt └── run.sh
低レイアの勉強(Chisel, RISC-V, ISA)
最近,僕が読んでるブログで,ChiselやRISC-Vなどの単語が結構出てきて, ナンジャラホイって感じなので勉強してみました.
Chiselってなに?
Scala言語のライブラリです. Scalaを使って,VerilogやVHDLを生成できます.
僕はScalaはやったことがないので,解説のリンクを貼っておきます.
一年ほどFPGAをガッツリ勉強していましたから, Verilogは使ったことがあります.
Pythonが好きなので,そっちでも似たようなライブラリがあった気がします. やっぱりみんなVerilogとか嫌いなんですね. (そういえば,家に使ってないPYNQがあるのを思い出した)
僕はVerilog書くのはあんまり嫌いじゃないですね(ただ慣れただけかも).
RISC-Vってなに?
こっちの方が最近はよく聞く気がします.
オープンな命令セットアーキテクチャ(ISA)です. 公式サイトを見ても,大企業が名を連ねていて強そうですね(小並).
僕自身の理解が甘いので,詳細は書きませんが, 要するにオープンなISAってあんまりないから,話題になっているらしいですね.
ちなみに,ChiselもRISC-VもUCBerkeleyがサポートしていて,流石!って感じですね.
命令セットアーキテクチャってなに?
ここまで来ると,僕の理解度では「命令セットアーキテクチャ」ってなんだっけ?ってなります.
っというわけで調べてみました.
東京大学の坂井先生の資料がわかりやすかったです.
https://www.mtl.t.u-tokyo.ac.jp/~sakai/hard/hard3.pdf
命令セットってのは,CPUが使用できる命令の集合(算術論理演算命令,データ移動命令,分岐命令など)です. 特定のCPUと同じ命令セットを持つと,互換プロセッサと呼ばれます.
っで,命令セットアーキテクチャっていうのは,命令の表現形式とその命令の動作を定めたものです. 表現形式ってのは,通信規格みたいなものなで,どのビットが何に対応するのかみたいなものです.
RISC vs CISC
ここで僕が昔インターンに行った頃に,少し習ったRISCとCISCの違いを書いておきます.
RISC ... Reduced Instruction Set Computer
CISC ... Complex Instruction Set Computer
簡単に言うと,CISCはいろんな命令をゴリゴリに積めば便利でしょって感じで作られたプロセッサです.
でも実際に利用するのは,簡単な命令がほとんどでコンパイラが出力するのが難しくなります.
そこで命令数が少なく,動作が単純なRISCに移行されました.
まとめ
Mujocoのライセンスで苦しまないためのメモ
さて,この前openai/gymを再インストールしようとしたら,
「mujoco-py
を入れろ」言われて,やむなくmujoco導入を検討しました.
ライセンス獲得方法
幸い僕は学生なので,学生ライセンスを獲得することができました.
https://www.roboti.us/license.html
取得したAccount Numberから,Computer idを登録して,ライセンスキーをもらいます.
この入力場所がわかりにくいので,ライセンスページに飛んだら「Ctrl + F」で「Computer id」の単語で見つけた方が楽です.
各ライセンスできること
学生ライセンスや個人ライセンスには,PCの台数制限があります.
これにはパソコンのハードウェアアドレスが使用されています.
ここで重要なことがわかります.
つまり,
DockerでMujocoが動かせない!
もしDockerで使いたいなら,Institutionalライセンスを使えとのことです.
僕のように数時間も苦しまないように注意してください.
Mac DockerでGUIを使いたい(XQuartz版)
Dockerを使って,GUIのアプリケーションを利用する際には,いくつか方法があります.
VNCを使うと,どの端末からでもブラウザ経由で,GUIを操作することができますが,
今回はXQuartzでやってみたいと思います.
XQuartzを使用して,コンテナ内でDISPLAY変数を設定できるようにします.
これによって,ホスト側にGUI画面を表示させることができます.
Dockerはインストール済み前提で,話を進めます.
XQuartzインストール
homebrewを使って,サクッとインストールしていきます.
$ brew cask install xquartz
XQuartzの設定
早速,XQuartzを実行してみます.
$ open -a XQuartz
これでXQuartzというGUIアプリが,ホスト側Macに表示されます.
僕は英語版を利用しているので,Preference > Security
から,
「Allow connections from network clients」にチェックを入れます.
日本語だと,設定 > セキュリティ
,「ネットワーククライアントからの全ての接続を許可」とかかな.
ホスト側のIPアドレス
XQuartzが起動したら,ターミナルでxhost
コマンドを使って,ホスト側のIPアドレスを登録します.
$ IP=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}') $ echo $IP 192.168.XXX.XXX $ xhost + $IP 192.168.XXX.XXX being added to access control list
もし,xhostコマンドが見つからなくても,焦らずに以下のように実行しましょう.
ただパスが通ってないだけです.
$ /usr/X11/bin/xhost + $IP
DockerからFirefoxを起動
早速,DockerでGUIを利用してみます.
コマンドは簡単です.
$ docker run -d --name firefox -e DISPLAY=$IP:0 -v /tmp/.X11-unix:/tmp/.X11-unix jess/firefox
無事起動しましたか?
次回はROSでも起動させてみましょう!
VS Codeで関連付けするファイル種類を設定する
Docker使いますか?
僕もよくDockerを使うのですが,
Dockerfileの名前で,Dockerfile.hoge
みたいにして,
複数種類のDockerfileを作ることがあるかと思います.
そんなファイルをvscodeで開くと, Dockerfileに関連付けされないので, いちいち手作業で「これはDockerfileなんだよ〜」って教えてあげる必要があります.
そこでvscodeに自動で関連付けして,見やすい色で表示してもらうために,
以下のように設定をsetting.json
に追記するのがおすすめです.
{ // 別の設定項目 "files.associations": { "Dockerfile.*": "dockerfile" } }