2024年バージョンの全面改定された新しい本が公開されているので移動してください 関数型プログラミングをゼロからわかりやすく実用的に幅広い視点から解説!〜 圏論からFRPの構築まで a岡部 健Ken Okabekentutorialbook@gmail.com 関数型プログラミングが『銀の弾丸』である という非常識な常識 2022Functional Programming as the Silver bullet, that is the Insane common sense 2022
2020最新版競プロスラング用語集です。 「FFの競プロerが意味不明な単語を叫んでいてわからない!」 「界隈用語で溢れていて入っていけない!」という方、必見です。 ちょっと内輪ネタが入っているかもしれませんが、競プロ用語は全部内輪ネタみたいなものなので、よしとしましょう。 これであなたも競プロ界隈の仲間入りです。 色 AtCoder, Codeforces, TopCoderなどのコンテストでは、参加者に「レーティング」とそれに応じた「色」がつけられ、実力の指標になります。 サイトによって色は多少異なりますが、どのサイトでも赤が一番強く、「赤コーダー」になることは人々の夢です。 コンテスト プログラミングコンテストに参加することは、競プロerのライフワークです。 競プロerが「コンテスト」と言ったらプログラミングコンテストのことです。 「コン↑テ→スト↓」という謎のイントネーションで発音
var totalOfEvenNumberUnder100 = 0; for (var i = 0; i < 100; i++) { if (i % 2 === 0) { totalOfEvenNumberUnder100 += i; } } 命題に、「繰り返す」という文字がないのに、forで繰り返しています。手続き型に慣れたプログラマは、もう違和感を感じなくなってしまっているかもしれませんが、なぜ繰り返すのでしょうか。0から100未満の数字がほしいだけなのに。 また、最初に0で変数を初期化するのも命題にはありません。 さらには、偶数のみを取り出す処理と足す処理が交互に行われることになっています。偶数のみを累計する、という命題とは違う処理になってしまっています。 もちろん答えは一緒ですが、命題とは別の処理になってしまっているともいえます。 推奨 できるだけ処理に名前をつけていきます。 命題
昔々、具体的には約1万7千年前の旧石器時代、大学の情報工学科を卒業して、新卒22歳でSIerに就職した男(以下SE)がいました。 SEはある日、上司に言われました。 「2016年くらいに、銀行で大規模な基幹システムが必要になるらしいから、今から君一人で作り始めて。工数は20万人月ね。」 そういうと、上司はシステム企画構想やそれに伴う提案書、ノートPCを1つSEに渡して、自分は狩りに出かけました。 途方にくれるSE氏、ここから彼の約1万7千年(1万6666年)にも及ぶ、20万人月のシステム開発が始まるのでした。 約1万7千年前 |- 要件定義書を作成着手。 | 周りの人達は狩りをしながら生きている。 | 約1万6千年前 |- 要件定義書の作成が完了する。 | 基本設計に着手する。 | 土器を作り始める人が現れる | 徐々に日本列島が大陸から離れ列島になっていく。 | 約1万4100年前 |-
@ryoppy さんに先を越されてしまったが、こちらはマクロじゃなくて線形合同法でやってみます。 定式化 オリジナルのズンドコキヨシは 「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた ですが、今回は型レベルで実装したいので、もう少し問題を定式化する必要があります。 ここでは、以下をズンドコキヨシと定義して解くことにします。 定数A, C, Mおよび初期値$X_0$, 閾値Tを与え、次の式でズンドコ列{$Zn$}を生成する (線形合同法) $X_{n+1} = (AX_n+C)modM$ に対し、$Xn >= T$ならズン, $Xn < T$ならドコ $Z_{n-3}, Z_{n-2}, Z_{n-1}, Z_{n}$ = ズン, ズン, ズン, ドコをみたす$n$が
JavaScriptで抜くってどういうことなんだよ。 プログラムやってるとみんなこうなっちゃうの?
経緯 以前、「Vim Scriptでもレイトレーシングができるのではないか?」ということを考えていました。 昨日早朝、布団の中でそのことを突然思い出したので布団を飛び出し衝動的に実装しました。 tana/vimtracer · GitHub 機能 このような画像をPPM形式で生成できます。 256x256ピクセルの画像を54秒で生成できました。(Intel Core i5 3.40GHz、Vim 7.4) 点光源と影、反射を実装しました。 物体は球体しか実装していないので、平面のように見える白い床も実は巨大な球体です。 今のところは球体の位置や色、画像サイズもすべてハードコーディングされています。 気づいたこと Vim Scriptには制御構造や関数のほかに浮動小数点数、リスト、辞書のデータ構造を持っているので、 基本的にはRubyやPythonのような言語に近い感覚でプログラムが書けます
はじめに 言いたい事はわかるんですけど、ふわっと言葉を使っていると間違っていることもあります。 ということで、ほとんど自戒なのですが、今や私も気になる部分は多々あるので、私が思う気を付けたらいいよっていう言葉のリストを以下にあげます。気をつけましょう。 なお、本稿では実際の定義は皆様に調べていただく方向ですので、書いておきません。これ調べたらいいよ的なガイドワードくらいです。 証明する 例えば「このテストによって証明されている」これやばいですね。 テスト界隈からも証明プログラミング界隈からも数学界隈からも目を付けられます。 少なくともそれはなごやに囲まれる事を意味します。 基礎 書籍や記事やイベントで「基礎」とみかけますが、結構な割合で入門と勘違いしているケースがあります。それはよくないです。基礎 と 入門は違います。入門向けな予定なのに、基礎と書いたがために、こわい人たちが大挙した勉強会
We have an employee whose surname is Null. Our employee lookup application is killed when that last name is used as the search term (which happens to be quite often now). The error received is: <soapenv:Fault> <faultcode>soapenv:Server.userException</faultcode> <faultstring>coldfusion.xml.rpc.CFCInvocationException: [coldfusion.runtime.MissingArgumentException : The SEARCHSTRING parameter to the g
Lazy系の会社の隆盛があって、仕様が定められたのが8年ぐらい前だろうか。 コンビネータ産業の人材動向が、今どうなってるかって? 大方の予想より凄惨ですよ。 それが分かる方法がある。Lazy K技術者に技術力を問う8つの質問によってだ。 Lazy K業界のエンジニアの平均レベルを知りたくって、いろんな会社さんのLazy K開発者(経験者)向けに以下のようなつ8の質問をしていない。 その8つの質問というのはこんな問題だ。 Lazy K技術者に技術力を問う8の質問 ラムダ抽象ではなくコンビネータで表現するメリットを一言で表してください。(筆記回答) 入出力の終端を表現する方法は何ですか?(筆記回答) チャーチエンコーディングとスコットエンコーディングの違いを端的に説明してください。(筆記回答) 任意の関数に対して不動点を求めるコードはどれですか?(選択回答) S I I (S (S (K S)
Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ
http://anond.hatelabo.jp/20081105135432 彼女ができた。なんとHaskellerだ。 8月に参加したLLイベントで知り合い、10月から付き合い始めた。なんでLLイベントにHaskellerが… これまで5人くらいのプログラマと付き合ったことがあるけれど、一般的なプログラマと比較して 考え方が論理的・合理的、たらい回しが速いコードが散漫にならない、関数一つ一つが必ず本質に行き着くプライドが高い、超が付くほど負けず嫌いといった点が目立つ。 見た目はLisperを少し丸くしたようなかわいらしさがあるのだけれど、要するに中身はPrologだ。 初めは戸惑いもあったが、案外こういうプログラマとつきあうのは楽で楽しいと分かってきた。 コードは深い問題もFizzBuzzのような軽い問題も内容を伴って書ける。 いろいろメタプログラミング・アロー記法・ユニコード演算子な
I am having some difficulty compiling a C++ program that I've written. This program is very simple and, to the best of my knowledge, conforms to all the rules set forth in the C++ Standard. I've read over the entirety of ISO/IEC 14882:2003 twice to be sure. The program is as follows: Here is the output I received when trying to compile this program with Visual C++ 2010: c:\dev>cl /nologo helloworl
はじめに 桜花たんはツイドルである。桜花たんはかわいい。真理である。しかしぽんこつさんは別のパラダイムを提供したい。可憐な薔薇には棘がある。桜花たんはこんなにもこわいのだと。 桜花たんのここがこわい その1 〜負けず嫌い〜 Event: jubeatを一緒にやろう! 最近ぽんこつさんは結構音ゲーjubeatがお熱である。まぁ何が面白いのかと言われると良く分からないけど、好きな曲に合わせてノリながら格好良く(ぽんこつさん基準)タイミング良く叩いてくのはなかなかに爽快で…って別にぽんこつさんのことはどうでもいいですね。 桜花たんも結構やっているらしく、ぽんこつさんが大阪に遊びに行った時は一緒にやることになって、大阪の某店でjubeatの店内マッチングでをやった訳だ。 結果的に、私ときゅぶんす(@kyubuns)たんが始めた時期の割にいいスコア出して(とはいうものの、勿論桜花たんには若干叶わない
今年もぼちぼち各種技術系 Advent Calendar の準備(参加申し込み)が始まっているようでなのでメモ代わりに.Google 検索結果 (Advent Calendar site:atnd.org) や Twitter Search 検索結果 (Advent Calendar) 辺りを参照すると,ここに載ってないものも発見できるかもしれません.実際に始まったら,Programmer's Advent Calendar jp - Cielquis.Net もカバーできる範囲で更新して行こうと思います. 分類 リンク C++ C++11 Advent Calendar 2011 : ATND bjam Advent Calendar jp 2011 : ATND .NET Visual Basic Advent Calendar 2011 : ATND C# Advent Calend
printf職人 空白制御を自在に操り端末に美しい出力を作り出す職人達 sh職人 shのクオートのルールを完全に把握し、空白を含むファイル名とワイルドカードとコマンド引数の組み合わせにも立ち向かう職人達 Makefile職人 どういう仕組みかよくわかんないけど依存をちゃんとするMakefileを生み出す職人達 CMake職人 Windowsでもちゃんと動くCMakeLists.txtを記述する職人達 autotools職人 autotoolsが使える
Shibuya.pm #16 「夏の正規表現祭り」で、正規表現のお話をさせていただきました。 まぁ、「電話番号にマッチする正規表現」とか「郵便番号にマッチする正規表現」とかよく書かれてるけど、「どれもこれも手緩いよね」って話。 あ、だいぶはしょったかな。 とりあえずスライドに書いたので、発表をご覧になってない方はスライドからご覧ください。 ふと見返すと、このブログで電話番号の正規表現を公表するのは 3 度目ですが、あれからだいぶ経ってますね。 今ではもっと厳密な正規表現を作っています。 そして、Number::Phone::JP に続き、Number::ZipCode::JP という酔狂なモジュールが公開された記念で、郵便番号にマッチする正規表現を今回初めて公開しますが、そもそもここまで厳密な正規表現が公開されること自体、本邦初公開ってヤツでしょう。 Shibuya.pm でも言いましたが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く