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

九州大学医学部のほうから来たKさんの開発した「ゴーストfor文」がものすごい

九州大学医学部のほうから来たKさん*1が開発した「ゴーストfor文」がものすごい。 普通の大人なら、1分で指定回数繰り返すfor文が書けるようになる。 やりかたは下の図を見てね。 変数iを使って5回繰り返す場合 ・iを①、②、④に入れる ・5を③に入れる ・答え…

Javaでちゃんと数字も表示されるFizzBuzz書いた

数字も表示されてないのは、やっぱFizzBuzzとして失格だと思うので、ちゃんと数字が表示されるようにがんばりました。 実行したらこうなります。ちゃんと数字が出てます!(追記:でも間違ってる!) Exception in thread "main" java.lang.reflect.InvocationT…

落ち着かないのでFizzBuzz書いた

コピペプログラミングでごめんなさい・・・ 数値も出力できてないし・・・ FizzBuzzもエレガントに書けないなんて・・・ package javaapplication1; public class FizzBuzzEx { public static void main(String[] args) { new FizzBuzzEx().n(1); } public v…

「プログラミング言語の基礎概念」という本が非常にお気に入り

このところScalaで言語を実装してみたりしてたんですが、何をしてたかというと、「プログラミング言語の基礎概念」という本に書いてあることを実装してみてたのです。 この「プログラミング言語の基礎概念」、博多駅のところの紀伊國屋に行ったときにたまた…

「プログラマ」とは別に「バインダー」という職種名を思いついたのだけど

よくアルゴリズムの話とかすると「アルゴリズムとか業務で使わないから。ライブラリあるから」みたいな話が出ますね。今日もTwitterでkumagiさんが「競技プログラミングが業務で役に立たないって言ってる人は・・・」って話してたわけです。 でもまあ、アル…

Scalaでパーサーを作ってみる〜14:組み込み関数

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111109#1320815540 前回でFizzBuzzを動かしてみました。 http://d.hatena.ne.jp/nowokay/20111118#1321590289 これで、言語としては最低限の機能が…

Scalaでパーサーを作ってみる〜13:FizzBuzz!

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111109#1320815540 前回、関数呼出しのチェーンができるようにしました。 http://d.hatena.ne.jp/nowokay/20111117#1321499255 ここらで、ちょっと…

Scalaでパーサーを作ってみる〜12:関数呼び出しのチェーン

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111109#1320815540 前回で関数リテラルまでできました。 http://d.hatena.ne.jp/nowokay/20111116#1321432559 ただ、 def high(x) ={y => x * y}; …

Scalaでパーサーを作ってみる〜11:関数リテラル

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111109#1320815540 前回でレキシカルスコープとクロージャを導入しました。 http://d.hatena.ne.jp/nowokay/20111115#1321333375 ときたら、関数リ…

Scalaでパーサーを作ってみる〜10:レキシカルスコープとクロージャ

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111109#1320815540前回は関数が導入されて、とうとう汎用処理がかけるプログラム言語になりました。 http://d.hatena.ne.jp/nowokay/20111114#1321…

Scalaでパーサーを作ってみる〜9:関数の定義と呼び出し

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111109#1320815540 前回、変数のスコープを導入しました。 http://d.hatena.ne.jp/nowokay/20111111#1320987235 そうすると、やっぱり関数定義した…

Twitterでフォロー返しをしたらDM送って消えるスパム

このところフォローされたアカウントの中に、どっかで拾ったかわいい女の子アイコンで、つまりスパム臭いアイコンで、発言0でフォロー数も200くらい、フォロー返し50くらいという感じのアカウントがいくつかあった。 とくに宣伝ツイートしてるわけでもないし…

Twitterハッシュタグの一人歩き

これすごくおもしろいなーと思って。 TPPについての首相の会見のあとから「#野田の殺し方考えようぜ」というハッシュタグが流行り出したということで、見てみたら「こんなタグが流行るなんてどうにかしてる」という内容ばかりで、「こんなタグで発言してるや…

Scalaでパーサーを作ってみる〜8:変数のスコープ

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111109#1320815540 前回で変数導入しました。 http://d.hatena.ne.jp/nowokay/20111110#1320899264 けど、 val aa = 23; println("pre block:" + a…

Scalaでパーサーを作ってみる〜7:変数

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111109#1320815540 前回で、コードブロックを導入して複数の式が評価できるようになりました。 http://d.hatena.ne.jp/nowokay/20111108#132074507…

Scalaでパーサーを作ってみる 〜目次〜

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 一段落ついたらまとめを作ろうと思ってたのですけど、先も長そうなので、ここいらで目次をつくっておきます。 Scalaでパーサーを作る基本 Scalaでパーサーを作ってみる〜1:構文定義 …

Scalaでパーサーを作ってみる〜6:コードブロック

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111101#1320102262 前回は、文字列とprintlnを導入しました。 http://d.hatena.ne.jp/nowokay/20111107#1320637899 そうすると、複数の式を実行し…

Scalaでパーサーを作ってみる〜5:文字列とprintln

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111101#1320102262 前回はif式で条件分岐してみました。 http://d.hatena.ne.jp/nowokay/20111106#1320542912 ここいらで計算過程を表示できるよう…

Scalaでパーサーを作ってみる〜4:ブール値とif式

Scalaの勉強をはじめたので、とりあえず簡単なパーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111101#1320102262 前回で、簡単な計算ができるようになりました。 http://d.hatena.ne.jp/nowokay/20111105#1320463263 ということで、今回は、ブ…

Scalaでパーサーを作ってみる〜3:式の評価

Scalaの勉強をはじめたので、とりあえず簡単な数式パーサーを作ってみてます。 http://d.hatena.ne.jp/nowokay/20111101#1320102262 前回は、構文木のオブジェクトを生成しました。 http://d.hatena.ne.jp/nowokay/20111104#1320365981 これで、構文木が扱え…

Scalaでパーサーを作ってみる〜2:構文木の作成

Scalaの勉強をはじめたので、とりあえず簡単な数式パーサーを作ってみてます。 前回は、とりあえず構文規則を定義しました。 Scalaでパーサーを作ってみる〜1:構文定義 - きしだのはてな 今回は、その構文規則からASTオブジェクトを生成しようと思います。 …

「創るJava」で勉強してるところをUst配信しても文句いいませんよ?

書籍での演習を著者に無断でUstすることが問題になるかどうか。 まず、あらかじめ、これは法的な正しさは保証しないことをお断りしておきます。 書籍のサンプルは著作物か まず、書籍のサンプルが著作物になるかどうか。 これは、単体では著作物にならない可…

Scalaでパーサーを作ってみる〜1:構文定義

Scalaの勉強をはじめました。 で、なんかパーサーコンビネータというのがあるらしく、パーサーが簡単に作れるらしく、じゃあパーサー作ってみるのがScalaの勉強にいいんじゃないかということで、簡単なパーサーを作ってみることにします。 とりあえず構文定…

ECサイト構築のカスタマイズのベースにはLive-CommerceよりEC-CUBEのほうがいい

PHP製のECサイトパッケージに、EC-CUBEとLive Commerceってのがあります。 http://www.ec-cube.net/ http://www.live-commerce.com/ 機能はLive-Commerceのほうが断然豊富です。 でも、がっつりいじくることを前提にすると、EC-CUBEのほうがいいです。 いじ…

変数名、関数名とコメントでは表現する内容が違う

先日Twitterにこんなことを書いた。 なにやってるかはコード見ればわかる。なにやろうとしてるかはコードみてもわからんからコメント書け。 そうしたところ、変数・関数(メソッド)に適切な名前をつければ改めてコメントの必要はないんじゃないかという指摘を…

プログラム言語の部屋

ジョン・サールの「中国語の部屋」という話がある。 http://www.h5.dion.ne.jp/~terun/doc/chugokugo.html 部屋に閉じ込められたイギリス人が、中国語の手紙をうけとる。イギリス人は、手元にある「中国語で返信」手順書にしたがって、手紙にかかれた記号か…

Firefox7のロケーションバーでhttp:// を表示する

Firefox7のロケーションバーでは、http:// が表示されないようになっています。 これはこれでいいし、URLを選択してコピーしたときはhttp:// が入るのでいいのですが、URLを編集したときはコピーしてもhttp:// が入りません。 utm_sourceなどの無駄パラメー…

難しい本、分厚い本を読んでいて挫折しそうになったらどうするか

そのまま挫折しましょう。

作るプログラムの機能や性能で勝負したい。そうだ、データベースを勉強しよう

さて、アルゴリズムの勉強のしかたと、ラムダ計算の勉強のしかたの目星をつけました。 アルゴリズムの勉強のしかた - きしだのはてな ラムダ計算の勉強のしかた、プログラム意味論 - きしだのはてな これでここで書いたプログラムの理論の基礎は勉強できたこ…

ラムダ計算の勉強のしかた、プログラム意味論

先日のエントリで手続きを記述するという側面と、式を記述するという2つの側面があるということを書きました。 プログラムの理論とはなにか そして、手続きの性質として代表的な、アルゴリズムについての勉強のしかたについてまとめてみました。 アルゴリズ…