標準化と最適化

一般社会でこのような単語を口に出して言うと、首を傾げられるかもしれません。でも、ロジックありきで動いている世界では、とてもポピュラーな言葉です。いや、言霊と言ってもいいくらいです。
(言霊 : 言葉に宿っていると信じられていた不思議な力。発した言葉どおりの結果を現す力があるとされた)
いや、我ながら言い得て妙な気がします。これがあって初めてロジックが正しく動き出すような気がします。 標準化は単純に言うと時間短縮の手法であり、その為のガイドラインを作成する事ですが、開発の現場では実際のソースコードやモジュールやライブラリで、そっちの事を指す場合が殆どです。だからあまり気にも留めませんが、年月をある程度過ごしてから落ち着いて考えてみると、その考え方や手法の重要さにあきれ返ると思います。 コンピュータはそもそもロジックで成り立っているので、このへんの標準化はしっくりはまります。人間世界の標準化はルール作った後ルールを正しく守れる為の標準化がまた必要なのでキリがないです。ですがやらないと決して成果が正しく出ないのです。もっと簡単に言うと、損益分岐点に光を当てる為の地道な努力なのです。 そして、考え方としてはとても便利なもので、標準化だけでシステムの概要設計までは行えますし、クライアント毎の中身の個別の基本設計が「最適化」です。 最適化は、簡単に言えばチューニングであって、性能を上げる為の工夫を言います。もちろん、最適化もある程度は標準化できますが、たいていにおいて、これが「ノウハウ」と呼ばれて門外不出の秘伝だったりするわけですね。
記録

Python である理由も Ruby である理由も通常は無いのですが

まず、少なくとも PHP がある以上、Ruby で WEBアプリを作る根拠が自分には全くありません。商品として作る以上それに対価を払うユーザが居るわけなので、彼らの都合が最優先され、その場合には PHP より上位のものを使う理由も出てきますが、Ruby である必要をそこに見い出す事は残念ながらできないのです。



しかし、Ruby にできて PHP に出来ない事もあるわけで、その場合は商品と言うよりも、運用ツールとして威力を発揮するものです。おそらく Mechanize に出会わなければ、自分はいまだに Ruby を使う事は無かったと思います。

これは、Ruby がどうのと言うより、Ruby を好んだとても優秀な技術者が偶然 Mechanize を担当したという我々にとってはラッキーな出来事で、唯一の彼が居なければどうなっていたか解りません。事実、Perl で Mechanize と言う選択肢にはならなかったのですから。

そこで、Python ですが、存在だけは知っていたのですが、その実体は 2010年04月17日 に調べて初めて知り、その上で利用価値を見出すのに苦労しました。しかし、どうやらパッケージスクリプトとして標準化しやすいという事( エンドユーザが流用しやすい ) と、cx_Freeze というような実行形式に変えてしまおうという事が元より一般化していたようです。これは、実は運用者にとっては魅力あるものです。



php2exe というものもあるにはあったのですが、PHP4 までで作者は興味を失ったようで更新されていません。自分は動作確認して、その環境ならば使える事を知っていますが、PHP5 が当たり前の世の中で非常に優先順位の低いものとなってしまいました。

ruby2exe もあります。しかし、これも成熟したプロジェクトには見えないので未調査ではあります。



インターネットの使いみち

1) コミュニケーション
2) 調べもの
3) 買い物
4) ゲーム

後は、他人のブログを読んだり、記事やニュースを読んだり、漠然と時間を過ごす「暇つぶし」ですが、例えば通勤中に行うそれはとても有意義であったりするものです。

インターネットを構成するいろいろなもの



★ イーサネット

イーサネットは、MACアドレス(Media Access Control address) でデータを受信したり送信したりする場所を持っており、MAC フレームというデータを小分けにして運ぶ為の仕組みを持った、ローカル用のネットワークの実現方法を決めたもの(規格)で、一般的にはパケットと呼ばれる「分割されたデータ」が行ったり来たりする事によって、複数の MACアドレス間で通信を可能にするものです。

パケット(packet)は、主にイギリスでの「小包」。アメリカではパック(pack)になるようで、後、パッケージはもう少し大きいまとまったものを意味するようです。


★ World Wide Web

インターネットで、最も主要となるデータの読み取り方法を実現したシステムの名前で、「ワールド、ワイド、ウェブ」を「ウェブ※」と言ったり、頭文字を取って、WWW「ダブリュ、ダブリュ、ダブリュ」と言ったりします。

インターネット上には、「サーバー」というコンピュータが存在して、そのコンピュータの中のプログラム(アプリケーション)の一つとして、WWWのサービスを行う為にWWWサーバー(総称)が動いています。実際はほとんど、Apache(アパッチ)というアプリケーションがそのWWWサーバーの名前です。(※ この為 WWWサーバと言ったり、WEBサーバと言ったりします )


★ W3C【World Wide Web Consortium】

WWW の呼び方としては、「ダブリュ、ダブリュ、ダブリュ」では長すぎるので、「ダブリュスリーシー」というような省略の一つです。実体は、WWWで利用される技術の標準化をすすめる団体で、一般にはあまり知る必要の無い内容です。ですが、言葉としては結構たまに出て来るので知っておいたほうがいいかもしれません。


★ IPアドレス

