「maven」を含む日記 RSS

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

2023-09-06

anond:20230906181008

その点Javaは15年以上mavenのままだし、それ以前のantもまだ使える

話の分かるやつだ

2023-01-12

anond:20230112221133

・色んなこと満遍なくやりたい

・やべー案件に何年も磔にされたくない

これが多様なサービスアプリ作ってみたいという話なら高単価SESに行くしかない。

かなりの経験を積んだベテランじゃないと入れない世界出身学部も見られるから相当に厳しいと思う。

フロントバックエンドインフラなどもやってみたいという話なら自社でウェブサービス運用している上場企業正社員で入るのがいいだろう。

ただし正社員ということはリリース日には何が何でもサービスインさせる立場になるということでもある。定時退社の社風であっても進捗上がってないなら稼動上げて対応ということは普通にある。

派遣で入ればそういうことは無い。上場企業ならコンプラ厳しいからね。でも数ヶ月程度、長くて数年のスポットになることがほとんどなので長期的にはどうなんだろうな。

ここでは俺の経験を踏まえて「自社でウェブサービス運用している上場企業正社員で入る」という前提で話す。

アピールすると良いのは使える言語インフラの知見、構築と運用経験

全部が強い必要は無い。どれか一つが強くて他はまあなんとか程度でいい。逆に言うと全くダメですが一つでもあると厳しい。

使える言語では、C#,Javaを大きめな規模のバックエンドとして使ってるとこが多い反面、対応できる人はフリーにも派遣にもたくさんいるのでちょっと弱い。SIer出身コード書いてたなら当然できるよね、というレベル

今ならtypescript(javascript), pythonあたりができてgo あるいは Rust勉強してます、というのがけっこう強い。

分かってると思うが言語が使えるというのは、まっさらPCを与えられて主要なウェブフレームワークセットアップしてローカルホストを立てるとこまでを含む。

JavaならSpringboot+gradle+JUnit、PHPならLaravel、pythonならdjangotypescriptならNode+React+knex、あとJestかDreddも入るかな。

インフラ知識では、クラウドオンプレ両方のメリットデメリットを把握しているとよい。

AWS,Azure,GCP,Oracle Cloudのどれでもいいけど実際に使った経験があるとよい。俺は個人GCP契約してkubernetesVM、LBを使っている。

ネットワーク知識は薄くでも持っていた方がよい。HTTPとかcookieとかセッションとか知りませんCORSって何ですか?レベルでは無理。まあここら辺はウェブサービスを作れば必ずやるので大丈夫だろう。

LetsSSL証明書を作ってopenssl検証してnginx適用してHTTPS化ができるならアピールになる。

dockerはもうそろそろ使えて当然のレベルになってきているので必須。実際ウチではdockerが分からない使えない人は面接へ進めないようになっている。

構築と運用では、予算内に収まるような構築と運用サービスインした後のトラブルシューティング経験があるとよい。

常にコスト意識を持っていることが必要クラウドは油断すると100万程度すぐ飛ぶ。コスト意識が無い人を運用担当として採用することは絶対にない。

トラブルシューティングで重視されるのはベンダー対応よりもエンドユーザー対応の方。

サービスを早急に復旧させること、そのためにどういう仕組みが必要なのか、構築するところから語れる知見があるとよい。もちろんそこにもコスト意識必要

CI/CD、PrometheusやDatadogによる監視アラートについて語れるとよい。

CI/CDを扱うということは当然gradle,maven,yarn,シェルスクリプトは書けて使えてwebpack,minify,Jenkinsコンフィグもできるということである


どうだろう、かなり雑に書いたが雰囲気は伝わると思う。

あ、git使えないは論外。もし使えないなら今すぐ使えるようになるか諦めるかのどちらかで。

2022-04-07

れ: node.js呪い

https://d.potato4d.me/entry/20220405-nodejs/

