「Jenkins」を含む日記 RSS

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

2019-10-05

Jenkinsってぶっちゃけ必要か?

例えばテスト走らせるだけならcron使うかwebhookでユニットテスト走らせるようにして結果をSlackかに吐けばいいだけじゃない?

そのくらいなら1日もあれば構築できるやろ

Jenkinsって色んな意味で重いのに享受できるメリットグラフィカルに結果を確認できるくらいしかないみたいなの多くない?

多分俺が詳しくないせいなんだろうけどイマイチ魅力がわからない

2019-07-20

anond:20190720231059

オンプレJenkins職人なんかは無駄時間と属人知の塊だと凄い批判されたのに、オンプレRedmine職人とかオンプレのGitLab職人にそう言った話が聞かれないのは不思議

2019-06-10

ウソップ寓話エンジニアJenkins

世界中現場をまわっているエンジニアが、ある案件の一本道を歩いていると、一人の男が道の脇で難しい顔をしてJenkinsの設定をしていた。エンジニアその男そばに立ち止まって、

「ここでいったい何をしているのですか?」

と尋ねた。

「何って、見ればわかるだろう。Jenkinsの設定に決まっているだろ。朝から晩まで、俺はここでJenkinsの設定をしなきゃいけないのさ。あんた達にはわからないだろうけど、暑い日も寒い日も、風の強い日も、日がな一日Jenkinsの設定さ。腰は痛くなるし、手はこのとおり」

男は自らのひび割れた汚れた両手を差し出して見せた。

「なんで、こんなことばかりしなければならないのか、まったくついてないね。何が悲しくて自分たち仕事を奪うようなことを進んでやらないといけないのか・・・

エンジニアは、その男に慰めの言葉を残して、歩き続けた。

もう少し歩くと、一生懸命Jenkinsを積んでいる別の男に出会った。先ほどの男のように、辛そうには見えなかった。エンジニアは尋ねた。

「ここでいったい何をしているのですか?」

「俺はね、ここで大きなサービスを作っているんだよ。これが俺の仕事でね。」

「大変ですね」

エンジニアはいたわりの言葉をかけた。

「なんてことはないよ。この仕事のおかげでサービスは、一日に5回でも10回でもリリースできるんだ。大変だなんていっていたら、バチがあたるよ」

エンジニアは、男に励ましの言葉を残して、歩き続けた。

また、もう少し歩くと、別の男が活き活きと楽しそうにJenkinsの設定をしているのに出くわした。

「ここでいったい何をしているのですか?」

エンジニアは興味深く尋ねた。

「ああ、俺達のことかい?俺たちは、歴史に残る偉大なサービスを造っているんだ!」

「大変ですね」

エンジニアはいたわりの言葉をかけた。

「とんでもない。このサービスは作って終わりじゃない。みんなに使われながらどんどん良くなっていくんだぜ!素晴らしいだろう!」

エンジニアは、その男にお礼の言葉を残して、また元気いっぱいに歩き続けた。

一方営業エンジニアを安く売り飛ばした。

2018-03-25

Officeしか利用できない環境自動化限界がありそう

サーバーを何台も使える環境ではなく、SharePointファイルサーバーとしてしか利用できない環境

Officeも2010から更新されてはない。

エクセルプロジェクトスケジュール管理し、オシロデータからグラフを描いて、パワポで打ち合わせ用の資料作成

Outlookメールスケジュール管理する。

自由パソコンソフトインストールできない。クラウドの利用も出来ない。


そんな環境自動化限界を感じている。


RPA(Robotic Process Automation)やBIツールなんて単語も知れ渡っていない。

サーバー自由に立てられないので、Jenkinsも実行できない。


自動化だとVBAくらいしか使えない。


サーバー関係はどんどん自動化が進んでいるが、自分仕事効率がよくならない。

なにか自動化であるのだったら話題にならないだろうか。

ディープラーニング話題になっていて可能性はありそうだったが、思っていたより応用が効かない。

2018-02-11

年収240万のWEBプログラマ底辺会社や人に対して抱いてる不満

会社について

パソコンスペックが貧弱

事あるごとにだんまりするパソコンを使い続けている人って本当にすごい。

自分場合によってはログイン画面で既に半ギレなのに。

キーボードマウスが貧弱

USB接続セキュリティ的にどうのこうのって言うけど、多少手間が掛かっても好きなの使わせてよ。買ってくれとはいわないから。

ディスプレイが貧弱

自分は最低でも3つは欲しい。こういう仕事してればウィンドウだらけになるじゃん。

・机が狭い

机が広いってだけで効率と気分が良くなる気がする。というかディスプレイが置けない。

