中川さん(aka Psychs) がiPhone用の画像ダウンロードライブラリ 「ImageStore」 をGitHub上で公開されたようです。

iPhone 用の画像ダウンロードライブラリ、ImageStore のソースコードを公開します。

http://github.com/psychs/imagestore/tree/master

ライセンスは、New BSD ライセンスです。

Thanks!

posted by Png genki on Sat 25 Oct 2008 at 04:40

前回の中規模ネットワーク構築メモ(ゾーンボックス作成編)の続きです。

記事全体の目次は中規模ネットワーク構築メモを参照してください。

前回のゾーンボックス作成に引き続き、今回はラックに装着するパッチパネルを作成します。

必要なもの

パッチパネル作成では、このようなものが必要になってきます。

装置など

  • (前回ゾーンボックスに取り付けた)ケーブル
  • パッチパネル

工具

  • ドライバ(あれば役立つときがくるかな?)
  • テープを作成する機械(テプラなど)

ではでは、さっそく作業に移っていきましょう。

ラックにパッチパネルを取り付ける

パッチパネルっていうのは、以下の写真の上から4分の1くらいのところにある黒いバーです。

IMG_1397_R.jpg

簡単にいうと、パッチパネルとはジャックがパチパチとはめられるように加工されたただの板です。

設置場所はどこでもいいのですが、だいたい目の高さくらいに設置するのがいいということです。

しっくりくる場所に設置してください。 (僕の場合は最終的に胸の高さくらいになりました)

ケーブルを配置する

前回ゾーンボックスに配置したケーブルのもう一端を配置していきます。

IMG_1411_R.jpg

パチパチとはめていくだけの簡単な作業です。

前回、ゾーンボックス側では、橙色のほうからケーブル番号を1, 2, ..., 6番と決めました。

今回はパッチパネルが黒色なので、1番を白色のジャックとします。 前回同様、左から1, 2, ..., 6番です。

番号を割り当てる

ゾーンボックスに対応する番号をパッチパネルに割り当てていきます。 テプラなどでシールを作ってください。

IMG_1433_R.jpg

これでどのポートがどのゾーンボックスと対応しているのか一目瞭然ですね!!

最後に

以上で、パッチパネルの作成は終了です。

今回が今までで一番楽な作業でした。

いよいよ終盤です。今まで物理層的なことをずっと行っていましたが、次回はついにスイッチとつなげます! これで快適インターネットライフを送れますね!!

次回は、中規模ネットワーク構築メモ(パッチパネル・ハブ接続編)です。

乞うご期待!

posted by Png y_tsuda on Thu 23 Oct 2008 at 17:28

追記 PDF生成が重いようなので、backgroundで処理するように変更しました。
PDFで閲覧するためには、

  • 既存の記事について
    更新するとPDFが生成されます(キューに入り、生成処理終了後に記事表示するとPDF URLへのリンクが表示されます)
  • 2008年10月以降の記事について
    順次PDF生成処理を行っていきますのでしばらくお待ちください
  • 今後の作成される記事について
    作成・更新ごとにPDF生成されるようになっています。

gem prawn、plugin prawntoを使って実現しています。

条件:BlueCloth形式で書かれた記事であること

書いた記事を(意図したとおりに)PDFで表示させるには、ピュアなBlueCloth形式で記述する必要があります。BlueCloth形式を選択して記述していても、HTMLタグを含む記事についてはPDFで表示した場合、HTMLタグがそのまま表示されてしまいます。

制限:仕様

  • HTMLタグは(展開されずに)そのまま表示されます
  • 画像はJPG, PNGのみ(prawnの制限)
  • リンクは下記のように展開されます(PDFのリンクアイテムにはなりません)
    • [title](link先URL) => title(link先URL)
    • <URL> => URL
  • 太字(**で囲まれたもの)は通常の文字として展開されます
  • 表中の||、==は空のセルになります(マージされません)

制限:バグ

現状下記のような制限があります。

  • 長いタイトルの記事だと、タイトルが切れてしまう
  • 画像が表示されない場合がある
  • [math]タグを使ってのformulaの数式画像が表示されない
  • その他
posted by Png satoko on Wed 22 Oct 2008 at 11:31

I thought that the engineer's happiness is always in an expanding market of which it's expansion is benefit to all players.

Because the market is tolerant to mutual cooperation.