話題になっているけど、本来人類必要なのはクロスプラットフォームな実行環境であってNodeじゃない。

TS流行ったのはJSがクソだから。BabelしなきゃいけないのもJSトランスパイルしなきゃいけないからであって、必要なのはJVMCLRのような言語実行環境

Reactが流行ったのはshadow domだけど、必要なのはDOMじゃなくてちゃんとした「アプリ」開発用のイベントモデルレイアウトマネージャ含むGUI環境

フロント界隈の流行廃りって本質的改善ってよりもほかの良い技術いかブラウザ/Electron等JSエンジンという限られた環境に持ち込んで幸せになるかがメインに見えるので地獄に見える。

アプリ」書くのになんでドキュメント記述用のHTMLに今ものっかってんだよと。

MavenやらGemsができて依存管理楽になったとか、RailsがでたときのようなCoCいねとか開発の考え方を変えるフレームワーク、 rspec/Cucumberがでてテスト最高とか、c10kも怖くない非同期I/Oとか、好きな言語が使えるJVM/CLRそもサーバーならrustでもgoでも好きなものが動くとかとか本来の開発を楽にするという意味ブレークスルーってあんまりみられない気がしている。なんでフロント界隈の新技術ってあんまりわくわくしない。

逆にちゃんとしたクロスプラットフォーム実行環境ブラウザしかないということなんだけど、ブラウザなかなか進化しないし RIAApple 様が切り捨てるからなぁ。

ということですべてはブラウザが悪い。JavaScript 以外がちゃんと動くクロスプラットフォームGUI環境必要。でもプリインでモバイルでも動いてOSから独立して協調して作られていて、Webという既存の大量の資源アクセスやすものは現時点で実質ブラウザ一択。つまりWASM に期待。次にHTMLであるべき文書はともかくSPAなんてもう「アプリ」なんだからHTML手書き文化もうやめてネイティブアプリ並みの GUI 作成環境復権しよう。

するとクライアントでも好きな言語が使える。そして同じ言語がいいとサーバサイドで Node.js を使う必要もなくなりへっぽこプログラマが Node のイベントモデル理解せずに使うこともなくなる。

そしてそれらができたときに Node というか JS/HTML呪いから解放され人類平和が訪れるのだ。君はその後も Node.js を使っても良いし使わなくてもいい。

ま、私はそんなもの作れないのでありものでがんばりますがね。

2021-06-12

今までの尽力に対する感謝と、君への今後のアドバイス

https://anond.hatelabo.jp/20210610184501

文面からおそらく弊社の、しかも関わりのある事業部なのだろうと想像した。そういう意味ではまずは今までご苦労様。

その上で一言アドバイスさせてくれ。

自己紹介

まず自己紹介からしよう。私は主に公共向けのSEをしている部長相当職(社内ではある固有名詞で呼ばれている)だ。社内の製品は一通り把握している自負はあるので、よっぽどマイナーものでなければおそらく君のところの製品も触ったのではないだろうか。

社内の開発環境について

開発に必要があるなら申請を出せば普通に入手できるし、Git普通に使っている。正直なことを言おう。そんな小さいことで辞めたのか?と思ってしまった。35歳で主任(これもある固有名詞で呼ばれてたんじゃないか?)ということはそもそも開発者なんてフェーズはとっくに過ぎてマネージメントを任される頃のはず。これはたとえ製品開発の事業部だったとしてもそんなに変わらない。それなのにその視座の低さがとても気になったよ。概して若いコーダー顧客メリットが0であるような単なる自己満足としてGithubの利用やDockerを使いたがるが、悪いけどそのまま大人になってしまった感じを受けた。開発環境の優劣というのはそんな低レベルな話ではなく、上流工程での品質の作り込みがしっかり行われているかとか、品質管理KPIがしっかりされており、そのKPIに対するPDCAが回っているかとか、人月単価を適正に管理競争力のある製品を作る予算管理ができているかといったことのほうがよっぽど重要

