タグ

2014年6月10日のブックマーク (57件)

  • チケット駆動開発を上手に運用するためのポイント - プログラマの思索

    倉貫さんがチケット駆動開発を上手に運用するためのポイントを公開されていたのでメモ。 実際の経験に裏打ちされているだけあって、とても参考になる。 【元ネタ】 チケット駆動開発で Pivotal Tracker を上手に使うための4つのポイント - Social Change! 高速で無駄のないソフトウェア開発を実現するための7つのポイント - Social Change! 【1】役割分担 (引用開始) Pivotal Trackerを使う役割はざっくり分けると2つです。一つは、開発のためのチケットを登録して、開発されたチケットを「Accept」して終わらせる役割と、もう一つは登録されたチケットを開発していく役割です。前者をプロダクトオーナー、後者をプログラマと呼んでいます。 (引用終了) 倉貫さんの指摘では、顧客がプロダクトーナーの役割を持つので、経営戦略から仕様を決定できるストラテジスト、

    チケット駆動開発を上手に運用するためのポイント - プログラマの思索
  • モノーキ〜デバッグパターン

    デザインパターンを勉強していて、ふとデバッグにもパターンがあるよな。 と思って作ってみました。 これって、どこかに協力を仰ぎたいけど、誰に頼むんだ? (結果的に協力してもらいました。thanks XPMLの皆さん、lemonさん) 何かおもいついた方はこちらへメールか、掲示板へ プログラマ用セキュリティホールパターンってのが欲しいな 例えばSQL injectionとかいうセキュリティホール。 こんなの知らないと絶対やってしまう。 OSとかの設定ではなく、プログラマの設計において注意するセキュリティホールのパターンが欲しい。 集計などはやってもいいので、どこかで有志を募って集めてくれませんかね? ○デバッグパターンについて ・デバッグパターンとはプログラマから観測できる現象とそれに対する原因と対策をパターンとして登録したものです。中にはアンチパターンという、やってはいけないパターンも存在し

  • setitimer システムコールを使って簡単なプロファイラを作る - bkブログ

    setitimer システムコールを使って簡単なプロファイラを作る setitimer システムコールを使うと一定時間間隔でシグナルを発生させることができます。頻繁にシグナルを発生させて、「シグナルが呼ばれたときにどこにいたか」を記録していけばサンプリング方式のプロファイラを作ることができます。 以下のコードは x86 の Linux を対象とした簡単なプロファイラです。prof_start() では setitimer() を使ってプロファイルをとるための下準備をしています。シグナルハンドラ prof_handler() ではシグナルが呼ばれた時点のコンテキストの情報からプログラムカウンタを取り出し、fwrite() でファイルに書きこんでいます。 LD_PRELOAD するだけで使えるよう、 prof_start() と prof_end() にそれぞれ constructor と d

  • Linux の共有ライブラリの挙動について - daily dayflower

    前フリが長くなったので基礎的な部分は独立した article にしました。でも基礎的な内容だけに間違いが多そうです。ご指摘お願いします。 下記に「Hack#??」と書いてあるものはすべて Binary Hacks の Hack です。書籍をお持ちの方はそちらをご参照ください。 基礎 まず用語定義を引用しておきます。 シンボル(symbol) 一般的には記号を意味するが,Binary Hacks の文脈では,リンカが関数や変数を識別するときに用いる名前のことを指す。 Binary Hacks - Hack#6 (強調部は dayflower による) さて,共有ライブラリを利用する際の挙動について「Hack#6 静的ライブラリと共有ライブラリ」から抜粋します。 ここでのポイントは,共有ライブラリ単位で処理が行われるということと,リンクする時には必要としている共有ライブラリの SONAME だ

    Linux の共有ライブラリの挙動について - daily dayflower
  • SystemTapでMySQLのDisk I/Oを分析する - SH2の日記

    実験エントリです。 動機 OracleのStatspack/AWRで取れるファイル単位のDisk I/O情報を、MySQLでも採取したい。これは次に示すようなデータです。 File IO Stats DB/Inst: ORA112/ORA112 Snaps: 6-7 ->Mx Rd Bkt: Max bucket time for single block read ->ordered by Tablespace, File Tablespace Filename ------------------------ ---------------------------------------------------- Av Mx Av Av Rd Rd Av Av Buffer BufWt Reads Reads/s (ms) Bkt Blks/Rd Writes Writes/s Wai

    SystemTapでMySQLのDisk I/Oを分析する - SH2の日記
  • 99syslog - syslog() 及び syslogd の考察

    99syslog - syslog() 及び syslogd の考察(最終更新:2003/5/30) syslogd は、標準ではログメッセージを記録する度に fsync() します。 syslogd の能力低下は、システム全体の能力低下に繋がります。 syslogd の能力低下を防ぐには ログメッセージの「取りこぼし」について ログ時間がズレている? そもそも「ログメッセージに書かれている時間」は、いつの時間だ? syslogd は、ログサーバにログメッセージを送る際、相手に時間を送りません。 syslogd の考察 ここでは、私が、Linux システムで使われている syslogd(sysklogd-1.4.1) の ソースを解析して分かった事について述べます。 syslogd は、標準ではログメッセージを記録する度に fsync() します。 syslogd は、syslog() を

  • sandpile.org (各種CPU詳細スペック表)

    The world's leading source for technical x86 processor information.

  • あめぞうの歴史

    01/02 あめぞう(仮) サポート氏、amezo.cgiのスクリプト公開方法の変更と著作権表示を追加。 01/03 あめぞう(仮) 「あめぞう」から「あめぞう_」と改称。通称「ビストロ」(名付け親はinfohands氏)。 01/07 スミ掲示板 スミ掲示板の始動開始。管理人は屋のスミス氏。 01/08 あめぞう2000 あめ2k@シャア専用にて、シャア専用ムービー、生まれる。DLはこちらから。 Donut Shoppe 杏堂夏氏のDonut Shoppe始動開始。 01/10 あめぞう(仮) @メインにて「あめぞうと2ch和解案」が議論される。 01/12 あめぞう(仮) サポート氏の正体は葛城ミサト氏? 01/14 あめぞう(仮) 乱道夢幻氏、じゃこびに=ネロと暴露す。 01/16 あめぞう(仮) @サポート削除依頼にて「乱道夢幻『道義』事件」勃発。以後三日三晩議論。 01/1

  • 「言及しあう文化」を終わらせたいのですか。 - CONCORDE

    パソコン通信から連綿と続いてきた「お互いが相手の発言を引用しながら発言する」という文化を、亡きものにしようというのですか。 それがニーズだ、サービスの個性だ、といえばそれまでですが、残念に思うところであります。 なぜ今、ブログなのか - jkondo's blog ちょっとその前に: 日のブログブームが格的に始まったのは、はてなダイアリーをリリースした2003年から。まさにはてなダイアリーが日のブログブームのきっかけでした。 えっ! 面倒なんで過去ログ掘り返しませんが、そこから数年が経った後でも、京都駅で「『はてな』って知っていますか?」とアンケートしまくって、誰も知らなかったとしょげていたのは他ならぬ社長さん、あなたじゃなかったのですか? 日のブログブームは、わがココログを皮切りに、大手プロバイダ各社が軒並みサービスを開始したから、でしょう。 さて。 はてなブログにはトラックバッ

    「言及しあう文化」を終わらせたいのですか。 - CONCORDE
  • ゲームボーイはまだ終わってない!

    ゲームボーイはまだ終わってない! 最終更新履歴 2011年12月5日 「ゲームリンク集」更新 初めにお読みください サイトマップ ゲームボーイについて ゲームボーイとは ゲームボーイの歴史 通信ケーブル ゲームボーイソフトの作成 GBDK基礎知識 ゲームボーイ基礎知識 開発環境の構築 開発環境のダウンロード 開発環境のインストール 開発環境の構築 プログラミング基礎 HelloWorld作成 図形描画 キー操作 アルファベット表示 乱数 GBTDでタイルパターン作成 タイルパターン作成 スプライト表示 GBMBでゲーム背景作成 背景用タイルパターン作成 背景作成 背景表示 ゲーム公開 JavaBoyとは JavaBoyダウンロード ゲームの公開方法 JavaBoyの注意点 その他 当サイトについて ゲーム日記 リンク Javaから楽しく学ぶ!ゲームプログラミング専門学校 Copyright

  • WLA DX - Yet Another GB-Z80/Z80/Z80N/6502/65C02/65CE02/65816/68000/6800/6801/6809/8008/8080/HuC6280/SPC-700/SuperFX Multi Platform Cross Assembler Package

    WLA DX - Yet Another GB-Z80/Z80/Z80N/6502/65C02/65CE02/65816/68000/6800/6801/6809/8008/8080/HUC6280/SPC-700/SuperFX Multi Platform Cross Assembler Package Originally written by Ville Helin in 1998-2008 Features: Fast SNES support SMS/GG support Gameboy support Megadrive support PC-Engine support Support for object and library files You can patch ROM images with code Multilevel macros (actually, fu

  • SPCTOOLマニュアル日本語版

  • 太一のコードの読み方メモ

    太一のコードの読み方メモ 全体として太一が感覚的に実践している事を論理的に説明しようと試みている為、 説明の粒度が適切でなかったり一貫性が無いように見える部分があるかもしれない。 普段やっているけども書ききれていない事も多分きっとある。 コードを読むとは何か コードを嗜む コードを学ぶ 武器を手に入れる これは武器を手に入れるコードリーディングの話 武器とは何か プロジェクトで戦う為の道具となる知識 プロジェクト内における技能を示す為の道具となる知識 プロジェクトのやり方を自ら決められる様になる為の道具となる知識 権限と責任がバランスよく割当てられた時モチベーションは最大化する 何と戦うのか プロジェクトリスク プロジェクトをより良い状態にする為の基礎的な根拠となるのがコードである コードが全てではないが適切に動作するコードが無ければプロジェクトは終わらない これはつまり理想を体現する為の

    太一のコードの読み方メモ
  • コメントから読む Linux カーネル

  • ctagsを使ってVimでCode Readingを加速する | Webシステム開発/教育ソリューションのタイムインターメディア

    コードを書いて何か具体的なものを作ることが、僕たちプログラマの仕事でありアイデンティティですが、 ただ、一日中コードを書き続けているわけではありません。 優れたコードを書くスキルを習得するためには、いろんな人たちが書いたコードを大量に読むことが欠かせません。 この、コードを読む(Code Reading)ことはなかなか奥が深く、読みこなすには骨が折れるものです。 なぜならその背景をコードから読み解く知識(データ構造、アルゴリズムやアーキテクチャ)や経験が要求されるからです。 しかし、Code Readingは何よりも楽しいものです。読み進めていると斬新なアイデアや綺麗に表現しているコードに出会ったときは興奮してしまいます。 では、コードはどうやって読むのでしょうか? 印刷して紙で読む? Webブラウザでsyntax highlightされたコードを読む? いいえ。エディタです。 使い慣れた

    ctagsを使ってVimでCode Readingを加速する | Webシステム開発/教育ソリューションのタイムインターメディア
  • メッセージ。 - [技術] プログラミング言語にこだわるべきか

    Lispはなんとなくすごそうというイメージがあるけど、実際にはそれほどでもないwhere programming language matters @ val it: α → α = funIsland Life - 言語にこだわる場面 このへんの話。ぼくはヘッポコプログラマなので、上記の方々とは事情が違うが、いちヘッポコからすれば「プログラミング言語にこだわるべきか」という観点をどう感じるかというと: どちらかというと、ぼくは向井さんの考えに共感する。言語よりも「なにを作るかが大事」という考えかた。howではなくwhat重視ね。むかし高林哲さんがC#かなにかでプログラムを組まれていることがあって、「すごいですね。いろんな言語でものづくりをされていて」と言ったことがあった。そのときも高林さんは「howではなくwhatじゃない?」とさらっと答えられていて感心した。なるほどこれも高林プロダクト

  • ひらめきへの4ステップ

    Amir Khella / 青木靖 訳 2010年2月17日 2004年の夏、私は最初の起業体験を変わった場所ですることになった。夏休みをMicrosoft Researchで過ごさないかという招待を受け取ったのは、私がまだ博士課程の学生の時だった。私が関心を持つ領域で研究している最高の研究者の何人かがそこにいたので、彼らがどんなことをしているのか是非見たくもあり、彼らの仕事に関わりたいとも思った。それで私は青い方の錠剤を選ぶことにした。 初日のオリエンテーションの後、自分がやることになるプロジェクトが何なのか教えてもらおうと、メンター役の人の部屋に行った。机の前に私が座ると、彼は研究論文やノートの山の間から私のことを覗き込んで、大きな笑みを浮かべながら言った。「やあ、来たね。僕らと12週間一緒にやることになるから、なんか面白くて役に立つことをするいいよ!」 彼のことを見つめながら、具体的

  • とある契約の備忘目録。契約による設計(Design by Contract)で信頼性の高いソフトウェアを構築しよう。 - Bug Catharsis

    「より堅牢で正確性の高いソフトウェアを作りたいぜ!」と願う.NETデベロッパーお待ちかねの、 契約による設計(DbC)をサポートするCode Contractsが.NET Framework4より利用できるようになります。 C#をベースとして契約による設計をサポートする「Spec#」を利用するという方法もありますが、 学習負担を軽減するためにと、マイクロソフトは言語を意識しなくても開発者が利用できるように、 Code Contractsとして.NET Frameworkで契約をサポートしてくれました。 これは、オブジェクト指向および、オブジェクト指向プログラミングが大好きな.NET開発者にとって、とても良い知らせです。 わたしも待ち望んでいたうちのひとりです。ありがとうマイクロソフト!!という気持ちでいっぱいです。 VisualStudio2010が4月12日(米国)にローンチされることが

    とある契約の備忘目録。契約による設計(Design by Contract)で信頼性の高いソフトウェアを構築しよう。 - Bug Catharsis
  • コードのクリーンアップ - 技術的負債の返済に役立つ 9 つの戦術

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 技術的負債の返済に役立つ 9 つの戦術 David Laribee MSDN Magazine の 2009 年 12 月号では、技術的負債に取り組むために、問題を特定して主張を展開するためのアドバイスを書きました。簡単に言えば、近い将来に問題になりそうな負債を特定することが重要だと信じています。コードベースのほとんど触れられない部分で、価値ある技術を確立しても、明日の生産性向上の実現には役立ちません。 また、負債返済の重要性について経営陣からお墨付きを得ることの重要性を理解し、同じ理由から手堅い主張を展開するための基ツールを用意してください。 では、利息の高い技術的負債を返済するうえで役立つ可能性がある戦

    コードのクリーンアップ - 技術的負債の返済に役立つ 9 つの戦術
  • 依存関係逆転の原則(DIP) - Strategic Choice

    依存関係逆転の原則(DIP:the Dependency Inversion Principle)上位のモジュールは下位のモジュールに依存してはならない。どちらのモジュールも「抽象」に依存すべきである。「抽象」は実装の詳細に依存してはならない。実装の詳細が「抽象」に依存すべきである。どういうこと?手続き型は「方針」が実装の「詳細」に依存する構造になってしまう。 方針が詳細の変更に影響されてしまう好ましくない構造。 OOプログラミングでは「方針」「詳細」とも抽象に依存させることで、悪しき依存関係を逆転できる。 なんで?アプリケーションの方針を決めていて、他に対して影響を与えるモジュール(=言うなれば「偉い」ヒト)は上位。 上位が下位に依存してしまうと、上位が、下位の影響を受けてしまう。手続き型でよく見られた悪い依存関係。 筋的にはアプリケーションの存在理由である上位が下位に対して影響力を持つ

  • 的確な命名はコストダウンにつながる - 今日の役に立たない一言 - Today’s Trifle! -

    なんか結論をタイトルに書いただけですべて言い尽くしてしまった感があるんだけど、一応書く。 設計の質が向上する 設計時点でクラスの責務とかメソッドの処理内容などを検討するとか、レビューなんかでも議論されるんだろう。そのときに同時に、クラスやメソッドの命名が的確になされているかをチェックすべきだ。 クラス名が的確ならばクラス名を見ただけで、そのクラスの責務が推測できる。これはとても重要なことで、例えば何かの機能追加をしようとしたときに、そのクラスに実装を追加すべきなのか、それとも別のクラスに追加すべきなのか(または新たなクラスを作成すべきなのか)、判断の拠り所にもなりうる。 メソッド名が的確ならば、メソッド名が意味している以上の処理を書こうとすると不自然になるので、自然とatomicなメソッドになりやすい。もちろん、気付かなかったらatomicにならないんだけど、ぼんやりしたメソッド名だった場

    的確な命名はコストダウンにつながる - 今日の役に立たない一言 - Today’s Trifle! -
  • C++ における const の重要性と活用 - ニートの世紀

  • リバーシプログラムの作り方 サンプル

    序章 はじめに リバーシのルール ソースコードの記述について 第1章 盤面の処理 1.1 定数と関数の定義 1.2 盤面の生成、初期化 1.3 石を返す処理 1.4 返せる石数を調べる処理 1.5 盤面をコピー、反転させる処理 1.6 その他の盤面処理 1.7 盤面の操作と表示 第2章 ゲーム木と探索 2.1 コンピュータ思考の関数定義 2.2 各関数の実装 2.3 ゲーム木 2.4 MinMax法とNegaMax法 2.5 αβ法 第3章 盤面の評価 3.1 評価関数の定義 3.2 パターンによる局面評価 3.3 評価クラスの構造 3.4 評価クラスの生成とファイルの読み書き 3.5 評価関数の実装 3.6 評価パラメータの更新 3.7 中盤の探索 3.8 自己対局による学習 第4章 性能改善 4.1 石数取得の高速化 4.2 着手の高速化 4.3 候補手リストの導入 4.4 終盤探索の

  • 技術者のレベルとソフトウェア開発の難易度(2): 柴田 芳樹 (Yoshiki Shibata)

    ソフトウェア開発を続けていけば、自然とレベルが上がるということはありません。中級職人と上級職人の間には、大きな溝があります。上級職人になれるかどうかは、「新たな技術も含めて自分で常に学習を行い、自然と実践できている」ということです。これは、急にできるものではなく、初心者の頃から行っていくものです。それを行わずに、知っている知識だけで開発業務をこなすと、中級職人で終わってしまいます。中級職人に関しては、次のように拙著の中で解説しています。 このレベルは、多くのソフトウェアエンジニアが到達して、ここで停止してしまうレベルです。 つまり、五年以上のソフトウェア開発を経験して、30代になり、すでに過去の開発業務で使用している技術であれば、問題なく使用してソフトウェア開発を遂行できるレベルです。 このレベルで停滞すると、キャリアパスとしては危ない状態になってしまいます。とりあえず業務は遂行できるため

    技術者のレベルとソフトウェア開発の難易度(2): 柴田 芳樹 (Yoshiki Shibata)
  • イメージファイルをmountしてごにょごにょする手順 - mir the developer

    たまにしかやらないため何度やっても忘れてしまうので書いておきます。 イメージファイルはループバックディバイスを使ってmountできる。 losetupで"-f"オプションをつけて空いているループバックディバイスを探す。ここでは/dev/loop0が空いていると仮定。 losetup -a losetup -f losetup /dev/loop0 /path/to/file.img空きが無い場合はmodprobeコマンドで増やせる。 modprobe loop max_loop=32kpartxで"-a"オプションをつけてパーティションを識別。/dev/mapper配下にloop0p3みたいなのができる。 kpartx -a /dev/loop0後は好きなようにmount mount /dev/mapper/loop0p3 /mnt/fooやったね! [root@localhost foo

    イメージファイルをmountしてごにょごにょする手順 - mir the developer
  • パケットキャプチャの実装方法 - Plan9日記

    ネットワークアプリケーションの解析やデバッグなどにパケットキャプチャ(もしくはスニファ)は必須の機能で、UNIXであればtcpdump、snoop、wireshark*1、Plan 9であればsnoopyなどが存在する。パケットを横から盗み見するために、OSごとにいろんなアプローチを取っている。ある機能をどのように実装するかで、そのOSの設計哲学が透けて見えてくるかもしれない。ということで、今日はパケットキャプチャの実装方法について調べてみたい。 libpcap tcpdumpのパケットキャプチャ処理はlibpcapとして独立したライブラリになっていて、OS依存部分を隠蔽している。例えば、BSD系UNIXはBPF(Berkeley Packet Filter)、LinuxはPF_PACKETを利用してパケットキャプチャを実現している。より正確にはBPFはキャプチャとフィルタリングするのに対

    パケットキャプチャの実装方法 - Plan9日記
  • not found

  • 車輪の「再発明」と「再実装」を分けて考える - ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

    ソフトウェア開発で既存ライブラリや先行事例があるにもかかわらず、様々な理由でそれを利用せず、コードやプログラミング技法を再び一から作ってしまうことを「車輪の再発明」と呼び、無駄なコストとして非難される場面が多い。 オブジェクト指向プログラミングのメリットを宣伝する時にも、OOPの機能を活用した再利用可能なライブラリによるプログラミングの省力化という観点から「車輪の再発明をする必要はない」という風に持ち出される事が多い。 自分は「車輪という"アーキテクチャ"の再発明はする必要が無いが、車輪という"物体それ自体"は自分で創る必要がある場合も多い」という意見で、gihyo.jpの記事に絡めたエントリを書いたことがある。:[雑記]いい加減「車輪の再発明」の暗喩を使うのはどうかと思うが。 - ぐらめぬ・ぜぷつぇんのはてダ 今回、さらにすっきりと綺麗にまとめられたエントリを発見したのでこちらでも取り上

    車輪の「再発明」と「再実装」を分けて考える - ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)
  • On programming language design - プログラミング言語を作る日記

    InfoQの以下の記事経由で、 Andrej Bauer氏の語るプログラミング言語の設計 こういう記事を見つけたので、 On programming language design | Mathematics and Computation 日語に(勝手に)訳してみました。 英語が得意なわけでもないので(ていうか苦手なほうなので)変なところ等ありましたらご指摘願います。 ――というかHaskellをちゃんと勉強したくなった。 In a recent post I claimed that Python’s lambda construct is broken. This attracted some angry responses by people who thought I was confused about how Python works. Luckily there were

    On programming language design - プログラミング言語を作る日記
  • ドメインロジックの実装方法とドメイン駆動設計

    4. 3 層アーキテクチャ エンタープライズアプリの典型的アーキテクチャ Web アプリ FW サービスレイヤー DI / IoC コンテナ データアクセス FW DAO プレゼンテーション層 ドメイン層 インテグレーション層 POJO アクション アクション アクション POJO POJO POJO DAO インテグレーション ゲートウェイ システム間統合 MW FW ・・・ フレームワーク   MW ・・・ ミドルウェア ルールエンジン ワークフローエンジン 5. ビジネスにとって最も重要な部分 Web アプリ FW サービスレイヤー DI / IoC コンテナ データアクセス FW DAO プレゼンテーション層 ドメイン層 インテグレーション層 POJO アクション アクション アクション POJO POJO POJO DAO インテグレーション ゲートウェイ システム間統合 MW

    ドメインロジックの実装方法とドメイン駆動設計
  • プログラミング - プログラミング所感

    似たようなことを何度も書いているが、もう一度。 大学の演習でプログラミング課題をやったとき、ある人のソースを私は普通に読めるのに、その人は私の書いたソースがわからないことがあって不思議に思ったことがある。私のソースは必要最低限のことしか書いていないため、行数自体は半分くらいになっており、私の方がわかりやすいはずである。その後、観察してみると、人のソースを読める人の方が少ないことに気づいた。プログラミングの作成能力に個人差があるのはよく知られているが、読解能力にも同じように個人差がある。 この差は、経験によるものもあるし、センスもあるだろう。相関はあるだろうが、プログラミングを始めてからの期間だけで測ることも難しい。 プログラミング言語は、英語や日語などの言語より覚えることは、はるかに少ない。しかし、文法だけ覚えても、目的を達することはできない。必要なのは、調査やロジックや設計力などの総合

    プログラミング - プログラミング所感
  • ソースコードを効率よく読むには(1) - プログラマyasuhoの隠れ家

    コードを読むことが得意な人は、多くのソースコードから目的のものを見つけ出すのが上手です。全てを理解しようとするのではなく、まずはざっと眺めて概略を把握し、プログラムの要所と思われる場所を読んでいくことで、プログラムを素早く理解することが出来ます。 ソースコードを読む力の重要性 プログラミング所感 - プログラミング プログラミング言語は、英語や日語などの言語より覚えることは、はるかに少ない。しかし、文法だけ覚えても、目的を達することはできない。必要なのは、調査やロジックや設計力などの総合的な能力である。問題解決能力向上のため、問題解決の手段としてもっとプログラミングを教えるべきではないだろうか。 世の中にプログラミングの学習をするための書籍は数多くあります。これらを読むことで、プログラムを作れるようになることは出来るでしょう。プログラミングで陥りやすいミスも、これら書籍に多くのことが書い

    ソースコードを効率よく読むには(1) - プログラマyasuhoの隠れ家
  • こんな仕様書は読む気がしない - rabbit2goのブログ

    ソフトウェア開発において、受け取っても読む気が失せる仕様書の例: 文字ばかりで図表が無い 機械、電気、建築など他のエンジニアリングでは図面でのやり取りが普通なのに、ソフトウェア開発ではなぜ文章に頼った意思疎通が多いのだろうか?確かに文章にしなければ表現できない内容も有るけれど、UMLのような図面を使う方が一目で分かりやすいし、「全てのケースでの考慮漏れがないか?」を知るためには表を使って条件を網羅的に整理するのが確実だろう。文章だらけの仕様書は「何か記載されていない項目があるのではないか?」という疑いを晴らすことが出来ないように思う。 背景説明が無い やたらと詳細な仕様が書かれているのに、「全体構成」や「概要」が記載されていないので、一体何についての資料なのか全体像がなかなか理解できない。書き手にとっては「アタリマエ」のことだろうけど、それを読み手に伝えるのが仕様書の役割だろう。仕様書は、

    こんな仕様書は読む気がしない - rabbit2goのブログ
  • いますぐ実践! Linuxシステム管理

    「いますぐ実践! Linux システム管理」はこちらです。 メルマガの解除、バックナンバーなども、以下からどうぞ。 https://www.usupi.org/sysad/ (まぐまぐ ID:149633) その他、作者に関するページは、概ね以下にございます。 https://www.usupi.org/kuri/ (まぐまぐ ID:126454) http://usupi.seesaa.net/ (栗日記ブログ) https://twitter.com/kuriking/ (twitter) https://facebook.com/kuriking3 (facebook) https://jp.pinterest.com/kuriking/pinterest) https://www.instagram.com/kuri_king_/ (instagram) [バックナンバーのトップへ

  • 結婚するならPHPer - キングダムぶろぐ

    いろいろ考えたんだけど、将来性を考えて、結婚するならPHPerかな、と。 将来性ももちろんだけど、自分が応援したいって言うお仕事をしてる人って素敵だし。 一緒に明るい家庭を築いていけると思うの。 Perlerって、CPAN?なんかよく分からないモジュールとかで登録して内輪で馴れ合ってる感じじゃん? それにワンライナーとかアホのやることとしか思えないし でもPHPerは違う。お年寄りからお子様までおはようからおやすみを見つめる 楽しいサービスをたくさん提供してる。 ダメ人間だって成長させてる。 脆弱性とかは、大丈夫、私がチェックするし。むしろチェックしたいから結婚したいじゃない? だいたいPerlとかってよくある老害だし、 あとほらBless(笑) なんですかあれ(笑) 老害のくせに中二病ですかwwwwwwwwww それにCはC++とかC#とかObjective-Cがあるのに Perlだけは

    結婚するならPHPer - キングダムぶろぐ
  • 「カネを稼ぐための仕事」に勤しむエンジニアは正しい。 - 消毒しましょ!

    私はいままで、面白いアイディアを持ったエンジニアたちに無数に会ってきた。彼らは自分たち自らウェブサービスを作ることもできた。だが、大きく成長しているものはほとんどない。なぜ成長しないのか。理由は簡単で、「カネを稼ぐための仕事」が忙しすぎて、個人的なプロジェクトに時間を割けないのである。その「カネを稼ぐための仕事」の中身を見ると、案外、誰でもできるような退屈な仕事であることも多い。 「『カネを稼ぐための仕事』が忙しすぎて、個人的なプロジェクトに時間を割けない」だあ!? ないないないないそれはないw 「なぜ成長しないのか。理由は簡単」だw 連中はblogを書いてみたりTwitterで呟いてみたりHaikuを嗜んだりニコ動を見たり、それらをブクマしたりブコメしたりするのに「忙しすぎて」、「個人的なプロジェクト」どころか来の「カネを稼ぐための仕事」にさえ「時間を割けない」のだw それは朝に空にし

    「カネを稼ぐための仕事」に勤しむエンジニアは正しい。 - 消毒しましょ!
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • C++で並列論理型言語コンパイラを書いてみる

    C++ で、並列論理型言語(GHC)コンパイラを書く 並列論理型言語コンパイラを作る理由 基ポリシー: いろいろ諦める GHC の基 実装関連 C++ を使う理由 論理変数を実装する ゴールのコンパイル ゴールキューと疑似マルチタスク 疑似マルチタスクから当のマルチタスクへ 最適化 ガベージコレクション Boehm GC を C++ で使うための調査 ガベージコレクションの実装 JavaScript で GHC [JavaScript] 8-queen [JavaScript] Canvas を使った描画 [JavaScript] Life with GHC [JavaScript], その 2[JavaScript], その 3[JavaScript] 組み込み述語の書き方 (メモ) KLIC との比較 GraphViz と GHC オブジェクト構造の可視化(案) GraphViz

  • データ圧縮について

    データ圧縮について by だうぴ 1.なぜデータを圧縮するのか。 データの圧縮を行う理由は、電話網などのネットワークでは使用時間に応じて課金されるので、送受信されるデータの量が少ないほど課金が少なくて済むためで、パソコン通信時代からオンラインでソフトウェア流通させるために必要なものとして発達してきました。 また、オンラインソフトウェアを流通させるためには複数のファイルを一つにまとめる機能がある方が便利なため、以上の2つの機能を持つソフトウェア(=アーカイバ)として有名なのが、「LHA」と「PKZIP」で、それぞれで圧縮したときのファイルの拡張子はlzh(何故lzhになるのかは後述します)、zipになることで知られています。 2.どのようにデータを圧縮しているのか。 (A)ランレングス符号化法 ファイルの圧縮、解凍の操作方法に関しては、lhasa特集などの初心者向けサイトにまかせるこ

  • C++ でロガーっぽい何か - ぐるぐる~

    わんくまで見た方法を使ってでっちあげてみた。 C++ のコードを書いたのは久しぶりな気がする・・・ オリジナルと違う部分は、純粋仮想関数で固めた log_adapter でどうのこうのするんじゃなくて、template 使ったところ。 どーせこの辺は静的に決まるだろうから、わざわざ動的なディスパッチは必要ないんじゃないかなぁ。 ただ、log_info の with_logger で log_info_with_logger 生成して返すとか、なんだか微妙。 実際にログ出力を行うクラス側に operator() を持たせるとかしてごにょごにょやればいいんだろうけど・・・ そうすると実際にログ出力を行う側の記述が面倒になっちゃうんだよなぁ・・・ 以下コード。 #include <iostream> #include <cstdarg> #include <cstdio> // グローバルを汚し

    C++ でロガーっぽい何か - ぐるぐる~
  • PHPをDisってるブログエントリを集めてみた - kなんとかの日記

    スクリプト言語の範疇に入らないかもしれない言語を使っているPHPerのみなさん、こんにちは。 PHP歴史は、Disられ罵られバカにされ続けた歴史です。 日は、その歴史を紐解いてみたいと思います(一部、PHP擁護派のエントリも含んでいます)。 なおここで紹介していない記事で、ほかに紹介してほしいものがあれば、教えてください。 あと引用は一部のみなので、元記事の全文を読むことを強くお勧めします。 2006年 PHPプログラマ in YAPC::Asia 2006 Tokyo - 0330 (twk @ ふらっと) では、PHPの世界に帰ります。Perlの人はRubyをうらやみHaskellにおどろきPHPを軽蔑すると言う文化になっているようです。 このころには、すでにPHPは軽蔑される存在だったようです。 昔、2ちゃんとかでよくあった、Perl = C++ , PHP = VBってな感じ?

    PHPをDisってるブログエントリを集めてみた - kなんとかの日記
  • ポリモーフィズムを使ったリファクタリングの実践例 - Sacrificed & Exploited

    ポリモーフィズムを使ってないひどいコード設計を見たので、どうリファクタリングするべきだったのかを書いておく。 やばい匂いのするコード そのシステムでは、複数の銀行とのやりとりを行うため、銀行コードに基づいて処理を分岐していた。そうこんな風に void 入金(銀行コード, ユーザID, 金額){ if(銀行コード==0001){ // A銀行用の処理 ... } else if(銀行コード==0002){ // B銀行用の処理 ... } else { // エラー } } void 出金(銀行コード, ユーザID, 金額) if(銀行コード==0001){ // A銀行用の処理 ... } else if(銀行コード==0002){ // B銀行用の処理 ... } else { // エラー } } ここでは2つしか出してないけど、実際はもっと数が多いと思って欲しい。30個くらいはあった

    ポリモーフィズムを使ったリファクタリングの実践例 - Sacrificed & Exploited
  • toukubo.com

    The domain has expired and may be available at auction. If this is your domain, you can still renew it. Register or transfer domains to Dynadot.com to save more and build your website for free! toukubo.com 2022 著作権. 不許複製 プライバシーポリシー

    toukubo.com
  • 68K v.s. x86

  • [PCAT]: PC/AT と PC/AT 互換機の歴史

    <Home> → <My Glossary Index> → <Development Room> → <PCAT> → <[PCAT]: PC/AT と PC/AT 互換機の歴史> PC/AT の特徴 PC/AT(IBM Personal Computer/Advanced Technology, モデル5170) は IBM 社が開発した PC です。 現在のパーソナルコンピュータ (Personal Computer, PC) の原型は、PC/AT が大のアーキテクチャとなって引き継がれています。PC の「種の起源」と言って問題ないでしょう。 PC/AT の特徴としては以下の通り。 オープン・アーキテクチャ 当時、IBM 社は多くのサードパーティを引き込むために PC/AT の回路図や BIOS のソースコードを公開していました。これらのリソースは、多くの開発者が内部の動作を知るこ

  • 四元数で3次元回転 (ソースコード付き)

    四元数で3次元回転 中田 亨, 2003年11月25日 ★こうすれば四元数で3次元の回転が計算できる 四元数(しげんすう, クォータニオン, quaternion)を使った回転の取り扱い手順を説明します。 (1)四元数の実部と虚部と書き方 四元数とは、4つの実数を組み合わせたものです。4つの要素のうち、ひとつは実部、残り3つは虚部です。たとえば、Qという四元数が、実部 t で虚部が x, y, z から成り立っているとき、下のように書きます。 また、V = (x, y, z)というベクトルを使って、 Q = (t; V) とも書くことがあります。 正統的に虚数単位i, j, kを利用した書き方だと、 Q = t + xi + yj + zk とも書きますが、こっちはあまり使いません。 (2)四元数同士の掛け算 虚数単位同士の掛け算は ii = -1, ij = -ji = k (この他の組

  • CPU関連の技術戦略(1)----- CPUアーキテクチャの歴史的継承性、および、CPUの互換性問題

    CPU関連の技術戦略(1)----- CPUアーキテクチャの歴史的継承性、および、CPUの互換性問題 佐野正博(明治大学経営学部) 8080や8085は8ビットCPUとしてよく売れたため、新しい16ビットCPU8086の開発に当たって、インテルの8ビットCPU用に書かれたソフトウエア資産の継承に配慮した。 たとえば8086は,8080/8085とオブジェクト・コードのレベルにおける互換性までは確保されてはいないが,アセンブリ言語のレベルでは1対1に対応する命令セットを採用している。 また、Intel社の8080/8085だけでなく、Zilog社のZ80、Motorola社の6800など、8ビットCPUの時代にヒットしたCPUのメモリのアドレス空間はいずれも64KBであった(アドレス幅が16ビットであれば、メモリ空間は216=64Kバイトとなる)。インテル社は16bitCPUの開発にあたって

  • 【 factor 】 素因数分解をする

    4294967295までの指定した数を素因数分解する。結果は1行で表示され,複数の素因数がある場合は,スペースで区切って表示する。同種のコマンドに,指定された範囲内の素数を求めるprimes(6)がある。

    【 factor 】 素因数分解をする
  • ひきぷろぐ - FC2 BLOG パスワード認証

    ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.

  • DDDについて、だらだらと - みねこあ

    ちょっと体調を崩しまして、病院にいってきたのですが(インフルエンザではない)、待ち時間が半端ないのはわかっていたので、Domain-Driven Design (DDD)を持って行きました。 Domain-Driven Design: Tackling Complexity in the Heart of Software 作者: Eric Evans出版社/メーカー: Addison-Wesley Professional発売日: 2003/08/22メディア: ハードカバー購入: 4人 クリック: 113回この商品を含むブログ (89件) を見る MVC のネタを書いたときに、梅澤さんに WebのMVCですが、Domain-Driven Designの言葉で語れば混乱は生じないと思うんですよね。 とコメントを頂いたのですが、DDDが積読状態なので「そうですよね〜」と言えないわたしは、あ

    DDDについて、だらだらと - みねこあ
  • djb.md

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    djb.md
  • [tech]GUI-MVCとWeb-MVCの違い - yojikのlog

    一部でMVC議論が流行っていたので、自分のためにSmalltalk由来のMVC(以下、一般化してGUI-MVCと呼びます)はWeb-MVCとどう違うか? という点についてまとめて見ました。突っ込みは歓迎。 あと稿ではドメインモデル貧血症批判とかは全く盛り込まない。それは少し違うレイヤーの話なんです。 0. VCは大抵の場合、緊密に結びついたペアである GUI-MVCではView-Controller(以下VCペア)は不可分のペアだとされています。情報の入力(および制御)と出力ですから、お互い強く依存するのはあたりまえですね。MicrosoftのMFCとかJavaのSwingではVCはひとつのコンポーネントとして扱っています(Document-Viewパターンとも呼ばれます) ただ、この点についてはWeb-MVCでもそんなに変わらないかも。 1. GUI-MVCのView-Controll

    [tech]GUI-MVCとWeb-MVCの違い - yojikのlog
  • contributor を大切に - まめめも

    htmlspecialcharsのパッチ私案」に書いた件、バグレポートを出してみましたが、「すでに同じバグレポートがあるだろ」という理由により、あえなく却下されました。 htmlspecialcharsに関する残念なお知らせ - 岩隆史の日記帳 これ関係のいろいろを見て思ったこと。どうでもいい長文です。結論はありません。 信用のない人のパッチが通るかどうかは運 が大きいと思います。パッチの出し方は無関係ではないですが (信用度が大きく変わる) 、勘違いされたり見過ごされたりはどうしてもあると思います。 今回は変な人に当たっちゃったみたいですね。残念! 問題の説明について日語の URL を貼るだけというのはさすがにきついとは思いましたが、「わかんないから却下」という返答ではないので今回はそれは関係ないのでしょう。 パッチを送るときはいろいろと期待とか気負いとかあるのはわかる (ぼくもあ

    contributor を大切に - まめめも
  • htmlspecialcharsに関する残念なお知らせ - 岩本隆史の日記帳(アーカイブ)

    htmlspecialcharsのパッチ私案」に書いた件、バグレポートを出してみましたが、「すでに同じバグレポートがあるだろ」という理由により、あえなく却下されました。 せめて先方が「同じ」とみなしているレポート番号ぐらいは示してほしくて、そのようにコメントしましたが、お相手のjaniという人は気難し屋のようで*1、教えてもらえる気がしません。 私なりに探した結果、下記のレポートがくさいように感じました。 PHP :: Bug #43896 :: htmlspecialchars() returns empty string on invalid unicode sequence 「不正なUTF-8シーケンスの場合に空文字列を返すのはおかしい」というレポートで、私のそれとは正反対どころか、Shift_JISにもEUC-JPにも触れられていない別個のものです。もちろん、私はレポート送信前に

    htmlspecialcharsに関する残念なお知らせ - 岩本隆史の日記帳(アーカイブ)
  • OpenXanadu (sources only)

  • Charming Python: Functional programming in Python, Part 3

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Charming Python: Functional programming in Python, Part 3
  • Casto: 史上最速にライブコーディングができるサービス - Kentaro Kuribayashi's blog

    CastoというWebサービスがあります。史上最速に、インターネット経由でライブコーディングができる、非常に素晴らしいサービスです。その素晴らしさのわりにまだあまり知られていないので、紹介します。 Castoでライブコーディングを始めるには、ふたつの方法があります。 CastoのWeb UIから、ライブコーディング対象のファイルをドラッグアンドドロップする castoコマンドを用いる 後者のコマンドの例は、作者によって以下の様なアニメーションGifで紹介されています。 ↑の画像では、Casto上のURLをコピペしてブラウザで開いていますが、--browseオプションをわたすと自動的にブラウザで開くよう、pull requestを送って、マージされております。 コマンドについては、最近追加されたのですが、さらに利便性が高まったと思います。是非お試しいただきたいサービスです。

    Casto: 史上最速にライブコーディングができるサービス - Kentaro Kuribayashi's blog