タグ

programmingに関するpoppenのブックマーク (131)

  • ヽ( ・∀・)ノくまくまー(2006-12-13) - DRY化チェックリスト

    ● [Rails] DRY化チェックリスト DRYにする方がいいのはわかる。でも実際どういう手順でやるのかに関する情報は意外と見つからない。それは「重複を避ける」という人間の感覚に訴えるものだから詳細は不要、という考え方もありえるが、そのままでは余りに概念的すぎて手が動かず、どう修正するかの方向性(ヒント)さえもない状況はやはり辛い。ということで、DRY化の手順を考えてみた。まだ自分でも探り探りな叩き台なので、意見はウェルカムである。 [DRY化チェックリスト2006冬] 定義は1ヵ所で行なう 無意味を排除する 繰り返しは共通化する 規約と関連付ける 責務を疑う 言語を拡張する 最後のは、手順というより、やるとしても一番最後にやれ、ぐらいの意味で。6番目というより999番目と表記してもいい。 ● 絶対DRY感 私はプログラマは来怠け者であり、自分が楽をするためにコンピュータを駆使する生き

    poppen
    poppen 2006/12/14
    DRY化チェックリスト
  • [ThinkIT] 第1回:複数人による開発の要所を押さえる (1/3)

    PHPは生産性の高い開発言語として広く普及しました。現在も多くのWebアプリケーション開発でPHPが採用されており、その手軽さも手伝って実績を伸ばし続けています。手軽に開発できることから、個人での開発もでき、独自の開発手法が多く存在し、複数人では統一が難しいといわれています。 そのため複数人による開発では、確固とした開発手法がとられてない事例が多いのも事実です。開発手法が確立されてない場合、規模が大きくなるとすぐに破綻してしまいます。それを避けるには、開発手法を確立しておく必要があります。 連載では複数人によるPHPを用いたWebアプリケーション開発において、実際に筆者の所属するウノウ株式会社が行っている手法を例に効率的な開発手法を解説していきます。連載の内容はPHPだけでなくRubyPerlのような他の言語にも適用できます。また1人で開発を行う時に非常に有効な方法です。実際に筆者が

  • perl, python & ruby - chr() vs. Unicode : 404 Blog Not Found

    2006年11月23日22:00 カテゴリLightweight Languages perl, python & ruby - chr() vs. Unicode というわけで、404 Blog Not Found:There's more than one language to cook your problemsでPython & Ruby Cookbooksを一気読みしたので、気になる点を少しずつ書いて行くことにする。 まずは、文字の扱い。文字列でない点に注意。 少なくとも、文字列をバイト列と見なして相互変換することは、LLに限らずたいていの言語で出来るようになったのだけど、文字を文字として扱うという点に関しては各言語ともまちまちで、多言語派の私としては結構頭のいたいところ。 ここでは、私が一番流暢なPerlを軸に、RubyPythonではどうなっているのかを調べてみた。 数値

    perl, python & ruby - chr() vs. Unicode : 404 Blog Not Found
  • perl, python & ruby - ord() vs. Unicode : 404 Blog Not Found

    2006年11月26日02:45 カテゴリLightweight Languages perl, python & ruby - ord() vs. Unicode というわけで、ord篇はこちら。 404 Blog Not Found:perl, python & ruby - chr() vs. Unicode とりあえずchrが長くなったのでordは別entryということで。 文字から数値へ(ord) まずはPerlの例。 #!/usr/local/bin/perl use strict; use warnings; use utf8; binmode STDOUT, ':utf8'; sub say { print @_, "\n" }; say ord "\x{61}"; say ord "\x{3b1}"; say ord "\x{5F3E}"; say ord "\x{2A6

    perl, python & ruby - ord() vs. Unicode : 404 Blog Not Found
  • 404 Blog Not Found:Typeとは俺のことかとClass言い

    2006年11月17日01:15 カテゴリLightweight Languages Typeとは俺のことかとClass言い 実は、TypeもClassもその意図は同じである。 finalventの日記 - ぶくまより オブジェクト指向とか あと、関数型言語っていうか、そういうのがOOPとどういう関係にあるのか、どうもすっきりしない。関数で表現できるならクラスとか要らないのでは?というか、ま、このあたりはよくわからない。404 Blog Not Found:オブジェクトは難しくない。難しいのはクラスそれで、オブジェクトとは何か、といえば、「自分が何が出来るのかを知っているデータ」ということになる。 そして、型がある言語における関数が何かといえば、「自分がどんなデータを受け付けるのかを知っているサブルーチン」ということになる。CからHaskellまで、これに例外はない。 だから、「犬が吠える

    404 Blog Not Found:Typeとは俺のことかとClass言い
  • 井上の日誌 -Apacheの話-(2006-07-13) - Apacheソースコード概論

  • Javaスクールの危険 - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年12月29日木曜 近頃の若い者ときたら。 勤勉はいったいどこへ行ってしまったんだ? 「近頃の若い者」は我慢がないと不平を言うようになったのは、私も年を取ったということなのかもしれない。 そりゃ恵まれてるね。私は3ヶ月汚水浄化槽の中の茶色い紙袋に住んでいたよ。朝6時に起きて、袋を掃除し、固くなったパンの耳をべ、工場まで歩いて行くと、1日14時間、毎週毎週働きつづけ、家に帰ると親父にベルトでたたかれて寝床についていたんだ。 ——モンティ・パイソンの空飛ぶサーカス 4人のヨークシャー人 私は若い頃、パンチカードでプログラムを作る方法を学んだ。ミスをしたら、それを訂正するためのバックスペースのような近代的な機能は存在しなかった。カードを捨ててはじめから打ち直すのだ。 私は1991年にプログラマの面接をするようになった。コーディングの問題に答える

  • 404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス

    2006年11月16日16:55 カテゴリLightweight Languages オブジェクトは難しくない。難しいのはクラス 大人だからオブジェクトは難しくなる。子供にとっては実はオブジェクトは自然で自明で簡単だ。 オブジェクト指向を正しく理解する:ITpro オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。事実、オブジェクト指向というのは最初は子供向けだったのだ。 このことを、現在「オブジェクトとはなんぞや」という大人たちは忘れてしまっている。 それで、オブジェクトとは何か、といえば、「自分が何が出来る

    404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス
  • オブジェクト指向を正しく理解する - 特集 オブジェクト指向は難しくない!:selfup

    オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。 そこで特集では,「オブジェクト指向という言葉をよく聞くけど,実際どんなものかよくわからない」という方のために,初心者/入門者が陥りやすい落とし穴を明確にしながら,オブジェクト指向の全体像を説明します。余計な先入観やまぎらわしいたとえ話に惑わされなければ,オブジェクト指向そのものはそれほど難しい技術ではないことを理解していただきたいと思います。なお,オブジェクト指向プログラミング,デザインパターン,分析/設計といった個々の技術については特集2以降でそれぞれ解説

    オブジェクト指向を正しく理解する - 特集 オブジェクト指向は難しくない!:selfup
  • 小飼弾 404 Title Not Found : #4 オープンソースのすすめ

    小飼弾です。前回から1ヶ月以上開いてしまいましたが、ご機嫌はいかがでしょうか。 前回、私は以下のように書きました。 小飼弾 404 Title Not Found : #3 プログラマーの三大美徳その3「傲慢」プログラミングの世界で傲慢を手に入れる最も簡単な方法は何でしょうか? 懸命な読者の方は、もしかして気がついていらっしゃるかも知れません。 オープンソースに関わることです。 プログラマーの三大美徳、「怠惰」、「短気」、そして「傲慢」のうち、傲慢のみは他者がいないと成り立たないと私は書きました。プログラマーとして、その他者との関わりを最も簡単に得る方法がオープンソースなのです。 もちろん、オープンソースのみが、プログラマーと他者が関わる方法ではありません。プログラマーというのは、その作品であるプログラムを通して、必ずユーザーとは関わりを持つのです。自分用のプログラムしか書いたことのない人

    小飼弾 404 Title Not Found : #4 オープンソースのすすめ
  • devkitPro - Portal

    Welcome to the home of devkitPro, provider of homebrew toolchains for Nintendo wii, gamecube, ds, gba, gamepark gp32 and Nintendo Switch. In light of the current human malware pandemic, devkitPro would like to remind everyone to stay safe at home in order to slow down the spread of the malware and protect those who are most vulnerable. Click Here for instructions on installing the tools and gettin

    poppen
    poppen 2006/11/15
    gccベースのGBAやNDS、PSP用の開発ツール
  • プロとしての仕事をするために最低限すること - kinneko@転職先募集中の日記

    たくさんの日記から 会社であった話のメモ。 品質 バグは早めにみつけて直す 調査工数もかかるし下手すると設計からやり直し 客先で出ちゃうと、報告書書いたり謝りに行ったりとかでコストがかかる テスト行程で問題が出るのはコストがかかる だからコードレビューなどで早めにバグだしをする 新製品開発でユーザ対応はしたくないよね コードでは異常系の対応が重要 異常系のつくりを見れば修羅場くぐった回数がわかる OSS は異常系の処理が甘い マニュアル どうしても開発者が書くことになってしまう きちんと書かないとユーザ対応で工数がかかってしまう あまりマニュアルをかかずにすむような設計を行う マニュアルを書く工数を減らすとともに、ユーザのミスも減らす マニュアルは設計段階で書く 内部ドキュメント 継続性と機動性に関係する 人がいなくなったときに継続できること 意図からコードへの変換はらくだけど、コードから

    プロとしての仕事をするために最低限すること - kinneko@転職先募集中の日記
  • ひげぽん OSとか作っちゃうかMona- - 「計算機プログラムの構造と解釈(SICP)」を読み終えて

    約半年をかけて計算機プログラムの構造と解釈(SICP)を読み終わりました。 (途中で、練習問題をスキップしたりしましたが・・・) 半年もかけたのでちょっとだけ振り返って見ます。 SICPを読む過程で得たもの まずはSICPを読む過程で得たものからざっと列挙してみよう。 構文解析を理解し自前で実装できるようになった 字句解析を理解し自前で実装できるようになった ストリームを理解した 遅延評価を理解した 手続きが first class objectである言語での考え方を学んだ 型変換の導入の動機とその意味を理解した 手続きの抽象化の導入の動機と過程を学んだ 高階関数を使ったり書けるようになったりした クロージャを理解した Schemeを書けるようになった 再帰処理を自然に書けるようになった フルスクラッチでインタプリタを書けるようになった コンパイラを自前で書くことが出来そうだとの感触を得た

    ひげぽん OSとか作っちゃうかMona- - 「計算機プログラムの構造と解釈(SICP)」を読み終えて
  • 【中級】ライトウェイト・ランゲージを使いこなす 前編

    楽にプログラミングでき,コンパイルなしで動かせるスクリプト言語。ここ数年,“軽い言語”という意味を持つ“Lightweight Language(LL)”として見直されている。特集では,LLの良さとは何か,開発にどう適用すればよいかを解説する。さらに現場のエンジニアがどうLLを使いこなしているか,実例を紹介する。 近年,Javaに代表される“重厚な”Webシステム開発言語に対するアンチテーゼとして,より手軽な「Lightweight Language(LL)*1 」が注目を集めている。 LLの定義は明確ではないが, (1)やりたいことを少ないコード量で実装できるため,プログラミングにかける労力が少ない (2)インタプリタ型*2 であるため,アプリケーションを開発してから実行させるまでの時間がかからない (3)言語構造がシンプルであるため,言語の習得期間が短くて済む といったことが共通の特

    【中級】ライトウェイト・ランゲージを使いこなす 前編
  • http://duplo.giants.ch/

    Duplo C/C++/Java Duplicate Source Code Block Finder Contents 1 General Information 2 Download 3 Performance Measurements 4 Background 5 License 1 General Information Duplicated source code blocks can harm maintainability of software systems. Duplo is a tool to find duplicated code blocks in large C/C++/Java systems. 1.1 Sample output ... src\engine\geometry\simple\TorusGeometry.cpp(56) src\en

  • 駆け出しプログラマーのグループ - hamastaの日記 〜Pythonで学ぶプログラミングの世界〜 - これからプログラミングを始めたい初心者はどうすればいいか?

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    駆け出しプログラマーのグループ - hamastaの日記 〜Pythonで学ぶプログラミングの世界〜 - これからプログラミングを始めたい初心者はどうすればいいか?
  • 定番アルゴリズムを徹底理解! - 今からでも遅くない!アルゴリズム入門:selfup

    このパートでは,プログラミングを勉強するうえで欠かせないアルゴリズムの中でも定番中の定番を紹介します。ソート(並べ替え)やサーチ(検索)などの機能は今では標準のライブラリとして提供されています。実用的なプログラムを作るときにそのものずばりをいちいち書く機会は少ないかもしれません。しかし定番のアルゴリズムは,様々に形を変えて普段のプログラミングに登場します。 解説を読んで仕組みがわかったら,ぜひそれをプログラムにしてみてください。読んだだけではプログラムを書けるようにはなりませんし,プログラムを書いてみて初めて,実は十分に理解できていなかったと気付くことがよくあります。しかもアルゴリズムは特定のプログラミング言語に依存しないので,一度身に付ければ,後でどんな言語を学ぶ場合でも役に立ちます。 1番目から6番目まではソートのアルゴリズム,7番目から9番目まではサーチのアルゴリズムです。一つひとつ

    定番アルゴリズムを徹底理解! - 今からでも遅くない!アルゴリズム入門:selfup
  • いいアジャイルと悪いアジャイル

    スクラムはラグビーにおいて最も危険な段階であり、それというのも、潰れたり不適切なかみ合い方をすると、前列のプレーヤーが怪我をしたり、首の骨を折る危険すらあるからだ。—Wikipedia 私が子供の頃には、コレステロールは体に悪いものだった。これは覚えやすかった。脂肪は悪い。コレステロールは悪い。塩分は悪い。みんな悪い。しかし近頃では、コレステロールが「いい」コレステロールと「悪い」コレステロールに分かれている。私たちがこの2つをどうにかして見分けられるとでもいうように。そしてその切り替わりは奇妙なものだった。FDAが突然プレスリリースを発表して、殺鼠剤には2種類、いい殺鼠剤と悪い殺鼠剤があり、いい方はたくさん摂って悪い方は摂ってはならず、そして決して2つを混ぜたりしてはいけないのだと言ったかのようだった。 一年くらい前まで、私はいわゆる「アジャイル」プログラミングに対して、ごく一次元的な見

  • いやなブログ - 文字列操作の比較表: Ruby, Python, JavaScript, P...

    文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)

  • 小飼弾 404 Title Not Found

    [Watcherが薦めるこの一冊] DIY 24/7 - 書評 - [24時間365日]サーバ/インフラを支える技術 [2008年08月15日] 技術評論社土井様より献御礼。実に面白かった。書単体で読んでも面白いが,「Googleを支える技術」と読み比べると面白さ2の2乗倍といったところだろうか。 [Watcherが薦めるこの一冊] 孤独解消型数学入門 - 書評 - 数学ガール/フェルマーの最終定理 [2008年08月14日] その頃には,もう予約入れてましたってば。「404 Blog Not Found:Math - π vs. ナベアツ - id:itaさんのコメント> ちょっと数学が足りないなあ。レビューするからhttp://www.hyuki.com/girl/fermat.html を送って,てことですね。分かります」。それが昨日届いたので早速読了。この方法,いけるわ。