!!!独り言日記
!!言葉の壁(2005/07/26)
言葉。これは、最近の仕事での課題事項です。
日本国外でも仕事を進める現状、ドキュメント類をネイティブが分かる人に
英訳してもらったりして意思疎通を図ろうとしてるのですが、
細かいところが伝わってるのか不安です(^_^;;。
やっぱし、技術者が英語ができるほうがいいですねぇ<自分のことですが。
このへんのノウハウは、管理能力・技術力とは違った経験がいるなぁ、と
改めて感じてます。いわゆる「ブリッジ」部分の質や密度が大事なように思います。
それと、業務系のノウハウ(基幹システムの流れ)が
理解できれば話が早いのに、という側面が
ちらほら見え隠れしてます。これって、プログラムとは絡まないのですが
意外と話せる人が少ないですね(私の周りだけかもしれないですが(^_^;;)。
そんなこんなでリアルな「ボトルネック」が、その意思疎通部分にあるなぁという事実を体感してます(苦笑)。
日本では、というよりも海外でもその傾向は変わらないみたい。
このへんの知識は業務内でしか教えることができない部分だったりしますが、
他の企業はどうしてるんだろう・・・?
こじんまりですが、手の届く範囲で教育(といったレベルではないですが知識共有)の
普及を進めていければいいなぁと妄想してます。
!!喫茶店?(2005/07/23)
最近は、週一回くらいのペースで喫茶店に行ってそこで英語の勉強をしているのですが、
いろいろ場所を変えてみよう、ということで転々としてます。
で、ケーキのあるところ(甘いもの好きですので)を探してたのです。
散歩がてら行っていた東京目黒にて「果実園」という喫茶(ケーキ屋?)を
見つけました。
で、三時間くらいいたのですが・・ここのケーキが激ウマでした(イチゴショートケーキ)。当分はここにロックオン、です(笑)。
しかし、来月のはじめに海外遠征することに決定したのですが、語学力が間に合うだろうか・・・。
ちょ〜っとは理解できるようになった気がするのですが、反射神経がないと
思うことこの上ないですねぇ。
で、チャンスかどうか分からないですが、五反田付近(私の散歩は広範囲でして、数駅またぐのはザラだったりします(^_^;;)で自転車に乗った外国の方に道を尋ねられました。
英語の練習としてちょうといいやと思ったのもつかの間、流暢な日本語で「目黒駅まで
どういったらいいの?」で拍子抜け。「まっすぐだけど、ここからは遠いよ」と返したんですが、「いや〜、まっすぐ行ったんだけど見つからなくて」との答え。
「じゃあまず五反田駅まで行って、そこから線路沿いにまっすぐでいけるよ」と返しておきました(この間、ぜ〜んぶ日本語で)。
英語の道案内はちょうど勉強してたところだったんですが・・・、おしいっ。
しかし、声だけ聞いてるとそのまま日本人やん、と思えるくらいに流暢でした。
あんな感じで海外で母国語以外を話せるといいだろうなぁ、とうらやましく思いましたねぇ。
・・・しかし、この日記も久しくプログラムの話題ができてないですね、すみませんです(実際、仕事私生活ともにドキュメント作成と英語勉強でいっぱいいっぱいですので、開発自身ご無沙汰です)(^_^;;。
!!受信メールが消えてしまった・・・(2005/07/20)
家帰ってから7/20に来たメールを読もうとしたら、ノートンがウイルスチェック
かけて「ウイルスがありました」と出ました(いつものことです。
最近はNetSkyが多いです)。ということで、駆除したら
受信ログ自身を削除されてしまいました(^_^;;。Oh,No!!
ということで、申し訳ありませんが、
もし7/20に私宛に重要なメールをされた方が
いらっしゃいましたら、再度送信いただければ幸いです。
過去ログも全部消えたのですが、7/19以前の重要な内容は別個にしてるから
無事だと思います。
う〜ん、えらいミスしてしまった・・・。
しかし、最近はウイルスやらDMが多いです。
!!LAMPとLAPP(2005/07/18)
再び短縮用語系の話です。
システム関連で「LAMP」というのをたまに見ます。
これも最近ちらほら目にしていたのですが、なんのことか知らない言葉でした。
!LAMP
OSとしてLinux、WebサーバとしてApache、データベースとしてMySQL、
言語としてPHPを使う構成を指してます。この頭文字をとって「LAMP(Linux Apache MySQL PHP)」としてます。オープンソースのみで構成したシステムですね。
!LAPP
Linux Apache PostgreSQL PHP。
LAMPのデータベースをPostgreSQLにしたもの。つまりこれもオープンソースで構成。
で、この単語がビジネス関連でもよく出てくることを考えると、
Windows/Oracleなどの商用も肩身が狭くなってきている、ということでしょうか。
たしかに、オープンソースでも簡単に扱えるようになってきており、
日本語環境も充実してきてますし。
JavaでなくPHPというのが私としては引っかかってましたが(<Java好きなもんで(^_^;;)、Javaの場合はインストールと
バージョンの互換性、個々の環境・フレームワーク(Tomcat/JSF/Strutsなど)の
組み合わせなど多様化してきてしまってます。
しかし、速度の面は(サーバサイドは)別に問題にはなりにくいですよね。
それより大事なのは安定性だったり、見通しのよさ(将来の発展の予兆があるか、
システム構成が簡潔で分かりやすいか)、そしてどのOSでも動くというマルチプラットフォーム対応だったりします。
インハウスの大規模なシステムではJavaのほうが普及してますが、
サーバ1台で中規模な管理システムを作る場合などはPHPも捨てがたくなってきてます。
クライアントサイドもリッチクライアントで多様化してますが、
サーバサイドもいろいろ選択肢はありますねぇ。
で、流れを見て確実にいえることが、オープンソースのシステムは企業も信頼し始めている、
ということです。極端に言うと、ソフトウェアでは商売にならない、という
プログラマとしては「どうよ?」という状態に移行している事実(^_^;;。
今企業が利益を上げている部分はサービスであって、実開発ではなかったりしてますね(しかし、そのPHPでシステムを組んでそこの代価を求めるというのはありますが。この部分は一回作れば終わりですので、たぶんそこだけに特化するときついと思います)。
このへんって、昔のプログラマ(場合によってはアセンブラで最適化したり、Socketで通信させたり)の知識は必要なくて、積み木のようにできてしまう部分でもあります。
で、所感ですがプログラマは二分化してきてるのかな、と最近思うところです。
比較的しきいの低いシステム構築と、職人芸的なコア部分(一般に言われるクライアントアプリケーションもその部類かも)と。Webプログラムでは後者はあまりいらないですので、プログラムもマニア向けではなくなったんだなぁと思ってしまいますね(^_^;;。
では、将来決定的なCMSが出るとどうなるでしょう?今度はプログラマが必要でなくなってしまう・・。ただ、昔から専門知識がなくてもシステムができてしまう(プログラムを組まなくてもアプリケーションができる)のは理想、なんてのがありましたので、いずれはそうなるのかな。
Webアプリという分野はいずれプログラマ要らずにはなるとすると(特にプログラムの専門知識は必要なし、業務知識さえあればよい)、プログラマとしては次の道を模索しないといかんですな、と妄想したりします。
・・・ちょっと言い方悪いですが(場合によりけりですが)業務のシステム化
というのは、時と場合によっては逆に使い勝手が悪くなる(社員がパソコンに
疎い場合や情報数が少ない場合など)危険性もあるかなと。
なにか、少なくなってくるパイの奪い合いも今後起こるのかなぁとも思ってしまいます(案件としてシステム化のネタがなくなれば、当然システム開発者の仕事はなくなるわけですからね)。
!!Flash Player v8 public beta(2005/07/16)
ここに紹介記事がありますね。
http://www.forest.impress.co.jp/article/2005/07/13/flashplayer8beta.html
しかし、サーバサイドも結構力入れてるなぁ。FlexがもろJavaシステムを意識した(というかそれを利用した)ようなフレームワークなわけですが、以下のような
デモを見ると普通にアプリケーションをブラウザに埋め込んでる感じですね。
以下の説明はリッチクライアント(このサイトでは、リッチインターネットアプリケーション(RIA)と呼んでます)について分かりやすく解説してます。
http://www.macromedia.com/jp/software/flex/productinfo/brz_overview/
今後はHTMLベースのものから、リッチクライアントに移行するのかなぁと
思ってしまいます。HTMLのデメリットなども上記サイトで説明されてます。
どのリッチクライアント環境がデファクトスタンダードの座を勝ち取るか、楽しみではありますが
この部分は先行きが面白そうですね(現に、EXPOではいろんなリッチクライアントを各社が競ってましたし)。
しかし、Flash(Flexのみ?)でブラウザの「戻る」のフックができるのか・・・・
知りませんでした。
!!どこでも作業(2005/07/13)
仕事の締めが近いのに作業場に入れない状態が発生してまして、
でも作業せな・・・という状態でした。
でせっかくなんで(?)、息抜きがてら「バーミヤン」で飯を食いながら4時間くらい
仕様書作ってました。ちょっと環境変えてみると、なかなか作業が進みますね。
しかし、平日昼間でも学生さん(たぶん中学生)がだべってたんですが・・・。
授業さぼってたのかなぁ。
周りはうるさかったのですが、別段気にはならずに作業に集中できました。
土日はたまに英語の勉強を喫茶店でやったりするのですが、パソコンやネットから離れるのも結構気分転換になってよいです。
でも、よく考えると、昔はパソコンを使わずにチラシの裏にプログラムなりを
書いて勉強してたので・・・、と考えると作業や勉強するのにあまりパソコンは
使わないのかなぁ、と自分自身で思ったりします。
(人によりますが、アルゴリズムを考えるときはパソコンと向かい合わないほうが
はかどりますし)
!!ドキュメント(2005/07/11)
仕事でシステム関連のドキュメントを書いてます。
しかし・・・・一人でやるわけではない仕事の場合、ドキュメントは
結構重要だったりします。
少人数の場合は意外と無視されたりするんですが、これができてないと
意思疎通がなかなか難しかったりして統率が取れないんですよね(経験上)。
・・・それにしても、最近開発できてない・・・。むずむずするなぁ。
お分かりのとおり、仕事をまとめる立場に立つと ずっとドキュメントと
にらめっこしている、というのは日常茶飯事になってしまいます。
さて、仕様書などを書く場合に
ぜひともチェックしておきたい項目があります。ドキュメントを見ると、だいたいの
実力が分かりますので一応の目安にしたりします。
ちょっと当たり前のところだけ書いてみます。
!どこの会社が作ったの?担当は?
まれに抜けている会社があります。こんな場合は足元見られます(苦笑)。
!いつ作ったの?いつ更新したの?
報告書レベルでも日付はいれましょう。また、「初版」「第二版」「第三版」などの
バージョンは書くように心がけます。
!何のドキュメントなの?
いわゆる「つかみ」です。私の場合は「目的」として、一番初めに主旨を
書くようにしてます。長々とした見出しはいりません。簡潔に「ぶっちゃけどうよ」を
書きましょう。
!調査書・提案書などには「思います」などの不確定文は禁句
これも、たまにみられます。考察でないかぎりは、不確定な文章(思います、かもしれない、・・と考えられる、など)は書かないようにしましょう。
また、可能でしたら「顧客データ・店舗データ、など」のような「など」も
使わないようにします(列挙できる項目はすべて列挙)。
!見出しははっきりわかりやすく
文章だけでなく、デザイン(配置)にもこだわりましょう。
意外と、システム系のところはここが弱かったりします。
!図を活用する
これも分かりやすくするコツです。構成図・フローチャートとかですね。
ぱっと見の印象にもかかわる部分ですので重要といえば重要です。
フローチャートは書式があって面倒で・・・とか、そんなのは考えなくても
いいかと。ようは的確に言いたいことが伝わればいい、
相手に分かりやすく伝える文なり図を書くことが重要です。
!とにかく分かりやすく!!
プログラマは陥りやすいのですが、相手(ドキュメントの読み手)は素人としてみるべし、です。
へんな専門用語を列挙してカッコつけないことです(コードをリファクタリングすることでスムーズかつシームレスなプロセスが実現できる、なんてアホな文は書かないか・・・とも言ってれらないこの世の中。マジでこんな感じなのあります)。
こんなのは当たり前、と思われる方も多いと思います。
いやいや、数社(フリーランス含む)これでふるいにかけたことがあるのですが、
ほとんどは全滅でした(しかも、いわゆるライティングを専門としている
プロの会社に対して)。
基礎力を見るにはまず書面から、ですので気にかけておいて損はないと思います。
!!入力フォームのstyle(2005/07/07)
Webブラウザの入力フォームのテキスト入力では
とした場合、WindowsXPのIEでのみ以下のようになってしまいます(なお、XOOPSの出力を簡易的に書いただけなのでテキスト入力枠のみで解釈してくださいませ)。
{{ref_image winxp_20050707.png}}
ここでstyle指定を入れることで強制的にwidthを固定にします。
{{ref_image winxp_20050707_2.png}}
これは、XOOPSサイトでよく見られるのですがどうも気になってしまって(^_^;;。
といいつつ、ここのFreeStyleWikiでもこんなデザインが狂ってる部分はあります。
HTMLはブラウザにより解釈が違う場合がありますのでやっかいではありますね。
でも、なぜWinXP(もしかしたらIE)でこんな変な修正が行われたんだろう・・・
!!NOTA(2005/07/05)
CMSについてちょっと調べごとがあってググってました。知り合いの海外通の
方いわく、海外ではXOOPS自身はあまり流行ってはいないとのこと。ただ、
対企業でのヒアリングなので もしかしたら個人ベースでは普及度は違うかも。
少なくとも、レンタルサーバでXOOPSもサービスとして入れているのがある、
というのは日本特有なのかな。
しかし、私のほうでPHPおよびXOOPSを深くいじっていたのですが
結構いいですね。
コンテンツ作成には向かない(CMSなのに(^_^;;)というのを感じたのですが、
TinyDというプラグインを使うことでコンテンツも(HTMLコードは書く必要は
ありますが)ハックしなくても記述できました。
それと、PHPは今回まともにいじってみたのですが
非常に覚えやすく(といってもASPの知識があったので・・・ほとんど
同じ感じですねぇ)PHPを0から覚えたとしても、
1日もあればシステム組めるくらいには上達できますね(システム自体は
規模によりけりなのですが、Javaと同じくらいの生産性の高さはありそう)。
きっちりオブジェクト指向を意識したプログラムもできるじゃないですか。
こりゃ普及してるわけです。
で、話を戻して・・・CMSを調べていたときに「NOTA」というのを見つけました。
http://nota.jp/introduction.html
Flash/Perlを使った自由性の高いホワイトボードシステムです。
以下がその実装ページ。
http://nota.jp/trial/ymir/
http://nota.lolipop.jp/rphcandy/
すでにリッチクライアントの土台としてはスタンダードになってる
Flashを使ってるので特にFlashPlayer以外はプラグインなどをインストールする
必要はありません。
これは衝撃的なインターフェースでした。個人的にはFlashで外枠スクロールバーを
つけている(普通、Flashではこれができない・・・独自描画か?)のが
インパクト大きかったです(笑)。
自由度高いなぁ。型にはまってなくて新しく感じました。
そろそろHTMLの呪縛から解き放たれてもいいのでは、という中での
リッチクライアントは先行きが楽しみです。
(NOTA自身は、残念ながら現在は公開されてないです)。
!!ITで流行りの英字3文字(2005/07/03)
システム関連は、最近は遠ざかっていたのもあって
ふと振り返ってみると、ここ数年で略語が結構増えてますね。
「CMS/CRM/SEO/SEM」なんだこれ?というのがつい最近の自分です(^_^;;。
CMS(Content Management System)は「XOOPS」「Zope」などがその代表です。
砕けていうとHTMLを書かずして、またDBなども意識せずに
サイトを構築できるシステムを指します。
フリーライセンスだけでなく、企業向けの商用パッケージもあります。
CRM(Customer Relationship Management)は、
企業がお客さんと長期にわたってよりよい関係を築くための手法、の
ことだそうです(詳しくは知りませんが、「データウェアハウス&CRM EXPO」というのが先週東京ビックサイトでありました。そこに行ってきたのですが、恥ずかしながらCRMという単語は初耳でした)。
SEO(Search Engine Optimization)は、検索エンジンにて
引っかかりやすくするための手段を指します。
キーワードやリンクなどの効率的な使用ですね。あくまで
ヒット率狙いが目的なようです。
SEM(Search Engine Marketing)は、SEOと似ていますが、
特定のキーワードに対して広告を出したり検索エンジンを効率よく
利用したマーケティング戦術です。SEOもSEMに含まれる場合があるらしい。
私自身にわか知識なもんですから、詳しくはググってみてください。
しかし、いろいろな略称がありますね。
で、これらはよく考えると「今までなくてもよかったこと」であるような
気がします。
インターネットが発達してきたので生まれた副産物とも言えるかも。
CMSは、今までプログラマが介入しないと難しかったこと(=Webプログラミング
が必要なサイト構築)が
一般の人も使えるようになるためのツールと言えますし、CRMはその延長線上の
環境づくりであると言えるかもしれません。
SEO/SEMは、まさに検索エンジンありきの単語ですね。
システムが先行しているけど「じゃあ使い手(ユーザ)側は便利になってるのか」
というと、やはりそれなりに覚えることが多くなってるかなぁという
想いはぬぐえないです。
CMS/CRMも 何を生かすために導入するのか、とか
考えると、そもそも企業で共有する(システム化する)情報はあるのか、
とか基幹的な話になっていきそうですね(システム導入以前に情報を
まずまとめるべき、とか一度見つめなおすにはいいかもしれない)。
クライアント側も、HTML/JavaScriptのスタンダードな形態から
FlashやCurl/Nexawebなどを使った「リッチクライアント」の方向に
向き出しているのかなぁ、と感じたりします。
電車の広告やCMで最近出てきた「アイピ(NEXON)」は、ActiveXを
使ってるようで、すでにWebブラウザを意識させない
アプリケーションのようになってますね。
これは「SNS(Social Networking Site)」というらしい。
http://www.itmedia.co.jp/news/articles/0507/01/news081.html
しかし、三文字の英字略語が多すぎ(^_^;;。
!!Let's 英語圏(2005/07/01)
英語の勉強は牛歩前進で続行していますが、
ついに崖っぷちというか
仕事にて英語に正面から接する機会が近づいてきました。
仕事仲間で、身近に英語を扱える人がいるのが救いではあります。
今週、海外の方の話を聞いてきたのですが
通訳してくれる方に甘えるのはそろそろ申し訳なく
思ってきたので、まじめに勉強せねば。
で、今月中に8年ぶりくらいに海外に行く予定にしてます。
しかし、その8年で結局英語がぜんぜん上達できてない(^_^;;。
いずれは通らないといけない道だったので、英語上達を最優先にシフト中です。
一応、海外遠征は商談が表の目的なんですが(システム開発関連)、
相手が私のようにいろいろなことに手を出しているってことで
似たもの同士で一度話をしたいなぁ、とアポがあったのが真の目的だったりします。
しかし、技術の分かる人(その手の会話ができる人)が
身近にいないというのは切実な問題ですので
負荷分散が今後の私の課題であります。
日本では仕事・知識に関しては一点集中の人が多いですが、
海外では(もちろん人によりますが)いろいろなことに
チャレンジしている方が目立つような気がしてます。
これはこれで問題なのですが(広く浅くになるので)、
適合性やつぶれにくさ(?)で言うと もしかしたらアリなのかなぁとも思ったりします。
例えば「情報を効率よく共有したい」という場合でも、
ネットワークを使うの?・サーバの選定・セキュリティ・場合によってはDB・
アプリケーション選択(手頃なのがないとシステムを構築(プログラム&
GUIデザイン))、で保守・メンテがありますので。
後は運用ドキュメントもいりますね。
もちろん、物理的なサーバ代やネット使用料・
人件費を除くとこれらは全部フリーでできるものなの
ですが、選択肢は多岐に渡りますので・・・。
この部分、時代の流れが速いのでヘタすると流行についていって
失敗してしまう、ということもありそうではあります。
(Jakarta projectとか、すごいプロジェクト数ですからね。
安全にシステムに組み込めるのは、
やはり枯れてしまった技術かなぁ、というのが今までの経験上の最適解かな)
とまぁ、予定通りというか自分を英語圏に追い込むことができ、
仕事での話し合いという大義名分ができたので これで
英語が上達しないとまずい状態ができたかな(^_^;;。