通路が狭い

後ろを誰かが通るとき、逐一すみませんって通路を開けなくちゃいけないのつらい。

・イスがしょぼい

腰がつらい。

ライセンスを買ってくれない

アクティベートしないまま使わせるのは百歩譲るとしても、ヤフオクとか怪しいところからマイクロソフトアドビライセンス仕入れて使わせるのってどうなんだ。

そういう思考回路人間は、バレないからとか、まわりもやってるとかい免罪符を盾に、法律倫理も破っていいとか考えていそう。特に労働基準法的なやつ。

・開発環境が整っていない

gitってなに・・・?ってところからはじめたくない。

JetBrainsIDEを使うのに骨折って交渉するところからはじめたくない。

・なにをするにも申請必要

めんどい。上掲した項目を実現するのに、対費用効果がどうのこうの・・・って。誰が得するんだよ。

労働者労働環境に対して金払いが悪い

ベンダー資格とか高いけどさ、業務関係するのなら、資格手当が出ないのなら、せめて合格したとき受験料払ってよ。

一般的感覚会社負担費用個人負担にさせるような会社は嫌い。好きになれない。

・気分良く仕事をしてもらうという働きかけが一切ない

高い意識を持って働いてほしいだとか、会社を好きになってほしいとか、そういうこと全く思っていないのだろうか。

あるいはそれが労働者として当然のことで、自然にそうなるとでも思っているのだろうか。

少なくとも自分は苛立ってると普段より頭の回りがそれなりに悪くなる。

残業だってそう、連日遅くまで残って仕事して、それで効率よく質の良いものを作れるとは到底思えない。

プロ意識をもって仕事しろとか言っちゃう

240万にも満たない年収で雇ってるんだから、ちゃんとその程度のゴミを雇ってるって自覚持ってほしい。

お金を貰ってるんだからとか、社会人なんだからとか、そんなん言われただけでやる気になるわけねーだろ。むしろやる気なくなる。

この年収自分が幾らか熱意を持って仕事したり勉強するのは、あくま自分個人的な興味や矜恃の問題から

というか発注する客側もそう。然るべき時間費用があってこその質なのだから、短い時間と割安な費用で納品されるのはゴミだと自覚してほしい。

短い時間と割安な費用でも、企業として質の高い製品を納品するのが当然だと思っているのだろうか。まあゴミが納品されるんですけどね。

残業は全額はでないのが当然とかい唾棄すべき風潮

そういう会社は等しく今すぐ潰れろ

・隣の人と距離が近すぎる

ほどほどが良い。Slackみたいなコミュニケーションツールがあって、気軽に話せるけど、物理的には近すぎないのがいい。

・書いたり貼り出したりする場所が少ない

壁を自由に使えると手軽で良いな。

UMLを知らない、使わない

複雑なものをある側面から、誤解なく簡素に表せる、素晴らしい言語なのになぜ使わないのか。

draw.ioみたいな便利なのがあるのに、Excel方眼紙アクティティ図に似て非なる謎の図を書き続けるのはなぜなのか。

テスト時間をかけるという風潮がない

画面を動かしてみて、できました、このテストおわりです、それで済ませて質が高くなるわけないだろ。

そもそもjenkinsとかcircle ciとか誰も知らないseleniumとか聞いたこともない。

ウォーターフローにとらわれてる

前もって仕様が確定することなんてどうせないじゃん。いつまでたっても客側にいいように言われて、しっちゃかめっちゃかされるんでしょ。

なら保守されないExcel方眼紙を量産したって仕方がないじゃん。せめてじゃあその辺は最低限にして動くものを作ろうよ。

からってアジャイルにしようとは絶対にならないだろうけど。。。そういう参加を客側と交渉すること自体ありえないって思ってそうだし。

でもさあ、とりあえず動くものを早い段階から見てもらうくらい良いじゃん。どうせこそこそやると後になって見たいって言われて叩かれるんだから

人について

・話が長い、でも資料もないし書き出さな

話の論点がズレて、何を話したかったのか、何を聞きたかったのかわからなくなる。そして後から言った言わないになる。

あらかじめ資料を用意しとくなり、どこか広いところに書きながら話そうよ。で、できれば書いた人がデータとしてどこかに投げてほしい。そして消しておいてほしい。

言葉意味を大切にしない

訳のわからない造語を使い出したり、意味を分かってないのにその言葉不用意に使うの止めてほしい。

きっとそういう人って、まずその言葉意味理解しようという意志が致命的に欠けているから、会話していて不毛感が凄い。

・長く書くことをしない

