jpnykw’s blog

軽率なアウトプットをします

2020-01-01から1年間の記事一覧

GitHubの言語比率計算

知ってましたか?GitHubには、Repositoryごとに使用されている言語の比率を表示(計算)する素晴らしい機能があります。こんな具合に。実はこの比率と言語は偽造できるんです。 事の発端 まず僕のツイートを見てください。ついでにフォローもしてください。J…

2020年 PIXIV TECH FES に参加した

2020年2月17日に開催された PIXIV TEC FES という最高なイベントに参加してきました.conference.pixiv.co.jpこのイベントは完全招待制で, Pixivの社員の方に招待されないと参加できないようです. 僕の場合は未踏Jrで開発していたプロジェクトの関係上, シェ…

x86の除算命令

x86の四則演算を行う命令は add, sub, imul, idiv の4種類ある (左から, 加算, 減算, 乗算, 除算). ここで左3つの命令は一般的な命令と同様に, 以下のBNFを満たす. <instruction> ::= <register> "," (<register> | <value>)しかし idiv だけ実装が特殊で, このようなことができない. では, 具体的に </value></register></register></instruction>…

x86でFibonacci

最近, Cコンパイラの自作を始めました. そこでサポートしてるアセンブリがx86-64なので, アセンブリを理解する必要がりました. 折角なので, アセンブリを直接書いてfibonacciを作ってみようと思います. 雑設計 一応関数を分離して記述します. .intel_syntax …

Rustの所有権について

今回はRustの借用/参照と所有権について雑に書きなぐる. 所有権とは 所有権はRustに導入されているゼロコスト抽象化*1の例の一つ. 具体的な例を上げると, 変数が非primitiveな型*2である場合に, 以下のような問題に直面する. fn some(x: Vec<i8>) { // TODO: } f</i8>…