Archive for 9月, 2005

Web上に本棚を

火曜日, 9月 27th, 2005

ブクログ -Web本棚サービス-

最近、日曜大工がしたくてしょうがない。というのも来月引越しをするので、この際だから家具を手作りしてみたいと思っている。まず始めに、キッチンワゴンと技術書・雑誌等の大き目の書籍を入れる本棚を作りたい。
というつながりで、Web上に本棚を作れるサイトを発見しました。こちらは 私の本棚。見てもらうとわかるのですが、Amazonのデータを呼び出して使ってるようです。画像を横圧縮して背表紙に見せたり、ポインタもって行くと書籍の表紙が見れたり。各書籍のレビューも見れます。「似てるかも本棚」機能も面白い。ちなみに、自分のAmazonアソシエイトIDを設定しておくと、アソシエイト機能も使えます。

でも、なんか、他人に本棚を見られるのって、自分の嗜好とかがばればれになるので、恥ずかしくないですか?



リモートデスクトップ

木曜日, 9月 22nd, 2005

 Windowsのリモートデスクトップを使ってみました。
Windows XP Professional : 機能別紹介 - リモートデスクトップ
@IT / リモート デスクトップで遠隔操作する

サーバーを手元で操作する為にリモートデスクトップを使い始めました。
接続のオプションでローカルデバイスの設定があるのですが、「ディスクドライブ」にチェックして接続すると、自分のマシンのドライブをあたかもサーバーのドライブであるかのように使えます。なんか、混乱します。
SさんがLinuxからやってみるというので、私が遊んでたRedHat入りの非力なマシンを提供。256色しか出ないけど、フルスクリーンにすると、ぱっと見、Windowsそのもの、という事です。使ったのはrdesktop

ちなみに、リモートデスクトップ接続の際にctrl + alt + delete を押したい場合は、ctrl + alt + end を押すそうです。Windows XP で使用可能なショートカット キー一覧 の「リモート デスクトップ接続のナビゲーション 」参照。



プロパティへのアクセス

金曜日, 9月 16th, 2005

 システムの大まかなプロトタイプをつくり、先輩に見てもらった。

クラスを作り、それらのプロパティを外部からアクセスする箇所で質問が。

VB.NET:
  1. Public Class AAAAAA
  2.         Private foo As Integer
  3.         Private baa As Integer
  4.         Public Property pFoo() As Integer
  5.             Get
  6.                 pFoo = foo
  7.             End Get
  8.             Set(ByVal Value As Integer)
  9.                 foo = Value
  10.             End Set
  11.         End Property
  12.  
  13.         Public Property pbaa() As Integer
  14.             Get
  15.                 pbaa = baa
  16.             End Get
  17.             Set(ByVal Value As Integer)
  18.                 baa = Value
  19.             End Set
  20.         End Property
  21. End Class

Javaにはプロパティは無いが、似たようなことをするなら

JAVA:
  1. public class AAAA {
  2.     private int foo;
  3.     private int baa;
  4.  
  5.     public int getBaa() {
  6.         return baa;
  7.     }
  8.     public void setBaa(int baa) {
  9.         this.baa = baa;
  10.     }
  11.  
  12.     public int getFoo() {
  13.         return foo;
  14.     }
  15.     public void setFoo(int foo) {
  16.         this.foo = foo;
  17.     }
  18. }

と書く。

先輩から「変数 foo, baa自体をpublicにして外部からアクセスすればよいのに、何でGetterやSetterを書くのか?」と質問されたが、答えることが出来なかった。ので、調べてみた。