短い文章齟齬なく十全な文章を書けることは確かに素晴らしいことだけど、だいたいそんなことは出来ない。

から多少冗長であるように思えても、細かすぎるように思えても、長く書いてほしい。

つーか、毎度毎度短い謎の書き残しがあって、それの話を聞きに行くのつらいんだよ。わかってくれ。絶対わかってくれないけど。

読んで意味のわからないことって、読んだつもりにだけなってしまって、後で指摘されると読む側が一方的に悪いことにされたりするのつらい。

・居眠りする

正直自分の気づかないところなら好きなだけ寝ていてもいいけど、まあ気づくし。

眠い頭でこういう仕事なんて効率よくできるわけないのに。つまり目障り。

自分過去を話したがる

興味ないから。前の会社とか、そこでなにしてたとか。知りたきゃこっちから聞くよ。

自分が興味あるのは自分が抱えてる仕事を如何にしてうまいことするかなんだよ。話すなら年長者としてそれを話してくれ。

2017-06-16

エンジニア「ちゃんと理解しとけ」プロマネはやくもの作ってね」

後輩「JUnitって何ですか?」

先輩「テストコードも知らねえのか。調べろ」

後輩「Jenkinsって何ですか?」

先輩「CI知っとけ」

後輩「POJOって何ですか?」

先輩「EJBを使って少しは苦労しとけ」

後輩「デリゲートって何ですか?」

先輩「ポインタ全般知っとけ。Cやれ」

エンジニア達「用語理解してない奴と話したくないよな」

後輩「分かりました。基礎勉強します!」

プロマネ「後輩君、そんなこといいから早くもの作ってね」

2017-01-27

http://anond.hatelabo.jp/20170126221358

http://anond.hatelabo.jp/20170126221358

F系子会社ちょっと前まではF本体にも常駐してた。雑にコメントしてく。

二次請けだろうが何次請けだろうが、顧客と直接やり取りしたり、一次会社から作業の指示を直接受けたりする

↑これはある。会社や人によってはちゃんとやろうと取り組んでるトコもあるけど、グダグダなのが殆ど法令違反って認識すら無いやつも結構いたりするから反吐がでるよね。

9時に来ないと「遅刻」と言われたり、「休日出て完成させろ」と言われる

