タグ

2009年8月2日のブックマーク (18件)

  • 続・バグを生まないコーディング法 | EE Times Japan

    フォーラムでの議論は次のような発言から始まった。 「中括弧を使って複合文を記述し、文の切れ目にセミコロン「;」を使う言語では、オールマン・スタイルを使うべきではない」 私はどちらのスタイルでもよいと思っているが、「1TBSでは図2のような間違いを人間のコード・レビュワーが発見しにくい」という1TBSに対する批判は受け入れがたい。 人間のコード・レビュワーが、このような間違いを見落とす可能性があることは認める。しかし、まさにこの例は、ここで紹介するようなコーディング規則の重要性を物語っている。つまり、「バグを効果的に排除するためには、コーディング規則に強制力がなければならない。2個以上の競合する規則がそれぞれバグを防げても、それらの中の1つの規則だけが自動的に強制できる場合は、より強制力がある規則の適用が推奨される」ということだ。 われわれのコーディング規則では、上記のような例はまさに自動

    jay777
    jay777 2009/08/02
  • 生 DBI ユーザーのための DBI Cookbook (1) - Yet Another Hackadelic

    ちょっと前まで DBI で非同期アクセスなエントリが各所で上がっていましたが皆さん如何お過ごしでしょうか? さてと、、、歴史的な経緯とか歴史的な経緯とかで生 DBI 相当を使ってる方もそれなりにいるでしょう。奥さん、大事な事なんで二度言いましたよ! DBI のインターフェースってまぁそんな使いやすい物じゃないんですが、工夫次第で出来る事もあります。 ちなみにサンプルデータベースとして、MySQL Documentation - Example Databases の world データベースを使っています。 fetchall_arrayref でデータ整形 まず以下のように使ってみます。 #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use DBI; use Perl6::Say; my $dbh =

    生 DBI ユーザーのための DBI Cookbook (1) - Yet Another Hackadelic
    jay777
    jay777 2009/08/02
  • Sinatra on GAE - urekatのスカンク日記3

    New!⇒ GAE/JRubyグループを作ってみました Rails on GAEより軽くて現実的かもしれませんぞ。 ActiveRecordを中心としたRailsフルスタックを使えないならRailsである必要ないもんね。 セットアップ % cd path/to/your/projects % git clone git://github.com/jugyo/sinatra_on_gae.git PROJECT_NAME % cd PROJECT_NAME % dev_appserver.sh -p 9999 . ブラウザで「http://localhost:9999/」を開く 基 WEB-INF/app.rbを編集する。 require 'rubygems' require 'sinatra' def h(s) Rack::Utils.escape_html(s) end get '/'

    jay777
    jay777 2009/08/02
  • SQL::Interp - 日向夏特殊応援部隊

    SQL::Interp を最近使ったりします。ってのも生 DBI だと IN 文とか placeholder 化するの面倒だし。 と言う訳で下記サンプル。__END__ 以下に結果もつけといた。 #!/usr/bin/perl use strict; use warnings; use Data::Dump qw(dump); use Perl6::Say; use SQL::Interp qw(sql_interp); { my ($sql, @bind) = sql_interp 'INSERT INTO identifier', +{ resource_id => 'xri://=zigorou', canonical_id => 'xri://=!545A.6972.43FA.38AD' }; say dump($sql, \@bind); } { my ($sql, @bind)

    SQL::Interp - 日向夏特殊応援部隊
    jay777
    jay777 2009/08/02
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    jay777
    jay777 2009/08/02
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    jay777
    jay777 2009/08/02
  • 技術集団としてのYahooの終焉と、検索業界のこれから | 赤と黒

    YahooとMSの提携が遂にまとまった。 会社丸ごとの買収から始まり、Googleとの連携までも模索していたが、結局無難な形に落ち着いたようにも見える。 これはのちのちWeb業界の大転換のひとつとなるだろうから、現在の自分なりの考えをまとめてみたい。 まず、MSにとっては一定の価値をもつ結果といえるのではないか。 YST(Yahooの検索エンジン)がMSの「Bing」に取って代わるとのことで、MSはYahooが蓄積してきたノウハウを好きなだけ利用できる。これはBingの開発チームにとって、この上ない武器だ。 金銭面では、Yahoo側にかなり譲歩したようにも見受けられるが、彼らが気で獲ろうとしているGoogleの牙城に比べれば屁でもないだろう。 一方のYahooにとってはどうか。 Bingを利用した検索広告料の88%はYahooに入ることになっていて(12%は持っていかれるという意味にもと

    技術集団としてのYahooの終焉と、検索業界のこれから | 赤と黒
    jay777
    jay777 2009/08/02
  • 最強最速アルゴリズマー養成講座:あなたの論理的思考とコーディング力は3倍高められる (1/2) - ITmedia エンタープライズ

    全世界で20万人を超える凄腕のコーダーが集うプログラミングコンテスト「TopCoder」。稿では、アルゴリズム部門のSRMで取り上げられる問題を考えながら、論理的思考力およびコーディングのテクニックを養っていきます。 はじめに はじめまして。高橋直大です。連載「最強最速アルゴリズマー養成講座」では、全世界で20万人を超える凄腕のコーダーが集うプログラミングコンテスト「TopCoder」について、そこで出題される数学・アルゴリズムのパズルを考えることで、コーディングのテクニックおよび論理的思考力を磨くことを目的に開始するものです。ここで扱う技法は主にアルゴリズムのそれですが、その根底にはロジカルな思考術が存在します。そうした能力を養いたい方にとって少しでも役に立てれば幸いです。 なお、稿は必要に応じてコーディング例も紹介しますが、TopCoderで出題される問題の中から比較的やさしい問

    最強最速アルゴリズマー養成講座:あなたの論理的思考とコーディング力は3倍高められる (1/2) - ITmedia エンタープライズ
  • » Python + Django でURLにセッションを組み込む(携帯で使えるはず): エスキュービズム ラボ Blog

    Python界では有名なWEBアプリケーションフレームワークであるDjango いろいろと高機能なんですが、ひとつだけ困ったことが。 それは「セッションがクッキーベース」なこと。 確かにこの方がセキュアですし、おススメなんですが、 携帯向けにECサイトを作成しようとすると必ずネックになるのが クッキーが使えない!ということ。(一部の端末では対応していますが) そこでDjangoでセッションキー(セッションID)をURL(またはPOST/GET)に 埋め込む方法を考えてみました。 まずDjangoでクッキーが使えないとどうなるでしょうか? クッキーが使えない ↓ クッキーでセッションキーを読み書きできない ↓ セッションキーをキーとしてサーバに保存されているセッション情報を読み書きできない ↓ セッション情報に保存されている認証情報を利用できない ↓ 認証が行えず、会

    jay777
    jay777 2009/08/02
  • HerokuとGitで、2台のPCによる共同開発をやる - blog.takuyan.com

    なにがしたいのか 自分が会社のPCと、ノートPCの両方で開発したいだけなんですがね。 技術者なんか俺だけですので。 Heroku関連は過去記事参照のこと。 参考:WindowsRubyHerokuでGitRailsやった - 常識という迷信 最初に、railsプロジェクトの作成とHerokuへのcommit 会社でプロジェクトを作成して、手元のgitにcommitする。 rails myapp cd myapp git init git add . git commit -m "first commit hogehoge" 次に、ディレクトリはそのままで、Heroku側にアプリを作成する。 heroku create myapp git remote add heroku git@heroku.com:myapp.git git push heroku master ここまでは、He

    HerokuとGitで、2台のPCによる共同開発をやる - blog.takuyan.com
    jay777
    jay777 2009/08/02
  • yukobaのブログ

    yukobaのブログ

    jay777
    jay777 2009/08/02
  • JavaScriptで覚えておくとよいデータ構造 - 配列・オブジェクト - いろいろ解析日記

    JavaScriptで必要なデータ構造の覚書です。 目次 配列 配列を生成する。 配列にデータを追加する。 配列にデータを格納する。 配列からデータを取得する。 配列中のすべてのデータに同じ処理をする。 オブジェクト オブジェクトを生成する。 オブジェクトにデータを格納する。 オブジェクトからデータを取得する。 オブジェクト中のすべてのデータに同じ処理をする。 関連記事 配列 配列は複数件のデータを扱うためのデータ構造です。 ■配列を生成する。 配列の生成は以下のように行います。 var 配列の名前 = []; var 配列の名前 = [ データ, データ, … ]; 配列の生成では、配列の名前を指定します。 もし、生成時にデータを格納する場合に、[]内にデータを指定します。 なお、JavaScriptでは配列の生成時にサイズを指定しません。 例えば、空の配列array1を生成するには、以

    JavaScriptで覚えておくとよいデータ構造 - 配列・オブジェクト - いろいろ解析日記
    jay777
    jay777 2009/08/02
  • query_string - 素人がプログラミングを勉強していたブログ

    javascripter's gist: 159058 — Gist に置いた。 a=b=cという文字列を["a", "b=c"]に分離するために.split("=")を使うことはできない。あまり使われることのない第二引数のlimitを使って.split("=, 2)としても、["a, "b"]になってしまうので、使えない。 追記: はてなブックマークのコメントによるとa=b=cはmalformedなようだった。上記ではRubyCGI.parseを参考にした。

    query_string - 素人がプログラミングを勉強していたブログ
    jay777
    jay777 2009/08/02
  • 経産省が脱・人月を目指す「情報システムのPBCに関する調査研究」報告書を公開

    報告書は「現行の人月をベースにした価格による契約では,ユーザーとベンダーの双方が価格に対して不信や不満を感じている」とし,「人月積算を前提とした固定価格のみでは,ベンダーの品質向上や創意工夫などへのモチベーションは生まれない。さらに,ユーザーにとって経営層に説明できない価格では,投資の妥当性を提示できず,投資意欲そのものを減退させてしまう」と,人月の問題を指摘している。 そしてPBCではユーザーにとっては「無駄な投資が減る等,適正な価格でのIT投資ができる」,「目的を共有することから,ベンダーの積極性を期待することができる」,ベンダーにとっては「システムの効果に応じた適正な対価を得ることができる」,「人月ベースの契約から脱却することで,付加価値の創出や効率化に対するモチベーションが向上する」といったメリットがあるとする。 PBCのデメリットとしては,ユーザーにとっては「契約時に価格が確定せ

    経産省が脱・人月を目指す「情報システムのPBCに関する調査研究」報告書を公開
    jay777
    jay777 2009/08/02
  • データベース負荷テストツールまとめ(1) - SH2の日記

    Webシステム開発において性能試験を行う場合、hp LoadRunnerやApache JMeterといったウェブブラウザをエミュレーションしてくれる負荷テストツールを用いるのが定番だと思います。そんななか、たまにデータベース単体での性能を測ってほしいと頼まれることがあるので、そうした便利なツールはあるのかなと思って調べてみました。 データベースに対する負荷テストツールは探すとたくさん出てくるのですが、案件で使用しているRDBMSに対応していなかったり、トランザクション仕様が希望と異なっていたり、微妙に作りが悪かったりと、ニーズに合致したツールはすぐには見つかりません。そんなときにこのエントリがツール探しの参考になればと思います。 pgbench 対応RDBMS:PostgreSQL 対応OS:Linuxなど 言語:C 作者:石井達夫氏 ライセンス:独自(BSDライセンスに近い) トランザ

    データベース負荷テストツールまとめ(1) - SH2の日記
    jay777
    jay777 2009/08/02
  • はてなのCAPTCHAを破るプログラムは30分で書ける - やねうらおブログ(移転しました)

    CAPTCHAとは、スパムコメントなどを防止するための認証画像のことである。 それにしても、はてなのCAPTCHAはひどい。無いよりマシという考え方もあるのでそれについてはあまり議論する気は無いのだが、それにしてもこれを破るプログラムは30分あれば十分書ける。 具体的には、はてなのCAPTCHAには8つの好ましくない特徴と、2つの脆弱性がある。 ■ 8つの好ましくない特徴 ・画像自体のサイズが小さすぎる。→ こんなに小さいと探索量(計算量)が小さくて済む。 ・フォントにゆがみがない → フォントはある程度変形させたほうが良い。変形させてあるとテンプレートマッチングがしにくくなる。 ・フォントが固定。→ フォントは毎回変えたほうが良い。 ・フォントを回転させていない → フォントは文字ごとにある程度ランダムに回転させた方が良い。 ・フォントサイズが一定 → フォントサイズは文字ごとにある程度

    jay777
    jay777 2009/08/02
  • 効率的に校正するための10のコツ | ライフハッカー・ジャパン

    ライフハッカー過去記事「プロアマ問わずライターさん必読、スランプから脱出する5つのコツ」ではライティングのコツをご紹介しましたが、今回はその続編。誤字脱字やタイプミスを減らすための校正のコツについてご紹介します。 ライター向け情報ブログ「Ghostwriter Dad」では、校正スキルを上げるためのコツとして、以下の10点を紹介しています。 1. 一呼吸おいてから編集にとりかかる 下書きを書いたら、編集・校正作業まで少し時間をおこう。最低1時間、できれば1日程度空けるとよい。下書きと編集との間をとると、自分の下書きを客観的にチェックしやすくなり、ミスにも気づける。 2. 文をシャープにしよう 最終稿は下書きの10%減が目安。重複した表現を避け、無駄な言葉を取り除こう。 3. 静かな環境でやる 校正には正確性が求められる。編集作業をするときは、気が散らないような静かな環境で集中してやろう。

    効率的に校正するための10のコツ | ライフハッカー・ジャパン
    jay777
    jay777 2009/08/02
  • 連載:[完全版]究極のC#プログラミング - @IT

    第2回 簡潔なコーディングのために (2017/7/26) ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21) Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基の「キ」をマスターしよう 第1回 明瞭なコーディングのために (2017/7/19) C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える Presentation Translator (2017/7/18) Presentation TranslatorはPowerPoint用のアドイン。プレゼンテー

    jay777
    jay777 2009/08/02