インターネットを利用する場合、いろいろお世話になるコンピュータの住所となるものです。このアドレスは大きく分けて二通りあり、インターネット側から見たアドレスと、LAN 側から見たアドレスと二種類あります。どちらも一つの場所を指すのですが、一般的にはインターネット側から見たアドレスを「グローバルアドレス」と言って、「場所」に対して一つ与えられる事になります。そして、「場所」の中でその一つの「グローバルアドレス」を共有する為に「プライベートアドレス」というものを PC 毎に割り振ります。

これは、普通 192.168.xxx.xxx というアドレスとなりますが、DHCP というサーバーアプリケーション( 通常ルータの中で動いています )が自動的に割り振っているので、特別な事をしない限りは意識する必要がありません。


MAC アドレスは、LAN カード等の通信機器に最初から割り振られていますが、IP アドレスはそのネットワークの都合によって後から割り振られます。地球上の場所を特定する為の「緯度・経度」が MAC アドレスで、その国が決めた住所が IP アドレスのようなものでしょうか。


モデムルータの違い

モデムは「変換器」で、ルータは「中継器」。実際問題として PC にそれらが直接繋がっている場合、モデムは PC 一台としか繋げられないと考えるのが通常です。それに対して、ルータでは変換済の信号をネットワーク上で個別に流す機能(DHCPやNAT)を持っているので、なんらかの LAN 機器を繋げると複数のPCと接続できます。



※ 通常ルータに複数の LAN ケーブルを差し込むところがある
※ その数で足りなければ、HUB を繋いで差し込む場所を増やす事ができる
※ 最近では、無線で直接 PC と ルータを繋げる事ができる

※ NAT は厳密には、NAPT ですが、あまりこだわる必要はありません


確定申告で税金を払ってきました。

自営業みたいなものなので確定申告です。



とは言っても「主たる」収入は月でもらっているのでそれだけなら年末調整だけでいいのですが、他の収入は年末調整されないので年に一回税務署通い。

毎年用紙を送ってくれます。

給与所得 = 収入金額 - 給与所得控除額

経験無い人は解りにくいかもしれませんが、もらった全体に対して一定の範囲毎に計算式をあてはめて、「給与所得の金額」という第一段階の課税対象額を決めます。( 収入金額が稼いだ金額です )

いつも同じかどうかは知りませんが今回送られて来た資料では360万未満なら4で割って2.8かけて180,000 引くとかです。660万未満なら4で割って、3.2かけて540,000引きます。

普通このどちらかでしょう。

で、ここから控除できるものを引きまくって残ったものに税金かけるわけですが、控除後の金額が195万未満なら、5パーセントで、330万未満なら0.1かけて94500 引きます。1800万以上なら 4割です。

この理屈で行くと所得が低い人は、基礎・配偶者・扶養者の控除で税金計算がマイナスになる人がいます。当然税金無しという事です。で、これらを見越して毎月引かれている税金が決まってるのだと思いますが、通常多く取られているので年末調整で返って来るという事になります。

しかし、確定申告で追加の控除が無ければ他の所得が雑所得ならば最低でも5パーセントはモロ払う事になります(経費を引くことは出来ます)。ちなみに、「主たる」所得以外が年間20万以上は申告義務があります(例:収入金額-必要経費=雑所得)。また、扶養される者の条件として年間所得38万以内とあります(収入103万円ー給与所得控除65万円=所得38万円)。だいたいこのへんが知りたい数値ですよね。もっと言うと、別居していても自分の父親や母親が収入がなければ扶養控除する事ができます。(昔2年ほど母を扶養親族として届けた事があります。)



但し。

年金収入は所得になり。遺族年金は所得にならない(所得税法上)そうです。ついでに、特定扶養親族というのがあって、16歳以上23歳未満は特別に控除される金額が多くなります。

一般的な控除対象は医療費です。それと自営業者としては経費などが証明する書類を添付する事によって認められます。つまり、自分の収入にもよりますが、控除によって払うべきだった税金を払わなくて良い場合、最低ならば1万円あたり500円得(5%)をし、最高ならば4000円得(4割)をする計算になりますね。

医療費に関しては、10万円を超えた部分が控除になります。それでも、歯のインプラントなどは高額になるので相当控除されますので所得がマイナスになる可能性もあります。(その場合は税金は無しですが、次年度の住民税の所得割も無くなって、均等割のみになります)

支払いは税務署のそういう部署か金融機関ですが、郵便局で払えるのでこれが一番簡単で早いと思います。署員の人も「そのほうが早いです」とモロ言ってました。



関連するその他の資料

確定申告特集( お問い合わせの多い様式や手引き ) / 特に医療費控除


Oracle Database 10g Express Edition (Universal) のダウンロード

現在は Oracle Database 11g Express Edition です

新しいマシンにインストールする為にあらためてダウンロードしようと、ダウンロードページへ行ってみました。

だいぶ前に一度ダウンロードしただけなので全く忘れていましたが、OTN Japan とは別に oracle.com のアカウントが必要です。メールアドレスとパスワードでサインインしてダウンロードします。

ダウンロードページの JavaScript が少しバグってまして、初めてページを訪れた時は Accept のラジオボタンがチェックされいないので問題無いですが、一度チェックした後、サインインできずにダウンロードしないまま、再びサインインしてこのページに来ると、最初から Accept がチェクされていて、ダウンロードリンクが現れないので注意して下さい。

Oracle10gex

Decline にいったんチェツクして、Accept にチェックしなおすと、ダウンロードリンクが現れます。

関連する記事

Oracle 10g Express Edition のインストール