「java」を含む日記 RSS

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

2022-01-19

プログラミング楽しい

プログラミングと言っていいのかわからないけど仕事VBAを触ってる。

大学の授業でJAVAをちょろっとやっただけで詳しくは分からない。

VBAは何をやってるかが直感的に分かってかつ実際の仕事でこういう作業を簡略化できるという目的があるからやりがいがある。

ただちゃんとやろうとすると自分勉強する必要があるけどなかなか難しい。

業務で使うからこういうものを作ろう」と思ってもそのデータを用意できない。

似たようなデータを使ったり適当に作るけどこっちのほうが手間が掛かる。

仕事で色々覚えながらというのが一番良いんだろうけど能力がなかなか上がらないし、多分しばらくしたらこ業務から外される。

プログラミング自体楽しいんだよ。楽しいんだけどね。

2022-01-16

[]社畜プログラマ気分を味わえた2Dアクションパズルゲーム

Steamで買った『Recursed』というゲーム全ステージクリアしたので、記念に感想を書く。

Steam:Recursed

https://store.steampowered.com/app/497780/Recursed/?l=japanese

操作方法/目的

一見すると『Recursed』は2Dレトロ雰囲気アクションゲームである操作シンプルで、方向キーで左右に移動し、アクションジャンプと物をつかむ/投げるだけだからだ。部屋の中を移動してブロックをつかんで足場を作ったり、鍵をつかんで扉を開錠したりしてゴールへと到着(crystalを獲得)すればステージクリアだ。

概要/パズル

ステージの始めはチュートリアルの様に簡単だが、ステージを経るごとに難しくなり、そのうち何度も試行錯誤したり難しさのあまり何十分も頭を抱えたりもした。

この複雑さを生み出す要因は箱(ゲーム表記ではChest)である。このゲームでは箱の中へジャンプすることで部屋の内に入れるが、一度箱の外にでると箱の内部状態リセットされてしまうのだ。よって箱の中にブロックや鍵などのオブジェクトを持ち込んでも保存することはできないし、ブロック位置リセットされるし、開錠した扉もまた施錠されてしまうことになる。

さらに大きな特徴として、箱を持ち歩いて移動することができるのだ。それにより、箱を持ったまま別の箱に入ったり箱を持って箱の外にでることもできる。

そして、ステージを経ると箱の中の部屋は箱の外と同じ部屋という場面に出くわす。Recursedは『再帰呼び出し』という意味らしいが、まさにこのゲームタイトル通りの現象が起こるのだ。そして、以降のステージでは再帰を交えることでパズルの複雑さはより深まっていく。

再帰プログラミングとRecursed

再帰数学的帰納法アルゴリズムでは定番概念だが、それがパズルとなってプレイヤー思考回路を奪ってくる。私はかつて社畜プログラマとしてJavaプログラミング経験していたので、箱に入ることはメソッドを呼び出すことの様に感じた。オブジェクトを持って箱に入ることは引数を使ってメソッドを実行することであり、オブジェクトを持って箱の外に出ることはreturn文でメソッドを終わらせることであった。

「ゴール前の段差が大きくブロック必要からブロック生成メソッドを呼び出してブロックオブジェクトを返り値として渡さなくてはいけないけど、そうすると鍵オブジェクトをゴールメソッド引数として渡すことができなくて……、いっそのこと、ブロックメソッドからゴールメソッドを呼び出すべきか……、メソッドの返り値は一つだけだが何度も呼び出せばいけるか? この緑色オーラはなんだ? Staticを意味するのか? Staticなオブジェクト位置情報をあらかじめ変更しておけば、ゴールメソッド引数渡しをする必要がなくなるのか?」

