メモ
CでOOP関連エントリ ぐぐってみると解説サイトがさらに結構あった。 Cによるオブジェクト指向の記述 Cによるオブジェクト指向'風'プログラミング Cで実現する「ぷちオブジェクト指向」:CodeZine メモ オブジェクトの内部構造を隠す方法。 まず、抽象データ…
タイトルがほぼ課題を言い尽くしてそうですが。 巨大ファイルをコピー中にWindowsのエクスプローラを閉じてしまうと、コピーのプログレスバーも一緒に閉じてしまい、進捗がわからなくなってしまいます。 そういう場合、「タスクマネージャを開いて、アプリケ…
急に思い立ってCでハッシュテーブルを実装してみました。 C言語での文字列を扱うプログラムというのがあまり得意ではないせいか中途半端に時間がかかってしまった。 ほとんどテストはしていないけど、以下のメソッドを使えるようにしてみた。 put: テーブル…
久しぶりにフォントを変えてみようとメニューから「外観の設定」でフォントタブを押すと、CPU使用率がMAXになり画面がフリーズしてしまいました。少し調べてみると、他にも同じ症例があったようで、なんとか解決。 Gnome Appearance Properties freezing - U…
擬似mallocを作ってみるの続きです。 リングバッファの要領で(というかまんまリングバッファ)、ついつい入れてしまったmallocをあとから置き換えるためのmallocモドキを改良(?)してみました。 もちろんこんなのがmallocの完全な置き換えにはなるはずも…
Windowsからのファイルコピーなどで、実行権限が付与されたままSVNでバージョン管理してしまっているファイルから実行権限を削除する方法。 $ svn propdel svn:executable hoge (ファイルhogeから実行可能属性を削除する)属性についてはsvn:executable以外に…
C言語でmallocは便利だけれども、開発で多くの人が関わっている場合、他人のメモリリークや不正なアドレスへのアクセスなどのあおりを受けてSegmentation Faultなんていうことが結構あるそうな。 mallocで獲得したいメモリサイズが毎回固定の場合は、動的に…
よく使う割りに毎回覚えてなくてぐぐってしまう上にmanで読んでもよく理解できないのでメモ。 dateコマンドを使う。 (なんかコマンド) > output`date +%Y%m%d%H%M`これで、時刻まで付けたファイル名をつけられる。 例えば、output200804202348 とか。
うちのLinuxマシンは、以前からよくSSHでログインして使用していましたが、認証してからログインまでに少し時間がかかるのが問題でした。 といってもログインできないことはないのでしばらく放置していましたが、少し調べたら出てきたのでメモしておきます。…
便利だなー。Emacs22をインストールしたら自動的についてきたっぽい。 psvn
今日、とあるコードを読んでいて、以下のような式を見た。 const char *str = NULL; str = "hoge hoge"; あれ、こんな代入ってできるんだっけ?と思ったが、以下のダメなコードと勘違いしていたようです。 char str[10]; str = "hoge hoge"; 前者は、char型…
最近家のデスクトップもLinuxばかり使うようになって、Emacsを使う機会が非常に増えた。 使い方としては、ターミナルを全画面で開いてscreenを起動したあとEmacsを起動し、C-x 2やC-x 3で画面を分割していき、複数バッファを使うというもの。 Emacsに慣れて…
Scheme演習第2回-問1と続・Scheme演習第2回-問1で、schemeで再帰と末尾再帰を用いてフィボナッチ数列を解いてみたが、練習のためにCでも書いてみた。(すぐできるか試してみたかった) 今回は計算結果を出力するのはおいといて、いきなり時間のみを計測。 #i…
たいして苦労するものでもないのに苦労したのでメモ。 まずはインストール 既にacroreadはインストールしていたが、FirefoxでPDFのリンクを踏んでそのまま開こうとしたときに、「AdobeReader 8はまだインストールされていません」と出た。 そうかそうかと実…
先ほど、CVSから取得して自分でmakeしていたEmacsを削除し、aptでEmacsをインストールしてからなんだかよくわからない動作をするようになった。 症状としては、 ファイルを編集していると、C-x C-s でセーブするときに結構頻繁に数秒間固まる。 そこから復帰…
CVSからとってきたEmacsをmakeしようとしたらmakeinfoがないと怒られた。 apt-get install makeinfoしても出てこないのでなんのパッケージに入っているのかわからない。 texinfoというパッケージに入っているらしい。 makeinfoがない - ひげぽん OSとか作っ…
普通の場合、出力結果はスクロールアウトしてしまいます。 この状態で、screenの機能を用いてバックスクロールしてみましょう。 バックスクロール(コピーモードに移行) ^Z [ESC]または^Z [とキーインします。 USING SCREEN EXAMPLE part2 私の場合は、.scree…
いいもの見つけた。しばらくは、これを解いて慣れていこう。 5つの整数を引数として受け取り、そのうち偶数が奇数より多い場合は#tを返し、奇数が偶数より多い場合は#fを返す述語even>odd?を定義せよ。当然、いろいろな定義の仕方がある。 > (even>odd? 1 2 …
簡単な再帰を使った階乗。 gosh> (define (fac n) (if (= n 1) 1 (* n (fac (- n 1))))) fac gosh> (fac 5) 120 gosh> (fac 8) 40320ふむふむ。括弧が最後にたくさんついて数を数えるのが大変。 インタラクティブモードでのgoshも、Emacsに付属のscheme-mode…
一点のみ。 1. インストーラーが進まなくなる → BIOSの設定からHDDを、IDEからRAIDに変更 tips : tips/01.コンピュータ関連/UNIX/Linuxめも.txt これをしないと、画面がテキストモードでバグった状態になる。 あとはさくさくインストール完了。現状問題なし。
MOONGIFT: » CUIでニコニコ「ニコニコ動画保存 Nicovideo Downloader」:オープンソースを毎日紹介 SourceForge.jp: Project Info - ニコニコ動画保存 Nicovideo Downloader きっともっと簡単に使えるものが色々ある、と思いました。 中身が多少分かる分、Pyt…
既に開発用にApacheをインストールして常時起動してあるWindows XPのPC上に、Trac月をインストールしようとしたところ、ちょっと面倒なことになったので解決までの道のりをメモ。 Trac月は、クリックするだけでWindows上に簡単にTracやSubversionのシステム…
DNSのない閉じたネットワークでUDPSocketを使ったプログラムを動作させていると、パケットが届いてからrecvfromメソッドで読み込まれるまで数秒間の遅延が発生していました。 調べたところ、Rubyのソケットではデータ受信時に送信アドレスのホスト名の逆引き…
SourceForge.net: rfc2html.php(phpspot開発日誌経由) RFCを読もうとするたびにプレーンテキストで書かれているせいか読みづらくて仕方がない。 というわけで探してみたら上記のスクリプトがありました。なかなかキレイになってくれて良い。 ただ、以下の…
なんかややこしかったのでメモ。 受信側 require 'socket' u1 = UDPSocket.open() u1.bind("0.0.0.0", 10000) p u1.recvfrom(65536) 送信側 require 'socket' u2 = UDPSocket.new() u2.connect('localhost', 10000) u2.send('Hello world!' , 0) 実行結果 先…
条件にマッチしたファイルに一個ずつ-exec以下のコマンドを適用していく。これは便利。 % find . -name \*~ -exec rm {} \; ⇒ カレントディレクトリ以下の *~ をリストアップして「rm 検索したファイル名」を実行する。{}の場所には検索したファイル名が入る…
例えば、 <foo> <bar attr="1"/> <bar attr="2"/> <bar attr="3"/> </foo> みたいなXMLがあって、名前がbarの要素を取り出すには当然の如く、 require 'rexml/document' doc = REXML::Document.new(File.open("sample.xml").read) elems = doc.root.elements["foo/bar"] # なんかの処理 とすれば、elemsにはbar要素が…
夕方から別のことをしてたのでお勉強続き。 画像を読み込んでみる。(参考:ActionScript3.0による画像処理) package { import flash.display.*; import flash.text.*; public class Test03EmbedResource extends Sprite { // resource [Embed(source='data…
ActionScriptは本当に初心者なので、サンプルで継承しているSpriteクラスが何かすらわからず。 そういうときはドキュメント読む。 Sprite クラスは、表示リストの基本的要素です。つまり、グラフィックを表示でき、子を持つこともできる表示リストノードです…
とりあえずホストだけチェックできればいいかな、と。 #! /usr/bin/perl -w use strict; use warnings; my @valid_hosts = ( "hoge.com", "fuga.co.jp" ); sub validate { my($url) = @_; my $ret = -1; foreach my $vhost (@valid_hosts) { if ($url =~ /^s…