「アプレット」を含む日記 RSS

はてなキーワード: アプレットとは

2023-08-16

anond:20230816112910

Ryzenコケるっけ?

わいは2017年の春、話題になった直後にRyzen7買って、Hyper-Vだろうがdocker/WSL2だろうが健全に使っとる。

あーでも1度だけ、Hyper-VLinux Mint入れて遊んでるとだんだん壊れていったな・・

アプレットを起動できませんでしたーww」みたいなエラーが少しずつ出て来て、最後ブートしなくなった。

何度も試したわけじゃないが。

Mint自身のせいだったのかHyper-Vか、やっぱりRyzenのせいか知らんけど・・・

2022-12-14

低い、安い、まずい、リモートワーク環境

エアコンのない 4畳半の物置部屋でホームページを作ったり、 Excel でまとめたり、 メールしたりして生活している。 寝袋にくるまったり、 湯たんぽ身体の随所に這わせながら暖をとる。 最近コワーキングスペースが近所にできたので、 そっちに行こうと思うが、 機密情報を見せつけて作業するのはどうかと思うので、なかなか踏み出せない。 エアコンのある台所には、テレビHDMI がくっついてるのでそっちで作業しようか考え中。

部屋の構造的に物置部屋にはエアコンが付けられない。 辛い。ただ、人間、気温には慣れるな。空調以外で何があれば便利だろう。2万出す。

机: 5000円くらいのニトリの机 縦幅を拾った板でかさ増し。 60→75×120cmもあるぜ。 ジャンボだぜ。

椅子: 15000円くらいのオカムラ椅子。 失敗できないので会社にあったのと同型のを楽天中古屋で買う。 4000円のニトリ椅子に座ってたら腰が痛すぎた。

無線LAN: ケーブルテレビデフォルトルーター、地味に電波が届かず、リピーターで中継入れてるが、時々切れる。

パソコン : 支給ノートパソコン (メモリ 8GB、 人権が保ててる)。 電源の調子が悪い。

モニター : 実家でもらった 23インチ10選手モニター+社内でモニター入れ替えの時にもらった 23インチ流行りのクラムシェルだぜ。 いつ壊れるかヒヤヒヤしてるぜ。

カメラ : 2000円でアマゾンで売ってた Web カメラ。 妙に明るく映る嫌な奴。

キーボード: メルカリ奇跡的に 1000円で買えた、 Sun microsystemsキーボード (新品)。 おまけで java 1.1 の jdk がくっついてきた。 アプレット作るぞ。

マウス : 腱鞘炎になり、 3500円でトラックボール買った。 ボタンがたくさんあるので使いやすい。

イヤホン : メルカリで 600円で買ったイヤホンラジオも聞いてる。 話すと声がくぐもるみたい。 はきはき喋れるようになった。

ノートペン: 時々出社するときに持って帰るぜ。

お役立ち : 100円で買ったコルクボード。 各種パスワード機密情報がむき出しだぜ。 バインダー100円で買った。 ノートをとるのに必須な役立ちアイテム

トータル: ¥30000弱。椅子が半額を超えてるぜ。

何を変えたらもっと快適になるんだ。 はてな諸氏、教えてくれ。2万出す。

2021-01-30

シフトアップネットゲーム墓場(元ゲームの穴場)

http://www.shiftup.net/

flashが昨年末に終了したことを受けて、flashゲー全盛期を代表するwebサイトだったシフトアップネットがすごいことになっているので見てほしい。

現状ごく一部の非フラッシュゲー以外は、ゲームアイコンクリックすると「〇〇を懐かしむ動画」というタイトルyoutube動画リンクが貼られたページにジャンプする。

ねおきでクエスト、ポン太の冒険、億万長者ごっこ魔法機械ミズキ、テミクロetcetc.....すべて動画ページだ。

往年の名作フラッシュゲーが全部動画に変わっているのはこう、絶滅した生物剥製展示を見ているような気分だ。

というか今日おすすめゲームクリックしたら動画ページだし、占いウラナ(おすすめゲームを選んでくれるflashゲー。選択肢を覚えると永遠におすすめゲーに巡り合えずループし続けるネタゲーだった)も全部動画ですよ。震えてくる。

なおテンミリオンは新作アプリ版があるにもかかわらず気合オリジナル版がRuffleというエミュレーター対応して公開されている。一番の人気作だから仕方ないね

懐かしいよねテンミリオン。私もSS書いてたよ黒歴史だけどな。

さらに注目が左下の「ゲームの穴場」というリンク集だ。

たいていのリンク消滅していて、スポンサーサイトも大体サ終したネトゲたち。

しかも辛うじてリンクが表示されるゲームflashどころかjavaアプレットとかショックウェーブプラグイン使用したゲームなので当然表示がされない。

まさにゲーム墓場だ。懐かしすぎて頭が痛くなってきた。

みんなはシフトアップネットやってた? やってたら好きなゲームを教えてほしい。

私はスキルマスター一時期はまってました。シュートマスターが好きだった思い出。

あとアプリで何作かゲームあるので死ぬほど暇ならどうぞ。サモンメイト結構面白かったです。ケルベロス強い。

2020-02-23

2020年プログラミング言語解説

Ruby

まつほろひとゆきが作った日本産コンピューター言語パールというコンピューター言語を元に作られていてWebサービスを作るためのフレームワークを搭載している。代表的WebフレームワークtDiary

C

デニス立地さんがNTTで開発した言語マルチクスというOS作成するために作られた。わざと複雑な言語仕様にすることで自分役職ポジションを守ろうとしていたが、思った以上に世の中の人間はこの言語を使いこなしてしまい、超有名な言語になってしまった。スーファミゲーム制作にさえ使えなほどの超高級言語

まじないと呼ばれるプリプロセッサでの書き換えが必要な謎の文字列を埋め込む必要があったり、言語仕様曖昧な部分も多く、同じソースなのに実行環境によって動きが異なる、欠陥言語である。(32bit向けプログラムが64bit環境動作しないなど)

C++

オブジェクト指向言語。すべてのオブジェクト指向言語はこいつから始まった。

主にWindows上で動作するゲームを作るための言語。今ではUnityとか色々なゲーム開発の環境とかあるが、結局はパフォーマンスとか考えたらC++使うことになる。

代表作はOpenGLDirectX、Window10、LibreOffice など

Java

JavaScriptから派生した言語。読み方は(ジャワジャワ島のジャワ。)。もともとはOracle創始者博士趣味作成して、現在Oracleデータベースの基礎となるテクノロジーアプレットという実行するための専用プログラムインストールしないと、Javaで作ったプログラム(.classファイル)は動作しない。マークコーヒーだと思われがちだが、紅茶(ジャワティー)である

アンドロイドOS作成するためにも使われており、アンドロイドOSカーネルJava制御されている。そのため定期的にGCが走るので、アンドロイド端末は定期的に動作を停止することがある(いわゆるプチフリーズ)。

対策するためにはGC戦略見直してヒープ領域サイズメモリに乗せるキャッシュサイズなどの調整が必要であるが、げんざいのGoogleにはこれらを調整する人員はすでにいない。

このように業務データベースから携帯電話まで幅広く使われているので、Java技術があっても市場価値殆どないと言われている。(みんな使えて当たり前)

PHP

晩年政界への進出を目論んでいた松下幸之助が、未来社会を見据えて開発した言語。主にWebアプリケーション作成するために使われている。PはパナソニックのP。を略してPHP

かんたんにシェルコマンドを実行できたり、クエリストリングに代入した値を直接グローバル評価できたりするなど、洗練されていてとても便利な言語である

