「java」を含む日記 RSS

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

2015-11-28

http://anond.hatelabo.jp/20151128190838

そうですね。JavaとかJSかいから。ぬるぬる動くフォームつくっても、ちまちま入力するのだるいから、なんか、バッチファイルとかでD&Dすると動いてくれるようなプログラム作ってくれるのが業務的には一番うれしい。windowsbashちょっとしたコマンドD&Dで使えると良いのだが・・・

2015-11-24

http://anond.hatelabo.jp/20151124020950

無知は罪とまでは言わないけどJavaはずっと昔から根幹に使われてるんだよ

から5年経ってもそれは変わらないから極めたら強い

釣るならもうちょっと勉強したほうがいい・・

http://anond.hatelabo.jp/20151124185147

Java + IDEみたいな、コンパイル通らないエラーエディタ上で即時に表示されるような環境でもだめなのかな

http://anond.hatelabo.jp/20151124020950

javaを極めてもphpを極めてもmysqlを極めてもlinuxを極めてもどーせ、5年後にはもっと良いものが使われて主流になっているでしょう。

この辺はIT関連では固い技術で、例に挙げるには不適かな。もう10年以上使われてるし、この先10年も使われると思う。

あーでも、クラウドが主流になって、環境構築/運用ノウハウが要らなくなる可能性はあるか。

ブラックIT企業ガンバリマスは死亡フラグ

「手に職を付けたい」程度の薄っぺら理由IT系ブラック企業正社員を志望するのは絶対にやめた方がいい


理由1 絶対に「手に職が付く」事は無い

そんな程度の情熱しか持ち合わせないなら絶対に「手に職が付く」事は無い。

よっぽど優秀なら話は別ですが、ブラック企業しか就職できなかった貴方ですよ?無理ですね。

システム能力が低い人、脳みそそっち系用に構築されていない人にとって最初は相当つらいです。

耐え切れなくて100%逃げるでしょう。「手に職を付ける」だけなら他の仕事でもいいはずです。

理由2 体力的に耐えられない

IT系ブラック企業場合マニュアルなんて無いから投入時間に成果が比例しないです。その場合一定能力以下の方は、9時出社の25時帰宅になります

成果の方程式は「投入時間 × (能力ー最低限必要能力) ≒ 成果」ですから無能だと成果はマイナスになりますデスマーチの発生ですね。

そして、大抵の場合ブラックIT企業プロジェクトリーダーがこれに当てはまりますデスマーチ確定ですね。

理由3 常に学び続けることが要求されることに耐えられない

技術の変遷速度が速いため、常に学び続けないと時代遅れになってしまうからシステム屋さんなら常に付きまとう問題です。これは、ブラック企業だけの話ではないですね。

javaを極めてもphpを極めてもmysqlを極めてもlinuxを極めてもどーせ、5年後にはもっと良いものが使われて主流になっているでしょう。

でも、考えてみてください。システムの業務なんて理数系の勉強と似たようなものです。

新しい技術が来たとしても論理的に考える事が得意な人ならば文型理系関係なくこなせると思います問題は、貴方は、学生時代そういう人でしたか?無理ですね。

理由4 金銭面の見返りはほぼ皆無

頑張って成果をあげたところでブラック企業なんて金銭面の見返りはほぼ皆無です経営者搾取されるだけです。

適度に手を抜いてある程度の成果が出せる人にしかおススメしません。3でも書いたとおりである程度能力があって、手抜きできる人にとってはブラック企業ヘルプがない代わりに放任に近いので凄く楽だと思いますネット閲覧規制などもないですし。

理由5 あれこれ理不尽責任を背負わされる

福利厚生もちゃんとしてないくせに、正社員から引継ぎするのが義務とかなんとか言われます。辞める時にめんどくさいですよ。

まずはバイトで様子見を見ましょう。「あ~ブラックだな」って思ったら適当なところでフェイドアウトするのがおススメです。

理由6 人間的に終わってる人が多いしその一員になってしま

ブラック企業なので人間的にどうかと思う人がたくさんいます上司の失敗は部下の失敗です。

良心……社会常識…人を信頼する気持ち……プライベート時間……心と体の健康など、失うものはあまりに大きいです。

理由7 教育制度なんて無い

管理体制教育制度が整っている会社ブラック企業にはなりません。つまり自力で学ぶしかないんです。

貴方学校勉強は良く出来た方ですか? もしそうでないならこの業界は茨の道ですよ?

人材が不足しているだけで人手が不足している訳ではありません。

