Skip to content

Instantly share code, notes, and snippets.

@euske
euske / cs-things-to-do.md
Last active April 3, 2024 06:20
情報系の学生が身につけておくべき (だが、大学では教えてくれない) こと

情報系の学生が身につけておくべき (だが、大学では教えてくれない) こと

大学の授業では理論的な基盤を教えることが多く、実務的な知識はあまり教えないのが普通である。 しかし実際に研究・実験・就職をする場面になると、学校では教えない多くの知識が必要になる。 残念ながら、現在の大学にはこれらを体系的に教えるようなカリキュラムは存在せず、多くの学生は独学か、研究室の先輩などから教わることになる。 ここではそうした知識のうち重要と思われるものを記した。なお、プログラミング言語や業務システムに関する知識は除いてある。 また、知識は「○○を勉強せよ」などという漠然とした指示ではなく、できるだけ具体的な例を挙げた。

もちろん、これらに加えて大学の授業 (線型代数、アルゴリズム、統計、型理論など) きちんと学ぶ必要がある。 企業などでは実践的な知識がなければ「使えない人」とみなされてしまうが、

@euske
euske / ffmpeg.md
Last active February 18, 2024 18:41 — forked from steven2358/ffmpeg.md
FFmpeg チートシート
@euske
euske / tweets.html
Created August 10, 2023 05:57
Tweets by mootastic (2021-03-19 ~ 2023-08-06)
This file has been truncated, but you can view the full file.
<!DOCTYPE html>
<head><meta charset="UTF-8">
<title>Tweets by mootastic</title>
</head><body>
<h1>Tweets by mootastic</h1>
<ol>
<li id="1372720610531450884"><strong>2021-03-19 01:32 (Fri) +0900</strong>
<p>「なぜ宇宙飛行士はLinuxを使うのかって? そりゃ宇宙じゃウインドウを開けないからさ!」 <a href="http://pbs.twimg.com/media/EwziGW0VcAIyN2K.png">http://pbs.twimg.com/media/EwziGW0VcAIyN2K.png</a>
<li id="1372723374141501440"><strong>2021-03-19 01:31 (Fri) +0900</strong>

(新山が勝手に考える) 大学教員の心得

  1. 学生をお客様として扱う:
    • 学生には丁寧に応答する。
    • 授業は可能なかぎりアクセシブルにする:
      • 手軽に学習できる環境。
      • 見やすい資料。
      • 聞きやすい音声。
    • 欠席した学生もできるかぎりサポートする。
  2. 学生から信頼されるよう努める:
@euske
euske / devthoughts.md
Last active July 3, 2023 02:09
Thoughts on Software Development

ソフトウェア開発について思うこと

理想

  • 役に立つソフトウェアを作る。
  • 長く使えるソフトウェアを作る。
  • しかもなるべく早く作る。

牛丼もソフトウェアも究極的な目標は同じである: はやい、うまい、やすい。

依存注入 (Dependency Injection) と test doubles

依存の注入とは何か?

たとえば、新しく作ったウェブブラウザを自動テストすることを考えてみよう。 このブラウザはキーボードとマウスからの入力に従って動作し、画面を出力するものとする。

          +-------------+
          |             |

keyboard ---> |

@euske
euske / transformer.md
Last active June 4, 2023 05:36
Intuitive Explanation of Transformer (w/o math)

Intuitive Explanation of Transformer (without math)

Summary: Transformer (a la "Attention is All You Need") is a complex model that is built upon several important ideas. In this article, we explain these ideas in terms of traditional programming concepts, without using math.

Prerequisites: basic understanding of NN and RNN, and Python.

@euske
euske / beware.md
Last active June 4, 2023 05:24
悪意あるパッケージの注意喚起

そのプラグイン、大丈夫ですか?

開発者は格好のカモ

開発者用のマシンには以下のような情報が存在します:

  • 各種APIのトークン
  • クラウド用アカウントのパスワード
  • SSH用の鍵
  • 証明書の秘密鍵
@euske
euske / parable.md
Last active May 13, 2023 14:47
あるたとえ話 (A parable) - ダイクストラによる、プログラマの魂をもった技師の話。

あるたとえ話 (A parable)

https://www.cs.utexas.edu/~EWD/transcriptions/EWD05xx/EWD594.html

-- エドガー W. ダイクストラ (Edsger W. Dijkstra)

その昔、鉄道会社がありました。その (おそらくはやり手の) 経営者は、 トイレをすべての客車につけず、50% の客車にだけつけるようにすれば、会社の 初期投資をずっと少なくできることに気づき、そのように指示しました。

@euske
euske / fiverules.md
Last active April 28, 2023 04:29
Rob Pikeのプログラミング五原則

Rob Pike のプログラミング五原則:

http://users.ece.utexas.edu/~adnan/pike.html

原則1. プログラムのボトルネックはしばしば思いもかけない場所に現れ、あらかじめ予測することはできない。なので証拠もなしに高速化しようとしないこと。

原則2. 計測せよ。計測せずに高速化してはならない。

原則3. 複雑なアルゴリズムは普通定数部が大きく、nが小さいときには役に立たない。nが十分に大きいと確信できるまで複雑なアルゴリズムは使わないこと。(その場合も、原則2を適用すること)

原則4. 複雑なアルゴリズムは単純なものよりも実装しにくくバグも入りやすい。単純なアルゴリズムとデータ構造を使うこと。