HTMLメール本文の中にもPHPの処理を書き込むことができる。

この世のすべてのサーバーに実行環境存在するので、PHPコードさえあれば、コンパイル不要でどのような環境でも動作する。

C言語の100倍生産性が高く、WikipediaFacebookSlackなどの超一流のサイトサービスで大量のアクセスを捌いている。

WardPressと呼ばれるフレームワーク(全世界Webサイト3分の1以上はWardPressで作成されている)を作成している言語であり、この言語なくして今のWeb存在していない。

データベースとも親和性がある、などと言われることもあるが特に根拠はない。

Go

韓国人棋士を倒したAIに特化したプログラム言語Googleが開発しており、もともとはDartという名前だったが、汚いという理由でなまえがGoに変わった。そのため現在Dartという言語存在していない。

AIに特化しているというだけあり、低レイヤむけの実行ファイル作成する必要があるため、コンパイル必要ではあるが、だいたいどの環境向けのバイナリも生成することができる。

デフォルトディープラーニングを使うための機能を持っていたり、プログラムを並列実行するための機能が備わっているので、コア数の多い環境で高速に動くプログラムを作りやすい。

JavaScript

Javaの元になったプロトタイプベースオブジェクト指向言語。読み方はジャワエスクリプト。W3Mというブラウザの上でインタラクティブWebサイトを動かすために作成された言語。もともとブラウザの上で動くための言語だったが、後にSafariブラウザに搭載されていたV6エンジンというJavaScript言語の実行エンジンを分離してNPMというJavaScriptを直接実行できる環境となった。

それ以降JavaScriptはブラウザ以外にVRゴーグルの中などで動くようになった。

並列プログラミング不可能な作りのため、コールバックを多用して、スパゲッティコードを量産することができる。

NPMを使う奴らは、JSブラウザ環境で使われる言語であることを全然考えてないため、WebpackとかBabelといった謎の開発環境をシコシコ積み上げている。いつかその塔は爆発し崩れ去ることになるであろう。

jQuery

Javaと同じくJavaScriptから派生した言語Javaとは互換性は無いが、JavaScriptの上位互換があるため、JavaScriptのコードをそのまま実行することができる。

$マークから始まる命令のみで構成されているとても縁起のいいプログラミング言語。おもにパララックスなどを実現するために利用されていて、WardPressなどのドライバとしても使われている。

JavaScriptの改良版であり、現在JavaScriptと言われているプログラム言語の99%はjQueryのことである。そのため現在慣習的にJavaScriptと呼ばれているもののほぼ全てはjQueryである

jQueryを覚えればJavaScriptは覚えなくても良い。などと言われるが、正確にはjQueryを覚えた頃にはJavaScriptも覚えている。というのが正確である

TypeScript

JavajQueryなどと同じくJavaScriptから派生した言語Microsoftが開発した関数型言語。開発時はF#(エフシャープ)というコードネームだった。

型に特化した言語であり、Microsoft製のVSCodeというIDE環境しか開発、実行が出来ない。(ただしMacLinux上でも動作可能)

TypeScriptを動かすにはサーバーVSCodeインストールする必要があり、言語IDEバージョンアップも多いため、メンテナスンスが困難である

Swift

iOSを作るために開発された言語関数型言語

前進となるObjectiv-Cという言語が、気持ち悪い構文であったため開発者が不足しており、このままではOSメンテナンスもままならない、という理由最初バージョンわずか14日間で作られた言語

Apple製品の上でしか動作しない。ビルドが非常に遅く一日に60回が限度である

LISP

((最強の言語。全ては関数であり、値であり、式である。)

(制御構文も、(一種の式であり、値である。)))

2019-10-05

anond:20191003131545

初めてのJavaとのエンカウント

を思い出した。

当時、Javaというすごい言語があるらしいと聞いて、Windows95環境を整えてみた。

付属していたデモ用のアプリケーションを動かしたら、豆が躍るだけのアプリケーションで、正直くだらないと感じてしまい、セットアップした開発環境はそのままお蔵入りした。

あとで、その時に見たデモJavaアプレットと呼ばれるもので、Java先進性はそれよりもむしろピュアオブジェクト指向言語を作ったことにあったと知ったけれど、あのデモからは全くそれが伝わってこなかったな。

2019-04-09

新卒で入った富士通を9ヶ月で退職しました。

前提。何を語るのか。

2018年4月入社した富士通を同年12月退職したので、順を追って経緯を説明する。

昨今さまざまな問題が浮上している企業ではあるが、大変お世話になったことに違いはないため、最大限の敬意を払いながら語りたい。

3月入社に至ったきっか

キーワードは3つだ。①新卒採用パンフレット、②メジャー感、③人の良さ。

まず、富士通新卒採用パンフレットの出来がよかった。大企業ながらも新しいことに取り組んでいく姿勢ヒューマンセントリックという標語SIer実態とはかけ離れた煌びやかさ。(当然ではあるが)新卒者が入りたいと思うような仕上がりになっていた。いま振り返ると、自分視野があまりに狭かったと反省するばかりだが、当時は純粋パンフレットを読んでワクワクしていた。

また、会社メジャー感も入社の大きな決め手となった。富士通には、大手企業ならではの採用における露出の多さや安心感があった。「最初はやっぱり大企業だよな...」社会の右も左も分からぬ中、大手企業以外の選択肢自分にはなかった。

最後に、人の良さも入社する理由となった。老婆心忠告しておくが、企業を「人の良さ」で判断するのは悪手だ。採用担当は「人が良い」に決まっているし、何より社内の人間は流動的で、いつ誰が辞めていくかもわからない。

とにかく、このような理由入社することとなったが、数ヶ月後にミスマッチだと気がつくことになる。

4月8月新人研修

富士通では、約4ヶ月にも渡り研修が行われる。自分にとっては、良くも悪くも学びの多い期間だった。

最初の数週間は、富士通という組織について学ぶ。会社歴史文化を知るだけでなく、タグラインである「shaping tomorrow with you」を、単語レベルで分解し意味咀嚼していったりもした。この研修で、自分富士通が大好きになった。というよりも、自分所属する組織に誇りを持っていたかった。事実から目を背けようとしていたところもあったかもしれない。いずれにせよ、自分は至る所で「shaping tomorrow with you」と意味もなく吹聴して回った。普通に死にたい

5月に入ると、プログラミング研修が始まった。使用する言語Javaだった。初めてのプログラミング不安もあったが、本当に楽しく学ぶことができた。「変数とは、配列とは」という基礎レベルから手取り足取り教えてくれる企業富士通くらいのものだろう。文系出身自分プログラミング第一歩を踏み出せたのは、他の何でもなくこの研修のおかげであり、いまでも本当にありがたく思っている。

そして7月プログラミング研修が終わった頃、富士通に対する不安、というよりも漠然とした恐怖感を覚えた決定的な瞬間が訪れる。新入社員全員で、社内のとある講演を聞いていたときのことだ。前後文脈は省くが、講演者の方がこのような発言をした。

「私がam I shaping tomorrow with you?と訊くので、皆さんは全員でYes! I am shaping tomorrow with you! と答えてください。am I shaping tomorrow with you?」

その後、新入社員一同が起立し、

Yes! I am shaping tomorrow with you!」

という声が響き渡った。

場内は盛り上がっていたようだが、自分は「Yes! I am shaping tomorrow with you!」と言えず挙動不審にあたりを見回していた。「shaping tomorrow with you」というタグラインはいまでも大好きだが、あまり画一的で、どこか宗教的な様子に一歩引いてしまったのだ。この瞬間から、「この会社自分に合わないのかもしれない」という確信めいた気持ちが生まれていた。

