「tomcat」を含む日記 RSS

はてなキーワード: tomcatとは

2022-09-09

エンジニア視点から見たゲートルーラーデッキメイカー騒動について

※この記事池っち店長誹謗中傷する意図はなく、またゲートルーラーに対して悪意を持って不利益を被らせる意図はありません。

みな様ゲートルーラーを楽しんでおりますでしょうか。私はカードこそ持っていないものの、Twitterでたまに検索をかける等して楽しんでおります

さて、私は数年ではありますが一応ITエンジニアという肩書で働いており、色々なシステムを見てきました。今回のゲートルーラーデッキメイカー騒動エンジニア視点から見ると大変面白くなっている為、こうして書き残そうとした次第であります

以下は全て推測となりますので、ご了承ください。

①4/13の状況

ゲートルーラー公式Twitterから原因の第一報が放たれました。どうやら『DNS登録・反映に時間がかかっている。』のだそうです。

個人感覚ですが、DNS登録や公開は最後最後、つまりサーバに資材(プログラム)を配置してTomcat等を起動し、ローカルホストから接続確認できた後にやる作業だという認識があります。何故なら、資材の配置をせずにDNSを公開した場合ユーザが公開されたURLアクセスしても『404』のエラーを返すだけになってしまうからです。※すみません一般Webサイトの公開には立ち会ったことがなく、間違っていれば言ってください。

ですのでデッキメイカーの公開はあと一歩のところまで来ていると認識していた人が多かったと思います

ちなみに、9/9に公開された『デッキメイカー遅延の原因について、ご説明とお詫び』には資材を『gateruler.jp』にアップしようとしている画像掲載されていますが、仮にデッキメイカーを『gateruler.jp』を同じドメインURL、例えば『gateruler.jp/deckmaker』に作ろうとしていた場合は、そもそもDNS登録必要ありません。

②4/15~5/19の状況

ゲートルーラー公式Twitterから続報がありました。原因不明問題アップロードできず、専門家解決にあたっているとの事です。

私はてっきり4/13の段階でもうサーバに資材がアップロード出来ていると思っていたので驚きました。

アップロードができないということはファイル容量の問題ネットワーク問題サーバが起動していない等が考えられます

③9/9 今回の騒動

公式サイトに『デッキメイカー遅延の原因について、ご説明とお詫び』がリリースされました。

とても読み応えのある文章と共にスクリーンショットが数枚貼られています大事な部分はレンタルサーバサーバパネルと、その下のスクリプトです。

まず、『「アップロードしようとするとエラーを表示する画面が出る」というアプリケーションがAによって仕込まれていました。』とありますが、スクリプトを見るにこれが仕込まれていたのはデッキメイカーアプリケーション自体ではなく、サーバに資材をアップロードするHTMLファイルです。ですがこれはおかしな話です。ゲートルーラーは『Xerver』と言われるレンタルサーバを利用しているとみられますが、このサーバパネルは『Xerver』が提供しているサーバ管理する画面と考えられるので、そこにスクリプトを忍ばせる余地は無いはずです。スクリプトを忍ばせるなら、このサーバパネル画面のHTMLローカルに保存し、HTML内にスクリプト記述して、そのHTMLブラウザで表示する必要があります。画面にはURLが映っておりませんが、恐らくローカルにあるHTMLをそのまま表示しているからではないでしょうか。

もし仮に解決にあたっている専門家が居たとして、資材がサーバアップロードできない問題を1ヶ月かけても解決できないのであれば、それは素人と言わざるを得ないです。そもそもローカルHTMLを直接開いている前提からおかしな話なのですが、雑なスクリプトが仕込まれたこの画面を見て原因の切り分けを行わないエンジニアはほぼ居ないでしょう。

ちなみに『Xserver サーバパネル』で画像検索するともう少しリッチな画面が出てきます不思議ですね。

※ここに書いている事は推測にすぎません。真実を知っているのはあの人だけです。

2021-12-30

anond:20211229090827

その中で、「Tomcat」というソフト必要なので、検索してインストールしようとした所、

疲れていたのか、何故か「Tom cat」とスペースを打ち込んで検索してしまった。

画面には、同名の昔のバンドに関する検索結果が表示された。

確か夫が好きな北斗の拳の歌を歌っていた人だっけ?とか思いながら

改めてワードを打ち込んで検索し直そうとした所で、いきなり肩を小突かれた。

驚いて振り返ると、背後には私を睨んでいるOと社長がいた。。。

仕事ぶりを監督してたら、いきなり仕事中に関係無い変なバンド検索し始めた」

仕事サボるのは怠慢、社会人失格では無いか?この事はあなた会社の報告させて貰う」

くそわろwwwwwwwww よくできてんなあ

2021-04-27

カスタマイズ

Emacsカスタマイズにハマると幾らでも時間が消えていくと言われていたが、私はC言語でタブ幅の設定をするくらいだった。

Strutsの開発でTomcatプラグインが要ると書いてあったのでEclipseインストールするとか、会社の人からメールで送られたVimの設定をそのままペーストするとかくらいで積極的カスタマイズすることは無く。

IntelliJVisual Studio Codeの無数の拡張機能にも興味が無い。

シェル設定ファイルを頑張るのは時間無駄!という主張に共感したわけでもなく、普通に関心が無かった。

1990年代からコンピューターを使っているにもかかわらず……

しか2021年4月

急に凝り出した。「Emacs Lispっていうプログラミング言語でいろいろできるのか」「Visual Studio Codeマーケットプレイスには同じファイル対象にした拡張がいろいろあるな」と、今更。

なぜ。

でもまあ、設定にハマると際限無いのは実感できた。時間無駄っていう主張の意味も分かった。

2020-04-27

シャープさん・・・

マスク抽選販売にしたものの、応募サイトエラーばかりで全然応募できないんですが・・・

Apache tomcat が壊滅的に遅いか

速攻で nginx +何かの構成に変えたものの、経験者不在でチューニング分散も何もできてない感じなんですかねぇ。

どうせ抽選なら、ツイッター募集するだけで十分ちゃうん?と思ったり。

