トップ «前月 最新 翌月» 追記

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|

ToDo:


2020-07-03

_ ちょっと難しい問題

人間、ちょっと難しい問題が解けると嬉しくなるので、特に重要性のない、ちょっと難しい問題を見つけて解くのに夢中になってしまう問題がある

でも多くの場合、本当にやった方が良いのは、

  • 重要性のある、簡単な問題をたくさん解く
  • 重要性のある、難しい問題を諦めて簡単な複数の問題に落とす

であることが多い

このへんに僕が趣味と仕事のコーディングが全然違う、と感じてる理由があるように思う。趣味だと僕は属人性全開のコンテストとか大好きなのだけど、仕事の場合、「必要な簡単な問題をたくさん解いてたら、全体としては非自明な、有用性のあるものができました」みたいな開発が好きで、あまり仕事で属人性多いことやりたくないなあ……と思っている

(12:00)


2020-07-08

_ the future is here

無人球場でロボが応援、おもしろすぎる

https://www.youtube.com/watch?v=G9p9jdmJQOQ

(08:03)


2020-07-13

_ CS 30トピック

https://twitter.com/_ko1/status/1281972384036040704

https://twitter.com/_ko1/status/1281984532971786240

を見て、エンジニアトピックの作ってみる課題30個、ての考えてみると面白そうだなあ、と思って考えてみた。たぶん普通 CS という時よりも、自分の趣味と実務ぽいの多めだと思う

表記は

  • ジャンル / 課題 / コメント

みたいになってる

アルゴリズムぽいやつ

  • データ構造 / 赤黒木など平衡木 / ハッシュでもいいなあという気がする
  • アルゴリズム / diff / 個人的には動的計画法の実用の圧倒的定番
  • アルゴリズム / TSPをGPなり焼きなましなりで / メタヒューリスティクスなんか知ってていいと思うので
  • アルゴリズム / オセロのゲーム木探索 / 再帰する系もなんか欲しいなあと思ったけどいらない気がする

あとダイクストラとか考えた

言語処理系ぽいやつ

  • オートマトンと正規言語 / 特殊記号は .* くらいの正規表現エンジン / まあ定番
  • 型 / intとfloatとtupleくらいの型推論 / 興味持った人は高階関数や多相あたり?
  • パーサ / 四則演算を再帰下降 / まあ定番
  • インタプリタ / add/jmp/print くらいの VM を実装 / 構文木インタプリタは忘れていいよねというのと、CPUエミュレータ的なのを兼ねられるかなと
  • コンパイラ / ↑の VM からアセンブリ生成する / 発展課題として VM コードの方を生成する

S式からVMコード出して実行するとかすると一気通貫で良さそう

低レイヤとかUNIXぽいやつ

  • 並列プログラミング / ミューテクス / cmpxchg で作ってみる
  • 並列プログラミング / スレッドプール / ↑のやつ使うと良い
  • シェル / パイプが使えるだけのshell / fork/pipe/exec
  • プロセス制御 / make的なやつ / プロセス制御は実務的には結構役に立つ気がしている
  • OS / qemuあたりにシステムコールを追加 / OS系、あれこれ考えたけど、あまりしんどくない課題が思いつかなかった。ついでに大規模なコード眺めるとかできて良いかなと

あと malloc とかも思ったけどいくらなんでも僕の趣味すぎるかと思った

ネットワーク、Web、分散システム

  • ネットワーク / エコーサーバ / selectとかするやつ
  • HTTP / HTTP喋ってログイン / スクリプト言語使っていいけどHTTPとクッキー喋るのは自力くらいの設定で
  • JSとCSS / 特定サイト専用adblock / あんまほど良い課題が思いつかない
  • SQL / ログイン情報SQLに保持してSQL injectionやってみる / RDB 作るとかの方が良いのだろうかと思ったけど軽くならない気がする……
  • 分散システム / memcached的なKVS / クラウドぽいやつ。できれば DHT 使って

マルチメディアとUI

  • グラフィックス / キャンバスで好きなもの書く / フラクタル書くとかよりはゲームのキャラ動かす的なのが良い気がする
  • 音楽 / ドレミを適当に正弦波と矩形波で合成するくらいのシンセサイザ / 音のAPIはこういう感じになるんだなあと思った記憶がある
  • UI / グリッドレイアウト的なやつ使って設定画面 / UIツールキットみたいなの使ってみるのは良い気がする

まあゲーム作ると良いと思う

統計と機械学習

  • 統計 / 最小二乗 / 簡単すぎるかもだけど有用度も高いと思うんだけど、どうだろ
  • 統計 / k-mean / SVMとかの方が良いのかな
  • DNN / MNISTをnumpyくらいで / 勾配法やってりゃいいよ的な

統計わからん

情報理論と暗号

  • 情報理論 / ハフマン符号 / 定番的なやつ
  • 符号 / UTF8とUCS2の相互変換 / UTF8知らないとつらそう
  • 暗号 / SHA1 / MTとかでも良い気がした。いらない気もするが git とか考えると
  • 暗号 / RSA / 定番的なやつ

未分類

  • 数値計算 / FFT / ルンゲクッタが定番な気がするけど。音楽のとこで合成したのにかけると楽しいはず?
  • ハードウェア / 加算器 / iverilog 的なやつで

おもったこと

全体的に自分の趣味と知ってる領域に偏る。忘れてる領域多そうで、でも数えると既に30越えてる。座学ぽくなる計算量理論は……チューリングマシンとかラムダ計算とかあって良かった気もする。数学は……まあいいかなあ……。定理証明とかは、まあどうかなあ……というのと

なんとなく、わかってる人は1日でできるけど、わかってない人は勉強するのも含めて1週間くらい、1年もかけて一通りやるとなんか一通りわかった気になれるんじゃないの?くらいの内容になった気がする

(10:06)

_ k-mean

よりは wikipedia から言語モデル作る、とかの方が良い気がする

(10:17)

_ 候補

mark & sweep GC

DNS クライアント

(14:41)

_ 候補

ストレージの遅さを実感する系の……

あと mmap とか paging とかは良いトピックだよなあ

(14:43)

_ 候補

satソルバ系のやつ

(18:32)


2020年
7月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h