年収について

弊社はあくまでも「ものづくり」「エンジニアリング」の会社であって、「コーダー」の会社ではない。そのためDockerだのGithubだのMavenだのといった要素技術に対してそんなに価値を認めてないんだよね。もちろんそういった技術で儲けようとしているWeb系の企業がたくさんあるけれど、年収を比べてみれば結局どっちの市場評価が高いのか、よくわかるんじゃないかな。「ものづくり」で大事なのはあくまでも顧客要求を満たすことで、それはDockerだのGithubだのMavenだのを使うことととは次元の違う話だし、市場価値が高いところにコミットしてそうでないところを適正に管理しているからこそその年収が出せるものだと思ったほうがいい。今の年収と同じ水準でモダン 笑な環境転職したじゃないか反論されそうだが、転職市場は前職の年収ベースになるので結局君の実力ではなく弊社の実力が評価されただけなんだよね。そこは謙虚になったほうがいいと思う。

君の失ったものと見えてないないもの

まずシステム開発は「ものづくり」ということが見えていない。「ものづくり」というのは単にコードを書くというだけでない(君はそこにフォーカスしすぎて、その環境の悪さだけが目についたように見えた)。市場要求に対して適切に答えてるのが命題であり、技術は単なる手段ということを忘れてはいけない。プログラミングというのは手段である技術のたった一要素に過ぎない。そういう徹底的な顧客志向日本メーカーは長いことやってきており、高い生産性を実現してきたし、社員にもその精神を学んでほしいという一心ビジネスを動かしている。だが、最近IT系企業は「ものづくり」ではなく技術目的にしているところが多いよね。MacGithubとか言ってる層は特にその気が強いと思うのだが、君は結局そこに行ってしまったようだ。

これからの行動の指針のアドバイス

以上を踏まえておじさんから一つだけアドバイス。今のWeb系がやっていることは所詮大昔の技術を再発明しているだけであり、本質的価値が薄いということ自覚した上で本当に顧客が欲しい物を作るということを忘れないでほしい。例えばDockerなんて大昔からLinuxが持っている機能の寄せ集めだし、Gihubなんて本質的にはファイル名に日付を管理するのと変わらない。弊社に関して言うと、AWSなんていってるけど所詮VMだし、弊社はハードウェアレベルでより高い技術を持っている。AI企業は専用AI個別案件ごとに作っているが、弊社は汎用AI世界で初めて開発した。でもそれらを積極的宣伝はしていない。なぜか?それらは単なる手段から。むしろお客様へのソリューションという形で宣伝していて、結局顧客ビジネスフォーカスしているんだよね。だからこそ利益が出せ、年収も高いというわけ。なので、再度いうが、本当に顧客が欲しい物を作るということを忘れないでほしい。

2021-06-10

日本の古き良きIT企業退職して3年がたった

3年前、世間一般にはメーカーSIerとして知られている会社退職した。ただ俺のポジションパッケージソフト開発であり純粋SIerとは異なる。

客ともSEとも会話せず、ひたすらドキュメントプログラムを書く部署だ。といっても別にペーペーではなく主任クラスであり、

会社の業績がとてもよかったこともあり年収1000万弱はあった。35歳。

これだけ見るととてもいい待遇に見えるだろう。でも耐えられないことがいっぱいあった。

Linuxで動くアプリなのにVMを動かすのも苦労する8GBしかメモリのないWindows PC、紙にコード印刷して説明しないと納得しない品質保証部、

作業実施Excelにチェックを付けていくテストjquery一つ使うのに3ヶ月かかる承認フロー、開発中にバグを一つ出すごとに

ひたすら反省文を求める品質保証部と一緒になって詰めてくるマネージャー、常にコンパイルできないtrunk、

Java 5の時代から進化しないコード、使いにくい社内ミドルウェアの利用を強制される設計、開発期間の半分以上を占める最上設計