8月12月。待ちに待った配属、そして実務。

8月中旬。当然のように配属は希望通りにならず、長年運用が続くレガシーシステムに携わることとなった。使われている言語は、当然のようにCOBOLJavaアプレット新卒パンフレットとは全然違うじゃないか!とは思わなかった。その頃にはある程度SIer現実を知っていたからだ。だから、何とか楽しくやっていこうと思った。興味のない分野かつ、レガシー環境だったが、自分の周りだけでもハッピーにしていくつもりだった。それに研修でも「置かれた場所で咲きなさい」と教わった。(ある種の教え込みだったのかもしれない)

しかし、その意気込みは数週間しか保たなかった。

業務に関して詳細を語ることは控えるが、自分のメインの仕事は「コピペ」だったのだ。EXCEL方眼紙で作られた手順書の通り、文字通り、ctrl+Cとctrl+Vを交互に押していくだけの簡単お仕事。一日中コピペを繰り返していると、指が変になりそうだった。また、ディスプレイは貸し与えられないため、いくつものウィンドウを小さなラップトップで開き、何とかやりくりして捌いていた。

それが何週間にも渡って続き、9月中旬には退職を決意していた。

しかし、そんなすぐには会社を辞められるはずもなく、当面は転職のための勉強を続けながら働くことになった。

念のため言っておくと、富士通での仕事は決して悪いことばかりではなかった。メインの業務は相変わらずコピペだったが、トレーナー不憫に思ったのか、マネジメントや社内ツール作成にも携わる裁量を与えてくれた。残業ほとんどなく、毎日定時で帰ることができた。それでも自分がたったの9ヶ月で退職をしたのは、「今のままではマズイ」という本能的な危機感だった。コピペEXCEL方眼紙業務では何のスキルも身につかないし、たとえ開発に携われたとしても言語COBOLだ。自分未来果たしてどうなるのか?ひたすらに頭を捻った。自分人生について、初めて本気で真っ正面から考えた。

...可能な限り早い段階での退職。それがベストな答えだと悟った。

12月末〜。その後。

退職するに当たって、一切の問題は発生しなかった。退職の旨を伝えた際、引き止められることはあっても理不尽なことはなかった。手続きも大変スムーズであり、非常に感謝している。

自分はこれからWebエンジニアになることが決まっている。結果として、富士通での9ヶ月は「自分が本当にやりたいこと、実現したいことは何か」に気づくための期間となった。周りよりも一手遅れてしまったが、とにかく、富士通での業務自分にとって必要ステップだったのだと思う。昨今、富士通に対するネガティブ記事が数多く出回っているが、富士通をはじめとするSIerは決して悪ではない。そこにはただ「合う合わない」があるだけだ。誰もが自分に合う職場で、ハッピーに働いていければそれでいいと思う。苦い経験ではあったが、富士通での経験無くして今の自分はいないということを忘れず、これからハッピーに働いていきたい。

2019-02-02

swingJavaFX

JavaGUI周りがゴチャゴチャしてきてるのを今知った

JavaGUIまでどうこうする需要がないのはなんとなく想像できるにしても、なんでこんなカオスなことになってんだろ

Javaアプレット殺すのはお好きにどうぞと思うけど(というかすでにJavaアプレットWeb上で見た記憶最近ほぼないけど)

GUI周りまでパージするとは

2018-02-07

コインチェック事件WebエンジニアSIerの融合の幕開けかもしれない

 Webサイト技術の高度化

Webでは単純にテキストサイトではない本当に色々なことができるようになってきた。

HTML5になって以降まさに飛ぶ鳥を落とす勢いだ。

ここ5年くらいでデスクトップアプリに負けないレベルSaasも出てきた。

SlackYoutube生放送GoogleドキュメントGoogle mapカーナビ代わりにしている人もいる。

Javascriptも相変わらず日進月歩TypescriptやらNodejsやらReactやらVue.js Three.jsなど、もうテキストサイト付属品ではないことは明らかだ。

個人的にはWebGLアプレットを使わず3Dの描画ができるようになったのは衝撃的だった。

 コインチェックで露呈したWebエンジニアの弱点

そんなわけで、Webはどんどん急激に高度化し大規模化してきている。

ここまで大規模化していったシステムセキュリティ的にもシステム的にもこれまでのような少数のチームがちまちま作るには手に負えない状況に来ているんじゃないかと思う。

それが表面化してしまった事件が今回のコインチェック事件ではないか

コインチェックはおそらくWeb系のエンジニア主体でイケイケで開発したんだと思われる。

デザインハイセンスUXも洗練されてる感じがする。

ただセキュリティが甘かった、つまりシステムとしてセキュリティ内面)に問題があった。

これはまさにWebエンジニアの弱いところを突かれたといっても過言ではない。

 WebエンジニアSIer

それに伴ってWeb企業SIer化していくんじゃないかというのが私の持論。

全てとは言わないが、これまでのWebエンジニアの開発スタイルはどちらかというとイケイドンドンでできたらいいや使えたらいいやの精神でやってきたんじゃないか

これでは大規模なシステムになるとセキュリティ保守も難しくなってくるだろう。

大規模なシステムはきちんとオブジェクト指向で作ってテスト駆動ウォーターフォール式で開発するのが筋ってものだ。長期的な目で見れば理にかなっている。

今後高度化していくWeb対応するためにはそうやって作っていくべきだろうし、自然にそうなっていくだろう。

大規模なサービスに関わるWebエンジニア自然SIer的になっていくんじゃないか

Googleスライドとかスプレッドシートヤバいくらい複雑なシステムだと思うしハイクオリティだとおもうんだけど、どんな開発体制で作られたんだろうか気になる。

2017-08-26

Javaはクソという刷り込み

情報系の学科ではJavaは古い、ダメ、クソ。と言われる。

数値計算ではpython

Web開発ではPHPRubyjavascript

OSドライバカーネルを作るような人はC++

ナウい人はKotolinだC#Swiftだでアプリ開発をする。

そんな感じで、Java賞賛される場面を聞いたことがない。

Webアプリでも不具合があるのはJavaアプレットのものばかり。

からJavaダサいという刷り込みをされてしまってる。

そんな僕が来年から入る会社ではJavaを使うことになるらしい…不安だ。

2017-01-20

マイナンバーポータルサイトで、Javaアプレットpgrとか煽ってる奴多

現状とあるWebページを開いて、接続されてるカードリーダーで読み取ったデータをそのページに渡すには、もうそれくらいしか手段が残されてないと思うんだが、何か別の手段があるんだろうか?

カードを読み取るだけの単体アプリ作れというのは、ブラウザで開いているページとの同期が取れないので不可。

全部を単体アプリで作れというのは、Webアプリのいいとこを全部捨てることになるので不可。

スマホで作れ、というのはもう作ってるから

PCブラウザを開いて操作するとき、どうやればカードを読めるかって話だからね。

2016-09-22

http://anond.hatelabo.jp/20160922214545

各種棋戦の棋譜を追えるアプレットは、FlashPlayerで提供されてるんだけど。


スマホで見る動機なんてあるの?

2016-06-17

1.0から学ぶJava

タイトルを見て釣られクマーな皆さんこんにちは

ホッテントリメーカーで作るような煽りタイトルって、みなさんもう見飽きてると思うんですよね。

今調べたらホッテントリメーカー2008年だそうで。どうりでねー。古臭いなーと思いましたよー。