メンバ変数をクラス外部から直接アクセス出来ないようにして、状態の変更はすべてメソッドを通して行うというやり方は、 カプセル化 という概念です。利点として、

  • アクセス方法を制限する事により、オブジェクトがより独立したものとなる
  • セットした値の妥当な値かをオブジェクト内でチェックしたり、変更したりできるので、望まない値が変数に格納されない
  • そういう「作法」を作っておくと、大規模開発でもみんなが同じ作法でコードを書く事ができる
  • 上手くまとめられない…。プロパティのアクセスというより、オブジェクト指向でシステムを作るという事の利点を勉強しなおさないといけないような気がしてきました。

    以下は参考にしたサイト

  • @IT / Insider.NET / オブジェクト指向プログラミング超入門
  • CavalierLab / クラスモジュール講座 / プロパティ
  • ++C++;// Unindentified Flying C++ / C# で学ぶオブジェクト指向 / プロパティ
  • Visual Basicプログラマのためのオブジェクト指向プログラミング入門 - .NETの前に押さえておきたいVisual Basic的オブジェクト指向について


  • “常識”は”雑学”の事では無い

    金曜日, 9月 16th, 2005

    養老 孟司 / 新潮社(2003/04/10)
    Amazonランキング:1,212位
    Amazonおすすめ度:


     県立図書館で借りて読もうと思っていたら、いまだに予約が20件以上入っていたので、買って読んでみました。

     イデアについて述べられてる箇所を読んで、オブジェクト指向を連想。Webで調べたら、そういう事を書かれてる方が結構いらっしゃいました。
    @IT - オブジェクト指向の世界(10) プラトン編-イデア論とクラス/インスタンス

     イデアとか、愛別離苦とか、学生のころに哲学の授業で習った覚えがあります。そのときはあまり関心が無かったのですが、実生活に即してくると興味がわきますね。



    Google Hacks

    月曜日, 9月 12th, 2005

    Tara Calishain, Rael Dornfest, 山名 早人, 石川 隼輔, 堀井 洋, 村上 明子, 鹿島 久嗣, 小柳 光生 / オライリージャパン(2005/08)
    Amazonランキング:9,914位
    Amazonおすすめ度:


    正確で新しい情報を見つけられる人は、今の時代、有利です。というわけでGoogleの裏技集みたいな本の邦訳を読みました。

    Googleの便利な使い方から、新しいGoogleサービスのHack、プログラムからGoogleを利用する方法とかが書いていて、Googleで遊んで見たい人にお勧めです。

    そんなこと普通やらない、というようなHackがいくつか書かれています。なんか、アメリカ人のオタクは物理的に(行動的に)アクティブだなぁ、と思わされる一冊。



    発信するホームページ

    土曜日, 9月 10th, 2005

     私が学生の時にホームページデザインのアルバイトを始めた頃、まだブログや CMS は有りませんでした。だから、HTMLを書いてサーバーにFTPでアップロードして、という知識が無いとインターネットに情報を発信する事は難しかったのです。
    ブログやCMSは、それほどHTMLを意識しなくても文書や画像をWebページという媒体で公開できます。例えば、会社内で"少しパソコンに詳しくてホームページを作れる人"が任されていた「インターネット上の広報」を、"そんなにパソコンに詳しくない人"が担当することも可能になったのです。
    (more...)



    レコードの自動採番

    木曜日, 9月 8th, 2005

    主キーでユニークな番号を持ちたいときなどに自動的に番号を採番する方法。

    1. 採番用のカウントマスタテーブルを用意する。
    プラス、カウンタマスタ用の何らかのプログラムをセットで書いておく。

    2. テーブル作成時にauto noを設定する。
    設定した列に自動で番号を振ってくれる。DBMSによっては使えない。MySqlで設定する場合は

    create table testm (
      key01           smallint unsigned not null auto_increment primary key,
      data01          varchar(10),
      data02          int8
    ) type=InnoDB;

    3. シーケンスを使う。
    サーバー側でCNT_FOOとかシーケンスを作っておく。
     Oracle Enterprise Manager コンソールを開き
     ネットワーク>データベース>SID名>スキーマ>DB名>順序
     で右クリック-作成

    シーケンスの現在の番号の次の値をBBBB_MST.AAAにINSERTする

    insert into BBBB_MST ( AAA, XXX, YYY, ZZZ)
    Values(CNT_FOO.NEXTVAL, xxx='', yyyy='', zzz='') 

    現在の番号を取得する

    select CNT_FOO.CURRVAL from Dual


    GMailアカウントを手に入れた

    木曜日, 9月 1st, 2005

    Watch Me Changeというサイトを見た。GAPのキャンペーンサイト。体型や皮膚、髪など、人のパーツを選んでヒトを作っていくと、最後に服を脱ぎながら激しく踊る、という無駄に技術を使った面白いサイト。ちょっと重たいので、非力なマシンでブラウズするのはご注意ください。

    Life Hackという言葉を御存知でしょうか?Life Hackとは(Edmeisters Homepage)を参照のこと。仕事に限らず、日々の生活の中でも「これちょっと便利かも」という小技のことです。プロジェクト管理の中にも取入れてみると進捗があがるかも。

  • lifehack.org
  • 43folders
  • To-Done!
  • idea * idea
  • いまさらながら知ったのですが、Googleの検索は便利な使い方がたくさんあるらしい。Googleの特殊機能をみると、"5+2*2"と入力すると計算結果を返したり、株価検索、路線検索、ヤマト運輸株式会社の荷物配達状況検索とか出来るらしい。あと、"2000 USD in JPY"と入力するとドル→円換算とか、"300 feet in m"と入力するとfeet(フィート)→m(メートル)に換算する。知らなかった。

    巷で噂になっているGoogle Mailのアカウントを手に入れた。使い込んでみよう!と思ったが、Gmailのアカウントを持っている友達もいないので、Google Talkも面白くない。