タグ

Programmingに関するtztのブックマーク (522)

  • 【翻訳】How to be a program manager - Joel on Software - GoTheDistance

    たまたま見かけたのですが、とても示唆に富む記事だったので頑張って和訳してみました。延べ2週間近くかかった・・・。 ITを武器にする企業は、ベンダーやユーザーに関わらず「program manager」と呼べる人たちが必要だと思っています。37Signalsの「Getting Real」に近しいことをJoel自身も語ってくれていますし、今後僕らがどのようなキャリアを積んでいけばいいのか、技術力を梃子にしていく組織を作るのにはどうしたらいいのか、そういうヒントが込められています。 Joelの英語は、同じような意味の言葉を複数の言葉を使い分けて言っていたり、ぐるっと回り込んでから要点を記述することが多いので、正確な意味を伝え切れていないかもしれませんが、大きく意味が外れないように留意したつもりです。 原文はHow to be a program manager - Joel on Softwar

    【翻訳】How to be a program manager - Joel on Software - GoTheDistance
  • 詳細設計書に何を書くべきか? - Sacrificed & Exploited

    詳細設計書の書き方については黙っていられないので、ちょっと意見を言わせてもらう。 私も「詳しすぎる詳細設計書 - SiroKuro Page」で示されているようなコードと1対1に対応したような詳細設計書は、書くだけ無駄だと思っている。ただ、ちゃんとした詳細設計書をつくるなら、処理内容(内部の処理の実装方法)の書き方をどのように実装言語に合せるかではなく、処理内容を一切書かないようにするべきだと考えている。 なぜなら、処理内容をいくら詳細に記述したところで、それは仕様ではなくコードであり、仕様の代わりに記述したコードでは、バグも含めて記述されているため、そのコードのみでは正しいか間違っているかを判定できないからだ。 コードの他にどういった動作が正しいのかを判定する基準が必要で、その基準が仕様であり、詳細設計書にはその仕様を記述する必要があると考えている。 現に、例として示された処理概要では、

    詳細設計書に何を書くべきか? - Sacrificed & Exploited
  • ログ管理 〜syslogとその周辺〜 【応用編】syslog について・・・データ形式

    Mmm dd hh:mm:ss -------------------------------------------------------------------------- Mmm -- Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec dd -- 日付 (1桁のときは2桁に合わせてスペースを入れる) hh:mm:ss -- 24時間制ローカル時間 例えば 12月6日 12:34:56 JST の場合では、次のようになります。 Dec 6 12:34:56 "6" は1桁なので、"Dec" と "6" との間には2つのスペースが必要です。 続いて HOSTNAME は、ホスト名もしくは IP アドレスを記述します。 ホスト名にはドメイン名は含めません。 もし TIMESTAMP や HOSTNAME が存在しな

  • RFC 3164: The BSD syslog Protocol (日本語)

    Network Working Group / Request for Comments: 3164 / 状態: 広報(Informational) C. Lonvick (Cisco Systems) 2001年8月 BSD syslogプロトコル この文書の状態 この文書の目的は、インターネット・コミュニティーに対して有用な情報を提供することである。インターネット標準を定めることを目的とするものではない。この文書は自由に配付して構わない。 著作権表示 Copyright (C) The Internet Society (2001). All Rights Reserved. 概要 この文書は、syslogプロトコルの実際の動作を調べ、記述したものである。syslogプロトコルは、ネットワークを介して何らかのイヴェントを通知するためのしくみとして、長年にわたって使われてきた。もともとは

  • もっとも危ないプログラミングエラー25、+16 | エンタープライズ | マイコミジャーナル

    CWE is a Software Assurance strategic initiative sponsored by the National Cyber Security Division of the U.S. Department of Homeland Security. CWE - 2010 CWE/SANS Top 25 Most Dangerous Programming Errorsにおいて脆弱性の原因となる危険なプログラミングエラー25が発表された。開発者にセキュリティ問題の原因となるプログラミングに関する注意を促し、実際にソフトウェアが動作する前の段階で問題を発見し対処できるようにすることを目指したもの。2009年に発表されたリストの更新版にあたり、内容の多くが更新されている。2009年版を使っていた場合には、今回発表された2010年版を再度検討する価値がある。

  • システム管理の基礎 syslogdの設定をマスターしよう

    syslogdによって記録されるログは、システムの運用・管理のための重要な手掛かりとなる。しかし、各環境固有の事情に合っていなければ、ログを取得する意味はない。syslogdやlogrotateの設定方法をマスターし、必要な情報を選別できるようにしよう。(編集局) 管理者にとって、サーバの正常性の確認とトラブルシューティングは、設定変更と同じかそれ以上に重要な作業です。それらの作業を行う際に役立つのが、各アプリケーションやOSが出力するログです。 一般的に、常にログを監視するという業務はあり得ないでしょう。何も起こらなければ退屈以外の何物でもなく、ログを監視していても異常かどうかは即座に判断できないことが多いかと思います。ログを確認するタイミングとしては、システムに何かが起こった場合あるいはこれから何か起こる可能性がある場合が考えられます。それ以外はログを見ないという管理者もいるでしょう。

    システム管理の基礎 syslogdの設定をマスターしよう
  • rsyslogの導入(1/2) − @IT

    UNIX系OSのシステムロギングをおよそ20年の長きにわたって支えてきた「syslogd」にも、限界が見えつつあります。その限界を打ち破る機能を備えた新しいシスログデーモンを紹介します。(編集部) 前回までの2回にわたり「syslog-ng」のインストール方法と特徴を解説しました。syslog-ngはキャリアクラスの信頼性や豊富な機能を持ちますが、それと引き替えにsyslogdとの互換性を犠牲にしていました。一方、今回紹介する「rsyslog」は、syslog-ng同様、多くの機能と高い信頼性を実現しながら、syslogdの設定をそのまま使用することができます。 今回から2回にわたり、次世代syslogデーモンのもう1つの候補「rsyslog」を取り上げます。まず今回は、rsyslogのインストール方法を解説します。 rsyslogの特徴 「reliable(信頼できる)シスログデーモン」

    rsyslogの導入(1/2) − @IT
  • 連載記事「生産性向上への道 Eclipseで行うC/C 開発」 ― @IT MONOist

    今岡通博氏による、組み込み開発に新しく関わることになった読者に向けた組み込み用語解説の連載コラム。第16回は、微分積分の質に迫るシリーズの一環として「ベクタースキャンディスプレイ」について解説する。

  • 真面目にエロサイトを作ってみた【プログラマ編】 - BLOG|ASTRODEO

    東京都台東区で黙々とウェブでサービスを開発している株式会社アストロデオのホームページです。

  • 実践的なパターン: テストの容易性を高める設計

    Code download available at:DependencyInjection2008_03.exe(5408 KB) Contents The Inner Dependency Problem Dependency Inversion Dependency Injection Containers Full-Fledged IoC Containers Lifetime Management Auto-Wiring Dependencies Loosen Up for a Change Few would disagree that striving for a loosely coupled design is a bad thing. Unfortunately, the software we typically design is much more tightly

    実践的なパターン: テストの容易性を高める設計
  • C言語・C++言語用テスティングフレームワーク - Cutter

    最新リリース 2019-09-13にリリースされた1.2.7が最新です。 [ダウンロード] [変更点] Cutterとは Cutterは書きやすさ・デバッグのしやすさを重視したC言語・C++言語用のテスティングフレームワークです。メンテナンスしやすく、利用効果の高い単体テスト(ユニットテスト)の開発を支援します。 また、テストを苦痛ではなく、楽しいものにすることも重視しています。スクリーンショットはテスト結果の通知機能を利用している様子です。文字としてテストのパス・失敗を伝えるだけではなく、視覚的にも通知することで、テスト結果をわかりやすくします。わかりやすいので、頻繁にテストを実行したくなります。この機能はnotify-sendコマンド(Linuxや*BSDなどの場合)またはgrowlnotifyコマンド(macOSの場合)を利用します。 動作環境 CutterはDebian GNU/L

  • 2010-02-14 - 未来のいつか/hyoshiokの日記

    例えば、次の言葉の意味を知りたい、聞いたことがあるけどよく分かっていないプログラマにとって、お勧めの書籍だ。Unicode/UTF-8/UTF-16/USC-2/JIS X0208/JIS X0212/JIS X0213/SJIS/EUC-JP/CP932/ISO-2022-JP/ASCII/Latin-1/ISO 10646/ISO 8859-1/サロゲートペア/文字化け/機種依存文字/半角カナ/絵文字… JIS X0208やJIS X0213の解説などは圧巻である。書籍にはWebにない利点がある。Webには即時性があるが、文字コードの解説においては、即時性はそれほど求められない。字体ないし字形の差異についてWebではその字体ないし字形がなければ表現しようがないが、書籍であれば細部までこだわって表現できる。 例えば、包摂された「辻」という字の一点しんにょうと二点しんにょうの字体の差はWe

    2010-02-14 - 未来のいつか/hyoshiokの日記
  • ハードウェアを意識したプログラミングの基礎(後編)

    前編では,デバイス・ドライバを理解するために必要なエンディアンやI/Oアクセス,ハードウェアとソフトウェアの境界について説明した.後編では,アクセス時のアラインメントについて説明した後,実際のコードを示しながらLinuxデバイス・ドライバの例を紹介する.  (編集部) 1.アクセスは境界に沿って エンディアン,I/Oアクセス,ハードウェアの次に問題になるのが,アクセス時のアラインメントです.CPUによってはアラインメントが合っていないアクセスが起こるとエラーになったり,意図しないデータが読めたりします.最後に紹介していますが,実は,知らないと一番見つけづらいところかもしれません. まず,「アラインメントが合っていないアクセス」が,どういうものかを定義しましょう. ここでは,「アクセスしようとしているアドレス値をアクセス幅で割ったときに,余りが出るようなアクセス」を「アラインメントが合ってい

    tzt
    tzt 2010/02/13
    アライメントに合わせてアクセスしなきゃいけないCPUでも__attribute__((__packed__))つけるとgccが良しなにコードを生成してくれる。遅いだろうけど。
  • 分散バージョン管理入門 (イラスト入り) - tcha.org

    Kalid Azad、 2007 年 10 月 15 日、 原文 (original post) 従来のバージョン管理は、ファイルをバックアップ・追跡・同期するのに役立った。 分散バージョン管理を使うと、変更内容を共有するのが楽になる。 さぁ、両方の長所を活かすんだ。簡単なマージと一括管理されたリリースを。 分散だって? これまでのバージョン管理で何がまずいの? 別に…。 さっ、気を取り戻したければ、 バージョン管理へのビジュアルガイド(英語) を読んで。 もちろん、「古くさい」システムを使っているとバカにする人もいるだろう。 けれど、私はそれで全然かまわないと思う。 どんなバージョン管理システム(VCS)を使うにしても、プロジェクトにとっては前向きな一歩なんだから。 集中型バージョン管理システムは 1970 年頃に現れた。 その頃プログラマーには、シンクライアントと “big iron”

  • Agile失敗パターン三部作 - masayang's diary

    Allan Kelly氏の「Agile失敗三部作」を適当に日語訳してみた。 Agileで失敗する時 続・Agileでうまくいかないとき まだあった・Agileでうまくいかないとき 読めばわかってもらえると思うけど、「Agileだからうまくいかない」というわけではない。 未知の技術を採用したり、未知の領域のアプリを開発したりするような場合には、プロジェクトはそれなりの(把握できない)リスクを抱える事になる。だとしても、プロジェクト終盤で問題が発覚することが多いウォーターフォール型開発よりは、比較的早い段階で問題を把握できるAgileの方が有利ではある。ただしそれも、「問題が起きている」ということを把握できる実力がAgileチームにあれば、の話である。 二番目と三番目は、それぞれAgile計画管理、そしてAgile開発手法に特化した話だが、ぎゅっと圧縮すれば「経験がなければ問題が起きている事

    Agile失敗パターン三部作 - masayang's diary
  • ロートルの嘆き、アジャイル開発って何 - 未来のいつか/hyoshiokの日記

    20数年前に大学を卒業しプログラマになって、この変化のとっても早い業界でまだ禄を得ている。最近でこそコードを書くことはないが(今でも職業としてコードを書きたいと強く思っている)、それでも、ソフトウェア開発について20数年前に得た知識、経験、スキルが役に立っているように思える。 日進月歩で日々新しいバズワードが登場し、若い人たちはそれをフォローするのにひーひー言っている。クラウドだアジャイル開発だなんだかんだ。 プログラマの一日は、会社に来て、テストを書いて、テストをして、不具合があればコードを修正し、またテストをして、問題がなければコード管理システムにチェックインする。その作業を淡々と日々こなす。この日常の流れというのは、使う道具立てこそ変わったとしても、基的に変化がないように思える。コードを書くのは20数年前も今もプログラマだし、テストを書くのもそうだし、テストを自動化することは20数

    ロートルの嘆き、アジャイル開発って何 - 未来のいつか/hyoshiokの日記
  • link集/ライブラリ系 - NomisoBraaan Wiki

    主にオープンソースな開発ライブラリやコントロールに関するリンク集 OpenGL link集/DICOM link集/DirectX link集/GIS系 link集/SOAP link集/開発言語系 link集/開発補助ツール系 捜し物するなら、下記ページも利用可能。 link集/OpenSource関連#Info 各種ライセンスについては、下記ページも参照方。 link集/その他#license Microsoft .NET Framework向け † C#, VisualBasic, ManagedC++, C++/CLI, J#, ASP.NET .NET Framework って略して「dNFw」と表記されている事もあるらしい。 Microsoft .NET Framework Mono, DotGNU等は別ページを参照方。 RealmForge GDK <LGPL> The Re

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    tzt
    tzt 2010/02/11
    「静的ローカル変数の初期化は、関数が呼び出されてから行われるのではなく、プログラムの実行開始時点で行われます。」
  • 静的変数の初期化 - (void*)Pないと

    http://www.geocities.jp/ky_webid/cpp/language/019.html 静的ローカル変数の初期化についてですが、C言語とは仕様が異なることに注意して下さい。C言語では、静的ローカル変数は、プログラムの実行開始時点で初期化されますが、C++では、通常のローカル変数と同様に、変数定義が記述されているところで初期化されます。そのため次のソースは、C言語ではエラーですが、C++では問題ありません。 void func(int num) { static int snum = num; // C++ではOK。C言語ではエラー } 引数に渡した値によってstaticの値を決定できるということは何か面白そうなものが作れそうな気がしないこともないですね。 いずれにせよC言語とC++との違いとして押さえておきたいです。

    静的変数の初期化 - (void*)Pないと
  • Static (C++)

    The static keyword can be used to declare variables, functions, class data members and class functions. By default, an object or variable that is defined outside all blocks has static duration and external linkage. Static duration means that the object or variable is allocated when the program starts and is deallocated when the program ends. External linkage means that the name of the variable is

    Static (C++)
    tzt
    tzt 2010/02/11
    「Assigning a value to a static local variable in a multithreaded application is not thread safe and we do not recommend it as a programming practice.」CとC++では初期化のタイミングが違う。