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

AWS Lambda をコンテナイメージで動かすときの Terraform の書き方

AWS Lambda がコンテナイメージをサポートするようになりましたが、Terraform で Lambda のリソースを定義するのにてこづったので書き方を残しておきます。 aws.amazon.com 動作確認時のソフトウェア awscli 2.1.11 terraform 0.14.2 terraform-provider-aws…

RubyでつくるRuby を読んだ

RubyでつくるRuby ゼロから学びなおすプログラミング言語入門作者:遠藤 侑介発売日: 2017/03/31メディア: 単行本(ソフトカバー) nand2tetris が終わってヘビーな本を読むのはちょっと時間をおきたかったので、電子積ん読していた「RubyでつくるRuby」を読…

The Elements of Computing Systems を読んだ

約1ヶ月かけて The Elements of Computing Systems (通称 nand2teris) を読む & 演習のすべてを完遂しました。 約130時間費やしましたが、実に有意義な時間を過ごすことができました。今まで読んだ本の中でトップ10には入る良書と断言できます。 The Element…

X Protocol 準拠の MySQL Client を自作してみる

最近自作 MySQL Client にハマっています。どういう原理で MySQL につながっているのか知りたいなと思って始めましたが、MySQL Client についてはもちろんのこと、ネットワークの勉強にもなって結構楽しいです。 現在の MySQL では MySQL Client/Server Prot…

ThinkCentre M75q-1 Tiny で Arch Linux と Windows 10 をデュアルブート

goropikari.hatenablog.com 作業する前に Windows のリカバリーUSBを作っておく USB リカバリードライブを作成して、Windows 10のリカバリーに利用する - NZ Arch Linux の Live USB がブートでできるように secure boot を disable にする。 推奨するBIOSの…

ThinkCentre M75q-1 Tiny を購入: SSD・メモリを増設

コスパが良いと評判の ThinkCentre M75q-1 Tiny を買ってみた。 価格コム限定モデルで HDD 1TB、メモリ8GB、WiFi・Bluetooth なし、キーボード・マウスなし、縦置きスタンド、Display Port 追加で税込み34320円(送料無料)。 4コア8スレッドの CPU (AMD Ryzen…

Arch Linux の Docker Image を作る

Dockerhub に ArchLinux のイメージがあるので自分で作る必要はないものの base image を作ったことがなかったので勉強がてら作ってみた。 hub.docker.com 環境 OS: Arch Linux $ mkdir archlinux-docker $ cd archlinux-docker $ wget http://ftp.jaist.ac.…

Julia - Terminal で 1文字ずつ入力を受ける (raw mode)

環境 Julia v1.4.2 OS: ArchLinux read や readline を使うと EOF を入力 (Ctrl-D) したときや Enter を押したときにキーボードから入力したものを取得することができるが、何かしらのキーをタイプする度に入力を取得する方法を紹介する。 # ex.jl using REP…

AmazonLinux 2 で parquet-tools をビルド

ビルドに必要なものを用意する yum install -y wget git tar gcc gcc-c++ boost-devel make maven wget -nv http://archive.apache.org/dist/thrift/0.12.0/thrift-0.12.0.tar.gz && \ tar xzf thrift-0.12.0.tar.gz && \ cd thrift-0.12.0 && \ chmod +x ./…

4bit CPU TD4 を作った

GW をフルに使って自作界隈では有名な「CPUの創りかた」の TD4 を作ってみました。 CPUの創りかた作者:渡波 郁発売日: 2003/10/01メディア: 単行本(ソフトカバー) 実は2年前にすでにパーツ類は購入済みだったのですが、当時はアセンブリや機械語の経験がな…

自宅ではじめるDocker入門 を読んだ

自宅ではじめるDocker入門―人気のコンテナ型「仮想化ソフト」を使ってみる! (I・O BOOKS)作者:尚, 浅居発売日: 2019/02/01メディア: 単行本 日々、Docker を使っているものの今まで体系的に学んだことがないと気付いたので1冊買って勉強してみた。 約5時間で…

Compiler | Stanford Online を受講した

11月の頭から受講を始めて、5ヶ月弱かけてようやく受講しきりました。 何度か心が折れかけましたがどうにか完遂できました! https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/aboutlagunita.stanford.edu この講義は COOL (classroom…

「なぜプログラムは動くのか」を読んだ

プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識作者:矢沢久雄出版社/メーカー: 日経ソフトウエア発売日: 2007/04メディア: 単行本(ソフトカバー) ふと立ち寄ったブックオフで安く売っていたので買ってみました。200円とやけに安いと…

Hands-On Serverless Applications with Go を読んだ

AWS Lambda を Go で使う方法を学びたくなり、Hands-On Serverless Applications with Go を読んでみました。 Hands-On Serverless Applications with Go: Build real-world, production-ready applications with AWS Lambda (English Edition)作者:Mohamed …

Julia - キーボードからパスワードを入力する

環境 ArchLinux Julia 1.3.0 CLI でのパスワード入力 readline() や Base.prompt で入力を受ける場合、入力した内容が丸見えでセキュリティもへったくれもない状態なため、パスワードを入力したい場合などには適しません。 goropikari.hatenablog.com 入力し…

Julia - permutedims は何をやっているのか

環境 Julia 1.3.0 がベクトル(1次元配列) or 行列のとき $$ \mathrm{permutedims}(A)[i,j] = A[j,i] $$ ようするに転置を取るのに等しい。 ベクトルの場合は要素へのアクセスの仕方は変わらないが、 ベクトルは になり、その逆も然り。 $$ \mathrm{permutedi…