一旦書いたコードは消してはならずコメントアウトしないといけないコーディング規約など、数を上げればきりがない。

色々改善活動を頑張ったものの、結局Subversionの導入も品質保証部がついていけないから、ということでClearCaseといわれる

今ではほぼ誰も使ってないであろうバージョン管理ツールが使われ続けることになった。使いにくい社内ミドルウェア

研究所がその道のプロと聞いたので一緒に改善を図った。そしたらRubyしかいたことがない文系新卒の子が出てきた。

一応研究所の人だし…と思って新バージョンプロトの開発を依頼したら、1分以上稼働できない状態になって出てきた。

研究開発は準委任相当なのでそれ以上修正を依頼できずに期間が終わった。

また前の会社独特の文化として、大きなバグを出した開発者反省会(社内ではとある固有名詞で呼ばれている)があった。

この反省会のターゲットになった開発チームはその資料準備で開発が1〜3ヶ月ほど止まるほど大掛かりなイベントだ。

このとき担当品質保証部は「連帯責任から」という理由資料レビューに大変な精を出す。余計なお世話だ。

このため1020ページほどの資料を毎週レビューにかけて最高のものにしていく。でも結局本番では幹部からの怒号が飛んで終わりである

連帯責任かいっていた品質保証部は幹部と一緒になって詰めてくる。連帯責任ではなかったのか。

幹部によると、この反省会があるから今の会社があるんだそう。これを経験して一人前らしい。

こんな感じで開発の体制はひどかったが、世間一般ではホワイト企業と見られている通り有休は取りやすかった。

そのため、転職活動を始めた。そしたらなんと「メモリ32GBのマシン」「mavenが気兼ねなく使える回線」「自動テスト

GitHub」「CI/CD」 という発言ポンポン出てくる。メルカリだのGoogleだのといったイケイWeb系ではなく、

いわゆるSIerでもだ。最初は何だこの格差はと思ったが、まぁ営業トークなんだろうな、と思い直した。というわけで

ケイWeb系も内定は出たものの、つい安定をとってしまい某大企業のDX系の部署転職した。

そしたら何だこれは。最高スペックMacBook ProからGitHubpushするだけで自動デプロイで即サービスイン、

問題が発生したら社用携帯に通知が飛んできて、クラウド監視サービスログをチェック、即修正デプロイ

社内の連絡はSlackで、スタンプを押せばIssueがたち即関連部署対応に走る。OfficeツールGoogle Docsで、

計算表はちゃんと表として使っている。開発者ちゃんと開発をしており、反省会の準備や品質保証部の接待なんて業務はなく

純粋エンドユーザーだけを見ている。ここはなんて最高の環境なんだと歓喜した。また個人的にはおまけ程度であるが、

年収は30万ほど増えて大台に乗った。

さて、それから3年がたった。人間というのはい環境になれると対して喜びを感じなくなる、というのはそうだと思う。

今では別にdeployブランチマージされたらCIが走って自動テストが走りデプロイされるのも、だから何?

って感じだしま普通仕事として淡々とやっている感じはする。待遇面で悪化した点もちらほらあるし

(例えば年間休日が5日ぐらい減った、残業が月5時間ぐらい増えたなど)などもある。

ただ一つ言えることは前の会社には戻れないな…ということである人間一度生活レベルを上げてしまうと下げるのは

とても苦痛に感じてしまものである

ただ、一つだけ今の会社転職してよかったと感じ続けられることが一つある。それは人だ。

前の会社では家でプログラムを書いているなんていった日にはおちょくられたり、人生楽しいの的な目で見られたりした。

芸能人ゴルフの話ができないとコミュ障扱いされた。そのため仕事の話はしても、飲み会にはできるだけ行きたくなかった。

でも今の会社では雑談としてFastlyが落ちても大丈夫CDN構想とか、AtCoderの話をして盛り上がることができる。