こんなことを一つのステージクリアするだけのために何十分も考えていたのだ。念のために書いておくが、ゲーム内には数学用語プログラミング用語は一切出てこない。ただ単に、私にJavaプログラミング経験があるからその用語パズルを考えていただけだ。ゲーム内で箱から出入りしたりオブジェクトを箱の中から出し入れするとどうなるかを、Eclipseステップ実行するように想起していた。ちなみに、ゲーム内で存在しない部屋や壁の中に移動しようとするとparadoxが発生して強制的特殊な部屋へ移動されるが、私はその度にステップ実行でExceptionに遷移されたことの様に感じた。他の言語精通するプログラマだったり数学畑の人ならば、私とは異なる概念パズル思考をするのだろうか。

プログラマを辞めて何年もプログラミング思考をしてこなかった私でも全ステージクリアすることができたのだから学校プログラムを学んでいたり現役でプログラミングをしてきた人ならばこのゲーム『Recursed』をクリアすることは可能だろう。いっそのこと、『Recursed』のクリアすらできない人にプログラミングができるのか? と煽ってみたいくらいだ。

ちなみに、もし私が社畜プログラマ時代にこのゲームをやったらブチ切れていただろう。なんで仕事プログラミングで脳を酷使した上に自宅のゲームでも同じようなプログラム的な思考をしなければならないんだよと。プログラミングから何年も離れていた今の私にとって『Recursed』は、プログラミング単体テストが無事成功した時の快楽を思い出させるものだった。

感想

『Recursed』はパズルとしての難易度は非常に高いが、理不尽な解法を求められることはない。理不尽な解法のクイズパズルには怒りが湧いてくる。ひと昔前のクイズ番組を見たことのある人なら『モヤッとボール』を投げつけたくなる、と言えばその感情が伝わるだろう。『Recursed』はどんなに難しいステージでも、ただただ開発者パズル作成能力に感嘆するだけで怒りは湧いてこない。

似たようなアクションパズルゲームとして有名なのは『The Witness』であろう。『The Witness』も私が好きなパズルゲームであり、ゲームとして高い評価を得ていることに間違いはないのだが、しばしば理不尽な解法を求められるパズルがありその度に私は怒りが湧いてきたものだ。そう考えると、『Recursed』はパズルとしての洗練さだけなら『The Witness』を超えるものだと私は思う。

好きなステージ

具体的にパズル解説するととただのネタバレになってしまうので(もっとも、文字だけでパズルの解法を説明できないのだが)、『Recursed』で私が好きなステージを述べる。順番は攻略順に並べた。

Woodland/Loop

再帰概念が利用される最初ステージ

チュートリアルの様に簡単だったこれまでのステージから突如再帰概念を見せつけられることで、このゲームタイトル名の意味理解することになった。

Ruins/Interlock

鍵を手に入れたら扉に到達できず、先に扉に到達したら鍵が手に入らずで、まさにインターロック名前に相応しいステージだった。

Temple/Blister

一画面だけのオブジェクトが少ないシンプルステージだが、氷の壁に阻まれてゴールできず苦戦した。試行錯誤の繰り返しの末クリアできたが、何故クリアできたのかがわからない。

The Void/Sojourn

The Voidステージはどれもこれまでの集大成という感じでやりごたえあったが、中でも頭をひねらせたのがこれ。ゴールの部屋を水没させたり水の無い状態で入ったりして鍵を運搬するのに苦労した。

The Void/Escalate

箱を左右へ投げて移動を繰り返して、高い位置にあるゴールを目指すのがまさにEscalateというステージ名そのものだった。paradoxを発生した後のパターンが複雑だったのが印象に残っている。paradoxを発生させたらcrystal獲得(通常のクリア)できないのかよ……という落胆は大きかった。しかし、それだけにcrystal獲得とdiamond獲得(paradox発生によるクリア)のどちらも大きな達成感を得られた。

The Oobleck Conundrum/Transfer

簡単そうに見えて難しく、唯一ステージ飛ばして次のステージへと進んだので印象に残っている。後に複数日に及ぶ数時間試行錯誤で改めてこのステージクリアができて、クリアにかかった時間が最も長くなったステージでもある。しかしながら、おそらく開発者想定外方法でのクリアであり。初期画面から右の方へ一切行かずにOobleckさえ使用しないというクリア方法スッキリしなかった。といっても、開発者の想定を無視するゴリ押し的なクリアを見つけたのはこのステージだけだった。

