はてなキーワード: javaとは
おっ! 小学生の頃になぜか僕だけ別室で受けさせられたテストの、教室の箱に飴玉を隠してA子ちゃんが教室を出て行った後僕が飴玉を食べて、戻ってきたA子ちゃんが飴玉を探すときに最初にする行動は? という問いかな
このブコメでaukusoeが自身のアスペ気質を明らかにしてるけど
昨日の増田でのやり取りを見てたら、ちょっと信じられなくなった
id:aukusoe 現実ではこうなっても互いの情報の差異が大きいなあ、と思って一か
aukusoeに自分の文章を非難されたと勘違いした増田に対しての冷静な対応
これがアスペにできることとは思えん
ちょっと、気になってaukusoeのブコメを漁ってたら、こんなのも出てきた
この増田でなんか、プログラムの難しい話を何度もやりとりした結果
ある程度分かった気でいたけど、全然わかってなかった。
指定されたインターフェイスを継承してクラスを作って、実装したクラスをそのままパラメータとして渡せるなんて知らなかったよ。
元増田に「実装したクラスをそのままパラメータとして渡せる」という知見を啓蒙することに成功してる。
(なにがなにやらさっぱりわからんけど)
これすごくね
アスペにできることじゃないだろ
cider_kondo すげえ。増田でちゃんと解決できてる。大昔のBBSでのやりとり見てるみたいだ(大昔にオブジェクト指向はともかく、Javaはなかったけど
シダコンも誉めてるし
aukusoeって実はアスペじゃない?
まーーでもきっもいことにはかわらんからきっもいわ
http://anond.hatelabo.jp/20161017031727
老婆心ながら,おそらくSIer関係を目指しているだろう情報系?学生へのアドバイス
どの大学でも学生課は糞対応なので,カウンセラー通して学生課に学費免除なり,奨学金なり,対応を仰げ.
このままいくと研究室・ゼミ配属で積みそうなにおいするから,中退・途中就職(大学頼らない就職)の選択肢も考えておけ.
- http://dotinstall.com/ title: dotinstall]
- http://gacco.org/ title: gacco]
- https://schoo.jp/ title: schoo]
SIerに関係ないと思われるが,Web系への選択肢も拡がるしな.騙されたとおもってやっておけ.
最近だと技術文書をMarkdown で書く場合も多いし知っておいて損ないで.
ドットインストールにも授業がある.
基本情報持ってるなら知ってると思うが,
慣れておくといいで.ついでに言語はC++でもいいが,SIerならJava8勉強しておけ.
多分授業だけだと,実際のコード使わないと思うので,自分でインストールして使ってみるとええで.
MySQLインストールして使えるようにしておけ.基本コマンドだけええで.
後々データベースの資格(シルバー,ゴールド)にもつながるしな.
基本情報持ってるならある程度知ってると思うが,低レイヤのIP/TCP, UDPのソケット通信をCでもJavaでも書けるようにしておくとええで.
開発の話あるしね
ドットインストールにもある.
今までやったこと忘れるのもったいないし,他人に見せる意味でも技術ブログやっておけ.毎日更新とかいらんで.
Linuxインストールしたレベルで,やったことならなんでもええで.
技術者の就職面接で,(関係ない)バイトしてました,サークルやってましたじゃあんま意味ないからな.
録画して好きな時間観て見ておけ.
情報系の授業もある.
コード書くようになったら騙されたと思って読んどけ.
自分の中の名著にしておけ.
スカウト来たら,入らないにしても会ってみるとええで.
バイト大事なのはわかるが,大学の目的は,知識で選択肢拡げるというのもあるので,頑張って生きるんやで.
じゃあの.
スマホで2chmateでスレ読み込もうとすると高頻度で「java.io.IOException....」というエラーが表示されて見れない現象
スマホでYouTube見てると動画の先読みが追い付かず止まる現象
スマホでブラウジングをしてるとなかなかページが読み込まれない現象
に悩まされていた
PCでの1080p60fpsのYouTube動画の再生は余裕
そもそもルーターを変える前はまともに見れていた
3か月くらいは我慢して使っているうちに直ることを期待していたのだが、そろそろ原因を探すことにした
WiFi混雑チェッカー(https://play.google.com/store/apps/details?id=jp.iodata.wififinder&hl=ja)で見たところ周りにはほとんど5Ghzの通信はなかったのだが
5Ghzのチャネル変更をした
→変わらず
→全て解消
2chmateの例のエラーも出ない
ブラウジングも快適
なんでですか
無線通信に強い方教えてください
Node.jsってクソなんでしょ?
socket.ioとか使い物にならないらしいじゃん。
npmでインストールとアンインストールできるだけの知識さえあればいいんでしょ。
golangを使えばいいの?
5ページほどの静的サイトを作るのにgolang使ってる人もいるそうだけどPHPじゃダメなの?
経営者から見たらエンジニアの自己満足なだけで無駄に金払ってるようなものじゃない?
は?scala?
結局、大企業なんて基本的にAラン大卒かネット界で知名度のある限られた人しか入社できないんだからgolangもscalaも覚えるだけ無駄なんだよ。
結局利用できる人が多いPHPでWebサイトを作ればいいよね。
俺は33歳から37歳までWebデザイナー兼コーダーの仕事をしてて金を貯めるために期間工に移った。
半年契約で数カ所をまわって2年弱で300万貯めてから辞めた。
普段かジョギングと筋トレをやってたから30代後半にしては体力があってきちんと休息を取れば
次の日に影響するようなこともなかったよ。休日はJavaに注力した。
40歳という年齢ではWeb業界での雇用は難しいからポートレート用にAndroidアプリをいくつか作った。
それから3ヶ月くらいはコンビニのバイトをしながらブログでの収入で食いつないでたなあ。
Java関連の仕事で就職して2年くらいはJava一筋で勉強しまくった。
42歳で自己資本200万で起業してアプリ制作とWeb制作で今に至るってところ。
期間工でもバイトでもなんでもいいから頑張って現金は持っておいたほうがいい。
今は期間工のときより収入が多いけど何が起きるかわからないからね。
考える前に行動したほうがいいよ。だいたいのことはどうにかなる。
とある業界向けに自社で開発した製品を売ってSIもやるし保守や購入後のサポートもやる。
自社製品は全て自社内で作るのではなく、製品の一部の機能のみをアウトソーシングしたりする。
ちなみにアウトソーシングした部分の設計書やコードはメールで一括送信方式。
(1)作業に使うPCのメモリ容量とディスプレイの画素数と枚数を教えてください。
4GBのCorei5のWindowsのノートPC1台。これっきり。
ディスプレイは余っていれば支給されるが余ってない場合は支給されない。
新たに購入したりレンタルしたりすることはない。
余ってるディスプレイも15インチくらいの昔ながらの正方形に近いタイプ。
(2)設計やコーディングや試験項目のレビューを行う体制が整っていますか? 「レビューをしてください」とお願いしたらしてくれるのではなく、組織としてレビューを行うように決まっていますか?
設計やコードレビューはチーム全員がやるわけではなく、レビュアーとレビューイ数人でやる。
同じ製品のチームであっても設計や実装の担当でない人はレビューには呼ばれない。でもリリース後はそんな呼ばれなかった人ががんばって保守をする。
知識や認識の共有、議論の場としてではなく間違い探しや足りない項目などを指摘することに時間の大半を費やしている。
コードをコミットしても(なおGitではない)、メールや口頭でお願いしないとレビューしてくれない。レビューしても何も指摘してくれない。
(3)開発用の仮想環境・試験用の仮想環境・本番の環境の3つは少なくとも用意されていますか? また、それらを構築するためのマニュアルが整備されていたり、スクリプト等で自動的に構築されるようにしていますか?
新しい人が来るたびに開発環境を整えるのに誰かがつきっきりで1日費やしている。
(4)派遣社員・契約社員・正社員を問わず、定期的に不満や改善してほしい点を吸い上げるためのミーティングの場を設けていますか?
(5)開発用のPCは、OSがWindows/Mac/Linuxなど選べるかどうか?キーボードがJISかUSか選べるかどうか?
Windowsのみ。稼働環境としてのLinuxやMacなはあるが開発環境としてなんて使わせてもらえるわけがない。
6)職場にウォーターサーバーはあるか? コーヒーやお茶などは無料か? また、椅子は1万円以下のものではなく、少なくとも数万円以上のものを貸与しているか? パーティションはあるか?
お湯は出る。椅子はどこにでもある背もたれの低いオフィス用の小さい椅子。多分4000円くらい。
(7)スーツや、ワイシャツ&スラックス着用が必須か? また、男性従業員のみがそうであって、女性従業員は比較的自由な服装か?
(8)言語のバージョンは、最新のメジャーバージョンに比べてせめて1世代前程度か?(例えばJavaなら7以上、PHPなら5.6以上か?)
http://anond.hatelabo.jp/20160902031012
はてブで批判してる人たちよりよほど志のある学生さんだと思うので、いろいろ書いてみます。おっさんのたわ言ではありますが、元記事の人にすこしでもヒントになればと思って。
まず、日本の大学で勉強しても実用的なソフトウェアが書けるようにはなりません。どういうことかというと、「情報系の大学に行けば○○が作れるようになる!」という世間一般の期待と、実際に大学で教えている内容には大きなギャップがあるということです。
これは大学が悪いのではなく、大学はそもそもそういうものであって、それが世間に認知されてないというだけです。
具体的に挙げてみましょう。
大学で教えてる内容ってこんな感じなので、ゲームやアプリやサービスを作ることが目的の人から見ると、役に立たない内容にしか見えませんし、実際たいして役に立ちません。その証拠に、大学の情報系学科を出ていないのにゲームやiOSアプリやWebサービスを作っている人はゴマンといるし、逆に日本の大学の先生でゲームやiOSアプリやWebサービスを作れる人はほとんどいません。
これは重要なことなのでもう一度書きますが、日本の大学の先生でゲームやアプリやサービスを作れる人はほとんどいません。大学の先生が得意なのは、プログラムを書くことではなく論文を書くことです。論文のためにプログラムを書くことはありますが、あくまでおまけです。
そのため、大学で勉強してもゲームやアプリやサービスが作れるようにはなりません。だって教えている側の先生が、ゲームやアプリやサービスを作ったこともなければ、作り方も知らないんだから。
そういう経験のない人たちばかりですよ、日本の大学の先生って。そんな人たちの授業を受けて、アプリやサービスが作れるようになると思うほうがおかしいでしょう。
ためしに、先生方のTwitterアカウント名でGithubを検索してみてください。いまどきGithubにアカウントがないとか、あったとしてもTestCaseすらないコードとか、そんなものばかりです。「研究内容をライバルに知られるわけにはいかないからGithubは使わない」という言い訳する人がいそう。けど、本当はGitが使えないだけでしょ?
あるいは、先生方の個人ページや研究室の紹介ページを開いて、HTMLソースを見てみてください。doctype宣言がないとか、viewportの指定がないとか、Pタグの中にULタグを使ってるとか、そんなのばかりです。HTMLすらろくに書けない人が、Webアプリを作れると思いますか?きっとXSSもCSRFも知らないですよ。
ですので、そういうことを勉強したいなら、ベンチャーやIT系企業に入るべきです。大学でそういうことを勉強しようとしても、教えられる人がいないから無理。
(「大学はそんなことを教える場所ではない!」と怒る人いると思うけど、教えられる先生がいないという事実をごまかすために怒ってるだけだから。)
とはいっても、大学の先生がプログラムがいっさい書けないというわけではないです。彼らが得意なのは、コンパイラやインタプリタやOSやソルバを作ることです。これらも実用的なソフトウェアと言えなくはありませんが、ゲームやアプリやサービスとはジャンルが大きく違います。
そのため、大学の情報系学科に進めばコンパイラやOSや機械学習ライブラリを書けるようにはなるかもしれませんが、それはゲームやアプリやサービスではないので、繰り返しになりますがそれらを作りたい人には大学は向きません。
じゃあ大学で授業を受けるのってムダなのかというと、必ずしもそうではないです。
大学で教えている内容って、ゲームやiOSアプリやWebサービスが一通り作れるようになってから、その先を目指すときになって初めて必要になることが多いです。たとえば、
こういうときになって、初めて大学で教わった内容が生きてきます。逆にいうと、そういう状況にならないと、大学で教わった内容は生きてこないと言えます。(情報系の学科で学んでいるなら、ライブラリや言語やOSを「使う人」ではなく「作る人」にぜひともなってほしいですね。)
元増田は、社会に役立つ実用的なソフトウェアを作りたいようです。しかし残念なことに、大学が教えている内容はその目的には合致していないことを説明しました。
こういう事情なので、元増田には大学をドロップアウトしてIT系の会社に入社することをお勧めします。ドロップアウトが難しいなら、インターンやバイトでなんとしても入り込むことです。
入るべき会社は、教育に力を入れている会社です。20人未満の小さな会社では教育に力を入れている余裕はないので、小さな会社はやめたほうがいいです。簡単にぐぐってみたところ、はてなやPixivやクックパッドやDeNAやドワンゴは教育制度が確立しているようです(違ってたらごめん)。そういった会社に入ったほうが、大学の授業を受けるよりも、元増田の目的にかなうのは間違いありません。
そして何年か働いて、iOSアプリやWebサービスが一通り作れるようになったら、大学に入り直すことです。これはとても効果的なので、元増田には強くお勧めします。
上で説明したように、大学というところは、ゲームやアプリやサービスの作り方は教えてくれず、それらが作れるようになって初めて役に立つことを教えてくれます。そのため、元増田はIT系の会社に入ってアプリやサービスの作り方を勉強し、それらが作れるようになってから再度大学の門をたたくのが、いちばん効率的です。
なお繰り返しますが、入るべき会社は「教育に力を入れている会社」です。今のIT系企業では、インターン生を「格安で使えるバイト君」としか見なしていない会社が多すぎます。そういう会社は、コストが掛かることはいやがるので、教育もろくにはしてくれません。逆に教育に力を入れている会社では、インターン制度を「将来の戦力を選別する期間」と見なしています。
残念ながら、そういう会社は東京に集中しているようです。例外は京都のはてなくらいでしょうか。地方の大学生にとってはつらい現実なので、はてなやPixivやドワンゴは地方でのインターン開催をお願いします。あとレベル5は九大と九工大の学生を鍛えてあげてください。
余談ですが、学生さんにひとこと:
インターンやバイトで潜り込む先の会社を選ぶときは、就活と同じような時間をかけて選んでください。バイトだからとかインターンだからという軽い気持ちで会社を選ぶ大学生が多いから、それを食い物にしている悪質経営者があとを立ちません。インターン生が「格安の学生バイト」として使われている現状を是正するために、学生のほうでも注意してください。
ドロップアウトを進めた手前、書こうと思ったけど、長すぎるのでやめた。
リツイートが100超えたら書く。
別に本がなければ勉強できないわけじゃないよ。増田は考えるのが苦手なタイプと見た。
現に、文章が読みづらく、頭にとっさに思い浮かんだことを数珠繋ぎで書いているもんな。
悪く言ってるわけじゃない。そういうタイプは知識を蓄えるよりも、実際に手を動かしたほうが身につく。
paiza.ioってサイトがある。そこで自分の学びたい言語を選択したら問題が色々あるから、それを解いていけば結構そのモヤモヤは解消されるとおもう。
そんな頻繁にすることじゃないから、新卒で入社したら先輩にある程度確認してもらって構築できるから。
恐らく一番簡単な言語だから。Webサイト開発に使う言語なので、就職先のバリエーションも広い。
なんか時々Javaとか言ってるけど、それ学校で教えてるだけであって、お前が将来したい仕事とリンクしているわけじゃないだろ?
俺は業界未経験でWeb業界に入ったけど、この業界は大概の場合、デスマーチとは無縁だから(ないとは言っていない)、SIerとかソフトハウスとかそういう地獄よりはまだ生ぬるいぞ。
ソフトだってeclipseがどうのって言ってるけどそんなの要らない。terapadとかsakuraeditorみたいなただのテキストエディタでいい。
東京都内で、一般派遣のPGとして何年か働いてきました。時給は2600円前後の案件が多かったです。(個人的にはもっと上げたいところですが、なかなか叶っていません)
SIer系(社内SE含む)は総じてクソだという印象を抱いていますので、バイアスがあるかもしれません。
どんな職種や就業形態であれ、何年かやっていると誰でも、「この条件を満たす就業先はアウトだから、ここで働いてはいけないな」という判断基準が自分の中で確立されてくるものだと思います。
自分のそのような判断基準を整理する意味合いも含めて、「就業先(派遣先)との面談の際、これを聞けば良いな」と思う質問項目を書き出してみようと思います。
typoはご容赦ください。
(1)作業に使うPCのメモリ容量とディスプレイの画素数と枚数を教えてください。
メモリ8GB未満→論外。「我々は、たかだか数千円の費用をケチって従業員の作業効率や快適性を下げているバカの集団です」と言っているも同然。
フルHD未満→論外。「我々は、たかだか1〜2万円の日用をケチって(同上)」
フルHD以上のディスプレイが1枚→可もなく不可もなく。ノートPCと外部ディスプレイ(フルHD以上)ならまあ可か。
(2)設計やコーディングや試験項目のレビューを行う体制が整っていますか? 「レビューをしてください」とお願いしたらしてくれるのではなく、組織としてレビューを行うように決まっていますか?
NO→論外。開発をする一個人が判断ミスや作業ミスをしたり、たまたま疲れていて良い判断ができなかったりした場合、責任が開発者個人に降りかかってきます。時給3倍くれるならともかく、2600程度でそんな責任を負いたくありません。
YES→OK
(3)開発用の仮想環境・試験用の仮想環境・本番の環境の3つは少なくとも用意されていますか? また、それらを構築するためのマニュアルが整備されていたり、スクリプト等で自動的に構築されるようにしていますか?
全てNO→アウト。開発環境を整備する能力もやる気も無い企業ということです。
条件つきYES→まあまあ良い。
完全にYES→すばらしい。
(4)派遣社員・契約社員・正社員を問わず、定期的に不満や改善してほしい点を吸い上げるためのミーティングの場を設けていますか?
NO→企業としての体を成していないので、行くべきではない。
(5)開発用のPCは、OSがWindows/Mac/Linuxなど選べるかどうか?キーボードがJISかUSか選べるかどうか?
NO→特定のOSでないと作業ができない程度の体制でしかないということなので、行くべきではない。
(6)職場にウォーターサーバーはあるか? コーヒーやお茶などは無料か? また、椅子は1万円以下のものではなく、少なくとも数万円以上のものを貸与しているか? パーティションはあるか?
NO→開発者にとって快適な環境を整えようという気が無い。行くべきではない。
全てYES→作業しやすい環境を整えようと言う意思は感じられる。好ましい。
(7)スーツや、ワイシャツ&スラックス着用が必須か? また、男性従業員のみがそうであって、女性従業員は比較的自由な服装か?
両方ともYES→わざわざ窮屈でダサい格好を男性社員のみに強いている上、公然と男女差別を行っている反社会的企業。決して行くべきではない。社会悪。
両方NO→合格
(8)言語のバージョンは、最新のメジャーバージョンに比べてせめて1世代前程度か?(例えばJavaなら7以上、PHPなら5.6以上か?)
NO→新しいバージョンにキャッチアップする能力が組織として備わっていない。注意を要する。
——
学問の徒として生きるのは完全に諦めてるし、大学もはや無駄と思ってるけど、無能でない俺ですら無理と思う道であってこんな補助金出してガバガバ教育してる日本金の使い方無駄すぎ……とは思う
もっとちゃんとした就職予備校設置してほしいけどそういう変革は無理なんだろう。
そういう話じゃないのか。今回はそういう話ではないです。
パソコンのご本を読めるようになるのが難しい、という感じのお話。独学? が難しい。
パソコンのご本、あんまり知識がちゃんとしてない人は読めないようになっているっぽい。
後述するけど、わかりやすいように作られたスクショまみれの本とか。
全体的なビジョンがないわけ。実際の世界がそれで動いてるようなビジョンが。だから読めない。
僕は社会の役に立つことを直接学びたかったよ。社会がどういう風に動いてるかみたいな話をさア
そういうのがあれば、パソコンのご本を読めるようになるんだろうなという感覚がある。
実務の話!! 実際に「IT系のおしごと」というのがやってるような話で、特にコーディングに直接絡んでくるようなもの。
技術の実態みたいなやつ。そういうのは学校で教わらないんですよね。
優秀な人はバイトとかやって知ってるっぽいけど、それみんなバイトでやるの? みんなはやらんでしょ。
というかバイトみたいな形で社会参画しないと学べない知識だったら、それはそれでやばくないですか? という提起でもあります。
はてな民の人IT系で働いてる人多そうだけど、そういうところ、そういうところなんですよね。
そういう知識があれば、大学の図書館に置いてあるような「技術本」っぽいやつ? の扱い方がわかるんだろうなーと思う。
いや別にやってきたことは何も無駄にはなってないんだけど。ハードよりの話もしたり、基本的な数学とか物理とか電子とか論理学とかシャノンの話とか。
でも、パチョコンは実学も以前に学問というか、実際に使えてナンボな部分が(いまこの想定してる話では)デカすぎるのに、
そんな環境的な、Linuxでサバ建てしましょーねーみたいな話も三年後期になるまでやらなくて、そんなん人が立ててるの見たら一発で覚えられることだし、みたいな。
みたいな。
そう、なんというか本が読めないんですよね。これ人がいたら一発なのに……というようなことだらけで、絶対間違った道に来ちゃってるよという感じがする。
↑
(焦ってるんじゃないのか?一冊だけをしっかりやれよ。と思ったりするし、言われそうだけど、それが一番の正解なのかな…やっぱり)
つーか本読みながらチンタラチンタラ比較するの嫌になるわけですよな。わかる。
スクショがいっぱい貼ってあったからといってわかりやすくなるわけではないし……。
てかスクショ貼ってあると古くなるとすぐ対応できなくなるから本当に困りますわよね、という話もあります。
僕が何を期待しているのかって?それは実務のうちで難しいお話が出てこない、環境の話、という感じ。
プログラミングをやれと言われても、それIDEはなによ?っつー話ですわな。WindowsだとVisual Studioとかになるのかな。
Eclipseはよくわからない。Javaでアプリ作るっていうのそんなに真剣にやったことないし……
っていうかそもそもプログラミングのお仕事??がよくできる人たちはプログラミングで何をしているの?
アプリを作っているんですか?それだったらヴィジュアルモードのチェックが簡単なやつ必要だよね、という話で。
あるいは別にアプリなんか作ってないのかもしれないよな。とすると何かしらサーバーを使って捌くようなシステム・サービスの細かい調節のお手伝いをしてたりするわけだ。
その具体的なトラフィックがどうだからどうのこうの、というお話をしたり、アクセスの仕方がどうの脆弱性がどうの、新しい技術がどうの、という話だと思うんですけど、
端的に言ってそういう話がぜんぜんわからない。そういう話がわかるとスンナリ進めるはずなんだけどな~と思いながら。
親の金で大学行ってるのに、なんかもっとこううまくできるはずなのに……という感じでつらい。
僕は人の役に立つ仕事のおべんきょおがしたいんですよ。なのに図書館で借りられる本、自分が何を知らないから理解できないのかもよくわからない感じで……
日経Linuxとか読んでみて、去年のやつにプロセスとかスレッドの説明あったけど、僕はまだOSの基本的な話もマトモに理解できていないなので、
そういう人間には難しすぎる (というか抽象的すぎてかなりわからなかった) スケジューリングの話はされたので、プロセスが対象なの?とか、そもそもCPUがアセンブリ命令ADDとか?を実行しつつ、
OSがそのアセンブリ命令をセットにした実行単位を用意して、OSがスケジューリングしてくれる、みたいな話なのかな……? と思った
(でも明らかにプロセスとスレッドがわからない人間には伝わらないような程度のフワフワ説明しかなくて、これ、誰向けだ?とか思ったけど、やっぱり身近に聞ける人間がいる人のための本なのかもしれないですなあ)。
そういうの、本とか、自分の足りない知識とか、おそらくその辺にあるんだろうな~と思いながら、でもバイトで働くにも微妙にプログラミングの知識が必要で、「これまで何作ってきましたか?」と言われても、
そういう、あんまりしっかりしたものを作ったことないし、C言語、gccで可変引数までやって、でもアセンブリがどう実行されるんですか、という話はよくわからない。
Javaも習って、まあそれっぽいお話はいっぱいされたんですけど、アプリ作るの難しかったし、GUIはクソだね、というか、手打ちでやったんですけど、こんなん絶対手打ちより良いやり方ありますやろと思いながらやっていた。
絶対手打ちより良いやり方あるはずだけど、僕は知らんし、知らない以上何が効率的に作れるのかもよくわからないし、わからないことにはできるだけ手を出さない方がいいな、と思う。
いや~なんつーかこういうことばっか書いてると「甘えんなカス。氏ね」とかコメントされて、2000回くらいは殺されちゃうんですけど、それは甘んじるとして、でも何というか……みんなそうなんですかね。
同年代で「めちゃくちゃプログラミングできちゃいます!(漠然)」みたいな人間いるけど、僕が例えばどういう本読んでどういう道筋を歩んだらそういうカンジになれるか、かなり見えなくてつらいし、
そもそもそういうのを職業にできるスキル高く磨けるような人って、いったいどういう生き方してきたらそうなるんだろう、と思っている。
これで情報系の研究室いって、なんとか乗り切って就活して、プログラムがんばって書きましょうー!というような職場に行ったら、
それはもう「学生じゃないんだから。もう社会人なんだから自分で調べて」となるんですよね。マンガとかでたくさん読みました。それは死ぬほどつらいでしょ。現に人死んでるじゃないですか。
結局周りに聞ける人間がいる環境ってなに? 今もいないし、大人になってもいないんでしょ? だからはてブで「プログラマーはやっぱ自分で本読んでスキルアップしなきゃ死ぬぞ!」みたいなやつがホッテントリになったりするわけでしょ?
それはつらい。ご本読んで理解できないの、というか読めてないの、ウチにあるだけで目が上滑りして「全体像がよくわからないからな~ しょうがないよな~~」と言いながらろくに読む気も起きなくて、
「でも本当に役に立つ本って開いた瞬間に読みやすいのでは?」みたいな信念がある。 これが原因なのかな。でも、この信念、少なくともこれまでめちゃくちゃ役に立ってきたものなんだよなあ……。
学生の今、自分が考えてて不安に感じてることが、「追いつけない」みたいな不安が、イマイチわかり切ってないし、
だから具体的な質問として一言で言える話の羅列としてわかってないわけじゃなくて、もっと漠然とわからない。こういうこと感じてるの、僕だけじゃなくてパソコン知りてえ~~となって大学に来た人のうちけっこう多いような気がするんですよね。なんか生半可に甘えた環境だから。
----------------------
とりあえずこれ書いてたら少し気分落ち着いたので、要点をまとめると、
「本で勉強するのつらいよなあ~ そんなんじゃどんな分野行ってもつらいだろうなあ~」
ということです。
そういう有象無象の本をスパッスパッと切って、「この辺のこの本読んどくとこういうことができるようになるだろうな~」というモデルがまだあんまりできてない。
そういうのができるようになるのかと思ってたらあんまり学校でも学べる感じじゃない。全体像とは……となっているけど、こういう悩み、自然に解決したりしなかったりするんだろうな。
とりあえず、これは自分メモの今後の方針です。OSより下の階層、たとえばALUとメモリの組み合わせで、program counterを進めながら動いてるんだよーという感覚はあるので、
それがOSとどういう風につながってるのか、とか、100均で売ってる電卓、あのデジタル表示の部分がどういう仕組みで動いてるの、ということを考えたり、
インターネットプロトコルでパソコンが具体的にどういうパケットを送信しているんだろう、というような話を攻めて、これが全体像とやらが見えるようになる一助になるかはわからないけど、
できるところからできるところだけ勉強していきたいと思います。それが、僕にとって、よくわからない本をじっと読まなきゃいけない義務から抜け出した罰の引き受け方っぽいので。
たぶん上手くまとめきれないし特に主張したいこともないし既に多くの人によって吐き出されている内容だろうけど、私もどこかにただただ吐き出したかったのでここに書くことにしました。
SIerってタイトルに含めたのですが、SIerだからアレだったのかその会社特有のアレだったのかはよくわかりません。
体力と気力を絞り出しながら過ごした日々から開放されて、やりたいと思っていたことを仕事にできて、子供と夕食を共にすることができる毎日が幸せです。
NとかIとかHとかFとかそこまで大きくないけれどそこそこの規模の会社でした。
NとかIとかHとかFとか程ではないってことで少し小さめのアルファベットで仮にD社とします。会社の頭文字ではないです。
(昔友人が頭文字Dの単行本を手にとって「これ、面白いよね、"あたまもじでぃー"」とドヤ顔で言っていた思い出もついでにここに置いておきますね。)
ブラックということはなく残業代も働いたら働いただけ出たし福利厚生も充実しているし客観的に見ると良い会社です。
何と言っても窓際の人たちを何十人も抱え続けられる体力はとても魅力です。万が一自分に何かあって戦力外になっても恐らく定年まで働けたんじゃないでしょうか。
そんなD社で私は既存システムの保守と新規案件のプロジェクトに携わり6年間ほど働きました。
辛いことの方が多かった気がしますが、喉元過ぎれば何とやら、思い出補正がかかって感慨深さでいっぱいです。でも、戻れと言われたら全力でNO!って言います。
やっぱ辛いものは辛い。
何が辛かったかな〜
プロジェクトが長期化したり些細なことでも問題が起きると上の上のそのまた上の人たちがいろいろ報告を求めるんですね。上の上の人が報告しないといけないから上の人たちがその資料を作ってその材料を平社員に報告させて、その材料かき集めてたら夕方になって「あ〜、今日のタスク終わらせるどころか始まってすらないよ〜。」ってな状況になったりします。
あとは社内でのリスケの交渉のために計画の見直しをするけど規模が大きすぎて見積もりに時間とられ本来の仕事ができなかったり、交渉しているうちに1か月過ぎて再見積もり、再々見積もりで
みたく見積もりしかしてない時期があったり、しかも実は当初決まった工数から増やせないという制約つきで結局ただの数字遊びに過ぎなかったりします。
「計画を見直せ。ただし人も増えない。納期も延びない。納期に間に合うように線を引くんだ!」ってどうやるんですか。
なんかよくわからないタイミングで作りかけのシステムの社内レビューみたいなのが開催されるときがあります。納期はまだまだ先です。
「スケジュールによるとX機能とY機能とZ機能はできているはずだから他の部署にも見てもらいなさい。」と。
だいたいそういう時はX機能しかできてなくて上の人に相談しても「もうXYZを見せると言ってしまったのでどうにもできない。」という展開になります。
そして突貫工事で作ったYとZは見た目は動いているけれどハリボテで、見せるためだけに書いたコードは捨てて作り直すことになります。
「タスクAもタスクBも今日中にやらないといけない。ちなみに今発生したタスクCは今日の午前までだから。」
「物理的に無理です。どれが一番優先度高いんですか?」
「全部優先度高いから。全部。今日中とは明日の午前9時までってことだから大丈夫。」
という具合に小鳥のさえずりを幾度となく聞きました。大丈夫じゃないです。
JavaのOptionalクラスを使っていて軽く説明したら「OptionalってわかりにくいからCheckNullみたいなクラス名にしてよ。」って言われました。
辛く無駄が多くどうしようもないのに個々の人と話すとその状況を何とか打破したいって言っている人が多いんですよ。
でも集団になると途端に変な方向に歩き出しちゃうんですよね。まるでコックリさんやってるみたいな感じ。
個人じゃどうにもできないから、最終的には辞めるっていう選択肢しかありませんでした。
とはいえ、上のようなことは転職を考えるきっかけになっただけで転職する決断をしたのは次の会社なら自分がやりたいことができると思ったからです。
その決断もかなり慎重にしました。D社にも夢と希望を持って入社した結果がこれなので。
辛いから辞めることを優先して行き先を妥協しても結局後悔するだけです。
おわり
いろんなところから「ゴルバチョフ~スターリンの略」と呼ばれている例のSNSアプリ。
その運営会社のお問い合わせページをSSLLabsにかけると、F判定(2016/8/25時点)。OpenSSLのバージョンアップをサボってるな。
https://www.ssllabs.com/ssltest/analyze.html?d=sprix.jp
プライバシーポリシーを見たら、"Java Script"だって。へー、JavaとScriptの間にスペース入るんだ。JavaのScriptってなーに?(棒読)在籍しているWebエンジニアから突っ込みは来なかったのだろうか。
そして、採用情報にある「人財こそが最も重要」。うわっ...。
ところで、運営会社批判をするだけでアカウントをBANするような言論弾圧をやっておいて「世界No.1の教育アプリ」なんてなれると思っているんだろうか。
おお、やるじゃん!!!!!
すごい!
そうそう、こういうこと!
こういうことが言いたいの!!!!
俺の前の増田は、これを読む前の奴だから、あんま気にしないでくれ!!!!!
こうすりゃ、一番最初の増田で言ってた、引数の中で実装とかしなくてもええやろ?
ようやく、伝わって僕も嬉しいわ!
本気でJava知らんけど、言いたい事が伝わって良かったわ。
いやあ、よかったよかった。
newしてから渡せば良いと思うよ。
いちいちクラスに分ける理由は、こういう感じで、クラス内の変数にアクセスすれば、画面事の表示とかが簡単に出来る的な?
// Javaの書き方しらん、インターフェースを実装することを定義したい
public class EventHoge : View.OnClickListener {
//画面事の名称
// Javaの書き方しらん、インターフェースのメソッドを実装することを定義したい
public void View.OnClickListener.onClick(View v) {
AlertDialog.Builder dlg;
dlg = new AlertDialog.Builder(MainActivity.this);
dlg.setTitle("画面の名前:" + ViewName); // 画面名称が表示されるイメージ
dlg.setMessage("Hello, サンプル!");
dlg.show();
//<ーー
}
}
// Androidなにも知らんけど、元増田がボタンにイベントを書く処理が書いてあるクラスのことが言いたい
// そのメソッド
final Button button = new Button(this);
button.setText("ダイアログの表示");
View.OnClickListener ocl = new EventHoge();
ocl.ViewName = "画面その一";
button.setOnClickListener(ocl);
}
}
こんな感じにすれば、画面が二つあって、
その画面の名称を表示するようなボタンを、二つメソッドをコピペして作らなくていい的な?
サンプルは、出来るだけとっちらかさないよう、匿名クラスとか使って、サンプルで紹介したいところ「だけ」を書くんだよね。
だから、そのサンプルがどういう意味かをちゃんと読み取って、自分ならこう書くとか、こう書けるか? とかを考えてこそ勉強だと思うよ?
今回のレイだと「View.OnClickListener」っていうインターフェイスを実装したクラスを、setOnClickListenerすればいいってことさえわかれば、
匿名クラス?(っていうのかな? ちょっと用語はよくしらん、クラス定義を使い回さず、その場だけのクラス定義を書く書き方)とかを使わずに、
どういうふうに応用ができるか? とか頑張れ!
頑張れ!
頑張れ!
はああああああ。
おれはビールを飲む!
うーん?
いや、なんか、通じてないな。
もうちょいサンプル詳しく書くから、サンプルのどこがわからないか言ってくれ。
// Javaの書き方しらん、インターフェースを実装することを定義したい
public class EventHoge : View.OnClickListener {
// Javaの書き方しらん、インターフェースのメソッドを実装することを定義したい
public void View.OnClickListener.onClick(View v) {
AlertDialog.Builder dlg;
dlg = new AlertDialog.Builder(MainActivity.this);
dlg.setTitle("サンプル");
dlg.setMessage("Hello, サンプル!");
dlg.show();
//<ーー
}
}
// Androidなにも知らんけど、元増田がボタンにイベントを書く処理が書いてあるクラスのことが言いたい
// そのメソッド
final Button button = new Button(this);
button.setText("ダイアログの表示");
button.setOnClickListener(new EventHoge());
}
}
こうやって、クラス分けて書けば、外とか中とか、全く関係なくなるじゃん。
元増田のサンプルだと、メインの中でインターフェースを実装したクラスの実装を書いてるから、中とか外とかがあるんじゃないのか?
自分でクラスとして定義して、そっちで実装すれば、メインは紐づけるだけでよくなって、仮引数?の中で実装しなくてもすむじゃん。
よくわからん。
中が嫌なら外でかきゃいいじゃん。
// Javaの書き方しらん、インターフェースを実装することを定義したい
public class Hoge : View.OnClickListener {
// Javaの書き方しらん、インターフェースのメソッドを実装することを定義したい
public void View.OnClickListener.onClick(View v) {
AlertDialog.Builder dlg;
dlg = new AlertDialog.Builder(MainActivity.this);
dlg.setTitle("サンプル");
dlg.setMessage("Hello, サンプル!");
dlg.show();
//<ーー
}
}
// メインスレッド的なところ
final Button button = new Button(this);
button.setText("ダイアログの表示");
button.setOnClickListener(new Hoge());
こう書けば、中で書かなくて良い気がするけど、駄目なの?
なんか、インターフェースだから引数の中ってのが意味わからん。
どう関係してるの?