「java」を含む日記 RSS

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

2015-03-08

id:nekoraを見習え

上から目線でクソみたいなコメント残していくだけのはてブユーザー

2004年からクソつまんねぇ日記ちゃんと書いてるid:nekoraを見習え。

 

あとQiitaとか言う軟弱なWebサイト使ってる軟弱Web系軟弱スクリプト言語使いの奴らも

id:nekora先生のJavaエントリー見習え。

スマホ定義教えてくれよ。

Javaアプリインスコできるなら、

ガラケーフューチャーフォンと呼ばれてるやつも十分スマホ要件みたしてんじゃねーの?

2015-03-02

Javaしかやってこなかった人と話すと

いなかもんと話しているような気分になる。

他にもいろいろな考え方があってそのなかのひとつがJavaなんだということがわかってないというか。

基準がそれしかないんだから狭い考えに陥るのはわかるんだけど、やりにくい。

噛み合わない。

お前ん所の価値観だけで全部を判断しないでほしいと思う。

まあ、なんだ、愚痴です。

2015-02-17

http://anond.hatelabo.jp/20150217165548

東大卒電通勤務経験ベンチャー立ち上げて1年半社長を経て2億弱で譲渡プログラムJAVAPHPが書ける

スポーツをやってた経験と今も鍛えてるから仕事もできる

俺はこんな感じだけど同級生には似たような奴がいるから珍しくはないよ

もし底辺職場に行けば、そこの社長よりは成果を出せるだろうけど話は合わないと思う

http://anond.hatelabo.jp/20150216235149

アドレスがわかったって見逃しでメモリリークは起こるし、デバッグするのにダンプファイル解析なんてしたくないし、やっぱJava的なもの必要だと思うけど。

http://anond.hatelabo.jp/20150217000125

初心者に「まず最初にCをやれ! Cが基本だ! CができなくてJavaRubyをやってもろくなコード書けない!」みたいなアドバイスする人いるけど、CのベテランJava現場にやってきてあいかわらずCみたいな悲惨コードを書いてるってよくあるしな。

2015-02-16

http://anond.hatelabo.jp/20150216232959

もしプログラマーがみんなアドレスをわかったら

Javaなんて、流行らなかっただろうね。

 

若葉マークも『車に乗れる』なら

F1レーサーも『車に乗れる』であるように。

 

初歩でも玄人でも『アドレスをわかった』とはいうけど、その意味は段違いだわな。

2015-02-11

関数型とオブジェクト指向って……

毛の壁以降、色んなところであーだこーだ再定義言われてるけど、結局名前が悪いんだよなぁ。

どちらかというとオブジェクト指向の方が「何もかもサブルーチン(ただし値を覚えていてくれるおまけつき)」で、関数型の方が「何もかもが値(関数も)」なんだけど、まず名前からだと逆っぽく聞こえる。

加えて、この二つの概念が対立すると思われてしまうけれど、んなこたーないのはjavascript見れば分かる。何もかも値かつサブルーチン、でOK。

両立しにくいのは、オブジェクト概念高階関数概念ではなく、オブジェクト指向言語採用してきた型システムと、関数型言語採用してきた型システムだ。

まりC++やらJavaやらが採用してきたサブタイプ多相をベースにしたクラスによる型付けと、ML言語採用してきた代数データ型が噛み合わない。致命的に。

いやまぁScalaは頑張って統合したけど、コンパイル遅いわ書き方次第で型チェックが無限ループになるわで、色々と無茶しやがって感ある。

これからは「サブタイプ多相言語」と「代数データ言語」って分けて呼ぶべきなんじゃないか?

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毎の注意点

2015-01-31

プログラマの力量は認定試験で判定する世の中になればいいのに

情報処理だけじゃなくて、JavaとかPHPとかオブジェクト指向とかWebプログラミングとか細かく細分化して、このプロジェクトC#認定試験Windows認定試験をもってるプログラマしか採用しませんとか。

ペーパーテストで分かるのかって言われるかもしれんけど、今の経験年数で測るやり方に比べたら格段にマシになると思うわ。

経験年数10年だから技術力があるってことになっているけど、実際は初心者レベルだとかゴロゴロいるし。

Java入門書さえまとに読んだことないだろってレベルの人が飲み会で「Javaに関しては任せられる新人が育ってなくてね」とかドヤ顔で語っていて、サラリーマンから形だけ顔を立てられるって認識でなくて本人もマジで技術力あるつもりなのかってビックリしたことあるわ。

で、そういう人がプロジェクト技術的な方針を決めてるから、本当にぐちゃぐちゃで効率悪い。