The Last Tapestry/Flight

The Void/Escalateと似たコンセプトのステージだが、釜(JavaにおけるThread?)のギミックを利用したより複雑な構成となっている。高い位置にあるゴールを目指すのは、やはりFlightというステージ名そのものだった。

最後

この記事投稿する前にエンディングを見れていないことに気づいた。

全ステージクリア(全てのCrystal取得)したからと、この記事執筆するためにネタバレを気にせず攻略情報を調べていたけど、エンディングなんてわかる訳ねえよ。The Void/Trilemmaの最後にCrystal取得とは関係ない意味深なオブジェクトがあることには気づいていたけど……。ちなみに、私のSteam実績によるとdiamondとrubieの全取得はできてないけれども、もう取得する気力はない。パズルゲームガチ勢にとっては、実績全解除を目指さない私は軟弱者に映るのだろうか? 攻略を調べずに実績全解除できる人は、高い論理的思考能力を有しているに違いない。

2022-01-11

Javaデプロイなんだけど相談に乗ってください

未だに warデプロイするのはなんでなんですか?

.java ファイルコンパイルして .class を配布じゃダメなんですか?

2021-12-28

パソコンJAVAを入れる方法を教えて下さい

Googleで調べた通りに何度やっても

個人情報を入れるページに行ってしま

パソコンJAVAを入れる方法を教えて下さい

Googleで調べた通りに何度やっても

個人情報を入れるページに行ってしま

プログラマとしての失敗

当初はWeb制作Javaパッケージソフトを動かせるようにということだったが、その後、そのパッケージで扱えない内容をPHPで開発することになった。

しかし、そのパッケージPHPとの共存を前提にしておらず、ライブラリの競合でなかなか動かせなかった。

それほど有名ではないパッケージソフト資料も少なく、社内に聞いてもあまり回答してもらえなかった。

頑張って動かしたと思ったが、デプロイ時にうまく動かず、障害が発生してしまった。

プログラマ経験初期の頃で自分経験が不足していたことも大きいが、早めにできないと言って声を上げるべきだった。

全体的にプロジェクトマネジメント機能しておらず、ただスケジュールを急かされる中で間に合わせようとして失敗した。

上司相談たかったが、打ち合わせ等でいないことが多かった。その後、すぐに上司転職してしまった。転職活動もあって、いないことが多かったのかもしれない。

プログラマ経験の中で最悪の失敗である

anond:20211228071330

Javaって会員登録みたいなのをしないとインストールできませんか?

2021-12-22

anond:20211222105104

おっしゃるとおり。SIなんかでPythonはあまり使わないと思う

とはいえプログラミング経験者にPythonから教えるのはそれなりに理にかなってると思うんだよね。

JavaC++だとややこしくてつまづきそう

2021-12-20

SESで2ヶ月の研修受けたアラサーだけど経歴詐称面談練習途中に退職の旨伝えた

親切な会社だったとは思う。なんせ職歴日雇い派遣のみで、29歳で、コミュ障で、偏差値40の高校中退(一応高認のみ取ってる)の生きてる価値のないゴミの様なブラック人材を採ってくれたのだ。

このSES入社した俺は未経験者をかき集めて2ヶ月の研修を行って簡単アプリケーションを作った。そこまでは良かった。その後に、研修内容を2年間のプロジェクト詐称して経歴盛って派遣先に飛ばす面談の予行演習をやらされた。

俺の中で何かが折れる音がした。

