第6回iOS6のApple製マップに、Googleマップをオーバーレイするライブラリ/フレームワーク 堤修一 2012-10-04
![職人が教える!iOSアプリ開発で使いこなしたいとっておきのOSS 記事一覧 | gihyo.jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/7241c583676d54fc052c4388a6edd25e4c7f280b/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2Fgihyojp-ogp.png)
TwitterのTLで知ったのだが、少し前に海外の掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと
9割ぐらいはハッシュ何がハッシュなのかjavascriptで存在するほとんどのオブジェクトの実体はハッシュだよ。 var arr = [0,1,2,3]; とかをみると配列(人によってはリスト)に見えると思う。でも実際は違うんだ。 これは var has = {0:0,1:1,2:2,3:3}; と基本的には等価なんだ。ただちょっと束縛されているメソッド(インターフェイス)が違うだけ。 ためしに arr[4] = 4; arr['x'] = 'string'; arr[-1] = -1; としてみよう。 Firebugで確認してみると[0, 1, 2, undefined, 4]というような値がかえってくるよ。 でもarr[-1]やarr['x']の値は保存されてないのかな?そんなことはないちゃんとアクセスできるんだ。 それどころかarr.xで'string'がかえってくるんだ。 別の例を
To all who Think Themselves a Programmerより。 サンフランシスコのある会社での求人なのだが、この会社では書類選考として、どの言語を使用してもいいので最悪なHelloWorld(画面にHello Worldと表示させるだけのプログラム)を書いてもらい、それを採用基準にしている。 最善のコードではなく、最悪な手法で試すとはなかなか面白い。言語選びなどでも個性が出るので、その人の潜在的なスキルが試される。日本じゃこんな手法を採用している企業なんて少ないよなぁ。 採用された例 原文より抜粋して掲載。変態的(褒め言葉)なHello Worldの世界へご招待。 その1 y = lambda { |f| lambda { |x| lambda { |n| (f.call (x.call x)).call n } }. call lambda { |x| lambd
Javaはわりと素朴な言語だ。 Rubyは簡単な英語をちょっと知っていれば分かってしまうくらい易しい。Perlもまぁだいたい同じくらいだ。 Cなんて、小学生でも、ともすれば幼稚園児でも、理解が可能だ。 C++やC#なんかは慣れない人は戸惑ってしまうかもしれないが、実際は素直だったりする。 OCamlは人によって力を入れる場所が違っていたりして混乱しがちだ。それに比べるとHaskellはブレが少なくて意外と易しい。 Pythonは比較的難しい。SchemeはPythonと同程度かPythonより難しい。 Gaucheはかなり難しい。初めて見た人はどうしても間違った判断を下しがちだ。 うん、まぁ名前の読み方の話なんだけど。
プログラマに向いている人と向いていない人がいるそうです。 Jeff Atwood さんの「どうしてプログラマに・・・プログラムが書けないのか?」: プログラムを書ける者とプログラムを書けない者の間にある大きな溝についてはよく知られているが、プログラマの職に応募してくる人間は、すでにこの溝を飛び越えているものだとばかり思っていた。明らかにこれは妥当な仮定ではないらしい。プログラムを書けないプログラマの面接で時間を無駄にしないために、FizzBuzzスタイルのふるい分けが必要ということだ。 どんなことでも向き不向きはあるでしょうから、これには納得いきます。しかし、プログラマになれる人の中にも、溝があるようです。 Joel Spolsk さんの「Javaスクールの危険」: 私のささやかな経験から言わせてもらうと、伝統的に大学のコンピュータサイエンスのカリキュラムで教えられているもので、多くの人が
ソフトウェア開発コストのほとんどは保守のコストだと言われている。各種統計がそれを示しているわけだけど、自分の実感とも合う。 古典的なウォータフォールモデルでは保守というのが意識されないか、あっても一番下流なので、その重要性に対する認識が非常に薄い。 保守という言葉は若干大げさな響きを持つが、プログラムの不具合の修正や、ちょっとした機能変更、機能追加などなど、運用していけば、つまりそのソフトウェアが利用されていれば必ず必要なものである。保守されていないソフトウェアは早晩利用されなくなるか、既に利用されていないかである。 Unixの哲学を持ち出すまでもなく、優れたプログラマはプログラムを書くのではなく、再利用する。いかにしてプログラムを書く機会を減らすか虎視眈々としている。可能な限り再利用して、どうしても書かざるを得ない場合はリサイクルをしちゃったりする。(プログラマにとってのReduce/R
@ITの「業務用途でRubyを使う上での課題 」を読んでなんだか悲しくなった。 チーム開発でRubyを使ったときに今後起こりえる問題として、サン・マイクロシステムズ システム技術統括本部 チーフテクノロジストの下道高志氏は、こう指摘する。「他人の書いたPHPコードのメンテナンスはできない。Rubyはどうかといえば、現状はいい。しかし今後“職業プログラマ”ではなく、渡された仕様書を実装する“サラリーマンプログラマ”が増えてくると、コードのスパゲッティ化は避けられないだろう」。 【業務用途でRubyを使う上での課題 − @ITより引用】 これは言語の問題ではなく、日本のソフトウェア産業全体が抱える問題。以前にも「ソフトウェアの仕様書は料理のレシピに似ている」というエントリーで書いたが、本来のソフトウェア作りとは、絵を描いたり、音楽を作ったり、建物をデザインするのと同じ「創作活動」である。ドラッ
個人が成し遂げられることはどんどん大きくなっている。常識は短期間で変わる。今貴重なものは,やがて過剰になる。日本市場を世界からへだててきた日本語の壁はなくなろうとしている。ネットの向こうにいる仲間を信じよう---「U-20プログラミング・コンテスト」という,20歳以下を対象にしたコンテストに参加した若い技術者たちに,伝えたかったことだ。 ここ3年ほど,このコンテストの審査会にオブザーバという名目で立ち会わせてもらっている。なにしろ審査員のひとりであるまつもとゆきひろ氏が「私が応募しても入賞できないかもしれない」というレベルの高さである。思わず唸る完成度の高い作品あり,思わず吹き出してしまうユーモアのある作品あり。記者は好きに意見だけ言って審査の責任は負わないという美味しい役目でもあり,こんなに無料で見させていただいていいのだろうかというくらい楽しませていただいている(関連記事)。 ところで
startmac 生まれてはじめて、プログラミングなるものしてみんとて。 いやー、Webディレクターをしていると、ちょっとでいいから自分でプログラミングができるといいなと思いはじめるんですよねー。 でもあまりにも敷居が高くて、なかなか手を出せず、そしてどんどん月日は流れていくばかり。 で、このたびStart Macに当選してMacBookをもらったとき、これを機に、 「今度こそ、絶対に、何が何でもプログラミングを学ぼう」 と思ったんですよね。ほら、MacってベースがUNIXだから、なんとなくプログラミングとかもやりやすそうな気もするし。 なので、今回はちょっと気合を入れて、先生を見つけて、時間をとって、とうとうやってしまいました。 プログラミング童貞を捧げる相手は、「Ruby on Rails」。とても簡単にプログラミングができると話題のフレームワークです。 Rubyというプログラミング言
Jeff Atwood / 青木靖 訳 2007年2月26日 レジナルド・ブレイスウェイトが書いていることを読んだとき、私はそんなわけないだろうと思っていた。 私と同様、この著者は、プログラミングの仕事への応募者200人中199人はコードがまったく書けないということで苦労している。繰り返すが、彼らはどんなコードも書けないのだ。 彼が引用している著者というのはイムランのことで、彼は単純なプログラムも書けないプログラマをたくさん追い払っているということだ。 かなりの試行錯誤の末に、コードを書こうともがいている人たちというのは、単に大きな問題に対して苦労しているのではないことがわかった。やや小さな問題(連結リストを実装するというような)に対して苦労するということでさえない。彼らはまったくちっぽけな問題に苦労しているのだ。 それで、そういった類の開発者を見分けるための質問を作り始め、私が「Fizz
画像拡大後も処理を繰り返してしまう問題があったので修正しました。 http://yagi.xrea.jp/2006/12/miximix.user.js Greasemonkeyスクリプトなどを書いてると、対象HTML中にJavaScriptを埋め込みたくなることがあります。 ベタに書くと大変うざいことにりますが、 script.innerHTML = "add = function(a, b){" + " var ans = a + b;" + " return ans;" + "}"; こう書くとすっきり。 script.innerHTML = "add = " + (function(a, b){ var ans = a + b; return ans; }); 関数を普通に記述した上で、それを文字列に変換。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く