2019-07-23

ITの「なぜ?」が解決できない

カスタマーサポートからjavaを解析するチームに転属になった

これまで前職で7年くらいSIerjavaいじってきたけど、表面上をいじったり設定を変えたりしたたけで、全然スキルにならないことはわかっていた

から転職してカスタマーサポートになったのに、カスタマーサポートの中では多少コードが読める、というだけで転属になってしまった。

java+tomcat+postgressqlというまーたぶんOSS使うなら標準的構成だと思うんだけど、

tomcatの外にあるcontext.xmlじゃなくてjavaプロジェクト内のcontext.xmlの設定を変えただけでなんでDBの見る先が変わるんだろう?

eclipse内にあるtomcatってwindows普通にインストールするtomcatとどう違うの?

そのへんも分からないし、手順書通りにやっても動かないこともストレス(これはpostgressqlをインストール済みの環境リストア済みのDBがあること前提で手順書が書かれていることが後に分かった👍️)。

このITのなぜ?に一つ一つ答えられる人がいなくて前職辞めたのに、みんな忙しそうで聞きづらい。

なんか自分の疑問すべてに答えてくれる本が無いと分からない。

みんなどうやって一から環境構築してるんだろ?構造わかってるから出来てるんだよね...。

設定変えたら動くからそんなもん、て言われたらそれまでなんだけど。

きっとこうやって割り切れなさを抱えてるから仕事遅いと思われてるし、気ぃ遣いで優しそうだと思われてるかもしれないけど、ほんとは一から十まで最初から教えてくれないと分からない頭悪い人だと自分では思ってる。

きっかけと構造さえ掴めれば応用きいたりするんだけど...知識欲もあるし誰か教えてほしい。学校にいくか、本を買って読まなきゃなーって思ってるところです。

人に聞けない俺はその方向で合ってるのかな?

2019-06-21

Javaをメインで書いているわけではないけど

別にJava良くないか

なんならRubyより静的言語だという点で優れているような。

最近Go流行っているが、それならJavaだって同様に良さそうな気がする。

Java批判すべき点ってなんなんだろう。

- 記述冗長

- nullがたまにうざい

- なんか重厚な感じがする

- 重厚アーキテクチャ流行りすぎた?

- ORMとかが重厚なのが多かった

- ビルドツールが洗練されていない時代があった

- 故に環境構築が大変だった

- tomcat + jar みたいなのがだるかった?

- strutsがしんどかった

- 未だにstruts脆弱性が見つかったりするところ

- xml地獄からアノテーション化したりいろいろと模索していた

- なんかJava案件地雷が多かったとか?

- ちょっと昔には「俺たちイケてるプログラマ」はみんなRailsに移っていった流れがあった?

- Effective Javaよいが、そもそもそういうtips意識せずにそう書けるような言語仕様になってほしかった気もする

- 非同期処理やスレッド処理がやや難しかたか、あるいは言語側でのサポートが薄かったか(?)

言語仕様的な批判と、エコシステム的な批判に分けられそうなきがするな。

関数型言語の関心はScalaClojureに全フリしてもらって、Javaシンプル機能を持つGo方向性なModan Javaになっていってくれれば良さそうな気も。

httpサーブレットとかそのへんが微妙だったかもしかしてGoみたいにnet/httpライブラリが標準であればそれをベースにすることでオレオレフレームワークの乱立を避けることができるか、と思ったけどJAX-RSとかがあるな。

Goだって冗長記述必要言語だが、好かれているし、Javaも悪くない言語な気がするんだよな。

まあ何でもいいが。

ロジカルに考えているようで結局なところ雰囲気的なところに左右されているエンジニア多い気がする。

まあわいも、人気な言語に乗っておいて高単価を得られたほうがいいのでそうするが。今の所Goが肌にあっているんだよな・・。3年ぐらい使って熟練度上がってきたし、さほど悩まずにコーディングすることができる。

PHPの人が好きな、あるいはRubyのmethod_missingなど活かしたテクコードは、書いているやつは気持ちいかもしれないがわいは明示的にinterfaceがわかるコードが書かれていたほうが好きだ。型で振る舞いがわかったり制御されていないと分かりづらくない?複数プロジェクトを掛け持ちするから、読むときに前提知識が少なく読めるコードがいい。

まあJavaもリフレクションでテクいことができる気がするな。

Goがいい。誰が書いてもだいたい同じコードになるから、誰かに作業を振ったとしてもレビューやすい。

まあこれからJavaを書く気はしないが、GoAPI書いているマンから見ると、JAX-RSとかでゴリゴリAPI書いていくの全然悪くないんじゃないかと思うのであった。

最悪別にGeneric入らなくてもいいかもな。別にそんなに困ってない。はいってくれるなら、はいってくれたほうがいいが。sliceに対してmap, each, filter, existsなどのメソッドが生えることになるイメージかな。まあそれは欲しくなるけどな・・・

Scalaもいいんだが、たまにイキったコードを書くと分かりづらくなる時がある。イケてるコードを書こうと思ったとき結構パワーを使う言語だ。なんかモナドってジェネリックを更に強くしたやつだとも捉えられるような気がするな。ゴリゴリ関数型で書こうと思った場合プロジェクト全体に影響がある話なのでアーキテクチャ設計に力がいる気がする。

年をとると大事にするポイントが変わってくるな。昔はスーパープログラマになりたくて関数型言語とかやっていたが、今はいかに効率よく仕事をする=金を稼ぎ自由を得るかを重視している。職業プログラマとなったわけだ。仕様固めたりリリースしたり不具合対応したり運用したり、フリーランスなら税金計算したり、金儲けの方法考えたり忙しいんじゃ。今は結局スーパープログラマとは何か悩ましいよ。「プログラマとして」キチガイレベルにすごい人間というのはまだ見たことがないかもしれない。コーディングが早い?バグ修正が早い?パフォーマンスやばいコードを書ける?設計が優れている?

わいのレベルが低くて、高い人間凄さに気づけていないのかもしれないな。

2018-12-28

