キーボードを、持ち歩く。 久しぶりに、スマホ用のキーボードを使ってブログを書いている。 いくつかキーが壊れてしまっているので買い替えないといけないのだが、壊れるくらいには使い込んでいたんだなと思った。 当時は、今のようにPCを普段から持ち歩くことが少なかったので、出先でもブログ…
キーボードを、持ち歩く。 久しぶりに、スマホ用のキーボードを使ってブログを書いている。 いくつかキーが壊れてしまっているので買い替えないといけないのだが、壊れるくらいには使い込んでいたんだなと思った。 当時は、今のようにPCを普段から持ち歩くことが少なかったので、出先でもブログ…
Emacs + GDB を利用したいならば、何よりも GNU Emacs Manual: Debuggers(英語) を読むことを強くおすすめします。 和訳も存在しますが内容が古く、マウスを利用した操作やグラフィカルな機能についての記述がありませんでした。 マニュアルを読んで理解したあとは実践で覚えていくわけですが、以下にまとめたチートシートを利用すれば時間が節約できるかもしれません。 もしも便利な機能に関して漏れがあれば是非教えてください。 .emacs ;;; GDB 関連 ;;; 有用なバッファを開くモード (setq gdb-many-windows t) ;;; 変数の上にマウスカーソルを置くと値を表示 (add-hook 'gdb-mode-hook '(lambda () (gud-tooltip-mode t))) ;;; I/O バッファを表示 (setq gdb-use
プログラミングをコピー&ペーストで作ったものはスパゲティーになりやすい。コピー&ペースト自体には問題がなく、それを行うプログラマーのレベルに問題があるという話もあるが、大抵そうなる。 ソースコードを検索して類似ポイントを洗い出す コピー&ペーストに限らないが、修正などによって徐々に肥大化したソースコードは適切にリファクタリングしてやれば可読性が高まり、システムとしての寿命も延び、さらなる機能追加が素早くできるようになる。その手助けになるのがUniqueだ。 今回紹介するオープンソース・ソフトウェアはUnique、ソースコード類似ポイント検索ソフトウェアだ。 Uniqueは指定したファイルまたはディレクトリ以下にあるプログラミングソースについて検索を行い、類似ポイントをスコア評価してくれるソフトウェアだ。もちろんスコアの高い部分は似ていると思われる場所になるのでリファクタリングの対象になるだ
make/makefileは,大きいプログラムのどの断片が再コンパイルされる必要があるかという事と,それらを再コンパイルする発行コマンドを自動的に決定するユーティリティ/設定ファイルです. コンピュータサイエンスの基本的な考え方のひとつに冗長性をなくして効率化する構成を追及するというのがあります. 情報理論(bitの理論),HTMLとブラウザ,高級言語と機械語など,ひとつの仕様(表現)から環境や状況にあわせて実装(記述)をつくりだす構成が好まれます. ひとつのファイルでさまざまなコマンドを制御するmake/makefileを制することはコンピュータサイエンスを制することになります. makeのあれこれ もっとも単純な例 Makefile は以下のようなルールからなる.
少し前に Varnish という逆プロキシサーバが紹介されていた: 【レポート】高速化プログラミングの参照実装としても活用される「Varnish」 (2) vanishが採用している実装技術 : エンタープライズ : マイコミジャーナル. 気になったので資料を眺めてみる. プロジェクトの Wiki にある記事 Notes from the Architect, あとは 講演のスライド(PDF) などが概略には良さそうだ. 中味は仮想記憶やキャッシュ, SMP を有効活用して高速化しましょうという話. 仮想記憶の活用方法は二つ紹介されている. 一つ目は, "サイズに合わせて realloc() するかわりに最初からでかいサイズを malloc() しろ" というもの. 確保してもアクセスしなければ物理メモリにはコミットされないから, 拡張のたびにコピーの必要な realloc() より この
お久しぶりです、初めての日本の夏に圧倒されているトールマエサカです。 今日はLinuxにおけるネットワークプログラミング関連のネタです。分散データベースサーバの開発過程で最近よくLinuxのepollというイベントハンドリング機能を使っています。これがまた優秀な機能なので紹介します。 このContextでいうイベントハンドラーはサーバがクライエントのリクエストを処理するためのメカニズムです。イベントの感知と通知は大雑把にいうと以下の三つの処理で構成されています: 一つもしくは複数のディスクリプタを監視 ディスクリプタの準備が整うまでハチ公のごとくひたすら待ち続ける 準備が整ったディスクリプタの通知 アプリケーションでの実装は一昔までselect(2)、もしくはpoll(2)というシステムコールで行われていました。二つとも役目は同じですがselect(2)の場合、kernelをいじらない限り
このページではBerkeley SOCKET、Winsock及びJava Socketのプログラミングについて紹介する。SOCKETも好きだな。 記述例およびサンプルに含まれるファイルの全部、または一部を使用したことによる損害等について、一切の責任を負いません。また、サンプルの文字コードはS-JISで提供しますので、ご使用の際はWindowsからFTPするなどして適切な文字コードに変換してください。尚、サンプル中には説明の簡略化のため意味のないコードや、実用上問題のあるコードも含まれていますのでご注意ください。 [UNIX]スレッドでrecv [UNIX]selectを使う [Winsock]スレッドでrecv [Winsock]selectを使う [Winsock]イベントを使う [Java]Socket(クライアント) [Java]ServerSocket(サーバー) [UNIX]スレ
3.1 基本的なリンカスクリプトの考え方 我々は,リンカスクリプト言語を説明するのに, いくつかの基本的な概念と語彙を定義しておく必要がある. リンカは複数の入力ファイルを組み合わせて一つの出力ファイルとする. 出力ファイルと各入力ファイルは, オブジェクトファイル形式として 知られる特別なデータ形式になっている.各ファイルは, オブジェクトファイルと呼ばれる. 出力ファイルは, executable と呼ばれることが多いが, 我々の目的に合わせて,これもオブジェクトファイルと呼ぶことにする. 各オブジェクトファイルには, とりわけ, セクションのリストが 入っている. 入力ファイル中のセクションをよく 入力セクションと 呼ぶ. 同様に, 出力ファイル中のセクションは 出力セクションである. オブジェクトファイルの中のセクションは,それぞれ名前と大きさがある. ほとんどのセクションには,
makeユーティリティは大きいプログラムのどの断片が再コンパイルされる必要があるかという事と、それらを再コンパイルする発行コマンドを自動的に決定します。このマニュアルではリチャードストールマンとローランドマグラスがGNU makeを説明します。GNU makeはIEEE Standard 1003.2-1992 - 6.2項(POSIX.2)に対応してます。 私たちは一般性からC言語で例を示していますが、makeコマンドはシェルコマンドで実行するどんな言語でも利用できます。実際、プログラムに制限されません。他のファイルが変わった時にいつでも変更があったファイルからいくつかのファイルが自動的に更新しなければならないという仕事を説明するのにも利用できます。 makeを使うための準備として、 makefileという「プログラムに使うファイル間の関係を示し、それぞれを更新する時に使うコマンドを提供
はじめに 開院準備 昔むかし/ レベル差/ 教育/ ネットワーク/ 情報集め/ 隠すことについて/ プログラムコンテスト/ ドキュメント/ 楽するように/ 手抜きと下手の違い/ 開院 第1部 外来 第1章 普通の初心者 最初から充実した(!?)プログラムが登場 関数を短くし、コメントを改善する 上手になる秘訣/ プログラムの紹介/ 何だ、このプログラムは!!/ 短くするには/ コメントについて/ 無駄な努力をやめよう/ 名前/ 気になる個所/ 修正プログラム/ 課題/ まとめ 第2章 これでもプロ 売りものであるにもかかわらず、超きたない! 構造的な欠陥の指摘〜引数、ポインタの活用 プログラムの紹介/ 「超」基本的問題点/ 関数分解/ 構造的欠陥/ 引数を使おう/ ポインタ/ その他/ まとめ(修正プログラム) 第3章 上司が問題 まさに驚異的なプログラムの見本というべき 内容の修正から、
プログラミング言語 C は 1990 年に ISO で規格化された言語です。その後、何度かの誤りの訂正や wchar_t 型の追加といった追補がなされた後、さらに使いやすくするための新しい機能が検討されてきました。そして、1999 年、ついに新しいプログラミング言語 C の仕様「ISO/IEC 9899:1999 - Programming Language C」(略称 C99) が 1999/12/01 付けで規格として出版されました。ここでは、その新機能を説明します。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く