Docker上でC言語を気軽に試せる環境を作って、C言語の勉強をしている話
ども、Linux上でC言語を勉強しようと思い、Ubuntuをインストールして環境構築をしていたら、それだけで満足してしまって勉強まで至らなかったことのある私です。
先日このようなポストを書きました。さっそくCコンパイラ作成本
を読んでいますが、とても面白いです。
Linux上で実際に動かしてみながら、読み進めています。
さすがに今回は環境構築で満足はできないので、以前作成したDocker imageを使用して、docker上でC言語を気軽に試せる環境を構築してそちらでコードを書いています。
ちなみに最近Neovim
もよく使っているので、そちらも一緒にインストールしています。ま、そんなわけで、非常に個人的な構成となっています。
(ちなみに気分によってneovim
とvim
を使い分けています。本当に気分によって)
そのうちDocker Hub
に置こうと思っていますが、いまは一旦Github上で管理していき、微妙に改良を加えつつ行こうかと考え中。
使い方
一応使い方はREADME
に書いてありますが、下記のような感じで使えます。
# リポジトリをclone git clone https://github.com/shinshin86/dev-c-lang-with-neovim-at-docker.git # ルートに移動 cd dev-c-lang-with-neovim-at-docker # ビルド docker build -t dev-c-lang-with-vim . # 立ち上げたdocker内でbashを起動。--rmをつけているので、exitすると同時に docker コンテナを削除してくれる # また、workディレクトリをマウントしている docker run -it --rm -v $(pwd)/work:/tmp/share --name dev-c dev-c-lang-with-vim /bin/bash
接続したdocker コンテナ内にて
# クローンしたリポジトリのwork内にテストコードがおいてあるので、そちらをdocker内にコピー。 cp -p /tmp/share/test.c $HOME/work/ # clangかgccでテストコードをコンパイルしてみる cd $HOME/work clang test.c # Also can use gcc => gcc test.c # 実行! ./a.out # ---> hello world
コードを編集するとき
Neovimはnv
で起動するようにしているので、ソースコードを編集するときは下記のコマンドを実行する
nv test.c
ZOZOサポート神対応の話、iPhone XS、Pale Waves良かった
ZOZOSUITが届かないなーとTwitterで呟いたら神対応していただいた話
どんなことがあったかについては実際のTwitterを貼っとく。
そういえばzozo suit引越し前に注文したんだけど、まだ届いていないなー。一応ちゃんと住所変更したんだけどな😭
— Yuki Shindo (@shinshin86) September 26, 2018
素晴らしいサポートをしていただき、ZOZOSUITで計測したデータに基づいて、ジャストサイズのTシャツを着て、今これを書いている。
買ったのは胸ポケットがついている灰色のTシャツ。
ちょうど胸ポケットのついた手頃なグレーのTシャツが欲しかったのである。
お値段は¥1500ぐらい、着心地は良い、生地はしっかりめな印象。
実際に着てみて計測した故の特別な感動があったかという正直そういうものはなかったが、気兼ねなく着れる感じで満足度はしっかりある。
ZOZOのサポートの方々、ご対応ありがとうございました。
iPhone XSに変えました
最近iPhone XSに変えました。
以前使っていたのはiPhone7。
最初使ってみたときにまず感じたのは、アプリの立ち上げがかなり早くなったこと。やはり処理速度の向上は嬉しい。
あとポートレートモードがめちゃめちゃ凄い!実際にどういうものかは理解していたつもりだったが、実際に使ってみるとこれはなかなか感動。
友達と会ったときとかに皆の写真をこれで取ると、かなり感動してもらえる。自分も本当感動した。
カメラとかにあまり興味ない自分にとってはiPhoneのカメラで満足な今日このごろである。
最初フェイスIDはそれほど使いやすいとは思わなかったが、一週間も使っていると体がなれて、もう何も感じなくなった。結局指紋認証でも顔認証でもどっちでも使えるんだなーと思った次第。風呂上がりによく顔認証に失敗するときあるけど、どういうことだろう。普段小汚い顔をしているから、風呂上がりの顔は別人と認識されているということだと思う。
容量も256で買ったので、これからガンガン使っていこうと思っています。
(ちなみにiPhone 7のときの使用容量見たら30GBちょいしか使っていなかった。256の容量をフルに活かせるだろうか?)
Pale Waves良かった
偶然知りました。マンチェスターのバンドらしい。
週末はCコンパイラナイト🌜
TCFMでもおなじみのRuiさんが公開してくれました。
Cコンパイラ作成本、完成は相当先になりそうだし、あまりもったいぶっても仕方がないので、めっちゃ最初の部分だけとりあえず公開しました。この手順に従ってできるのは恐ろしく原始的なコンパイラですが、始めてみるキッカケにはなるかも。 https://t.co/rbHWp2kyGM
— Rui Ueyama (@rui314) November 1, 2018
時間を見つけて低レイヤーな部分にもいろいろ触れてみたいと思っていた自分には非常にありがたいかぎりでございます。 早速少しずつ読み進めていますが、すごく面白い...!
ちなみにRuiさんはYoutubeでもライブコーディング動画を公開しており、こちらもめっちゃ良い内容。
上の言語処理系に関する動画以外にもcat
コマンドやwc
コマンドを実装している動画などもあったりして、まさに宝の山!
ありがたや!
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory~というエラーができたときの対応法
とあるプロジェクトでyarn install
したとき、node-gyp rebuild
周りでエラーが発生した。
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
もうこのエラーメッセージに書いてあるとおりで、
- Xcodeをインストールする
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
を実行してactiveなdeveloper directoryを変更する
という二点をやれば解決できる。 ちょうどxcodeが入っていないmacbook proでの作業だったので、直面した問題だった。
下記のページを参考にした。
Babel 7 へのupgrade toolを使ってみたメモ
あくまで個人用メモ、備忘録的なものになります。
babel7がリリースされましたが、Babel7へのupgradeツールもリリースされています。
試しに自身のリポジトリに適用してみました。
全然更新できていない、todoアプリ。
react/reduxの練習用に、触りたての頃に作っていたもの。めっちゃ途中のまま放り出してしまっていた。。
npx babel-upgrade
を実行した場合、どれがアップロードされるかを 確認することができる。
"devDependencies": { - "babel-cli": "^6.26.0", - "babel-core": "^6.26.0", + "@babel/cli": "^7.0.0", + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-decorators": "^7.0.0", + "@babel/plugin-proposal-do-expressions": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-export-namespace-from": "^7.0.0", + "@babel/plugin-proposal-function-bind": "^7.0.0", + "@babel/plugin-proposal-function-sent": "^7.0.0", + "@babel/plugin-proposal-json-strings": "^7.0.0", + "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-proposal-pipeline-operator": "^7.0.0", + "@babel/plugin-proposal-throw-expressions": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-import-meta": "^7.0.0", + "@babel/preset-env": "^7.0.0", + "@babel/preset-react": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", "babel-eslint": "^8.2.2", "babel-jest": "^22.4.1", - "babel-loader": "^7.1.2", - "babel-preset-env": "^1.6.1", - "babel-preset-react": "^6.24.1", - "babel-preset-stage-0": "^6.24.1", + "babel-loader": "^8.0.0",
下記のコマンドで実際にupgradeを行う。
npx babel-upgrade --write
試してみたリポジトリ上ではうまく行ったよう。
下記がそのときのコミット。
macを再起動させたら突然`SequelizeMeta doesn't exists`というエラーが起きるようになってしまった。
macを再起動させたら突然SequelizeMeta doesn't exists
というエラーが起きるようになってしまった。
ちょっと挙動がハマる感じがしたので、一応起きた流れをメモっておく
状況
- docker上に動かしているmysqlで開発
- nodejsにてsequelize使っている
- 普段はSequel Proからアクセスしている
起きたこと
- Macを再起動させたら、
SequelizeMeta
というテーブルは存在していないよ、というエラーが出るようになってしまった(Sequel Pro
上にて) SequelizeMeta
テーブルがないので、migrationができない、、、。割と積んた状況。- 試しに
docker restart {mysql動かしているコンテナ}
でrestart
させてみた SequelizeMeta
が参照できたので、無事に解決。
と、まあこんな事象が起きた。原因は未調査だが、docker側での問題なのだろうか?
時間ができたらちょっと調べてみようと思う。
ひとまずメモ。
keras触ってみている、秋の入口の夜に、白ワインの炭酸割りを飲む
最近ブログの更新が完全に滞っています。 未来の自分へのログという側面からもそろそろ書いとこうと、筆不精が筆をとってみました。
最近のリピート曲
最新の曲というわけではないけれど、夏の終わりの空気にすごく合う
良い曲は月日の経過を感じさせない。
エアコンつけっぱなし生活
これについては前回のブログにもちょいと書いた
最高。エアコン消す必要ないわ。
ただ、最近は空気が秋っぽくなってきたので、温度が下がって湿度が低い日は消すようにしている。
(消さないと肌寒くて、パーカー羽織って仕事するときもあったので、これは流石に消そうかと)
8月もほぼほぼつけっぱなしだったが、電気代は我が家の場合¥6000ちょいだった。
keras、触っている
以前、一度tensorflow
を使って、特定の人物のみを特定するmodelを偉大なる先人の方々のブログをめちゃくちゃ参考似しながら作った。
先日、udemyで下記の講座を受けた。
なんとなくセールだったから、最近の機械学習周りをキャッチアップしようと受けただけだったが、この講座が想像以上に良かった。
で、この講座の中で使われていたのがkeras
。
Keras: the Python deep learning API
以前よりもだいぶ簡単に使えるようになっていて、時代においていかれている感を感じた今日このごろ、プライベートの空き時間を利用して、ちょいとkeras
触っています。
ビターな炭酸水
前回も炭酸水に書いたような気がするけど、最近試してみたこの炭酸が、 お酒の代わりになりそうなビターな味わいがグッド。
自分は夏になるとよく白ワインに炭酸水を割ったものをよく飲むのだけど、これは白ワインにも相性が良い。
これで割るだけで、ライトで爽やかな感じのカクテルができるから、来客時にもお勧めできそう。
他にも諸々書こうかと思ったけど、 際限なく駄文をポストしてしまいそうだったので、今日はこのへんで。
一昨日ぐらいに公開されていたこの動画を今日、見た。
keras
使っていた。さてさて、高まるモチベーション。