IPAM や DHCP サーバーを実装するとき、IP アドレスを機械的に生成するために、IP アドレスの計算をする事があります。 例えば IPAM がラックやデータセンターから機械的に IP アドレスを割り当てたり、DHCP サーバーが連番の IP アドレスを割り当てたりします。 この記事ではシェルスクリプトで IP アドレスを計算する方法を紹介します。 IP アドレスと数値の変換 IP アドレスを計算する上で欠かせない操作が、IP アドレスと数値の相互変換です。 IPv4 アドレスは長さ 4 のバイト列に過ぎませんが、通常は192.168.0.1 のように人間の扱いやすい文字列で表現します。 一方 IP アドレスを計算するには、IP アドレスをバイト列や 32 ビット数値などの、計算機で扱いやすい形に変換します。 IP アドレスを数値として扱えると、数値演算で IP アドレスを計算したり
#!/bin/bash echo "こちらでよろしいですか? [Y/n]" read ANSWER case $ANSWER in "" | "Y" | "y" | "yes" | "Yes" | "YES" ) echo "YES!!";; * ) echo "NO!!";; esac Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
ipmsg.pl - Perl IP Messenger Perl 5 によるネットワークプログラミングの習作として、題材として手軽な IP Messenger を作成しました。IP Messenger は UDP で通信を行ないます。Perl で実装するなら、Socket パッケージの socket, send, recv を使えば、IP Messenger とのやりとりが実現できます。ここで紹介しているソースリストは、習作としては少々複雑になってしまいましたが、IP Messenger プロトコルのほとんどのコマンドを実行できます。 ここでの UDP による通信を Perl で行なう方法については、以下の文献を参考にしました。 斎藤、小山、前田、布施、「新Perlの国へようこそ」、13.10.2 節「UDP」、サイエンス社, 1996. IP Messenger に関しては「IP Me
「車輪の再発明」ですが、javascriptでMD5を計算するスクリプトを作成しました。そして2049通りのテストケースを作成し、各ブラウザでテストしました。おまけに各ブラウザのjavascript実行速度のベンチマークもしました。 はじめに さくらレンタルサーバーのApacheはmod_digestが入っていないようで、Digest認証ができません。 パスワードを平文で毎回送るベーシック認証も如何なものだろう?と思っていました。(まあSSLにすればよいんですが。) ふと、「ブラウザ側で、javascriptにてDigest認証と同様にハッシュを生成してやればよいのでは?」と思いつきました。 そこで、javascriptでMD5が実装されているか調べてみました。 尚、今回作成した記事中で参照しているファイル(yjdmd5.js, testcase.js, md5test.html)の再利用
JavaScriptで全角を2、半角を1と数える必要があったので調べてみたら、大量に参考になるページが出てきました。結構需要があるのですね。 html5のcanvas上にテキストを描画する際、テキストの長さを取得するにはmeasureText()メソッドを使います。canvasを初めて使った時、このメソッドに気づかず、「全角を2、半角を1として数え、フォントサイズを掛けて長さを求めよう」などと考えたのですね。その時に必要になったわけですが、これで正しいwidthが分かるわけもなく。 それはそれとして、表題のコードは非常に有用で使い所も多いのでメモしておきます。コードはこちらを参考にさせていただきました。 var charcount = function (str) { len = 0; str = escape(str); for (i=0;i<str.length;i++,len++)
/// <summary> /// iniファイル取り扱いのためのユーティリティクラス /// </summary> class InifileUtils { /// <summary> /// iniファイルのパスを保持 /// </summary> private String filePath { get; set; } // ========================================================== [DllImport("KERNEL32.DLL")] public static extern uint GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, uint nSiz
こんにちは、tomitaです。 一般的なwebサーバでは、静的ファイルに「Etag」「Last-Modified」ヘッダが付加され、サーバ <=> ブラウザ間で適切なキャッシュコントロールが行われます。 (参考:HTTP ETag - Wikipedia) しかし、PHP 等で生成した動的コンテンツには上記ヘッダが付加されないため、常に最新のデータがサーバから送られてきます。 当然動的ページなので下手にキャッシュされると困るのですが、更新頻度の低い動的ページではコンテンツキャッシュさせたいことがあります。 その場合は以下サンプルプログラムのように「Etag」「Last-Modified」ヘッダを生成・送信します。 <?php header( "Content-Type: text/plain; charset=UTF-8" ); // Last-modified と ETag 生成 $la
問題 jQuery使ってます。 ラジオボタンの選択されている項目の文字の方を取得したいです。 答え ラジオボタンの、選択されている項目をあらわすセレクタは、name属性を使うとこう書ける。 input[name='kome']:checked 値を取得するには、 $("input[name='kome']:checked").val(); 表示しているテキストの方を取得するには、このままでは難しいが、label要素で囲んでしまうとやりやすい。 HTMLをこのようにして、 <label><input type="radio" name="kome" value="1">コシヒカリ</label> <label><input type="radio" name="kome" value="2">ひとめぼれ</label> <label><input type="radio" name="kom
I have a parameters.ini file, such as: [parameters.ini] database_user = user database_version = 20110611142248 I want to read in and use the database version specified in the parameters.ini file from within a bash shell script so I can process it. #!/bin/sh # Need to get database version from parameters.ini file to use in script php app/console doctrine:migrations:migrate $DATABASE_VERSION How wou
「あるセルがどこで使われているのかを調べる方法はありませんか?」 というご質問をいただくことがあります。 計算式の入ったワークシートを修正しようとした場合、そのセルがどこから参照されているのかを調べる必要が出てくるためです。 例えば、A1セルに「=B1+C1」という計算式が入力されている場合、B1セルやC1セルを修正すればA1セルの値も影響を受けることになります。 この時A1セルには「=B1+C1」という計算式が入力されていますから、B1セルとC1セルを参照しているということはすぐわかりますが、B1セルやC1セルを見ただけではA1セルから参照されているということはわかりません。 うっかりB1セルやC1セルを削除したり、B1セルやC1セルに計算式を入力したりすれば、A1セルも影響を受けてしまいます。 こういったことを防ぐために先のようなご質問をいただくことになるわけです。
C#で、COMを用いてIE (InternetExplorer)を自動制御する方法を以下の記事にまとめています。 前書きC#でIEを自動制御しよう (1) はじめにプロジェクト作成時の前準備、概略説明サンプルコードを動作させるために必要な設定の話など。C#でIEを自動制御しよう (2) プロジェクトの設定基本操作サンプルコード一覧(7)以降では、「C#でIEを自動制御しよう (6) ページの読み込み完了まで待機する」で紹介している拡張メソッド Waitを利用しています。C#でIEを自動制御しよう (3) IEを起動するC#でIEを自動制御しよう (4) IEで指定したURLを開くC#でIEを自動制御しよう (5) IEを閉じるC#でIEを自動制御しよう (6) ページの読み込み完了まで待機するC#でIEを自動制御しよう (7) フォーム(テキストボックス)に文字を入力するC#でIEを自動制
C++の関数からCの関数を呼び出す C++の関数からCの関数を呼び出すことは、日常的に行なわれています。例えば、C++で書かれたプログラムがsqrt()等の標準Cライブラリー を利用 する際には、無意識にC++の関数からCの関数への呼び出しが行なわれています。ここでは、その舞台裏と、自分で書いたC関数を呼び出す方法を説明しま す。 ヘッダーファイル csub.h C++ソースファイル中で、これこれはCプログラム側で定義された関数あるいは変数であると宣言できます。次のように書きます。 extern "C" { 宣言の並び } 通常は、これをヘッダーファイルに書きます。C++のソースからも、Cのソースからもインクルードできるように、C++コンパイラーで定義されるマ クロ``__cplusplus''を使って場合分けします。実際に、C 標準ライブラリーのヘッダーファイルは、このような構造をしてい
いつもOSCで展示していたSuicaカードリーダーですが、いつもだいたいSuica以外のカードをかざして「えっだめなの……」ってなるケースがあって、そうすると説明が面倒になる(単に作りこみの問題だった)ので、対応カードを増やしました。 新しくEdy、nanaco、waonの表示に対応しました。あと、カードの種類を表記するように変更しています。交通ICの場合はSAPICAとIrucaはIDが違うので表示できますが、Suica, PASMO, ICOCA等々その他のカードは共通っぽいのでまとめてSuicaでの表示になります(これまた説明が面倒になりそうだわね)。 さて、新対応のカードですが、Edyとnanacoはわりと簡単に実装できました。 しかし、waonがクセモノで、ビット単位で情報が詰め込まれていたので、慣れないビット演算で苦労しながら半日以上かけて作ってました。カードの値の変化を確かめ
2012年7月4日 簡易DNSサーバを自作してみた 先日はどうも (笑) 本当はこの記事を最初に取り上げたかったんだけど、忘れるといけないので、思いつきだけど dd でのバイナリファイル編集の記事を先に書いちゃいました。 さて、今回の話。 今回は簡易 DNS サーバを DNS 関連のライブラリなどは一切使わずに実装してみました。 自分は Python を使いましたが、バイナリデータを操作するのと socket 使うだけだから好きな言語で書いてくれて良いと思う。 まず、なんでそんなことしたかというと、ある脆弱性の解析をするのに、実験環境でマスターファイルに書けない (けどもプロトコルの仕様上存在してる) レコードを応答してくれるようなサーバが欲しかったから。 普通は DNS のマスターファイルには A レコードとか SOA レコード、NS レコードやその他のいくつかのレコードを書
COLLECTION & COPYのそのリソースを訪問済みか判定するやHatebu Addictionなどで使われている既読チェック。これらとは違う、getComputedStyle()メソッドを利用して文字色を取得し訪問済みリンクの文字色かどうかをチェックという手法で既読チェックを実現している、Jeremiah Grossman: I know where you've beenというページを見つけた。FirefoxやSafariなどではこれで既読チェックが可能。 getComputedStyle()メソッドはstyle属性やJavaScriptで設定されたスタイル以外のスタイル情報をまとめて取得するメソッドで、ComputedCSSStyleDeclarationオブジェクトを返す。そして、ComputedCSSStyleDeclarationオブジェクトのgetPropertyVal
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く