タグ

Programmingに関するaufhebenのブックマーク (7)

  • 2つの期間が重なり合うかどうかを判定する。 - こせきの技術日記

    2つの期間 A〜B と X〜Y が重なっているかどうかを判定したい場合。 のように4つのパターンがある。これを単純に、 A <= X && Y <= B || X <= A && Y <= B || A <= X && B <= Y || X <= A && B <= Yのように判定してはいけない。 Xは青い線の上を、Yは赤い線の上を動くとき、A〜B と X〜Y は重なり合う。この条件は、 X <= B && A <= Yこれで4つのパターンをカバーできる。ORは不要。始点と終点をわかりやすく書くと以下になる。 始点2 <= 終点1 && 始点1 <= 終点2アルゴリズムに名前がありそうな気がするけど、見つけられなかった。 (追記) 矩形の重なり判定の方が情報が見つかった。 * Life is beautiful: ビル・ゲイツの面接試験-私の場合 * 長方形の重なりを判定する問題 - ザ

    2つの期間が重なり合うかどうかを判定する。 - こせきの技術日記
  • 24のプログラミング言語がブラウザで即実行できる『paiza.IO』 - paiza times

    こんにちは。今回は谷口が担当します。 paizaはこの度、ITエンジニア向けの無料オンラインプログラミング実行環境サービス『paiza.IO (パイザ・アイオー)』 のβ版を、日2014年11月17日からサービス開始いたしました。 『paiza.IO』は、ブラウザ上でコードが書け、書いたコードをその場で実行出来るオンラインプログラム実行環境です。 ブラウザだけでプログラミングがすぐ始められる【paiza.io】 from paiza on Vimeo. ■オンライン実行環境について ◆どうしてpaiza.ioを作ったの? これまでプログラミングを始める際、最大のハードルは「プログラムの実行環境を構築する事」でした。 これまでは、環境構築といえば初心者にとってハードルが高く、ものによっては細かい部分でつまづいたりなどして1~2日程度はかかる工程の面倒な作業でした。そのボトルネックを解消し、

    24のプログラミング言語がブラウザで即実行できる『paiza.IO』 - paiza times
  • ライフゲームの世界 - 人工知能に関する断創録

    ニコニコ動画の複雑系コミュニティの発起人のはむくんがライフゲームの世界というとても面白い動画を投稿されています。Twitterでは何度かツイートしてたけど完結したのでブログでも紹介させていただきます。 ライフゲームの世界1 John Horton Conwayが提案したライフゲーム(Conway's Game of Life)の基的なルールを解説しています。また頻繁に現れる4種の物体(ブロック、蜂の巣、ブリンカー、グライダー)を紹介しています。最後の作品紹介は、P416 60P5H2V0 gunというすさまじいパターンが出てきます。グライダー銃から発射したグライダーたちが滑走路を通ります。グライダーの集合先では、発射された複数のグライダーが合体して宇宙船が組み立てられます。 ライフゲームの世界2 いろんな振動子(パルサー、タンブラー、銀河)が鑑賞できます。作品紹介では大量の振動子が勢揃い

    ライフゲームの世界 - 人工知能に関する断創録
  • 学んでから作るのではなく、作ってから学ぶ - ぼくはまちちゃん!

    こんにちはこんにちは!! 先日、ちょっとしたイベントで、学生の方にこんな質問をされました。 「自分は早くプログラマになりたい、作りたいアプリもある。 だけど来年にならないとプログラミングの授業が始まらないから、作れない」 と。 なるほど。 その時、ぼくが答えたのは、 「今日、家に帰ったらプログラミングしてください」 だったんだけど、言葉が足りなかったかもしない。 だからここに、もうちょっと詳しく書いてみますね。 アプリを作る、プログラマになる、一番手っ取り早い方法を。 1. 目標を立てる 作りたいものを思い描くということ。 いきなりすごいものを作るのは大変だから、最初の目標は少し抑えてちょっとしたものがいいね。 できれば、自分にとって便利なものや、少しワクワクするものがいい。 例えば、スマホで動くキッチンタイマーとかでもいい。 (これはワクワクしないかもしれないけど) 2. すぐに作り始め

    学んでから作るのではなく、作ってから学ぶ - ぼくはまちちゃん!
  • プログラマの麻疹 - 宇宙行きたい

    id:t-wada と話してた時に出てきた「プログラマの麻疹」 プログラマはみんなどうせかかるんだから早めにかかっておいた方が良い そしてかかっておくと治った後にはさらに良いコードが書けるようになるので 恐れずにかかりましょう 名前 症状 僕の状態 OO 厨 多分、現在一番キャリアが多い。一時期 AOP 厨になってしまった人も含むことがある。Smalltalk を神格化し始める かかり中 function 厨 最近増えてきた。マルチコア時代に最適というわかりやすい感染源ができたことも要因の一つ。LISP が世界を作っていると信じる 挫折中 三項演算子厨 どんどんネストした三項演算子を書いてしまう。気がつくと自分でもよくわからなくなってることもある 治療済み テスト厨 テストのためだけにコードを書いてしまう。プロダクトコードのきれいさよりもテストのしやすさを求めてしまう 治療中 lambda

    プログラマの麻疹 - 宇宙行きたい
  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
    aufheben
    aufheben 2009/04/09
    今日は酔っぱらいなんで、あとで読む。
  • Project Euler - odz buffer

    ref:http://projecteuler.net/ なんか Project Euler をやれといわれたのでやってみたんだけども、若い番号の問題がやたら簡単でびっくりした。 例えば Problem 5 とか Gauche なら (use srfi-1) (apply lcm (iota 20 1))で、Haskell なら foldl1 lcm [1..20]んで、もって Problem 160 とか解き方が良く分からなかったから、Hadoop を使ってぶん回して解いた*1。ひどい。Quad Core とか Dual Core x 2 とかそういうマシンを複数台使って 90 分とかだったから、普通にやると多分1日以上かかるだろうなぁ。 とりあえず、今 49 問 解いてて 27% genius. *1:といっても(10^12)! をまじめに計算したりはしていない

    Project Euler - odz buffer
  • 1