一次会社への作業時間の報告が必須になっている(理由不明

↑これは現場による。

ほとんどの人がノートPC1台。フルHD未満多し。デュアルディスプレイ環境の人はごくわず

Windows 7 32ビット指定メモリは4GB(実際に使えるのは約3.3GB)

メモリ4GBノートPCデフォなのは同じ。でも、OS普通に64bitも指定できるし、デュアルディスプレイデフォ

会社独自バージョン管理システムEclipseプラグイン

普通にGitlab

「可読性を上げるため、変数ブロック冒頭で宣言すること」というルールがある

メソッド名や変数名を日本語宣言することになっている

↑そんな変な規約ない

自動ビルドではない

普通にJenkins

端的に言ってF内から見ても結構酷いと感じた

2016-11-28

[]エンジニアから見たSIerがさほどクソではない理由

技術レベルが高いとは思っていないが

常にトレンドを取り入れればいいとも思っていない。

技術者レベルが低いとは思うからこそ、

ここには万人が使えるフレームワークとかれた技術必要だ。

Excel方眼紙ベストだとは思っていないが、

あいにくWikiGitHubもないんだよここは。

人力テスト跋扈しているが、

結果的障害なくリリースするのがやり方だ。

環境が良いとはお世辞にもいえないが

クソみたいな単価のPG共にMacBookは高すぎる。

スーツは堅苦しいが、

あいにく顧客スーツなもんでな。

判子押すのは面倒だが、

50年以上前システム保守してるからな。

多重下請け業界構造がクソだとは思っているが、

利益の根源だからな。

SpringJenkinsChefAWSも使ってるが客には導入してないぜ、

今後の提案に使うからな。


お前と俺じゃ見ている景色が違うな。

ここにはやるべきことが山ほどあるんだよ。

嫌ならWeb系に転職して遊んでな。

paizaかテメーらは。

エンジニアから見たSIerがクソな理由 - 負け犬プログラマーの歩み

SIer による SIer 評が聞きたい

SEという名前を変えて欲しい。それで日本のITの遅れは色々解決する。

追記

http://anond.hatelabo.jp/20161128174152

まったく伝わらんかった。

判子とか、面倒な申請とか、導入障壁は客の都合であって、SIerが始めたことじゃないの。

現場では枯れた技術を好んで導入しているけれど、こっちは研究部門作ってひたすら研究して技術キャッチアップを続けている。

障壁がなくなったタイミング提案できる体制は常に作る。

SIerからどうこうと口だけで何も努力しないやつは老害より害悪たよ。

2016-09-03

http://anond.hatelabo.jp/20160902031012

http://anond.hatelabo.jp/20160902031012

はてブ批判してる人たちよりよほど志のある学生さんだと思うので、いろいろ書いてみますおっさんのたわ言ではありますが、元記事の人にすこしでもヒントになればと思って。

大学に行っても実用的なソフトウェアを書けるようにはならない

実務の話!! 実際に「IT系のおしごと」というのがやってるような話で、特にコーディングに直接絡んでくるようなもの

技術実態みたいなやつ。そういうのは学校で教わらないんですよね。

まず、日本大学勉強しても実用的なソフトウェアが書けるようにはなりません。どういうことかというと、「情報系の大学に行けば○○が作れるようになる!」という世間一般の期待と、実際に大学で教えている内容には大きなギャップがあるということです。

これは大学が悪いのではなく、大学はそもそもそういうものであって、それが世間認知されてないというだけです。

具体的に挙げてみましょう。

大学で教えてる内容ってこんな感じなので、ゲームアプリサービスを作ることが目的の人から見ると、役に立たない内容にしか見えませんし、実際たいして役に立ちません。その証拠に、大学情報学科を出ていないのにゲームiOSアプリWebサービスを作っている人はゴマンといるし、逆に日本大学先生ゲームiOSアプリWebサービスを作れる人はほとんどいません。

日本大学先生実用的なアプリサービスを作った経験がない

これは重要ことなのでもう一度書きますが、日本大学先生ゲームアプリサービスを作れる人はほとんどいません。大学先生が得意なのはプログラムを書くことではなく論文を書くことです。論文のためにプログラムを書くことはありますが、あくまでおまけです。

そのため、大学勉強してもゲームアプリサービスが作れるようにはなりません。だって教えている側の先生が、ゲームアプリサービスを作ったこともなければ、作り方も知らないんだから

そういう経験のない人たちばかりですよ、日本大学先生って。そんな人たちの授業を受けて、アプリサービスが作れるようになると思うほうがおかしいでしょう。

ためしに、先生方のTwitterアカウント名でGithub検索してみてください。いまどきGithubアカウントがないとか、あったとしてもTestCaseすらないコードとか、そんなものばかりです。「研究内容をライバルに知られるわけにはいかないかGithubは使わない」という言い訳する人がいそう。けど、本当はGitが使えないだけでしょ?

あるいは、先生方の個人ページや研究室の紹介ページを開いて、HTMLソースを見てみてください。doctype宣言がないとか、viewportの指定がないとか、Pタグの中にULタグを使ってるとか、そんなのばかりです。HTMLすらろくに書けない人が、Webアプリを作れると思いますか?きっとXSSCSRFも知らないですよ。

ですので、そういうことを勉強したいなら、ベンチャーIT系企業に入るべきです。大学でそういうことを勉強しようとしても、教えられる人がいないから無理。
(「大学はそんなことを教える場所ではない!」と怒る人いると思うけど、教えられる先生がいないという事実ごまかすために怒ってるだけだから。)

ジャンルが違う

はいっても、大学先生プログラムがいっさい書けないというわけではないです。彼らが得意なのはコンパイラインタプリタOSやソルバを作ることです。これらも実用的なソフトウェアと言えなくはありませんが、ゲームアプリサービスとはジャンルが大きく違います

そのため、大学情報学科に進めばコンパイラOS機械学習ライブラリを書けるようにはなるかもしれませんが、それはゲームアプリサービスではないので、繰り返しになりますがそれらを作りたい人には大学は向きません。

大学で教えている内容ってムダなのか

じゃあ大学で授業を受けるのってムダなのかというと、必ずしもそうではないです。

大学で教えている内容って、ゲームiOSアプリWebサービスが一通り作れるようになってから、その先を目指すときになって初めて必要になることが多いです。たとえば、

こういうときになって、初めて大学で教わった内容が生きてきます。逆にいうと、そういう状況にならないと、大学で教わった内容は生きてこないと言えます。(情報系の学科で学んでいるなら、ライブラリ言語OSを「使う人」ではなく「作る人」にぜひともなってほしいですね。)

元増田に進めたい進路

元増田は、社会に役立つ実用的なソフトウェアを作りたいようです。しかし残念なことに、大学が教えている内容はその目的には合致していないことを説明しました。

こういう事情なので、元増田には大学ドロップアウトしてIT系会社入社することをお勧めします。ドロップアウトが難しいなら、インターンバイトでなんとしても入り込むことです。

入るべき会社は、教育に力を入れている会社です。20人未満の小さな会社では教育に力を入れている余裕はないので、小さな会社はやめたほうがいいです。簡単にぐぐってみたところ、はてなPixivクックパッドDeNAドワンゴ教育制度確立しているようです(違ってたらごめん)。そういった会社に入ったほうが、大学の授業を受けるよりも、元増田目的にかなうのは間違いありません。

そして何年か働いて、iOSアプリWebサービスが一通り作れるようになったら、大学に入り直すことです。これはとても効果的なので、元増田には強くお勧めします。

上で説明したように、大学というところは、ゲームアプリサービスの作り方は教えてくれず、それらが作れるようになって初めて役に立つことを教えてくれます。そのため、元増田IT系会社に入ってアプリサービスの作り方を勉強し、それらが作れるようになってから再度大学の門をたたくのが、いちばん効率的です。

なお繰り返しますが、入るべき会社は「教育に力を入れている会社」です。今のIT系企業では、インターン生を「格安で使えるバイト君」としか見なしていない会社が多すぎます。そういう会社は、コストが掛かることはいやがるので、教育もろくにはしてくれません。逆に教育に力を入れている会社では、インターン制度を「将来の戦力を選別する期間」と見なしています

残念ながら、そういう会社東京に集中しているようです。例外京都はてなくらいでしょうか。地方大学生にとってはつらい現実なので、はてなPixivドワンゴ地方でのインターン開催をお願いします。あとレベル5は九大と九工大学生を鍛えてあげてください。

余談ですが、学生さんにひとこと:

インターンバイトで潜り込む先の会社を選ぶときは、就活と同じような時間をかけて選んでください。バイトからとかインターンからという軽い気持ち会社を選ぶ大学生が多いから、それを食い物にしている悪質経営者があとを立ちません。インターン生が「格安学生バイト」として使われている現状を是正するために、学生のほうでも注意してください。

大学で授業を受けなくても独学で効率的勉強する方法

ドロップアウトを進めた手前、書こうと思ったけど、長すぎるのでやめた。

リツイートが100超えたら書く。

2016-04-27

会社フランス人たちがクズすぎる件

弊社には何人かフランス人が働いているが基本クズ

そろいもそろってクズ

能力が低いくせに自信だけは一人前で自分の言い分が通るまでは喧嘩腰。

たとえば「私はプログラムソースコードは読まないよ!だから全行にコメントいれて!コメント入れるのは当たり前の事だよ。私はソースコードを読むときコメント英文よ読むように読んで理解から全行にコメントいれて!」

みたいなよくわからん要求を押し通してくる。(ソース読めない人がプログラマか?あほかと)

これやらないとそれを言い訳文句をいってそもそも仕事してくれない。


SingletonもしらないMVCもしらないJenkinsもしらないコマンドラインもろくに使えない、そんな状態で私はソフトウェア工学を学んだプロみたいな言い方をしてくる。

その自信のせいか人の意見は聞かない。

仕事は終わらせないで帰る、昼飯は二時間戻ってこない、そもそも会社Youtubeばっかり、ミーティングはずっとスマホいじってて話を聞けと言っても「きいてるよー。私はマルチタスクから両方できる」などといってミーティングが終わったらさっきは何の話だったの?と聞いてくる始末。

そして浮気仕事には関係ないからどうでもいいけど、結婚してるのに出会い系サイト出会った女の子に片っ端からあって遊んでる。そして写真にとってそれをいつも自慢してくる

私はチームにいる誰よりも女の子を抱いた事あるよ!なんて自慢してくる

しるか、しね

はい。これが一人目のフランス人

二人目、

技術力が低い。なのに文句ばかり。

企画者がもってきた仕事めっちゃ切れて文句いって仕事しない。

ミーティングしても「いつまでこんなミーティングつづけるんですか!!!!」みたいに

ソースコード問題をみんなで指摘しても「これはこうじゃないとダメなんです!!!」みたいに

基本自分正義自分意見反論してくる奴はみとめないのがフランス人

クズクズ!基本クズ

しね

三人目、

同じように上長に反発しすぎてランクを下げられる

四人目、

社員旅行にいったのに飽きたのか途中で誰も言わずに一人で帰ってくる

みんないなくなって大慌て

旅行が終わっていきなり新幹線切符もってきて開口一番「先に帰ってきたからこれ清算して!」

しね

五人目、

昼頃会社に出社してくる、PCをたちあげるなりおもむろにゲームを開く

夕方までそのまま

そして帰る

一緒にチームを組んでる人は夜遅くまで残業のに

あとのフランス人はしらない

ただでさえ働かないのに本当赤ちゃんをあやすかのごとく機嫌を取ってあげないとダメ

フランスはこんな奴らばかりでどうやって経済なりたたせてるんだ?

クズすぎだろ

あ。弊社にいるフランス人クズなだけか。

まぁそんなやつらを見抜けず採用してるうちの会社ダメなだけか。フランス人以外は外れ少ないんだけどなー


言いたい事はやまほどあるが面倒になってきたのでこれくらいで

これからグルバル(笑)とかでフランス人採用する会社は注意した方がよいかもねー

2015-11-12

参考訳:拡散したJavaシリアル化の脆弱性についてApache Commons声明

原文:https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread

原題Apache Commons statement to widespread Java object de-serialisation vulnerability

翻訳日:2015年11月12日(午後にタイトル日本語しました)

----

2015年11月1日 火曜日

Apache CommonsJavaオブジェクトのデシリアライゼーション脆弱性に関するステートメント

著者:Bernd Eckenfels(コミッター), Gary Gregory(Apache Commons副責任者)

AppSecCali2015 でGabriel Lawrence (@gebl) と Chris Frohoff (@frohoff) によって発表された "Marshalling Pickles - how deserializing objects will ruin your day" は、信頼されないソースからシリアル化されたオブジェクトを受け取るときセキュリティ問題をいくつか明らかにしました。主な発見は、Java オブジェクトシリアライゼーション(訳注:seriarization/シリアル化/直列化=ネットワークで送受信できるようにメモリ上のオブジェクトデータバイト列で吐き出すこと。シリアル化されたJava オブジェクトRMIなどのリモート通信プロトコル使用される。)を使用する際に任意Java関数の実行や操作されたバイトコードの挿入さえもを行う方法説明です。

Frohoff氏のツールである ysoserial を使って、Foxglove Security社のStephen Breen (@breenmachine) 氏はWebSphereJBossJenkinsWebLogic、OpenNMSといった様々な製品調査し、(http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/) に各々の様々な攻撃シナリオ記述しています

両者の調査活動は、開発者Javaオブジェクトシリアライゼーションに信頼を置きすぎていることを示しています認証前のシリアル化されていないオブジェクトにも。

Javaにおけるオブジェクトのデシリアライゼーション(訳注:de-serialization/非直列化=ソフトウェアで扱うことができるように、送受信されたデータを元に戻すこと)が行われるとき、大抵は想定された型にキャストされ、それによって、Javaの厳しい型のシステムが、得られた有効オブジェクトツリーだけを保証しています

不幸にも、型のチェックが起こるまでの間に既にプラットホームコードが生成されて、重要ロジックは実行されてしまっています。そのため、最終的な型がチェックされる前に、開発者コントロールを離れた多くのコードが様々なオブジェクトの readObject() メソッドを通じて実行されてしまます脆弱性のあるアプリケーションクラスパスから得られるクラスの readObject() メソッドを組み合わせることで、攻撃者は(ローカルOSコマンドを実行するRuntime.exec()の呼び出しを含めて)機能を実行することができます

これに対する最も良い防御は、信頼されていないピア通信相手)とは複雑なシリアルプロトコルを使うことを避けることです。ホワイトリストアプローチ http://www.ibm.com/developerworks/library/se-lookahead/実装するように resolveClass をオーバーライドするカスタム版の ObjectInputStream を使うと、影響を制限することができますしかしながら、これは常にできることではなく、フレームワークアプリケーションサーバがエンドポイント提供しているような時にはできません。簡単な修正方法がなく、アプリケーションクライアントサーバプロトコルアーキテクチャを再検討する必要があるため、これはかなり悪いニュースです。