「一から学ぶJava」ってのをね、1.0にするだけでこんなに素敵なタイトルになるんだから面白いですねー。

タイトルを思いついただけだったんですけど、思いついたらやっぱりちゃんと中身も書かないと行けないじゃないですか。やだー

面倒くさいんですけどね。ちょっと1.0から学んでみましょうか。

Java 1.0 1996年1月23日

Javaの1.0がリリースされたのは1996年1月23日ですね。発表されたのが1995年5月23日でJavaの誕生日といった場合にどちらを取るかで揉めることがあります。

かれこれ20年前なわけで、当時のパソコンというとハードウェアはCPU が Pentium 133MHz メモリ16M とかそんな感じだったかなあ。今どきの携帯電話の例としてiPhone 6sを挙げるとCPUが1.85GHz メモリ 2G ってんだから凄いですね。OSは1995年11月23日リリースされたWindows95とかそんな時代背景です。インターネットがようやく一般に普及し始めたところでしょうか。

今から思うと相当弱いハードウェアですけども、そろそろVM方式を採用しても良さそうな、そんな時代でした。インタープリタだと流石に遅い、でもC言語のようなコンパイル言語だと"Write once, run anywhere"とはいかない、という判断もあったのだろうと思います。Javaが純粋なオブジェクト指向言語ではなくintなどのプリミティブ型を持つというのは、当時のマシンスペックを考えた場合、ある程度妥当な判断だったと言えるでしょう。これが後々苦しくなってくるわけなのですが。

Javaを作った会社はSun Microsystems(サン・マイクロシステムズ)というアメリカの会社で、2010年1月27日オラクルにより吸収合併され今はありません。SolarisというOSとSPARCプロセッサでUNIXサーバーの販売で90年代後半までは一人勝ちのような状況だったと聞きます。当時にすでに「ネットワークこそがコンピュータ」(The Network is the Computer)というモットーを掲げてたんだからおかしい。1996年リリースのJavaが標準でネットワーク機能を備えていたのもこのあたりの思想から来ているのかもしれませんね。

当時のプログラミング言語としてC++が挙げられますが、C++でのプログラマへの負担といいますか、ヒューマンエラーの起きやすさといいますか、その辺を改善する目的で開発されたのがJavaだったわけです。

1996年の時点にこんな言語が登場したのですから革新的でした。

いろんな企業がJavaに賛同します。その中にはMicrosoftもありました。この時期、Microsoftは次期のWindows開発用のプラットフォームにJavaを据えようと考えていました。その後、袂を分かつことになるのですが……。

プログラム言語として構文などを見ると、C++を強く意識した構文なのは間違いなく、しかしポインタ演算を廃してポインタを機能を限定した「参照」に置き換えるなど簡素化が多く見られます。C++からはいろんな機能が削られています。関数ポインタ、構造体、演算子オーバーロードテンプレート((テンプレートについては実装が間に合わなかったという話を聞きます))などなど。そのためC++の劣化であるように揶揄する人もいますが、こうしたものを捨てて言語仕様を比較的小さくシンプルに抑えた点は評価に値すると思います。しかし、今でもこうした削減された機能を愛する人からはJavaを腐す要素として挙げられてしまうのでした。

Java 1.1 1997年2月19日

Wikipediaからピックアップすると1.1での大きな機能追加は

といったところです。当初よりJavaの内部文字コードUnicodeで文字を表すchar型は16bitで設計されていました。Unicodeは当時それほど普及しておらず、Unicode対応のテキストエディタさえ少なかったと記憶しています。時代を先取りしていると言えますが、大きな誤算はUnicodeが当初16bitのコードポイントに世界のあらゆる文字を格納しようとしていたことで、漢字圏の我々からすると16bit=65,536程度の空間に文字が全部入るわけないだろ!というものだったが故に早々に破綻し、Unicodeは21bitのコードポイントに拡張されることになるのです。これはまた後の話。

なんにせよ、日本語が対応されたのは1.1からで、日本でのJavaの採用が始まったのはこの頃からと言えましょう。

当時のJavaのGUIはAWTというものでしたが、これを用いたGUIの開発は当時は結構行われていたイメージですね。Visual BASIC でGUIを作るプロダクトも結構あったと思います。GUIのためのオブジェクト指向言語としてJavaが使われていたイメージがありますね。JavaBeansもそのための仕様でした。件のsetter/getterの話題に繋がっていくのですが。

JDBCはJavaとデータベースをつなぐインターフェースです。RMIではあるJava VMから別のJava VMにオブジェクトを送って実行する、といったことができます。こうした機能が用意されたことで、ソフトウェアフロントとしてのGUI、裏方の実装のためのネットワーク機能、データベース機能、さらにはソフトウェアを配布するためのJava Appletという布陣でJavaでのソフトウェア開発が加速していた時代といえます。

Microsoft Visual J++ もこの時代ですよ。

Java 1.1以降のバージョンのものは互換性確認のためにOracle Java Archiveからダウンロードすることができ、今でも入手することができます。もちろん、Java7ですら2015年4月にEOL(End of Life,サポート終了)となっているので、通常利用するのはJava8としてください(本稿執筆時点)。

当時のドキュメントを見るのも一興です。現在と比べると標準APIがかなり小さい。なお、当時のjavadocは今とはデザインが大きく異なります。

  • java.applet
  • java.awt
  • java.awt.datatransfer
  • java.awt.event
  • java.awt.image
  • java.beans
  • java.io
  • java.lang
  • java.lang.reflect
  • java.math
  • java.net
  • java.rmi
  • java.rmi.dgc
  • java.rmi.registry
  • java.rmi.server
  • java.security
  • java.security.acl
  • java.security.interfaces
  • java.sql
  • java.text
  • java.util
  • java.util.zip

この時代であれば、全パッケージを舐めて標準APIを学ぶこともそう難しくはありませんでした。この時代から触っている人間は新バージョンが出るたびに増えるAPIを順に学んでいけたのです。しかし、現代にJavaを学ぶ場合、どのバージョンでは何があって……というのをいちいち学ぶ必要はほぼありません。Java5以前は一緒くたでいいと思いますし、一部のAPIで歴史的経緯があってねーというのを知っていればおそらく十分ではないでしょうか。

Java 1.2 1998年12月8日

strictfpキーワード浮動小数点演算をやる人は覚えておきましょう。JavaはパフォーマンスのためにCPUの浮動小数点演算を扱うことが許されており、そのため実行するCPUによって精度が異なることがあるんですね。まあ今時のCPUだと大丈夫だとは思うんですが。

リフレクション機能ではJavaのクラスを抽象的に扱うことができます。設定ファイルに書かれたクラス名のclassロードして実行する……みたいなことができるんですね。フレームワーク的なものを作る場合には多用することになります。

1.2からは新しいGUIのSwingが採用されました。AWTがOSごとのGUIパーツを用いていたためデザインに違いがあったのに対し、Swingでは統一的なルック・アンド・フィールが用いられるようになりました。まぁ今ならJavaFXを使うのが良いと思います。

初期のJavaはやはりVM方式の実行速度の遅さが指摘されていました。実行時の構文解析を伴わないだけインタープリタよりは早いものの、実行バイナリを作るC/C++よりは遅い、そうした評価です。ここではサン・マイクロシステムズのVMにJIT(ジャストインタイムコンパイラ)が乗ったことが挙げられていますが、JIT自体は別の会社が先駆けて開発していたことは記しておきたいと思います。