ダイバーシティなんていうが、人間所詮同質な人間同士で集まったほうが快適なんだな・・・という複雑な思いを抱いている。

追記

皆さん読んでくれてありがとうございます。いくつか質問が出ているので答えられる範囲で答えます

真面目な疑問なんだけど、Java5のコード書いてる人を1000万で雇う会社があるの?どういうモチベーション??

製品自体90年代から脈々とバージョンアップしている企業向けのソフトウェアなので、コードベースが古いというのがあります

またユーザーからすると中身がJava17だろうがJava5だろうが関係ないわけで、要は業務が滞りなく進めばよいわけです。

そのため昔から受け継がれたスパゲッティコードを地道に解き明かし、新しく出てきた要件を今までのコードベースを壊さずにバグなしで追加していく、

もとからあったバグについては、その他の数百万行のユニットテストもないコードに影響なしで修正を施す、といった技能必要になります

こう考えると意外と希少なスキルなんだな・・・と思えるかもしれません。

clearcaseよりもsubversionの方が100億倍導入も運用簡単だと思うんだけど品管どうなってんの?

ClearCaseご存知な方がいるんですね!一から作る製品だとSubversionのほうが簡単かもしれません。ただ、ClearCase専用の

社内ツールがいくつかあり、そのツールで出力した情報を社内資産として持っているという理由があったりします。

例えばお客さんから「この機能バグってるっぽい」というクレームを受けた際、その機能周辺の情報をそのツールから検索し、

コードレベルで再発防止策を関係部署総出で練った上でお客さんに回答する、という運用フローになっています

そのため、Subversionに変えるためには開発陣の一存では無理で、品質保証部やマネージャー層など全ての知識アップデート

必要になり、そこまでコストをかけて説得して回る必要はあるのか・・・という話になってしまうわけです。

ただ、社内の生産性を向上させるのが目的部署としてはSubversionGitを社内に浸透させたがっているのも事実で、

新規プロダクトなんかはGitを使っていました。ただしGitHubプロキシでアク禁されているだけでなく、サービス名名指しで使用禁止

になっているので、相当の理由がない限り使えないかと思います

主任クラスでも1000万円近くもらえるのか。すごい。

1000万という数字に興味のある方が多かったので参考までに書いておくと、等級ランクというもの存在して管理職を除く最上位のランク

なると2人の子持ち、賃貸住まい、標準評価で大体900万になるという感じです。年功序列だが部署ごとに違うというイメージで、

研究所だと20代で到達する一方、利益を上げていない事業部や間接部署だと定年間際まで到達しない人も多い、ぐらいの感じです。

平均では30代中盤ぐらいでしょうか。

ちなみに私の場合は基本給は33万程度ですが、そこに裁量労働手当と住宅手当、家族手当がついて月給で50万を超えるぐらいでした。

ボーナス個人評価よりも部門業績に大きく左右されるのですが、部署が最高評価場合は夏冬とも150万以上でした。

最後最後ダイバーシティについては、ダイバーシティ勘違いしているように思う

なるほど、たしかに。ちょっと言葉の選びが悪かったかもしれないですね。

2018-11-30

の子IT開発のハードル高すぎない?

入り口スマホだったりするわけじゃない?

swift playgroundとかswiftが知ってる人フレンドリーではあるけど、初心者には分かる仕組みになってるのだろうか?

SI業界に入った子がSQL書けとか、ES6書けみたいなこと言われたってハードル高すぎないかねぇ。

AWSとかアラフォーの俺も全然からない。awscliでスナップショットとれるなんて今日初めて知ったよ。

今のプラグラミング言語って色んな言語を取り込んで高機能化してる訳じゃない?なんでそんなことしてるのか分かんないと思うのね。

伝わる人に言うと、JavaだってAutoBoxingが前提だったりするわけじゃん?42+"円"とか書いちゃう訳よ。コンパイルエラーにならないのも頑張りすぎだろと思うけど。

