タグ

programmingに関するShigeakiYazakiのブックマーク (12)

  • オーダーを極める思考法

    プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。今回は、計算量のオーダーについて学びながら、TopCoderのMedium問題を考えてみましょう。 プログラムの実行時間 業務としてプログラミングをされている方には釈迦に説法かもしれませんが、プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。そしてこれは、TopCoderなどのコンテストでプログラムを組む際にもよく当てはまります。通常、こうしたことは感覚的に理解している方がほとんどだと思いますが、具体的にどれくらいのループを回すと何秒掛かる、といった基準を持っている人は少ないのではないでしょうか? 非常に基的なことですが、プログラムの実行時間に関して再確認しておきたいと思います。 TopCoderの制限に関して TopCoderでは、実行時間およびメモリ使

    オーダーを極める思考法
    ShigeakiYazaki
    ShigeakiYazaki 2009/08/22
    おもしろわかりやすい
  • 記号でPolyglotプログラミング♪(RejectKaigi2009) | TAKESAKO @ Yet another Cybozu Labs

    RubyKaigi2009の最終日に同じ場所で開催された別のイベント「RejectKaigi2009」にて 「はじめてのRuby1.9プログラミング」と題して、記号Polyglotプログラミングの話をしてきました。 3分という限られた時間でありましたが、貴重な発表の機会を与えてくださりありがとうございます。 取り急ぎプレゼンで披露した記号Polyglotのプログラムを公開しておきます。 ■ hello.pl (という名前ですが、Perlの他にRubyJavaScriptでも実行できるプログラムです) "#{",$/*"}";%#=();$^_^=’?“;">)~${`&&@`{;:+`[[‘,$^_^=’/?")-=^{(=!".=.!,!)&&>’,$^_^=’`-+|{!?“*.((-+({:^(_^’,$^_=”^’+@$@&’^’^.@%@’.’$^_^"";’.$^_^"",’

  • プログラミングできる人とできない人との間の深い溝 - masatoi’s blog

    どうしてプログラマに・・・プログラムが書けないのか?を読んでいて出てきたので出展の一つを訳してみた。Separating Programming Sheep from Non-Programming Goatsの和訳。 プログラミングというものには向き不向きが強く出るということはわりと知られていると思うが、このエントリではプログラミングができるかできないかは比較的簡単なテストによって、プログラミングの訓練を始める前の段階で分かると主張している。どうしてプログラマに・・・プログラムが書けないのか?では、そもそもこの事前テストをパスしていないような人達までプログラマとして応募してくると言っており、その判定法として有名なFizzBuzz問題を挙げている。 追記(2019/2/28) 注意: なおこの論文はしばらく前に著者の一人によって撤回されたようです Camels and humps: a r

    プログラミングできる人とできない人との間の深い溝 - masatoi’s blog
  • プログラマの麻疹 - 宇宙行きたい

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

    プログラマの麻疹 - 宇宙行きたい
  • シムシティーの仕組み

    シムシティーを作り始めていちばん最初に考えたのは、街を一種の生き物のように表現できないかってことだった。 僕が街についてどう考えているかはすでに説明したけど、大事なのは街を構成する建物とか道路じゃなくって、そこでどんな活動が行なわれているかってことだと思うんだ。道路を車が走り、電車が動き、人々が動き回り、常に要素が変化し続ける“動きのある”システム。街を表現する方法っていうと誰でも地図を思い浮かべると思うけど、僕は動きがない地図じゃなくって、たとえば飛行機から眺めた街、動きのある世界をディスプレイに表現しようって考えた。それこそが僕の考える街の姿だからね。 それともう一つ考えたことは、プレイヤーに伝える情報をできるだけわかりやすく、それも“面白い”って思えるような形で表現しようってことだった。シミュレーション・ソフトっていうとたいてい数値や図表がたくさん出てくるけれど、数字が並んでいるのを

  • ホワイトカラーはみんなプログラマーになる仮説

    月曜日に公開した記事「SIerとパッケージベンダはどちらが高給? IT系上場企業の平均給与を業種別にみてみた」は、スラッシュドットやはてなブックマークなどで取り上げてもらったおかげで、たくさんの人に読まれた記事になりました。現時点で約1万8000ページビューにもなりました。 さて、あの記事を書くに当たっていちばん手間がかかったのは、文章をまとめるところではなくて情報を集めるためにプログラムを書く部分でした。 というのも、記事で対象にした企業は載せなかったものも含めると全部で700社以上ありました。もしも情報収集をプログラムで自動化せず、マウスで1つ1つクリックして集めていたら、その作業だけで丸一日以上かかっていてもおかしくありません。情報収集をプログラムで自動化できなかったら記事を書くことはあきらめていたでしょう。 参考までに書くと、プログラミングとしてはwgetでWebページをまとめてダ

    ホワイトカラーはみんなプログラマーになる仮説
  • 「ソフトウェアは工業製品ではない」、Rubyのまつもと氏が講演 - @IT

    2009/04/10 ソフトウェアは工業製品ではない――。Rubyの生みの親としてしられるまつもとゆきひろ氏は2009年4月9日、InfoQ主催のイベント「QCon Tokyo 2009」の基調講演で、ソフトウェアと何であり、何でないのか、それはどういう性質のものであるのかを雄弁に語った。 コードとは設計である 「ビューティフルコード」と題した基調講演を行ったまつもと氏は、2007年に共著者の1人として出版した同名の書籍に書いたエッセイに込めた思いを、次のように語る。 「世界に冠たる日の製造業のノウハウを適用することで生産性を上げることができるに違いないという発想がありますが、ソフトウェアは工業製品ではない。そうした誤解を正していきたい」。 ソフトウェア産業界では、よくエンジニアが何十万人足りないということが言われる。しかし、まつもと氏は、これは工業生産と同じ方法論を当てはめることから来

  • 国語力とプログラミング力の関係 解説編

    2009年1月、Cyan設計者 林拓人氏とLispの伝道師 竹内郁雄氏との対談「Cyanを設計した高校生、5カ月で5つの言語を習得」が大きな反響を呼んだ。その原因の1つは、竹内氏が発したひと言「わたしの持論ですが、国語ができる(=日語できちんとした文章が書ける)人じゃないとプログラムは書けない」だ。これについてネットでは同意する意見が多かったものの、記事中で根拠が明らかにされていなかったため議論が紛糾した。そこで編集部は竹内氏に詰め寄り、「わたしの持論」について詳しく説明してもらうべく寄稿をお願いした。国語力とプログラミング力には当に相関関係があるのだろうか。 事のいきさつ~Cyan設計者 林くんとの対談で発してしまったひと言が思わぬ反響を呼ぶ Cyan言語で経済産業大臣賞を受けた開成高校の林拓人くんと対談(「Cyanを設計した高校生、5カ月で5つの言語を習得」)しているうちに、つい調

    国語力とプログラミング力の関係 解説編
  • プログラマの教育のための本 - きしだのHatena

    Seasarカンファレンスで「プログラムが組めるようになるためには何を教えればいいですか?」と聞かれて、「創るJava」も絶版だし、どうしようかと思いつつ、「教える」というときに考えないといけないことが書いてあるを紹介しますね、と言ったので、そのの紹介。 あと、そのときに言ったこと。 教育するときに大切なことは、「情報を与える」という観点でカリキュラムを構築してはダメで、「脳みそを構築する」という観点でカリキュラムを作らないといけない、というようなことをまずは伝えた。 つまり、たとえばJavaでWebアプリを作れるようにするというときに、必要な情報を分解してHTMLとデータベースとサーブレットとJavaの文法が必要だとなって、その情報の依存関係を洗い出して、最初にJavaの文法をからとか順番を決めて、依存部分の少ないものから提示していくという、そういう単なる情報の提示だけでは教育にはな

    プログラマの教育のための本 - きしだのHatena
  • devsummit2009js

    How Race, Age and Gender Shape Attitudes Towards Mental Health

    devsummit2009js
  • 統計処理ソフト R 入門 講習会資料

    講習会の目的 講習会は, R についての自習の基盤をつくることを目指します。 たとえ初心者向けの数時間の入門講習でなく1年間の毎週の演習授業であっても,R に関してすべてを説明するのは不可能だと思われます。 R の世界は,縦にはそこそこ深く,横には果てが見えないほど広いです。 CRAN に登録されている R のパッケージは 1000 を超えました。 よって,受講者の幅も広いことですし,受講者各自にとってぴったりな統計解析の実用的な解説をするのはあきらめて, 各自が必要に応じて情報を探し,見つけたものを難なく活用できるようになること,を目標にしました。 ここに自分の求めている分析手法や作図法などの答えがあるとは期待しないで下さい。それは帰ってからのあなたの楽しい仕事です。 R の利用と R 言語 R の根幹は R 言語のインタプリタであり,ユーザはR言語を駆使することでRを操作します。 S

  • Rの基本データ構造、よく使う関数紹介 - yasuhisa's blog

    Agenda データ構造 たくさんある>< ベクトル Rの格言 いろんなベクトルの作り方 規則的データの生成 同じデータを繰り返す ベクトルへのアクセスの方法 アクセス方法にもいろいろある まだまだあるよ、アクセス方法 行列 埋めていく順番 すでにあるベクトルを束ねる cbind rbind 行列へのアクセス方法 行列の基演算 積がやっかい 積を求めたいときは「%*%」を使うべし 逆行列を求める ちなみに 行列式 固有値 配列 リスト 例 ちなみに unlistのtips リストへのアクセス リストは結構難しい>< 例 リストの要素には名前を付けることができる Rでlistがどのように使われているか データフレーム 例 データフレームを作る データフレームに列を追加と削除 データフレームに行を追加 因子型 irisのデータでやってみる irisデータ 層別にSepal.Lengthの長さ

    Rの基本データ構造、よく使う関数紹介 - yasuhisa's blog
    ShigeakiYazaki
    ShigeakiYazaki 2009/03/02
    おもしろそう。遊びたい
  • 1