人事も研修講師も優しくて悪い人では無かった。日雇い派遣で根っからクズも上辺だけ人が良さそうなクズも見てきたが、この会社の人たちは本当に素朴で人の良さそうな感じの人達だった。が、仕事はしたいが、経歴を詐称して履きなれない下駄を履いてまで食い込みたいとは思わない。何も最初から開発じゃなくても、保守運用なりテスターなり雑用なり、未経験者でも出来る事から少しずつステップアップする気でいた。「経歴詐称して潜り込めたとしても、詐称した経歴に見合う実力も無いし、私自身が就業先で軋轢を生む原因になる。よって会社の信用も傷つける。私にはついていけそうにないので、大変申し訳無いが退職させていただく。」そんな旨を恐怖で震えながら俺は言った。俺が辞める旨を伝えても人事は怒鳴り散らすこともなく、困惑と当惑と悲哀を秘めた表情で引き止められた。「2年以内に退職する場合研修費用100万を返還すること」みたいな誓約書を書かされるSESもあるらしい。俺の所はそういうことは一切なかった

採用者の中で、Java bronzeとITパスポートを取得してきたのは(IT系の中では簡単認定試験ではあるが)俺だけだったらしい。多くの人が躓いていた研修(そうか?)のぺースにも着いてこれてた。一番期待してたから、考え直してくれないか。色んな人を見てきたけど増田さんはやっていけるタイプの人だ。そんな様なことを言われた。経歴詐称してまで働きたくないボロは着てても心は錦のような高潔動機ではなくて、ただただ心が折れてしまった。しかし俺の退職意志は揺るがなかった。

頑なな退職意志を汲んでもらい、本日退職した。

明日から国保に加入して、国民年金手続きもしてこなければならない。

俺この先どうしよう。

2021-12-17

ぶっちゃけ Log4j 2 の対応どうですか

多くの方がご存知の通り、Log4j 2 (以下面倒なので Log4j) の脆弱性 CVE-2021-44228 が公開されて一週間が経過しようとしています

ちなみに、数時間前に修正不備として CVE-2021-45046 が出ています。formatMsgNoLookups による対策はできません。大変ですね。皆さん対応のほう、いかがでしょうか。

今回の難所の一つに影響範囲特定があると思います

組織Java アプリケーションを開発している場合は、把握しやすいかもしれません。ですが、Elasticsearch や Apache SOLR などのソフトウェアなど、インフラ基盤として利用しているソフトウェアへの影響を確かめるのはなかなか大変な作業だったのではないでしょうか(もちろん素早くアナウンスを出してくれたところもありますが、ゼロデイだったこと、US は夜であったこからアナウンスを待つ前に対応必要だったところもあると思います)。

OSS なら依存パッケージ比較的調べやすいですが、SplunkSalesforce のようなアプライアンス製品などはどうでしょうスイッチルーターは? クライアントJava アプリケーションもですね。さらに、業務委託先はどうでしょう。考えることが山積みです。

ソフトウェアサプライチェーン管理の難しさを痛感した組織も多いのではないかと思います

ゼロデイだったため、最初対策方法についてもまとまっておらず、間違った対策方法が流布しているのも見かけました。

特定クラスファイルを削除する」という正しい対策も、「えっ マジかよ。クラスファイル消して他に影響でないのかよ。それはないだろ。」と思った人もいると思います。私は思いました。なんだその対策

その他 Web Application Firewallバイパスなど、ご対応された皆さん、本当に大変だったと思いますお疲れ様です。

ところで、私はもっと日本人情報共有しろよと思いました。

これも全部 Wizard Bible 事件アラートループ事件の影響なんだろうけど、それにしても具体的な攻撃手法が共有されてなさすぎだろ。

最初てっきり LDAP 閉じたり、WAF で jndi:ldap を弾けばいいと思ってたよ。対象を把握して全部対応するの大変だから、まずはそれでいこうと思ってたよ。全然ダメじゃん。RMIかいうよく分からないパターンもあるし、${lower} とか使って WAF バイパスするとかしらねーよ。そんなのできんのかよ。

攻撃メカニズムなどを解説してくれている記事があれば、最初からわず頑張ってアップデートする方向に舵取れたと思う。

