薫のHack

Perl 名前付きパイプ FIFOを作る方法

名前付きパイプ(FIFO)は、プロセス間通信(IPC)の1つです。ファイル名を利用し、他プロセスと通信するこ...

perl signal SIGCHLDを受け取る

Unixのシステムは、子プロセスが死んだときに、シグナル SIGCHLDを受け取ることが可能です。C言語だとsi...

perl シグナルでプロセスを中断と再開する方法

Perlでプロセスを中断(サスペンド)したり再開する方法について説明します。UNIXでは、プロセスを中断さ...

PHPでコンテンツの圧縮によるCPUと転送量への効果

さくらのレンタルサーバでPHPによるコンテンツの圧縮を有効にした結果、CPUと転送量に変化がありました...

PHPでコンテンツをgzip圧縮する方法 zlib編

apacheWebサーバでは、apacheモジュールのmod_deflateを利用して、gzip圧縮に対応しているクライアント...

PHPでコンテンツをgzip圧縮する方法 gzhandler編

apacheWebサーバでは、apacheモジュールのmod_deflateを利用して、gzip圧縮に対応しているクライアント...

perl プログラム名を取得する方法

perlスクリプトの中でスクリプト名を取得する方法について説明します。FreeBSDのC言語だったらgetprogna...

perlでファイルを排他ロックをする

perlでファイルをロックする場合には、flockを使用することができます。UNIXのNFSで使えないことが多々...

socketプログラミング struct sockaddr_inのin_addrとは?

はじめにstruct sockaddr_inの定義についてstruct in_addrの定義についてin_addr_tの定義についてin_por...

GNU Emacs 対応する括弧をハイライトさせる

Emacsでプログラミングをしているときに役に立つ、対応する括弧をハイライトする方法について紹介します...

C言語プログラミング ifdefでデバッグする方法

プログラム開発をする過程で、デバッグをすると思います。今どのような値が入ってるかを確かめたり、開...

C言語プログラミング マクロで可変引数を扱う方法とデバッグprintf

C言語で可変引数を扱う場合は、stdargのva_argなどを利用します。マクロ(define)でも可変引数を扱いたい...

PHP DNS MXレコードを取得する方法

PHPでDNS MXレコードを取得する方法について説明します。MXとは、Mail eXchangeの略で、DNSの情報の1つ...

PHP DNS IPアドレスから逆引きする方法

PHPでIPアドレスからサーバ名を逆引きする方法について説明します。サンプルコードPHPでIPアドレスから...

PHP DNS ホスト名から名前解決をする方法

PHPのdns_get_record()を使って、DNS Aレコードを取得する方法を説明します。DNS サンプルコード簡単な...

UNIX C言語プログラミング プロセスの存在を調べる方法

はじめにpidファイルの拡張子pidファイルの置き場所sshdのpidファイルの例C言語でプロセスの存在を確認...

C言語 関数の引数を可変引数で扱うためのva_argの使い方

C言語における可変引数とは、引数の数が変わる引数のことです。C言語で可変引数を受け取るためには、va_...

Unixのソケットプログラミング gethostbyname()の使い方

はじめにgethostbynameの役割サンプルコード関連ソケットプログラミングの書籍を探すはじめにインターネ...

TCP/IP ソケットプログラミング inet_pton

はじめにソケットプログラミングinet_pton()の役割サンプルコード Inet_pton()inet_ptonの戻り値につい...

GNU GCC 4.3.1リリース

2008/06/06 に UNIXの利用されているコンパイラgccの GNUのGCCの4.3.1がリリースされました。http://gcc...

C言語 数値を32進数表記にする方法

C言語で数値を16進の文字列の変換するのは、snprintf()を使えば簡単にできます。今回は、C言語で数値を3...

C言語 文字列を逆順に並べ替える方法

はじめにC言語で文字列を逆に並べ替える方法サンプルコード実行例最後にはじめに私たちは、言葉を逆に順...

C言語 Unix /dev/urandomから乱数を読み込む方法

はじめにUnix環境における乱数の取得/dev/random/dev/urandomkern.random.sys.seededurandom と random ...

PHP 文字列を丸め込む mb_strimwidth

ある文字数を超えたらそれ以降をちょんぎって「...」を付けたりすることがあります。PHPでそれを同じよ...

PHP マルチバイト文字列 mb_strlen()の使い方

PHPで文字列の長さを測るのに、strlen()やmb_strlen()を利用します。ASCIIのデータだけ扱っているうちは...

vim インデントの深さに合わせて貼り付けをする方法

vimでヤンク(y)して、貼り付け(p)を頻繁にします。プログラミングなどをしていると、あるブロックをコピ...

C言語 FreeBSDで共有メモリを使う shmget/shmat/shmdt

UnixのIPCの1つに共有メモリがあります。共有メモリは、複数のプロセスで、メモリを共有します。共有メ...

PHP ドット表記のIPアドレスと整数を相互に変換する ip2long long2ip

PHPのip2long()とlong2ip()は、ドット表記のIPアドレスから整数に変換したり、整数から、ドット区切り...

PHP ドット表記のIPアドレスを整数に変換する

192.168.0.33 みたいなドット表記のIPアドレスを整数に変換するプログラムをなぜか久しぶりに書いてみま...

vim 対応する括弧やブレースを表示する showmatch/matchtime

vimエディタは、対応する括弧やブレースを表示することができます。プログラミングをしているときに、括...

Perl Benchmarkモジュールで複数のサブルーチンをベンチマークする

Perlでベンチマークをする場合は Benchmarkモジュールを利用すると簡単にベンチマークを計ることができ...

Perl ベンチマーク Benchmarkモジュールの使い方

Perlでベンチマークをする場合は Benchmarkモジュールを利用すると簡単にベンチマークを計ることができ...

perl DBI 最後に挿入したIDを取得する方法 last_insert_id

データベースにINSERTで値を挿入したあとに、INSERTした後にAUTOINCREMENTされたID(Last Insert ID)の値...

perl DBI/DBDの使い方

DBIは、Perlから様々なデータベースにアクセスするためのデータベースインターフェース(Database Interf...

FreeBSDにperl DBIとp5-DBD-mysqlをインストールする方法

Perl DBD/DBIのインストールFreeBSDでは、 p5-DBIとp5-DBD-mysql が必要です。p-5DBD-mysqlはmysqlのバ...

PHP scandir()でディレクトリエントリのリストを取得する方法

Unix系OS(FreeBSDやLinuxなど)は、ディレクトリ情報(ディレクトリエントリ)を取得するには、opendir()/r...

C言語 scandir()でディレクトリエントリのリストを取得する方法

はじめにscandir とはscandir の定義サンプルコードコンパイル方法実行結果ソートをするサンプルコード...

C言語 popen()でコマンドの入力に書き込む

はじめにパイプがプログラムをつなぐコマンドの実行方法サンプルソース popen.cコンパイル方法実行方法...

C言語 popen()でコマンドを実行して出力を読み込む

はじめにパイプがプログラムをつなぐコマンドの実行方法サンプルソース popen.cコンパイル方法実行方法...

FreeBSD C言語 kqueue/keventで簡易tail -fコマンドを作る

tailコマンドの-fオプションは、ログなどを監視するときに便利なオプションです。ファイルが更新される...



最近の記事

はてなの人気のブックマーク

コンテンツを検索しよう

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
プライバシーポリシー