apacheインストールっていうのは、apache httpdインストールのこと?」とかい無意味な返し止めろや。

TomcatGeronimoのことかもしれない…わけないだろ!いい加減にしろ

2018-12-27

プログラミング言語なんてものは客の環境で動けば何でも良い

というか、ぶっちゃけ必須条件だ。

逆に客先のサーバPythonやらRubyは入ってないかダメだ(非常に残念ではあるが)。

というのも昔の話で最近クラウドサーバ流行PythonやらRubyも多少使うようになった(なぜ自社内のサーバに新しいものを入れるのは渋るのにクラウドサーバだと渋らないのかは不思議だが)。

しかし自社内にサーバを置いてるお客さんも結構いる。

その昔どこぞのレンタルサーバデータをぶっ飛ばしたという事件もあったので慎重になるのも分からないでもない。

結論としてはJavaPHPApache+TomcatIISASP.NETJavaScriptに多少の心得があれば食っていけるしRubyとか仕事で使う言語としては絶対流行らんと思ってたんだけど、そうでもなくなってきたのかなあと思っただけ。

2018-02-09

仕事中に開発環境が動かなくて焦った

EclipseJavaなんだけど

正常にビルドしてるのにtomcatが起動しないのよ。

みんな忙しいから周りに聞くのも迷惑だし

必死に調べた

4時間かかってようやく動いた。

糞開発環境死ね

2016-11-20

からお前らはブラックなんだよ?

ローカル仮想環境たてて開発するとマシンスペック足りない人いるか

みんなで一緒の開発環境上で開発しようね。

その際上書き事故防止のためにロック機能必須だね」

→ アホですか?

Gitは使い方難しくて工数増えちゃうからSVNソース管理しようね。

ソース触るときは他に開発中の人いないかチャット確認してね。」

→ アホですか?

「開発環境を構築するときは全部ちゃんとメモしてね。

あとで検証環境と本番環境でも同じ手順で構築するからコマンドまで細かく書いてね?

chef?ansible? itamae? 自動化するとミスがあったときにハマっちゃうからね。

手動が確実だよ。」

→ アホですか?

「Java8?使ったことないか不安だね。今回はJava7で行こうか。実績あるから安心だね」

→ アホですか?

JavaEE?使ったことないか不安だね。今回は大規模案件から使いなれたJavaSEにしよう。

アプリケーションサーバTomcatいいね

→ アホですか?

設計書書くとき知識がない人がみてもわかるように書こうね。

かいロジックまで設計書まで落とし込めるといいね

もちろんExcelで書いてね。更新するとき更新履歴シートに更新内容書いてね。

ファイル名は日付をちゃんと書くこと。更新したらチャットで報告してね。」

→ アホですか?


こんな会社は僕のとこだけだよね?

2016-11-04

IT界隈の動物たち

GitHubの謎生物が気になり、せっかくなのでIT界隈の動物(?)を用いた名前ロゴの由来など調べてみた。

※追記あり:Gopherファンに襲われそうなので。ごめんねGopher

GitHub

種類:octocat(ネコタコ

名前:monalisa

Q.どうしてタコなのに8本足じゃないの?

A.なにも考えずに描いたからね!

もともとデザイナーはoctopussと呼んでいたが、いくら訂正してもGitHub社員がoctocatと呼ぶため、octocatで落ち着いた。

octocatはあの生物種の名称であり、monalisaという名前社員の娘が学校課題で名付けたもの

Python

種類:ニシキヘビ

名前: -

イギリスコメディ番組空飛ぶモンティ・パイソン』より。

またPythonという英単語はニシキヘビを意味するため、マスコットとしてヘビが用いられる。

オライリーの本とかすごい表紙だよね。

PHP

種類:ゾウ

名前:ElePHPant

PHP」という字面が、横から象を見たような感じなので。

PostgreSQL

種類:ゾウ

名前:slonik

動物ロゴにしたいなら、象なんてどうだい?アガサ・クリスティ小説にもある『象は忘れない』だ」

   ― PostgreSQL発足時のメーリスより

Evernote

種類:ゾウ

名前: -

象は記憶力が非常に優れた動物のため。PostgreSQLと同じで、象の優れた能力あやかっている。

GNU

種類:ヌー

名前: -

GNU is Not Unix.

Mozilla Firefox

種類:キツネ

名前: -

もともとPhoenixという名前だったが、商標権侵害していたので、公募Firebirdという名前に決定。

しかし今度はDBに同じ名前があったので、Firefoxレッサーパンダの別名)に改名

みなさん命名は慎重に。

Docker

種類:クジラ

名前Moby Dock

白鯨Moby-Dick)』より。クジラ採用した理由デザイン見れば納得。

個人的に一番センスのある名前デザインだと感じる。

Linux

種類:ペンギン

名前Tux

名前タキシードTuxedo)を着ているように見えるから

ロゴコンテストで決定されたが、他の作品を見ればなぜ選ばれたのかよくわかる。デザインって大事

https://www.cs.earlham.edu/~jeremiah/linux-pix/linux-logo.html

Twitter

種類:鳥

名前:ラリー・バード

名前NBAのラリー・バード選手より。社員ファンだったらしい

ちなみに初期のTwitterデザインGitHubデザイナーが手掛けたもの。すごいっすね。

Seaser

種類:シーサー

名前: -

開発者出身地沖縄だったので。

MySQL

種類:イルカ

名前:Sakila

データ大海原を進む、という意味をこめてイルカ採用

Apache Tomcat

種類:ネコ

名前: -

オライリーの本に載ることを考慮して動物マスコットにしようと考え、「自立した強かさ」を持つという意味Tomcat(雄猫の愛称)を採用

しかし、猫はオライリーUML本で使われてしまい、念願のTomcat本にはユキヒョウが使われたという…。

が、最近Tomcat本には猫が使われた。めでたし。

Apple

種類:Dogcow(イヌ+ウシ)

名前:Clarus

昔々、Mac OSで用紙の向きや色を表示するために使用されていたらしい。

知らんわ。

Plan 9 from Bell Labs

種類:ウサギ

名前:Glenda