プロジェクトに応じた各種認定試験に通ってないと、コーディングさせないとか設計させないとかっていうのが常識になったら、最低でも水準に達してないような人がプロジェクトにかかわることは避けられるからね。

まあこれやると、日本プログラマSEの60万人のうち、3割とかへたすると半分くらいは仕事できなくなっちゃうんじゃないかって気がするから、実行は無理だろうけど。

このまえJavascriptコピペだけで10年やっていて初めてまともに勉強したってエントリが何百もブクマを集めてるのをみて、モヤモヤっと思ったから書いた。

2015-01-29

初めてじゃなかったCの思い出

今やプログラミングといえば、Webなどで使われるような高水スクリプト言語中心のアプリケーションプログラミングが主流だ。

そんなこともあり、もはや以前の低レベル言語によるシステムプログラミングの苦労など、タダの昔話である

そこに来て、実際は齧った程度の分際で、性懲りもなくそんな昔話を書いてみる。


今も昔も、基本的に難しい仕事無茶振りから始まるものだ。

少なくとも10年位前に自分が手がけた(押し付けられた)仕事はそうだった。

大学で初めて触ったC言語しかポインタからないで止まっているような奴に、電文の再配信プログラムを任せたのだから


客は「遅延が絶対許されないシステムなのでJavaとかPerlとかはやめてねー」とにこやかな笑顔かつ笑ってない目で注文してきた。

そうなるとC/C++くらいしか事実上選択肢がない。

このうちC++は、Java経験がある自分からしても仕様が膨大かつ複雑すぎて、とても手に負えないと感じ、必然的にCで書くことに。

勿論Cの言語仕様がKR本一冊で収まるほどコンパクトであっても、それが簡単であることを全く意味していないというのを開発早々に思い知らされたのだが。

あ、Cと言えば電文提供側の機関が受信用のスケルトンプログラムを一応は用意してくれていたが、どう見ても電文受信中に接続が切れた時のことを考慮していない内容で、全く参考にならなかった。

その時点で相当ヤバいである


コード書きにおいては、例え一人屋台の俺ルールであろうが、コーディング規約のようなもの絶対必要である

その時のルールは「gccオプションに"-Wall"を入れた状態で、Warningゼロになること」にしてみたが、その途端、日付変更線をまたがない限り退社できない生活が始まった。

というかオブジェクトを使えないだけでも地味に辛いのに、更にCの言語仕様コンパクトである以上に原始的と言っていい代物で(だからWarningは基本無視できないのだ)、しか言語仕様以外の環境依存要素が山積していると来たもんだ。

そんな言語システムコールだらけのコードかつ複数ファイルディスクリプタの同時監視(即ち非同期でノンブロッキング)しかマルチプロセスシグナルもあるよ!とか、お客さんは俺を殺す気か、そもそも完成させる気無いだろとか、今だったら思う(当時はそう思う余裕もなかった)。

仕方なく最初のKRに加えて「UNIXネットワークプログラミング」をわざわざ東京に出かけてまで買って読み漁った。

後にも先にも、古今東西の名著と呼ばれるような本を、泣きながら読んだのはこの時だけだったりする。

そこまで凄い良書なのになんで絶版になったんだか。


いかし、それでも「子供を殺しても死なない」、かなり前の処理での領域破壊のせいで突然プログラムが止まっちゃうなどなど、やればやるほど問題が出る。

シグナルを受信し、仕様のとおりに処理するのがこんなに難しいのか!と途方に暮れたこともあった。

そして途方に暮れても解決の手段になるような便利なツールもなければライブラリもない。

結局、「ある程度正しく動いたら、あとは出来た所まで」で勘弁してもらってようやく開放されたが、今でも当時の自分仕事ぶりには全く満足していない。

無駄に頑張ったというか、頑張っただけの仕事であり、折角低レベル実装というCの本領発揮分野の案件でありながら、スレッドmalloc()、可変長引数は遂に習得できなかった。

こういうプログラムって、どうやったら正しく動かせるんだろ。


このような経験を経て、後年、Cやシステムプログラミングを指してギークな人々が

Cはとても高効率ですし、マシンリソースもドカ食いしません。残念ながら、Cがそれだけの効率性を実現するには、あなた自身が低レベルリソース管理(たとえばメモリ管理)を手作業でやってあげなくてはならないのです。それだけ低レベルコードがあると、複雑でバグも起こりやすいし、デバッグですさまじい時間をとられることになります今日マシンはずいぶん強力になっているので、これは通常は悪いトレードオフです――マシン時間を少し非効率に使っても、あなた時間をずっと効率的に使う言語を使うほうが賢明でしょう。

