
はてなキーワード:ECMAScriptとは
>nodejsについて、nodejs+expressをローカルマシンで動かす場合使用する言語はjavascriptなのでしょうか?
現在はDenoが強く推奨されているようですが。
ECMAScriptが標準になりますが、Node.js独自のライブラリー、Expressを使うなら当然Expressのライブラリー、その他の外部ライブラリーなどが普通に使われます。
外部ライブラリを使用可能にするには事前にインストールが必要です、外部ライブラリを使う場合には「require()」などで参照が必要です。
なので当然ECMAScript以外の勉強も必要です。
素のJavaScriptは大規模開発に適さないので、TypeScript化することで大規模開発に適します、小規模開発なら素のJavaScriptでおkです。
TypeScriptは学習難易度が高いのがデメリットです。
この業界が息苦しいなと感じているものの、この業界に居続けている
トレンドを追うと、高速化や効率化みたいな内容しか出てこない。
自動デプロイだの、描画速度の向上だの、テスト自動化だの、新しいAWSのサービスだの…
一からサービスは作れるし、外部サービスの連携はAPIを見ればプレーンで書ける。
VPSみたいにサーバー用してもらえれば、プレーンで運用も出来る。
でも、プレーンで描くと「車輪の再発明」だの「再利用出来ない」って言われる(幻聴かもしれんが…)
いかにシェア率が高いメジャーなライブラリや方法を使って開発する事ばかり
フロント周りもそう
この世界に入った時は、色々華々しい事ができるって思っていた
実際は、開発環境やらモダンな開発手法やらごった煮なお作法を勉強しないと「トレンドを追え」と鼻で笑われる
フレームワークやらECMAScriptを使わず、プレーンで描いたら白い目で見られる。
そこまで使いこなせて初めて新しい技術を触る権利がある位面倒くさい
追ったら追ったで、「これ今すぐ使う必要なくね?」ってなって勉強の意義を見出せなくなる
今の自分が、コピペで開発で満足していた過去の自分を見たら、自分を説教してくれた先輩のように説教をするだろう
「ブログを鵜呑みにするな、ドキュメントを見ろ」「コードはコピペすんな、書け」「闇雲に手を加えんな、ログを読め」ってね。
ただ、あの頃みたいに、とりあえず作ってブラッシュアップして行こうっていう気持ちが今もあればまた違ったのかもしれない
プログラムは所詮道具なのに、道具の手入ればかり勉強している気がして何か窮屈だなって思う
だけど、その思考で数年やって来たからこの思考から抜け出せない。
プログラムでモノを作るってもっと自由で良かったはずなんだがな…
それはある
Unreal Engineで使われるC++もJavaのパクりだし
TypeScriptやEcmaScriptもJavaのパクりだから
とりあえずJavaやっとけばいいよ
現役のプログラマ、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人で更新する分には静的サイトジェネレータを使ったほうが簡単で、GitHubPagesなどで無料で公開できるので、実際の運用には至りませんでした。
やはり、自分はデザイン系の会社が求める人材ではないと思います。
応募資格の時点でほぼ応募できる会社が存在しない中、応募資格を満たす会社に片っ端から応募して、数社面接までたどり着きました。SES以外面接落ち、SESの会社は一次面接通過後に辞退させていただきました。
面接で基礎的なコンピュータサイエンス/アルゴリズムの知識を問われる可能性を考えて、それらの基礎も学習をしましたが、これもまた面接で使用する機会がありませんでした。(それ自体は無駄ではなく、むしろ自分のためになるものでした)。
私の文章力が低く、読みにくい文章であったとすれば、申し訳ございませんでした。これでも下書きを一度破棄し、表現に気をつけながら、書きあげるのに数日を要しました。これが私にとって初めての増田での投稿で、「この内容を登録する」ボタンを押すのにも勇気が必要でした。
厳しいご意見を含めた、皆様の返信・ブコメをお待ちしております。最後までお読みいただきありがとうございました。
Permalink |記事への反応(12) | 18:08
ECMAScriptの最新バージョンは6だし、5なんてIE9時点で対応されてるし。
なんでその古い知識で回答しようと思ったの?
その文章書く前にせめてググれよ。
とりあえずこれと
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/fulltoc.html
http://www.w3.org/TR/DOM-Level-2-HTML/ecma-script-binding.html
それとw3cでDOM-Coreを読んでおけば一通りわかるようになる
ecmascriptは最新が5だった気がするがブラウザに実装されていない分がかなりあるのでまた後でいい
先日「Flashエンジニアが今後10年食べていくには?」というテーマを元に
Flash に精通したWeb技術者達のディスカッションが行われる催し物があった。
http://www.publickey1.jp/blog/11/flash10.html
この記事だけでは内容が省略しすぎているため
時間があれば是非録画の模様もみていただきたい。前半初頭は音量が小さいので注意。
こういった催し物は面白いなと、私はとても楽しく見させていただいた。
http://www.ustream.tv/recorded/19073524
http://www.ustream.tv/recorded/19074357
ディスカッションではFlash だけではなくHTML5 についても触れている。
ディスカッションの感想をディレクションや営業を行なっている知人に聞いたり、
ネット上の反応を見てみたところ以下のような意見がいくつかあった。
「『Flash が好きな人』だけではなくHTML5 派の人との対談もあればよかった」
「Flash 派の人の話だからHTML5 が使えないという話はいまいち参考にならない」
『Flash 派』『HTML5 派』という くくりで考えてしまう人は
まだまだ多いと実感する。
パネリスト達は
過去から現在までに様々なプログラミング言語を利用し、あらゆる技術に精通している。
Flash という表示媒体/環境開発がベター(時にはベスト)だと考え、
Flash をよく扱っている、という旨を話している。
最後の締めとして
Flash よりも優れたものが登場するのであればそちらに移行するでしょう、
とも言っている。
これだけの説明があったのに
ディスカッション内で触れたHTML5 に対する否定的な話は、
『Flash 派』とやらのポジショントークだと目に写ってしまったのだ。
Java やら C やらobjective-c やらperl やらphp やら
サーバサイドからスマホ用ネイティブ言語を用いてのアプリ制作まで
色んな事やってます、と言っても
現在世の中にはHTML5 を推し、合わせてFlash を否定する記事が結構出回っている。
技術者が話す専門的な用語の飛び交う話よりも
HTML5 vsFlash 的な読みやすい記事に耳を傾けてしまう人はいる。
Apple製品を好む人は「ジョブズがそう選択したのだから」と
なおさらこういった記事に目を向けてしまう。
「Flash vsHTML5 の話にのせられてしまうのは、よくわかっていない人だ。」
ディスカッション内では、
ネット上の煽り記事を読み不安に思ったクライアントから連絡を受け
きちんと状況をゼロから説明するハメになってしまった、という内容があった。
似たような状況になっている人もいるのではないだろうか。
当方周辺では、
「Flash は駄目だ」「Flash でなくてもHTML5 ならできるはずだ」
「HTML5 はFlash の代わりになるものだと言われている」と
クライアント、あるいは仕事先の関係会社から耳にする機会が増えてきた。
技術者の及ばないところで
ベターではない技術が選択、あるいは勧められてしまう やっかい性。
その記事は世間の目には届かない。
TVCM でバンバン流れているiPhone やiPad ではFlash を見ることができない
という状況に乗じた
勘違いを正すためには、今までよりもより一層
あるいはメッセージを発信するよう心がけていかねばならないと感じる。
パネリスト達のような
Flash を扱う事が可能な技術力を持ち合わせている人にとって
Flash が終わろうが、代わりの技術がHTML5 やらその他何になろうが
大した影響はない。
『プログラミング』についての話をしてみる事にする。
「世にあらゆるプログラミング言語があるが
「何か一つ言語を習得し
『Flash の事は全く知らないがプログラミングプロフェッショナルの人』
が近くにいるならば是非上記について伺ってみてほしい。
その通りだと答えてくれるはずだ。
他の言語で作ったものをFlash のプログラミング言語に移植することも容易いのだ。
ここで上記三行の「他の言語」を「JavaScript」に置き換えてみてほしい。
HTML のDOM操作に必要な言語はJavaScriptである。
言語は、Flash ならばActionScript、HTML5 ならばJavaScript を用いる。
画面描画は
あるいは用意されている描画用API をActionScript で呼び出し、
あるいは用意されている描画用API をJavaScript で呼び出す。
Flash と似たような技術としてJavaApplet やShockwave があるが、
これらも一緒で
言語を変え、その技術に合わせた描画を行う処理を記述するだけだ。
Web技術者が何かに属していて、何かには属していないかのような区別の仕方は
的がはずれている事を なんとなく感じていただけただろうか。
仕事に対し、あるいは表現したい事に対し、ベターな選択を行うだけの事なのである。
環境や表示内容に合わせ両方を採る選択もあるだろう。
パネリストの中にActionScript が好きだ、という人がいた。
これは別に
Flash が好き(製品のファン)だからActionScript が好き、と言っているのではない。
ActionScript が優れたプログラミング言語だと判断しての発言なのだ。
HTML5 を選択するだけの事であり、
その別の技術を選択し、
Flash より優れた技術が登場しなければFlash を使い続ける、
ただそれだけの事なのである。
もう少し突っ込んだ話をすると
Flash のプログラミング言語であるActionScript(ActionScript 1.0)と
HTML 表示制御を行う言語JavaScript は 実は同じ言語仕様である。
『ECMAScript』という単語で調べてみてほしい。
「Flash とHTML5 は対立するもの」と考えていた人、
あるいはActionScript やJavaScript を触れたことがない人にとって
「え?そうなの?」と思う人もいる事だろう。
JavaScript は大規模開発に向いていない、という話は聞いたことがないだろうか。
同様の言語仕様であるActionScript 1.0 はこの問題を解決するため
ActionScript2.0からActionScript 3.0 へと進化していった。
Flash は開発がし易い、という話がよく挙げられるが
その理由の一つがこれである。
現行のJavaScript とActionScript 1.0 はECMAScript 3 準拠に対し、
ActionScript 3.0 はECMAScript 4 準拠である。
開発は抜群にし易い。
ECMAScript 4 準拠のJavaScript も登場する日もあったかもしれなかったのだが、
ECMAScript 4標準化が白紙、
ECMAScript 4 は無かったことになってしまったのだ。
ActionScript 3.0 で作成したプログラムが
ちなみにJavaScript は大規模開発に向いていない、という事に対し、
最近ではGoogle が新言語 Dart というものを開発している。
位置づけとしてはActionScript2.0 に近いと比喩した人もいる。
ActionScript2.0 はコンパイル時ActionScript 1.0 に変換されて出力される。
Dart も同じくJavaScript 変換機能を持つ。
先の事は誰にもわからない。
HTML5 が成長するとは必ずしも言えない。
技術者は身を持って知っている。
表示と動作の差異、技術者はずっと苦しめられてきている。
めんどくさい。コストがかかる。
HTML5 も同じ道を辿るのでは、と言われてしまうのも仕方がない。
Flash はといえば、
今でも10年以上前のスクリプト言語 (ActionScript 1.0 よりも前の言語)で
Flash が動作するブラウザがいつまで携帯に搭載され続けるのか、
まだ誰にもわからない。
今後も当面携帯向けFlash を作り続ける事になるのかもしれない。
携帯向けFlash は一つの容量が小さいというのが救いである。
IE6対応HTMLサイト制作にせよ、携帯向けFlash制作にせよ
状況に応じて何を選択するかを判断できるほどの技術力を身につける事
選択する技術に何ができて何ができないのか、
どの技術を組み合わせるとよいのか、
自ら判断できるようになった時、一人前のWeb技術者になったと言えるだろう。
一つ何かをモノにしてしまえば前述の通り移行は容易い。
それを極めるくらいまでとことん勉強してほしい。
続けていくと見えてくるはずだ。自信という名の悟りの道が。
気になった点をいくつか。
現状のHTML5 の実装具合のバラバラさに対し、
「(HTML5の)表示の差分を埋めてくれる何かが登場するかもしれない」
と言う発言があった。
言った当人も会場にいる人達も、きっとこう思っただろう。
「それってなんてFlash Player?」と。
「あれはやめたほうがいい」という発言があった。
勝手に注釈するのであればこの発言は
「Flash で作られた重たいWeb をHTML5 でまた再現するつもりなの?」
という皮肉であろう。
第壱話HTML5、襲来
第弐話 見知らぬ、ブラウザ
第参話 鳴らない、Audio
第四話 WAI-ARIA、逃げ出した後
第伍話Safari、心の向こうに
第七話WWWの造りしもの
第八話Chrome、来日
第九話 瞬間、Canvas、重ねて
第拾話 セクションダイバー
第拾壱話 静止したACID3の中で
第拾弐話 先行実装の価値は
第拾参話バグ、混入
第拾四話Firefox、魂の座
第拾伍話バグとハック
第拾六話 死に至る非標準、そして
第拾七話 四人目のECMAScriptエンジン
第拾八話DTDの選択を
第拾九話ベンダーの戰い
第弐拾参話IE
第弐拾四話 最後のCSS
第弐拾伍話 終わるXHTML2
第弐拾六話世界の中心でセマンティックを叫んだけもの
まずはRFC 1738 - Uniform Resource Locators (URL) (日本語訳)を参考にして、記号文字のURLエンコードがどのようにあるべきかを確認します。
いくらなんでもRFC 1738はないでしょ。RFC 2396 Uniform Resource Identifiers (URI): Generic Syntaxが出たのが1998年の8月だよ。最新のRFC 3986 Uniform Resource Identifier (URI): Generic Syntaxですら2005年1月、つまり2年以上前に出てるんだよ。
・・・といちゃもんつけようかと思ったけど、ECMAScript 3が1999年12月だからRFC 3986は参照できないね。さらにECMAScript 1にいたっては1997年6月だから、どうあがいてもRFC 1738しか参照できないわけだ。そのへんECMAScriptの仕様書にもちらっと書いてあるね。そこらをみんな考慮に入れて誰か改良版を作ってくれないかな、というだけいってみるテスト。
http://www.atmarkit.co.jp/news/200704/23/eweek.html
これを見て、へーと思ったので、何ができるんにゃろめとあれこれかんがえてみたりした。
<script type="text/javascript">alert('test')</script><div onClick="alert('test')">test0</div><Ahref="javascript:alert('test')">test1</A> <Ahref=vbScript:MsgBox("test")>test2</A> <Ahref="javascript:alert('test')">test3</A> <Ahref="javas	cript:alert('test')">test4</A> <div style="font-size:!!expression(alert('test'));">test5 !!を外せば動くけど死ぬよ</div><iframesrc="test.html">test6</iframe>
LiveScript
JavaTeaScript
http://www.fureai.or.jp/~tato/JS/scripttg.htm
にゃ!?
こんなにいっぱいスクリプト言語あるの・・・?