あとmaven使えば色んなライブラリ使えるわけじゃん?今ならGradleなのかい?よくわかんねぇけど。俺はよく分かんないけど、使いこなせてるのかね?

AWSもES2の説明はできてもS3の説明できる先輩がどれほどいるかストレージ仮想化知識が前提にない人は説明はキツいなと。AIMとか混ざると地獄よね。

プログラミングに戻ると、今どきの言語って最先端で書かれると記号や謎予約語が多かったりするんだけど諸先輩方は大丈夫かなと。

っていうか、ラムダ式とかもSI業界とかだとキツいよねと思うのだ。全然最新の技術じゃないのにね

2017-09-17

まべーん

repo1.maven.orgのリポジトリインデックスデータを取り込みたいかアップデートボタンを押してねと言われ幾星霜

このインデックスデータとやらは何十MBあるんだ


追記:

あった

nexus-maven-repository-index.gz                   2017-09-10 15:25 397699470    

いちじゅうひゃくせん…、400MBか。この回線じゃ無理だな。ごはんでも食べよう

2017-02-26

自動化って

暗黙知をなくす作業でもあるなぁと思った。

Ansibleとかはサーバー構築手順書をなくすことができるし、mavengemなどのパッケージ管理ツールセットアップ手順の暗黙知をなくすことができる(なんのライブラリ入れるーとか)

人にあれこれ聞くより、コード見て大体わかるような感じになっているとすごく助かるんだよなぁ。

もしかしてそういう感じで仕事を続けていけば、英語圏とかでも仕事できるようになるのかなぁ。

vagrant up ← コレだけで開発環境揃う環境、素敵に開発に入りやす

わしが1年1人でやっているやつ、ミドルウェア系には秘伝ミソが少し出来ているから、dockerで全部揃うようにしてみるかなぁ。Solr使っている部分とかしょうがないような気もしつつ、ローカルにあったほうが良いんだろうなぁ。あんま頻繁に開発しないし、そこは自分でやればいいか・・・。まあ多分solrコンテナを立てれば良いんだろう。

2017-02-01

ホワイトリスト形式プロキシ建てるのやめてほしい

大手SE会社作業することになったけどさあ・・・

mavenもnpmもpipもgemdocker hubもつながらないような環境で開発しろとか言われてもムリだよ

CentOS公式リポジトリだけ開けてれば問題ないとか思ってんじゃねーぞ

プロキシ建てるのはいいけど、リストメンテする気がないなら、せめてブラックリスト形式にしてくれよ。仕事できないよ

2016-11-20

大多数のプログラマは…

IT業界に努めてもうそろそろ二桁年。

そこそこの企業特にWeb系で渡り歩いた経験から真実を書こう。

一般的プログラマと呼ばれる人たちは

はっきり言う、ほとんどのプログラマ自称する人間の 9 割はコーダーである

言われたものを作る事はできるが、それ以外何も出来ないと言って過言ではなく、何もしない。

そんな驚きの生体をここに晒していく。

一般的コーダー自称プログラマ)は、アプリケーションの基盤が作れない

標準化と呼ばれるプロセスで、プログラマ環境設計、組み合わせ、開発プラットフォームセットアップ、開発環境の構築手順作成、開発手順の作成必要技術考察を行う。

なぜそうなったのかは知らないが、一般的にそうなっている。

その環境に浸っているせいか、彼らはゼロベースものを作ることが出来ない。

彼らにできるのは HelloWorldコマンドプロンプトで表示するプログラム程度の事しか出来ない。

複数ソースの連結、ライブラリの読み込み、サーバへのデプロイ、どれも手動で出来ないのだ。

一般的コーダー自称プログラマ)は、保守性を考えない

彼らは自分に任されたものを動かせればタスクが終了する。

