同じコードをコピーペーストする前に考える [プログラミング関連]
コピーペーストが組織内の文化になった場合、修正範囲の広がりは計り知れません(苦笑)
他の人が書いたソースコードを読んで自分なりに解析してみる [プログラミング関連]
新言語で同じ機能を満たすように書き直したりと、他の人が作成したプログラムを読んだり、修正したりする機会が、結構あるかと思います。
そんな時、他の人が作成したプログラムを自分なりにじっくり解析してみることをおすすめします。
私が実践している具体的な解析の仕方をご紹介したいと思います。
(あくまでの私のやり方ですので参考程度に・・・)
システムリリース後のメンテナンスや機能追加のために大切な自分のための仕様書 [プログラミング関連]
書類のレイアウトは顧客指定や社内での決められたフォーマットなど、いろいろあると思いますが、それ以外にシステムリリース後に、システムのメンテナンスや機能拡張にかなり役に立つ、作成しておいた方が良い大切な書類があります。
プログラミングを覚えるコツPart2 [プログラミング関連]
プログラミングを覚えるコツPart2ということで以前の続きなわけですが、プログラミングを覚えるための、一番効果的な方法として下記の方法があります。
・プログラミング関連の仕事に関わる(就職する)
→ やはり仕事として現場で責任を感じながら、納期までに頑張ってシステムを作り上げていくと、かなりの技術力が身に付くと思います。完成させようと試行錯誤しながら必死に作るので効果は絶大です。その分ストレスやら疲労も大ですが(苦笑)ちなみに、私見ですが大規模システムの一部の開発に関わるよりも小規模でも全体の構築を任されて作り上げたほうが、全体を矛盾ないように構築するための仕組みや方法を調べたり考えたりしながら作成していけるので、視野が広がると思います。(あまりに小さすぎるシステムは得られるものが少ないかもしれませんが・・・)
全体を構築していくことにより
・RDBMS
・プログラミング言語
・ネットワークインフラ
・サーバ構築・設定
・ドキュメント作成(各種設計書、操作マニュアル、運用マニュアルなど)
などの知識と技術が身に付くと思います。
プログラミングを覚えるためには、基礎知識や基礎技術力も大事ですが、現場で実際にシステム構築を経験することが一番だと思います。現場を肌で感じ、体で覚えられます(体得できます)ので。
GoogleMapsAPIでGeocodingを実装してみる [プログラミング関連]
とりあえず先日買った書籍で、Geocodingを使って日本語の住所から緯度経度を求めるJavaScriptをガリガリ組んで、自宅サーバに実装しました。
実装した機能は
・日本語の住所を入力して、見つかった場所をセンタリングする
・見つかった場所にマーカーをセットする
・見つかった場所の緯度経度をテキストボックスに表示する
です。
少ないコーディング量で、この機能を使えるのは結構感動ですね。
本当にすごいです!GoogleMapsAPI!!
最近のJava関連のフレームワークなどの流行 [プログラミング関連]
最近Javaを仕事で使っていないので、なんだか疎くなってきた気がします(笑)
Struts以降?騒がれているHibernateやらSpringやらSeasar2など、どんな感じなのでしょう?
Strutsだけでもメンテナンス性や拡張性がかなり上がると経験上思うのですが、(struts.configの肥大化によるメンテの大変さは除いて[笑])他がどれほどの効果があるのか、興味があります。
いつやれるかわかりませんが、また書籍を買っていろいろと試してみたいです。
GoogleMapsAPIのGeocodingが載っている本をついに購入 [プログラミング関連]
ついにこの本を買いました。
Geocodingのサンプルが乗っているので、今度の休みにでも日本語のGeocodingを自宅サーバで試してみようと思います。
リファレンス本なので、これがしたいということが載っていて結構重宝しそうです。
少しずつ、試していこうと思います。
プログラミングを覚えるコツ [プログラミング関連]
プログラマとして今までプログラミングを少しでも理解しようと自分なりにいろいろ実践してきたなかで、効果があったと感じる方法をご紹介したいと思います。
新しい言語を覚える時のコツ
1.興味があるプログラミング言語の開発ツールを手に入れる
→ Visual Studio 2005 Express、Eclipseなど、フリーで手に入る開発ツールがありますので、それらをダウンロードして、まずは開発できる環境を作りましょう。開発ツールの解説書籍もありますので、それを購入すると楽に準備ができると思います)
2.プログラミング関連の技術書籍(興味がある言語の書籍)を自分のお金で買う
→ 自分のお金で買う事で、財布に痛手を負ったぶんだけやってみようという気(覚悟?)になります。購入する書籍は、サンプルプログラムが載っている入門用の書籍がいいと思います。
3.書籍に載っているサンプルプログラムを実際に自分でコードを打ち込んで実行してみる
→ 自分で考えたシステムでなくても、一生懸命打ち込んで動いたプログラムは、結構うれしいですし達成感も味わえます。
4.一通りサンプルプログラムを自分で打ち込んで動かし終えたら、コードをじっくり眺めて自分なりのコメントを入れていく
→ わからない関数やクラスの役割を調べながら、自分なりの解釈でコメントを入れていくことで、理解が深まります。最初は一つのコードを調べるのにかなりの時間がかかりますが、適度に継続する事で、しばらくするとさらさらとコードが読める(何をやろうとしているのかが見えてくる)ようになってきます。
5.サンプルプログラムに自分なりにコードをつけたして、実行してみる
→ ここにこのコードを入れたら、こんな結果が出力されるかもしれないと頭の中で想像しながら、コンパイルエラー(文法のエラーや実行時のエラーなど)が起きてもいいので、試行錯誤して思った結果が得られるようにコードをあれこれ打ち込むことで、「こうするとこういう結果が得られる」ということが(試行錯誤を繰り返しているうちに)無意識にわかるようになってきます。
6.書籍を参考に自分で一からコードを打ち込んでみる
→ 見よう見まねでガリガリとコードを打ち込んで実行してみます。サンプルプログラム同士をくっつけたりして、多機能プログラムをつくってみるのもいいと思います。コンパイルエラー(文法のエラーや実行時のエラーなど)が起きたら、どこが間違っているのかエラーメッセージを読んで探して修正することを繰り返しているうちに、どこが悪いのかがだんだんわかるようになってきます。
2から6を色々な書籍を買って繰り返しているうちに、基本的なプログラムのコードが、かなりガリガリと組めるようになってくると思います。
そして、
7.言語のリファレンス本を買って、色々な関数やクラスの使い方を覚える
→ リファレンス本には入門用の書籍では載っていなかった関数やクラスがたくさん載っています。今まで打ち込んできたプログラムに、リファレンス本に載っている関数やクラスを使って新たな機能を組み込んでみるなどして、実際に動作を確認していくと、さらにプログラミングの幅が広がると思います。
8.応用編やすぐに役立つプログラムのサンプルコードが載っている書籍を購入する
→ 自分では気づかなかったプログラミングの方法や、高度なプログラミングを知ることができます。書籍に載っているコードがどのように動いているのか自分で解析してみることで、さらに高度なことが学べて、実現できる機能の引き出しも増えていくと思います。
9.検索サイトから関数やクラスの使い方を検索する
→ 検索サイトから検索すると、関数やクラスを使用する方法(ソースコード)や解説が載っているページが見つかると思います。かなり有益な情報を載せている方のサイトもあるので勉強になると思います。
10.Webのプログラミングコミュニティに参加して、誰かの質問に答えたり、自分の疑問を質問してみる
→ プログラミングのコミュニティでは活発に意見交換を行っていますので、そこでのコミュニケーションによって、新たな発見があると思います。
だいたいこんな感じです。これを長く続けると、最初は見えなかったものが、だんだん見えるようになってきて理解するのが早くなると思います。
何でもそうですが、最初は何がなんだかわからず、大変だと思います。でもそれを努力してふんばって乗り越えると、バラバラだった点と点がつながって、自分の中でパーっと知識が広がる瞬間がきます。
日々の積み重ねが大切なことだと、私はいつも自分に言い聞かせています。
プログラミングを始めようとしている(始めたばかりの?)これからの方々に、少しでも参考になりましたら幸いです。
すごい!!GoogleMapsAPI [プログラミング関連]
先日、近くの家電量販店に行って、なにげなくPC関連の書籍をながめていると、発売されたら絶対ほしい!と思っていた本が売っていました。速攻でレジに突撃し、購入しました。
その本がこれです。
さっそく、この本を参考に、GoogleMapsAPIを使用できるように、Googleのサイトから自分のサイトを登録して、キーを取得しました。そして、自宅のサーバーで、本に載っているサンプルを少し改良して、処理を作ってみました。
作ってみた処理は、以下のような処理(JavaScript)です。
1.単純に地図を表示して、拡大、縮小、移動、現在位置の表示を行う処理。
2.1の処理 + 地図上のクリックされた位置の緯度、経度を、テキストボックスに表示する処理。
3.2の処理 + テキストボックスに入力された住所を検索し、見つかった住所の地点を
地図の中心に表示する処理。
4.3の処理 + 地図上のクリックされた位置に、マーカーを表示する処理。
使ってみた感想ですが、それほどコーディングしなくても、地図を使ったいろいろな処理が作れてしまうということに、驚きました。
現在GoogleMapsはベータ版ですが、これが正式にリリースされ、それでも商用利用が可能ならば、今まで高価な専用GISソフトや、専用地図、ハイスペックなサーバーを何百万円もかけてやっと構築できたGISサーバーで行える機能が、いとも簡単に実現できるようになるのではないかと思います。ぜひ正式版になっても、商用利用可能になってほしいですね。
今後も、いろいろとGoogleMapsAPIを使った機能を試していきたいと思います。