システム業界は、正直にいえば人材不足です。人材が不足しているだけで人手が不足している訳ではありません。あなたが求められているわけではないのです。

2015-11-13

簿記エッセンス(簿記という言葉意味を間違えないために。)

http://lacucaracha.hatenablog.com/entry/2015/11/11/100336説明を見て、簿記会計を初めて知る人が誤解されかねない箇所が多々あり、さすがにどうかと思ったので、自分簿記エッセンスをまとめました。

簿記とは? 辞書をひいてみよう。

まず辞書をひいてみよう。国語辞典が手元にあればそれでひいてほしい。残念ながら手元にない人は、Web上の辞書をひいてみよう。

できれば複数辞書をひいてみよう。複数辞書意味を見較べてみよう。

ぜひ本当に引いてみて欲しいのだが、今私が引いた結果を記しておく。

Wikipediaでは、 ( https://ja.wikipedia.org/wiki/%E7%B0%BF%E8%A8%98 )

簿記(ぼき、英語: bookkeeping)とは、ある経済主体経済取引によりもたらされる資産負債純資産の増減を管理し、併せて一定間内収益及び費用を記録することである。より平易な言い方をすると「お金ものの出入りを記録するための方法」が簿記である[1]。

大辞林 第三版の解説 では ( https://kotobank.jp/word/%E7%B0%BF%E8%A8%98-132641#E5.A4.A7.E8.BE.9E.E6.9E.97.20.E7.AC.AC.E4.B8.89.E7.89.88 )

ぼき【簿記

一定期間における経済活動を,一定の記録方法で帳簿に記録・計算・整理し,財産資本負債の増減を明らかにする計算制度。記入方法により単式簿記複式簿記に分けられ,業種により商業簿記工業簿記銀行簿記農業簿記などに分けられる。 〔「帳面に書きつけること」の意。英語 bookkeeping の訳語福沢諭吉福翁自伝」(1899年)にある〕

デジタル大辞泉では ( https://kotobank.jp/word/%E7%B0%BF%E8%A8%98-132641#E3.83.87.E3.82.B8.E3.82.BF.E3.83.AB.E5.A4.A7.E8.BE.9E.E6.B3.89 )

会社官庁組合など経済主体活動一定方法で帳簿に記録・計算し、一定の時点で総括して損益の発生や財産の増減を明らかにする技法。記帳方法によって単式簿記複式簿記に分けられる。

日本大百科全書(ニッポニカ)では ( https://kotobank.jp/word/%E7%B0%BF%E8%A8%98-132641#E6.97.A5.E6.9C.AC.E5.A4.A7.E7.99.BE.E7.A7.91.E5.85.A8.E6.9B.B8.28.E3.83.8B.E3.83.83.E3.83.9D.E3.83.8B.E3.82.AB.29 )

一定ルールに従って帳簿を作成取引等の事実を記録・管理する技法のこと。

世界百科事典 第2版では ( https://kotobank.jp/word/%E7%B0%BF%E8%A8%98-132641#E4.B8.96.E7.95.8C.E5.A4.A7.E7.99.BE.E7.A7.91.E4.BA.8B.E5.85.B8.20.E7.AC.AC.EF.BC.92.E7.89.88 )

企業政府のような特定経済組織体管理する資本財産価値変動を一定表現技法にのっとり記録・計算し,その結果を伝達する行為,またはその表現技法をいう。〈帳簿記録〉という用語に由来するとされ,日本では1873年(明治6)大蔵省公刊のアラン・シャンドAlexander Allan Shand(1844?‐1930,イギリス)《銀行簿記精法》で簿記という訳語が使われて以来,一般化した。この技法現在あらゆる経済体制を問わず,さまざまな組織で用いられている。

とそれぞれ説明されている。

それぞれの単語意味をよくとらえよう。共通する単語はなにか?

どの辞書辞典を見ても、共通する言葉がある。例えば「経済主体」や「経済組織体」といった言葉。「帳簿」、「記録」、「計算」、「一定」も共通している。「技法」という言葉や、「増減」といった言葉も目につくだろう。

どの辞典でも使用されている同じ単語を、うまく抜き出して意味をまとめてみよう。こんな感じになるだろうか。

経済主体が行う経済活動(これを取引といったり、財産などの価値の変動ともいうようだ)を、一定方法で記録したり、計算する。その結果を帳簿に書いておく。場合によってはそれを伝達する。これを簿記という。

さらに簡単にまとめてしまえば、「お金ものの出入りを記録するための方法」を簿記という。

とでもなろうか。これが簿記という言葉意味である。つまり

1.ある個人や集団がいて、

2.それらのお金ものなどの財産全般が、

3.増加したり、減少したりしたときに、

4.それを帳簿に書いておく。場合によっては誰かに伝える。

ということが簿記エッセンスである簿記が行っていることはこれだけだ。とても簡単なことに見えるだろう。

意味理解するうえで間違われやすいところ

自分なりに間違いやすいところをあらかじめ指摘しておくと、

1.「簿記=財務諸表をつくるもの」だと思っている

よくある間違いは、簿記=財務諸表をつくるもの、といった短絡的な勘違い財務諸表がまず何かわからない人も多いと思うが、主に会社が、ある期間の業績などをアピールするために作成している書類で、決算書と呼ばれることもあったりする、くらいの意味合いを抑えておけば十分だ。

いままで見てきたように、簿記のものは、財務諸表ではない。財務諸表を作る上で役に立つが、簿記自体財産の変動を記録して帳簿に書いておく、といった意味合いしか無い。したがって、簿記説明で「財務諸表説明だけしかしない」のであれば、それは間違いだ。簿記から財務諸表を作ることができるよ、といった説明ならば、もちろん間違いではない。簿記財務諸表は別の言葉であり、意味は等しくはならない。

例えて言うならば、プログラミングをする上で様々なプログラミング言語があるわけだが、では、ある言語を持って、「それだけ」をプログラミングと呼ぶか?というようなものだ。「Java言語プログラミングをする」という文は間違っていないが、「プログラミングをすること=Javaである」というようなことを言われると、それは誤解であるC言語Pythonや他にもいろいろプログラミングをする上で利用されるプログラミング言語はあるのだから。「USBメモリー=USB」みたいな、誤解されかねない意味の略し方になりかねない。

2.「財産の変動=現金の動き」だと思っている

財産という言葉を聞くと、簿記会計を全く知らない人は、現金(硬貨とか紙幣)だったり、あるいは、金の延べ棒みたいなものとか、袋にドルマーク($)が描かれたものイメージとして浮かべがちだ。実際に簿記でもそれらは対象になるのだが、「お金自身の動きだけをもって、簿記である」と勘違いしてほしくない。あくまでも、「財産」の変動を対象にしている。この財産とは「経済的価値を持つもの」全部を指すのだ。だから現金以外もいろいろ入ってくる。

例として、火災天災などが挙げられる。(他にも会計的なものはいくらでもあるが、知らない人がわかりやすいのはこれ以外には少なかろう)

火災天災によって、ある会社工場や営業で使っている自動車が焼失したり、破損することがある。このとき会社からお金は減っていないが自動車が使えなくなってしまうために、財産として計上している「自動車価値」を減少させる。複式簿記仕訳で書けば、

  ○月☓日 (借方)  火災損失(天災損失などもあるだろう) □□□万円 / (貸方) 自動車(車両運搬具だったりもするが) □□□万円

といったようになる。よくわからないところが多いと思うが、「お金のもの」がどちらの側にも無いということを確認してほしい。

簿記=お金」のイメージが学び始めのころはついてまわると思うが、だんだん学習が進むにつれて、お金のものを扱っているといった見方では説明できないものがたくさん出てくる。むしろそういうものばかりになる。

それゆえに簿記言葉説明するときには、「財産」とか、「経済的価値変動」といったような、お金よりも抽象的な言葉説明せざるを得なくなる。わざわざ難しそうな言葉を選んでいじわるをしているわけではなくて、正確な言葉を使わないとあとあと矛盾がたくさん出てくるゆえだ。定義がピンとこない人の方が多いと思うが、誤解しないでほしい。

「○○簿記」と行った用語のいろいろ (例 : 商業簿記 工業簿記 複式簿記 単式簿記 )

記録する対象商業であれば、商業簿記になる。ここでいう商業とは、ものを仕入れて、仕入れた商品をそのまま販売することをいう。スーパーマーケットの(惣菜みたいなそのお店で調理していないで、)袋詰されて並んでいるもの対象に含まれる。加工している場合にはその加工にかかった費用計算する必要があるので、商業簿記では取り扱われない。

工業簿記は、商業簿記とは異なり、仕入れたものを加工して販売する。典型的なのは自動車産業のようなものだ。鉄やガラスなどを加工して、自動車を作り、それを売る。加工する途中で、工員が作業を行う必要があるし、加工のために工具や電気代、燃料代などがかかるだろう。そういった加工を伴う簿記工業簿記範囲である。(工業とついているので、工業だけと思われるかもしれないが、加工を伴うものであれば工業以外でもよい。例えば洋服オーダーメイドで作製する個人商店なども、布地を加工して服に仕立てるので、工業簿記範囲だ。生の牛や豚をさばいて、畜肉にする作業も加工を伴っているので工業簿記であるテクニカルタームだが、そういうとき副産物や連産品として処理したりする。金額的な重要性によって会計処理が変化することがあるが)

他にも農業簿記銀行簿記といった言葉もある。それぞれ農業使用される簿記銀行業務で使用される簿記である。(私も詳しくは知らない)

ここまでは、業種に応じた簿記の違いであった。複式簿記単式簿記の違いは、記録のとり方(これを記帳方法と呼ぶ)の違いである。

単式簿記は、記録を取るときに、科目を一つだけにしぼって記帳する方法である家計簿子供のおこづかい帳のようなものだ。(と書くと、ほとんど使われていないと思われるかもしれないが、少し前までは東京都単式簿記で記帳していたし、他の自治体は、今でも単式簿記によるところもあると思われる)

例えば、お母さんからおこづかいをもらった時に、

  ○月☓日 おこづかい 500円

などと、お小遣い帳に記帳する。もしおこづかいからおやつを買ったときには、

  ○月△日 おやつを買った -300円 (あるいは支出欄があれば、そこに300円と書く)

などと書いていけば良い。この「○月☓日 おこづかい 500円」といった部分を仕訳と呼ぶ。

複式簿記は、記録を取るときに、科目を左側と右側の両方を立てて記帳する方法である

例えば、お母さんからおこづかいをもらった時に、

  ○月☓日 (借方)  おこづかい 500円 / (貸方) おこづかい受贈益 500円

などと、帳簿に記入することになる。この、「○月☓日 (借方) おこづかい 500円 / (貸方) おこづかい受贈益 500円」の部分を、単式簿記の時と同じく、仕訳と呼ぶ。(受贈益という言葉が気になるかもしれないが、今回は説明しない。正確に書くための前提知識がそれなりに必要なので。今回は例に挙げただけなので、もらって得した、というくらいの浅い理解で十分だ)

この、仕訳を書く帳簿を仕訳帳と呼ぶ。(たまに普通仕訳帳と読んだりもするが、その場合特殊仕訳帳があるケースがほとんどだ)

単式簿記は科目が1つで、複式簿記では科目が2つになることがわかるだろう。これは正確に言うと、複式簿記は科目を書く欄が「左側と右側と2つある」という理解をしてほしい。したがって、もし、お母さんだけでなく、その日にお父さんからもおこづかいをもらったとしたら、複式簿記仕訳を作ると以下のようになる。

  ○月☓日 (借方)  おこづかい 1200円 / (貸方) お母さんからのおこづかい受贈益 500円
                    /    お父さんからのおこづかい受贈益 700円

右側が2行になったことがわかる。左側は1行のままだ。そして、右側の金額を合計すると、左側の金額の合計と一致していることもわかるだろう。これも複式簿記仕訳である。このように、右側が2行になったりすることもあるし、反対の左側が2行になったりすることもある。もっと行数が増えることもある。仮におじいさんやおばあさんからももらったとしたら、3行、4行と増えることになるだろう。(狭義の簿記範囲外だが、連結財務諸表の合算の仕訳などが典型例だ)

このように、複式簿記は「左側と右側」にそれぞれ科目を立てるゆえに「複式」簿記と呼ばれる。

(余談だが、行列簿記など、他の記帳方法存在する。自分も詳細は知らないが)

複式簿記場合仕訳帳に仕訳を書いたあと、勘定科目ごとに総勘定元帳と呼ぶ別の帳簿に転載する。この転載する作業を「転記」と呼ぶ。(この後もいろいろ話はあるが、まあこれくらいのことがわかれば複式簿記イメージが持ってもらえるはずだ。)

まとめ

いろいろ例を挙げて説明してきたが、今までの内容をまとめる。

1.簿記とは「経済価値の増加や減少を記録して、帳簿につけること」を意味する言葉である

2.簿記の頭に○○簿記と言ったように、修飾語がつくときには、その修飾語は業種や記帳法(帳簿の記入形式)を詳しく説明している。前者は商業簿記工業簿記など。後者単式簿記複式簿記といった言葉がよく使われる。

3.複式簿記という簿記は、仕訳が左側と右側の2つに分かれている。左側の合計と右側の合計は同じ金額になる。単式簿記は1つである

といったことを説明してきた。おそらくこれだけ知っていれば、簿記という言葉がおおよそ何を意味するかわかるはずだ。(会計という言葉はまた別の意味になる。単語が違うということは、当然その意味は違うのだから)

もしこれを読んだ人に子供さんがいたりして、その子供に「簿記って何?」と聞かれたとしても、今までの内容を漏れ無く、内容を興味を持てるようにある程度やさしいものに組み立てなおして説明してもらえれば十分わかるはずだ。

簿記という言葉意味については、会計方面に接点がない人は、今までの内容を理解してもらえれば、十分である。もちろんこれから会計を学ぼうとしている人も、今までの説明で、これから学ぶ内容と矛盾が起こらないように配慮して説明してきたので、そこそこ役に立つはずだ。

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メソッドフィルタリング)です。

2015-11-11

プログラム言語多すぎない?

PHP,Ruby.Python,Javascript,Java,C言語,C++,C#,Swift,go

そのほかいろいろ数えきれないよ


なんでこうも多いのさ

2015-11-06

http://anond.hatelabo.jp/20151106113708

参照透過性ってなんだろう。

インスタンスが新たに生成されるのか、参照渡しになるのかわからない。

書き変わるのがいったいどのインスタンスなのか明確じゃないのが困る。

javaだといちいち挙動を覚えてないといけないから面倒。

2015-10-28

おすすめプログラミング言語9選

1. C

基本。K&R読んでおけば老害との会話に困らない。

2. C++

これ書ければ何でも書ける。

3. PHP

ネタにするために。

4. Ruby

バカでもWebSiteを作れることを知れる。

5. sh

バッチ用。

6. Swift

iOS

7. Kotlin

Android

8. Lisp

プログラマとしての嗜み。

9. Scala

関数型言語入門として。

10. Java

一応。

2015-10-27

ノンプログラマーでもシステム出来る系製品はことごとく地雷

SIerが欲しがるプログラマーなしでもシステムできちゃう製品あるでしょ。

分岐アイコンのようなやつでつなげるとか、ものっすごく単純にしたドメイン固有言語コピペするだけでシステム完成するやつ。

パソコンのノの字も知らないオッサンは、上流の設計をそのまますぐに設定をしてお客に売る。

人月めっちゃ安くなるよ―!!っていうアイドルと付き合えちゃうくらいなレベル妄想をもっているらしい。

でもね。

今まで見てきたけど全部燃えてたよ。

ガソリンがたんまり仕込まれている焼夷系の地雷なんだよあれは。

大体お客さんは安い安いとか言っときながら、SIシステム買おうとしているか絶対自分らの社内ルールに合わせた複雑な要望を持っている。

社内ルールパッケージに合せることや、システム設計と社内のルールを歩み寄らせるというのは理想だが根付いていない。

本来ならばシステム担当役員企業全体のフローごと改革するような強い権限を持っていればいいが、システムを買う窓口になっているお客サンがわのSE普通の平だし、ヘタしたら外部の人間だし、

とにかく既存フローを変える権限はないし、変える気もない。

から企業ごとのカスタマイズ必要になるのだが、あのノンプログラマー大丈夫製品はほっとんどかゆいところに手が届かない。

ノンプログラマー大丈夫ってことは、プログラミングでの抽象度の高い操作を極力無くしてほぼ設定段階で済ませようとしているのだとおもう。

そしてノンプログラマーでも大丈夫製品なので本当にノンプログラマー構成された上流たちが、お客の要望をきいて「できそうじゃね?」「販売元にきいてみっべ」「いざとなれば誰か外注すっか」みたいなノリでやりがち。

そして実はその製品ではお客の要望を満たすことは出来ない。

で、「仕方ないプログラマ様にきていただぐべ」とかなるんだけれども

プログラマ様も謎の製品について学習するコストもかかってしまって余計時間がかかってしまう。

はっきりいってピュアJavaで書いてくれたほうがわかりやすい。

この手の製品で本当に挙動が分からなくて、サポート電話しても要領を得なくて、でも上からは「おら、やれよバカ」っていわれて

しかたないからClassデコンパイルして読んで、できません…っていうこともできないから、結局別プロセスで動かす逐一データを変換するような物をつくらなくちゃならなくなった。

それ誰が面倒を見るの?

納期に迫られてしかたねーしかたねーでとりあえず作ったし、オレは外部の人間からすぐ抜けちゃうけどさ

ノンプログラマープロジェクトの方たちホントどうするの?

こんなことここ五年で4回くらいみた。

簡単にする仕組みは良いよ。

でもコード隠蔽するような奴はだめだ。

ブラックボックスだし小回り聞かないし、でも色々な要望がでてきて結局袋小路に追い詰められるんだよ。

使って良いのはプログラミング言語の上を覆うくらいのフレームワークまでだね。

あとね。

お客サンは大体自分らの要望仕様しらないんだよ。

でもこっちで提案してもダメなんだよ。

作っている途中で思い出す感じなんだよ、

そんな状態なのに機能制限されている簡単ツールなんて使うなよ。

ねえねえ。

業務系以外のIT業界ってどうなの?

2015-10-26

Java空気は美味いな”

3 件 (0.19 秒)

2015-10-22

Chocolatey使っても大丈夫

「便利そう」と思いながらもChocolateyのパッケージ群を信頼していいのか分からなくて常用に至っていない。

Microsoft公認から大丈夫だとは思うんだけど、パッケージメンテナ任せと聞くとどうも信頼できない。

入れるのはLINESkypeJavaFlashChromeGoogle日本語入力ぐらい。

(他にもインストールするものはあるけれどChocolateyには置いてない)

そこまで手間は変わらないし、何も危険を冒すことはないかなという気がしている。

……なんか書いてて「福島のお米を買うのはやめよう」と言ってるのと同じ気がして嫌になってきた。

2015-10-21

Array.ForEachがうまくいかないから

for(var i = 0; i < list.length; i++){
}

にしておいた。Windowsjsファイルスクリプトを食わせたら動いたけど、XulRunnerよ、Array.forEachは使えないんだなきっと。ふざけやがって。計6時間消費、Array.forEachを何とかつかってやろうと思っていたが。

MozillaMicrosoftなどに負けたのは、ふつうに使える開発ツールが無さすぎなんだよ。傾斜生産方式を見習えっての。

少し直してはアドオンパッケージングして、ロードさせてアプリ再起動させて実行、また直してはアドオンパッケージングして、ロードさせてアプリ再起動させて実行で、たかが1文字間違えていただけで見つけるのに数十分もかけさせられてたら萎えるわ。alertも使えないし、console.logかいうのも ctrl+shift+J で出る画面になにも表示されないし。

Visual Studioサイコーだね!!Java なんて手を出さなくて助かったわ。重くてすぐオチる Eplicse なんて使っていたらストレスたまるし。

2015-10-18

試験を受けた

疲れたので箇条書きで。結論から言うと多分不合格です。

  • 午前
    • 試験会場の会場広い……。
    • HBもBも持ってなくて2B使ったけど大丈夫だったのかな。
    • 意外と過去問題がそのまま出るんですね。
    • 問題用紙に色々書けるのありがたい。
    • 自分と同じ列の人みんな30分前ぐらいには全員退出してた。こわい。
    • だいたい解けたので80点ぐらい
  • 午後
    • おにぎりを食べました。おいしかったです。
    • 最初問題(必須)がよく分からず、多分こうするよねみたいな勘で解いた(怪しい)
    • 選択、おさえてた範囲問題は救済のように感じられたかも。
    • 二つ目必須、既に知ってた人なら楽に解けてそう。私は知らなかった。
    • 最後のはJavaを選びました。Java1.5以降の文法普通に出るのね……。
    • まだ2時なのに勘違いして「あと30分しかない」と焦って吐きそうになった。
    • この辺りで増田に書くネタを2つ思いついた。
    • 2時半を過ぎた頃になって3時半までだと気付きなおしたけど遅かった。
    • 適当に埋めたところを含めて一応欄は埋まってて「これは大丈夫なのでは」となり、これが認知的不協和というやつか……みたいなことを考えた。
    • 見直ししてたら間違ってるところ見つかるし嫌になってきた。
    • 疲れた。色々と忘れたい。

落ちました。

色々あってこの後、基本情報技術者試験応用情報技術者試験情報安全確保支援試験と取れました。

その、ありがとうございました…。

2015-10-11

IT業界もっと認定試験重要視してほしい

基本情報とかだけじゃなくて、JavaとかPHPとか、各DBあたりのベンダー試験なんかも。

しろJava試験に受かってないとコーディングできないとか、ナントカ試験もってないとSE業務できないとか、徹底してほしいわ。

あんもんじゃ実力がわからないって言うけど、ソフトウエア開発の現場って、どう見ても水準に達してないのに経歴が長いってだけで技術力があるってことになってる連中が多すぎ。

こいつJava入門書レベルも読んだことないだろって感じのやつがコーディングルールを決めてたり、VB6時代で知識止まってるオッサンがC#やらVB.NETコードレビューやってたり。

認定試験受かってたら、最低限、そういう連中はフィルターに掛けられるしな。

単純にダメな奴には開発をやらせなければいいんだけど、そのダメかどうかを判定する立場に経歴が長いってだけのダメな連中がついてるから、まともな選別とか無理だわ。

2015-10-09

新しいもの好きとかい害悪

ITの、特にベンチャーやってる奴らはとにかく新しいモノ好きで、とかくJavaは古いとか、Flashダメだとか、同じRoRでもバージョン古いやつだと働きたくないとか言い出すんだけどさ

ほんと、無責任だよね。いや趣味でやる分にはいいんだけど、ビジネスにはならない。ビジネスにおいては動くものを無闇矢鱈と変更してはいけないのだ

少しくらいイケてないコードからって、そのコードが大きな問題を起こしていないのだったら、変えてはいけない。こう思えるかどうかが無責任コーダーまりか、経営スキルも兼ね備えたプログラマーかの境目だと思うね





まあCOBOL死ねばいい

2015-08-21

詳細設計書はどこまで詳細に設計すべきなのか(主に愚痴

今作ってる典型的JavaMVCモデルWebシステムでの話。

結論から言うと、プログラムクエリ和訳したレベルまで細かく書くのは無駄だと思ってる。

特に一番嫌いなのが、クエリ和訳した文をそのまま詳細設計書内に書けって言ってくるレビュアー。今のチームのレビュアーである

テーブルと列、検索条件、ソート順、結合あるなら結合条件も書けと言ってくる。

まあ単純な主キー検索しかないシステムなら別にいい。書くよ。

だがそんな単純なクエリだけでそこらのシステムが成り立ってるならこんなこと言わない。

大体今日びORMも導入せず処理の途中にクエリベタ書きするような糞システムもそうそう無い(とはいいつつ去年見た)っていうのに。

クエリ和訳したような設計書を書くくらいなら、いっそ設計からクエリ自動生成できるようにすればいいじゃないかっていうことで、余所部署で作られたマクロ付きの設計書を拝借してきて今回DB関連は全部そっちで定義してある。

にも関わらず、「ここにもさらっと書いておいてよ」とレビュアー様はのたまう。いやいやさらっと書けないから別のドキュメントにしてるんですが。

んでレビュアー様のご指摘どおりに直していくと、結局別出しにしていたクエリ設計書と全く同じことを詳細設計書にも書くハメになる。

実はこのレビュアー様、似たような前科がある。

そこそこ大きなプロジェクトで、基本設計、詳細設計さらプログラム設計書を作ることになったのだが、このレビュアー様がレビューしまくってして書き直させまくった結果、詳細設計書とプログラム設計書はフォーマットが異なるだけで記載内容がほぼ一緒になってしまったのだ。

当時設計書の修正だけでかなりの工数を使った結果上からも下からも総ツッコミを喰らってかなり痛い目見てるはずなのに、また同じことを繰り返しているから救いようが無い。

プログラムが書けない典型的文系SE様に今更Javaプログラム書ける様になれとは言わない。

ただ詳細設計レビュアーを任されるような立場ならば、せめてそのシステムで使われてる言語フレームワーク特性ぐらいは把握しておくべきだ。

それも嫌ならせめてフロー図くらい読めるようになってほしい。フロー図作れって言っておいていざ作ったら「このひし形って何?」って聞かないでお願いします。

2015-08-06

ask.fmIT戦士リスト

得意なプログラミング言語ask.fmURL

何が得意なのか謎、もしくは特化した言語を持たない人は不明と書いている。

自薦他薦はここにトラックバックしろ

1軍

ほぼすべての質問に回答していると思われる暇人素敵な方々。

褒めだろうが悪口だろうが質問でもなくても何でも回答してくれる。

このクラスask.fmを愛するプロフェッショナルな人しかなれない。

Pythonhttp://ask.fm/hamukazu
C++http://ask.fm/EzoeRyou
Haskellhttp://ask.fm/tanakh184

2軍

回答率が下がるがそれなりに回答を付けてくれる。

C#http://ask.fm/chokudai
C++http://ask.fm/nico_shindannin
Javahttp://ask.fm/hyuki0000
不明http://ask.fm/chomado

3軍

質問を選びすぎて回答率が低い。

PHPhttp://ask.fm/tokumaru
Vimhttp://ask.fm/ShougoMatsu
PHPhttp://ask.fm/anatoojp

球拾い

リストラ予備軍。

Vimhttp://ask.fm/mattn_jp
不明http://ask.fm/KensukeFurukawa
不明http://ask.fm/todesking

2015-08-01

社内SEとして必要なこと

社内SEとして2社ほど経験したけれど、社内SE必要なのは技術力よりも社内政治力だとつくづく思う。

感じたことをつらつらと書いてみる。新しいことをするには立場権力がないと何もできないということをつくづく感じた。

社内SEになりたいと思う人は、ちゃんと考えて入った方がいいと思う。

学生ときにかじってた新人ダメだ」みたいな話

2chなんかでIT系採用の話があると「学生とき勉強してた新人は変なクセがついてつかえない。なにも知らない新人のほうが伸びる」みたいな人がよくいるんだけど、こういう事を言ってる所は地雷だよな。

これを言ってるのは、言ってる本人が勉強したことなくて、職場ガラパゴス化した技術しかしらなくて自分自身に変な「クセ」がついてるんだと思うわ。(実際にはスキルにクセなんてないんだけど)

で、自分が劣ってるんじゃなくて「勉強してるやつは変な癖がついてダメだ」って合理化してんの。

「クセ」といえばよく、はじめに学んだ言語が○○だとクセがついてダメだとか、最初IDEでやるとダメだとかいう説があるじゃん

プログラミングスキルスポーツフォームみたいに捉えてるんだろうけど、こういうのも言ってる本人がダメっぽいな。

世の中には言語を一個覚えるのがやっとみたいな人と、簡単に複数言語を覚えられる人がいて「プログラミングスキルはクセがつく」という発想をしてしまう人は、前者のほうなんだろうと思う。

自分言語一個覚えるのに四苦八苦するのを、世の中みんなそうだと思って「クセがつく」と称してるの。

CのベテランJava現場にきて、悲惨コードを書いてるとかあるけど、それはCのクセがついてるからじゃなくて本人にJava勉強する気がないからだよね。

「クセ」と言われてるのは、学習曲線が一年くらいで伸びなくなって複数技術を身につけるのが困難な人が、最初に学んだ技術しか使えないのをそう言ってるだけで、そういう人からしたら確かに「クセ」が存在するんだろうけど、そういう人を前提に新人教育を考える必要はないと思うわ。

IDEから入るとコマンドラインが使えなくなるって話も、そういう人はコマンドラインから入ってもすぐ学習曲線は頭打ちになって、どのみち大したこと技術者にはならないだろうし。

2015-07-18

目標管理ってさ

営業職とか数値目標ほとんどな職種だといいのかもだけど、それ以外全然駄目な制度だよね?

上手く行ってる例を聞いたことがないんだけど。

目標管理シートドリブン開発はくそ - razokulover publog

http://razokulover.hateblo.jp/entry/2013/12/20/084359

ITエンジニア評価制度どげんかせんといかん - ぐだぐだ言ってないでコードを書けよ、ハゲ

http://kheiakiyama.hateblo.jp/entry/2013/12/22/145210

目標管理制度(笑) - カレーなる辛口Java転職日記

http://d.hatena.ne.jp/JavaBlack/20131222/p1

2013 年くらいにこの辺でも騒がれてたけど、そんで今実際どうなってるの?

なんかもっといい評価制度(笑)ができてそれが実は水面下で広まってたりするわけ?

惰性でこんなん使い続けてる会社ばっかってことは、人事ってやっぱり『企業即戦力じゃないから人事をやっている』ってことなのかな?

少なくとも自分たちの業務の中でも重要な部分に能力発揮出来る人が少ないって事はまぁそう言われちゃっても仕方ないよね?

やっぱり人事なんてほとんどの会社はいらないんじゃないの?

そんな気がするなー。

増田に人事の人いたらなんか意見聞かせて欲しいわ。

2015-07-10

ジェイヴjava

フィップ php

ぴちょん python

ルバイ ruby

ペルリ perl

2015-07-02

JNLPファイルインストールができない原因

対処方法を忘れてたのでメモ

はっちゅう君FX等で使われるJNLPファイルインストールしようとすると、「ファイルが見つかりません」的なエラーが出てインストールできない。

ユーザー環境変数のTEMPおよびTEMPのパスに2バイト文字が含まれるのが原因。

2バイト文字を除去して再起動すれば直る。

今回の場合ユーザ名に2バイト文字が含まれていたのが原因。

ユーザ名を変えるか環境変数自体を書き換えれば直るが、ユーザ名を変えるのは手間がかかるので環境変数を書き換えた。

ユーザ名に2バイト文字・記号・スペース等を使うと動作不良を起こす」というのは昔から言われているが、まさか大手Javaですらこのバグがあるとは思わなかった。

ちなみにこのバグは少なくとも半年間は修正されてない。

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