タグ

プログラムに関するmaangieのブックマーク (83)

  • プログラムが書けない人に「仕様変更」について説明するには | tech - 氾濫原

    「仕様変更」という言葉はプログラム書く人じゃないと、そのイメージが掴めないと思う。イメージが掴めない人に対してそれを説明するとしたら何がいいだろう? と思った。 とりあえず、料理に例えたらいいのではないかと思ったので、それに例えて考えてみる。 仕様とはレシピのことであり、最終的には具体的に「べることができる美味しい料理」すなわち「うまく動くプログラム」を作ることを目的としている。 仕様というのは、最初は「イタリア料理」「日料理」「中華料理」程度しか示されない。当然この時点では方針程度しか考えることができない。材を買うこともできない。せいぜい使う調味料を揃えるぐらいしかできない。 もう少し進むと、料理名まで具体化される。スパゲティを作りましょうとか、ピザを作りましょうとかだ。とりあえずここまできたら小麦粉を買おうとかまではできるかもしれない。でも実際に作りはじめることはできない。 さら

  • 「ソース見てみます」って言ったら負け - Aoisomeの以下略

    自分が設計した機能について、 「この機能の○○に△△を入力して、××ボタンを押したらどうなるの?」 という質問をされ、 外部設計書を見たが分からず、 「ソースを見てみます」 と答えてしまった。 ああ、またやってしまった。 と思った。 質問された内容の入力データはちょっと特殊な値の組み合わせだった。 そのようなケースが外部設計書の考慮から抜けていたわけだ。 そのケースは外部設計書には書いていないが、 プログラムを動かせば一応動くのも問題である。 プログラムを組む際に、勝手に仕様を決めてコーディングしたのか? と責められたら、 言い返すことも難しい。 なんでもかんでも ソースを見ないと動作がどうなるか分からないというシステム開発の現場は どこかに問題を抱えていると思う。 昔は、 「ソース見てみます」 というフレーズを、かっこいいものだと思っていた。 同様にして、 「ソース読め」 というフレーズ

    「ソース見てみます」って言ったら負け - Aoisomeの以下略
  • 人材獲得作戦・4 試験問題ほか - 人生を書き換える者すらいた。

    さて試験問題です。 内容は、壁とスペースで構成された迷路が与えられたとき、スタート地点からゴール地点に至る最短経路を求めよ、というものです。 たとえば、S:スタート G:ゴール *:壁 $:解答の経路 としたとき、 ************************** *S* * * * * * * ************* * * * * ************ * * * * ************** *********** * * ** *********************** * * G * * * *********** * * * * ******* * * * * * ************************** という入力に対し、 ************************** *S* * $$$ * *$* *$$*$ ************

    人材獲得作戦・4 試験問題ほか - 人生を書き換える者すらいた。
  • Island Life - プログラムの手入れ

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - プログラムの手入れ
  • What Is Software Design? by Jack W. Reeves - developer.*, Developer Dot Star

    This is Part One of Code As Design: Three Essays by Jack W. Reeves. Click here for the introduction. This essay first appeared in the Fall, 1992 issue of C++ Journal. Object oriented techniques, and C++ in particular, seem to be taking the software world by storm. Numerous articles and books have appeared describing how to apply the new techniques. In general, the questions of whether O-O techniqu

  • 自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編)

    自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編) ふだん何気なく使っている鉄道。改札を降りるときにICカードを自動改札にかざすと、「ピッ」という音と共に一瞬のうちに運賃を計算してくれます。けれど、複数の路線を乗り継いだり、途中で定期券区間が挟まっていたりと、想像しただけでもそこには膨大な組み合わせがあります。それでも運賃計算プログラムはわずか一瞬で正しい運賃計算が求められ、バグがあったら社会的な一大事にもつながりかねません。 爆発的な計算結果の組み合わせがあるはずの運賃計算プログラムは、どうやってデバッグされ、品質を維持しているのでしょうか? 9月12日から14日のあいだ、東洋大学 白山キャンパスで開催された日科学技術連盟主催の「ソフトウェア品質シンポジウム 2012」。オムロンソーシアルソリューションズ 幡

    自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編)
  • 高木浩光@自宅の日記 - このまま進むと訪れる未来 岡崎図書館事件(15)

    ■ このまま進むと訪れる未来 岡崎図書館事件(15) この物語はフィクションであり、登場する団体・人物などの名称はすべて架空のものです。 2017年5月、それは新聞各社のベタ記事報道から始まった。 朝売新聞2017年5月26日朝刊 美術館の電子書籍を破壊 愛崎県警 不正指令電磁的記録作成容疑、32歳を逮捕 岡知市立美術館の電子書籍データを破壊する不正なプログラムを作成、提供したとして、県警生活経済課と岡知署は25日、不正指令電磁的記録作成及び同供用の容疑で、コンピュータソフトウェア制作会社社長を逮捕した。 発表によると、容疑者は、昨年12月、ハードディスクを繰り返し執拗に消去するプログラムを作成し、インターネットのホームページで公開していた。今年3月に市立美術館の主任主査がこれをダウンロードしたところ、美術館の電子書籍データがすべて破壊された。プログラムは35回にわたって繰り返し0(ゼロ)

    maangie
    maangie 2012/07/21
    架空でよかった…。
  • 定期的に繰り返し実行する簡単ではないお仕事 - やねうらおブログ(移転しました)

    いやー、この問題は当に難しい。難しすぎて、どうやって解決すればいいかいまだによくわからない。わからないので、ここに書いてみる。 最初、とあるお客さんのために「ひよこの餌やりプログラム(仮)」を作っていたんだ。開始ボタンを押すとひよこの餌が出てくる。たったそれだけのプログラム。 今回は、これを「定期的に実行する機能が欲しい」と言われた。 この要望を実現するのがすこぶる難しかったんだ。 「やねうらおってそんなプログラムすら書けないの?老害なの?」 とか言わないで欲しい。この問題、当に難しいんだよ! ■ 1度目のひよこの全滅 まず、この要望に沿って、私の会社のプログラマが当初、次のようなダイアログをつけたわけだ。 繰り返し実行のところにチェックを入れた場合、ここで指定された時間後にも繰り返し実行する。単位は分で指定する。1日ならば60×24 = 1440を指定する。そうすると、ひよこの餌やり

  • http://swatmac.info/?p=942

    See related links to what you are looking for.

  • ウォーリーをプログラム的に探すにはどうしたらいい? | インサイド

    ウォーリーをプログラム的に探すにはどうしたらいい? | インサイド
  • Hagi utils - Wikinote

    C 言語 gawk スクリプト bash スクリプト split_strace.sh strace -f で採取したログをプロセス毎に分割する。 ソースコード <toggledisplay> #!/bin/bash if [ $# -ne 2 ]; then printf "Usage: %s LOGFILE TARGET_DIR\n" "$0" exit 1 elif [ ! -e "$2" ]; then mkdir -p "$2" echo INFO: directory \'$2\' is made. elif [ ! -d "$2" ]; then echo ERROR: \'$2\' is NOT directory. exit 1 fi echo collecting PIDs... PIDS=$(awk '{print $1}' "$1" | sort | uniq | s

  • HSSFその1

    HSSFJavaのプログラムからExcelファイルにアクセスするための機能です。ドキュメントによると、Excel'97~Excel2002のExcelファイルを扱うことができるようです。これより新しいExcelのファイルについては特に記述がありません。Microsoftはファイル形式を頻繁に変えるので、新しいフォーマットについては動作確認したほうが良いでしょう。私は新しいExcelを持っていませんので判りません。 HSSFの使い方は難しくはありません。もともとExcelはスプレッドシートなので、来的にはプログラムからは扱いやすいはずです。Excelのファイルである*.xlsファイルはブックと呼ばれ、その中に複数のシートが含まれます。各シートは複数の行からなり、各行は複数のセルからなっています。HSSFではこれらがそれぞれHSSFWorkbook、HSSFSheet、HSSFRow、HS

  • Firefox、メモリ食い「ダークマター」の正体突き止める | エンタープライズ | マイコミジャーナル

    Firefox web browser - Faster, more secure & customizable Firefoxでは長らく種類を特定することができない謎のヒープメモリが存在していた。Nightly版でURL欄に「about:memory」を入力すると、メモリ表示の2行目に「heap-unclassified」という項目が見つかるはずだ。何に使われているのかわからない上に、全体のメモリ利用のうえでかなりの割合を占めている。この用途不明のメモリを突き止め排除すれば、メモリ使用量を大幅に減らすことが可能になるとみられる。 この用途不明メモリの正体のひとつが実はjemallocのメモリアロケート時に発生する未使用領域であることがNicholas Nethercote氏によって報告された。すでに原因も明らかになっており、調査および分析を実施した結果、どの部分を改善すればメモリ使用量を

  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • 時代はバイナリ?低レイヤー・プログラミングの楽しさ

    胸が躍る,とはこのことだろうか。先ごろ出版された「BINARY HACKS―ハッカー秘伝のテクニック100選」(高林哲,鵜飼文敏,佐藤祐介,浜地慎一郎,首藤一幸著,オライリー・ジャパン刊)を読んだ感想だ。このは,多くのプログラマが通常さわることの少ない「バイナリ(=機械語,アセンブラ,コンパイラ)」など低レイヤー・プログラミングを“いじる”テクニック(バイナリ・ハック)を紹介するだ。 バッファ・オーバーフローを検出する,スレッド・セーフなプログラムを書く,メモリー・リークを検出する,プログラムやシステムコールのトレース方法,プログラム起動の高速化や高速化のためのプロファイル取得方法,CとC++のプログラムをリンクする時の注意点といった実用上重要なテクニックが多数解説されている。しかし「glibcを使わないで Hello worldを書く」,「自己書き換えでプログラムの動作を変える」,「

    時代はバイナリ?低レイヤー・プログラミングの楽しさ
    maangie
    maangie 2010/04/14
    「ワンボードマイコン組み立てキットTK-80でコンピュータと出会い,8080の機械語で初めてのプログラムを書いた記者の願い」うんうん。
  • 地球にやさしいアルゴリズム---目次 - 地球にやさしいアルゴリズム:ITpro

    アルゴリズムを構成している楽しい仕組みを紹介しながら,あなたに「おおっ」と言わせることが,連載の最初の目的です。興味を持てたなら,アルゴリズムに関する文献や情報を抵抗なく読めるようになるはずです。アルゴリズムを使いこなしたり,作ることも無理なくできるようになるでしょう。 まずはいろいろなアルゴリズムの面白いところを見て,楽しんでみましょう 第1回 ナンプレを解いてみよう 第2回 パズルみたいに楽しいデータ圧縮 第3回 「場面」の移り変わりに注目する 第4回 できるだけ短いルートでゴールに到達する 第5回 隣の区画と異なる色で地図を四色に塗り分ける 第6回 上手なアルゴリズムの見つけ方 第7回 多対多の関係を賢く扱う 第8回 倉庫番を解くアルゴリズム 第9回 プロトコルを実現するアルゴリズム 第10回 麻雀の役を判定する 第11回 プログラム同士の対戦ゲーム 第12回 対戦ゲームの戦略を考

    地球にやさしいアルゴリズム---目次 - 地球にやさしいアルゴリズム:ITpro
  • 知れば天国、知らねば地獄――「探索」虎の巻

    いよいよ今回から、具体的なアルゴリズムの紹介に入っていきます。今回は、プログラミングにおける重要な概念である「探索」について考えます。グラフに変換し、探索する、という流れを知るとともに、そのグラフを効率よく探索する方法について紹介します。 今後紹介していくアルゴリズムについて お待たせしました! 「最強最速アルゴリズマー養成講座」という連載タイトルのとおり、今回の連載からいよいよ具体的なアルゴリズムの紹介に入っていきたいと思います。 しかし、それを読んでいただく前に、1つ注意してもらいたいことがあります。連載第3回でもお伝えしたように、「問題を、既存の適当なアルゴリズムに当てはめる」という考え方は、非常に危険である、ということです。 筆者の経験上、TopCoderでRedCoder以上を目指すのであれば、回答時間短縮のために、いままでのパターンを利用するのも方法の1つなのですが、連載では

    知れば天国、知らねば地獄――「探索」虎の巻
  • 漢字コード変換コマンドライン・プログラム 「nkf 2.1.0」リリース

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    漢字コード変換コマンドライン・プログラム 「nkf 2.1.0」リリース
  • Do I like programming? - FC2 BLOG パスワード認証

    maangie
    maangie 2009/07/23
    ふむふむ。
  • ドイツのプログラミング大会の優勝作品:アルファルファモザイク

    編集元:ガイドライン板「638 名前:水先案名無い人 投稿日:2009/04/17(金) 15:33:16 ID:tiYVFzCJ0」より 226 ウンナンオウバイ(静岡県) :2009/04/15(水) 18:40:47.19 ID:feyVAFxN 4キロバイト部門の優勝作品 容量制限なし部門の優勝作品 とくに上のほうはマジキチレベル。音楽もグラフィックもプログラムも全部まとめて たった4KBのプログラムにしてる。

    maangie
    maangie 2009/04/18
    僕の環境では実行できなかったよう。しくしく。やっぱりいいGPUが要るのか知らん。