見つけた時に逐次エントリしている「プログラミング原則」カテゴリの一覧です。不定期に追加しています。プログラミング一般デメテルの法則DRY原則YAGNIKISS原則OAOOUNIX哲学可逆性曳光弾直交性契約による設計 DbCプログラマの三大美徳PIEの原則SLAPパフォーマンスチューニングの格言驚き最小の原則オブジェクト指向プログラミングパルナスの規則抽象データ型サブタイプ求めるな、命じよコマンドとクエリ分離原則オブジェクト指向設計パターン言語生成・使用分離の原則パターンの定義IOP
CodeIQ中の人、millionsmileです。 いろいろ経歴を積むと、「いまさら聞けない」ことが増えてきます。「オブジェクト指向」というのもそんないまさら聞けないものの一つでしょうか。 そんなわけで、いまさら聞けないことをイマサラ問題として出題してみました。 問題は、日本のITエンジニアの父と言いたくなるくらい温かみのあるフィードバックをしてくれることで好評な有限会社システム設計の増田亨さんからの出題です。オブジェクト指向設計について2問出題していただきました。総計65名もの方に挑戦いただきました! 問題の解説記事は、オブジェクト指向設計の3つのコツを中心に説明してくれていますので、読みやすいですし、頭にすっと入ってきます。 ではでは、増田亨さんによる解説記事をお楽しみください。 https://codeiq.jp/ace/toru_masuda/ ◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
The Oracle Java Archive offers self-service download access to some of our historical Java releases WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production. For production use Oracle recommends downloading the latest JDK and JRE versions and al
とあるC言語で記述されたソフトウェアのプログラムの開発技法をメモしてみました。 --- 「int型」を兎に角使っていない 変数の宣言に「int型」が1個もありません。int型に代わりに全て「long型」を使っています。 「構造体」を兎に角使っていない 構造体が全然ありません。殆どグローバル変数を使っています。あと変数名が長いです。 「クラス」を兎に角使っていない クラスが全然ありません。恐らくクラスを理解出来ていないです。 「関数」を兎に角使っていない 関数が少ないです。その為にメインルーチンや1つの関数が非常に長いです。 「グローバル変数」が多い グローバル変数が非常に多いです。マルチスレッド実装で混乱必至です。 「引数」が兎に角多い 数少ない関数の引数が非常に多いです。1つの関数で幾つもの処理が出来る様な複雑な仕組みで非常に長いです。 「記述方法」が兎に角古い 結果的にオブジェクト指向
debian を使う最大の利点は apt によるパッケージ管理です。既存の debパッケージが無かったり自分でパッチを当てたりしてソースコードからビルドする場合でも、debパッケージにまとめて apt で管理すると削除や更新がとてもらくちんになります。さて、その作った debパッケージはどこに置いておきましょう? このページでは debian squeeze で apt-ftparchive を使って debパッケージの aptリポジトリを作る方法をメモしておきます。 apt-ftparchive を使う為にまずは apt-utilsパッケージをインストールします。 $ sudo apt-get install apt-utils そして aptリポジトリを作りたいディレクトリに移動して、debパッケージ作成時に出来たファイルをそこへ放り込み、 $ apt-ftparchive sourc
id:HolyGrail (堀愚霊瑠氏) の「はてなブックマークが重い件について、Page Detailerというツールを使って調べてみる - id:HolyGrailとid:HoryGrailの区別がつかない日記」とか見てて、色々問題点が指摘されてて、うん、まぁそうだねーとか色々と思いつつ、YSlow は、有用なツールである反面、減点基準が必ずしも全てのサイトに適合しないというか、ハッキリ言ってしまえば Yahoo! Inc. 基準すぎるので、鵜呑みにし過ぎるのもどうかなーとか思ってた。 で、気になったのは 13. Configure ETags ETagsっていうのはサーバ上のファイルとブラウザのキャッシュが一致しているかどうかを検証するためのものなのですが、正しく利用できていないのであれば、ETagsは無駄なだけなので取り除いてやりましょう、という項目です。 http://s.hat
Latest topics > Firefoxアドオンの開発を通じて考えるようになったインタラクションデザイン 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « Fox Splitterを作りなおした Main ジム通いを始めた » Firefoxアドオンの開発を通じて考えるようになったインタラクションデザイン - Jun 30, 2011 あかつかだいすけさんのご紹介で、6月27日に慶応大学湘南藤沢キャンパスでインタラクションデザインについての講義を1時間ほどやらせていただきました。その際の発表資料はいつもの通り「高橋メソッド in XUL Returns」で作ったのですが、Remote XULがデフォルトで禁止されるようになったFirefox
鳥山仁 @toriyamazine (1)娯楽に限らず、長編小説における文章の上手い・下手を判断する方法はそれほど難しくない。文章を仮にA・情景描写、B・行動描写、C・心理描写と分類して、あるシーンから次のシーンに切り替わる際に、行動描写をつなぎとして使っているかどうかを見ればいい。 鳥山仁 @toriyamazine (2)文章の下手な作家は、ほぼ例外なく心理描写をシーンの切り替えのつなぎに使う。だから、行動描写に意味が無くなり、ページを稼ぐための文字の羅列になる。上手い作家は、キャラクターの行動が次のシーンを「引き起こす」ように書けるので、文章に途切れ目がなく、滑らかな読み味になる。 鳥山仁 @toriyamazine (3)行動描写をシーン毎の「つなぎ」に利用できると、ストーリーの展開を時序列通りに書き進めることが可能になる。ところが心理描写をシーン毎の「つなぎ」に利用すると、キャラ
》 Shirahama Symposium 2011 (securelist.com, 5/31)。カスペルスキーの中の人による白浜レポート。 》 未解決事件 (NHK)。File.01 は「グリコ・森永事件」 (7/29〜30 放送予定)。 》 【ソコイジNEWS】幸福実現党の原発賛成デモに行ってみた!! (やや日刊カルト新聞, 5/31) 》 HP Notebook PCバッテリーパック 自主回収プログラムのご案内 (HP) 2011年5月26日(日本時間5月27日)、弊社は特定のノートPCに搭載する一部のバッテリーパックの自主回収プログラムを全世界で発表いたしました。今回の発表は、2009年5月14日(日本時間5月15日)に告知し、2010年5月19日(日本時間5月20日)に改訂した自主回収プログラムに、対象となるバッテリーパックを追加し、該当するバッテリーパックの回収と無料交換を改
福島第一原子力発電所の事故の賠償策を巡り、政府・民主党が3日、東京電力が負担する賠償金に充てるため、電気料金の値上げを容認する新たな仕組みを設ける方向で調整に入った。 数兆円と想定される賠償金を支払う枠組みは、東電のリストラと毎年の利益から捻出するのが原則だが、それだけでは資金が足りないためだ。今回の枠組みで資金拠出を求められる他の電力会社についても、一定の電気料金の値上げを認める方向だ。 電気料金の値上げは国民の負担増となるため、東電だけでなく、他の電力会社も含めて徹底したリストラを求めたうえで、賠償総額が見通せるようになってから値上げ幅を検討する。 安易な値上げにならないよう政府が厳しくチェックするが、標準的な世帯の場合、月数百円程度の大幅な値上げとなる可能性がある。
MemTotal: 1001008 kB MemFree: 200708 kB Buffers: 43400 kB Cached: 395740 kB SwapCached: 0 kB Active: 557556 kB Inactive: 178624 kB HighTotal: 97216 kB HighFree: 140 kB LowTotal: 903792 kB LowFree: 200568 kB SwapTotal: 2096472 kB SwapFree: 2096472 kB Dirty: 224 kB Writeback: 0 kB Mapped: 356492 kB Slab: 47820 kB CommitLimit: 2596976 kB Committed_AS: 689048 kB PageTables: 6192 kB VmallocTotal: 11468
寝る前にどうしても試してみたかったのでもう一つ。 Linuxでは読み書きしたファイルがページ単位で余裕のあるメモリにキャッシュされる、という話は知っていたのですが、仕組みについてはあまり理解していませんでした。 で、例の本でとてもわかりやすく実験方法も書いてあったので実験してみます。 まず、そのまえにページ・キャッシュの仕組みをメモ。 ページ・キャッシュにはページの活性*1を表すActive/Inactiveという状態と、ディスクとの同期状態を表すDirty/Writebackという状態がある。 ページの活性は、Active(2) > Active(1) > Inactive(2) > Inactive(1)、の順で高い。初回の書き込みでInactive。その後、Readされる毎にActive方向に遷移していく。 ページがwriteされると、Inactive(2)に遷移。ページが回収されて
http://www.atmarkit.co.jp/flinux/rensai/tantei01/bangai01c.html Activeはページキャッシュや無名ページ(注3)のうち、最近利用したり、まだストレージとの同期が取れていない「捨てられない」ページです。Inactiveは、同じくページキャッシュや無名ページのうち、最後にアクセスされてからある程度時間がたち、ストレージとの同期も完了していて、すぐに捨てられるページです。よって、/proc/meminfoの出力でいうところの MemFreeとInactiveを足すことで確実に利用可能なメモリ量を算出することができます。 (実際に利用可能なメモリ量)≒(MemFree+Inactive) この値を利用し、一定量を下回らないようにするのが、簡単・確実なメモリ利用率監視法といえます。 間違ってる。完全に。 たぶんNTT OSSセンタとい
減り続ける利用可能メモリ……そしてついにリブート!:Linuxトラブルシューティング探偵団 番外編(2)(2/3 ページ) メモリが足りなくなるとOSってハングアップするの? まずは、そもそもの疑問を整理しておきましょう。 お客さまは「メモリが足りなくなってリブートに至った」といっています。ですが今回の場合は、メモリ不足自体がリブートに直結したのではなく、ハングアップしていたところをASRによってハードウェア的に落とされたことが分かっています。ですから、本質的な疑問は「メモリ不足がOSハングアップを引き起こし得るか?」ということです。 そもそもハングアップとは、カーネルパニックなどを起こしてシステムがクラッシュしている場合と、何らかの原因で極端に動作が遅くなっている場合がありますが、残念ながら疑問に対する答えは「Yes」です。メモリ不足がOSのハングアップを引き起こすことはあります。 「そ
今更なネタかもしれませんが、psコマンドでは通常プロセス単位での表示となりますが、"man ps"を読んでみたところ、"-L"等のオプションをつけることで、スレッドを表示することもできるようです。 スレッド表示 H スレッドをプロセスのように表示する。 -L 可能ならば LWP と NLWP カラムをつけてスレッドを表示する。 -T 可能ならば SPID カラムをつけてスレッドを表示する。 m プロセスの後にスレッドを表示する。 -m プロセスの後にスレッドを表示する。 Man page of PS では、早速試してみましょうか。 普通に"ps -ef"を実行 $ ps -ef | grep -e mysqld -e PID | grep -v grep UID PID PPID C STIME TTY TIME CMD root 4570 1 0 Dec09 ? 00
負荷分散というと、複数のサーバーに処理を分担させることだけに目がちだが、実際にはそれぞれのサーバー、つまり単一ホストの性能をどこまで引き出せるかも重要な項目となる。本来1台のサーバーで十分なところを、その性能を引き出す努力をせずに10台のサーバーで運用するというのは本末転倒な話である。 負荷分散と冗長性は切っても切り離せない関係、いわば表裏一体だ。負荷分散のためにサーバー台数が増えれば、その分故障確立は上昇する。負荷は分散できても、しょっちゅう壊れて止まるシステムでは意味がない。つまり、負荷を分散し、故障しても動き続けるシステムを構築する必要がある。負荷分散はトラフィックとの戦いであると同時に、SPOFとの戦いでもある SPOF: Single Point of Failure 、単一障害点。そこが壊れるとシステムが止まる箇所。 ボトルネックといってもいろいろなレイヤがあるが、今回はOS(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く