これらのかなり不幸な状況において、エクスプロイトのサンプルが見つかっています。Frohoff氏は、 Groovy ランタイムSpringフレームワークApache Commons コレクションからクラスを組み合わせるサンプルのペイロードに gadget chains (ガジェット・チェーン)を見つけています(訳注:provided)。これはこの脆弱性エクスプロイトのためにより多くのクラスを組み合わせられることは完全に確実なことで、しかし、これらは今日攻撃者が簡単に得られるチェーンです。

(Twitter画像)https://blogs.apache.org/foundation/mediaresource/ce15e57e-94a4-4d7b-914c-8eb8f026659c

この脆弱性のために利用される(訳注:blamed)ことができない確かな機能実装するクラスができ、安全性が信用できないコンテキストにおけるシリアル化を利用されないようにするような既知のケースの修正ができたとしても、少なくとも分かったケースだけでも継続的修正していくことが要求されますモグラ叩きゲームを始めるだけであるかも知れませんが。実際にはこれは、オリジナルチームが Apache Commons チームに警告が必要だと考えていない理由で、それゆえに比較的、活動開始が遅れました。

Apache Commons チームは InvokerTransformer クラスのでデシリアライゼーションを無効化することによって commons-collection の 3.2 と 4.0 のブランチにおける問題対処するために、チケット COLLECTION-580(http://svn.apache.org/viewvc/commons/proper/collections/branches/COLLECTIONS_3_2_X/src/java/org/apache/commons/collections/functors/InvokerTransformer.java?r1=1713136&r2=1713307&pathrev=1713307&diff_format=h) を使っています議論されているやるべきことのアイテムは、変化させる仕組み毎(per-transformer basis)に、プログラマティックに有効にするような機能提供するかどうかです。

これには前例がありますOracle と OpenJDK JRE の一部であったり、バイトコードを挿入して実行することを許したりする com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl クラスで、セキュリティマネージャー定義されているとデシリアライゼーションを拒否します。

これはシステムプロパティ jdk.xml.enableTemplatesImplDeserialization=true とすることで無効にできますApache Commons Collection は、本来よりもこの実行モデルは一般化していないため、セキュリティマネージャー存在独立したこの機能無効化することを計画しています

しかしながら、明確化のために述べておくと、この便利な"ガジェット"は、唯一知られている方法でもなければ、特に未知のものでもありません。そのため、インストールされたものを強化されたバージョンApache Commons Collection に置き換えることが、アプリケーションをこの脆弱性に対抗できるようにするわけではありません。

このブログポストレビューのために Gabriel Lawrence に感謝したいと思います

Apache Commons Collection は、Java コレクションフレームワークに加えて追加のコレクションクラス提供する Java ライブラリです。InvokerTransformerコレクションにあるオブジェクトを(特にリフレクション呼び出しを通じてメソッドを呼び出すことで)変換するために使うことができる Transformer ファンクションインターフェース実装の一つです。

一般のSallyによる2015年11月10日午前10字15分にポスト | コメント[1]

コメント

OracleWeblogicセキュリティアラートを発行しています

http://www.oracle.com/technetwork/topics/security/alert-cve-2015-4852-2763333.html?evite=WWSU12091612MPP001

提供されている回避策は、T3プロトコルへのアクセス(とリバースプロキシーにおけるT3メソッドフィルタリング)です。

2014-11-29

http://anond.hatelabo.jp/20141129112709

新米マネージャ管理する小規模プロジェクトにおいて発生する諸問題とその対策について

マネージャを多少悪者気味に書いていますが、マネジメントの大変さはわかっているつもりです。

自分が開発すればこのくらいでできる」問題

上司「この間言ってたプロジェクト見積もりできた?」

マネージャ「たぶん2週間ぐらいでできますよ!wordpressなら学生のころバイトとかでもよくインストールしてたから楽勝です!」

デザイナ「完全オリジナルwordpressデザイン2週間か、なんとかなるかな?」

プログラマPHP経験なんだけど大丈夫かなあ…」

.... 略 ....

上司「あれから2週間だけど、こんなにバグ多すぎじゃリリース無理じゃない?」

マネージャ「違うんですよ!デザイナー全然テンプレートの使い方覚えてくれないし、あのプログラマPHPからないとか言って仕事中にPHPの本とか読んでるから遅れたんです!たぶん自分だけだったらこんなに時間かなりませんよ。」

デザイナ(「XHTMLになってない!」とか余計な所に口突っ込んできやがって!)

プログラマ(PHPなんて簡単だよとか言ってJavaプロジェクトからコンバートさせたのテメーだろうが!)

原因

対策


テストは開発工数に含まれないよね?」問題

マネージャ「このスケジュールなんだけど、テスト期間長過ぎじゃない?」

プログラマ「え、でも機能もこれだけあります10日程度は妥当かと」

マネージャ「いやいや、画面たったこれだけじゃない、通しのテストなんてみんなでやれば1日ぐらいで終わるでしょ?」

プログラマバグがあったらどうするんですか?」

マネージャ「俺がレビューしてるんだからそんなでかいバグ出るわけねえだろ。ナメてんのか」

.... 略 ....

プログラマテストバグこれだけ見つけました」

マネージャ「へー、それじゃこれ今日のうちに修正してね」

プログラマセキュリティ周りのバグもあるので、修正には3日程かかると思いますが」

マネージャ「ふざけんな!テスト今日で終わるスケジュールだろ!」

原因

対策


バージョン管理効率悪くなるからダメ問題

プログラマ「前のプロジェクトgitを使って便利だったので、今回のプロジェクトでも使いたいのですが…」

マネージャバージョン管理とか使ってるの?あんなの効率悪くなるからやめたほうが良いよ」

デザイナ「私もそういうの面倒だからあんまり使いたくないな」

マネージャ「前に俺がやってたプロジェクトではフォルダで日付ごとに管理してた。同じ風にすれば大丈夫だろ」

プログラマ「でもロールバックが…」

マネージャ「古いフォルダからファイルコピーすればいいだけだろ。馬鹿か」

.... 略 ....

マネージャ「なんで古いソース持ってきても動かないんだよ!」

デザイナ(間違ってファイル上書きしたのは黙っておこう)

プログラマローカルgitリポジトリあるのは黙っておこう)

