マイブーム
最近アコースティック・ギターにハマっている
今年の正月、神田神宮での初詣に並んでいるときに友人にそそのかされてamazonで購入したわけだ
よく見るコードは大体抑えられるようになったので、(augとか分数コードとかはすぐには抑えられないが)コード譜を見ながら右手をガチャガチャ16ビートもどきとかカッティングもどきとかしてるとそれっぽくなって楽しいわけである
ピアノで適当にコード抑えても全然それっぽく感じないが、ギターは経験が少ないので自分が簡単にそれっぽくなったと錯覚してくれるのでより楽しいわけである
そもそも一般的に新しく物事を初めて最初にぐっとできることが増えるフェーズは楽しい。この楽しさdrivenで物事をやるとすぐに飽きてしまう訳であるが、まあ想定内である
能力の特異性から飽きたら何も残らないゲームと違って、ギターができるというのはそこそこの一般性があると思うので飽きてもそんなに虚しくならないかなと思って始めたわけだ
大学のレポート
はじめに
大学のレポートを頑張って書くのに提出してそれで終わりではもったいないなぁと思います 昔書いて個人的に気に入ってるレポートを発掘したのでブログぐらいには貼っておこうかなという気分になりました 学部2年の数値解析学のレポートです。
num_ana_report.pdf - Google ドライブ
非常に懐かしい気持ちになりますね
ubuntu 18.04をインストールした直後に行うこと
忘れないようにしよう
python入れる
今のubuntuはsystem pythonでpipをaptで入れて、pipのバージョンをpipで上げると死ぬのでpyenv使っちゃいます
Building Python 3.6 from source on Ubuntu and Debian Linux | Solarian Programmer
sudo apt install build-essential sudo apt install libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev sudo apt install libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev
GitHub - pyenv/pyenv: Simple Python version management
vscode
Visual Studio Code - Code Editing. Redefined
alias code='code --disable-gpu $@'
プログラム言語 Rust
はじめに
最近「プログラム言語 Rust」という本を買いました。 Rustはオンラインに The Book と呼ばれる良いドキュメントがあり、それを読めば十分なのでは?という意見もあると思いますがカッコイイので買いました
感想
オライリーの方が自分には理解がしやすかったです(The Book眺めてよくわからんと思っていたことが本を読んだらかなり整理されました)
オライリーのほうが話が整理されているんじゃないでしょうか
例えばオライリーでは「Rustは配列を指す長さ付きのFatPointerがありますよ」という話(これは一瞬で理解できる)を所有権の概念より先に出して、そのあと所有権の話をします。これがThe BookではWhat is ownership?という話から始まります。そしてその為にスライスを持ち出して、その後スライスの解説をするわけです。僕は前者の方が良いと思いますね
あとHaskellで見覚えのある機能が色々入っているので(Option型 パターンマッチ trait)Haskellは勉強してみるに限りますね
数独を焼きなましてみた
Atcoder補助ツールを作った話
Atcoder
久しぶり競技プログラミングをしようと思い、atcoderを開き、コードを書いて提出する前にテストしようとしたところ、「この単純作業を自動化しないでなーにが競技プログラミングじゃ」という思いが芽生えました。自動化しました(車輪の再発明ですが気分転換なので無問題です)。
機能
- 問題サイトのhtmlから入力例と出力例を自動取得
- ログイン
- コードをコンパイルしてテスト
- テストを通ったら自動提出
beta atcoderを利用しています
ログイン
ログインするときに送られるpostリクエストをブラウザの開発者モードで眺めると、クロスサイトリクエストフォージェリ(2012年ごろに話題になったパソコン遠隔操作事件でも使われていたものです)対策の為に、csrf_tokenがpostされていることが分かります。
csrf_tokenはcookieの中に含まれていますが、(当人以外は知らないデータをpostのデータの中に含めることで、URLを踏ませることで不正なリクエストを送ることをを防いでいます。)ログインページのhtmlのなかに含まれているのでそこから取りました。
sessionの情報はpickleして保持しておきます。
感想
割とすぐできて便利なのでいい練習になりました。 自動テストされて提出されると気分がいいですね
Word文章にソースコードを貼る法
はじめに
皆さんはレポートを書くとき何を使うでしょうか。何だかんだでMicrosoft Wordという人も多いと思います。僕はMicrosoft Word を推しているのですが、Wordの欠点としてソースコードをうまく貼ることが出来ないことを上げる人もいます。
最近圧倒的解決法を知ったので紹介したいと思います。
方法
Visual Studio Code(以下VS code)はそこそこ良いエディタです。VS code でソースコードを開けばいい感じに色付けをしてくれます。
Wordを開き、1×1の表を挿入してVS codeで開いたソースコードを張り付けます。
こんなに綺麗に貼り付けることが出来ました。これからソースコードを貼り付けなければならないレポートにも積極的にWordを使っていきましょう。
なおこの方法はVS codeで無くても書式情報付きでテキストをコピーできるエディタなら適用できると思います。
まとめ
Wordは数式入力がゴミとよく言われますが、最近ではLaTex形式の数式入力にも対応しており複雑な数式も簡単に入力できます。Wordをガンガン使っていきましょう。