誰も情報共有しないとセキュリティ業界衰退しますよ。人材育成もできないし。サイバー人材育成不足とか言う前に、ちゃんと然るべきところに意見言いましょうよ。

小学校で配られた端末のセキュリティ突破話題というのもニュースで見たし、放っておくと規制の方向にエスカレートしてしまうと思いますよ。

そういえば情報共有でいうと CISA は動きが素早かった。最初個人gist に影響のあるソフトウェアがまとめられていたけど、数日後には https://github.com/cisagov/log4j-affected-db網羅され始めた。Pull Request も取り込んでいて、素晴らしい。

一方で JVN DB の方はどうでしょうhttps://jvn.jp/vu/JVNVU96768815/

報告を受けている製品しか書いていないのですかね。国内製品もっと影響あると思うし、公表している製品もあると思うんですが。積極的にまとめていかないんですかね。こんな状態だと、組織は影響範囲を調べるのに苦労しますよ。

…と愚痴をダラダラと書いてしまって申し訳ない。

セキュリティ業界このままじゃダメだと思うのですが、なにか動きはあるんですか?」「皆さん利用している製品ソフトウェアの把握どうされているんですか? 」の2点をお聞きしたかったのです。

2021-12-16

anond:20211216152951

Webプログラミングやるなら今はpython(django)とかじゃないの

案件が多いのとエラーで詰まったときのぐぐりやすさで言えばrubyphp

そのへんの需要求人サイトプログラマ検索かけて、増田面白そうだと思った会社求人広告見てなんの言語が求められてるか確かめるといい

javaが多いの?聞いたことない

プログラミング言語別稼げる平均年収ランキングではR言語だった

https://proengineer.internous.co.jp/content/columnfeature/19004

RはWebプログラミング向きではないと思うから、やっぱrubypythonじゃないかねえ

anond:20211216152507

具体的な情報サンクス

他のバカよりは詳しそうだからお尋ねしたいんだけど、日本での求人数ってjavaが一番多いじゃん?個人開発ってjavaメインでやった方が好ましいの?

2021-12-14

Log4j全然騒がない弊社

割と大きめの会社なんだけどLog4j全然騒いでない。

知らないところでやってんのかなーって思ったけどどうやら本当に他人事みたい。

金曜日に発覚して以降、世間だと土日潰して対応してたりするのに

弊社だと月曜日夕方ぐらいに「こんな脆弱性あるので対象の人は対応してください」とかメールが来て終わり。

うちの部署Java使ってないか関係無いんだけど、他の部署標準的Java使ってるはずなんだけど・・・

そもそも社内システムJavaからLog4j使ってると思うんだけど何の連絡も無いぞ・・・

俺の知らないところでJavaって二つあったりするの?

2021-12-13

anond:20211213230838

大学Pascal,C,Java,prologを触って、後は趣味

今も仕事でやってるわけではない。

恋愛高校以来してないので、自分もどうしたらいいのか教えて欲しい。

三十路高卒フリーター職業訓練を受けてITエンジニアになる

のって無謀?

とりあえず働きながらjava勉強はしてる

2021-12-11

自分よりできる人までlog4j脆弱性の経緯の理解が間違ってる気がしてもにょる

log4j自体問題なのは当然だけど、

ブコメ分散オブジェクト指向と書いてる人がいたけど、

その辺の指摘が正しいのではないかと思うんだけど

そもそもJava分散オブジェクト指向流行したのが問題歴史的な発端だと思ってる

まりRMI(いわゆるRPC)とかCORBA(それは紛れもなくヤツさではないです)とかHORB(産総研だっけ?)とか、

ネットワーク透過だのRPCスケルトンだの、そういう話が発端な気がする

から、なんでそんな変なことわざわざやるの?という話は、

そういう分散オブジェクト指向だのネットワーク透過だの、

まりインターネット上ではマシンは当然ネットワークで繋がってはいるけど、

別々のマシンであって、マシンAとマシンBは分断されている

でも、クラスタリングとかされたネットワークの中で、

