はてなキーワード: javaとは
Canvasは、FlashやJavaのようにプラグインを使わずに、JavaScriptベースで図を描くこと
↓ソース見てないの?
view-source:http://www.geocities.jp/nbdemo/canvas.html
元増田の苦悩は、日本語では、断片的なTipやリファレンスはあっても、
市販されている書籍のような情報がインターネットでは手に入らないということに原因があると思う。
英語だと、市販されている本がまるまるネットで公開されていることがある。
例えば、
SICP http://mitpress.mit.edu/sicp/
Real World Haskell http://book.realworldhaskell.org/read/
Practical Common Lisp http://gigamonkeys.com/book/
How to design programs http://www.htdp.org/
Thinking in C++ 2nd Edition http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
Thinking in Java, 3rd Edition http://www.mindview.net/Books/TIJ/
GNU Autoconf, Automake, and Libtool http://sources.redhat.com/autobook/
Managing Projects with GNU Make, Third Edition http://oreilly.com/catalog/make3/book/index.csp
Dive Into Python http://www.diveintopython.org/
Programming Ruby The Pragmatic Programmer's Guide 1st edition http://ruby-doc.org/docs/ProgrammingRuby/
On Lisp http://www.paulgraham.com/onlisp.html
The Art of Unix Programming http://www.faqs.org/docs/artu/
BRUCE PERENS’OPEN SOURCE SERIES http://www.informit.com/promotions/promotion.aspx?promo=135563
O'Reilly Open Books Project http://oreilly.com/openbook/
Creating Applications with Mozilla http://books.mozdev.org/
http://d.hatena.ne.jp/j5ik2o/20091024/1256369305 の
// 1.0 - 9 * 0.1 BigDecimal b1 = new BigDecimal(1.0); BigDecimal b2 = new BigDecimal(-9); BigDecimal b3 = new BigDecimal("0.1"); BigDecimal result = b1.add(b2.multiply(b3)); System.out.println(result.toString());
を見て悲しくなった。Javaってひどい。0.1は文字列で渡さないと誤差が出るってさ。泣ける。
C#なら
Console.WriteLine( 1.00M - 9M * .10M );
でOK
公式の解答が出たので答えあわせをしたみたら受かってたみたいなので、ちょっと調子に乗って書いてみる。すべてソースは俺なので、信憑性は薄いと思うが、信じる人だけ信じればいいという気持ち。
以下、スペック。
年齢:20代前半
基本情報の勉強は今の会社に入ったときにみっちりやらされて、配属が決まってからは自分で勉強したり、しなかったり。情報系といっても、開発ではないので、プログラムは全然わかりません。「ほぼ」といったのは就職が決まってから、Javaの本を買って書いてあるとおりにプログラムを打ち込んだだけだから。
とりあえず午前。とりあえず大事なことは二つ。基礎的な内容は把握しておけ。でも、テキストは信用するな。
就職前に私が買った基本情報のテキストは二冊。「やさしい基本情報技術者講座 2009年版 やさしい講座シリーズ」(高橋麻奈 著)と「基本情報技術者 2009年度版」(日高哲郎 著)。
正直にいいますが、当てになりません。どちらもamazon.co.jpの点数が低いですが、それも納得の内容です。二冊ともほぼ同じ内容ですが、どちらの内容をマスターしても、ほぼ受からないと断言できます。基礎の基礎の内容なので、確かに理解するのには必要な内容ですが、基本情報試験を合格するにはもの足りません。毎年、改訂版が出ていますが、ほぼ内容は変わらないようです。
テキストとしては「平成21年度 イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室」(栢木厚 著)が参考になりました。2chでみつけた基本情報技術者試験 おすすめの参考書一覧を参考にしました。
過去問については基本情報技術者の公式サイトで公開されているので買う必要はありません(午後のみ解説付き)(http://www.jitec.ipa.go.jp/1_04hanni_sukiru/_index_hani_sukil.html(下のほうにあります))。
あとは午前試験については、裏技みたいな方法ですが息子に教えた基本情報技術者試験の対策とコツの午前試験の箇所が参考になりました。午前は基本的に4択なので、常識的におかしい選択肢を消去するだけで正答率が上がります。あとは英語から推察してみたり、わからない用語でも漢字からどんな意味なのかを推察してみたり。
いうまでもないですが、基礎的な知識がないと裏技も通用しません。設問は全く分かりません、選択肢も意味不明では無意味ですから。
次に午後。戦略としては、時間を掛ければ絶対に解ける問題が何問か出るから、それをターゲットにして解く。
情報処理試験は最近新制度に変わりました。午後試験については、大きく変わった点が2点あります。まずは必須問題がなくなり、選択問題が増えたこと。もう一つはプログラム言語が必須ではなくなり、表計算が加わったこと(しかも配点が少なくなった)。
正直にいいますが、前制度ではプログラム言語の御陰で取得はあきらめていました。ですが、新制度になり、プログラム言語が必須でなくなり、選択問題が増えたことで、苦手な問題を回避できるようになったので合格ラインを超える点数をとりやすくなりました。
午後の試験のなかには、知識を問う問題もありますが、解く為に必要な情報はすべて問題に書かれている為、時間さえかければ解ける問題が多いです。アルゴリズムや擬似言語なんかも解きかたさえ覚えれば、あとは速さだと思います。
速さを鍛える為には数をこなすしかないです。問題集を買って、数をこなすのがスタンダードなやりかただとは思いますが、私はパズルをやっていました。数独とかもありですが、「宮本算数教室の賢くなるパズル―かけ算上級」がオススメです。素因数分解をしながらパズルをしてる感覚なので、普通のパズルよりもおもしろいです。
午後は基本的に論理と考える力を問う試験だと私は考えていたので、パズルも同じだと考え、暇潰しにやってました。書いてて、自分でも胡散臭いとは思いますが、解く時間が早くなって、点数があがったんじゃないかと思います。
ま、これも半分裏技というか、スポーツでいうと筋トレみたいなものだと思うので、午後の傾向をしっていることは前提条件だし、アルゴリズムや擬似言語などはちゃんと分かっていないと解けません。
胡散臭いのも交えながら書いてみました。誰もがこれで受かるとは思いませんが、参考までに書いてみました。御使用は自己責任で、計画的にお願いします。
今PJTマネージャーやってるけど、自分のToDo・スケジュール管理できないスタッフがほとんど。
もし、プロジェクトマネージャの意味で書いているんだとしたら、"PM"とか"プロマネ"じゃないのか。
"Java"を"JAVA"って書いたり、"Los Angeles"を"ロス"って略すぐらい恥ずかしい。
だから、彼らのToDoをこちらで管理して、進捗がどうかメール/電話で確認(彼らから報告をあげてこない)して、 期限破った報告してこないからこちらから連絡して。 メールに返信してこないから、送ったメールにこちらからRemindかけて(この管理はかなりめどい)。
開発者が仕事に専念できる環境を用意するのはPMの仕事に含まれると思っていたのだが違うのか?
また彼ら同士の間でToや電話でやりとりして共有されていない全体に影響を与える情報を、電話で聞いて。 なんで全体のスケジュールに影響与える話をToメールでして、管理側に連絡してこねーんだよ。 全体メールに電話で返すのは良いけど、なんでその結果共有しねーんだよ。 結果だけでも共有してくれないとスケジュールや管理に影響するって理解してるのかな。
"To"って何?メールを送信することか?
あと、外注を使うときは、電話なんかでコミュニケーションコストがかかる分、余裕を持っておいて…、
スケジュール建てて、遅延するからリスケして、アウトソージング先の人に謝って。 また遅延するからリスケして。
"アウトソージング"ってどうやったらそんなタイプミスできるんだ。
どんなに酔っぱらっていても、キー配列からそれは有り得ないと思うんだが。
あれか?俺が辞めた会社の上司みたいにブラインドタッチもできないのか?
いや、できなくてもいいけど、投稿する前に文章少しは読み返せよ。
お前、客にも誤字脱字が入った文章送ってるだろ。
そんな文章送られると、読まされる側もイライラするんだよ。
文章を読めば書いた人間の知的水準が分かるというが、これだけ誤字がある時点で知的水準が低いことはあきらかだな。
御愁傷様。
とりあえず医者に言われたとおり年内は無理しない。無理しないんだ。
とはいっても気持ちはあせって仕方がない。
鳩のニュースにあわせて雇用悪化が叫ばれるともっと頑張るべきだったかもと後悔。
いいや、ひとまずは気分転換にホームページでも作ってみよう。すごい久しぶりだ。
http://anond.hatelabo.jp/20091005232725
この不況にたいしたスキルも持たずに退職とか、悲観的になれます!
次の職場も同じかもしれないという不安も付きまといますし……。
http://anond.hatelabo.jp/20091005233453
残念です。
http://anond.hatelabo.jp/20091005235011
スキルないんですよね。
初心者なりにJAVAかCかなーと思っていたら事務処理でCOBOL(珍しいらしいですね)の部署に配置されたので。
飲み込みのよさが異常という社外研修講師のほめ殺しを信じて頑張ろうかなと思います)
http://anond.hatelabo.jp/20091006012727
春樹が苦手な元増田は泳ぐことをあきらめました。
散歩してます。
たしかにjavascriptをきっちりマスターすれば、それは強みになるかもしれない。
しかし、いかんせんアクが強すぎる。王道になり得ない。
まず、javascriptだけで完結しない。どうしてもサーバサイドが絡む。
いや、javascriptで完結できるよ、と思うかもしれないが、それは特殊だ。ニッチだ。
何を言っても今のところ、javascriptは組込み言語の域を出ていない。
実行環境が特殊過ぎる。
ファイルシステムがあってプロセスがあってネットワークがあるOSに透過な環境で動かない。
DOMがあってHTTPでデータが運ばれてシングルタスク的な環境になってる。
そして、クラス/インスタンスモデルではなく、プロトタイプチェーンモデルだ。
サーバソフトウェアから使い捨てプログラムまで書くような言語ではない。
プログラミングの体験には良いかもしれない。オブジェクトを体験するには良いかもしれない。
しかし、程々にして他の言語に移った方が良い気がする。
javascriptを極める前にマルチリンガルを目指せ。
……。
当たり前か。
一つの言語で満足できるわけない。
まずは私という人間を見てみよう、好きじゃないことは長続きせず、好きなことは熱中してしまう、
好きな事は明日の仕事というものがありながらもいい大人にも関わらず深夜にまで没頭してしまい明日に影響を与えるという傾向がある、
そして好きじゃないことは好きな事に関連する事柄であっても取り掛かるまでにいくらかの気合、もしくは事前の動機付けによるToDo作成、ToDoの見直しが必要だ。
具体的にはプログラマである私は現在主力にしているC++で趣味のツールを作る分には没頭して深夜になってもひたすらもくもくとキーを叩いている、
叩ける、叩かぬなら 叩くまで待とう ホトトギス、家康さん、あっしは待つ必要なんて無いでっせ、待機時間0でっせ、
さてPG足る物自己の修練は必要である、どうやら巷ではJava、PHP、VB等の需要があるようだ、Swing使って簡単なGUIアプリ作って見とかないとな、
と書籍購入、Webベースクライアントからサーバ上DBをごにょごにゅと操作しておかないとな、と書籍購入、VB?、必要な時に触ってりゃ覚えるでしょ。
そして気合を入れてさあ学習するぞとPC前に向かう、数十分後、部屋が綺麗になっている素晴らしい!、
学ばぬなら 学ばせてみよう ホトトギス、嗚呼秀吉様、どうかあっしに手ほどきを、ぎゃあ信長様!、どうかご慈悲を、やります、やりますとも!、どうか命ばかりは!、
8月の終わり。
高校時代の友達と集まって呑んだ。
一人は九州で電気工事の会社に、私は大阪でパソコンショップの店員、
もう一人は大阪の電気工事の会社に就職した後、続かずに辞めたが結局また別の電気工事の会社に落ち着いた。
久しぶりということで酒が凄くすすむ。
私達3人は3人とも電子科を卒業していて、普通ならば電気工事の会社(回線関連など)に就職して、
技師として生きて行くのだが、パソコンが大好きだった私は進路を決められず、
大手の電気工事の会社に就職したものの、パソコン関連の仕事の魅力を捨てきれず、
結局そちらを本業に変えた。だけど、この仕事って具体的な技術とか資格が何も無い。
Comptiaとか販売士とか、あまりとっても意味の無い資格ばかり。
私は最近とても不安だ。他の二人をみていると、どちらも高校時代に培った技術を生かしている。
この頃、私も電気技師になってパソコンは趣味にしとけば良かったような気がしてならない。
20代半ばの頃は、私も若かったので、
好きなパソコンを販売することで飯を食ったり、商品知識を生かして営業の人と話すのが楽しかった。
某オンラインゲームのオフ会で偶然知り合い、幸運にも恋人になってくれる女性ができた。
この人と残りの人生を過したい、こどもも欲しい、、
そんなことを考えていると、今の自分の仕事に自信を持てなくなってきた。
多くの人生の方向は決まっていたと思う。でもそれにあえて逆らった結果、
私は好きなパソコンを売る店員になった。そのことに後悔はないけど、
今思えばとても贅沢なことだったのかもしれない。
友達の2人も他に夢があったのかもしれない・・というかあったと思う。
一人は高校時代に調理師免許を取得しており、もう一人は一度会社を辞めてバンドマンをやってた。
でも、金銭的な理由や、親の病気、結婚など色んな理由で辞めてしまった。
そういうことを聞いていると、
ただ単に好きなことだけをやってきて、それを仕事にして、
実は先週、取引先の人と呑んでたら、いい話を戴いた。
それはプログラマの話だ。
高校の頃、一応C、JAVAを勉強して、20代前半ぐらいまで、自分なりにソフトを作って遊んでいた。
・・・だいたい1.5倍ぐらいの収入になるという。
でも、私はプログラマとは何か肌が合わない気がして仕事にしようとは思ったことが無かった。
だがこのままショップ店員を続けていていいことがあるんだろうか。
スーツを着ない、常に低姿勢な接客、街頭で大声をだして呼び込み。。
こういう親父の仕事をどう思うんだろう。
そして、いつかはおそらく大手量販店に吸収され、、
肩身の狭い立場に追いやられる。
こういうことを他の2人に打ち明けた。
すると、2人とも即答で、プログラマになれって言った。
どうやら、もう私の人生は、私一人の人生だけじゃないみたいだ。
インターネットが異常に遅くファイルの保存ができないという遅さらしい
で、仕方なく家まで行って見に行った。ちなみに彼女は今付き合ってる人がいる。恋人がいるのにほかの男を家に入れていいのだろうか…僕はこんな人とはもう付き合いたくないと思いながらも心の中のどこかではまた…とか思っていたりする。まぁそれはいいとして
パソコンを立ち上げたら、異常に動作が遅かった。メモリ256MBのくせにXPをつんでるから無理があるのは当然だw
でも、うちもメモリ196MBに無理やりXPを入れててまぁ一応動かせるレベルなのだがそれよりもはるかに遅かった
ネットはものすごく遅く確かに次のページにいけないことすらあった
持ってきた自分のパソコンにLANをさしたら、確かに回線は遅いがちゃんと落とせるレベルだったので、パソコンの重さが原因だろうという結論に至った
そこで、片っ端からいらないソフトを消していくことにした
そしたらCabosを発見してしまったw こいつパソコン音痴の癖になんでこんなの使えるんだww
本人いわく、音楽を落としているらしい。違法じゃんw まぁ不問にしておいた
あとで気づいたのだが、CabosってJava使ってるのね。Javaも削除しちゃったよww また助け呼ばれたりしてwwww
彼らの様子を見ているとこっちのテンションまであがる。なんだろ、すっごい。
・財布(二つ以上にして、帰りの交通費・帰りのチケット入れ用にバッグの底に用意すると吉)
・チャージ済みSuica
・合羽
・折りたたみ傘(会場では広げないように 他の場所用に一応)
・カタログ
・地図
・栄養補給のための食べ物(カロリーメイトやウィダーなど手軽に食べれるやつ)
・飲み物(スポドリオヌヌメ 1L*2くらい必要 水とお茶は厳禁)
・飴(塩分補給できそうなの)
・戦利品入れ(大きめのトートバック辺り 買う量によって調整)
・タオル数枚
・着替えのシャツ
・保険証(まぁ必須ではないけど、倒れたりした時は役立つ)
・折り畳み椅子(お好みで)
・マナーを守る清く正しい心
・安全靴←NEW!
・・・これが本気を出すっていうことなんだろうか。
実は、なんでもできるんじゃないのであろうか。これほど整理されたもの、さらにここまで極限的なものはすばらしい。
まとめブログでもそれを伺えるが、始発前からほぼ10秒ごとに場所と状況を正確にやりとりしている。独自の暗号化も若干されている。
非常に有益な情報で溢れているともいえる。現場は狂乱ともいえるが。これは隣の人も含めた直接的口語も含め
MMORPGのように「!これで全員に聞こえる」みたいなフロア全体などのスコープも気にした情報のやりとりが行われる予兆なのかもしれない。
オタというかなんというか、それにあこがれている人たちかは知らないが、情報は簡潔かつ明瞭である。
他人のことは結構見てる。吐いたとかキレてるとかモメてるとかその個人がこけた場合は速やかに離れ
しかるべき処置はとる。一種の限界状況が生み出すのかもしれないが、水が無い人に水をやる、
戦場に紛れ込んだ無知な人を遠ざけるなんてそれこそ評価に値する。ついでにスタッフには労う。
ウザいやつは全て暗黙の了解の元に排除される。空気を読まないやつは生きてはいけない仕組みになっている。
自分が何を得たのかも示す。当日の事故も事件も詳細に記録する。
買えるものを買えるだけ、綿密に組まれた当日のルート、確実な予算、確実な体調、確実な用意
もはやマシンのように動作する人たち。
あきらかにフィールドが狭すぎる。これは彼らの想像力と計画性と効率に対する冒涜に他ならない。
にも関わらず、本人たちにそういうことを聞くと
「フヒヒw難しいことはwwサーセンwwww」
とのたまう。
はてぶとかが2chで
なんかいろいろで
才能の無駄遣いというか、無駄ではないな、現時点でも。お金にならないだけで。あと、若干プレゼンが下手かな?
でも、絵師さん?とかはプレゼンが上手なのかモノでたたき上げなワケだし。
有能とかは彼らの言葉でいうと何になるんだろ
2年前、31歳で職業プログラマになって楽しくお仕事してる身としては、何を悲観してるのか全然理解できないのです。
中学でプログラミングに出会ったのは一緒。でもN88-BASIC。Cは大学上がってからかな-。大学と言っても医学部なんですが。
やっぱ自分は医療に全然向いていないという確信を持てたのが研修医3年目というかレジデント1年目の26歳で、しかもそこですぐにはプログラマに転身はしませんでした。
百科事典なんかで見て用語だけ知ってた情報科学のいろんな概念に憧れてて、こういうのわからないまま職業プログラマにはなりたくないと思って、理工学部と院行きました。20代終わりの時間なんて1年だって無駄にしたくはないけど。このへんの学費とかについては研修医時代の稼ぎが有難かった。
情報科学自体は最高におもしろくて無駄な時間じゃなかったけど、まあこれが仕事に直接役に立ったりはしません(笑)。教養ってやつ。Javaとかデザインパターンとかの実用面のスキルもちょっとは手に入れたけど、こういうことは専門学校と特に変わらないレベルでしょう。
年収とか、医学部の同期に比べるといま何分の一なんだろうなー。 って考えると、多少の年収の高低とか全然気になんないですね。
で、質問。26歳って、何をするのにどう遅いんですか?
http://www.omoshiro-news.net/memo/iPhone3G.html
このサイトのアンチっぷりが頭来るので訂正しておく。3GSの事も混ざってるので注意。
Q.iPhone本体に、メールは保存できますか? A.30日で自動的に削除されない仕様に改善されたとのこと。 なお、保存容量が200MB以上になったり、 5000件を超えたメールは、古いものから削除されるとのこと。 Q.iPhone は、携帯専用サイトは見れますか? A.無料のアプリで見れます。AppStoreやiTunesStoreで事足りるけどな Q.iPhone は、FLASH や JAVA が含まれている WEB サイトは見れますか? A.見れません。ガラケーでも見れるのはFlash liteだからフルFlashサイトはみれねぇよ。 Q.iPhone は、絵文字は使えますか? A.使えます。 Q.iPhone は、デコメールは使えますか? A.ドコモのサービスなんか使えるわけねーだろ。ガラケーでiTunesStore見れるのかよ。 Q.iPhone は、着メロや着うたは使えますか? A.自分で作れる。 Q.iPhone に、ストラップをつけれますか? A.つけれません。ストラップホール付きのケースカバーを使って下さい。 Q.iPhone で、ドコモや AU の友達と携帯メールのやりとりは普通にできますか? A.出来ます。softbank.ne.jpでもi.softbank.jpでもどちらでも可能です。 Q.iPhone で、メールの返信の際、返信文が必ず引用されてしまうみたいですが? A.MMS(携帯メール)はそんなもの付きません。 Q.iPhone は、メールは手動操作しないと15分おきにしか端末に来ませんが? A.MMSとi.softbank.jpはpushで来ます。i.softbank.jpを通知専用として使えばGMailだって疑似pushに出来ます。 Q.iPhone は、受信メール一覧の差出人表示が、メールアドレス表示になっていて、誰からのメールかわかりにくいのですが? A.MMS(携帯メール)はそんなではないです。普通に電話帳の登録名で表示されます。 Q.iPhone は、単語登録や定型文登録できますか? A.アプリで出来ます。電話帳を整理して使うので汚れません。 Q.iPhone は、漢字変換の文節の区切りを変更できますか? A.出来ます。 Q.iPhone は、公衆電話や非通知拒否等の設定はできますか? A.できません。 どうしてもやりたかったらJB Q.iPhone は、電話の音量設定を記憶しておけないのですか? A.記憶されています。 Q.iPhone は、メール着信(受信通知)を知らせるランプやイルミネーションはありますか? A.ありません。画面にはメールの着信のおしらせが表示されますので見おとすことはありません。 Q.iPhone は、不在着信でランプやイルミネーションはありますか? A.ありません。不在着信があったこと自体は表示されているので分かります。 Q.iPhone は、ワンセグ機能は付いてますか? A.ついてません。 外付けのワンセグチューナはあります。もしくはOrbliveというソフトで回線使ってみるかです。 Q.iPhone は、赤外線通信機能はありますか? A.ありません。自分のアドレスはQRコードを使ったアプリで送れますが、相手のアドレスはメールで送ってもらうなり自分で書き写すなりしなければ行けません。 Q.iPhone は、QRコードは読み取れますか? A.アプリで読めます。小さいのは厳しかったりします。 Q.iPhone は、モバイルスイカとかお財布機能ありますか? A.ありません。 Q.iPhone の電池交換は自分でできますか? A.できません。有料で交換になります。 Q.iPhone は、メール作成中に受信したメールを見れますか? A.MMSは送られてきた相手のメールがチャット状に見えている状態で書けます。 Q.iPhone は、S!メールには対応してますか? A.softbank.ne.jpのアドレスをMMSで使えます。というかS!メール=MMSです。 Q.iPhone は、電話、メールともに、発着信履歴の選択削除ができますか? A.電話履歴の選択削除が出来ません。メールは出来ます。 Q.iPhone は、オフライン状態でメールを読むことはできますか? A.出来ます。 Q.iPhone のカメラにはオートフォーカスや手ぶれ補正ありますか? A.3GSで画面上の指定位置をタップすることで場所指定を出来るオートフォーカスが付きました。手ぶれの補正はありません。一部アプリで疑似手ぶれ補正があります。 Q.iPhone のカメラで動画撮れますか? A.3GSで対応されました。 Q.iPhone は、メモリカードを使えますか? A.最低モデルで8GB、最高モデルで32GBが選べるしUSBケーブルでPC接続できるんだけどメモリーカードが何のために必要なの?メモリーカードがないとろくに記録出来ないガラケーとは違います。 Q.iPhone で、音楽を聴きながら、safariでブラウジングしていると頻繁に固まりますが? A.そんな固まらねーよ。訳の分からない質問するな。どんなマシンだって過剰な動かしかたすれば止まる。 Q.メールボックスを開くたびに通信が発生しているみたいですが? A.MMSではそんなことしてません。 Q.iPhone は、ブルートゥースが付いているそうですが、無線で音楽を聴けますか? A.聴けます。 Q.iPhone の無線 LAN を使う場合、どこかの無線 LAN サービスに加入する必要はありますか? A.iPhoneユーザならば無料で使えるスポットが多くあります。むしろiPhone以外の携帯では有料の契約をする必要があります。 Q.iPhone 3Gで通信中、登録していない無線(Wi-Fi)電波を A.拾わない設定にすればいいだけです。この質問なんか意味あるのですか? Q.iPhone は、ノートパソコンのモデムとして利用できますか? A.普通はできません。この質問にも意味があるのでしょうか? Q.iPhone は、マルチタスク処理ですか? A.音楽の再生以外は同時にアプリを立ち上げることは出来ません。メモリが貧弱な携帯端末ではむしろ自動でタスクを切る機能が付いている事の方が有用です。 Q.iPhone に、勝手アプリを入れられますか? A.入れられません。アップルの許可したアプリのみですが、そこにあるアプリを使うだけのユーザには何の問題もありません。 Q.iPhone のアプリは誰でも作れますか? A.Intel Mac を所有している方なら誰でも作れます。ウィンドウズでは無理です。 Q.iPhone は、片手で操作できますか? A.手の小さなお子様以外は片手で問題ありません。相当手の小さい人以外は片手で十分です。両手じゃないとダメなんて都市伝説みたいなもん。 Q.iPhone は、他の携帯とSIMを共用して使えますか? A.専用だから使えません。普通に機種変更すればいいだけの話ですが。 Q.iPhone 3G の液晶って、昔の iPhone の液晶と比べて黄色くないですか? A.ロットによる差です。
レジスタの多いCPUの場合で、単純なループが最適化されるとループカウンタはレジスタ上に確保される。
ローカル変数の場合。全てのコンパイラを知ってる訳じゃないから、全部そうなるとは言えないけど。
Javaの場合が気になったので、二つのコードを書いてちょっと調べてみたところ、
for(int i = 0; i < 10; i++){ System.out.println(i); } for(int i = 0; i < 10; i++){ System.out.println(i); }
Code: 0: iconst_0 1: istore_1 2: iload_1 3: bipush 10 5: if_icmpge 21 8: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 11: iload_1 12: invokevirtual #3; //Method java/io/PrintStream.println:(I)V 15: iinc 1, 1 18: goto 2 21: iconst_0 22: istore_1 23: iload_1 24: bipush 10 26: if_icmpge 42 29: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 32: iload_1 33: invokevirtual #3; //Method java/io/PrintStream.println:(I)V 36: iinc 1, 1 39: goto 23 42: return
int i; for(i = 0; i < 10; i++){ System.out.println(i); } for(i = 0; i < 10; i++){ System.out.println(i); }
Code: 0: iconst_0 1: istore_1 2: iload_1 3: bipush 10 5: if_icmpge 21 8: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 11: iload_1 12: invokevirtual #3; //Method java/io/PrintStream.println:(I)V 15: iinc 1, 1 18: goto 2 21: iconst_0 22: istore_1 23: iload_1 24: bipush 10 26: if_icmpge 42 29: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 32: iload_1 33: invokevirtual #3; //Method java/io/PrintStream.println:(I)V 36: iinc 1, 1 39: goto 23 42: return
ところが今回はカウンタ変数を引数に入れてメソッドを呼び出している。
メモリを毎回確保することは確かだけど、それとカウンタ共通化とのつながりがわからない。
ケース1はなんか言語特性の違いなのかという気がしてきた。
C言語からはじめてJava中途半端にかじった後、C++メインに以降しつつあるへっぽこプログラマです。
私の書くコードの可読性が低いのは確かだろうなと思う。
プログラムのあるべき論として、ヘンな箇所でアクセスされて不良を作らないように
変数の寿命をなるべく短くなるようにする原則があることは知っている。
ただ、C/C++はポインタというものが存在してメモリの解放とか明示的に行う。
またC/C++プログラマは大きなメモリの解放/再確保がかなり性能コストがかかることをしっている。
それなので、C/C++だと一度確保した大規模領域を解放/再確保しないように
本来の変数の寿命より、長めに扱えるように設計することがある。
そんな変な寿命の変数は不良の温床であり、可読性が低いことは理解しつつも。
メソッド抜けるときは関数ローカル変数はすべて領域を解放するようにコーディングするもんじゃないっけ
そんな怪しいことをやるプログラマなんで、
あれは私がまだ大学助手をしていたころだから3年ほど前のことだと思う。
私の勤めていた大学(情報系)では「プログラミング研究会」みたいなサークル活動が行われていて
プログラミングの講義を受け持っていた私はそのサークルにちょくちょく顔を見せるようになっていた。
そこにはとびっきりかわいい女子学生が一人いたのだけれど、その子はゲームが大好きで
「自分でもゲームが作りたい」と一念発起してゲームコンテストに作品を出品することになった。
しかし、彼女はプログラミングの講義(Java)を1年くらい受けているものの、
本格的なモノを作った経験がなく、ひとりでは行き詰まりをみせているようだった。
彼女はひとりでいることが多く、パソコンに向かって黙々とプログラムを書いているのをよく見かけた。
それを気にかけていた私はたまに彼女をランチに誘うようになり、彼女の方もしだいに私に打ち解けてきた。
私たちはだんだんと仲良くなっていった。私は彼女のキュートな笑顔に魅了されていった。
ある日、彼女が私のもとにやってきて、もじもじと顔を赤らめながら上目づかいにこう言った。
「先生、頼みごとがあるんですけど・・・」
「なんだい?」
これから恋の話が始まるのを期待したあなたは別のページを読んだ方がいいかもしれない。
これから始まるのはプログラミングの話だ。
その日から毎日のように彼女は私にメッセンジャーでプログラミングの相談を投げかけてきた。
彼女は大変優秀で、私の教えるプログラミングテクニックをみるみる吸収していった。
私は彼女の才能に驚き、彼女が将来優秀なプログラマになるであろうことを確信した。
しかし、ときおり彼女が優秀であるがゆえの面白い逆行現象が起こったのだった。
ある日、私は彼女がメモリを意識してプログラミングをしていないことに気づいた。
Java ではメモリを意識する場面というのは少ないが、まったく無いわけではない。
私は彼女にプログラムがメモリを無駄に使っているということを指摘した。
しかし、よく聞いてみると、彼女はメモリ=ハードディスクくらいの感覚しか持っていないことがわかった。
驚かないでほしい。
私の経験上、情報学部の学生の半分以上がメモリとハードディスクの区別がついていない。
それを知っている私は落胆することもなく、落ち着いて彼女にメモリの説明をすることができた。
彼女は私の説明を聞き「よくわかりました」と、とびきりキュートな笑顔を見せた。
しかし、翌日、彼女の書いたコードを見てがく然とした。コードが次のように変更されていたのである。
for (int i = 0; i < MAXHOGE; i++) { doSomething(i); } for (int i = 0; i < MAXFUGA; i++) { doSomething2(i); }
↓
int i; for (i = 0; i < MAXHOGE; i++) { doSomething(i); } for (i = 0; i < MAXFUGA; i++) { doSomething2(i); }
彼女はこのコードを私に見せながら、相変わらずのキュートな笑顔でこう言った。
「このほうが使うメモリが少ないですよね!」
ゲームコンテストの締め切りが近くなってきて、実際彼女はよく頑張っていたのだが、
どうしても間に合いそうになかったので、私もコード書きを手伝うことになった。
とある部分を書いていたとき、重複したコードを見つけたので Template Method パターンを使って書き直した。
Template Method パターンというのが何かというと、同じことをするコードがいくつもの場所でばらばらに書かれないように
一つのクラスにだけ書いて、それを継承して使いまわすという手法(デザインパターンの一つ)だ。
私はこの手法を彼女に教えようとは思わなかった。
なぜなら、彼女は継承だとか委譲だとかポリモーフィズムとかがよくわかってないのだ。
驚かないでほしい。
私の経験上、情報学部の学生の99%が、その、ポリホーなんとかが分かってない。
しかし、彼女はそれに気づいていた。
彼女は私のコードを自分で解析し、新たなる発見を独力でしていた。
重複したコードがあればそれを徹底して継承で解決しようとしている。
そう、差分プログラミングだ。
差分プログラミングの正式な定義は知らないが、彼女は IS-A 関係のない継承を使ってしらみつぶしに
重複コードを書き直していた。
そのコードを見せながら、天使のような笑顔で彼女はこう言った。
「こうするとコードの量が減りますよね!」
私がこの文章で言いたいことは、知の高速道路を渡ってきた若い優秀なプログラマは
ときおり妙な退行現象を起こすということだ。
それは普通の道を通ってきた古い世代にとっては実にみょうちきりんなことに思えるかもしれない。
しかし、それは彼らなりに理由があってのことであり、馬鹿だからやってるわけではない。
彼らは優秀であるがゆえにそういったことを起こすのだ。
そして彼らは優秀であるがゆえに、自分が間違っていることを理解するのも速い。
もし、あなたのまわりで若いプログラマが逆行現象を起こすのに遭遇したとしても、
どうか暖かく見守ってほしい。
上で紹介した2件に関しては、彼女にはそのあと説明をして理解を得ることができた。
しかし我々はそれで油断してはならない。
いつか彼女はその可愛らしい顔をにっこりとほほ笑ませながらこう言うかもしれないのだ。
本に掲載されている人工無能が難しくて、泣きそうになった。
それで簡単なランチャーを作った。
WAVファイルから某サウンドカードで使われていた形式のファイルに変換するツールを作ったこともある。
いいプログラムが作りたくて、構造化の設計手法について勉強したこともあった。
AthenaProjectというエミュ鯖のコミュニティに参加して、ペットを改造したり、日本ではまだ未実装の傭兵を実装したこともある。
ソフトを買うお金がないので、AccesのVBAで複式簿記の家計簿を作ったりもした。
でも、なぜ、知らないが、その後プログラムを組むこともなくなり、ゲームばかりするようになってしまった。
それから二年後、ふとしたはずみでプログラマーになりたいと思った。
でも、Cなどの構造化言語の使い方は知ってるが、オブジェクト指向は全く知らなかった。
C#やJavaなどの言語を学校に通って勉強し、ストップウォッチやモグラたたきゲームなどを作った。
でも、それだけでは足りなさそうなので、オンラインゲームもどきを作った。
これだけあれば中小なら就職できるだろう。
そう思った。
でも、冷静に考えてみたらおれの年齢は26歳。
今更プログラムが組めるようになっても遅いんだよ。
↓
雪花の郷(台湾系)
↓
↓
沖縄木灰そばま~さぬや~(?台湾もしくは中国系の可能性は高い)
↓
アイス屋(元ドラゴンアイス?)+博多風龍(謎。出資も、代表取締役もネット上には情報が見当たらないように見える。)
1Fは比較的短期間で商売替えしてる。だがいつも中国か台湾?系の資本が店を変え品を変え、だ。
あれはなんか意味があるんだろうか。
新しいアイス屋が入ったが、念の入りようがすごい。
アイス屋が提携してる出会い系モドキサイトは会社概要のページはJAVAスクリプトでドラッグ不可。
そしてソースを表示してもコピーできないように項目がわざわざ画像。
そんなに後ろめたいことをしてるのか。
ちなみにヨドバシ秋葉のドーナッツプラントのある場所の変遷もドラゴンつながりで発見。
ドラゴンアイスヨドバシ秋葉店(台湾系)→喜楽茶ヨドバシ秋葉店(台湾系)→ドリィムマンゴー(?)→ドーナッツプラント(韓国系? Webで見つからない)
ドンキしかり。みみかき店のビルしかり。秋葉LAOXは中国資本だっけ? 万世橋付近の元LAOXビルも韓国?中国?系だし、
下層SIer体験記
増田「1月からどうなりますかね?」
A社営業「他の客先でPG作業があるんだけど、そこを考えている。増田君の会社の営業にはまだ伝えていないけど、契約延長という方向で思っていてほしい。」
増田「わかりました。うちの営業にも伝えてください」
増田「1月からの話が弊社営業からこないんですが、どうなりましたか?弊社の営業がなかなか電話に出てくれないので、申し訳ないんですが直接伺いました」
A社営業「・・・ちょっと会議室に行こうか」
A社営業「先日の案件の開始が遅くなってしまうので、増田君は申し訳ないが、今月で終わりとさせてほしい。」
A社営業「サブプライムやリーマンショックで、案件の動きが鈍くなってしまった。長いことお世話になっていたが、本当に申し訳ない」
増田「わかりました。このあと営業に連絡を入れておきます」
~廊下にて~
増田「今月で終わりって言われました。営業面でも確認をしてください」
~翌朝9時~
自社営業「増田君、昨日の電話は本当かい?あのあとA社営業に連絡をしたんだけど取れなくって、いまからA社営業に電話したいんだけど見える?」「朝、会議室に入っていくのを見ました。いると思いますよ。よろしくお願いします」
増田「本日まで長い間お世話になりました。ありがとうございました。」
A社営業「こちらこそ、申し訳なかったね。増田君にはいろいろと助けられたよ。もしまた、機会があれば一緒に仕事をしたいと思っている。ありがとう。」
自社営業「増田君。昨年末はぎりぎりまでどたばたして申し訳なかったね。営業で強く抗議したんだけど、駄目だったよ。早速なんだけど、スキルシートを更新してくれないか?なに、増田君ほどの技術者ならすぐに見つかるから心配しなくていいよ。まぁ少し社内でリラックスをしててくれ。程なく面談が入ると思うんだ。」
自社営業「早速案件が合ったよ。Javaで金融系だね。一発面談で即日から。作業場所はXXXね。面談はこの日の10時だから直行をしよう。僕も行くよ」
自社営業「面談は大丈夫みたいだったね。君が帰ってからリーダーと営業とも話したけど、好感触みたいだった。すぐに連絡が来ると思うよ」
自社営業「この前の案件でOKが出たよ。入場まで少し時間があるようだから、面談で聞いたフレームワークについて勉強をしておいてね」
増田「本日からお世話になります。増田といいます。よろしくお願いします」
~他にも数名が同時に入場した。~
B社リーダー「席はあそこに用意してあるから座っていてほしい。パソコンは午後に届く予定だよ。まずは入館章を作ったり、サインをしてもらう書類があるから、午前中はそのあたりをやっておいてほしい」
増田「景気が厳しいみたいですよね。」
B社BP(あ氏)「でも、まだ待機や契約が終わった人は社内にいないですから」
B社BP(い氏)「僕らは4月以降もあるから一安心ですね」
B社BP(あ氏)「帰社したら、5人くらい若手が待機してるんですよ。営業に聞いたら3月でプロジェクトが終わったんだけど、次が見つからないんですよ」
B社BP(い氏)「同期が待機してるんですけど、次がないから、新人の研修を任されてるって言ってます」
B社BP(う氏)「社内でも屈指の技術を持つ先輩が辞めるかもって噂なんですよ。その人が辞めたら、会社にまともな人材がいなくなっちゃいます」
増田「営業に聞いたら、案件がマジにないって言ってます。何とか現場を延長できるように努力してほしいって言われましたよ」
B社リーダー「皆さんこれまでありがとうございました。営業からも本日中に連絡がはいってると思いますが、皆さんは5月末日で契約を満了します。残り1ヶ月あまりですが、がんばってください。5月の詳細なスケジュールも近いうちに提示します」
B社リーダー「作業の引継ぎは彼(B社プロパー(え氏)にお願いします。二人で相談をして、引継ぎを行う日を決めてください。あと、最終日はいろいろと事務作業をやってもらうと思いますので、午後3時くらいまでしか作業できないと思っておいてください。」
自社営業「増田君。次の案件について、引き合いが少し来ている。面談を今月中に設定したいんで、現場でうまくやってください。大丈夫ですよね?」
自社営業「○○駅に9時30分にお願いします。そこに私もいます。」
自社営業「うちの増田です。じゃぁC社のCさんお願いします。」
C社営業「わかりました。お預かりします。」
~3分後
C社営業「Dさん、ご無沙汰です。こっちが増田君よろしくお願いします。」
D社営業「わかりました。お預かりします。」
~3分後
D社営業「Eさん、ご無沙汰です。こっちが増田君よろしくお願いします。」
E社営業「わかりました。お預かりします。」
~3分後
E社営業「Fさん、ご無沙汰です。こっちが増田君よろしくお願いします。」
F社営業「わかりました。お預かりします。」
~3分後
F社営業「じゃぁ行こうか。5人いるね。場所はこっちだ。知ってるかな?G社だよ」
~面談終了後~
自社営業「案件どうだった?好感触?」
増田「それよりも、これはいくつ商流が入ってるんですか?少なくとも4人に引き渡されましたよ?もしOKでても、こんなに複雑ではなんかあったときに困りませんか?」
自社営業「大丈夫だよ。連絡はしっかりやるから。で、感触は?」
増田「わかりません。4人同時でした。他にも何人か見ているみたいで数名入れたいみたいですけど」
自社営業「わかった。並行かけているんで、また面談が入ったら連絡するからよろしくね」
自社営業「この前のやつ、増田君としてはOKかな?」
増田「商流の問題さえクリアできるならやります。ただし、念入りにお願いしますね」
自社営業「わかった。じゃぁ、こっちからはOKと返事をしておくよ。たぶん入場は6月頭だから。」
増田「月初から入場って聞いていましたけど、どうなってます?」
自社営業「ごめん、まだ決まってないんだけど月初は無くなった。とりあえず本社に来て」
増田「わかりました」
B社BP(う氏)「先日、面談に行ったんですけど、PGでスケジュールがタイトって聞いたから断ったよ。だからまだ。」
増田「僕は月初からが延期になったんですが、決まりですよ。」
B社BP(あ氏)「よかったじゃん。今は不景気だからね。本当に案件が無いよね」
B社BP(い氏)「僕は1ヶ月休みます。ちょっと仕事が無いなら、家で寝てますよ。わはは」
自社営業「いま2週目からの入場で調整をしてる。すこし社内で休んでて」
自社営業「3週目になりそうなんだ。ちょっとわからないけど、面談を入れるかもしれないけど良いかな?」
自社営業「この前の件だけど、無くなった。申し訳ない。ちょっとトラブルがあってね。だけど、すぐに面談を入れますから」
自社営業「XXXという技術をやったことない?知ってるだけでも良いんだよ。そうしたらスキルシートに書くから」
自社営業「スキルが完全マッチしていないと面談に入れないんですか?でも、増田はこれだけ経験をしてますから、大丈夫ですよ。提案だけでもしてくださいよ」
自社営業「これをやってないとダメなんですか?帳票ツールなんてどれも同じじゃないですか。確かに彼はやっていませんが優秀な技術者ですから、これくらいは営業でうまくフォローをしていただけないですか?」
自社営業「この業務について調べてくれないかな?スキルシートのここを変えておくから、面談ではうまく伝えてね」
H社(準大手)部長「増田君はJavaいろやってるけど、業務に一貫性がないよね」
I社(小企業)営業「せめて業務は何かひとつでも2年以上やってないと、いまは売れないよ」
J社(小企業)営業部長「先週ならJavaっといい話があったんだけどね」
K社(中企業)開発部部長「いまは社内に30名ほどが待機していますね。ちょっと増田君を提案されても、今は厳しいですね。」
自社営業「面談1発でいける案件がありますか?本当ですか。業務は?物流ですね。言語はJavaですね。はいわかりました。早速お願いします。」
~翌朝
L社営業「君が増田さん?今日はお願いしますね。後3人いるので、ここで待っていてください」
L社営業「揃いましたね。いきましょうか。こっちです。」
M社開発部リーダー「今回の案件はC#なんですが、みなさんにお伝えしたときはJavaっていたかもしれません。Java案件はすでに締め切らせていただきましたので、C#でも大丈夫な方のみお願いします。」
増田「JavaじゃなくてC#でしたよ。僕は5年位前に少し触っただけです。アピールにも限界があります。今回のは無理だと思ってください!!」
自社営業「ここに行ってもらえないかな?M社のMさんがいるから、身長が190くらいある人だから見ればわかるよ」
~面談でアピール
増田「M社営業に引き渡されて、N社のNって人に引き渡されてO社に行きました。わりと好感触かもしれません」
自社営業「そう。よかった。今日はもう帰社して良いよ。」
自社営業「M社から連絡があった。一次面でOKでたので、明後日にP社でよろしくお願いします。がんばってね」
増田「まずまずの感じでしたよ。結果は一両日中に連絡くれるそうです」
自社営業「わかった。急な話なんだけど、明日も昼に面談だ。並行はいくつかけておいても損はないからね」
自社営業「はい。(自社営業)です。Mさん。お電話ありがとうございます。はい、増田の件ですね。で?あ、7月からですね。わかりました。ありがとうございます。では失礼します。」
自社営業「おい、増田君7月からP社で決まったぞ。良かったな」
自社営業部長「並行営業を全部とめてくれ!」
M社営業「先日の件ですが、先方からキャンセルがかかりまして、はい。どうも役員が予算を承認しなかったらしいんですよ」
自社営業「そんなっ!」
自社営業「わかってると思うがちょっと厳しい感じなんだ。うちとしてもあまり余裕がなくなってきてね。ここはちょっと増田君にもがんばってもらおうかなと思うんだ。作業はPGで9月末までなんだよ。場所はxxだよ。業務はXXで、やったことないから、ここを書き換えて提案したから。PGでJavaだしいけるよね?」
増田「面談を行って来ましたが、僕と同じくらいのが3人いました。まだ募集をかけてるから、わからないですよ。どの人もスキルは立派でしたよ。去年だったら苦労しないだろうなというくらい」
自社営業「連絡来ないねぇ。」
増田「やっぱり面談駄目だったんじゃないですか?だって、数人の枠に十数人が面談に来てますからね」
自社営業「いまも営業を行ってるんだけど、いいところが無くってね。技術者を連れてこられても、案件がないからって断れるんだよ。」
自社営業「保守なんだけど大丈夫?どうも出産間近の技術者の交代要員を探してるみたいなんだけど、詳しいことはわからない。ただ、一発面談だって言うからさ」
増田「行ってみますよ。」
自社営業「OKきたよ!。今度こそ大丈夫」
という半年間だった