2016-01-01から1年間の記事一覧

0.999...=1を中学生にわかるように厳密に証明した。

この記事を読んで、中学生にもわかる証明を書きたくなった。でもεδ論法とか実数の公理とかは使いたくない。そういうのを使わずにできるだけ厳密にやってみたいと思った。 以下、対話の続きっぽく書いた。 0.999...=1の証明 先生「あれから先生考えてみました…

シンプルな数式のパーサー(操車場アルゴリズム)

構文解析にちょこっと興味が出てきたので、単純な数式をパースする関数を Node.js で書いた。参考にしたのは 操車場アルゴリズム(Wikipedia) と JavaScript で数式パーサを書いてみた。 です。 数式の定義 できるだけ実装をシンプルにしたいので、数式の定義…

プログラミングの写経サイトを作った

プログラミングの練習用に他人のコードを写経することってよくありますよね? そこで、写経用のサイトを作りました。 写経ザ・プログラム ぜひ使ってみてください! なぜ写経なのか プログラミング言語を習得するために「写経」がおすすめ、みたいな記事はグ…

Reactの最低限のテストをEnzymeで書く

React.js のテストをさくっと書きたい。とりあえず、 jsdom とか本格的なことはしたくない。最低限、コンポーネントがエラーを吐かずにレンダリングされることぐらいはテストしたい。そこで Mocha + Enzyme を使う。 Mocha Enzyme 必要なことは Enzyme の RE…

いろいろなモーダルウィンドウの実装

モーダルウィンドウを実装するためには、ウィンドウを表示している状態と表示していない状態を切り替える仕掛けがあればよい。 CSS のみでモーダルウィンドウを実装 (1) 状態の区別をチェックボックスで行い、css の擬似属性 :checked を使って表示/非表示…

【JavaScript】Arrayのmapメソッドは習うより慣れろって感じ

配列の map() メソッドが使いこなせるようになるとプログラミングが楽しくなってくる。ただ、息をするように使いこなせるようになるには少し練習が必要なので、map() を使う例を集めました。 Array.prototype.map() - JavaScript | MDN map() の簡単な例 map…

ブール値を関数で定義する(ラムダ計算)

以下、 型システム入門 −プログラミング言語と型の理論− の P.44-45 を参考にした。 ラムダ計算を使って、ブール値を関数で実装する。言語は、Node.js (バージョン 6 以上)。関数型プログラミングに興味あるなら Haskell とか使えよって感じですが、許してく…

主の祈りを出力するコマンドラインツール

「主の祈り」を標準入力に出力するコマンドラインツールを作った。 理由は、最近 npm パッケージの作り方を覚え、npm で簡単にコマンドラインツールを作れることを知ったから。 ソースコードは github で公開している。 npm : oratio github : oratio そのう…

シェルスクリプトの変数の代入・参照、値が空のときの処理

参考 : プロフェショナル・シェルプログラミング (アスキー書籍) シェルスクリプトの変数の代入と参照 # 変数の代入は前後にスペースを入れない name=Jonh # 変数の参照は"$"をつける echo $name # => John # これでもOK echo ${name} # => John # 文字列の…

React.js と Redux でナンプレのサイトを作った

作った。日替わりナンプレ楽しかった。

「カリー化」を例でさっくり理解する

カリー化を例でさっくり理解する 「カリー化」です。 いきなり定義から入ると数学っぽくなってやる気がなくなるので、例から入ります。以下、JavaScript です。 カリー化の基本 べき乗を求める関数 pow(x, y) があるとします。 function pow(x, y) { return …

反転(2題)

プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~ この本(通称:蟻本)の章末で紹介されている練習問題をひたすらといている。反転。端っこを決めるとそこからカタカタと自動的に全部…

しゃくとり法(2題)

プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~ この本(通称:蟻本)の章末で紹介されている練習問題をひたすらといている。 POJ2566: Bound Found 2566 -- Bound Found 問題概要 N …

二分探索:その他(2題)

プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~ この本(通称:蟻本)の章末で紹介されている練習問題をひたすらといている。二分探索。その他。 POJ1759: Garland 1759 -- Garland …

二分探索:k 番目の値を検索(2題)

プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~ この本(通称:蟻本)の章末で紹介されている練習問題をひたすらといている。二分探索。k 番目の値を検索する問題である。 10^9 個く…

二分探索:k 番目の値を最小化(1題)

プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~ この本(通称:蟻本)の章末で紹介されている練習問題をひたすらといている。二分探索。k 番目の値を最小化する問題である。 POJ3662:…

二分探索:平均の最大化(2題)

プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~ この本(通称:蟻本)の章末で紹介されている練習問題をひたすらといている。二分探索。平均の最大化の問題である。 やっていることは…

二分探索:最小値の最大化(4題)

プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~ この本(通称:蟻本)の章末で紹介されている練習問題をひたすらといている。第3章の章末に入った。二分探索。最小値の最大化である…