タグ

programmingに関するhirafooのブックマーク (38)

  • Rubber duck debugging - Wikipedia

    A rubber duck in use by a developer to aid debugging In software engineering, rubber duck debugging (or rubberducking) is a method of debugging code by articulating a problem in spoken or written natural language. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, l

    Rubber duck debugging - Wikipedia
    hirafoo
    hirafoo 2012/07/27
    アヒルに話すと問題点が整理され解決策を見出せることもある
  • 言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー

    Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初

    言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー
  • プログラミング言語人気TOP10の簡易解説

    0-1. 前書き この世にはたくさんのプログラミング言語が存在します。Wikiepdiaのプログラミング言語一覧を見ると、実に200個以上というわけの分からない数の言語が並んでいたりします。 【参考URL】プログラミング言語一覧 - Wikipedia http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%... 200の中にはほとんど使われてない言語も混じってるので、実際に仕事でざくざく使われている言語は20とか30とかそういうオーダーなのですが、それでも1人の人間が把握するにはちょっと多過ぎる数です。 記事では、そうした有り余るプログラミング言語の海の中で「どれを勉強したらいいの?」とか「どれを採用するのが適切?」という悩みをお持ちの方が「よし、この言語に決めた!」と自信を持って決断できるように背中を押すことを目的として書か

  • 高速でプログラミング言語をマスターするのに有効な記事まとめ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

    高速でプログラミング言語をマスターするのに有効な記事まとめ - NAVER まとめ
  • 不完全にしておよそ正しくないプログラミング言語小史

    1801 – ジョセフ・マリー・ジャカールがパンチカードを使った織機によってタペストリーに"hello, world"と織り出す。しかしラッダイト (当時のRedditer) たちは、テールリカージョン、並行処理、大文字小文字の区別を欠いていたため、さほど感心しなかった。 1842 – エイダ・ラブレスが最初のプログラムを書く。彼女の努力は、プログラムを実行するコンピュータが実のところ存在しないというマイナーな問題のために頓挫した。後にエンタープライズアーキテクトたちはプログラムをUMLで書くために彼女のテクニックを再び学ぶことになる。 1936 – アラン・チューリングが存在しうるあらゆるプログラミング言語を発明するが、特許化する前に英国情報部員(後の007)によって抹殺される。 1936 – アロンゾ・チャーチも存在しうるあらゆる言語を発明しているが、より巧みに行った。チャーチのラムダ

  • ドクター・ペッパーが好きな人は優秀説出る - Ameba News [アメーバニュース]

    ドクター・ペッパーが好きな人は優秀説出る 2月01日 09時28分 コメント コメントする 優秀なプログラマーの特徴について、IT系企業取締役が語ってくれた。同氏は、これまでに大勢のプログラマー技術者と接してきたが、多くのケースで当てはまったという。それは、「ドクター・ペッパーが好きな技術者/プログラマーは優秀」ということだ。 その理由については「プログラマーで重要なのは対人能力や愛想の良さだと私は思っていません。社会性が多少欠如していても、熱心に、そして時に予想を上回るプログラムを書いてくれることが重要です。独自路線で自分ひとりガーッと突っ走れるような人が優秀です。これまでの経験上、ドクター・ペッパーが好きな人は大抵そんな人です。コカ・コーラが好きな人はごく普通の人。ペプシはその中間です」と話す。 そのため、技術者やプログラマー採用の二次審査に残った複数候補者がいずれも甲乙つけがた

    hirafoo
    hirafoo 2010/05/10
    周囲に訊いてみたら案外信憑性が高い
  • スクリプト言語の息の根を止めるのは案外 SSD かもな - kwatchの日記

    大変たいへん興味深い記事。全プログラマーにとって。 HDDの代わりにSSDを利用したら、リレーショナルデータベースの性能はどれだけ向上するのでしょうか? オラクルと富士通が共同検証を行い、その結果をホワイトペーパーとして先週発表しました ...(snip)... HDDは200スレッドで性能が頭打ちなのに対し、SSDは200スレッドから300スレッドになってもまだ性能は上昇。ただし、300スレッド時にはCPU利用率が100%に近づいており、先にCPU性能の方がボトルネックとなってしまったようです。 HDDをSSDにしたらデータベースはどれだけ速くなるか? オラクルと富士通が実験 - Publickey 動的なスクリプト言語 (RubyPython など) と静的なコンパイル型言語 (C++Java など) では、だいたい 5 倍から 10 倍ぐらいの速度差がある。それでもスクリ

    スクリプト言語の息の根を止めるのは案外 SSD かもな - kwatchの日記
  • http://joken.nara-k.ac.jp/~moyashiki/wiki/index.php?Project%20Euler

  • Project Euler - PukiWiki

    Project Euler † プログラムで解く数学の問題集です。 公式サイト 適当に和訳してます。我こそはと思う人はライセンスを確認した上で自由に書いてください。 ↑

  • http://ja.wikipedia.org/wiki/Hello_world%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E4%B8%80%E8%A6%A7

  • perl - 現代的な Perl を再習得する方法は : 404 Blog Not Found

    2009年06月12日02:30 カテゴリLightweight LanguagesBlogosphere perl - 現代的な Perl を再習得する方法は TopHatenarでperl一位の私が来ましたよ。 現代的な Perl を再習得する方法は? - スラッシュドット・ジャパン 現代的な Perl を習得するためには、どのようなステップを踏むのが良いだろうか ? またお勧めの書籍などあったら教えて欲しい。 モダンPerlに限らず、プログラミングを再?習得するのに最適な方法、それは.... ブログに書きつづけること です。他のどんな手法もこれに勝ることはないと弾言しましょう。 以下、その三つの理由。 1. 自然にアウトプットが出来る プログラムは、言語で書きます。 書くものである以上、書かなければ覚えられません。 いくらいいソースコードを読んでも、書かなければ自分のものにはなりませ

    perl - 現代的な Perl を再習得する方法は : 404 Blog Not Found
    hirafoo
    hirafoo 2009/06/12
    かっこいい
  • 100行のCプログラムでWebチャットを実装する方法 - mixi engineer blog

    例の冷却ファンを修理してもらいに秋葉原に行ったのですが、最近の同人ゲームのクオリティはすごいなあと感心していたら、その二階はもっととんでもないことになってて、ひとつ大人になってしまったmikioです。今回は、Tokyo Cabinetのテンプレート直列化機能を駆使して、たった100行のCプログラムでWebチャットシステムを実装してみます。 古式ゆかしいWebチャットシステム 10年くらい前にCGIスクリプトでチャットシステムを作るのが流行していたのを覚えている方も多いと思います。チャットログは現在のようにデータベースサーバに転送して格納するのではなく、ローカルファイルシステム上のファイルにCSVやTSVなどのフォーマットで格納したり、同じくローカルのDBMファイルに格納するのが主流でした。2ちゃんねるの「datファイル」もそのようなデータファイルの一種と言えるでしょう。 その頃から、CGI

    100行のCプログラムでWebチャットを実装する方法 - mixi engineer blog
  • js/perl/python/ruby/scheme - 真偽のほどはいかに : 404 Blog Not Found

    2009年06月05日03:30 カテゴリLightweight Languages js/perl/python/ruby/scheme - 真偽のほどはいかに こちらでも調べてみた。 各言語におけるtrue/falseまとめ - 床のトルストイ、ゲイとするとのこと 追加で調べたのは NaNとInfの扱い - 作り方と真偽値 「ジェネリック」な真偽値 JavaScript Perlと以外と似ている。 NaNはNaN、InfはInfinityという名で組み込み ジェネリックな真はtrue、偽はfalse #!/usr/bin/js tell_me_the_truth = function(s){ var p; eval('p = ' + s); if (p){ print('\'' + s + '\' (' + p + ')' + ' is TRUE.'); } else{ print('

    js/perl/python/ruby/scheme - 真偽のほどはいかに : 404 Blog Not Found
  • @IT:連載:.NETマルチスレッド・プログラミング入門 第1回 マルチスレッドはこんなときに使う

    難解なマルチスレッド・プログラミングを基礎から解説。まずはその動作原理を理解し、活用すべき場面を見極める。 連載目次 シングルスレッドとマルチスレッド コンピュータのプログラムは、基的に1行ずつコードが実行されながら動作する。通常、分岐やループがあっても、プログラム全体は1つの流れになっている。このような一連のプログラムの流れを「スレッド」(Thread:「糸」などの意味)と呼び、1つのスレッドだけからなるプログラムを「シングルスレッドなプログラム」という。たいていのプログラミングでは1つの処理の流れを記述するが、このようなプログラムはシングルスレッドなプログラムに該当する。 一方、プログラムによっては、処理効率を上げるなどの目的で、複数の処理を並行して行うことができる。つまり、1つのプログラムで複数のスレッドを同時に実行することができるのである。このようなプログラムを「マルチスレッド・

    @IT:連載:.NETマルチスレッド・プログラミング入門 第1回 マルチスレッドはこんなときに使う
    hirafoo
    hirafoo 2009/04/24
    異なるプロセスが同じメモリ上のデータにアクセスすることは基本的にはないが、スレッド間では同じデータに簡単にアクセスできる
  • 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年5月11日 水曜 私が最初の当の仕事をはじめたのは1983年9月に遡る。それはオラニムというイスラエルの大きな製パン工場で、16台の飛行機ほどもある巨大なオーブンで、毎晩10万個のパンが作られていた。 はじめて工場に入った時、そのあまりの汚さに信じられない思いだった。オーブンの側面は黄ばんでいるし、機械は錆びていて、そこらじゅうが油だらけだった。 「いつもこんなに汚いの?」と私は聞いてみた。 「なんだって? なんの話をしてるんだ?」とマネージャが答えた。「掃除したばかりだから、今が一番きれいな状態なんだ」 なんてこった。 毎朝の工場の清掃を何ヶ月か続けて、ようやく彼らの言っていたことが理解できるようになった。パン工場では、きれいというのは機械にパン生地が付いてないことを言うのだ。きれいというのは、ゴミ箱に発酵したパン生地が入ってないこと

  • 最も todo と fix meが多いプログラミング言語は Python かもしれない - higepon blog

    プログラムを書いていると todo としてコメントを入れることがあります。 現時点ではこのコードは書けない 余裕のある時にやろう 汚いコードを書いていることに対する言い訳 など理由は様々。 todo コメントの例としては // todo check hogehoge hoge(); のようなものが挙げられます。 ふと思いついて「最も多くソースコードのコメント中に todo と書かれている言語は何か?」をGoogle Code Searchを利用して調べてみました。 行コメント限定ですが結果は以下の通りです。 lang todo % todo/all scheme 1.4% 1000/71000 c++ 0.2% 12300/6280000 c# 0.2% 13600/6280000 fortran 0.0% 100/233000 perl 2.1% 28600/1370000 php 1.

    最も todo と fix meが多いプログラミング言語は Python かもしれない - higepon blog
  • どさにっき - #!/usr/bin/env

    2006年6月21日(水) ■ DomainKeys _ えーと、DomainKeys ってのは要するに電子署名なので、署名された後でヘッダや文が改変されると検証に失敗する。DomainKeys はメーリングリストに弱いと言われる理由のひとつですな。 _ 自宅 postfix に milter を導入したので、DomainKeys を検証できるようにしてこのあたりの動作を注意深く観察してるのだが、このまえはじまった DNSOPS.JPのメーリングリストからのメール。 Authentication-Results: mx.maya.st sender=ロボットによる収集回避@dnsops.jp; domainkeys=pass なんで pass しとんねん。ML が Subject をいじってるんだから fail になるはずなんだが。Subject をいじらないメーリングリストとか、いじっ

  • TopHatenar+HatenarMapsのシステム構成 - kaisehのブログ

    TopHatenarとHatenarMapsのシステム構成が、バージョンアップの度に複雑化してきて、自分でも把握しづらくなってきたので、整理する意味で図を作ってみました。 図に示したように、HatenarMapsは、S2RMIを使ってTopHatenarと協調動作しています。はてなダイアリーとはてなブックマークに関するデータをクロールしているのは、TopHatenarの側です。HatenarMapsの側では、TopHatenarのService層をS2RMI経由でコールして、集計済みのはてブ情報を取得し、クラスタリング処理の後にポリゴンを計算しています。その他、HatenarMaps上でコメントビームの表示等がリクエストされる度に、TopHatenarをコールしています。よって、HatenarMaps側のDBには、基的にポリゴンデータしか入っていません。 以下、図中に出てくるフレームワー

    TopHatenar+HatenarMapsのシステム構成 - kaisehのブログ
  • メタプログラミングの光と影 - ひがやすを技術ブログ

    メタプログラミングとはソースコードを生成するプログラミングのことです。メタプログラミングによって生成したソースコードは、eval関数で実行することができます。 メタプログラミングとは、ロジックを直接コーディングするのではなく、あるパターンをもったロジックを生成する高位ロジックによってプログラミングを行う方法、またその高位ロジックを定義する方法のこと。 メタプログラミング - Wikipedia だから、eval関数は、手段であり、メタプログラミングそのものではない。これは弾さんが指摘してますね。 evalだけがメタプログラミングの技法ではないし、またevalはその威力ゆえ最後の選択肢とすべきだ。 弾さんのパフォーマンスの指摘に対して、miyagawaさんが、「必ずしもevalが遅いとは限らない」と指摘してますね。 メタプログラミングとevalのベンチマーク - Bulknews::Subt

    メタプログラミングの光と影 - ひがやすを技術ブログ
  • メソッドチェーンの話 - Charsbar::Note

    たしかに使い方によっては非常に読みづらくなるのは事実だから、「あまり多用しないでほしい」という気持ちもわからないではない。 でも、このサンプルでそれを言うのはあんまりじゃなかろうか。 以下のようなメソッドチェーンは読むのが困難だ。 my $loader = Loader->new; my $book = $loader->load( 'Book' )->build loadメソッドが自分自身( $loader )を返却して、そこからbuildが呼ばれたのか、他のオブジェクトが返却され、そこからbuildがよばれたのかがわからない。 だから、あんまりメソッドチェーンを多用しないでほしい。Mojoのソースコードを読んでいてそう思った。 http://d.hatena.ne.jp/perlcodesample/20090217/1233844169 ふたつめの文をそのまま英語として、名詞と動詞に

    メソッドチェーンの話 - Charsbar::Note