OS名前であるPlan 9~」はエド・ウッドの『Plan 9 from Outer Space』に由来。

ウサギ名前であるGlendaはエド・ウッドの『グレンとグレンダ』に由来。

どんだけエド・ウッド好きなんだよ。

Go

種類:ホリネズミ

名前Go Gopher

彼の歴史Goプロジェクトよりずっと前、1999年に遡る。

ニュージャージーのWFMUラジオで、Renee Frenchによって宣伝用のTシャツに描かれたのが、彼の初登場。

その後、Bell labsのメールシステムアバターとして起用もされた。

(ちなみにReneeはBell labsのGlendaを描いた人。Glendaもアバターの一員だった)

そうして2009年Goプロジェクトが発足し、ロゴ検討していたメンバーにReneeが無償で描いてあげたのが「Go gopherである

みんなGo Gopherと呼ぶので、特に固有の名前は無いらしい。

由来は下記サイトにありました。

https://blog.golang.org/gopher



調べてみた感想:週末にエド・ウッド作品見てみようかな、と思いました。

2015-04-12

5年ぐらいC#使ってたけど、仕事で突然Javaを使うことになった

一か月ぐらいJavaと格闘してしまった。

MSSQLだったのがMySQLになって新たにTomcatMyBatisSpringを使うようになった

Frameworkがガラッと変わってとても使いづらかった。ASP.NET使ったら簡単にできるようなことを

上手く動かなくて面倒くさかった。こんな使いづらい言語だれが使うんだ!?とか普通に思っていた。

Java自体というより実質標準になっているFrameworkが面倒くさい

設定ファイルが多すぎ。意味不明過ぎ。あとエラーログが正確じゃなくてがわけわからん

正式ドキュメントが充実してない。一般のブログに頼る必要がある。

Eclipseも使い始めたけど、DBViewer使いづらい。やっぱMicrosoftと比べるとヒドイね。

DBViewerのスクリプト書くところで選択した領域だけ実行したいんだけど、どうやんだ、これ。

Eclipseも使いづれー

でも人口多いんだよなーJava。なんで使ってんだろ。みんな。Microsoftに比べて安いからか?

品質と使い勝手を天秤にかけてもJavaを使いたくなるようなものか?

まぁ、一回Frameworkの仕組みを覚えたら案外使いやすいかも、とも思う。

あと、Update期間めちゃくちゃ長いですね。Java6,7,8って10年ぐらいかかってんじゃないですか。

何が良くて使ってんだろみんな。

2013-11-12

http://anond.hatelabo.jp/20131110094304

> 複数言語何となく使えるよりは

>「Javaしか使えませんがJavaなら極めてます

>「PHPしか使えませんがPHPなら極めてます

>「Pythonしか使えませんがPythonなら極めてます

>と胸を張って言える人のほうが重宝できる

今どきAjaxもないレガシーWebアプリ作ってる人ですか?

1つの言語に強いのはいいことだけど、その枠内でしか考えられないから発想の飛躍ができない。

それにWebアプリサーバサイドのプログラムだけじゃなくミドルウェアApache, tomcat, RDB, KVS etc)や

インフラネットワーク物理的なサーバ)が組み合わさって1つのwebアプリを構成してるんだからJavaPHPだけできたってなんの意味もない。

まぁ自分仕事だけ完璧にこなして他の領域の人と協調しないのならそれでもいいんだけどね。

1つ強いものを持ってた上で、その隣接領域もある程度知ってることも大事だよ。

2012-05-18

ハッカーVimを使う」 騙される若者たちなのか

Eclipseemacsvimより優れている点を挙げてみよう。

 

 

リファクタリング機能が強力 →本当か

CVSリポジトリの構成を直接覗ける →redmineとかを使ったほうがいいんじゃないのか

デバッガグラフィカル → それ、うれしいか

・設定できる警告メッセージの種類が豊富。→警告そんなにいるのか

復元機能が非常に充実している。 →バージョン管理ソフトがあれば普通だし

 CVSのように以前の状態に復元すること、以前の状態の →diffじゃダメか、というかなんでいまどきCVSなの

 ソースコードとの比較も容易。CVS(Eclipse標準装備)/Subversionプラグインにもこの機能存在する。

プラグインの数が豊富、膨大。 → 数があってもつかえるのは少ない

プラグイン開発環境Eclipse自体に用意されている。 →開発環境を使って作る程のものでもなく、バッチファイルとかスクリプトでよくね

ライセンス形態CPLであり商用利用もしやすい。 →eclipse組み込んで出荷するの?

・上位版にWSADが存在する。 →WSDADってなに、WebSpereの残骸?

IBMバックアップがついている。→それは何か役に立つの

Smalltalkで有名なVisualworksの影響を受けているため、

JUnitプラグイン(Eclipse標準装備)によるテストファーストリファクタリングの他、eXtreme Programming環境が充実している。→Jenkinsのほうがよくね

SubclipseプラグインによりSubversionにも対応できる。これはCVSよりも強力!→コマンドラインから実行するsvnコマンドを覚えておくとはターゲットでも動いて便利だよ

・Call Hierarchyプラグイン(Eclipse3.0から標準装備)によりメソッドの呼び出し階層を調べることができる。この機能は強力だ!→スタック見るだけのことじゃないの

プラグインによってはURLを指定するだけでプラグイン自動ダウンロード自動インストール

自動アップデートができるためプラグインインストールが非常に容易。→勝手に変わったら怖くない

Eclipseから直接Tomcat, JBossなどを再起動できるSysdeoプラグインJBoss-IDEプラグイン

 という強力なプラグインが充実している。→えー、今頃Tomcat

EclipseUML Omondoプラグインによりクラス図などを書いたり、

 UMLによるModel Driven Architecture, リバースエンジニアリング

 などを即座に実現できる。→これは何だかからない

RSSリーダープラグインMP3プラグインAll The Newsプラグイン

など様々なプラグインが充実している。→それ開発ツールじゃなくて携帯でやったほうがよくね

PHP開発が可能なTruStudioプラグインPerl開発が可能なPerl E.P.I.C. プラグイン

