タグ

programmingに関するablaboのブックマーク (93)

  • ソフトウェア品質の12の属性

    システム開発において「品質の向上」という標語がしばしば掲げられますが、 「品質の属性」については無頓着なケースが多いのではないでしょうか。 ひとくちに品質といっても多様な属性があります。 顧客と品質の話で揉めたことはありませんか? 品質には多様な属性があり、単一の軸で良しあしを決められないという側面があります。 そのため、単に「品質」と言ってしまうと認識に齟齬が生じるのです。 Karl E. Wiegers氏が著書 「ソフトウェア要求」 で挙げた、すべてのプロジェクトが検討すべき12の属性は以下のとおりです。 可用性availability 動作可能時間の指標。システム故障までの平均時間MTTF(Mean Time To Failure)を 平均修復時間MTTR(Mean Time To Repair)とMTTFの合計で割った値。稼働率とも呼ばれる。 効率性efficiency 同じ処理性

  • コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ

    誰に教えられたのでもないのですが、ぼくは冬眠前のリスのようにコード片を溜め込んでいます。 コード片とは、ライブラリにするほどまとまった大きさではない、数行〜十数行のコードのことで、溜め込んだコード片は、アプリケーションやツールを作るときに使っています。 例えば「Perlでメール送るのどう書くんだっけかな」とか「Pythonでファイル開いて全部読むのどう書くんだっけかな」とかというときに、溜め込んだ中からコード片をさっと取り出してコピペした後、なじむようにちょっと修正して使っています。 コードポケット コードを溜め込んでいるディレクトリをぼくは「コードポケット」と名付けていて、コード片を取り出すことを「ポケットからコードを取り出す」と呼んでいます。先日、知り合いが似たようなことを実践していて、その人は「コードスケッチ」と呼んでました。いい名前ですね。 ぼくの場合、コードポケットは ~/lan

    コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ
  • ブラウザで位置情報を取得してみよう

    PCのブラウザを利用して位置情報を取得してみよう。IPアドレスWi-Fiの電波強度を利用した方法やGoogle MapsやJSONPの外部サービスとの連携方法も説明する 今回は、PCのブラウザを利用して位置情報を取得するための具体的な実装方法について、ソースコードを中心に説明していきます。前半ではIPアドレスを利用した方法について、後半ではWi-Fiの電波強度を利用した方法についてそれぞれ解説します。また、Google MapsやJSONP(JSON with padding)を利用した、外部サービスとの連携についても触れます。なお、少しずつソースコードを追加する形で説明していきますので、先頭から順に読み進めてください。 IPアドレスを利用した位置情報の取得 前回「位置情報を取得する仕組み」で触れたように、利用者のPCに割り当てられたIPアドレスから現在位置を推定できます。この方法の特徴

    ブラウザで位置情報を取得してみよう
  • Data-FormValidator-4.81 - Validates user input (usually from an HTML form) based on input profile. - metacpan.org

  • 「とりあえず作ってみて」 - @kyanny's blog

    少し前に @forestk が「とりあえず作ってみて」に対する不満をつぶやいていた。それをみて俺も、そうだよなあ、言うほど簡単に作れるもんじゃないよね何であれ、と同意した。 それよりけっこう前に @cho45 が「二回か三回くらい作り直さないといいものが作れない」とつぶやいていた。それをみて俺も、そうだよなあ、いきなり文句なしの大正解で不満がないものを作り上げるのは難しいよね、と同意した。 そういうのをへて、ぼんやりと考えていること。「とりあえず作ってみて」と言われてちょっと嫌になる気持ちの奥底には、手抜きして不完全なものを作りたくない、最初から完璧なものを作って一回で終わらせたい、という意識があるのかもなと思った。とはいえ、なかなか一発で納得いくものを作れたりはしない。まずいやり方で苦労したり、いろいろダメな経験をつんだ上で、次にやるときはもっとうまくやれるってのがふつうだろう。ならば、

    「とりあえず作ってみて」 - @kyanny's blog
    ablabo
    ablabo 2009/07/01
    "けっこう前に @cho45 が「二回か三回くらい作り直さないといいものが作れない」とつぶやいていた。"だよなあ。
  • [Structure Synth]文字描画用EisenScriptの生成ツールを作った - シン石丸の電脳芸事ニッキ

    文字 CYBER SPACE COWBOYS 背景 グラデーション hue: X移動 Y移動 クリップボードコピー設定 文字描画用のスクリプト書くのが面倒なのでツール化しました。 作成されたスクリプトはクリップボードに書かれるので、Structure Synthにコピペ。 こんな感じで作成できます。 レンダリングすると、こんな感じ。 FlashとJavaScriptの組み合わせで作ってます。 クリップボードに結果をコピーできるように、ボタン部分のみFlash。 最初Flashだけで作ろうとしてみたら、Flashは標準UIが無いので、こういうちょっとした便利ツールみたいなのを作るのがわりと面倒。 なので、ユーザインターフェイスは標準UIが充実しているHTMLで作成。 そのHTMLのパラメータを、JavaScript経由でFlashが取得し、スクリプトが生成されるようにしました。 この方法は、

    [Structure Synth]文字描画用EisenScriptの生成ツールを作った - シン石丸の電脳芸事ニッキ
  • Context Freeの3D版、Structure Synthで遊んでみる - シン石丸の電脳芸事ニッキ

    Context Freeもだいぶわかったので、次は3D版のStructure Synthを触ってみた。 Structure Synthは、スクリプトで操作するモデラーみたいなもので、レンダラーはsunflowを使うのが良いようだ。 で、とりあえずContext Freeで作った太陽の3D版を作ってみた。 set maxobjects 160000 set background #fff // 地面用オブジェクト {s 300 300 1 z -1.5 hue 200 sat 0.5}box // 太陽マーク {s 0.1}sun rule sun{ 36 * {rz 10 y 0.8}curveline } rule curveline{ 200 * {rz 1 s 0.97 y 1.0 hue 2}abox } rule abox{ {s 1 0.7 1}box } かっちょえー! なか

    Context Freeの3D版、Structure Synthで遊んでみる - シン石丸の電脳芸事ニッキ
  • [Context Free]文字と色付けをやってみる - シン石丸の電脳芸事ニッキ

    startshape SIMPLE_STR include i_pix.cfdg // HELLO書く rule SIMPLE_STR{ point {} } // HELLOを描画して2分岐 rule point { H_5by5 {} E_5by5 {x 1.2} L_5by5 {x 2.4} L_5by5 {x 3.6} O_5by5{x 4.8} point {y 2.0 x -2.5 rotate 10 size 0.6} point {y 2.0 x 2.5 rotate -10 size 0.6} } とりあえず文字から。 文字関係はi_pix.cfdgに、このドット文字を描く命令が入ってるみたい。 それを利用して、サンプルを若干改変。 startshape COLOR_TREEBALL rule COLOR_TREEBALL{ // 緑にして、回転させてみた 45* {r

    [Context Free]文字と色付けをやってみる - シン石丸の電脳芸事ニッキ
  • Context Freeで遊んでみる - シン石丸の電脳芸事ニッキ

    例によってradiumsoftwareさんで見て、面白そうで気になっていたContext Freeでちょっと遊んでみました。 基的な命令のリファレンスが、わずかA4紙2枚で説明されているドキュメントがあってわかりやすいですね。 examplesから簡単ものを選んで、さらに命令を削ぎ落とし、シンプルなサンプルを3つほど作ってみました。 startshape SIMPLE1 rule SIMPLE1 { BL{} } rule BL { CIRCLE {} WL {size 0.95 y 1} } rule WL {BL {rotate 10}} 丸が螺旋状に小さく。 startshape SPIKE rule SPIKE { LSPIKE {} } rule LSPIKE { SQUARE {} LSPIKE { y 0.98 s 0.99 r 1} } // 0.02/11.01 %で発

    Context Freeで遊んでみる - シン石丸の電脳芸事ニッキ
  • [ThinkIT] 第1回:Webアプリケーションフレームワークとは (1/4)

    近年のWebアプリケーション開発は大規模化が進み、基幹システムなどの一角を担うまでになってきています。また、Webアプリケーション開発はレガシーなシステム開発に比べて手間のかかる部分が多いにも関わらず、開発にかけられる工数は短縮化の傾向にあります。 そのため、案件の大規模化で開発に携わる人数も増える傾向にあり、開発チームの各々がWebアプリケーションのライブラリを別々に制作してしまい、同様の機能を持ったライブラリが複数存在してしまったり、またUIを担当するデザイナーとビジネスロジックを担当するプログラマが、いざそれぞれの部分を組み合わせようとしたらうまく機能しなかったりといった様々な問題が出てきます。 このような背景から、それらの問題に対するソリューションのひとつとして現在、開発現場ではWebアプリケーションフレームワークを用いた開発スタイルが注目され、実際に多くの開発会社がWebアプリケ

  • プライベートメソッドのテスト

    なんとなくテストコードはかけるようになった。 でも、公開(パブリック)メソッドだけでなく、 内部実装であるプライベートメソッドの方も直接テストしてみたい。 というわけでやってみよう。 ●プライベートメソッドをテストしたい ちまっとソースを書いてすかさずテストというサイクルをまわすには、 プライベートなメソッドもテストしたくなる。 というか、実際には際どいところはたいていプライベートな内部コードに 存在しているのでその近辺を濃密なテストで取り囲むにはどうしても 直接プライベートなメソッドを呼び出したい。 1つの案としてはプライベートメソッドテスト用にパブリックなコードを 体側に組み込む手もあるけど、せっかくの「テスト用コードと体コードを分離できる」という JUnitを使うメリットが失われるし、 テスト実体とテスト用の窓口という形でテストコード自体が分散してしまう。 プライベートをやめ

    ablabo
    ablabo 2009/03/16
    リフレクション使ってprivateメソッドをテスト
  • 第35回PHP勉強会 参加レポート | Creazy!

    日、第35回PHP勉強会に参加してきました。 ・第35回PHP勉強会 – events.php.gr.jp その後、世田谷にバスケしに行ったのでかなりの強行軍で今ヘトヘトです。 レポート書こうと思いますが、発表の資料はその内UPされると思うのでそれにリンクするとして、気になったところや資料に書いてない話なんかを中心にメモろうかと思います。 はじめに 進行はhaltさん PHP勉強会は月1回開催されています。 運営スタッフが足りないので手伝って! 参加資格とかはないです。mail、ML、IRCとか何でも良いので連絡を。 無料で開催されている勉強会を有志で運営しているわけだから色々大変なはずです。 オイラに手伝える事が何かあるだろうか。 CakePHP使いはじめた人へのテクニック集公開(私はいかにしてevents.php.gr.jpをEthnaからCakePHPにおきかえたか) 発表者:ha

    ablabo
    ablabo 2009/03/16
    privateメソッドのテストについての記述あり
  • http://www.machu.jp/posts/20090307/p01/

    http://www.machu.jp/posts/20090307/p01/
  • Yahoo!ショッピングにおけるログ設計と監視

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ショッピング事業部開発部の吉野と申します。 今回は「アプリケーションログの設計と監視」について、実際にYahoo!ショッピングで採用している方法を少し交えながらお話しさせていただきます。 1.ログ設計のポイント ログ設計は、以下のポイントに注意して行うとよいでしょう。 ・ログ出力のポイントが押さえられているか ⇒セッションの始まりと終わり、処理の過程、例外処理の中など。 フローチャートのような処理フロー図があれば、そこにログ出力ポイントを書き込むとわかりやすくなります。 ・出力する情報に過不足はないか ⇒「いつ(システム時間)」「だれが(プロセスID・IPアドレスなど)」 「どこで(パスなど)」「なにをした(実行コマン

    Yahoo!ショッピングにおけるログ設計と監視
  • Blogger

    Google のウェブログ公開ツールを使って、テキスト、写真、動画を共有できます。

  • EXEC_BAD_ACCESSのデバッグ方法 - Paradigm Shift Design

    xcodeでプログラムを書いていると、メモリ管理なぞ忘却のかなたなので、リークしていたり、解放済みのメモリにアクセスしていたりと、問題が多々ある。 xcodeでのデバッグコンソールは、基的にgdbなので、VisualStudioで開発するようには簡単に問題箇所を見つけ出すことができない。 ポインタに対する不正なアクセスは、大体のところ プログラムはシグナルを受信しました:“EXC_BAD_ACCESS” というメッセージが出るだけで、「どこでそれが起こったのか」についての何の手がかりも与えられない。Breakすらしない。 さすがにこんな状況でデバッグしている人はいないだろうと、検索をかけてみると、 DebuggingAutorelease - CocoaDev NSZombieEnabled - CocoaDev あたりが役に立ちそうである。 とりあえず色々試行錯誤してみたが、NSZom

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

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

  • 『モダンPerl入門』感想 - Kentaro Kuribayashi's blog

    id:lestrratさん期待の新刊『モダンPerl入門』をさっそく読みました。結論からいうととてもいいで、他の言語はよく知っててイケてるコード書きまくりだけどPerlはよくわからないというひと、もっとPerlのことを知りたいひと、昔やったけど最近の事情はどうも知らないというひと、様々な方にとってマストバイな一品に仕上がっていると思いました。もちろん、僕自身にとってもいろいろ知ることが多くて、とてもためになりました。 以下、自分が実践できてるかどうかをまったく度外視して、あれこれと書いてみました(たまには書評の真似事をしてみたいブーム)。 モダンPerl入門 (CodeZine BOOKS) 作者: 牧大輔出版社/メーカー: 翔泳社発売日: 2009/02/10メディア: 大型購入: 25人 クリック: 506回この商品を含むブログ (113件) を見る よいコードとは よいコードとひ

    『モダンPerl入門』感想 - Kentaro Kuribayashi's blog
  • DRY (Don't Repeat Yoursel) の意味を勘違いしてたかも - kなんとかの日記

    なんか、DRY の原則をすっげー勘違いしてたかも。 The DRY (Don't Repeat Yourself) Principle states: Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. http://c2.com/cgi/wiki?DontRepeatYourself DRY (Don't Repeat Yourself) っていうから、単に「同じことを繰り返さない」という意味だと思っていた。だから、たとえば class Node end class Element < Node def accept(visitor) visitor.visit_element(self) end end class Text < N

    DRY (Don't Repeat Yoursel) の意味を勘違いしてたかも - kなんとかの日記
  • よいサブルーチンを作成するための心がけ。★★★ - サンプルコードによる Perl 入門

    Perl › サブルーチン › here サブルーチン作成に関するわたしの考えを殴り書きしました。 見出し 引数と戻り値について理解する。 小さなサブルーチンを作成する。 サブルーチンに柔軟性を持たせる。 呼び出しの階層を浅く保つ。 機能を実現するサブルーチンを作成する。 ユーザーを意識する。 将来を楽にすることを考える。 完全な抽象化は求めない。 1. 引数と戻り値について理解する サブルーチンを理解するためには、引数の受け取り方と、戻り値の返却のし方を覚えれば十分です。なぜなら、引数を受け取ってから、戻り値を返却をするまでは、今まで学習したプログラミングとなんら変わることがないからです。引数と戻り値の扱いを、覚えたら、すぐに実践に移りましょう。 サブルーチン作成で、難しいのは、以下の4点です。 何をサブルーチンにするか どのような名前をつけるか 引数を何にするか 戻り値を何にするか 正

    よいサブルーチンを作成するための心がけ。★★★ - サンプルコードによる Perl 入門