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

  • ソースコードを読むための技術

    $Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ

    tl_bkmk
    tl_bkmk 2009/09/07
    ソースコード静的解析技術のまとめ
  • 続・バグを生まないコーディング法 | EE Times Japan

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

    tl_bkmk
    tl_bkmk 2009/09/03
    バグを生まないための追加ルール
  • バグを生まないコーディング法、10個の規則でソフト開発を効率化 | EE Times Japan

    ソフトウエア開発にはバグがつきものだ。ただし、バグの発生を最小限にい止める方法がある。コーディング規則を適用してコードを記述することだ。バグが発生してからそれを発見し、修正するという通常の開発手順に比べて、簡単に、しかもコストをかけずにバグをつぶせる。 ここでは、ZigBeeを利用したセキュリティ・システムから医療機器にわたる筆者の組み込みソフトウエア開発の経験から得た、バグをなるべく発生させないコーディング規則を紹介する。 なぜコーディング規則が必要か コーディング規則は、ソフトウエア開発者に対して、コードを記述する上での規則をまとめたものである。英語のライティング教として著名な「The Elements of Style」(William Strunk Jr.、E. B. White著)の、プログラミング言語版のようなものだ。 組み込みソフトウエアにも、きれいで、正しく、簡潔に書く

    tl_bkmk
    tl_bkmk 2009/09/01
    基本的だが世間ではこれを実践出来てないソースは多い
  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
    tl_bkmk
    tl_bkmk 2009/08/31
    乱数の出し方、マリオのジャンプのアルゴリズム、ボードゲームの作り方など、色々
  • Windowsのコマンドプロンプトを便利に使うための10のミニテクニック

    はじめに Windowsの操作の基GUIですが、ファイル操作などを手早く行うためにコマンドプロンプトを使うこともあると思います。稿では、Windowsのコマンドプロンプトをより便利に使うためのちょっとしたテクニックを10個紹介します。 対象読者 Windowsのコマンドプロンプトをある程度使ったことがある方 動作確認環境 Windows Vista Windows XP 一部の機能は、Windows XPでは利用できません。文内で都度補足します。 コマンドプロンプトからエクスプローラに移動する コマンドプロンプトで作業中に、カレントディレクトリのファイルをエクスプローラで操作したくなることがあります。たとえば、カレントディレクトリにあるいくつかのファイルをほかのディレクトリにコピーする場合、各ファイルの名前をキーボードから入力するより、マウスを使ったほうが簡単です。そんなときに便利

    Windowsのコマンドプロンプトを便利に使うための10のミニテクニック
    tl_bkmk
    tl_bkmk 2009/08/28
    コマンドプロンプトからエクスプローラに移動する。など
  • 全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記

    この記事は、http://d.hatena.ne.jp/higayasuo/20090612/1244772658 の「Ctrl+1とCtrl+Spaceうんぬん」の話にインスパイアされて書いた。Eclipse可愛いよ。Eclipse。 記事長いから、さくっと読み飛ばして、アニメーションgifがあるところから読んでも十分訳にたつと思う。 あと、新人さんとかに写経させるのもいいかも。というか、半分ぐらいうちの新人に勉強のためと思って書いたから。で、実際に写経させて役にたった。 Java は Eclipse などの IDE も含めて言語というか、環境というか…だと僕は思ってる。Commons, Maven なども含めたい(まぁ、そのあたりは、CPANも含めてperlだろ。とか、これは否定する人だらけだろうけど、Railsrubyということを言う人もいるよね)。 少なくとも僕は、Eclipse

    全Eclipse Java プログラマーに捧げる Eclispe 徹底活用術完全版〜Eclipseに空気を読ませて楽する術〜 - Yamashiro0217の日記
    tl_bkmk
    tl_bkmk 2009/08/27
    格段に生産性が増すEclipseの使い方
  • 5年後に後悔しないJavaプログラムの書き方 - L'eclat des jours(2009-07-02)

    _ 5年後に後悔しないJavaプログラムの書き方 ここ数日、死ぬほど後悔しまくっているので、あらためて(というのは、数年前にも一度後悔しまくって、そのときの知見はあらかた処方箋とかコーディングの掟に書いているからだが)後悔しないための書き方をいくつか紹介する。 とにかく、ファクトリメソッドパターンを使うこと。 これは当に重要。しかも簡単でありながら効果は絶大。 だめな例。 public class FooBar { private Connection conn; ... protected void setup() { ... conn = DriverManager.getConnection(url); ... } urlを指定することや、DriverManagerの実装を交換すれば良いだろうと想定していても(というか、Connectionならそういう方法もあり得るが、そうはいかな

    tl_bkmk
    tl_bkmk 2009/08/26
    刹那的インターフェイスを避ける
  • 技術情報Wiki - 技術情報Wiki

    Link: ソフト業界の労働環境(1d) マルチメディア関連ツール(1d) JBoss Seam関連(1d) JSF(JavaServer Faces)関連(1d) 言語・開発環境(1d) ドキュメント作成(2d) ExcelVBA(2d) 読み物(4d) バグトラッキングツール(4d) Java関連(4d) 開発支援ツール(6d) Webで利用できるサービス(6d) ディスク関連ツール(6d) テスト・品質管理(6d) Webブラウザ(8d) .NETでの文字列処理(8d) Windows設定メモ(9d) セキュリティ関連(11d) データベース関連(14d) 周辺機器(15d) プロジェクト管理ツール(15d) JavaScript(16d) ネットワーク関連(20d) ソフトウェア業界(20d) 開発プロセス(20d) 開発に役立つデータ(22d) Web技術関連(24d) Web

  • Shibu's Diary: 「ソースコードをきれいに書く唯一の方法」は4つある

    渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 taken by Manuel_Marin なんとなく書いたら、アクセス数が10000件超えたソースコードをきれいに書くための方法の記事。r-westさんの「きれいなソースコードを書くために必要な、たったひとつの単純な事」と、uwiさんの「誰がためのきれいさ?」と、フォローのトラックバックまで頂きました。僕のも含めてそれぞれスタンスが違いますが、どれが正しいとか、どれが一番いいかというのはないと思っています。人によってどっちがいいかは別れるはずです。人によっていちばん苦労がなくて、モチベーションがあがる方法がそれぞれの人にとっての正解である、というのが僕の考えです。 モチベーションマネージメントというのがよく言われるけど、「モチベーションを上げろ」と言われて上がる人なんていませ

    tl_bkmk
    tl_bkmk 2009/08/22
    「性格別のソースコードをきれいに書く方法
  • MSDN ホームページ

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    MSDN ホームページ
    tl_bkmk
    tl_bkmk 2009/08/21
    Visual Studio による開発の基本的な講座
  • [ソフト開発] わかりやすいプログラムの書き方 - よくわかりません

    ※このエントリは、Arata Kojima/NPO法人しゃらく さんが公開しているわかりやすい技術文章の書き方の改変です。 このページは、プログラムやコードなどを書く方々のために、分かりやすいプログラムを書くためにはどうすればよいのかについて説明しています。 1. 自分が伝えたいこと・訴えたいことを誤解しないように相手に読んでもらうにはどうするべきか。 2. プログラムを書くにあたって知っておくべきルールは何か。 3. プログラムを書く前にどのような手順を踏めば、分かりやすいプログラムを作れるか。 などについて参考にしていただければ幸いです。 プログラムを書く前に プログラムを書く前に次のことをしっかりとイメージしておく。 何を書くのか。 書こうとしている物は正確に何であるのか。 仮定して良い、必ず成り立つ前提(状況/状態)は何か。 成り立つ事が単に多いだけ/今はたまたま成り立っている、と

    tl_bkmk
    tl_bkmk 2009/08/20
    わかりやすい技術文章の書き方の改変
  • デッドライン ソフト開発を成功に導く101の法則

    正しい管理の四つの質・適切な人材を雇用する。 ・その人材を適所にあてはめる。 ・人々の士気を保つ。 ・チームの結束を強め、維持する。 (それ以外のことは全部管理ごっこ) 安全と変更・変更は、あらゆるプロジェクトの成功のために(ほかの大抵の物事についても)必要不可欠である。 ・人は安全だとわからないと変更を受け入れない。安全が保証されていないと、リスクを避けようとする。 ・リスクを避けることは、それに伴う利益をも逃すことになるため、致命的である。 ・人は、面と向かって脅されたときはもちろん、自分に対して不当に権力が行使されるかもしれないと思ったときにも、安全ではないと感じるようになる。 負の強化・脅迫は、結果を上げさせる手段としては不完全である。 ・どれほど強い脅しをかけても、最初に割り当てた時間が足りなければ、やはり仕事は完成しない。 ・さらに悪いことに、目標を達成できなければ、脅迫の内

    デッドライン ソフト開発を成功に導く101の法則
    tl_bkmk
    tl_bkmk 2009/08/16
    「われわれは味方どうしである。敵は問題そのものだ。」
  • ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改

    ディレクトリの中にある大量のファイルを高速に読み込む方法が知りたかったので、実験してみた。想定しているシチュエーションは、一つ一つのファイルは数KB程度だが数が多い、という場合である。適当な順番でアクセスすると、ランダムアクセスになってしまいとても時間がかかる。個々のファイルを読み込む順番はどうでも良く、すべてのファイルを処理することさえできればいいので、原理的にはシーケンシャルアクセスで処理できてしかるべきである。 まず、ファイルシステムについて。HDDやSSDなどのハードウェアにアクセスする際には、ファイル名などという概念はもちろん存在しない。ファイル名と実際のディスク上の対応を管理するのがファイルシステムの主な役割である。ファイルシステムは、ファイル名からそのファイルに対応するブロック番号(メモリアドレスみたいなもんだな)を調べて、そのブロック番号を指定してHDDやSSDにアクセスす

    ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改
    tl_bkmk
    tl_bkmk 2009/08/15
    ブロック番号が近い順に並べてアクセスすれば、読み取りヘッダを移動させる時間が減るので、読み取りが高速に行える。
  • システム開発の入門者から中級者にステップアップするための10のティップス - builder by ZDNet Japan

    ある読者との電子メールのやり取りの中で出てきた話である。彼は、開発者向けのブログや記事、雑誌の内容が2種類に分類できるということを述べていた。その2種類とは入門者向けのもの("Hello World"に代表されるもの)とエキスパート向けのもの(MSDN Magazineのようなもの)である。 これはなかなか鋭いポイントを突いている。開発者が入門レベルから中級レベルにステップアップするうえで役立てることのできる情報がほとんどないのだ。以下は、こういったステップアップを実現するための10のティップスである。 #1:新たなプログラミング言語を学習する 新たなプログラミング言語を学習することは、それがどのような言語であったとしても、より優れた開発者になるための近道となるのである(このことは、あなたが既に多くのプログラミング言語を修得していたとしても成立することである)。言語を選択する際には、あなた

    システム開発の入門者から中級者にステップアップするための10のティップス - builder by ZDNet Japan
    tl_bkmk
    tl_bkmk 2009/08/13
    「エキスパート」になるには「およそ10年、あるいは計画的な訓練を1~2万時間」にわたって行わなければならないという調査結果がある。
  • 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年5月11日 水曜 私が最初の当の仕事をはじめたのは1983年9月に遡る。それはオラニムというイスラエルの大きな製パン工場で、16台の飛行機ほどもある巨大なオーブンで、毎晩10万個のパンが作られていた。 はじめて工場に入った時、そのあまりの汚さに信じられない思いだった。オーブンの側面は黄ばんでいるし、機械は錆びていて、そこらじゅうが油だらけだった。 「いつもこんなに汚いの?」と私は聞いてみた。 「なんだって? なんの話をしてるんだ?」とマネージャが答えた。「掃除したばかりだから、今が一番きれいな状態なんだ」 なんてこった。 毎朝の工場の清掃を何ヶ月か続けて、ようやく彼らの言っていたことが理解できるようになった。パン工場では、きれいというのは機械にパン生地が付いてないことを言うのだ。きれいというのは、ゴミ箱に発酵したパン生地が入ってないこと

    tl_bkmk
    tl_bkmk 2009/08/11
    本当のハンガリアン記法などの話
  • プログラミングスレまとめ in VIP

    お知らせ† 非常にゆったりとしたペースで更新が続けられております。 プログラミングに関連することであれば何でも良いので書いてって下さい。 初めての方は、 はじめてなの…やさしくして… へどうぞ 既存の記事をメンテしてもらえると嬉しくて涙が出ます。 編集時のIDは「vip」、パスは「vip」です。 祝・復旧 vipperじゃないがたまに見てた -- 2023-02-28 (火) 18:18:01 旧字キチガイの記述全部消せばいいのに。役に立たん独り言だらけだし。元から少なかった人が消滅した原因でしょあれ -- 2023-03-03 (金) 23:07:56 ↑うんこ掃除しました -- 2023-11-12 (日) 02:42:18 こんにちは -- マイキー 2024-02-22 (木) 07:22:12

    tl_bkmk
    tl_bkmk 2009/08/10
    意外とよくまとまっている。各分野の初心者への導入として役に立つ。
  • 探索アルゴリズム:フリーセル解決プログラムにおける手順探索

    フリーセル解決手順のプログラムによる探索実行結果 フリーセル百万種類のゲーム全てに対してサンプルプログラムを実行したところ、おそらく勝てないと言われている 11982、146692、186216、455889、495505、512118、517776、781948 以外のゲームでは勝つことができました。 百万種類のゲームの中で 57148、563096 の二つはコンピュータにとって勝つのが難しい性質を持っています。非常に長い堂々巡りの手順が現れ、およそ四百万局面ぐらいの同一局面判定ができなければ勝てません。また最初の一枚をホームセルへ置くまでの手数が長いので、先読みを長くしなければ勝ち手順を見つけることができないのです。この二つのゲームに勝つために、最大手数を 8,192 (freecell.h : MAX_SEARCH_DEPTH)、同一局面判定上限を 4,194,304 局面 (mov

    tl_bkmk
    tl_bkmk 2009/08/09
    フリーセルを解くプログラム。ソースコードやデータ構造の解説もあり。
  • プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ

    プログラミングを始めてから今日に至るまで、 様々なタイプのプログラマーと開発を共にしてきたが、 驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、 一つ共通の特徴があるように思える。 それは、「はまる」時間が極端に短い、ということである。 風のプログラマー」を指向しており、開発速度を重要視している。 例えば平成14年未踏ソフトウェア創造事業「PICSY」では、 発表直前に知人でプロジェクトリーダーの鈴木健にレスキュー隊として呼ばれて 2,3日でGUI全般と、クライアント/サーバー通信部分の設計と実装を終わらせたのだが、 このときなどは、大体の要件を口頭で聞いた後は、 ほぼまったく手が止まらずコードを書き続ける感じで開発をしていた。 「はまる」時間の長さは開発速度に直結するわけだが、 プログラマーが「はまる」場合にはある程度の傾向があると思うので、 今日は「はまる」プログラマ

    プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ
    tl_bkmk
    tl_bkmk 2009/08/08
    良いプログラマーは「はまる」時間が極端に短い
  • ウノウラボ Unoh Labs: Luaを設定ファイルとして使う

    テイルズオブヴェスペリアがPS3に移植されると聞いて、今年の夏にPS3を買うことを固く決意したbokkoです。部屋に置き場所がないとか、社会人になってから積みゲーがどんどん増えているとか、随分前にXBOX360版の総プレイ時間が三桁になっていることはこの際気にしないことにします。あと、機会があればCellとdtlを使って編集距離の計算をやってみたいです(多分あんまり速くない)。 Luaは軽量で高速なインタプリタ言語です。コアは非常に小さいのですが、テーブルというデータ構造や関数がファーストオブジェクトであることを利用して、来は機能としてないオブジェクト指向言語のような書き方をしたり、独自に拡張したりと、なかなかパワフルな言語です。実際の使われ方としてはアプリケーションに組み込んで使うことが多く、組み込み言語などと呼ばれることもあるようです。今回は、LuaのプログラムをC、C++で書かれた

    tl_bkmk
    tl_bkmk 2009/08/07
    Luaは軽量で高速なインタプリタ言語。C++からLuaのファイルを読み込んで、Luaの変数や関数をC、C++から使う例
  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

    tl_bkmk
    tl_bkmk 2009/08/06
    AndroidやOpenSocialなどの講演動画と資料