C/C++開発が可能なCDTプラグインAspectJ開発が可能なAJDTプラグインなど

言語プラグインが充実している。→Java以外は所詮おまけだけどね

・そのほかにD言語プラグインC#プラグインPythonプラグインJavaScriptEditorプラグイン

CSSプラグイン, HTMLプラグイン, XMLプラグイン、(Jakarta)Velocity UIプラグイン

Apache Antプラグイン(Eclipse標準装備)、非常に強力なApache Mavenを使うことができるプラグイン

ゲームができるプラグイン、メーラとしてつかえるプラグインWikiプラグインHibernateプラグイン

FindBugsプラグインCheckStyleプラグイン、JalopyプラグインSobalipseプラグインソロプログラマープラグイン

など様々なプラグインが充実している。→それぞれ単機能ソフトのほうが充実してるんじゃないの

 

 

どうしてもeclipseというなら止めないけど

2012-02-17

ハッカーVimを使う」 騙される若者たち

Eclipseemacsvimより優れている点を挙げてみよう。

 

 

リファクタリング機能が強力

CVSリポジトリの構成を直接覗ける

デバッガグラフィカル

・設定できる警告メッセージの種類が豊富

復元機能が非常に充実している。

 CVSのように以前の状態に復元すること、以前の状態の

 ソースコードとの比較も容易。CVS(Eclipse標準装備)/Subversionプラグインにもこの機能存在する。

プラグインの数が豊富、膨大。

プラグイン開発環境Eclipse自体に用意されている。

ライセンス形態CPLであり商用利用もしやすい。

・上位版にWSADが存在する。

IBMバックアップがついている。

Smalltalkで有名なVisualworksの影響を受けているため、

JUnitプラグイン(Eclipse標準装備)によるテストファーストリファクタリングの他、eXtreme Programming環境が充実している。

SubclipseプラグインによりSubversionにも対応できる。これはCVSよりも強力!

・Call Hierarchyプラグイン(Eclipse3.0から標準装備)によりメソッドの呼び出し階層を調べることができる。この機能は強力だ!

プラグインによってはURLを指定するだけでプラグイン自動ダウンロード自動インストール

自動アップデートができるためプラグインインストールが非常に容易。

Eclipseから直接Tomcat, JBossなどを再起動できるSysdeoプラグインJBoss-IDEプラグイン

 という強力なプラグインが充実している。

EclipseUML Omondoプラグインによりクラス図などを書いたり、

 UMLによるModel Driven Architecture, リバースエンジニアリング

 などを即座に実現できる。

RSSリーダープラグインMP3プラグインAll The Newsプラグイン

など様々なプラグインが充実している。

PHP開発が可能なTruStudioプラグインPerl開発が可能なPerl E.P.I.C. プラグイン

C/C++開発が可能なCDTプラグインAspectJ開発が可能なAJDTプラグインなど

言語プラグインが充実している。

・そのほかにD言語プラグインC#プラグインPythonプラグイン、JavaScriptEditorプラグイン

CSSプラグイン, HTMLプラグイン, XMLプラグイン、(Jakarta)Velocity UIプラグイン

Apache Antプラグイン(Eclipse標準装備)、非常に強力なApache Mavenを使うことができるプラグイン

ゲームができるプラグイン、メーラとしてつかえるプラグインWikiプラグインHibernateプラグイン

FindBugsプラグインCheckStyleプラグイン、JalopyプラグインSobalipseプラグインソロプログラマープラグイン

など様々なプラグインが充実している。

 

 

以上、老害に騙されずにEclipseを使いましょう。

2010-09-07

IT系とかそれ以外のスキル列挙するから何ができそうか教えて欲しい

色々教えてください偉い人。

自分で考えろってのはご尤もですが、色々な方の意見が聞いてみたいのです。

純粋Java(max5000行程度)

Struts(ver2じゃないほう)上でのJava(max2000行程度)

perl(max7000行程度)

c/c++(ちょっと)

Haskell(ほんの少し)

VisualBasic.NETじゃないほう)(ほとんど忘れた)

HTML/CSS(セマンティック厨)(HTML5勉強中)(バイトWEBデザイン経験有)

javascript(簡単なものなら)

XML/XSL自作プログラムI/Oに利用)

MovableTypeCMSとして利用。ちょっとした企業サイトレベルくらいのものの構築。簡単なプラグイン作成とかも)

Apache(セットアップと最低限の設定くらい)

Tomcat(同上)

LinuxCentOSUbuntu。セットアップとちょっとした設定程度)

IPA資格ソフトウェアネットワークデータベース

Tex論文プレゼンテーション作成