JITコンパイラは実行時にJavaのバイトコードを環境のネイティブコードコンパイルして動かす技術です。この後、JITコンパイラ、動的再コンパイル技術、世代別ガベージコレクションを備えたHotspotといった様にJavaVMは進化していきます。現代では実行時の最適化が進み、大きなスケールで見た場合、Javaの実行速度はC/C++での実装と比べてそれほど遅れるものではありません。遅くても倍の時間は掛からない程度といったところでしょうか。

あとは特記すべきはコレクションフレームワークです。皆が多用しているであろうjava.util.Listやjava.util.Mapといったライブラリが整備されたのがこの時なのです。それ以前はjava.util.Vectorやjava.util.Hachtableというクラスが可変長配列の機能を一手に担っていました。今ではVectorやHashtableは使うべきではありません。

Microsoft 離反

Java の開発はSun Microsystems が主導していたけども、すべてがSunのものだったというわけでもなく。Javaには多くの会社が出資していてその中のひとつMicrosoftだったわけですね。

Microsoft の Visual J++ では delegate とか独自機能拡張もありましたけど、裁判で問題になったのは J++ でコンパイルしたclassファイルMicrosoftのVMでしか動かないという部分ですね(他社製のVMで動くclassファイルを作ることもできる)。classファイルがどこのVMでも動くの大事だろ、"Write once, run anywhere"だろ、お前何してくれてんの!と喧嘩になったわけです。当時のMicrosoftブラウザまわりでも独自拡張がやりたい放題、標準規格?なにそれ美味しいの?みたいなスタンスをあちこちで見せていたものです。

結局、この事件でMicrosoftのJavaはバージョン1.1相当でストップ。好き勝手にやれないなら独自に言語作るわーとばかりに.NET フレームワークと C# といった方向に舵を取ります。

JavaがPC上でのUI開発の主力になろうとした勢いはここで潰えます。

Java EE

Java SE とは別にこの時代に Java EEリリースされていることは特記しておきたいですね。これ以後、それまでのCGIに取って代わって、JavaはWebサービスの開発のプラットフォームとして多用されるようになります。

2000年あたりからはJavaはGUI開発というよりは、Webサービスの開発が主流という流れになっていきます。インターネットサービスが非常に発達していった時代、背後ではとてつもない量のJavaのプログラムが支えていたわけです。ただまあ、こうした産業利用は一般的ユーザーの目にはあまり入らないわけです。一般人からすればJavaといえばJava Appletみたいなイメージはずっと残っていたでしょうが、実体としてはJavaといえばServletという時代になっていたわけです。

企業で用いられる社内システムにもServletは多く採用されました。

理由はいろいろ挙げれると思うのですが

というのが大きな理由だろうと思います。JSPというテンプレートエンジンを用いてHTMLを整形してWebページを作り出す、というアーキテクチャある意味では便利で簡単でした。

もっともHTMLの表現力に足を引きずられるため、GUIの機能性という点では後退したわけなのですが。それでもメリットが大きいと判断されたのでしょう。というか、まともにGUIを組めるプログラマがほとんどいないから、GUIのシステム開発がなかなか成功しないってのもあったんでしょうけどね。

iアプリ Javaアプリ EZアプリ

2000年あたりというと携帯電話の普及も取り上げなければなりません。現代のスマホガラケーに比べれば非常に機能は貧弱で、まさに携帯「電話」でした。要するに電話とメールぐらいしかできなかったんですね。

そこにdocomoiアプリJフォン(ボーダフォンを経て現ソフトバンク)のJavaアプリ、auのEZアプリという携帯電話上でちょっとしたアプリが動くよ!というのが乗るようになってきたんです。これがJavaを組込み用途にコンパクトにしたJava MEというものが土台となっていて(正確にはiアプリちょっと違う)Servletと並ぶJava言語の大きなもうひとつの領域となっていました。

iアプリは当初は容量が10k byteまでといった制約があり、容量制限が非常に厳しかったのですが、新機種が出るたびに容量は緩和されていきました。

docomoiアプリ含めiモードによって一世を風靡します。こうした土台を作ると、その上で商売をしたい人がたくさんやってきて、勝手にコンテンツを作ってくれる。docomoはそれらから手数料を取るので労せずして大金を稼げるというわけです。賭場の胴元というわけです。

この賭場が、将来にAppleiPhone, GoogleAndroidに荒らされることになります。docomoがなかなかiPhoneを出さなかったのもiモードという自前の賭場を失うことを良しとしなかったためです。金づるを失ったdocomoSamsungと組んで独自の携帯向けOSであるTizenの開発に乗り出します。そんなTizenですが鳴かず飛ばず。噂ではインドあたりではリリースされたとか、なんとか。

RIA時代

話を2001年に戻しましょう。

Microsoft離反でGUIのプラットフォームとしてのJavaというものは存在感を弱めていました。この分野の復権に寄与したのはJava 1.4 (2002年2月6日)で導入されたJava Web Startです。

Java Appletブラウザ埋め込みで動作したのに対し、Java Web Startではブラウザから起動しつつも独立したアプリとして起動するのです。

Webシステムが企業の社内システムに採用された話は先に述べたとおりですが、やはりWebシステムのGUIというのはHTMLに引きずられて貧弱だったんですね。

端的に言えば入力値が数字かどうか?みたいなチェックがなかなか難しい。HTML上でJavaScriptでやるわけなんですが、なかなか気持よく入力できるような感じにはならなかったんですね。

また、Ajaxによるブラウザのページ遷移を伴わない通信というのが出てきたのも2005年ぐらいなので、入力値に対してサーバ問い合わせするようなことはできなかった。当時だと一旦画面遷移させないとできなかったわけです。

こうした事情から、クライアントサイド、要するにPC側でもっとリッチなUIが使いたい!という要望があったわけです。Webシステム使いにくい!という不満の噴出と言ってもいい。そこで出てきたのがRIA (Rich Internet Applications)というわけです。

Javaは1.0時代のAppletからそうですが、ネットワークを介して別のPCにプログラムを送り込み、そこで動作させるという能力を持っていました。それこそまさにRIAに求められる機能性だったわけですね。

RIAの代表とされるのは

あたりです。三つ巴の戦い、どこに軍配が上がるのか!?と注目されましたが、勝利したのはHTML / JavaScriptでした。

Google MAP で注目を浴びたAjax技術、それまでブラウザでは不可能と思われていた高級なGUIをHTML / JavaScriptで実現させました。もうやめて欲しいですよね。せっかく脱ブラウザの流れが来たと思ったのにまたWebシステムに逆戻りですよ。

RIAが失速した理由として考慮して置かなければいけないのはスマートフォンの台頭です。RIAでは端末を選ばずどこでも同じアプリが動かせる点がポイントひとつでしたが、スマートフォンではそうは行かない。"Write once, run anywhere"を破壊したのはスマートフォンだったというわけです。

しかし、先日インストールなしでアプリを実行するAndroid Instant Appsが発表されたりしまして、結局RIAの思想といいますか、要求というのは今でも息づいているのだなと思った次第です。

Java 5 (2004年9月30日)

1.3 / 1.4 では機能追加はあっても言語構文が大きく変わることはありませんでした。大きく変わったのはJava 5です。この時からバージョニングが変わって1.5ではなく5と表記されるようになりました。

Java5の特徴はなんといってもジェネリクス。それまでjava.util.Listにデータを出し入れするのにはキャストが必須だったわけですが、ようやくキャストから開放され型の安全度がぐっと高まりました。その他に以下のような変更があります。

言語としては随分変わっったわけですが、もうかれこれ10年以上前のことですからこれらの機能が「Java5から導入された」という知識は今となってはあまり必要とされません。これらの機能が使えないJava 1.4で開発をする事案が殆ど無いからです。0ではないのが悲しいところではありますが。

その後

Java 6 (2006年12月11日)がリリースされた後、Java 7 (2011年7月28日) が出るまでJavaは停滞してしまいます。その間にSun Microsystemsという会社がなくなってしまったためです。

Sun Microsystems の経営状況が悪化しており、ついに身売りをすることになりました。身売り先はIBMともGoogleとも噂されましたが結局2010年1月27日オラクル吸収合併されました。

Javaの停滞中にはJava VM上で動く非Java言語も台頭してきました。Scalaなどですね。

やや戻って2007年Androidが発表されます。Androidの開発言語にはJavaが採用されていますが、実行環境はJava VMではなく、ライセンス的な事情でJava(TM)は名乗らない微妙な位置関係にあります。

Java 5 以降で大きく言語仕様に手が入るのは Java 8 (2014年3月18日)です。並列処理を行うためのStream APIと、そのために簡易に関数を定義するためのラムダ式が導入された点が大きいですね。日付APIも刷新されました。

このように、Javaは1.1の黄金時代から今に至るまで利用ジャンルを転戦しながら産業の土台となって支えてきた歴史があります。ジャンルの趨勢により浮き沈みもあります。今後についても決して楽観視はできないでしょう。Javaを学ぶことはプログラミングを学ぶステップとしては意義はあると思いますが、Javaを学べばゴールというわけではありません。プログラム言語次世代へと移りつつあります。業界動向には注視していきましょう。

2016-04-26

動画勝手再生される広告って

かつてのインターネッツ

勝手に起動するJavaアプレットだったり、

勝手MIDIで音が鳴ったり、

それら並にうっとうしいよね!

2015-06-25

Yahoo!チャットって場所があったんだよ

昔さ、Yahoo!チャットって場所があったんだよ。お前は知らないかもしれないがな。

当時はみんなホームページってやつを持っててな、誰が読むんだかしらね自己紹介とか何番目の訪問者です!ってのやっててな、ひどいとこになると熊のアイコンみたいなのがビュンビュンとカーソルを追いかけてくんだ。ありゃ恐怖だったね。

誰が興味あるんだかしらねえ、使用パソコンスペック書くヤツまでいてな、「CPU: PentiumII、350MHz」とかドヤ顔で書いてたんだよ。タワー型のパソコン写真まで載せてな。なんのため?しらねえよ、本人に聞け。

でな、そういうところには必ず掲示板ってやつがあってな。BBSとか言ってたな。山陰放送じゃねえぞ。で、キリバン踏んだらBBSに報告することが義務付けられてて、しなかったら末代まで祟られて呪詛にかけられるんだけど、熱心なヤツになるとチャットっていう、リアルタイムに文字でお喋りできるやつまで設置してたんだ。

BBSチャットCGIっていう技術使っててな、パーミッションの設定だかなんだかしらねえけど設置するのは結構しかったんだよ。掲示板チャットも自前のやつ設置してるヤツはけっこうできるヤツ、そう見られてたんだ。

でもな、誰がパソコンスペックとか見に来るよ。誰がタダシのFM-Vの写真みにくるよ。誰もこねえよ。熊のアイコン追いかけてくるしな。だからこれらのBBSチャットは軒並み廃墟になってたんだ。チャットなんて「森ぞーが入室しました」「森ぞーが退室しました」が何行も表示されてるだけよ。寂しさの象徴、それでしかなかったね。

だけどな、天下のYahoo!様がチャットを設置したとなれば話は別よ。集客力抜群。色々なジャンルチャットルームが設置され、そりゃあ賑わっていたいたもんよ。全然覚えてないけど「エンターテイメント」とか「地域」みたいなカテゴリがあって、その中でユーザーが部屋を立てられるようになってたんだ。みんなこぞって趣味が合うやつとチャットしたもんさ。

ちょっとすぐには見つからないんだけど、「出会い」って分類の中に「アダルト」ってカテゴリーがあってな、事実上、そこが18禁エロカゴリーとして使われてたんだよ。信じられねえだろ、Yahoo!公式エロよ。そこで色々と、人間煩悩Javaアプレットにしたみたいなエロい部屋が数多く立てられててな、当時の俺は狂ったように通ったもんよ。

その中でも、一番すごかったのが「オナニー部屋」ってやつで、そこにはオナニーしたい女が集まってくるってテーマがあったんだ。そう、チャットオナニーだ。でもな、文字で「んっんっ」とか「いくー」とか「ゆーか!ゆーかちゃん!」とか書くわけじゃねーぞ。

当時としては最先端ボイスチャット機能、これがYahoo!チャットには搭載されていたんだ。これはすげーぞ、声で女のオナニーが聞けるってえ代物だ。

興奮度がマックスになってしまうのはもちろんだがな、別の側面としての利点もあったんだ。それが「今オナニーしているのは絶対に女である」という点だ。こりゃあすごかったね、ブレイクスルーだったね。

当時は今みたいに誰もがネットしてる時代じゃねえんだ。みんなチェックのシャツ着てバンダナ巻いてテレホタイムよ。女が圧倒的に少なかった。文字だけのオナニー部屋なんてやろうものなら1000%の確率で、女のふりしたオッサンがあんあん文字打ってるだけよ。ネカマっていうんだけどな。男のオナニー文字を男が見て興奮する、そんな殺伐とした時代よ。

でも声ならごまかしきかねえんだ。絶対に女である、そういった保証があった。年金より確実な保証がそこにはあった。おりゃあインターネットやっててよかったと思ったよ。Yahooチャットばんざーいとも言いたくなるよ。

でもな、やっぱ女は少ねえんだよ。その絶対数が少ないし、Yahooチャットに流れ着いてアダルトに行ってオナニー部屋に辿りつく。こりゃあ天文学的確率よ。さらマイクを所持していて、みんなにオナニー聴かれてもいい、なんてなるとほぼ不可能に近い確率だってわかるだろ。でもな、そこそこいたんだよ。そりゃ入れ食いとまではいかねえよ。でも、ジッと待ってると本当に来たんだ。女が来たんだ。

オナニー部屋はスピードタイミングそしてチームワークが重要だ。これらが完全にマッチしないと女のオナニーにはありつけねえ。生きるか死ぬかの勝負がそこにはあった。

オナニー部屋に入ると10人ぐらいのサムライがいるわけよ。全部男だ。そこで女が到来してくるのを待つわけだ。気配を殺してジッと待つ。追い込み漁みたいな感覚だ。そこに会話はねえ。肉食獣みてえに研ぎ澄まされた連中だ。

mina」とか「kana」とか明らかに女くせえアカウント名が入室してきたら勝負開始よ。釣りで言うところの魚が餌をツンツンしてるところだ。まだひいちゃいけねえ、焦っちゃいけねえ。がっついてサムライどもが襲い掛かったら女は逃げちゃうからな。

ここで俺たちは黙って見守っているんだ。何をって?オナニー指導員の誘導を見守ってんだよ。女が部屋に入ってきて、いきなりマイクいであんあん言い出してみろ、結構そんな女、嫌だぜ。そりゃあ女だってオナニー部屋に来るくらいだ、オナニーする気満々よ、聴いてほしいんだよ。でもいきなりやられたらお互いに興醒めよ。そこにはちゃんと予定調和ってやつがあんだ。

そこで優しくオナニーするオナニー指導員の登場だ。こいつはマイクを所持してて、優しい声してんだ。男前な声してんだ。

「いらっしゃい、ミナ、今日の気分はどうかな?」

まるでベイFMのDJよ。俺が女ならイチコロだね。

マイク持ってる?」「え、あるんだ、繋いでみる?お話しようよ」「カワイイ声だ」オナニー指導員はこんな感じで誘導していくわけよ。ここで初めて俺たちガヤの出番だ。チャット画面に「カワイイ声」「キュートな声」「澄みきった清流のような声だね」心にもないことを書きまくっておだてる

そうこうしてくると、どんどん男どもが入室してくる。オナニーの気配を感じ取ると、すごい勢いで入ってくる。スピード勝負って書いたのはこれで、実はYahoo!チャットは一つの部屋の定員が100名だ。オナニーが始まりそうになるとすぐにこの定員は歴戦の猛者どもで満たされる。

そうすると自動的に「オナニー部屋_2」みたいな部屋が作成されて、以後の入室者はそこに飛ばされるようになる。でも、そこにはオナニーしたい女もオナニー指導員もいねえんだ。オナニー聴きたい猛り狂った男が100名いるだけだ。こんな悲しいチャットルームはインターネット歴史の中でそうそうないぜ。

話を戻すと、オナニー部屋では選ばれし98名が指導員と女の会話を聴いている。ここで俺たちはジッとまってねえといけねえ、全部指導員に任せるんだ。俺たちは指導員に全幅の信頼寄せている。伝説指導員「シャドウウィザード265」さんを信頼しきってる。

「じゃあちょっと触ってみようか」

はい

こうしてオナニーが始まる。俺たちが目指していた場所約束の地だ。オナニーが始まったら指導員の声は邪魔から無視ボタンを押す。いらん。女の声だけを聞く。こうして女のオナニーにありつけるってわけだ。

女は聴いて欲しかったオナニーを聴いてもらえる。指導員も俺が誘導してオナニーさせたと自尊心を満足させる。俺たちも興奮する。誰も敗者がいないシステムだった。強いて言うならば「オナニー部屋_2」に押し込められた屈強な100人の男たちが敗者か。

そんなある日、いつものようにオナニー部屋で待機していると、女がやってきた。「ラビアンローズ」とかそんな名前だったと思う。なかなか高貴そうな名前だ。

その日はブラッディレイン0721さんがオナニー指導員だった。甘い声と穏やかな口調、しかしひとたびオナニーが始まると女に対して「脱がなきゃダメじゃないか、ふざけてるのか」と厳しい一面も見せる人気のあるオナニー指導員だった。

いつもの流れで挨拶をし、マイク接続させる。するとラビアンローズの声に俺らサムライは驚いた。こんな品があってキュートで高貴な声があるだろうか、そんなレベルだった。声から良い香りがしてきそうな勢いだった。

手に汗握った。別なものも握った。こんな高貴な女が今からオナニーをする。小学校の時に高校生兄貴がいるクラスエロ博士兄貴エロ本を盗んできた時くらいの緊張が俺を襲った。

それは指導員のブラッディレイン0721さんも同じようだった。誘導にいつものキレがない。上玉の登場に緊張しているのだろう。それでもそこはブラッディレイン0721さん、数多くの修羅場オナニー誘導)をくぐってきただけあって、静かに上玉をオナニー誘導していく。

チャット定員は既にパンパンだ。「オナニー部屋_5」くらいまで作られたのを確認した。そんな中、本当に精鋭だけがこの部屋にいて上玉を見守っている。

今日はどうしてここにきたのかな?エッチな気分?」

ブラッディレインが勝負を仕掛ける。

ちょっと、こういってはなんですが、その、少し、エッチな気分になりまして、恥ずかしながら、きて、しまいました」

その場にいた全員がパンパン空気入れすぎたタイヤみたいになっていたはずだ。今日が僕らのYahoo!チャット記念日だ。こんな上玉に出会える日なんてもう来ないだろう。心臓が破裂しそうだった。Yahooチャットバンザーイ!

「じゃあちょっとだけ触ってみようか」

一番の勝負どころだ。俺的にはまだ早いんじゃないかと思ったが、ブラッディレインは一気にぶっこんできた。彼も勝負を焦ったのだろう。この「触ってみようか」のタイミングを間違うと全ては水泡に帰す。早すぎては逃げられる、遅すぎても、女のテンションが下がる。一番難しい判断だ。誰も彼を責めることはできない。

沈黙の時が流れる。誰もが女の返答を持った。ブラッディレインも喋らない。女も喋らない。チャットも動かない。時間概念が覆りそうなほど、何も動かない時が過ぎた。張り詰めた緊迫感をこの場にいる全ての人間が共有していた。

静止した時の中で俺は耐えられなくなっていた。この緊迫感、緊張感、沈黙、頭がおかしくなりそうだった。何かチャットに書き込んでブラッディレインを援護したほうがいいのか、それとも静観していたほうがいいのか。俺たちのルールではこの瞬間は余計なことは書き込まないことになっていた。でもそうは言ってられない。何が正義で何が悪なのか分からなくなっていた。

何をトチ狂ったのか、気がつくと「Ctrl」と「v」を押し、エンタキーを押していた。まだ自分気持ちも決まっていないのに、何かしなきゃと気ばかり焦り、コピーしていた文字列チャットに投下していた。

ええい、ままよ!投下してしまったものは仕方がない。問題はその内容だ。確か、俺の記憶が確かならばいつもの定型文、「ああ、カワイイ声だなあ。田舎を思い出すような安心感のある声」っていう意味不明なやつがコピーされていたはず、それを貼り付けた。それなら沈黙を破ってまで投下する価値はないとは言え、援護書き込みになる。大丈夫だ、きっと大丈夫だ。

祈るような気持ちチャット画面を見る。頼む、援護書き込みコピーされていてくれ!頼む!恐る恐る自分発言視線を移した。画面には衝撃的文字列が並んでいた。

カマキリ

なんで俺はこんなもんコピーしてんだ。いつだ、いつだよ。いつコピーした。それよりなにより、これ四文字じゃねえか、コピーしてんじゃねえよ。打ち込めよ。

勝負所の静寂の中、耐え切れないほどの緊張感の中、チャット画面に燦然と輝くカマキリの文字。先程とは別の意味で全ての時間が止まった。

沈黙を破ったのは女だった。

カマキリってなんですか? 私がカマキリみたいな声ってことですか?失礼な人ですね。気持ち悪い」

その声からは深い怒りが感じ取れた。カマキリみたいだった。

ラビアンローズさんは退室しました」

無慈悲システムメッセージが少し薄いグレーの文字で表示される。オナニー寸前だった高貴な女が怒って帰ってしまったことを指し示していた。

これに怒ったのはブラッディレインと97名のガヤたちだ。

死ね

「お前マジで殺すぞ」

「ここまで頑張ったブラッディレインに謝れ」

「代わりにお前がオナニーしろよ!いやするな!気持ち悪いわ!やっぱしね!」

俺はこれまでの人生でここまで叩かれまくったことは4回くらいしかない。とにかく半泣きになりながら謝りまくった。

「なんでカマキリとか書き込んでんだよ!」

キレてるブラッディレインの問いに何故か知らないけど

「すいません、パソコンスペックが低くて誤作動しました。変な文字がペーストされました。本当は援護するつもりだったんです」

意味不明な嘘の供述をしてパソコンのせいにしてた。

「はあ、スペックが低くて誤作動?あるわけねーだろ、スペック書いてみろ」

CPUPentiumIIの350MHzです」

「じゅうぶんじゃねーか、俺なんかPentium133だぞ」

こんな心温まるやりとりがあったんだ。ここからはみんなオナニーのこと忘れてパソコンスペック申告大会よ。みんなスペックを書きたがったんだ。そういう時代だった。いい時代だった。今よりちょっと昔の、全てが煌めいていた時代お話さ。お前が今インターネットの何に夢中になってるのかしらねえ。でも、数年後にこうやって思い出話にできるといいな。そうなるように祈ってるよ。

2014-04-16

iPadには愛想が尽きた

ついにiPadに愛想がつきた。ちなみに今使ってるのはiPad 2。もう3年になる。

不満点は以下の4点

・たまにもっさり

まぁ、これは古い機種だし、仕方ないかなと思ってる。

Flash対応

いくらこれからHTML 5だと叫んだところで、どうしてもFlashを使ってるサイトにあたることは多い。

面白くないだけならあきらめるが、必要情報が得られないのは困る。

・物理キーボード欲しい

Bluetoothキーボード買えばいいんだけど、型遅れのiPadの為に買うのももったいない気がして…。

アプリ連携の悪さ

これがiOSの最大の欠点だと思ってる。

たとえばtwitterで流れてきたブログを読んで、はてブコメントを読みたいとき

safariで開き直してからブックマークアプレットを使うことになる。

androidのように共有メニューに追加できれば、かなり便利になると思うのだが。

代替

第一候補はSurface 2

実機をまだ触れていないのだけれど、どうやら上記3点は解決しているらしい。ただ気になる点も。

MS嫌い。

USB充電ができない。

SIMカードで通信ができない。

ほかの適当Androidタブレット(or Win8タブレット)+Bluetoothキーボードにするか…迷うところだ。

おすすめあれば教えてください。

2010-12-23

Web対戦ボードゲームチャット】を作るにはどうしたらいいだろう。

プログラミング勉強中。

そりゃあ、やろうと思えば様々な手法があるだろうけど…

いかに余計な作業を減らして「やりたいことを実現」するための作業に専念するか、を考えている。

いろんな言語への興味はあるが、むしろそのせいで今まで時間いまくってるので、そろそろ「手早く作る方法」を知りたい

あんまり色々な手法を試してもいられない。

「これ!」ってやり方を決めたい

何か、すっきりしたやり方はないものか…

作りたいもの

2人対戦ではない。4~6人前後が参加する。
プレイヤーのアテは既にある。
3Dじゃないし画像ゴリゴリ動かしたりはしない。
扱うのはテキスト中心。GoogleドキュメントやOnsheetを改造したたいな感じのものが作れればいい。
全員が全ての情報を見られるわけではない。公開情報と秘匿情報がある。
ログイン制にするかどうかで迷う(手軽さが失われる?)。
中断→再開 ができるようにしたい。
これはそんなに問題ないだろう。
対戦格闘アクションたいな「リアルタイム性が命」ってものではな
多くても1~2秒に1回くらい画面が書き変わればいい。
計算とかの処理も、せいぜい「山札をシャッフル」とかそういうのだけ出来ればいい。
べつに敵キャラ勝手に動いたりはしない。人間vs人間ボードゲームから
いちいちユーザーさんにインストール作業とかさせたくないので、ブラウザゲー(Webアプリケーション)にしたい。
…のだがブラウザゲーにすると大変なのだろうか? どうなの? って悩んでる。
「各人がサーバーを立てる」みたいなのも混乱するしタルいので、製作者のほうでサーバーを用意したいのだがどうなんだろう。
負担がどれくらいのものか気になる。月々数千円で賄えるだろうか? 同時に立てられる部屋数は、最初は2~4個くらいでいいと思うんだけど。



自分の状況

独学でプログラミング勉強中。

だが、あまり修得にばかり時間をかけてはいられない。

プログラミング言語は、C C++ Java Python Perl VB C# HSP PHP JavaScriptなど、どれも基礎を触ったりしてばかりで何年も過ごしてきた。

FLASHは持ってない。(PalaFlaは触ったことあるけど、いまいちイメージしにくかった)

なんだかんだで一番慣れてるのがHTML+CSSで、次点PHPJavaScript

jQuery大好き。 Ajax大好き。

ただ、PHPだのjavaScriptだのSQLだの、複数言語を同時に扱ってると非常に面倒。

そこでサーバーサイドJavaScriptに目をつけたものの、『Jaxer』は2008年に書かれた記事がちょっとあるばかりだし…

Node.jsってどうなんだろう…?

考えられる手法

PHP + MySQL + jQuery
いちばん無難だと思う。現行はこれ。でも面倒さが拭えないし、「MySQLでいいの?」みたいな疑問もどんどん湧いてくる。
上記のもの + Cake PHPなどのフレームワーク
自分の求めてる「手軽さ」を実現するには良さそうだが、また別の問題がいろいろ発生しまくるような気がする。
Ruby on Rails
なんか、いいとか悪いとか色んな話を聞く。
Skypeプラグイン?として作る
日本語情報が少ない。
GoogleドキュメントやOnsheetにマクロを組み込む
なんか違った。
FLASH
良さそうに思える。…が、無料ActionScriptを体験してみたら、どうも馴染めない。
Shilverlight
Javaアプレット
今までまったく触れていなかったが、もしかしたらいいのかも? と思い始めた。とりあえず今から触ってみる。


うーん、あまり纏まってないが、とりあえず現状をダンプしておく。

なんか参考になるものがあればなー。

こういうこと色々聞ける相手も周りにいないし

2010-05-08

http://anond.hatelabo.jp/20100508093218

いくらでもあるでしょ。

HTMLでもいいし、JPEGGIFPNGMPEGWMVMP3Javaアプレットと、表現手段はいくらでもある。

それよりもFlashが優れているのは単にAdobe(Macromedia)の努力の賜であって、寡占状態は別に不当な結果じゃないでしょ。

もしユーザー不利益な行動を取るようになったら、さっさとFlashから別の規格に乗り換えればいい。

2006-11-17

[][]ニューカマーにも優しい増田になるために

話題の流れが自動的に視覚化されれば、みんな幸せになれると思うよ。

掲示板ブログ間の言及合戦でもそうかもしれないが、増田でも普段から増田に常駐している人と、最近利用を始めたばかりの人との間に増田に対する理解に差があるね。

匿名ダイアリーとやらに書いてみる」とか「増田って何?」みたいな短いポストを平然とできる人はニューカマーと考えていいだろう。増田に常駐している人々にすれば、「何をいまさらそんなことを書いているのか」と思うかもしれないが、増田ワールドになんの予備知識もなく入ってきたニンゲンにとって、増田内の作法やホットな話題をすばやく把握することは難しい。

増田やりとりされているホットな話題やその中から形成されてきた暗黙の了解はニューカマーには見えにくいし、過去をさかのぼって学習することが難しい(というかめんどくさい)。なぜなら、

では、どうすればニューカマーにも優しい増田になれるのか?

技術的な方法としては、記事同士のつながりを明示化する機能をつければよい。はてなのおとなりMAPの記事単位版をつくればよい(おとなりMAPってもうなくなった?JAVAアプレットでうねうね表示されるやつ)。記事にMAPボタンがついていて、それを押すとその記事がリンクしていたり、リンクされている記事のつながりが芋づる式に図式化される。わんぱーく先生、よろしくお願いいたします!

増田民のボランティア精神に頼る方法としては、[まとめ]とか[前回までのあらすじ]とか[保護者のみなさまへ]みたいなタグタイトルに付けて、任意の議論のまとめ記事を作ればいんじゃね?

 
ログイン ユーザー登録
ようこそ ゲスト さん