タグ

プログラミングに関するDustOfHumanのブックマーク (22)

  • そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー

    以前、とあるシステムのソースコードを読む機会があったのだけどあまりにひどかった。あのひどいコードでまあまあまともに動いているというのが逆に信じられない。今日昼ご飯をべながら少し話していたのだけど意外と知られていないようなので、話せる範囲でいかにひどいのか説明してみようと思う。 まず、ソースコードが大雑把に見積もって3750万行あるのだけど、その中でまともに機能しているコードは3%しかない。10分の1程度のソースコードで同程度の機能を実現しているシステムもあるのでほんとあのシステムのコードはゴミだと言っても過言じゃない(*1) プログラマとしてはなんでそのプロジェクトはそんな状態になってしまったのか気になるところだけども、まあ多くのプロジェクト同様、真相を知る人は誰もいない。でもまあ、実際に機能しているコードのコピーみたいなものがあちこちに散らばっていることからしてコピー&ペーストが盛んに

    そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー
    DustOfHuman
    DustOfHuman 2011/06/03
    「フレームワークが「モジュール内の特定の条件を満たす関数を全部呼ぶ」という設計になっていて、壊れたAのコピーがあったとしても壊れていないAのコピーが1個でも残っていれば機能が失われない」
  • 常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)

    TwitterのTLで知ったのだが、少し前に海外掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと

    常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)
    DustOfHuman
    DustOfHuman 2011/05/20
    最初何やってるのか分からなかったけど、おもろいなコレ。っていうかbashのfunctionってバックグラウンド実行できるのか…
  • Visual Studioユーザー必見! 最新Windowsインストーラー作成 再入門

    はじめに Visual Studioのユーザー様の多くは、作成したソフトを配布する際にVisual Studioに付属のインストーラー作成ツールを利用していると思います。 一方、インストーラー作成の専用ツールである「InstallShield」を使うと、Visual Studio付属のツールでは作成できない独自のアクションやユーザーインターフェイスなど、様々なカスタマイズが可能になります。 そこで稿では、InstallShieldとVisual Studioに付属しているインストーラー作成ツールを比較しつつ、InstallShieldを利用したインストーラー作成の基と特徴的な機能を紹介します。 対象読者 Visual Studioで開発を行っているユーザー インストーラー作成の自動化に興味のある開発者 InstallShieldを利用している方 「インストーラー作成ツール」とは Win

    Visual Studioユーザー必見! 最新Windowsインストーラー作成 再入門
    DustOfHuman
    DustOfHuman 2011/04/27
    「Microsoft Visual Studio 2010では、世界的に有名なインストーラーソリューション「InstallShield」の機能限定版が推奨MSIインストーラー開発ツールとしてバンドルされるようになりました」
  • c/side | Monitoring, Securing, and Optimizing 3rd Party Scripts

    Monitoring, Securing, Optimizing 3rd party scriptsKeeping track of 3rd party scripts, taking away obscurity How c/side makes the differenceYou'll know what gets delivered to your user's browser 100% of the time, and we'll make the scripts up to 30% faster.

    c/side | Monitoring, Securing, and Optimizing 3rd Party Scripts
  • Bash基礎文法最速マスター - いろいろ解析日記

    Bashの文法一覧です。他の言語をある程度知っている人はこれを読めばBashの基礎をマスターしてBashを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 echo文 echo文です。 echo "Hello world" コメント コメントです。 # コメント 変数の宣言 変数の宣言です。 # 文字列変数 declare str # 数値変数 declare -i num # 配列変数 declare -a array スクリプトの実行 スクリプトを実行するにはコマンドラインで次のようにします。 bash script.sh 出力結果をファイルに書き出すにはリダイレクトを使います。 bash script.sh > file.txt 文法チェック 事前に文法チェックを行うには、次のようにします

    Bash基礎文法最速マスター - いろいろ解析日記
    DustOfHuman
    DustOfHuman 2011/02/19
    チートシート探してて見つけた。case文はちょくちょく使うのに(デーモン起動スクリプトとか)書かれてないし増補版作りたい。bashのman見ろやとか言ってる人がいないので平和。
  • Tonyu System

    「Tonyu System」は、アクションゲーム制作に特化したプログラミング言語&開発環境です 更新情報 ※Tonyu2 のバージョンは自動更新しています. 2024/03/18 Tonyu2の概要を更新しました. 2021/08/31 Tonyu1のドキュメントを移転しました. 2020/05/04 Tonyu2 のダウンロード版は,GitHubにコミットされた日時だけに更新するようにしました. 2020/05/04 バージョン2019_0505までの更新履歴を掲載しました. 2019/11/13 バージョン2019_1113までの更新履歴を掲載しました. 2019/08/07 バージョン2019_0806までの更新履歴を掲載しました. 2019/02/22 Tonyu2 2019-0222をリリースしました. サイト案内 Tonyu System 1(Tonyu1) オブジェクトエディ

  • デザパタ140文字

    尾野(しっぽ) @tail_y 今なんとなくデザインパターンを見てたけど、どうしてこういう説明って、厳かで分りにくく書かれるんだろうね。噛み砕いて書くと、正確性に欠ける!って怒られるんかな。 2010-04-22 08:29:36 尾野(しっぽ) @tail_y いや、一番いけないのは、デザインパターン完全に理解しないで語るのは恥ずかしいとか、使いこなせないなら使っちゃ駄目とか、そういう雰囲気があるのがいけないんですよ!そんな高尚なものにしてしまうから、解説まで高尚になっちゃって、一部の天才だけのものになっちゃうんですよ。 2010-04-22 08:53:45

    デザパタ140文字
  • Twitterプログラミングのすすめ

    Twitter(ツイッター)のブームには目を見張る。一般のビジネスパーソンが読む雑誌が特集し、書籍、ムックもたくさん出版されている。筆者の同僚は「実家の祖母がTwitterを知っていた」とTwitterでつぶやいていた。この記者の眼でも「うっかり編集者のビジネス・ツイッター」「みなさん、つぶやいてますか?」「「ダダ漏れ」に対して感じる脅威と危惧、そして可能性」など、Twitterを何度も取り上げている。 筆者が所属する日経ソフトウエアでも、このブームに乗じてTwitterを活用しようということになり、公式アカウント@nikkei_softwareの運用を3月下旬に始めた。日経ソフトウエアとして運用するからにはプログラミングをからめたい。それならば、ということでアカウントをボット(自動投稿プログラム)で運用することにした。もちろんボットはオリジナルのものを作る。せっかくならそれをネタに記事も

    Twitterプログラミングのすすめ
    DustOfHuman
    DustOfHuman 2010/03/31
    「それでも初心者から1歩抜けたくらいのスキルがあれば、ひとがんばりで十分に書き下せる」初心者のひとがんばりで十分だよ。寧ろ初学のネタにTwitterBotって適切なんじゃない?
  • Rubyの黒魔術

    ↓↓↓↓訂正あります。↓↓↓↓ 2018/07/02に株式会社エフコード社内で行われた勉強会のスライドです。 訂正版(随時更新中): https://docs.google.com/presentation/d/15HOMfAbtdWwO48njcB8IdkN3kVAMu3wsmZo0O3S-f_4/edit?usp=sharing 専門家による資料・専門家向けの資料ではありません。自分自身で学習し、論文・文献等を読解してまとめた内容となります。間違い等あるかもしれませんが、あれば是非コメント頂ければと思います。 【訂正事項】 スライド16: 誤:たった一つのプロセスが故障しただけでも有限時間で合意できない 正:たった一つのプロセスが故障しうるだけでも有限時間で合意できない スライド20: 誤: 重要: あるschedule σ1, σ2 がdisjoint (nodeが被ってない) なら

    Rubyの黒魔術
    DustOfHuman
    DustOfHuman 2010/03/15
    require使って設定ファイルを読み込ませるおいらは何魔術なんでしょうね。
  • プログラマーの力量を見極める--面接官になったら尋ねるべき質問実例集

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます ソフトウェア開発者を採用する面接の場においては、応募者の専門家としての力量を見極めることが最も困難な作業の1つである。彼らの考え方については、面接時に少しやり取りを行えばそれなりに見当が付くだろう。しかし、実際のプログラミング経験を推し量るのは至難の業だ。一部の企業では、さまざまなテストを実施することでこれを行おうとするものの、筆者の経験から言えば、こういったテストは近代的な開発環境では必要性が薄い知識(IDEのオートコンプリート機能や、F1キーの押下で表示されるヘルプ、インターネットといったものがあるため、ライブラリの知識は以前ほど重要ではなくなっている)の丸暗記能力を試すだけに終わることも多い。そこで記事では、開発者を評価するうえ

    プログラマーの力量を見極める--面接官になったら尋ねるべき質問実例集
    DustOfHuman
    DustOfHuman 2010/03/02
    プログラマってこんなこと聞かれるのか。弊社の近くにいる人たちでこういう事分かってる人居るのかな。
  • パスワード認証

    ウェブ狂の詩 - @takejune web制作に関する覚え書き このブログの公開は終了しました

    DustOfHuman
    DustOfHuman 2010/02/06
    プログラムもデザインもできないけどサービス作りたいです!
  • Ruby で、変数に入力された文字列を、新しい変数名として利用するにはどうしたらよいのでしょうか?…

    Ruby で、変数に入力された文字列を、新しい変数名として利用するにはどうしたらよいのでしょうか? 例となるコードが PHP となってしまい申し訳ありませんが、やりたいのは下記の通りです。 また、ローカル変数だけではなく、インスタンス変数でも実現可能なのでしょうか? <?php $variable = 'say'; $${variable} = 'Hello, world!'; echo $say; // Hello, world! ?> Ruby で実行すると、下記のエラーが発生します。 say.rb #!/usr/bin/ruby variable = 'say' #{variable} = 'Hello, world' puts say % ruby say.rb say.rb:3: undefined local variable or method `say' for main:

  • 11年前のPSソフト『カルネージハート』に教わった私の原点と言えるプログラムの基礎*ホームページを作る人のネタ帳

    11年も前のプレステゲームの話などをしてもわかる方は少ないだろうけど、私のプログラムに対する考え方を教えてくれたものなので書き記しておきます。 ソフトウェアをプログラムする事が、いったい何を意味しているのかという基的な部分がそのゲームには詰まっていたからです。 そして、はてなブックマーカー達には、なぜプログラマや技術屋が多いのかというのも、この結論でなんとなく納得してしまいました。 その前にまず、カルネージハートって何よという人のために説明しておきます。 書いて気がついたのですが、かなりマニアックな話になりますので、ゲームに興味のない方は見るのつらいかもしれませんので先に言っておきます。 無人ロボット作成ゲーム 初代カルネージハートは、3対3のロボット同士を戦わせるゲームでした。 高校のときにはまり4~5年やってましたがこれが面白い。 今ではPSP版が出てますね。 ゲーム内容としては、ハ

    11年前のPSソフト『カルネージハート』に教わった私の原点と言えるプログラムの基礎*ホームページを作る人のネタ帳
    DustOfHuman
    DustOfHuman 2010/01/03
    「技術に関しては、作ろうと思ってから勉強しても遅くは無いのですが、『作ろう』と思った瞬間のアイデアは、その時の知識と自分の考え方が反映されるということです」
  • マルコフ連鎖で日本語をもっともらしく要約する - ザリガニが見ていた...。

    そもそも、マルコフ連鎖とは何なのか?全く聞いたこともなかった。そして、文章を要約するのはとっても高度なことだと思っていて、自分のレベルではその方法を、今まで思い付きもしなかった。 しかし、以下のようなシンプルなRubyコードでそれが出来てしまうと知った時、目から鱗である...。一体、何がどうなっているのだ?コードを追いながら、マルコフ連鎖を利用するという発想の素晴らしさを知った! 作業環境 MacBook OSX 10.5.7 ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] mecab utf8環境でインストール済み マルコフ連鎖に出逢う rssを流し読みしていると、以下の日記に目が止まった。(素晴らしい情報に感謝です!) MeCabを使ってマルコフ連鎖 一体何が出来るコードなのか、日記を読んだだけではピンと来なかっ

    マルコフ連鎖で日本語をもっともらしく要約する - ザリガニが見ていた...。
  • Google App Engineで開発するスケールするアプリケーション(前編)

    はじめに 「人類が使うすべての情報を集め整理する」 この壮大なミッションを掲げ設立されたGoogleは、そのミッションを遂行するべく、マシン・ネットワークなどのインフラ環境に莫大な金額を投資し、独自の技術を開発し続けています。Googleは検索エンジンだけにとどまらず、Gmail、Google Calendar、Google Maps、Google Analystics、Youtube、Google Apps、Google Earthなど、いまや全世界のユーザーが使用するサービスをリリースしており、その扱うデータ量、アクセス数は天文学的な数になることが予想されます。Googleはそれらのデータ量、アクセス数を高速にさばき、なおかつ耐障害性の高いスケーラブルな大規模分散システムを構築しています。 そんな中、2008年4月にGoogle App Engineがリリースされました。Google

    Google App Engineで開発するスケールするアプリケーション(前編)
    DustOfHuman
    DustOfHuman 2009/12/04
    使わないだろうけどこういうのは使ってみたくあるなあ
  • jQuery 日本語リファレンス

    jQueryとは、JavaScriptのコーディングを強力に支援するライブラリです。 $('.semooh a').hover( function(){ $(this).text('ヌ?'); }, function(){ $(this).text('ヌー'); } );

  • Context Free Art

    Context Free is a program that generates images from written instructions called a grammar. The program follows the instructions in a few seconds to create images that can contain millions of shapes. Look The gallery contains almost a thousand works of art created by artists from around the globe. Create Context Free is, well, free! You can download the software and start creating art on your comp

    DustOfHuman
    DustOfHuman 2009/03/24
    気になるのでブクマ。
  • そろそろバグ管理についてひとこと言っておくか - 平凡なエンジニアの独り言 はてなブログ出張所

    ひとことどころか、バグ管理について367ページにわたって書いてしまいました。「実践バグ管理」です。なでしこなどで有名なid:kujirahandさん(クジラ飛行机さんのブログ)との共著です。 実践バグ管理―プロジェクトを成功に導くための 作者: クジラ飛行机,あかさた出版社/メーカー: ソシム発売日: 2009/03メディア: 単行購入: 6人 クリック: 148回この商品を含むブログ (21件) を見る 書の特徴 書の特徴を伝えることには非常に苦労しています。「バグ管理なんて何について書くの?」とかよく言われるわけです。バグ管理のやり方なんてあたりまえ・・・なのかもしれませんが、大抵のプロジェクトに参加すると以下のような現象に遭遇するものです。 Tracなどの運用を始めると、「バグレポートに何を書けばいいのか?」と質問される バグレポートに書かれている内容が意味不明 とある案件では

    そろそろバグ管理についてひとこと言っておくか - 平凡なエンジニアの独り言 はてなブログ出張所
  • MergeDoc Project

  • http://generative.info/daily/index.rb?date=20040211