電柱日報

日々の由無し事

Crystal

Compiler internals(拙訳)

※:この記事は,Crystal Advent Calendar 2018 の22日目です。 Crystalの公式GitHubリポジトリには, Compiler internals というCrystalコンパイラの挙動について解説されたWikiページが公開されています。元の記事が書かれたのは4年ほど前になるため,現状…

Crystal でシグナル処理

※:この記事は,Crystal Advent Calendar 2018 の8日目です。 プログラムの実行中にキーボードからCtrl+Cが押されたり,バックグラウンドで動作中にkill コマンドが実行されたりした際,プログラムに対してシステムからシグナルが発行されます。 放っておけ…

CrystalでC言語の関数を使う際のポインタ操作

※:この記事は,Crystal Advent Calendar 2018 の7日目です。 最近の高級言語(って今でも言うんですかね?)では,めっきり触ることが少なくなったポインタ操作ですが,Crystal で libc の関数を直接叩いたりバインディングを書いたりすると,ちょくちょく…

Crystalの情報を得るには(2018年版)

※:この記事は,Crystal Advent Calendar 2018 の6日目です。 2018年末時点で利用可能な,Crystalに関連した情報を取得できるサイトをまとめてみました。 何だかんだで英語で得られる情報の方が充実していますが,1.0に向けて開発も佳境を迎えそうな2019年,…

指定したネットワークインタフェースのMACアドレスを取得する

※:この記事は Crystal Advent Calendar 2018 の4日目です。 以前から,crystal-emailやcrystal-patliteなど,CrystalでTCPベースのネットワークプログラムをチョコチョコと書いていましたが,ここのところネットワーク熱が再燃しています。 直近だと,ICMP …

時刻と時間

※:この記事はCrystal Advent Calendar 2018 の2日目です。 英語の "time" は 時刻(時の流れのある1点)と時間(2つの時刻の差)の両方の意味を含んでいます。 多くの言語にTimeという名前の型が存在しますが,多くの場合それらが表現しているのは時刻であ…

iPadでCrystalコーディング環境

出張の移動中にちょっとしたコーディングがしたくて試行錯誤した内容を備忘録として。 やりたかったこと iPad でCrystal言語のコーディングをしたい とりあえずシンタックスハイライトは欲しい できればGitHubのリポジトリを引っ張ってきて触りたい 導入アプ…

プログラミング遍歴と Crystal

BASICを齧った小・中学期 以前も書いたような気もしますが,自分のプログラミング経験は小学生の頃MSX-BASICから始まりました。 当時,両親はゲームしかできないファミコンは買ってくれませんでしたが,曲がりなりにも「パソコン」という看板を背負っていたM…