本物のプログラマアプリケーションプログラムなど書かず、まっさら金属板にゼロから書き込んでいく。アプリケーションプログラミングなど、システムプログラミングのできない弱虫のすることだ。

と言っていたことは正真正銘の事実であると痛感した。

あと、あれほど苦手だったポインタについても、「ポインタ理解できないと永久にC初心者」というのを嫌でも理解した。

あれはギターのFコードやSEALsのヘルウィークみたいなもので「習得できなかった者にとってはキャリアの終わりを意味するが、習得できた者にとっては始まりですらない」ものなのだ


・・・で、これだけで終わってしまうと本当にタダの黒歴史だが、これには少しだけ嬉しい後日談がある。

それから数年後、やはり電文転送系のシステムで、かつて自分がCのソロプレイでこなしていた規模の数万倍はあると思しき超大型案件助っ人の「兵卒」として参加したのだが、そこはインプラとアプリでチームが分かれており、アプリ側だった自分

配列ポインタ構造しか使わないで済むなんて、なんて楽な仕事なんだ!」と左うちわのんびり過ごし、しかも高評価をいただいて帰ってこれた。

実は今までの案件で一番幸福感が最高だったのは内緒である

2015-01-28

http://anond.hatelabo.jp/20150127212939

この手の怪談聞く度に疑問なんだけど、旋盤工だの型枠工だのが間違えたら車やビルが吹き飛ぶ第二次産業と違って

末端が適当でもATMが火を吹いてGDPが下がったりはとりあえずしないのはなんでなんですかね?

結局COBOLだのJAVAだのWindowsだのの後ろの部分を作ったメリケンの偉い人が偉かったってことなんですかね。

2015-01-27

http://anond.hatelabo.jp/20150127115417

ところがどっこいJavaには超高機能IDEがあってだな、コードスタイル統一はもちろん、

不要コードの削除、不適切変数名の一括変更、冗長な処理のメソッド化等々がコマンド一発でできるのですよ。

人海戦術で作られたコードを後から解析、修正する時にIDEの有無は大きいよ。

http://anond.hatelabo.jp/20150127112204

静的型.vs.動的型の文脈で、Javaバカにするのに「レベルの低いPG人海戦術的につかうようなプロジェクトだとスタイル強制できるからいね」みたいな言い方する人がいて、そんなこと言うからには自分レベル高いほうのプログラマだと思っているんだろうけど、コードを書いた経験も疑わしい感じだわ。

Javaを使ったくらいでスタイル強制できるわけないのに。

大昔 C.vs.Pascal議論があったときにも、Pascalは誰が書いても同じコードになるから読みやすいって説があったけど、そんなわけないってコードを書いた経験あったら初心者でも分かりそうなのに。

2015-01-24

http://anond.hatelabo.jp/20150124001655

メンバ関数

public void set(String k,double d){

v.put(k,d);

}

を入れた方が美しかったな

反省


あ、それにdistanceDoubleを返すようにして軸を一切共有しない場合はnullにした方がよかったな

奥が深い


おおうJavaInfを扱えるのか

勉強が足りないな

2015-01-17

