研究分野: ソフトウェア工学,ソフトウェア開発ツール,プログラム理解, ソフトウェア保守,プログラム可視化, ソフトウェア開発における人的要素,プログラミング教育 研究概要: 私達の研究室では,プログラム開発者を支援するためのツールを研究しています. 現在のソフトウェアは100万行を超えていて,人間だけの力で開発できる規模をはるかに超えています.この状況を解決するために,これまでにも数多くのソフトウェア開発ツールが作られてきました. ソフトウェア開発ツールは,人間のソフトウェア開発作業を支援するプログラムで,例えば,デバッガ,バージョン管理システム,Eclipseなどの統合開発環境がこれに該当します.しかし,既存のソフトウェア開発ツールはまだまだ十分ではなく,改善の余地があります. 私達の研究室では,プログラミングという高度な知的作業を楽しみながら,現実のソフトウェアに適用可能なツールをプ
2. 今日は何の話? libc でもっとも良く使われる関数、 malloc と free の実装の解説 もっと一般的に言うと、プロセスのアドレス空間のうち、 heap 領域とよばれる、場所を操作する関数の説明 解説というと聞こえはいいが、そんな大層なものじゃない 3. Linux での process address space model kernel stack text mmap data bss heap 矢印はデータ量の増加と ともに、伸びる方向 使用中 使用中 使用中 今日は、ここ、 heap と呼ばれる領域のお話 low high free free free 4. 古典的 malloc プログラミング言語 C (いわゆる K&R) で紹介された初期の Unix の malloc 実装 使用中 使用中 使用中 free listの head 使用中 ・ free list を
最近lispを勉強しているのですが、やっぱり数学的な背景についてもちょっと勉強しておきたいなぁ、、と思いました。 ということで、ラムダ計算についてまとめました。今回は入門編で、厳密な定義は置いておいてとりあえず具体例を用いて初歩的な用語・概念を一通り確認して、式をいじれるようになることが目的です。 目標 ラムダ計算ってなんぞ、という人がラムダ計算をざっくりと説明できるようになる プログラムの中でラムダ式を使ってみる ラムダ計算 背後にある計算モデル コンピュータは計算を行うことで処理を行います。この計算機における計算の考え方については、3つのモデルがあります。命令型モデル、関数型モデル、論理型モデルです。lispなどの関数型言語(lispは純粋な関数型言語というわけではありませんが...)の基礎づけとなっているのはこのうちの関数型モデルです。関数型モデルにおける計算とは、一言で言えば、関数
普段neocomplcacheを使っています。 最近Pythonを書いていて知ったのですが、補完時にプレビューウィンドウが開きます。 こんな状態から . を入力して補完が始まるとこうなります。 このプレビューウィンドウ。 これが非常に邪魔臭くて消したかったので調べました。 completeoptとomnifunc まずneocomplcacheは関係ありませんでした。 これはVim標準の機能で、:help completeopt に次のように書かれています。 入力モードでの補完|ins-completion|についてのオプションのコンマ区切りの リスト。サポートされている値は次の通り: menu ポップアップメニューで補完候補を表示する。ポップアップメニ ューは、候補が2個以上あり、十分な数の色が使用できるときだ け表示される。|ins-completion-menu|を参照。 menuo
日本は「木の文化」を持つ国、そして、割り箸を生み出した「割り箸の文化」を持つ国でもあります。割り箸を「割る事」は、祝い事や神事などの「事をはじめる」という意味を持ち、大事な場面にいつも真新しい割箸が用意されてきました。 箸そのものは聖徳太子の時代に「箸食制度」が取り入れられましたが、最初に「割り箸」が登場したのは江戸時代の寛政12年(1800年)頃と言われています。江戸時代の割り箸は「引裂箸(ひきさきばし)」と呼ばれ、杉から作られていたと言われています。この引裂箸は吉原の有名な茶屋や高級料理屋で使われていたようです。 割り箸は資源を有効活用することから誕生 現在使われている割り箸は、明治時代に、吉野(奈良県)で樽(たる)材として使っていたスギの端材(樽の製造過程で必要な部分を切り取ったときにできる余った木片など)を有効に活用することから生まれたものです。 今でも、日本製の割り箸は、丸太から
ベースポインタは,現在実行中のスタックフレーム (アクティブなフレーム) の底 (図2の通り正確には底の少し上) を指すレジスタです.以前の BP の値というのは,呼出し側の関数のベースポインタの値で,関数終了時にベースポインタにコピーされます.また,リターンアドレスとは,関数の処理終了後に次に実行するプログラムのアドレスのことです. Cプログラマの必読書 たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください. C実践プログラミング 第3版 C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです. 文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります. オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.
3.11 Options That Control Optimization ¶ These options control various sorts of optimizations. Without any optimization option, the compiler’s goal is to reduce the cost of compilation and to make debugging produce the expected results. Statements are independent: if you stop the program with a breakpoint between statements, you can then assign a new value to any variable or change the program cou
Google C++ Style Guideにも書かれているように、クラスに仮想メンバー関数が存在する場合、そのクラスのデストラクタは virtual でなくてはなりません (If your class has virtual methods, its destructor should be virtual.)。 ただその理由は若干複雑です。理由が説明できないとコードレビューで問題を指摘する際に困りますし、逆に必要ないのに 「デストラクタには常に virtual をつけろ」と言われた場合に反論できなくて困ることになります。 ルールの前提 virtual なメソッドがあるなら、子クラスのポインタは必ず親クラスのポインタとして使用される そもそも virtual なメソッド (仮想メンバー関数)がクラスに定義されているということは、そのクラスは継承した子クラスを作成し、その子クラスのインスタ
セマフォ セマフォは、E.W. ダイクストラ (Dijkstra) が 1960 年代の終わりごろに考案したプログラミング手法です。ダイクストラのセマフォモデルは、鉄道線路の運行をモデル化したものです。一度に一本の列車しか走れない単線の鉄道線路を思い浮かべてください。 この鉄道線路を保護するのがセマフォです。列車は単線区間に入るとき、セマフォの状態が進行許可状態になるのを待たなければなりません。列車が単線区間に入るとセマフォの状態は、他の列車が単線区間に入るのを禁止する状態に変化します。単線区間から出る列車は、セマフォの状態を進行許可状態に戻して他の列車が単線区間に入ることができるようにしなければなりません。 コンピュータ内のセマフォは、単一の整数で表現されます。スレッドは進行が許可されるのを待ち、その後進行したことを知らせるためにセマフォに対して P 操作を実行します。 この操作をもう少
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
タカチ電機工業は測定器・制御機器・通信機器など、電子機器・工業用のケース・ボックス・ラック製造メーカーです。 アルミケース・金属ケース・プラスチックケース・アルミダイキャストボックス・ステンレスボックス・防水プラボックス・防水ハードケース・端子中継ボックス・防水コネクタ・ケーブルグランドラックマウントケース・19インチラック用棚板・ラックパネル・電池ボックス・電池ホルダーなど27,000点以上の品揃えと、短納期でのマシニング加工・インクジェット印刷・表面シート製作により、お客様の様々なニーズにお答え致します。 新着情報
ご来店ありがとうございます。 ラムダノートでは、Grahum Hutton氏によるプログラミング言語Haskellの定番教科書、 "Programming in Haskell" の改訂にあたる『プログラミングHaskell 第2版』(山本和彦訳)の発売を当直販サイトにて開始いたしました。 『プログラミングHaskell 第2版』(紙書籍+電子書籍)(税別3200円) 『プログラミングHaskell 第2版』(電子書籍のみ)(税別3000円) 「紙書籍+電子書籍」版のお求めでも、「電子書籍のみ」版のお求めでも、いますぐPDFのダウンロードが可能です。紙書籍については、8月22日(木)以降の発送開始を予定しています。書店(オンライン書店を含む)での紙書籍の発売も8月22日以降を予定しております。 なお、直販サイトでのお求めにあたってユーザ登録などは不要です(ただ、ユーザ登録をしていただくと、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く