posted by Png takiuchi on Wed 22 Oct 2008 at 03:14

CoreGraphics を使った角丸長方形(RoundRect) を描画するためのメソッドです。

   1  - (void)
   2  drawRoundRect:(CGRect)rect
   3  withRadius:(CGFloat)radius
   4  inContext:(CGContextRef)context
   5  {	
   6    CGFloat lx = CGRectGetMinX(rect);
   7    CGFloat cx = CGRectGetMidX(rect);
   8    CGFloat rx = CGRectGetMaxX(rect);
   9    CGFloat by = CGRectGetMinY(rect);
  10    CGFloat cy = CGRectGetMidY(rect);
  11    CGFloat ty = CGRectGetMaxY(rect);
  12  	
  13    CGContextMoveToPoint(context, lx, cy);
  14    CGContextAddArcToPoint(context, lx, by, cx, by, radius);
  15    CGContextAddArcToPoint(context, rx, by, rx, cy, radius);
  16    CGContextAddArcToPoint(context, rx, ty, cx, ty, radius);
  17    CGContextAddArcToPoint(context, lx, ty, lx, cy, radius);
  18    CGContextClosePath(context);
  19    CGContextDrawPath(context, kCGPathFillStroke);
  20  }

角丸が好きなので多用しそうな気がします。 事前にStrokeやFillの色を設定してお使いください。

posted by Png genki on Wed 22 Oct 2008 at 01:39

研究室で話してたら、驚かれた。

意外と知ってる人少ない??

コード

   1  #include<stdio.h>
   2  
   3  int main(int argc, char *argv[], char *env[])
   4  {
   5  
   6    printf("%d\n", printf("Hello, World.\n"));
   7  
   8    return(0);
   9   
  10  }

実行結果

   1  $ ./printf_return
   2  Hello, World.
   3  14

ってことで、出力された文字列のバイト数が戻り値となります。

また、出力に失敗した場合は、負の値が入るとのことです。

posted by Png y_tsuda on Tue 21 Oct 2008 at 23:51

gitを使っていて、間違ったファイルをgit addしてしまった場合に、 これをキャンセルする為には、以下のコマンドが使えます。

   1  % git rm --cached <filename>

git rmは、Working Tree (作業コピー)と index からファイルを削除するコマンドですが、 --cachedを指定する事で、 indexからのみファイルを削除する事ができます。

git addはWorking Treeからindexにファイルを追加するコマンドなので、 git rm --cachedは、git addと対をなすコマンドだと言えますね。

posted by Png genki on Fri 17 Oct 2008 at 01:44

前回の中規模ネットワーク構築メモ(ケーブル作成編)の続きです。

記事全体の目次は中規模ネットワーク構築メモを参照してください。

前回はケーブルを作成したので、今回はゾーンボックスを作成していきます。

必要なもの

ゾーンボックス作成では、このようなものが必要になってきます。

装置など

  • (前回作成した)ケーブル
  • ゾーンボックス

工具

  • ニッパ
  • ドライバ
  • テープを作成する機械(テプラなど)

ではでは、さっそく作業に移っていきましょう。

ケーブルを配置する

ゾーンボックスとは、写真左の箱のことです。 この箱に、前回作成したケーブルを配置していきます。

IMG_1427_R.jpg

パチパチとはめていくだけの簡単な作業です。 ここで、橙色のほうから、ケーブル番号を1, 2, ..., 6番と決めておきます。

IMG_1428_R.jpg

フタを閉じる

ゾーンボックスのふたには、切り込みがあるので、ニッパで切っていきます。 IMG_1429_R.jpg

そして、切り取ったところからケーブルを出し、フタをして完成です。 このような感じになります。

IMG_1432_R.jpg

やっぱり、色違いのジャックがあるほうが便利な気がします。 左から1番?右から1番?ってことが起こることを防げそうです。

番号を割り当てる

ネットワークの管理が目的なので、ゾーンボックスに番号を割り当てておきます。もう一端のほう(パッチパネル側)にも、番号をつける必要があるので、テープを2枚づつ作っておくと良いと思います。

IMG_1431_R.jpg

このように番号を割り当てておくと、配線図を書くときなどに便利ですね。

最後に

以上で、ゾーンボックスの作成は終了です。 今回は比較的簡単な作業でした。

ようやく終りが見えてきた気がします。 最終的には、LANケーブルをゾーンボックスにつなげば、インターネットに接続できるという状態にします。

