The King's Museum

ソフトウェアエンジニアのブログ。

『More Effective Agile』を読んで

『More Effective Agile』を読みました。10 月の読書。 More Effective Agile “ソフトウェアリーダー”になるための28の道標作者:Steve McConnell発売日: 2020/06/11メディア: Kindle版 『More Effective Agile』 は『CODE COMPLETE』で有名なスティーブ・マ…

Scheme 手習い(10)~ eval と apply ~

第10章:このすべての値は何だ Scheme 手習い第 10 章。 いわゆる eval を実装する。この本では value という関数名になっているけど。 準備 リストを操作するための便利関数を事前に定義しておく。 (define (build a b) (cons a (cons b '()))) (define (fi…

Scheme 手習い(9)~ Y コンビネータ~

第9章:…… もう一度、もう一度、もう一度、……(続き) 第9章の最後は Y コンビネータについて。 リストの要素数を数える length を題材にして Y コンビネータを学ぶ。 length リストの要素数を数えるなんの変哲もない関数 length を定義する。 (define (leng…

Scheme 手習い(8)

第9章:…… もう一度、もう一度、もう一度、…… keep-looking (define (pick to lat) (cond [(= to 0) (car lat)] [else (pick (- to 1) (cdr lat))])) (define (keep-looking a to lat) (cond [(number? to) (keep-looking a (pick to lat) lat)] [else (eq? …

『超予測力』を読んで

『超予測力』を読みました。9 月の読書。 超予測力 不確実な時代の先を読む10カ条 (早川書房)作者:フィリップ E テトロック,ダン ガードナー発売日: 2016/10/31メディア: Kindle版 超予測者 『超予測力』は未来の予測についての本。 「ロシアは今後三ヶ月以…

『ワークシフト』を読んで

ワークシフトを読みました。8月の読書。 ワーク・シフト ─孤独と貧困から自由になる働き方の未来図<2025>作者:リンダ グラットン発売日: 2012/09/28メディア: Kindle版 ワークシフトは2011年に書かれた本。 未来の働き方、具体的には 2025 年の働き方につい…

『リーダブルコード』を読んで

『リーダブルコード』を読みました。7月の読書。 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)作者:Dustin Boswell,Trevor Foucher発売日: 2012/06/23メディア: 単行本(ソフトカバー) 内容はかなり初…

『エンジニアのためのマネジメントキャリアパス』を読んで

『エンジニアのためのマネジメントキャリアパス』を読みました。 エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド作者:Camille Fournier発売日: 2018/09/26メディア: 単行本(ソフトカバー) 「今年は毎…

Cousera: Architecting with Google Kubernetes Engine Specialization の Course 1 & 2 を修了した

Architecting with Google Kubernetes Engine Specialization の前半を修了した。 Course 1: Google Cloud Platform Fundamentals: Core Infrastructure Course 2: Architecting with Google Kubernetes Engine: Foundations Course 1 は Kubernetes という…

Kubernetes を勉強するよ

今更ながら Kubernetes を勉強しようと思う。 とりあえず公式のチュートリアルをやったけど、まだまだ理解できないことばかり。 理解できなくてもどかしい感じは居心地が悪いけど、何か新しいことを学ぶときには必ず通る道だからと自分に言い聞かせる。 チュ…

継続とは何か(2)

継続について考える第二弾。 前回の記事では、足し算と掛け算という単純な例を用いて継続について考えた。 www.thekingsmuseum.info 今回は再帰での継続渡しスタイルについて考えて、継続についてさらに理解を深めたい。 累乗を計算する 再帰を用いて 1 から…

『カードミステリー』を読んで

4月の本は『カードミステリー』。珍しく小説を読んだ。 カードミステリー―失われた魔法の島作者:ヨースタイン ゴルデル,Jostein Gaarder発売日: 1996/03/01メディア: 単行本 この本は小学生の時に読んだことがある本。 いつかまた読み直したいと思っていたけ…

継続とは何か(1)

『Scheme 手習い』の第8章に「継続」の概念が出てきた。 ただ、説明が少なくいまいち理解できないので、Web ページを漁ってみる。 Gauche の作者 Shiro さん曰く、 文献を紐解くと、 継続とは「これから行われるであろう計算をパッケージ化したもの」とある…

Scheme 手習い(7)

第8章:究極の lambda rember-f (define (rember-f test? a l) (cond [(null? l) '()] [(test? (car l) a) (cdr l)] [else (cons (car l) (rember-f test? a (cdr l)))])) リストから要素を削除する rember の派生版。 要素の一致を判定する関数を引数で与…

道路を舗装する

仕事をしていると、アウトプットがあった日とそうでない日がある。 プログラマのアウトプットはコードだと思っている。 だから、コードが書けない日はアウトプットがなかったと感じる。 もちろん、コードの「量」だけがアウトプットだとは思っていない。 書…

『イノベーション・オブ・ライフ』を読んで

今年は毎月一冊本を読もうと思い立って三ヶ月。 今月は『イノベーション・オブ・ライフ』を読んだ。 イノベーション・オブ・ライフ ハーバード・ビジネススクールを巣立つ君たちへ作者:クレイトン・M・クリステンセン,ジェームズ・アルワース,カレン・ディロ…

『プロフェッショナルの条件』を読んで

今年二冊目の本。ドラッカーの『プロフェッショナルの条件』。 プロフェッショナルの条件 はじめて読むドラッカー (自己実現編)作者:P F ドラッカー発売日: 2012/09/14メディア: Kindle版 ドラッカーが組織や社会ではなく個人に焦点を置いて書いた本。 よ…

Amazon Aurora について

業務で Amazon Aurora を使っているが、ほとんど何も意識せず MySQL の代替として使ってる。 何が違うのか。 せっかく使っているのだから、少し勉強したほうがよさそう。 ということで、Aurora についてまとめられた資料を読んだ。 20190828 AWS Black Belt …

Scheme 手習い(6)

第7章:友達と親類 set? (define (set? lat) (cond [(null? lat) #t] [(member? (car lat) (cdr lat)) #f] [else (set? (cdr lat))])) lat が重複要素を持たない(= セットかどうか)かを調べる関数。 前章までですでに定義した手続き member? を利用する。…

『HIGH OUTPUT MANAGEMENT』を読んで

去年はあまり本を読めなかったので、今年はせめて毎月 1 冊は何かしらの本を読んでいこうと思う。 一冊目はインテル CEO だったアンドリュー・グローブの『HIGH OUTPUT MANEGEMENT』。過去に何度か読んだことがある本だけど、また読みたくなったので再読。 H…

CSS Writing Modes Level 3 が W3C Recommendation になった

Web で縦書きを実現するための仕様である CSS Writing Modes Level 3 が長い道のりを経て W3C 勧告となった。 CSS Writing Modes Level 3 最初にこの仕様に関わったのが 2010 年頃。もう 10 年前だね。 当時は大学院生で Firefox の Gecko に実験的に縦書き…

Scheme 手習い(5)

第6章:影法師 numbered? (define (numbered? aexp) (cond [(atom? aexp) #t] [(eq? '+ (car (cdr aexp))) (and (numbered? (car aexp)) (numbered? (car (cdr (cdr aexp)))))] [(eq? '* (car (cdr aexp))) (and (numbered? (car aexp)) (numbered? (car (c…

Scheme 手習い(4)

第5章:*すごい* 星がいっぱいだ 元ネタは『2001 年宇宙の旅』のボーマン船長のセリフらしい。 そういえばそんなセリフもあったな。 rember* (define (rember* a l) (cond [(null? l) '()] [(atom? (car l)) (cond [(eq? a (car l)) (rember* a (cdr l))] […

Scheme 手習い(3)

第4章は数字に関する関数をどうやって再帰的に書くかという話が中心。 第4章:数字宛てゲーム add1/sub1 (define (add1 n) (+ n 1)) (define (sub1 n) (- n 1)) 数に 1 を足す関数と数から 1 をひく関数。 +/- (define (+ n m) (cond [(zero? m) n] [else (…

Scheme 手習い(2)

第3章:偉大なる cons rember (define (rember a lat) (cond [(null? lat) '()] [(eq? (car lat) a) (cdr lat)] [else (cons (car lat) (rember a (cdr lat)))])) rember は remove member の略。 ラット(すべての要素がアトムのリスト)内で一致した最初…

『Scheme 手習い』はじめました。

Gauche 本を進めていたけれど、なんだかあんまり身についてる気がしなかったので『Scheme 手習い』に手を出してみた Scheme手習い作者: Daniel P. Friedman,Matthias Felleisen,元吉文男,横山晶一出版社/メーカー: オーム社発売日: 2010/10/22メディア: 単行…

クラウドのもろさとは

昨日起きた AWS の障害。自分の会社も AWS を利用しているので影響を受けた。 この出来事に対してクラウドを利用することへのもろさを懸念する論調が一部であがった。 「もろさ」には二種類あると思う。個別のサービスに対するもろさと、社会全体として見た…

AWS のデフォルト VPC

AWS

AWS で新規にアカウントを作成すると最初から『デフォルト VPC』が設定されている。 docs.aws.amazon.com ただそれだけ。

Scheme の number? と complex?

Scheme にある number? と complex? という手続き。 number? : 引数が数値であるかどうか complex? : 引数が複素数であるかどうか (number? x) => #t かつ (complex? x) => #f の数値ってあるのかな?と思った。 リファレンス(6.3.2 数値に関する述語)を見…

Dart の非同期プログラミング(Future, async/await)

仕事で Flutter をちょっといじっていて、いい加減 async あたりをちゃんと理解しておこうと思ったのでメモ。 https://dart.dev/tutorials/language/futures Dart コードはシングルスレッドで実行される Dart は基本的にシングルスレッドで実行される。 並列…

(c) The King's Museum