グループポリシーによりこのプログラムブロックされています

  1. 毎日使ってる画像処理ソフトが起動しない
  2. EXEファイルが無くなってて再インストールしても即座に無くなる
  3. おいおいavastが誤検出して自動削除設定になちゃったかな?
  4. あれ? タスクトレイavastいないぞ?
  5. avastが「グループポリシーによりこのプログラムブロックされています」で立ち上がらない
  6. ウイルス感染疑いΣ( ̄ロ ̄lll)
  7. ググってレジストリ弄ってavast立ち上がるようにして、更に複数ソフトウイルスチェック(←イマココ

何かしら穴があったんだろうけど涙目

JavaAdobeも最新版にするように気を付けてたんだけどな…

どうしよう、面倒だけどパスワードも全部変えた方が良いのかな。

2015-01-13

http://anond.hatelabo.jp/20150113134116

クラス継承は常に単一継承なんだよ。インターフェースは多重に継承できるんだよ。無いと結構困るだろ?

Pythonではクラスは多重継承できるよ。

そもそも、静的型付け言語みたいに、インターフェイスを型で揃える必要ないけど(ダックタピング)。

普通にアクセサメソッド作るやろ。

PHPとかだとマジックメソッドgetなんちゃら()をプロパティのようにobj->変数アクセスしたりする。

アクセサなしのプログラミングpythonでの常識なのかもしれないが、そんなん変数いつ壊すかわからんから怖いだろ…

命名規則で充分だろ。Pythonでは'_'を先頭につけるのが標準。

マジックメソッドPythonにもある。

他、pythonには__init__.pyも含めた「簡素ではない独自ルール」が存外多いってのを問題視しとんのや。

少なからず、初心者向けじゃないぞアレ。無駄に躓くポイントが多い。

Javaビルドのほうが遥かにめんどくさいじゃん。Eclipse無しに複数ファイルコンパイルとか、プロでもできないやつ多いんじゃね?

Python初心者向けじゃないのは、日本語でぐぐった時の情報が少ないことかな。

http://anond.hatelabo.jp/20150113123140

インターフェイスが無くて何が困るの?

アクセス制御が無くて何が困るの?

初心者にわかやすく説明できる?

さらには2.X系のpythonではマルチバイト文字列が上手く扱えない。print("エラー!")のような所でさえ躓く。

これはエンコーディングの設定できてないだけじゃん。Javaだって意識してなきゃ文字化けするよ。

(__init__.pyってファイルが無いと動かないとか謎ルール過ぎるだろ)

これはディレクトリパッケージとして使う場合ルール

謎でもなんでもないとうか、ググりゃわかることを謎、とかいちゃうのはなんなんだよ。

http://anond.hatelabo.jp/20150113025512

俺の主張は

既存言語と巷に流行解釈で十分楽にプログラミングできる」

「こいつの提唱する謎の概念にはきっと価値がないだろう」

ってことだよ。

もちろんこの主張が正しい証拠は何もないけど、同時に間違っているという主張も何もない。

少なくとも、実際にこいつの提唱する謎関数型プログラミングで楽にプログラミングができるという証拠はまだ何もない。

Haskellとその巷に流行解釈以上の価値提唱しているようには見えないね

それは俺がバカからだって言うなら、そんなバカでも分かるような確たる証拠をつきつけてみせてくれや。

例えば、同じプログラム実装するなら、JavaよりHaskellが10倍短く10倍早くプログラムが書ける。

文字数を数えたりストップウォッチ時間測るだけだからバカでも分かる簡単な事実だ。

話は同じぐらい確たる証拠を突きつけてからだね。

それができないなら、きっと謎概念には価値がなんだろう。

2015-01-12

http://anond.hatelabo.jp/20150112093851

逆に入門書の一冊もまともに読んだことないんだろうなって水準の人が、自分はすごいレベル高いって思い込んでるケース多いね

SIerとか、建前上、技術力は経験年数に比例するってことになってるけど、建前じゃなくて「自分10選手からエキスパートだぜ」って思い込んでるの。

ネットとか本とかで勉強しないから自分がどの程度のレベル客観的評価できない。

このまえもJavaStream記事に「こんなの趣味しか使うな」「可読性が下がる」みたいな否定的コメントがついていて、技術的な勉強はなるべる避けたい感じの人達ならともかくはてなテクノロジーカテゴリーをチェックしてるような人でもこんな感じなんだってがっかりしたわ。

たまに関数型の言語記事に何十何百もブックマークついてることがあるけど、ああいうのもせっかくハテブ使ってるのに興味なくてぜんぜん読まないんだろうね。

ネットに対する否定的意見で「自分の興味のある情報しか見なくなって視野が狭くなる」みたいのがあるけど、はてなみたいな雑多な情報が集まるサイトを利用していても、そうなるんだって思った。

2015-01-06

http://anond.hatelabo.jp/20150106164755

http://b.hatena.ne.jp/entry/blog.livedoor.jp/itsoku/archives/42733566.html

このまえJavaStreamを紹介する記事に「読みにくくなる」「趣味で使え」「素直に別の言語つかえ」みたいなコメントがついていて、世間技術動向に興味ないSIerとかだったらともかく、はてなテクノロジーカテゴリをチェックしてるしてるような人がなんでって思ったわ。

たまに関数型の記事が数十何百もブックマークされてたりするけど、そういうのいっさい興味わかずにタイトルJavaとか知ってる単語が入ってる記事しかチェックしないのかね。

せっかくはてぶ使ってるんだから、もうすこしいろいろ興味もって情報集めたらいいのに。

2015-01-05

なんのためにハテブを見てるんだろう

http://b.hatena.ne.jp/entry/blog.livedoor.jp/itsoku/archives/42733566.html

Javastreamを薦める記事に「そんなの使うと可読性が下がる」とか「他の言語でやれ」みたいな反応してる人がいる。

SIerとかで働いてる技術的なことに興味の薄い人たちならともかくはてぶのテクノローカテゴリをチェックしてるような人でもこういう反応。

またに関数型の記事が何百もブクマを集めてるけど、ああいうのはまったく興味わかずにひたすら「Java」とか自分の見覚えのある単語タイトル記事しか読まないんだろうね。

ネットは隆盛して新聞が衰退する」みたいな話題ときにでるネット批判で「ネット自分の興味のある情報しか吸収しなくなる」みたいなのがあるけど、はてぶみたいな雑多な情報が集まるところを使っていてもそうなるんだって思った。

2015-01-04

名古屋、もしくは愛知県IT 企業アルバイトしたいのだけど...

タイトル通り

いろいろわけあって、東海地方の6年制大学20代後半で入学することになって勉強している。私立だけれども。

それで、アルバイトをしたいのだけど、どうアプローチをすればいいのかわからない。

一応、CodeIQ で『働きたい』という意思表示をしているのだけど、すべて東京方面会社からオファーで、

お断りさせていただいている。一応は名古屋で働きたいと希望をだしているのだけど。

今できるプログラミング言語RubyJava ぐらい。

C, PHP, JavaScript はよくわからなくなってしまった。

HTML5 + CSS3 は十分に勉強すれば対応できる気はするのだけれど、時間が足りない。

もちろん、RailsiOSAndroidフレームワークは忘れてしまった。

あと、SwiftHaskell は興味がある(つまりは、習得できていない)。

それと Linux はなんとなく、サーバー構築等々ぐらいなら出来る自信はある。

ついでにいうと、以前も仕事をしていたといっても、アルバイトだったりするので、職歴とは言えない。

そんなこんなでクズ人間なのだけれども、どこか雇ってくれる場所はないのだろうか。

2014-12-31

[]12月30日

○朝食:うどん(天かす、梅干しねぎショウガ

○昼食:なし

○夕食:祖母宅でお正月料理を山ほど

調子

普通

昨日書いた、睡眠障害ちっくな状況は変わらず。

ただ、体は疲れているのか、ゲームしながら待ち時間寝落ちしてしまった。

その時はぐっすり寝れたので、そんなに気にする事じゃないと思う。(というか、思おう)

その後、祖母宅でお正月料理を山ほど食べてきた。

そしてお土産も山ほどもらってしまった。

非常にありがたい。

そして、ちょっと思う所があり、Windowsセットアップをしていた。

予備PCMBAWIn7インストールした。

これを何に使うかというと、ちょっとプログラム勉強でもしようかと思っています

今年の夏頃まではプログラミングをしていたのだけれど、ちょっと僕の体調不良でお流れにしてしまいました。

が、プログラマとして再就職すると決めたので、もう一度勉強をしておかないと、と思った次第です。

まあ、どんな勉強をするのか? とかはまだ全然決めてないので、ゆっくり考えようと思う。

Web系は仕事ありそうだからWeb勉強しようかなあ、コンパイルしない言語をあまり触ってこなかったので、

JavaScriptとかがいいかなあ。

WebFlashとかJavaなんちゃらしか知らないから、基礎の基礎としてHTMLとかCSS

うーむ、悩ましいな。

一応、マイクロソフト信者って側面もあるからASP.NETとか?

あくま職業プログラマとしての勉強から仕事のあるなしで考えるのが無難かなあ。

仕事のあるなしとかガン無視していいなら、XNA同人ゲーム作るとかやってみたいなあ。

あっ同人ゲームかあ、作れたら楽しいだろうなあ。

ゲーム作るならどんなゲーム面白いかなあ。

せっかく、はてな村界隈で活動してるんだからはてなの何かを利用したゲームとかが面白い

増田文章ランダムで出てきて、それがモンスターに変身して戦う的なー?

って、まあそういうのも勉強にはなるだろうけど、就職に役立つか? って言われると微妙な気もするなあ。

うーん、今日のうちには決まらんなあ、のんびり考えよーっと。

○Halo5マルチプレイβ

楽しい

ドンとか壁ドンとかは、格好いいけど使うタイミングがよくわかんない!

けど勝てない!

勝てないどころか、普通に迷惑レベルで僕が弱すぎる。

3キル15デスとかが普通なので、ちょっとこれは迷惑すぎるなあ。

はいえ、やってて楽しいのは間違いない。

バトルライフルが好きな武器だなあ、体をパンパンと狙ってからのヘッドショットで一撃、って流れがたまらない。

(3回に1回ぐらいしかできないけど)

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