次回は、中規模ネットワーク構築メモ(パッチパネル作成編)です。

乞うご期待!

posted by Png y_tsuda on Thu 16 Oct 2008 at 15:52

Sqlite3を使っている場合に、テーブルが存在するかどうかを確認する為には、 以下のようなSQLを実行すればOkです。

   1  SELECT count(*) FROM sqlite_master
   2    WHERE type='table' AND name=?;

?には、sqlite3_bind_textなどで存在を確認したいテーブルの名前をbindします。

あとは結果をsqlite3_column_intなどで取得すればOkです。

See Also

posted by Png genki on Wed 15 Oct 2008 at 19:07

「SQL Server Express」をバックアップするのは、面倒。 管理画面「SQL Server Management Studio」上からGUI操作でのバックアップはできるが、スケジューリングして毎日バックアップ、というようなことができない。以下のようにすると実現できる。

概要

「SQL Server Express」をコマンドラインから操作できるようにして、バッチ処理のタスクにする。

準備

「SQL Server Express」をコマンドライン操作するツールはsqlcmdでこれはmicrosoftからダウンロードできる。先に、同じURLからダウンロードできる「sql native client」のインストールが必要なことに注意。

「sql native client」と「sqlcmd」のインストール

「Microsoft SQL Server 2005 用 Feature Pack- 2007 年 2 月」のURLから「Microsoft SQL Server Native Client」と「Microsoft SQL Server 2005 コマンド ライン クエリ ユーティリティ」をインストールする。

私の環境の場合「SQLServer2005_NS.msi」と「SQLServer2005_SQLCMD.msi」をインストールした。

Microsoft SQL Server 2005 コマンド ライン クエリ ユーティリティ

SQLCMD ユーティリティを使用すると、SQL Server 7.0、SQL Server 2000、および SQL Server 2005 インスタンスへの接続や、Transact-SQL バッチの送信を行えます。またこれらのインスタンスから、行セット情報を出力することもできます。SQLCMD は ISQL と OSQL に代わるものですが、ISQL または OSQL と同時にインストールして使用することもできます。

注 : Microsoft SQL Server 2005 コマンド ライン クエリ ユーティリティには、Microsoft SQL Server Native Client が必要です。両方ともこのページからダウンロードできます。

 

Microsoft SQL Server Native Client

Microsoft SQL Server Native Client (SQL Native Client) は、SQL OLE DB プロバイダと SQL ODBC ドライバの両方を備えた単一のダイナミック リンク ライブラリ (DLL) です。この DLL は、ネイティブコード API (ODBC、OLE DB、ADO) を使用して Microsoft SQL Server 7.0、SQL Server 2000、または SQL Server 2005 へ接続するアプリケーション用のランタイム サポートも備えています。SQL Native Client は、新しいアプリケーションの作成や既存のアプリケーションの拡張を行うとき、これらのアプリケーションで SQL Server 2005 の新しい機能が必要となる場合に使用します。SQL Native Client の再配布可能なインストーラによって、SQL Server 2005 の機能を利用するときに必要となるクライアント コンポーネントがインストールされます。また、SQL Native Client API を使用するアプリケーションの開発で必要となるヘッダー ファイルをオプションでインストールすることもできます。

#sqlcmdのコマンドオプションの詳細は以下を参照。
http://msdn.microsoft.com/ja-jp/library/ms162773.aspx

タスクの準備

まずFullBackup.sqlを用意する。DB名を仮にtestDBとすると

BACKUP DATABASE testDB TO DISK = N'D:\db\backup\ testDB' WITH INIT

次にコマンドプロンプトで以下を実行する。(iオプションはSQL ステートメントまたはストアド プロシージャのバッチを含むファイルを指定するオプション。)

sqlcmd -i D:\db\FullBackup.sql

処理結果が返ってきた。

ファイル 1 で、データベース 'testDB'、ファイル 'testDB_dat' の 776 ページが処理されました。 ファイル 1 で、データベース 'testDB'、ファイル 'testDB_log' の 1 ページが処理されました。 BACKUP DATABASE は 777 ページを 6.079 秒で正常に処理しました (1.045 MB/秒)。

後はこれをタスクスケジューラに登録して毎日実行すれば良い。 とりあえず、世代交代とかはまた別途。

posted by Face ysakaki on Tue 14 Oct 2008 at 18:24