タグ

progに関するNOV1975のブックマーク (129)

  • 米国人からコーディングについての怒りのメールを頂戴した - その手の平は尻もつかめるさ

    "米国人からコーディングについての怒りのメールを頂戴した" の補足 - その手の平は尻もつかめるさ ↑の方で補足いたしました。(2012.09.04 追記) 最近、英語のメールでよく怒られます。moznion です。 海を隔てて共同作業しているアメリカ人から、僕のコーディングについてお叱りのメールを頂いたので、 自戒の念を込めて邦訳して記します。 書いてあることは「当然」とも言うべき内容ですが、僕はその「当然」も守れていなかったのかぁ〜と反省。 以下、邦訳(意訳)です。 1. 郷に入っては郷に従え 既にソースコードが存在しているって事は、そこには同時にコーディングスタイルも存在しているってことだ。 その既存のソースコードに手を加える場合、別のコーディングスタイルを導入してはならない。 もし君がバックエンドのソースコードを弄っているなら、バックエンドのコーディングスタイルで記述するんだ。 フ

    米国人からコーディングについての怒りのメールを頂戴した - その手の平は尻もつかめるさ
    NOV1975
    NOV1975 2012/09/04
    1.を出来るのは結構重要で汎化能力が試される。もっとも汎化能力のない奴がjava使うとろくな事にはならない。
  • 職業プログラマがFizzBuzz書けない理由

    -- 追記@2012-08-08 09:20JST -- この速さなら言える。この前職場(派遣先)でプログラミングテストがあったのだけど、弊社社員の1/3がFizzBuzz解けなかったんだ… — papamitraさん (@papamitra) 8月 6, 2012 これ読んで工エエェェ(´д`)ェェエエ工となり、書いた。 -- 追記ここまで@2012-08-08 09:20JST -- あるいは、「FizzBuzz書けない奴m9(^Д^)プギャー」のもにょもにょ感。 結論だけ、書く。 要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。要らないから。そして知らないから。 さて、まずはこの問題解こうか。制限時間5分。 タイトル: Ants 問題

    NOV1975
    NOV1975 2012/08/08
    アルゴリズムにフォーカスして語るならFizzBuzz書けないのは「あたまがわるい」
  • 突破すると一気に学習が加速する「オブジェクト指向学習の壁」を突破する鍵となる知識を、中学生でも分かるように図解してみた(初学者向け) - @fromdusktildawnの本館

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    NOV1975
    NOV1975 2012/05/07
    オブジェクト指向って大なり小なり、フレームワークを作るのに必要な考え方で、全員が理解してる必要はないと最近思うように。
  • JavaScriptで、もう連想配列の最後のカンマに悩まない!(※追記あり) · DQNEO日記

    末尾に要素を増やしたい、または減らしたいときに問題が起こります 例えば" c : 3 "の行を単純に削除するとバグるので削除したいときに、" b: 2,"のカンマを削除する必要があります。 また、" d : 4 "を追加したいときに、" c : 3 "の後にカンマを入れる必要があります。 これは面倒くさいですね。 (エンバグについてはjslintなどのツールで防げばよいという指摘があったので修正しました。) より良いやりかた var x = { a : 1, b : 2, c : 3, dummy : null } このように最後に "dummy : null" というダミーの要素を書いておきます。 こうすれば、プロパティa, b, cはどれもカンマ付きで平等になります。 ぜひ一度試してみてください。 (もしかして常識だったらすみません。あとこの手法は for in で走査したいときはよく

    JavaScriptで、もう連想配列の最後のカンマに悩まない!(※追記あり) · DQNEO日記
    NOV1975
    NOV1975 2012/05/03
    JavaScript作る環境でツールが使えないのは想像したくないのでツール的に解決したい。
  • 僕たちプログラマーは、プログラミングに、Excelを使います! - m2

    なんとかカレンダー 21日目 id:miya2000 です。こんばんは! 低級テキストエディタでせっせとコーディングしているあなた!そろそろ手がが疲れてきていませんか? そんなあなたは、この記事で紹介する Excel コーディングをぜひ覚えてください。 わずか数秒で世界が変わります! 元ネタ めんどうな作業がわずか数秒に!新人デザイナーが 知らないと一生後悔するExcelを使ったHTML生成 | Webロケッツマガジン http://webrocketsmagazine.com/entry/20111209/html-code-generation-using-excel.html Excelを使った高級コーディング とにかく Excel でコーディングを行った画面を見てみましょう。今回は Java のコーディングをやってみます。 どうでしょう? 画面を見るだけでどれだけ恩恵があるかお分か

    僕たちプログラマーは、プログラミングに、Excelを使います! - m2
    NOV1975
    NOV1975 2011/12/22
    わらたwどうしようも無い制約下では便利かもしれないなあw
  • エラー処理を書いてはいけない

    エラー処理を書いてはいけない田中英行 tanaka.hideyuki@gmail.com 2011/12/08 @PFIセミナー 自己紹介田中英行 (@tanakh, http://tanakh.jp) PFI社でプログラマやってますJubatuspficommon検索エンジンのコアエンジンHaskell愛好家msgpack / rpc / idlpeggy (パーザジェネレータ & QQ w/ AQ)Shu-thing (シューティングゲーム) / (Monadius メンテナ)今気になるパッケージは monad-controlLearn you a Haskell 鋭意翻訳中 (春頃発売予定) エラー処理を書いてはいけない日の概要エラー処理を抽象化しようというお話です 現在のエラー処理の抱える問題どのように解決するのか実際の例エラーは処理しなければならない エラー処理を書いてはいけな

    NOV1975
    NOV1975 2011/12/10
    まずはエラーの定義から。
  • staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指して

    何が良いプログラムかという点はもちろん人やコンテキストによって異なりますが、少なくともプログラマーとしての私の信念としては、 機能拡張や変更が容易なプログラム 単体試験によって正しく動作することの検証が容易なプログラム どういった内容が記述されているか理解しやすいプログラム といったものこそ、「品質の高い」プログラムが持つべき性質として、まず真っ先に挙げるべき事項であると考えています。もちろん、前提として顧客の要件に従うということは大切なことです。しかし、一般に要件は長期にわたって変更されるものですし、使い捨てのプログラムを除けば、プログラムを長期にわたって保守するコストという点も見過ごすべきではありません。したがって、ユーザーの目には触れない上記の性質をもっと重視すべきだと思うのです。 DRYの原理 上記のような性質を満たすプログラムを作る上で大切になってくる原理として、DRYの原理とい

    staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指して
    NOV1975
    NOV1975 2011/07/03
    いまどきポリモーフィズムを再利用のための仕組みと捉える人はオブジェクト指向おじさんと称したくなるな…
  • 「おまじない」はそろそろ滅びろ - 俺たちに明(けない)日はない

    プログラミング | 21:06 | 「おまじない」おまじない。多くのプログラミング入門記事で大抵書かれている。「これはおまじないだ。今は気にしなくていい。」 なんでおまじないだなんて書くのか分からない!ただ単純に、機能を読み込んでいるとでも説明すれば良いのでは???と思う。 C言語なら、入出力の機能を自分のプログラミングで使いたければ:stdio.hを読み込ませる。stdioはスタジオ、じゃなくて、、、スタンダードアイオー、つまり標準入出力の略だ。これくらい説明すれば誰でも分かる。それでは、sin, cosなどの数学的な計算をさせたかったら?:math.hを読みこめばいい。 これだけの話なのに、どうしてみんな「おまじない」だなんて説明するんだろう??? http://www.4gamer.net/games/032/G003263/20110428001/これなんかじゃ、クロージャとか、ス

    NOV1975
    NOV1975 2011/05/05
    おまじない、ってのは中途半端に説明して中途半端な理解を招くよりは、あとでちゃんと説明するための手段と捉えたい。
  • 継承は害悪か。

    くっくっkura 🇯🇵🦀 @PG_kura OOP で継承は害悪だとは思うけども、実際に継承を言語から消去したとして一般 PG に受け入れられる言語になり得るだろーか。 2010-12-31 18:04:33

    継承は害悪か。
    NOV1975
    NOV1975 2011/01/11
    継承使うのはパーツとしては終着点で、かな。
  • 伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる

    今のPHPを作ったのは、何十人もの開発者ですよ。私は1人目の開発者だったに過ぎません。 問題を解くのが好きなだけで、プログラミングは大嫌いです。 いかにプログラミングを避けるかを考えていたら、コードを再利用するためのツールとしてPHPができました。PHPは、歯ブラシみたいなものですね。毎日使うものですけど、だから何でしょう?誰が歯ブラシのなんて読みたがります? パーザを書くのは苦手です。当にダメなんです。今でもね。PHPには「protected属性」も「仮想メソッド」もありますよ。情報学科の教官が「重要だ」っていうやつは何でもね。僕自身は、こんなものどうでもいいと思ってますけど。プログラミングを好む人がいるのは知ってますが、全く理解できないですね。 僕はホンモノのプログラマではありませんから、やっつけ仕事ですよ。ホンモノのプログラマは、「動いてるように見えるけど、メモリリークだらけじゃ

    伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる
    NOV1975
    NOV1975 2011/01/03
    迷言集だろこれ。/おんなじことをもっとポジティブに言っただけでマシになると思うんだけど、それをこういう風に言ってしまうメンタルが初期のPHPに出ている…?
  • C言語最大の欠点

    1980年代、筆者が高校生・大学生だったころに「C言語がすごい」という話を友人から聞いていた。しかし、当時の筆者が触れていたのはMSXパソコンのBASICと大学の汎用機のFortranくらいだった。C言語をやっと手に入れたのは、1992年の暮れである。清水の舞台から飛び降りるような気持ちでBorland C++の大箱を買って帰った。 それから20年近くが経過した今でも、C言語は「最強のプログラミング言語」と呼ぶべきポジションを確保し続けている。UNIXオペレーティングシステムとC言語が世界に与えたインパクトの大きさは、実に大きなものがあった。 ただ、C言語を学習したり評価したりする際には、C言語の大きな欠点を知っておく必要があるだろう。筆者が考えるその大きな欠点とは、「文字列の扱いが非常に面倒」であることだ。 「バッファオーバーフロー」を回避するのは大変 例を示そう。図1はC言語で記述した

    C言語最大の欠点
    NOV1975
    NOV1975 2010/10/21
    正しいけど正しくないというか、C最強とか中二病ですか?/適材適所という意味ではC/C++で業務プログラムを書く時代はとうに終わってるから文字列云々で悩む人は使わない言語になっていると思うなあ。
  • 今まで知らなかったswitch文の仕様

    switch文に指定する文は、ブロックでなくてもよい。 int main() { // OK switch(0) ; // OK switch(0) default : std::cout << "hello" << std::endl ; } もちろん、ラベル文がたったのひとつしか書けないので、実用上の意味はない。ブロックでなくてもいいとは知らなかった。てっきり、ブロックを指定するものだと思っていた。知らなかった。まあ、知っていても、全く役に立たない知識ではある。 追記:コメントを素直に実装するとこうなる void f( int const value ) { int i = 0 ; switch( value ) for ( ; i != 10 ; ++i ) { case 1 : case 2 : std::cout << "value is 1 or 2" << std::endl

    NOV1975
    NOV1975 2010/07/20
    なんじゃこりゃwww
  • プログラミング言語の優秀さと道具としての評価は別 - kなんとかの日記

    ワシは、cgi.rb なんかが標準添付になっている RubyPHP を dis る資格はないと思ってる (cgi.rbの元ネタである CGI.pm を擁する Perl も同じじゃないかな)。cgi.rb は、標準添付モジュールのくせにコードが汚いし遅いし、cgi[] の戻り値が String だったり File だったりするし、どう考えても設計ミス。 ## Ruby だと cgi = CGI.new p cgi['name'] #=> これが File である可能性がある ## PHP だとそんな問題はない $name = $_REQUEST['name']; # 必ず文字列 $file = $_FILE['name']; # ファイルは別途取り出すそして大半の Rubyist はこういった問題に気づいてすらいない。そういう人たちが PHP を dis ってるのは「ハァ?」と思う。

    プログラミング言語の優秀さと道具としての評価は別 - kなんとかの日記
    NOV1975
    NOV1975 2010/06/13
    PHPの評価は言語仕様もさることながら、主に過去のセキュリティー周りとかのダメさ加減にあるので、今そうでないなら積極的にアピールしていってほしい。
  • 実はオブジェクト指向ってしっくりきすぎるんです! 不変オブジェクトのすゝめ。 - Bug Catharsis

    バグのないソフトウェアを作りたいお仕事では主にVB.NETとC#を。趣味のプログラミングでは関数型言語F#を利用しています。 私自身のF#スキル(関数型的な考え方)は、まだまだ実践レベルとはとても言えないシロモノだけど、 面白い発見と多くの可能性を感じられる言語なので、F#はさわっていてとても楽しい。 私はこれまでオブジェクト指向言語によるオブジェクト指向プログラミングをこよなく愛してきました。 というのも、「いかにバグを減らすか」、「バグのないソフトウェアを作ること」が私の最大の関心事だからです。 バグの多いコード、あるいは技術的負債の多いコードというのは、コスト的な問題があるばかりか、 開発者の身体や心までもを不健康にし、われわれに大きな不幸をもたらすことを経験的にわかっているからです。 わたしにとってオブジェクト指向技術は、それらの問題を防いだり解決をする手段として適した技術でした。

    実はオブジェクト指向ってしっくりきすぎるんです! 不変オブジェクトのすゝめ。 - Bug Catharsis
    NOV1975
    NOV1975 2010/06/01
    JavaのStringが不変であることを知らないことが日常茶飯事なこの業界。こういうのをみんなが意識してくれてたらなあ。
  • 実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ

    わたしはこれまで、C言語、Visual Basic、SAP ABAP、最近になって ASP.NET C# などの言語を使ってきた。 「自分でクラスを作ってオブジェクト指向っぽいことをしている」なんてことはまったくない。特に「メンバー関数をstatic宣言すればインスタンス宣言をしなくてもいい」ということ知ってからは、メンバー関数を従来のファンクションのように使っている。共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。 staticを理解していない人のコードを見ると、いちいちインスタンス宣言しているので笑ってしまう。データベースにアクセスするアプリケーションをC#で書いているのだが、Visual Studioで供給しているSQL関係のクラスを使えばできてしまうのだから。 オブジェクト指向の入門書では、クラスが持つ隠ぺい性が強調されているが、これは他

    実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ
    NOV1975
    NOV1975 2010/05/09
    「ポリフォーフィズムという言葉が流行はじめたのは、Perfumeがポリリズムという曲をリリースしたころですか??? なんか言葉が似ているから若者の間で浸透したんじゃないの??」笑い死んだw
  • プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記

    まずは次の表をご覧あれ。これはプログラミング言語のベンチマークとして有名な Computer Language Benchmarks Game のベンチマーク結果。上にいくほど高速で、下に行くほど遅い言語になる。 これを見れば、最速な言語は C/C++ であり、Java や Haskell や OCaml といった静的な言語は軒並み上位に登場する。これに対し、RubyPythonPHP といったスクリプトは全部下のほう (つまり遅い)。その速度差は非常に大きく、このベンチマークで見ると Python3 や Ruby1.9 は C/C++ の約50倍から60倍遅く、Perl は約90倍、PHP にいたっては約130倍遅いことになる。 (ちなみに JIT つきの Lua が驚異的に高速なのが目をひく。この結果が当だとしたら、言語の速度に大きく関係するのは動的か静的かではなく、どれ

    プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記
    NOV1975
    NOV1975 2010/04/30
    そりゃあアセンブラで真の目的にのみフォーカスして書いたアプリが最速なわけで。目的と手段とコストの問題だから、解決のアプローチはスケールアップでもよいのだよ。
  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

    NOV1975
    NOV1975 2010/04/29
    くまくまーの人が乗り換えるとは…
  • 例外の本質は何か - SiroKuro Page

    例外関係の話題が冷め切らないうちに、例外の質に付いて考えてみます。 検査例外と非検査例外の質は何か java 以前のプログラムにおいては、例えばセグメンテーション違反を起こした場合にはアプリケーションが異常終了します。 同様に java においても、NullPointerException は catch せず、そのままアプリケーションを終了させることが望ましいと考えられています。これは例外的事象の発生時にアプリケーションを暴走させずに終了状態へと遷移させることで、その後に予期せぬ挙動を起こすことを防ぐためです。 NullPointer は「セグメンテーション違反」と同様の使い方が想定される 一方、IOException のような入出力関連の例外に目を向けると、C では「ファイルハンドラが NON-NULL か否か」について条件分岐を行い、NULL 時にはエラー処理を行うことが望まれま

    例外の本質は何か - SiroKuro Page
    NOV1975
    NOV1975 2010/01/31
    限られた範囲で、わかっているものに対してであればcatchしてもいい気がするけど、なんでもcatchはないよなあ、とか、結構基準が難しいところではあると思う。
  • 興味のある言語にLispと書いておいたら面接で爆笑された

    Railsエンジニアを募集してる会社の採用面接を受けたんだけど、転職エージェントに作れと言われて作ったシートに「興味のある技術」とか書いてあったわけですよ。それでそこにLispって書いておいたんだけど、それを見て面接官が爆笑。その人もRubyのコードを書いている人だったので、まさかRubyが「Matz Lisp」と呼ばれている事を知らないワケが無いと思ったんで、”理不尽な状況に直面した時にどう対応するか”を見ているんだろうと思ったんだけど、一通り会話を続けてガチで知らないのかもという印象を受けた。mix-inとかもLisp初のテクニックだし、Lispに興味を持つのは普通だと思うんだけどなあ。

    NOV1975
    NOV1975 2010/01/26
    「Lisp?何それ?」のほうがマシな何か。
  • HTTP : GET と POST の知られざる違い - 灯台下暗し -カッターナイフで恐竜を腑分けした記録-

    HTTP の GET メソッドと POST メソッドについて、改めて書きたいことがあります。定義の中のある箇所が世間では軽視されているように思うのです。 Wikipedia に簡潔かつ正確に解説されている話ですが、ここで改めて解説を。 http://ja.wikipedia.org/wiki/%E5%86%AA%E7%AD%89#WWW HTTP 1.1 の通信手順・動作を定義している RFC 2616 http://www.ietf.org/rfc/rfc2616.txt に「9.1.2 Idempotent Methods」という節があります。 "Idempotent" の形容詞 "Idempotence" とは「N(>0)回実行された際の副作用が、1回のみ実行された際の副作用と同じ」と定義されています。平たく言うと、1回目の実行で何か変化が起きる(かもしれない)のですが、2回目以降の

    HTTP : GET と POST の知られざる違い - 灯台下暗し -カッターナイフで恐竜を腑分けした記録-
    NOV1975
    NOV1975 2009/12/30
    べきとうの話