はてなキーワード: Node.JSとは
プログラミング未経験者から「プログラミングを勉強してみたい、でもどのプログラミング言語をやればいいのかわからない」というような悩みを聞くことがあるので、https://redmonk.com/sogrady/2020/02/28/language-rankings-1-20/ に載っている人気の言語TOP 20について、未経験者が最初に学ぶのはどの言語が良いかという観点で簡単に解説してみます。
対象読者はプログラミング未経験者なので、なるべく難しい言葉を使わないようにしたつもりです。また、正確性よりもわかりやすさを重視しているので何かしら間違っているかもしれません。ご留意ください。
Webブラウザの上で動くプログラミング言語。元々ただの文書しかなかったインターネットの世界に、グリグリ動くページを作りたいという欲求により生まれた。JavaScriptのおかげで今のWebページはグリグリ動きまくりである。
元々HTMLをちょちょっといじる為だけのものだったが、どんどん進化を続けて今は一つの超人気プログラミング言語である。今ではブラウザ上でなくても普通に動かせる(Node.jsという)ので様々な用途で使われている。
ブラウザ上で動くプログラミング言語は基本的にJavaScriptしかないので、JavaScriptはすべてのWebプログラマが学ぶ必要があると言っても過言ではない。
ちょっとしたプログラムを書いてすぐブラウザ上で動かせるので楽しい。そういう点ではプログラミング入門に適していると言えるかもしれない。
機械学習を始めとしたデータサイエンスの分野で激烈に人気のある言語。理由としてはNumPyとかTensorFlowのようなライブラリが充実しているというのが大きく、資産がたくさんあるのでこれからも使われ続けるであろう。
言語としては、誰が書いても簡潔で読みやすいコードになる傾向にあり、小さいプログラムを書くにはいい感じである。米国ではプログラミング教育にPythonがよく使われているという話も聞くし、初心者がプログラミングを始めるのにはいいのかもしれない。
将来AIやデータサイエンスをやってみたいと思うのであればPythonから始めましょう。
ランキングでは常に一位に近い順位をつける言語。Javaができた当時は色々と革新的だったらしく、組み込み業界からWebまで流行りまくっていた。今でもその名残か使っているところは多い。過去の資産やプログラマの数が多いのが一番の理由だと思う。AndroidアプリもJavaで書く(もしくはKotlin)。
実行速度が速く、また下位互換性がしっかりしているので過去に書かれたコードが新しいマシン上でも動きやすいのが長所。短所としては、歴史ある言語で下位互換性を保っているため文法が古い感じがする。タイプ量も多くなるし、学習コストはJavaScriptやPHP, Ruby, Pythonあたりに比べると高い。
正しく使えば強力な言語だが、日本のクソSEもどきは全員(自称)JavaエンジニアであることがJavaが毛嫌いされる理由の一つになっている[要出典]。いわゆるGAFAもJavaをかなりヘビーに使っているので要は玉石混交ということである。
Androidアプリを作ってみたいというならJavaからはじめるのはアリ。
Webページを作るためだけに生み出された言語。プログラマの数が非常に多い。日本で求人が一番多いのはJavaかPHPであろう。
初心者でもとっつきやすく、すぐに動くプログラムを作れるので入門に使われることも多い。学習コストの低さはトップレベルである。しかし基本的には古くてダメな言語とみなされており、PHPで作られたWebサービスは脆弱性が多いという都市伝説もある。真実は闇の中である。
近年のバージョンアップで比較的良い方向に向かっている(と個人的には思う)ので、選択肢としては意外と悪くないかもしれない。
Microsoftが生み出した言語で、.NETというプラットフォームを使ってWebサービスを、Unityというゲームエンジンを使ってゲームを作ることができる。
最近有名なのはUnityで、今やほとんどの3Dソーシャルゲーム(の一部分)はUnityで作られている。そう考えるとC#のプログラマは結構いそうだし将来もある程度安泰かもしれない。もちろん.NETも広く使われている。
ただし.NETもUnityも触らない人にとっては基本的に縁のない言語である。
なんかゲーム作ってみたいかもなーと思う人はC#から始めてもいいんじゃないでしょうか。
C言語に色々な機能を足しまくってできた巨大な迷宮のような言語。言語仕様は複雑怪奇だが実行速度は全プログラミング言語中でも最速レベルなので、パフォーマンスが重要な開発において使われる。アプリやサービスというよりは、それらを作るためのライブラリ、プラットフォームなどを作るときに使われることが多い。Web系の会社でいうとGoogleなどは主にC++を使っている。
基本的には初心者が触る必要はない。競技プログラミングを極めたいとかならC++からはじめてもいいかもしれない。
このランキングの中で唯一、日本人によって作られた言語。作者のまつもとさんは世界的有名人である。ちなみに島根県出身、在住。
プログラミングを楽しくすることがモットーらしく、確かに書き味は良い。また作者が日本人なこともあってか日本語情報が多く、情報収集という点ではとてもやりやすい。
Ruby on RailsというWebサービスを作るためのフレームワークが世界的に大ヒットしたため、必然的にRubyの知名度も上昇した。少し前まで日本のWeb系スタートアップは猫も杓子もRuby on Railsといった様相であった。今は少し落ち着いたようだが今も人気は根強く、Web系プログラミングスクール等ではだいたいRuby on Railsを教えているとかいないとか。
Webに興味があるのならRubyから始めるのが一番無難な選択肢と言える…のか?まあ悪くはないと思う。今でも需要は多い。スクールに行きたいのであれば黙ってスクールのカリキュラムに従いRailsをやりましょう。
これは他の言語とは毛色の違う言語である。というかCSSはプログラミング言語と呼んでいいのだろうか?
CSSはHTMLを装飾するためのものである。字に色をつけたり、背景を変えたり、レイアウトやサイズを変えたりするのは基本的にCSSの役割である。
すごく大雑把にいうと、HTMLで表示する内容(文章や画像)を定義し、CSSでその見た目を整え、JavaScriptで動きをつける。というのがWebサービスの”見た目”を作るやり方である。
なので、Webに興味があるのであればある程度はCSSの知識が必要である。が、これ単独で学ぶようなものではない。Webサービスを作る時についでに調べて少しずつ覚えていけば良い。
TypeScriptは比較的新しい言語で、JavaScriptをさらに拡張したものである。Microsoftによって開発されている。
プログラムにはデータの型(Type)というものがある。例えば「1」や「2」は数値型、「あいうえお」は文字列型といった具合である。大まかに言うと、この「型」に対して厳しい言語は型チェックによりバグの混入を防ぎやすいがプログラムを書くのが大変、というかコード量が多くなる。型が緩い言語はサクサクかけるし短く書けるがバグを生みやすくプログラマの力量が問われる。ランキングの中だとJavaScript, Python, PHP, Ruby, Perlあたりは緩く、Java, C++, C, Swift, Go, Kotlinあたりは厳しい。
そんな中、世で広く使われているJavaScriptの型チェックが緩すぎるのでもっとちゃんと型をつけたい、そんな要望を叶えるのがTypeScriptである。基本的にJavaScriptを理解している人間が使うべき上級者向け言語というのが現状なので、初心者が始めるには適していない。
ただしこの先主流になっていく可能性は大いにあるので、どこかのタイミングで勉強してみても損はしないと思う。
C言語は基本的にOSを作るための言語である。OSというのはWindowsとかmacOSとかLinuxといったもので、マシンを動かすための基盤となるソフトウェアである。AndroidスマホにはAndroid(という名のOS), iPhoneにはiOSが載っている。コンピュータは基本的にOSがあって初めて動かすことができ、OSが提供する機能を使ってブラウザやスマホアプリなどを動かせるのである。
というわけで、初心者が学んで実用的なものではない。ただしC言語というのは世の中の様々なものの基盤になっており、他言語の文法もC言語から拝借しているものが多い。例えばC言語をある程度勉強していればJavaやPHPなどはなんとなく雰囲気で書けてしまったりする。
そういうわけで、コンピュータサイエンスをこれからちゃんと学んでいきたいという人(大学生とか)はC言語から始めるのもいいと思う。ちなみに筆者は初めて書いた言語はCであるが、意味が理解できるまでに2年かかった。才能がないとこうなるので注意。
SwiftはAppleによって作られたAppleのための言語である。iOSアプリ(iPhoneアプリと言い換えても良い)を作るためだけに存在している。
言語自体は他と比べて新しいため文法や機能がイケてる雰囲気があるので基本的にはいいのだが、iOSアプリ以外で使っている人は多分世界で5人くらいしかいないと思う。なのでiOSアプリに興味がない人はやめておきましょう。iOSアプリを作りたいあなたは他に選択肢はない。Swiftをやりなさい。
Swiftが生まれる前はiOSアプリを書くためにObjective-Cが必要だったため、多くの人がこの言語を使っていた。が、今はSwiftがあるので、古くからあるObjective-C製アプリをメンテナンスする時以外に使う機会はない。名前すら覚える必要がないので存在を忘れてしまって構わないが、これだけ順位が高いということは多くの企業がいまだにObjective-Cで開発し続けているということであり、ニッチな需要はこれからも残るのかもしれない。
Scalaは関数型言語と呼ばれる言語の一つ。Javaの親戚みたいなものなのでJavaとの連携が容易であり、上手く使えば性能も出るしコード量も少ないしバグも少なくて最高、な感じらしい。が、その分難易度が非常に高いので初心者が手を出すものでは絶対にない。どんなに早くても他に二つは言語を覚えてから勉強しましょう。Javaを覚えてからやるのがベター。
正直ほとんど書いたことがないのでよくわからないが、ビッグデータというワードが流行りだした頃はデータ解析用途でかなり流行っていた。その後機械学習やAIブームが来て、今でも現役で使われてはいるがPythonがどんどん勢力を拡大しているので少し目立たなくなってきた、というのが個人的な印象である。まあプログラミング初心者が最初にやるようなものではないことだけは確かである。
Go言語は比較的新しいGoogle製のプログラミング言語で、Googleのように巨大なシステムでの使用を目的に作られたものである。しかし実際には様々な企業が利用しており今一番勢いのある言語と言ってもかもしれない。
他のプログラミング言語の良い点や悪い点を参考に設計されており、実行速度の速さと生産性(プログラムの書きやすさ、読みやすさ)を両立できるような言語になっている。ただし、機能を増やすのではなく本当に重要な機能だけに絞るという思想があるようで、他の言語に慣れていると機能の少なさに不便を感じるかもしれない。
学習コストが低いという点では最初に学ぶ言語として適しているかもしれないが、GoだけでWebサービス等をサクッと作れるのかというと微妙なので、アウトプットを出しにくいというのはあるかもしれない。
シェルというのはテレビなんかでハッカー的な人間がPCを開いて謎の黒い画面に白い文字を打ち込んだりするアレである。説明としては正確ではないがまあ大体そんなもんである。何が言いたいかというと初心者が最初に学ぶとかそういうものではない。しかし実際に開発の仕事をやるとシェルの知識はあったほうがいいし、シェルに多少詳しくなるとPC上でテキスト操作をしたりファイルをいじったりというのが便利にできるようになる。ただし(通常は)極める必要はない。
Shellと言っても実際にはbash, csh, tcsh, zshなど色々あるのだがそれらをひとまとめにしてShellとなっているようだ。
PowerShellは上のShellの親戚みたいなもので、ShellがMacやLinuxで動くのに対しPowerShellはWindowsで動く。そんだけである。あと正直あまり知らない。
ランキングの中ではかなり昔からある言語で、サーバーと呼ばれるマシンには大体Perlが入っている。そのくらい市民権を得た超有名言語で、C言語やC++で書くほどでもない小さなプログラムはとりあえずPerlで書く、というくらいには広く使われていた。インターネット初期はほとんどのWebサイトはPerlで書かれていたとかいないとか。PHPなどの登場はその後である。
今でも広く使われてはいるが、RubyやPythonがPerlの後継的な位置付けであるため、初心者が新しくPerlを学ぶメリットというのはあまり思い浮かばない。何か特定の目的があるのであればいいと思う。
Kotlinは簡単に言えばBetter Javaである。Javaをもうちょっといい感じに書きたいという気持ちで作られた言語で、Scalaと同じくJavaの親戚のようなものである。
ランキングの中ではSwiftと並んでかなり新しい部類。AndroidアプリをKotlinで書けるようになったことがきっかけで人気が爆発的に上昇、今ではWebの開発にも使われていたりする。
とは言えまだまだ新参者といった感じで、ドキュメントなどの情報も他の言語に比べると物足りないので初心者には厳しいかもしれない。
言語自体はとてもいい感じなので、もう少しコミュニティが成熟してくれば最初に学ぶ言語の選択肢として有力になるかもしれない。
HaskellはScalaと同じく関数型言語である。ScalaがJava的な書き方でも動くの対し、Haskellは「純粋関数型言語」と呼ばれ、ランキング中の他の言語とは一線を画した書き方になる。どう考えても初心者にはオススメしない。少なくとも他に二つは言語をマスターしてからやりましょう。
なんとなくWebに興味がありそうならJavaScriptかRubyもしくはPHP、Androidアプリに興味があればJava、iPhoneアプリに興味があればSwift、AIやデータ分析に興味があればPython、3Dゲーム開発に興味があればC#。この辺りをやりましょう。
特に目的がないのであればフィーリングで選んで大丈夫ですが、やめておくべき言語というのはあるのでその辺だけ参考にしてもらえれば。
なお筆者はただのヘボプログラマであり、大好きな記事(http://www.mwsoft.jp/column/program_top10.html) の現代版かつより初心者向けなものを書いてみたいと思ってこの記事を書きなぐった次第である。あまり真に受けないよーに。
自分はとんでもないバカだからプログラミングスクールに何十万も払わないといけないという自覚があるならやればいい。
でも、その前に技術書買ったり、progate(両方、無料で試せる)をやってみてからにしたら?
俺技術書30冊くらい読んでたんだけど、体系的な知識ってのが手に入らなくて、progateでrubyとrails学んでインタラクティブにツイッターライクなアプリ組み立てて
ついでにすべての基礎となるコマンドラインやPythonとかGoとかReactや、Node.JS(もうあんま必要ないけど)とか、学ばせてもらって、一気にレベル上がっちゃったから
自分としては独学してる人にはぜひともProgateおすすめしたい。
Codecademyほどハイレベルじゃないし、一通り触れたあとに技術書に戻る必要はあるけど、やるとやらないでは全体の理解度が全然違うよ。
君等みたいなのがいるおかげで、ReactやらVueやらNode.jsを使えるというだけで高いギャラがもらえる
誠にありがたいことだ
はてブのホットエントリ(総合)で月内に数多く[あとで読む]タグを集めたエントリ
254あとで/2503users 総説 新型コロナウイルス感染症(COVID-19)|中外医学社Online|note
204あとで/1478users 上手な「在宅勤務」のコツ | Google Cloud Blog
165あとで/2268users 「先生がオメガを倒したら宿題やってきてやるよ」と生徒が言ったので、わたしはゲームライターになった|Yuka S.|note
145あとで/706users さくら、Pythonの基礎講座を無償提供 新型コロナで外出控える人向け - ITmedia NEWS
142あとで/1433users アルゴリズムビジュアル大事典
137あとで/731users 【翻訳】コードは書けないけど、1人で作ったwebサービスを収益化した話 - Qiita
131あとで/2848users 100日間おなじ商品を買い続けることでコンビニ店員からあだ名をつけられるか。|yosano|note
130あとで/624users 普通のプログラマーがAWSをゼロから勉強するためにやったことと現在の勉強方法 | Developers.IO
129あとで/676users systemd エッセンシャル
129あとで/746users Wikipedia、特に人物の記事と言うのは簡潔な表記なのに長編小説を読んだかのように強烈な印象を与えるものが多い。 - Togetter
127あとで/926users 家で暇をつぶせるサイトを10個ほど紹介する:哲学ニュースnwk
120あとで/2055users 高校レベルの数学から大学の教養数学くらいまでを学び直した - razokulover publog
119あとで/774users 実は便利な「Google Keep」、その使い道は? 電話取次メモを同僚と共有、写真からの“文字起こし”にも ~小ワザ集<1>【「G Suite」時短&コラボ仕事術】 - INTERNET Watch
114あとで/605users 社内で好評だったSQLインジェクションの資料を公開します – Webセキュリティの小部屋
113あとで/902users スタートアップの組織設計図の5類型と、その失敗率 | Coral Capital
110あとで/845users 現代ウェブフロントエンド(ウェブアプリケーション)について理解する唯一の方法|erukiti|note
106あとで/973users 話が上手な人と下手な人の違い | knowledge / baigie
103あとで/615users イミュータブルデータモデル - kawasima
102あとで/1194users ゴミ屋敷で父親が腐って死んでた上に仕事も失ったけど最終的に何とかなった話|麻宮ミヤネ|note
101あとで/513users エンジニアリングスキルで捉えるチームマネジメント - mtx2s’s blog
97あとで/499users The History of the URL | The Cloudflare Blog
97あとで/523users 今からVue.jsを始める人のための「知るのを後回しにしてよい」n個のこと - Qiita
97あとで/1087users 男子校出身の18歳に鴻上尚史が教えた「絶対に選んではいけないサークルとバイト」とは? (1/4) 〈dot.〉|AERA dot. (アエラドット)
97あとで/2505users 24年暮らしてきたイタリアが、大変なことになっている。
96あとで/1494users 全国一斉休校を受け無償提供されたオンラインサービスをまとめてみた - piyolog
93あとで/852users 米グーグルはテレワークでVPNを使わない、なぜなら「あれ」が危険だから | 日経クロステック(xTECH)
93あとで/1880users よく心理戦で「相手は私の思考を読んでこうするから、それに対し私はこうする」みたいな読み合いがありますが、ずっと互いに読み合っていたら無限ループで切りが無いはずです。どこまで読むのが正解なのですか?に対するMasahiro Sekiguchiさんの回答 - Quora
92あとで/488users 0から始めるNode.jsパフォーマンスチューニング | kohsweblog
91あとで/513users エンジニアとして影響を受けた技術書ランキング2020年版
90あとで/628users UIの細かい動きについて | ゲームUI演出
90あとで/661users そうだ、任天堂・宮本茂さんに聞いてみよう──ビデオゲームのこの40年、マリオと任天堂の“らしさ”と今後【インタビュー】 - ファミ通.com
Node.jsちょっと調べただけの知識なんだけど、結局Webに縛られてる感じがするのはこっちの認識がおかしいんかな
exeファイルチックにローカルにおいて起動できるような一人用のゲーム作れるかっていうとそうではないような気がしてるんだけど
昔は、HTMLで javascript 描いて、動的ページでキャッきゃうふふしてたのよね。1996年頃。
それでもみんな我慢して javascript 使ってたのよ。
そしたら、クライアント側で javascript で書いているなら、サーバ側でも javascirpt 使いたいって言い出す人がでてきてさ。
perlやphpや ruby なんか使わないで、サーバサイドも javascript 使おうってなって、 Node.js が作られた。
そこから一気に、javascript がモダンな開発言語の1つになってしまった。
モバイルアプリの実装と言えば主力はKotlin、Swift(Objective-C)だけど、簡単な作りであればcordovaをベースにフロントエンド開発ライクに進められる。
そもそものライブラリ選定には関わっていなかったものの、便利と思って使った結果後悔した思い出のお話。
Angular, Vueで実装していたけどレンダリング系に属するイベント盛りだくさんの場合、
結果的にネイティブ実装したほうが楽だしレンダリングの面で有利。
そもそもcordovaだからと言ってネイティブの知識がいらないわけじゃない。
標準サポートしているプラグイン群でできることは限られてくるし、そのまま突き進むならネイティブ実装の知識は必要になる。
これは当たり前だけど…
JSのパッケージングだったりCSSビルドが組めないとなると逆にコスト高。
そもそもNode.jsのビルドを根本的に理解してない奴がプロジェクトを作ったせいで
JSのパッケージビルドもされない、jQueryを突っ込まれるなどひと悶着あった。
3年前くらいだったけど既にTypeScriptも出てたし、何故そうしなかったのか理解できない。
結果ロードが激重になった。そりゃそうだ、minifiedされてないのだから。
用法用量を正しく守って使わないと、後で面倒になる好例だった。
大概は専用プラットフォーム上でビルドしていくがこれがくせ者。
ブラウザIDE(という名のただのテキストエディタ)が使えるけどそもそも構成管理できない。
ローカルビルドと乖離するし、ブランチすら切れないのだから本人以外は触れないシロモノになってくる。
別端末でビルドしようとすると同名の新しいプロジェクトが作成される。
ここまでくるともう触りたくなくなる。ただ、触らないわけにはいかないので何とか整合が取れる状況にした。
さらに言えば、ビルドが終わってステータスが見れるが、内訳が見れるのはそのタイミングだけ。
多分、海外で公開したプラットフォームをそのまま持ってきてるんだと推測しているが流石にこれは悪意しか感じない。
ただのCLIをバックグラウンドで実行するだけのGUIラッパーと化している。
かといってlintを掛けてくれるわけでも無し。
個人的に要らないし今後は使わない。
突き当たったのはWebSocketを使うシーンが出てきたとき。
ライブラリで何とかする方向で進めたかったけどそもそもwebpackビルドにすら対応していなかった。
件のAngularベースの場合はもっとひどくてクソラッパーを作りやがったせいで依存度が激高になった。
ちなみにネイティブはそれぞれにサポートするライブラリが出ていて、最新バージョンに向けてきちんとメンテナンスされている。
根本的にiOS側の実装でレスポンシブ的なレイアウトが作りにくい現状を鑑みて、
WEBベースで新商品などの通知をしたい、残りは情報の閲覧のみでSPA構成的なシロモノで作りたい。
こんな需要には使ってもいいんじゃないかと思う。相当なレアケースだけれども。
いいところは確かにあって、CSSでデザインの調整が効くところは大いに評価できる。
これがまたネイティブ実装だと面倒。特にiOS。お前はダメだ。
結局進めていくとネイティブ実装の知識を求められるのだから、ネイティブで実装したほうが良くね?と言ったところ。
ユースケース的に超単純要件でアプリを作りたい、かつ、ユーザに何かpush通知的なやつを入れたいって場合は使ってもいい気がする。
とりあえずスマホ対応が結構でかいかな。10年前にスマホあったけど、普及はこの10年。PCだけ考えていればOKだったのが、スマホも考えるとなると結構キツイところ。(PC横長、スマホ縦長だし)
あとはWebアプリ作る感じだとパフォーマンスの制約(ここにもスマホは絡む)と実現したいことのギャップもキツイ。普通に常時通信とか当たり前だし、Flash死んだし。
結構普通にネイティブアプリでやってたことがWebでできないとおかしい的な感じもでかいかな。ゲーム界隈とかほんとすごいと思うよ。使ってると気づかないんだけど、気づかせないのがすごい。10年前ならネイティブアプリとWebで機能全然違うとか普通だったしね。。。今同じな方が普通だしね。。。そうなると開発規模が増えてFWとかモジュール管理が欲しくなってきて、ただそこも独自ルールを覚える必要もあるし更なる問題も出てくるからそこにも対応せんといかんしね。。。同じように実現できてても「まだNode.jsで消耗してるの?」とかクソヤローもたまに出てきて確かに便利だけど面倒なんじゃ!ってなるし。←ここは主の主張とマッチしてござるなwwwんんwww
いろんなライブラリたちがバージョンアップして、適材適所でやってたつもりが一本化できるんじゃね?できないの?検証しなきゃ・・・とかやらんとならんってのもあるなぁ。
まあなんだ、この10年でWebも変わってはいるんスよ。ただ同時にWeb"系"が隆盛して、マウンティーになっているのも事実かもなーなんて思う。俺なんてjQueryおじさんにもWeb系イケメンにもバーニーおじさんにもなれないような人間のたわごとですけどね・・トホホ
TypeScript(TS)がJavaScriptの代わりになるだと?確かに型を使えるのは良い。意味不明なオブジェクトを操作しまくって意味不明な動的型付けするJSに型が追加されたら、そりゃバグも減るだろうよ。でもそれは意味不明なオブジェクトを操作し、再代入を繰り返すレベルの低いJSerの責任だ。コーダーの責任なんだよ。Pythonも意味不明なオブジェクトを操作しまくるが、JSほどはひどくならない。Pythonも型ヒントなんてものが導入されたが、誰が使うんだこんなの。果てしなく冗長になって糞だ糞。DocStringを充実させるのと型ヒントを充実させるの、どちらがどれだけメリットが有るっていうんだ。DocStringで十分だろ。全員アホだ。話をTSに戻そう。
散々文句を言ってしまったが、型が使えるのにはこしたことはない。TSを始ようじゃないか。TSをインストールしよう。Node.jsをまずインストールして、TSをインストールしたぞ。ついでにgulp、webpackもいるのか。おいまてよ、ts-loader、webpack-cli、webpack-dev-serverもいるのか。何が何のために必要なのかよくわからないが、node_modulesはすでにパンパンだぜ。tsconfig.jsonを設定してsrcとdistを決め、ECMAのバージョンも決めたぜ。webpack.config.jsってファイルもあるじゃないか。これも設定が必要なのか?俺はいつになったらHello Worldを書けばいいんだ?なめてんじゃねえぞ!!!なんかに似てるんだよ!これはCだ。C言語でプログラムを書こうってときに、コンパイラが必要でインストールして、パスを通して、謎のおまじないを書いて、それでよくわからないままHello Worldを出力したあの頃の思い出がフラッシュバックしたぜ!いや、TSはそれ以上に糞だ。なにせ設定ファイルばっかいじってまだ一行もコードを書けてないくせに、ファイルサイズは70MBを超えてるんだからな。「TS コンパイル」で検索したら、なんで「次にgulpをインストールしましょう」なんて記事がヒットするんだよ!糞か?いや糞だお前は!
プロジェクトに必要なツールをインストールするのは当たり前だって?偉そうなこと言ってんじゃねーぞ!どうせお前なんか先達がすでに準備してくれたプロジェクト環境に後でアサインして、「これとこれが必要だからインストールしてね」って言われてそのまんまインストールしたクチだろうが!どのツールがどのシチュエーションで最適なソリューションなんかわかってねえに決まってら!どのツールがどのシチュエーションで最適なんか誰もわかってねぇんだよ!インターネットに情報は適当に転がってて、お前の先達もDevelopers.IOの記事を読んでなんとなく良さそうだからインストールしてんだよ!全てを正しく把握してるやつなんか日本で3%いたら多いほうだろ。少なくともお前も俺も理解してねぇよ!PHPがRubyを駆逐するって言われて何年たった?今でもPHPは現役で、RubyはPHPの後ろを歩いてるじゃねえか。jQueryが消えるって?同じ理由で消えねえよ!一生やってろばーーか。JavaScriptも消えねぇよ。ECMAのアップデートに従って生で書けば十分だろ。こんなコード書くまでにうんこ行きたくなるような設定ファイルばっかいじらせる言語にとって代わるわけねぇだろ。消えるのはお前だばーか。
まー後はnode.jsとかtypescriptやらUnityとかtensorflowとかも使えるが、基本は割かし広く浅くカバーしてると思ってくれればええで。
285あとで/2602users 【転職エントリ】Googleに入社します|Lillian|note
265あとで/1967users 趣味で作ったソフトウェアが海外企業に買われるまでの話 - knqyf263's blog
232あとで/1101users 2019夏、先輩が若手に贈る「お世話になった技術書60選」- 入門からガチまで – | DevelopersIO
231あとで/1177users 無料で読めるITまんが 2019年版 - Publickey
225あとで/2284users 【3868】コンサータによって自己の連続性を失いつつある | Dr林のこころと脳の相談室
220あとで/1144users 【無料公開終了】廃村で見つかった4人の少年の死体から始まる民俗ホラーとミステリーの短編マンガにめっちゃ惹き込まれる人たち - Togetter
202あとで/1000users 実はアイデアの宝庫? 刺激的なWikipediaの記事150選|INSPI(インスピ)|広告デザインとアイデアの教科書|note
195あとで/1803users 平均年齢30歳のIT企業に入社した還暦の大工。「1カ月お試し」のつもりが一瞬でなじんだ理由 | BUSINESS INSIDER JAPAN
169あとで/829users 独学でWebサービスを作り起業した僕が選ぶ、オリジナルのサービスを作る時に便利なツール19個|かずたか@プログラミング独学して起業した人|note
166あとで/1717users 「容姿が悪く、交際経験が一度もない」47歳女性に鴻上尚史が本音で応える (1/4) 〈dot.〉|AERA dot. (アエラドット)
163あとで/986users 「GitとGitHub用語」の可愛いイラストを使用した解説に対して圧倒的わかりやすさを感じる人たち - Togetter
161あとで/1180users 高齢の両親のために、僕が「実家のIT化」を目指してやったこと|tayorini by LIFULL介護
160あとで/1191users 徹夜明けに、知らない人とウイグルを旅した日々のこと|砂漠|note
156あとで/853users SFマニアからビギナーまであらゆる層を満足させる、オールタイム・ベスト級の傑作SF短篇集──『なめらかな世界と、その敵』 - 基本読書
150あとで/1032users カメラ苦手な人向け 「カメラで大事故を起こさないポイント」が凄まじく参考になると大好評 - ねとらぼ
140あとで/874users 様々なTODOアプリやタスク管理方法を試行した結果最終的にプレーンテキストに行き着いた話 - みんからきりまで
134あとで/500users IPA「情報セキュリティ白書2019」PDF版の無料公開開始! AIやIoTなどをテーマに解説 - INTERNET Watch
131あとで/567users 深層学習の数理
131あとで/1130users 圧倒的キャリアを誇る勝間和代が「社会人にもなって、努力や成長なんて必要ない」と語るワケ|新R25 - 20代ビジネスパーソンのバイブル
130あとで/983users TR-808の開発者、元Roland社長の菊本忠男さんが40年の時を経て、新バージョンRC-808を発表。度肝を抜くサウンドと拡張性を持ち無料でリリース | | 藤本健の "DTMステーション"
126あとで/588users 秒間100万リクエストをさばく - Googleの共通認可基盤 Zanzibar - 発明のための再発明
125あとで/991users 15年間務めた会社に退社を切り出したら史上稀にみるクソ展開になった(後編) - 放浪軍師のアプリ開発局
125あとで/1168users 香港が大変すぎて、見ていて悲しい|山本一郎(やまもといちろう)|note
123あとで/1171users 今さら聞けない「慰安婦」問題の基本を研究者に聞く――なぜ何度も「謝罪」しているのに火種となるのか(2019/08/07 19:45)|サイゾーウーマン
123あとで/493users Node.js徹底攻略 ─ ヤフーのノウハウに学ぶ、パフォーマンス劣化やコールバック地獄との戦い方 - エンジニアHub|若手Webエンジニアのキャリアを考える!
122あとで/517users 新 GitHub Actions 入門 - 生産性向上ブログ
122あとで/907users 介護職歴25年、メイプル超合金安藤なつが語る、介護現場のつらさと楽しさ|tayorini by LIFULL介護
121あとで/531users VSCodeでコードを書く時に役立つ設定・テーマ・機能拡張、知っておくと便利なテクニック | コリス
119あとで/1266users 教育ボランティアで出会った小4の子の話|よんてんごP|note
119あとで/714users 「ビジホの朝食バイキング」を極めた達人が教える、出張&旅行で一度は泊まってみたい全国のビジネスホテル - メシ通 | ホットペッパーグルメ
この論でいくと Node.jsってどんだけクソなの。
現役のプログラマ、web制作・ソフトウェアに関連する産業に従事される方々のアドバイスを頂きたいです。また、ニートから社会復帰された方のアドバイスも頂きたいです。
注意: いわゆる特定を恐れてかなりぼかした表記をしているのですが、ぼかしすぎとの指摘をいただければ可能な限り追記いたします。ただし、GitHubプロフィール/WebアプリのURLについては、就職活動のための個人情報が含まれている可能性があること、宣伝すべきでないことから、ここで公開をすることはありません。
素人同然かもしれませんが、適切なアドバイスを頂くために必要だと思うので、書かせていただきます。
Webアプリの概要: 複数の外部APIを組み合わせて定期的にデータが更新される(現時点で数百万程度のレコード数)、ユーザの操作でリソースが更新されることはない(すべてのendpointが認証なし、GETのみ)
面接に間に合わせるように作ったのですが、残念ながら一度も面接官/採用担当者の方にご覧いただく機会がありませんでした。(そもそもGitHubについてご存知の面接官の方がいらっしゃらなかった…)
内容としては、モダンなWeb開発の基礎を一通り踏まえた構成になっていると考えています。
ソフトウェアエンジニアの取扱いが多い求人サイト(Find Job・Green・Wantedly)、一般的な大手求人サイト、派遣会社、ハロワ、横断検索サイト(Indeedなど)、Google検索
インターネット上で公開されている、通勤できる距離の求人情報は片っ端からクリックしました。(Google検索で site: ...
※実際には求人サイトのドメインが結構効果的でした)
良さそうな会社はたくさんあったものの、応募資格の時点でほとんど諦めることになりました。(実務経験以外なら必須でない条件を含めて満たす求人もありましたが、必須条件を満たさないために応募をすることはありませんでした。)
「社会人経験」「実務経験」を必要としない寛大な会社は、ほぼSESでしか存在しないようです。
「1年以上の実務経験」を必須とする、時給1000円のアルバイトはたくさん見つかりました。(ZOZOのアルバイトが1300円で話題になりましたが、1000円のアルバイトでもそこまで求められるのかと思ってしまいました…)
視野を広げてWebデザイナーやHTMLコーダーを見てみると、実務経験に加え、「Adobe製品の使用経験」(料金が払えない…)「Wordpressサイトの運用経験」「ポートフォリオサイトを持っていること」が必要な会社がほとんどでした。
VPSにWordPress+nginx+SSL(Let's encrypt)で構築したことはありますが、1人で更新する分には静的サイトジェネレータを使ったほうが簡単で、GitHub Pagesなどで無料で公開できるので、実際の運用には至りませんでした。
やはり、自分はデザイン系の会社が求める人材ではないと思います。
応募資格の時点でほぼ応募できる会社が存在しない中、応募資格を満たす会社に片っ端から応募して、数社面接までたどり着きました。SES以外面接落ち、SESの会社は一次面接通過後に辞退させていただきました。
面接で基礎的なコンピュータサイエンス/アルゴリズムの知識を問われる可能性を考えて、それらの基礎も学習をしましたが、これもまた面接で使用する機会がありませんでした。(それ自体は無駄ではなく、むしろ自分のためになるものでした)。
私の文章力が低く、読みにくい文章であったとすれば、申し訳ございませんでした。これでも下書きを一度破棄し、表現に気をつけながら、書きあげるのに数日を要しました。これが私にとって初めての増田での投稿で、「この内容を登録する」ボタンを押すのにも勇気が必要でした。