Original: http://www.bbc.com/news/magazine-12043294 (A Real Good Samaritan)
バーナード・ヘア (作家)
その日の午後、警察から学生寮のほうに呼び出しがきたが、俺はどうせまた立ち退きの要求だと思ったので答えずにいた。 俺はもう何ヶ月も家賃を払ってなかった。
でもそのあと思った。俺の母親はあまり身体の具合がよくない。もしかしたら母に何かあったんじゃないか?
### cdhist.sh | |
### | |
### Copyright (c) 2001 Yusuke Shinyama <yusuke at cs . nyu . edu> | |
### | |
### Permission to use, copy, modify, distribute this software and | |
### its documentation for any purpose is hereby granted, provided | |
### that existing copyright notices are retained in all copies and | |
### that this notice is included verbatim in any distributions. | |
### This software is provided ``AS IS'' without any express or implied | |
### warranty. |
<html><body> | |
<style> | |
body { padding-top: 1em; } | |
table { border-collapse: collapse; margin: 1em; } | |
td { padding: 6pt; border-width: 4px; } | |
b { font-size: 150%; } | |
</style> | |
<table border> | |
<tr> | |
<td style="width:140pt;" align=left> |
Original: http://www.bbc.com/news/magazine-12043294 (A Real Good Samaritan)
バーナード・ヘア (作家)
その日の午後、警察から学生寮のほうに呼び出しがきたが、俺はどうせまた立ち退きの要求だと思ったので答えずにいた。 俺はもう何ヶ月も家賃を払ってなかった。
でもそのあと思った。俺の母親はあまり身体の具合がよくない。もしかしたら母に何かあったんじゃないか?
大学の授業では理論的な基盤を教えることが多く、実務的な知識はあまり教えないのが普通である。 しかし実際に研究・実験・就職をする場面になると、学校では教えない多くの知識が必要になる。 残念ながら、現在の大学にはこれらを体系的に教えるようなカリキュラムは存在せず、多くの学生は独学か、研究室の先輩などから教わることになる。 ここではそうした知識のうち重要と思われるものを記した。なお、プログラミング言語や業務システムに関する知識は除いてある。 また、知識は「○○を勉強せよ」などという漠然とした指示ではなく、できるだけ具体的な例を挙げた。
もちろん、これらに加えて大学の授業 (線型代数、アルゴリズム、統計、型理論など) も きちんと学ぶ必要がある。 企業などでは実践的な知識がなければ「使えない人」とみなされてしまうが、
Mostly for classroom talks...
Yusuke Shinyama
Code is Law (Lawrence Lessig). Code is not just machinery that governs our modern life, but it also represents our value system. Making the code accountable its behavior is crucial to a functioning democracy.
(Original article: https://blog.codinghorror.com/are-you-an-expert/ )
ぼくは権威というものが嫌いらしい。 まず自分自身の過去から始めよう。
ぼくは、人々からアマチュア仲間としてではなく、 何らかの専門家や権威だとみなされることがひどく嫌いである。
http://users.ece.utexas.edu/~adnan/pike.html
原則1. プログラムのボトルネックはしばしば思いもかけない場所に現れ、あらかじめ予測することはできない。なので証拠もなしに高速化しようとしないこと。
原則2. 計測せよ。計測せずに高速化してはならない。
原則3. 複雑なアルゴリズムは普通定数部が大きく、nが小さいときには役に立たない。nが十分に大きいと確信できるまで複雑なアルゴリズムは使わないこと。(その場合も、原則2を適用すること)
原則4. 複雑なアルゴリズムは単純なものよりも実装しにくくバグも入りやすい。単純なアルゴリズムとデータ構造を使うこと。
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<meta name="viewport" content="width=device-width"> | |
<title>日程表生成君</title> | |
<script> | |
function split(v) { | |
return v.split(",").map(x => x.trim()); | |
} |