逆にそれ以外のこと、コードの読みやすさや、クローン率の低減、メソッドコメント記載などの保守に関わることをしない。

それは彼らにとって「必要ない無駄作業」としか考えないのだ。

早く仕上げるためなら、似たような動いてる箇所から、よく読みもせずにコピペを行う。

そして彼らは、作るより運用する期間の方が遥かに長くて、その間に修正地獄を見るという簡単論理に気づかない。

…何度味わっても気づかない。

一般的コーダー自称プログラマ)は、勉強しない。

一般的プログラマコーダー)は勉強をしない。

たとえするとしても、業務時間中に業務で使ってる技術ピンポイント学習するだけだ。

勉強会は確かに多い。「.dits」何かがいい例だ。

だが、プログラマと呼ばれる人間の母数に比べれば微々たるものだ。

彼らは言う「土日にまで仕事してられるか」「勉強会行ってるの?馬鹿か?」

あえて言おう、馬鹿は彼らだ。

一般的コーダー自称プログラマ)は、自分の使う道具がわからない

Web仕事をするならIDE統合開発環境エディタコンパイルテストデバッグ実行などを画面から行えるツール)はほとんど必須エディタで済ませる事も出来なくはない)が、彼らは状況に応じたセットアップができない。

たとえば「Mavenプロジェクト管理ツール)、checkstyleコーディング規約チェック)、editorconfig(改行、インデント文字コード設定)」が入っていたとする。

するとEclipseなどを使うとして

  1. どのプラグインを入れればいいか調べられない
  2. どうやってプロジェクトを取り込めばいいかからない
  3. プラグインを入れても設定方法がわからない(IDEデフォルト設定と、プロジェクト内の設定の違いを認識できない)
  4. IDE の設定画面がわからない

マニュアルチュートリアルを用意しないと、道具の使用もままならない。

一般的コーダー自称プログラマ)は、テストコードで書かない

テストをなるべく機械やらせようということの利点が理解できない。

コンパイルして動かして確かめればいいと本気で考えている。

そのために、何十回もコンパイルデプロイアクセスログインの手順を何度も繰り返す。

関連する他の修正を行うたびに繰り返す…。

そしてやっと動くとひと仕事終えたと満足感に浸る。

一般的コーダー自称プログラマ)は、プライドが無いか、変なプライドを持っている

ラリー・ウォールというとある有名な人物Perl開発者にしてC言語ハッカー)がいる。

彼の言う三大美徳に「傲慢」がある。

これは、自分の作るもの完璧なのだ、だから完璧であるように出来る限りのことをするという美徳である

一般的コーダー自称プログラマ)は、このプライドはない。

彼らは金のために嫌々動くだけのものを作るのだ、動きさえすれば報酬は変わらない、よって当然完璧かどうかなどどうでもいい。

同じ金でより良いものを作るのではない、要件だけ満たせばよいのだ。

変なプライドを持つコーダーは、それで運良く成功すると、自分知識は正しい、自分技術は十分なのだと考えている。

こういう人間は、プライドの無いコーダーよりたちが悪く、うまくいかないと他人環境のせいにする。

そして調べず周囲を苛立たせるのだ。

おわりに

土日に自ら勉強会に行くプログラマや、それこそ 50 人以下などという会社であればこうした事はあまりない(んじゃないかと思う。)彼らは自分でなんでもやらないといけないからだ。

だが、大企業に飼われる子飼い企業派遣(そもそも人手のみを求められる企業)、100人以上の企業では、役割分担に伴いこうした状況が多々発生する。

だが役10年、エンジニアを見てきた結果は変わらない。現実問題こうなのだ、こんな人間が大多数なのだ

人の多い企業ほど考えたほうがいい、それでより良いものが生まれるのかと。

必要とされる技術だけを叩き込んで金にしたいと言うのは分からなくないが、基本姿勢思想はどうなんだと。