マシンAのJavaプロセスマシンB上のJavaクラスを読み込んで実行できたり、

マシンBに肩代わりさせても、それを意識しないように書けると便利だよね、

という話であって、

ぶっちゃけ、今になっても、

例えば異なる言語プロセス通信するためにRPCはあるし、

世の中的に、今はJavaよりイケてると思われてる言語にも、この手のネットワーク透過にする機能とか、

よー知らんけど、クラウドコンピューティング()だなんだの機能としてあっても不思議ではない気がする

昔で言うなら、ソニーのTelescriptとかよー知らんけど、

エージェントだのエージェント指向だのが流行したけど、

ネットワーク上の複数マシン渡り歩くプロセスというかプログラムみたいなのが実現できるのって、

今になって考えてみると脆弱性の温床でしかない気がするし、理解はできる

理解はできるが、じゃあ、まったくメリットがないのかというとそうでもなくて、

しかし、Javaのかつての流行放置されたままになってるとか、そういう問題はあるわけで、

その辺がセブン&アイだったかの、Struts2のOGNLインジェクションもそんな感じで、

ぶっちゃけマシンAからHTTPマシンBのJavaクラスとか実行できたら便利だよね、みたいな話で、

でも、それはマシンAとマシンBが信頼関係があり、

マシンAとマシンBが外のネットワークと敷居があるという前提があるから問題がないのであって、

CGIでもよくあったけど、サーバー側の任意コマンドを実行できるというのは、

サーバー状態監視するとかには便利だけど、当たり前だけど危険だよね、という話であって

眠くてまとまらない…

おやすみ

あ、言い忘れるところだった

知らんけど

Log4jがなんで人気だったのかそもそも

Javaには純正のLoggerがあって

まぁ確かに使いにくいけど自分で使いやすいようにラッパー作ればそれで十分なのに

なぜか猫も杓子もLog4j使いたがってて昔から嫌いだった

別にしたことしてないし大した機能も無いくせに

ログ出力」みたいな全ソースに影響が出るようなライブラリでなぜみんな使いたがってたのかホント

今回みたいなことはさすがに想定外だろうけど

そうでなくてもサポート終わりますとか、依存関係で使えなくなりましたとかあると全部のソース書き換えとか影響デカすぎでしょ

なるべく使わないようにしてきたけど依存関係対処必要だしホントむかつく

そしてこれでJavaは本当に終わってしまうのかも、と思うと悲しさもある

2021-12-09

anond:20211209080050

メイドラゴンみたいに、あの手の会社Python採用って少ない気がする

なんとなくJava使ってそう(偏見

あと、なんだかんだ人材獲得には困らないPHPとか…(ただし、人材の質は問わないとする

というか、JavaPHP自分は素晴らしい言語だとは思うんだけどね

言語というか、道具自体は何も悪くないと思うんだよね

いつだって、道具よりは使う人間の側に問題があるわけで…

2021-12-06

経験プログラミング言語で職を得るにはどうすれば?

JavaプログラマーGoでは業務経験だけど独学でアプリサービスを作ったとかプログラミング教室で学んだといっても、Go業務で使うにあたって守らなければならないことが我流で身につくとは限らないしプログラミング教室なんて使えるわけがないと採用側は考える。

得意なJavaで職を探せばいいじゃないですか。なぜ未経験言語で職探しという縛りプレイをしてるんですか?なめてるんですか?って普通は思う。

2021-12-05

ジャワカレーって日本人勝手に作ったの?

"Java Curry"でググっても"Japanese Curry"っ表示されるやで

2021-12-04

anond:20211203111907

当方エンジニアとは程遠い位置にいる文系事務職なんだけど、はてな界隈プログラミング話題キャッキャウフフしているのを指くわえて見てるのが我慢ならなくなって、HTMLからJavascriptPHPPythonまでざっと勉強して、ちょっとだけ話題について行けるようになった。今はC#JAVAやってる。

世界を広げてくれたはてな(の人たち)に感謝してる。

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