職業プログラマの休日出勤

職業プログラマによる日曜自宅プログラミングや思考実験の成果たち。リアル休日出勤が発生すると更新が滞りがちになる。記事の内容は個人の意見であり、所属している(いた)組織の意見ではない。

正接90°

正接とは、三角関数タンジェント(tan)のことです。
突然ですが、tan 90° の値は何でしょうか?
普通に考えれば未定義、極限的な考え方をすれば、近づく方向によって正の無限大だったり負の無限大だったり、といったところでしょう。

では、コンピュータに tan 90° を計算させると、何が起きるのでしょうか?

f:id:t_motooka:20190609084423p:plain
macOS 付属の「Grapher」で y = tan x を描いたもの

続きを読む

さくらのレンタルサーバに aws cli インストール

永らくさくらのVPSのお世話になってきましたが、いくつかの用途が不要になったので「もうVPSである必要が無いよなー」という考えに至りました。これまでVPSで動かしていたものは、

  • メールサーバと、静的なWebサイトと、PHP製のWebアプリはさくらのレンタルサーバ(スタンダードプランまたはそれ以上)に、
  • その他の常駐系やタイマー起動系プログラムは構造を変えて AWS Lambda 等によるサーバレスな感じに、
  • その他の常駐でないものは都度 Amazon EC2 を起動するような構成に、

それぞれ引っ越すこととしました。流石にメールサーバは随分昔から移行していましたが、ついに他のものにも手を付けることにしました。さくらのレンタルサーバが2017年に Let's Encrypt によるHTTPSに対応してくれたことからWebサイトやWebアプリを移管するまでの障壁がぐんと下がりました。静的なWebサイトはAWSのS3での静的ウェブサイトのホスティング+CloudFrontでの配信にしても良いのですけれども、どうせレンタルサーバの契約があるのですから、「ドメインHTTPSの設定をした上でディレクトリに置くだけ」は強いです。アクセス数が異常に多くなったらS3に移せば良いでしょう。さくらインターネットさんにはオブジェクトストレージというサービスもありますが、本記事執筆時点では残念ながら新規申し込みの受付が停止されています。将来はこちらにも期待ですねー。

さて、PHP製のWebアプリをレンサバに移すにあたって困ったのは、バックアップ系のファイルをS3に置きに行く部分です。bashスクリプトから aws cli のコマンドを叩いていたのですが、この aws cli をレンサバに入れる作業は一筋縄では行かず、pythonに噛まれる(比喩表現)事態に至ったので、この記事にメモとして残しておきます。

続きを読む

「いろいろとりどり」展示を見てきた話

現代においては色を言葉で表現するとき、おおよそ以下のような手段が使われているはずである。

  • 話者が使っている自然言語に備わっている表現 日本語ならあかみどりなど
  • RGBの値
  • CMYKのインキの量
  • 色見本(DICなど)の版と番号

もちろんこれ以外にも表色系はいくつか存在する。これが数百年も昔の日本であれば、恐らくは自然言語で色を表現していたはずであるが、その実態はどのようなものであるのか、興味のある読者はきっと多いことだろう。
この興味を満足させる展示が神奈川県立金沢文庫金沢文庫は、もともとは鎌倉時代に創設された図書館だそう)で催されていると聞き、訪れてみた。展示は5月12日までらしいので、見たい人はお早めに。筆者はこの連休中は風邪で寝込んでいて観覧は絶望的かと思っていたが、どうにか快復することができたのが良かった。

f:id:t_motooka:20190505105021j:plain
いろいろとりどり展

展示の内容は色々と面白かった。現代で言うところのデザインガイドラインのような文書とか、見ていて本当に体が震えた。「このような目的では、この色を使いなさい」的な文書は数百年前の日本で既に作られていたのである。ちなみに、色の名前は今の日本語と似たようなものだった。
それで、中でも面白いと思ったのは、当時の会計帳簿である。会計帳簿で染料の材料を取引しているところから当時の着色を推測している流れとか、本当に興味深い。

詳しく知りたい人は、どうぞ現地でご観覧を。5月12日まで(大事なことは二度言うスタイル)

技術書典6 サークル参加レポート

先日開催された技術書イベント「技術書典6」にサークル参加してきました。サークル名は「職業プログラマの休日出勤」、そう、このブログの題名と同じです。
techbookfest.org
タイトルの通り、この記事はそのレポートです。

続きを読む