経営者マネージャーよ、あなた方の言う「最適化」とは現場が日々考え行っている最適化か?人員最適化だけを行って、生産性が伸び悩んでいないか

そのあたりは考えた方がいい。

2015-02-11

SpringBootアプリjavafxを使って配布しやすくしよう

概要

Javaで開発されたアプリケーションにはインストールにまつわる難点がある。

それによりせっかく興味をもってくれたユーザーも試す前に諦めてしまいがちである

また、サーバーサイドアプリケーションJavaである場合デプロイ監視の際の難点が多く運用者を悩ませてきた。

javafxで導入されたパッケージャを用いることで各OSネイティブインストーラーの作成が可能になり、この問題を解消・緩和できる。

SpringBoot などを用いた ExecutableJar作成するアプリケーションであれば、サーバーサイドアプリケーションであっても一部制限があるものパッケージングできる。

問題点の整理

Javaで開発されたアプリケーションの配布には以下の問題点がある。

解決方法として

javafx-maven-pluginを使うとよい。javafxと冠しているが実態パッケージングツール

javafxの冠があるがためにスタンドアロンアプリ開発者以外を遠ざけている感あり。

Windows(msi/exe), Linux(rpm/deb), Mac(dmg) など各OSディストリビューション固有のパッケージングが行える。

公式ページ( http://zenjava.com/javafx/maven/ )では更新が止まっているが、Github( https://github.com/zonski/javafx-maven-plugin )とMavenRepository( http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.zenjava%22%20AND%20a%3A%22javafx-maven-plugin%22 )を確認するとちゃんと開発は続いている。

実際にどのようにすればパッケージングできるか

まずアプリケーションmaven アプリとして開発する。

pom.xml に以下を追加する。

mainClassはSpringBootなら@SpringBootApplicationのついてるクラスですね。

vendor適当組織や個人の名前を入れておきましょう。

※ 以下の XML が化けるのは増田不具合仕様っぽい。 http://anond.hatelabo.jp/20100205210805

<plugin>
  <groupId>com.zenjava</groupId>
  <artifactId>javafx-maven-plugin</artifactId>
  <version>8.1.2</version>
  <configuration>
    <mainClass>[main method class]</mainClass>
    <vendor>[Vendor Name]</vendor>
  </configuration>
</plugin>

あとはそのままビルドすればよい。

maven clean jfx:native

ビルドが終わると target/jfx/native 以下に、ビルドしたOS/distributionに合わせて msi, exe, deb, rpm, dmg ができあがります

本当であればクロスビルドできてしかるべきなのですが、まだ実現はされていないようです。

これらのパッケージは Widonws であれば Program Files(x86) に、Linux系であれば /opt/ の下にインストールされるようです。

/opt/app-name/ の下には app と runtime の2つのディレクトリがあります

app の下にはビルドした jar ファイル依存ライブラリが置かれています

runtime の下には実行用の jre が配備されています

実行ファイルにそのまま引数を渡せば jar 実行時の引数としてそのまま渡されます。(-Xmxなどはまだ未検証です)

課題

OS毎の注意点

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を使いましょう。

2008-12-06

プロジェクトビルド手順が手動だった。別れたい。

手動でビルドする方式だと、なんか恥ずかしいww

下向いちゃうしww

男にはせめてMakeくらい使って欲しい・・・

ビルド手順すっ飛ばして、デグレード起こしたら・・・・もう最悪ww

せめて普通antrakeぐらいは使って欲しい。

常識的に考えて欲しいだけなんです!

手動のビルド手順を引き継ぐ時の恥ずかしさとか分かる?

あのね?たとえば10??20人ぐらいで徹夜してバグ修正とかするでしょ?

それぞれ修正後のソースコードコミットするわけじゃない?

みんな普通MavenHudsonContinuumCruiseControlとか期待してるわけでしょ?

手動でノコノコビルドしてたら大恥かくでしょうがww

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