kkana's blog

新米コーダーの忘れそうなことメモ

読書メモ:初めての自動テスト(1)

テストのピラミッド テストの3つの層・アプリケーションアーキテクチャの3つの層 UI (→UIテスト) E2Eで動くテスト 遅く、壊れやすい サービス(→総合テスト) UIを通過せず、サービス層をテストする 問題のある箇所を特定するのには向いていない ロジック(→…

読書メモ:道具と機械の本(1)

新装版 道具と機械の本――てこからコンピューターまで作者: デビッド・マコーレイ,歌崎秀史出版社/メーカー: 岩波書店発売日: 2011/09/08メディア: 大型本 クリック: 1回この商品を含むブログを見る これがめちゃめちゃ楽しい本で、いろんな機械の仕組みがか…

読書メモ:プログラマの数学(5)

順列・組み合わせ 数えることは整数との対応づけ 数えることは 数えたいものを整数に対応づけすること 数えるときはもれ・ダブりに注意する 数えるルールをつくるために、数えたいものがどんな構造をしているか・どんな性質を持っているか理解する。 数え上…

読書メモ:プログラマの数学(4)

数学的帰納法 ある主張が成り立つことを0以上のすべての整数について証明する方法。 数学的帰納法は2つのステップで行う P(0)が成り立つ ことを証明する(基底) 0以上のどんな整数kを選んでも、P(k)が成り立つならばP(k+1)も成り立つことを証明する(帰納…

読書メモ:プログラマの数学(3)

剰余 剰余は周期性をみつける道具 剰余を使って考えると周期性をみつけることができる。 周期性を見つけると、大きな数の問題を扱いやすくなる。(一億日後は何曜日か?とか) 10の100乗みたいに解く数がとても大きくなっても、同じように位をあげながらあまり…

読書メモ:プログラマの数学(2)

理論 なぜ理論が必要なのか 自然言語のあいまいな部分をなくす。理論式で仕様書を表現しようとするとあいまいなところを見つけることができる。 シンプルで理解しやすい式に変換することができる 理論の言葉 命題・真偽 命題:正しいか正しくないかを判断で…

読書メモ:プログラマの数学(1)

数え方と0の役割 数が大きくなってくると扱うのがむづかしいのでいろいろ数え方が生まれた 大きくなってきたら 小さな「まとまり」に分けて解く 位取り記数法(くらいどりきすうほう) 位取り記数法 - Wikipedia 2進法・16進法など 普段使っているのは10進法(…

letとconstを覚えた

最近N予備校を受け始めたんですが、javascriptの入門編ではすでにES2015で学ぶのが前提のカリキュラムになってるんですね(当たり前か・・) letとconstと 今まで使っていたvarの違い 有効範囲が違う letとconstはif forなどの{}のブロックの中で有効になる …

the nature of code を読み終えて

1年と半年かかった「the nature of code」の最後の課題が終わったところで、(正確には終わってないんですが・・最終課題の生態系プロジェクトがまだノータッチ)、 いままで書いたブログ記事へのリンク、課題を作って知って楽しかったこと・さっぱりわから…

nature of code : 今日の練習「ネットワークのアニメーション」

the nature of code 10章最後の課題 これまで読んできたニューラルネットワークのさわりの部分を可視化したアニメーション See the Pen ネットワークのアニメーション by kanaparty (@kanaparty) on CodePen. 2016年にギリギリ間に合った・・・!

nature of code : 今日の練習「ビークルの訓練」

前回作成したのは教師あり学習(正解があって、結果と正解から誤差を計算し重みを調整する)だったが 今回は簡易的な強化学習(結果から誤差を計算し、環境に対応する)を作ってみる練習。 今回のビークルにはbrainプロパティがあって、操舵力を決めるときに…

nature of code : 今日の練習「選択的遺伝」

See the Pen 選択的遺伝 by kanaparty (@kanaparty) on CodePen. 9章でやり残してしまっていた課題。 自分で適応度を変更して次の世代のパターンを作る。 例は顔みたいな図形だったけど、タータンチェックのパターンで作ってみた。

nature of code : 今日の練習「単純なパーセプトロン」

ニューラルネットワークとは 脳に基づいて特定の問題を解決するための計算モデル。複雑系の一種 ニューラルネットワーク - Wikipedia ニューロン...細胞網に存在している単一細胞で、入力を受け取り、処理し、出力を生成する。 コネクショニスト計算系...情…

イテレータ・ジェネレータ(ついでにシンボルもちょっとだけ)覚えたことメモ

tuitui.hatenablog.com ↑昨年イテレータについて後日読もうと思っていたんですが、ようやくその「後日」が来ました。 イテレータ・ジェネレータ(ついでにシンボルもちょっとだけ)について覚えたことをメモ。 自分でIterableなオブジェクトを書いてもいいし…

vue.jsでマインスイーパ

See the Pen Minesweeper(vue.js) by kanaparty (@kanaparty) on CodePen. はじめてMVCのフレームワーク使ってみた。なんて簡単なんだ〜〜いい感じ〜!

読書メモ:イシューからはじめよ(1)

バリューのある仕事とは イシュー度(置かれた局面での答えをだす必要性の高さ)と解の質(どこまで明確に答えがだせているかの度合い)が高い仕事 解の質が高い仕事であってもイシュー度が低いと結果的にバリューのある仕事は生まれにくい(犬の道) 誤:「…

nature of code:今日の練習「餌を食べるのに最適な大きさに進化する」

See the Pen PzJZNz by kanaparty (@kanaparty) on CodePen. あとで

nature of code:今日の練習「障害物を避けて獲物に向かうように進化するビークル」

See the Pen 障害物を避けて進化 by kanaparty (@kanaparty) on CodePen. 前回 tuitui.hatenablog.com のコードをベースに、障害物を設置してそれを避けて通るように進化させる課題。 前回のコードとの大きな違いは、ビークルの表現のクラスのなかの、適応度…

nature of code:今日の練習「獲物に向かうように進化するビークル」

See the Pen 獲物に向かうように進化するビークル by kanaparty (@kanaparty) on CodePen. 久しぶりにnature of codeの課題! 前回の進化の課題の表現を文字列から運動に変えて、 解を「獲物(画面右端の丸)にたどり着くこと」とした。 はじめはてんでバラ…

promiseを初めて使ったときのメモ

ECMAscript2015 のpromiseを使う機会があったので、メモ ここが詳しい azu.github.io promiseとは 非同期処理を抽象化したもの promiseに続けてthen(成功時).catch(失敗時)を書く。わかりやすい! thenの引数の二つ目には失敗時の処理を渡すことができる…

読書メモ:webを支える技術(1)(2)

URL URN URI URL(リソースの場所)、URN(リソースの名前)、URI(リソースの識別) REST REST・・・webのアーキテクチャスタイル(指針・作法・流儀、システムを設計するときの指針) リソース web上に存在する、名前(URI)をもったありとあらゆる情報のこと。 U…

読書メモ:webを支える技術(3)

TCP/IPについて インターネットのネットワークプロトコルは階層型になっている ネットワークインターフェイス層 インターネット層 パケット単位でデータのやりとり。IPが相当する部分。データ送り出すことは保証するが、送り先に辿り着いたかの保証はしない…

読書メモ:webを支える技術(5)

リソース設計とは・・・ クライアントとサーバの間のインターフェイスの設計(どう分割するか?、どうURIで名前をつけるか?、リンクの関係をどうするか?) webサービスとwebAPIをわけて考えない(どちらもweb上にあるリソースを提供するものなので) 設計…

nature of code:今日の練習「遺伝的アルゴリズム」

See the Pen Genetic Algorithms(遺伝的アルゴリズム) by kanaparty (@kanaparty) on CodePen. 遺伝的アルゴリズムを使ってランダムな文字列から「音はしぐれか」 種田山頭火 - Wikipediaへ進化させる。 遺伝的アルゴリズム ステップは大きく分けて3つ 集…

nature of code:今日の練習「木(L-systemを使って)」

See the Pen tree(L-system) by kanaparty (@kanaparty) on CodePen. L-systemを使って、藻みたいな描写をする課題。 L-system - Wikipedia フラクタル構造を管理するメカニズム。必要な要素は3つあって、 アルファベット 公理(初期状態) 規則 作ったL-sy…

nature of code:今日の練習「枝」

See the Pen tree(2) by kanaparty (@kanaparty) on CodePen. 木っぽいやつ コッホ曲線を書いた時のようにベクトルオブジェクト(とそれをまとめるarraylist)でつくってみたのは↓ こっちは枝の長さが一定に短くなるようにしてます。 See the Pen tree by ka…

nature of code:今日の練習「コッホ曲線」

See the Pen KochLine(コッホ曲線) by kanaparty (@kanaparty) on CodePen. これ コッホ曲線 - Wikipedia 今までは回転をさせる時、rotateでcanvasを回転させて描く、みたいなことばかりしかやっていなかったが 今回のをつくるのにあたって自作ベクトルクラ…

Goole app script をちょっとだけ触ったときのメモ

リファレンス https://developers.google.com/apps-script/reference/calendar/ ここにいろいろまとまっている http://libro.tuyano.com/index2?id=638001 メニューから実行させたいとき https://developers.google.com/apps-script/guides/triggers/#onopen…

nature of code:今日の練習「再帰関数」

See the Pen Recursive(再帰) by kanaparty (@kanaparty) on CodePen.

jsスケッチ 水面

See the Pen 水面 by kanaparty (@kanaparty) on CodePen. ライフゲームのルールを少し変えると水面みたいになる! 今回のルール 次の状態を決めるルール セル自身は 前の状態、今の状態、次の状態を持っている。 次の状態 = 自分の周りの8個の前の状態の平…