原因

対策


フレームワークバグがあったらどうするんだ!」問題

マネージャ「何このCodeIgniterっていうの?」

プログラマ「あ、それ最近流行ってるPHPフレームワークで、URLルーティングが…」

マネージャ「はぁ!?フレームワークとか使わないと開発できないわけ?これだから最近ゆとりダメなんだよ。」

プログラマ「でも、便利ですよ?」

マネージャ「俺のプロジェクトではそういう怪しいやつは使わないからバグがあったらお前責任取れるの?」

.... 略 ....

マネージャ「どう、俺の書いたURLルーティングライブラリすごく便利じゃない?」

プログラマ大文字を使うとうまく動かないのですが」

マネージャ「あー、それは仕様からしょうがないよ。mod_rewrite使えば問題無いでしょ?」

プログラマ他人が再発明した車輪バグ修正するのって本当に不毛だな…)

原因

対策

2014-06-01

お前ら、どれだけクラウド使ってる?

オフィスソフトGoogleドライブが便利

  無料だし、家のデスクトップと外出先のノートパソコンと、ちょこっと会社PCと、ちょっとしたことを書きまとめることから、資料の共有まで、MSOfficeやOOoインストールするよりも全然お手軽。

ソースの共有はGitHub

  ちょっと月額出せばprivateなリポジトリが作れる。やっぱりこれもどこからでもアクセスできるのが利点。