AdobeDTP製品(CS2)(雑誌編集経験有、ただし学生レベル

Oracle10g)(Bronzeレベルの知識とちょっと触ったことがある程度の経験

postgreSQL(ちょっと触ったことがある程度)

会計関連の知識(日商簿記2級)(大学管理会計をかじった)

数学系の知識(論理とか集合やらの基礎。大学計算機科学をかじった)

印刷物/WEBサイトデザイン(独学だけどそれなりに。一般人よりはそれっぽいデザインが作れるかと)

・文章/記事作成(取材→記事執筆。文章校正経験有)(随筆みたいのは無理)

漫画ゲームが大好き

2010-05-01

Javaから呼び出し元のJRuby環境を利用する

Tomcat上のJRubyから呼んだJavaプログラムから呼び出し元のJRuby環境(Runtime)を使いたいときにどうすればいいのか?

方法が1つわかったのでメモ

(追記2:こんなめんどいことしなくてもJRuby.runtimeで取れたみたい)

イメージ的には以下の感じ

Java

↑↓

JRuby(on Rails)

Java(Tomcat)

※注意:warblerでwar化したRailsアプリ場合

JRubyは1.4.0、jruby-rack.jarは0.9.7、warblerは1.0.1

プログラム

まずは必要なクラスをimport

import org.jruby.Ruby;
import org.jruby.rack.PoolingRackApplicationFactory;
import org.jruby.rack.RackApplication;
import org.jruby.rack.RackServletContextListener;

ServletContextをどっかから取ってくる(Listener作ってfieldに埋めるとかして)(追記:$servlet_contextで取れる[JRuby-Rack使うから])

ServletContext context;//=~~~

warblerでwar化するとweb.xmlRailsServletContextListener(extends RackServletContextListener)が登録される。

そのListener起動時にFactoryがServletContextに登録されるので、それを取得する

PoolingRackApplicationFactory factory = (PoolingRackApplicationFactory)context.getAttribute(RackServletContextListener.FACTORY_KEY);

PoolingRackApplicationFactoryapplicationPoolを取ってくる

(protected fieldなのでリフレクションを使用)

Field poolField = factory.getClass().getDeclaredField("applicationPool");
poolField.setAccessible(true);
Queue<RackApplication&gt; pool = (Queue<RackApplication&gt;)poolField.get(factory);

poolからRubyランタイムを取得

RackApplication ap = pool.peek();
Ruby ruby = ap.getRuntime();

呼び出しもとのJRuby環境を使ってRubyコードを実行できる

ruby.evalScriptlet("p 'test'");
memo

実際に使うときは、applicationPoolにちゃんと入っているかなどのチェックが必要になる。

初期化タイミングなどが影響して取得できない場合、Threadなどを使ってポーリングして入っているか確認する

2010-04-22

Redmine 0.9.3をTomcat 6で実行する方法

結構苦労したので健忘録として。。

環境は以下のとおり

JDK, Tomcat, JRubyインストール済み

MySQLインストール
yum install mysql-server
MySQLの起動
/etc/init.d/mysqld start
MySQLの設定

rootパスワードなどを設定する

mysql_secure_installation
Rubyモジュールインストール

RubyGemsモジュールインストールする

jruby -S gem install rails
jruby -S gem install warbler
jruby -S gem install activerecord-jdbc-adapter
jruby -S gem install activerecord-jdbcmysql-adapter
jruby -S gem install jdbc-mysql
MySQLRedmineデータベースを作成
mysql -u root -p
mysql&gt; create database redmine character set utf8;
mysql&gt; grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'redmine';
mysql&gt; exit

(ここでは、パスワードredmineしているが自由に)

RedmineDB設定

(任意の場所にRedmine解凍して、解凍先のディレクトリに移動した後)

cp config/database.yml.example config/database.yml
vi config/database.yml

database.yml

production:
  adapter: jdbcmysql
  database: redmine
  host: localhost
  username: redmine
  password: redmine
  encoding: utf8

#development:
#
#
#test:
#
#

後のwarbleでのエラーを防ぐため、developmentとtestコメントアウト

DBへのデータ投入
jruby -S rake generate_session_store
jruby -S rake db:migrate RAILS_ENV=production
jruby -S rake load_default_data RAILS_ENV=production
起動確認

script/serverで起動し、http://localhost:3000 にアクセスして正常に動作するか確認する

jruby script/server -e production
production.rbの修正

Tomcatで動かしたときにログ出力するための設定をする

vi config/environments/production.rb
config.logger = Logger.new(config.log_path)
config.logger.level = Logger::INFO
warblerの設定

warble.rbを生成

jruby -S warble config

warble.rbを修正

vi config/warble.rb
  config.dirs = %w(app config lib log vendor tmp extra files lang)
  config.gems = ["jdbc-mysql", "activerecord-jdbcmysql-adapter", "activerecord-jdbc-adapter"]
  config.gems["rails"] = "2.3.5"
  config.gems["rack"] = "1.0.1"
  config.webxml.rails.env = "production"

warファイルを作成

jruby -S warble

できたwarファイルTomcatに配置して、Tomcatを起動する

mv redmine-0.9.3.war /usr/local/tomcat/webapps/redmine.war
/usr/local/tomcat/bin/startup.sh

warblerのバグ(?)でwarに入らないファイルコピーして入れる

cp vendor/gems/rubytree-0.5.2/.specification /usr/local/tomcat/webapps/redmine/WEB-INF/vendor/gems/rubytree-0.5.2

http://localhost:8080/redmine/ にアクセスしてインストールできたか確認して完了!

2008-12-31

365連休突破記念。db-view on stax

ついに365連休突破してしまった。

そろそろまずい。最近、鬱、障害者年金でggrようになった。

ところでなんだが、staxってとこがAmazonのEC2サービス上でTomcat無料開放しているらしいのだ。

http://jp.techcrunch.com/archives/20081216stax-networks-launches-google-app-engine-for-java/

で昔、作ったJavaアプリを置いてみようと思ったのだ。

で置いた。

http://db-view.johannes.staxapps.net/

ソースはここ

http://code.assembla.com/dmcsystemservice/subversion/nodes/db-view/trunk

MySQLROMユーザーアカウントを作りたかったのだが、USER追加のGRANT権限なしだってさ。

パスワード変えた人はここにログっていってくさい。

これ作ったころはGUIの閲覧ツールってAccessとかしかなくて、結構好評だったのだが、今はフリークライアントソフトがいっぱいでもう、俺の出番おわったわ。

以下、作業ログ


まずJavaを入れる。

http://java.sun.com/javase/ja/6/download.html

で、eclipseを入れる。

http://www.eclipse.org/downloads/

で起動してみる。

が。。。。起動しない。

でggr。

となんかeclipse.iniがおかしいらしい。

http://ajiblog.sblo.jp/article/17157448.html

eclipse.iniを修正して再起動

おっきした!!

で、svnclientに入れたくなかったのでggr。

と200Mまで無料svnサーバーがあった。

アカウントをとる。

http://code.assembla.com/dmcsystemservice/

eclipsesvnプラグインを入れる。

http://www.atmarkit.co.jp/fjava/rensai3/eclipseplgn15/eclipseplgn15_1.html

subversiveも使ってみたいなぁと思ったが、ここでeclipseがバシバシ落ちる。

eclipse.iniのXMXオプションをいじるがOutOfMemoryやら、libeay32.dll 序数が見つかりません。とか

秩序ってなんだよ。英語でそのままいってくれ。余計わからん。

でなんか、負けた気がしたが、Javaを5に落とすことにした。

http://java.sun.com/j2se/1.5.0/ja/download.html

XMXを768Mにして起動すると、落ちなくなった。

が、相変わらず、秩序が見つからなくなる。秩序って何。膣女?

こっちのsvnプラグインのほうがいいのかも。。来年やろう。そのうちやろう。ゆっくりしていってね!!

http://server.seasar.org/manual/install_subclipse.html

で、staxプロジェクトeclipseにimport

http://d.hatena.ne.jp/yuroyoro/20081222/1229922781

楽勝だ。

で、職場からこっそり昔作ったアプリをおいて見る。

で、また動かない。

Javaで動かない時は大体クラスパスだ。

もはやggrも再起動も再インストール無駄だ。

クラスパスを必死に設定するのだ。

で、動いた。が、履歴機能が動かない。

で、ソース修正。

ObjectInputStream、OutputStreamを使っていたのだがXMLEncoderとDecoderにした。

http://www.utj.co.jp/xml/dev/java/dxjava_7.html

ぉ。こんな便利なのが1.4からあったのか。

おもえば、これを最初に作った時は1.3だった。LinkedHashMapがなくてArrayList内包したMapを作っていた。

が、そんなのいらんので消した。で、履歴保持クラスもXMLEncoderからリフレクトできるようにガバガバプロパティをさらした。

そしたら、動く。履歴機能が動く。

ぉぉ。では早速、svnにあげよう。

で、eclipsesvnクライアント。相変わらず膣女が見つからないらしい。

去年だったかな、女の子ipodの音はどうやって大きくするの?と聞かれて、右にくるくる。と答えると、

あ、大きくなった。今度、のび太くんのもまわしてみよう。と言われた。

あれから右にくるくるされてない。泣きたい。あの娘は膣女だった。

そんなことを思いながら、エロサイトに誘導されて一回休みeclipseを落とす。

けっこうAVパッケージってカッコイイのが多い。誰が作ってるんだろ。

http://pics.dmm.co.jp/digital/video/h_155tdjk00001/h_155tdjk00001pl.jpg

で、eclipse再起動svnクライアント。相変わらず膣女が見つからないらしい。

eclipseは重くなるかもの理由で日本語化していない。

おれくらい帰国子女になれば、英語のメニューのほうが調子がいい。

と思っていたが、svnクライアントだけ微妙日本語化されている。

が、肝心なところが英語だ。よくわからん。CVSと一緒だろ。と思ってUpdateしたら、ソースが消えた。。。

俺は泣いた。

LocalHistoryから復元しようと思ったのだが、まんどくさい。

staxにDeployしたやつを再度ダウンロードしたら元に戻った。

びっくりした。バックアップソフトクラッシュする。そんなことも初心者には、おうおうにしてある。

だからバックアップバックアップ(ry無限ループにはまるシステムも少なくない。

あきらめが大事だ。ある程度であきらめないとキリがない。

で、再度svnクライアント。今度はCommitをちゃんと選ぶ。

が、明らかにUploadしていない。で、終わると、いくつかのファイルアップロードキャンセルされた。とかでる。

svnクライアントsvnリポジトリを再度設定。

で、再度svnクライアントまたまたCommitをちゃんと選ぶ。

ぉ。今度はうまくいく。あきらかにさっきより時間がかかっている。WireShirkで見てないが、あきらかにsvnサーバーにソケットをはっている。

で、おそるおそる、ブラウザからsvnリポジトリをみてみる。

http://code.assembla.com/dmcsystemservice/subversion/nodes/db-view/trunk

ぉぉ。あがっている。

さてタグを設定して、ブランチ作ってみたいみたいが、壊れそうなので怖い。いつからか大人の恋に臆病だ。

XMLEncoderの入出力をBufferedにしようと思ったが、もういいや。

で、寄り道している間に、こんなのを今更発見した。

http://tuigwaa.sandbox.seasar.org/index.html

これだ。俺が欲しかったのはこれだ。

これぐらい楽勝じゃないと、プログラマはわりに合わない。

さっそく落とす。

さっそくstaxインポートする。

が、動かない。誰のせい?それはあれだ。また奴だ。。。



そう。クラスパス。。。

もういい。まんどくさい。この金髪ブタヤロウ!!しね!しね!しね!と誰かにメールしたいが、やめておこう。

2008年12月31日 泰葉


あと、なぜかFaviconを使ってみたくなって、Favicon作った。

http://www.freefavicon.com/

2008-11-19

http://anond.hatelabo.jp/20081119000921

ほぼ年齢が変わらん増田です。こんばんわ。

あなたは贅沢を言ってますよ。正直自分ファイル構成を書いて、コンパイル環境テスト実行環境サーバー立てだって大変なのにチームでやるとなるとはっきり行ってああいう統括してくれるものがないと無理です。少なくともマッピング書いてみんなが理解してくれるのは物凄い事ですよ。

ずっとWeb何それおいしいの?っていう、過去の遺産を改修していく部署につっこまれてたので最近になって初めてStrutsとかTomcatとか触って感動

なんて管理が楽なんだろう。開発環境作るのにこれだけでいいなんて!

と、素で涙が出そうでした。チーム間のやり取りも良好です。

ま、やめるんだけどね。

最初からこの部署にいたら幸せだったろうなと本気で思う。

2008-07-26

商用APサーバーなんかだいっきらい

犯人が分かったよママ。開発効率が悪いのは商用のAPサーバーのせいですよ。EJB仕様のせいですよ。あ、もちろん、仕様がおかしいとか、コーダーの質が低いというのは抜いて考えてね。

これを読んでる人たちはわかると思うけど、Tomcatとかで開発してればちょっとソースコードかえたらすぐ動かせるじゃん?メソッド追加したりしたら、再起動かけなきゃいけないけどさ、すぐに再起動出来るじゃん?待っても10秒かかるかかかんないかでしょ?声を大にしていいたいけど、商用のAPサーバー共は再起動に数十秒から数分かかるんですよ?そりゃね、再起動の必要がないような修正だったらさ、10秒ちょいで使えるようになるけどね、正直そんなに待ってらんないんですよ。そりゃEJB仕様をうまく使えばそれなりの部分を補えるかもしれないけどさ、開発中にどれだけの回数再起動すると思ってんの?開発効率もそうだけど再起動効率をもっと考えた方がいいよ。まぁ、そういうAPサーバーで開発した場合の体感待ち時間比は、

開発時間:待ち時間=1:2だね。やってらんない。

それとさ、EJBとか使うとさいろーんなことができるのよ。でもね、できること多すぎるのに、実際使う機能って実はその中の1/100(感覚ね)くらいだったりするわけ。それってものすごーくたくさんの設定の中から必要なものだけを見つけ出して設定するのよ。まぁいっちゃえば、設定をプログラミングしてるみたいなもん。だからね、EJBの機能を使ってるだけだから自分たちでコードを書いてないわけじゃない。これで勘違いする人が多くて、その分のテストが必要ないとか、設定してあるだけだからAPサーバーを信用すればいいとか勘違いする訳。つか設定をプログラミングしましたよ?なんでその設定が間違ってるかどうかを検証しないでいいんですかと小一時間問いつめたい。

そんな重量級の仕様を把握してなければ使えないようなものは使わない方がいいと思う訳。例えばね、商用のAPサーバーを使う理由として、バグがあったときにサポートを受けられるからっていうのをよく聞くんだけどさ、そうそう簡単に問い合わせ出来ないよね?そうすると内部の仕様を推測して動かすよね?効率悪いよね?ていうかさ、設定があってるかどうかもサポートの人はわからないんだからさ。だったらオープンソースの方が自分で中身見れるし、そこまで深くないし扱いやすいじゃん。法律のことはよくわからないんだけど、APサーバーバグで損害がでたらAPサーバーを出してるところの責任になるのかな?そうだったら使う意味はあるかもね。それでもそんなに重くなくていい。むしろTomcatをどこかが責任持ってくれればいいよ。

Railsとかさフレームワークでどれくらいの開発効率で差がでる!!とかいってるけど、APサーバーでの開発効率にもっと目を向けてもいいんじゃない?むしろAPサーバーをだしてるところは、そこで勝負するといいと思うんだけどな。むしろ、商用なんだから再起動にかかる時間を1秒くらいにしてほしいもんですね

______________

ちょっと番外編

あぁ、そうかー。仕事で開発をやってるWebシステムPGがのびにくいのはそういったAPサーバーでしか開発をしたことがないってのもあるのかもね。だって普通言語勉強する場合だと、すぐにコンパイルして実行出来るからたくさん経験がつめるけど、そういった重量級のAPサーバー上でばっかり開発してる人だと、反復するのにすごいコストがかかるもんね。そりゃ伸びにくいよね。

2008-04-12

http://anond.hatelabo.jp/20080412115419

芸術性って・・・。

だったら言語から作れよ。

芸術性のあるソースなんて見たくもない。

芸術性は見る人に訴求するものがあり、人によって解釈が違う。そういう定義の言葉だろ。

素敵すぎるだろそんなソース

芸術をも感じさせるソースを見て、どうやったらこんな独自進化を遂げられるんだよと何度ヒザをついたことか…。

人を満足させるために作るのか、自分が満足するためにつくるのか。

自分を満足させるために作り出したものが結果的に人を満足させるということは殆どない。

だって最初のスタート方向が違うんだもの。

コーディングポリシーはもっていてもいいとおもうけど、そのポリシーアクションの枷になっているのだったら本末転倒だとおもうな。

どんな立派な機能があるクラスだろうが最初で弾かれて落ちてこないだったら意味ないじゃーん。

Google App Engine

というかApp Engineってなに?

つかって何かやりたいとまだ思えてこない以前にApp Engineがまだ未チェック。

PythonGMO証券会社が外部APIを公開したのがPythonだった。うんこだった。

勉強するには至らなかったが、そんな特殊だったという印象はもってないな。

どうせLL、学習コストなんてないに等しいだろ。

plのcgiがあって、そっからasp,jsp,cfmという時代をえて、

php5,RonR,Pythonとかになってきているわけだが、時代は違えどひとつ覚えておけば学習コストっていう意味は殆どかわらないと思うよ。Oracleを覚えてからSQL-serverにいこうがpostgresqlにいこうがmysqlにいこうが一緒みたいなもの。

後継に位置するものであれば必ず似た機能はある。

むしろiis-ocxとかtomcat-Servletとか、ns-ldapとかそういう周辺が違うのであって、

基本的な部分に収まっているあいだは殆ど一緒じゃない?

今の時代みたいに殆どがApacheごにょごにょしただけで動く時代ならphpもRonRも殆ど変わらないと思うな。

所詮LL。

いまだってデータ処理はDBに任せたり、画面だってjavaなりFlashにまかせるじゃん。

LLがクラスに対応したときはおお!!と思ったし、どんどん進化しているのは感じる。

そんな感じで、どんどん面白いのがでてくればいいとおもう。

言語なんてこだわりもって選らんだところで変遷は激しいよ。

コールドフュージョンがどれだけすばらしいかについてプレゼンしてた坊を思い出すたびに涙を禁じえない。

いい音楽が売れるんじゃない。

話題になる音楽が売れるんだ。

2007-10-09

 俺の尊敬してる先輩SE

 ほかのSEから見たら「普通」で「あのレベルゴロゴロしてる」んだそうだ。

 Java.NETバリバリで、Oracleのことだってメッチャ詳しい。EclipseTomcatを使った開発とかできるように環境を設定してくれたのも先輩だ。

 けど「仕事ができる」レベルではないらしい。

 それでも俺は、どうにかして追いつこうと思ってる。

 だから資格でも取るかと思って今、ソフ開を目指して勉強してるんだ。

 けど、なんか違うくね?

 資格とかそういうことじゃなくね?

 仕事ができるSEって、どんなんだろう。

 少なくとも仕事サボって匿名日記書いてるようなやつじゃないことだけは確か。

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