・開発環境さくらのクラウド

  さくらのクラウドJenkinsインストールしてる。

意外と少ない。

2013-09-23

さすらい

とあるプロジェクトフロントエンジニアとして手伝っていて、2500行程度のそびえ立つクソなJavaScriptの改修を頼まれていた。

git blame しただけで最低でも10人このJSファイルコードを追加していることがわかった。最初コミット2010年2月ごろだから最初からいるエンジニアの人に話を聞いてみたらこのJS20人近い人がいじっているらしい。

別に関わっている人数とかはどうでもいいんだけど、変数名が謎すぎたり、関数名前と中身の挙動が合っていなかったり、まぁひどいコードで、それを半月ぐらいかけて、個人的な安心感を高めるためにも最初はheadless testとかcapybaraでテストをもりもり書いて、カバレッジを高めて(期間的に100%にはできなかったけど、C0で70%ぐらい)からリファクタリングしていたら最終的にCoofeeScriptに変換して700行ぐらい(JS1000行ぐらいかな)になる予定(追加開発があればまだ増えるかも)。消えた部分は使われていない関数とか無駄な処理とかコメントだったかな。

だいたいなんでこんなことになったかっていうと、経営者がアホな要求ばっかり今までドキュメントを用意していなかったりするからそびえ立つクソコードが生まれたという感じ。CoofeeScriptにしたのもある程度書式を固定したかたから。

同時にGithubPRベースの開発も導入した。俺が入った時には他に3人のフロントエンジニアがいてその人達コードを見ながらもやってた。その人たちはあんまりプログラマとしての能力が高くなかったのでPRベースJSの基礎なんかを教えながらやってた。プロジェクトに入ってからは俺はずっとテスト環境を整備していて、今いるプロジェクトメンバーはまだテストをかける状態じゃないから、PR送られてきたらそのブランチに対してテストを追加したコミットをぶん投げるという感じで進めていた。

もちろん、PRからJenkins連携してテストを走らせるようにしたらフロントエンドチーム、3人ともかなり安心感をもって開発をすることができましたとさ。俺はこのプロジェクトとは今月末でさよならから、俺の仕事ドキュメント書いたりレビューをする文化根付かせて終わりって感じかなー。

あと、JSテストとかViewテストの仕方3年前にくらべるとだいぶ情報が増えてきたし、フロントエンジニア〜な人達テストに身を委ねてみるといいと思った。

あー楽しかった。この世のクソ(ただし金は生んでる)コードをまたひとつ潰せた。

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というなら止めないけど

 
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん