はてなキーワード: ECMAScriptとは
>nodejsについて、nodejs+expressをローカルマシンで動かす場合使用する言語はjavascriptなのでしょうか?
現在はDenoが強く推奨されているようですが。
ECMAScriptが標準になりますが、Node.js独自のライブラリー、Expressを使うなら当然Expressのライブラリー、その他の外部ライブラリーなどが普通に使われます。
外部ライブラリを使用可能にするには事前にインストールが必要です、外部ライブラリを使う場合には「require()」などで参照が必要です。
なので当然ECMAScript以外の勉強も必要です。
素のJavaScriptは大規模開発に適さないので、TypeScript化することで大規模開発に適します、小規模開発なら素のJavaScriptでおkです。
TypeScriptは学習難易度が高いのがデメリットです。
この業界が息苦しいなと感じているものの、この業界に居続けている
トレンドを追うと、高速化や効率化みたいな内容しか出てこない。
自動デプロイだの、描画速度の向上だの、テスト自動化だの、新しいAWSのサービスだの…
一からサービスは作れるし、外部サービスの連携はAPIを見ればプレーンで書ける。
VPSみたいにサーバー用してもらえれば、プレーンで運用も出来る。
でも、プレーンで描くと「車輪の再発明」だの「再利用出来ない」って言われる(幻聴かもしれんが…)
いかにシェア率が高いメジャーなライブラリや方法を使って開発する事ばかり
フロント周りもそう
この世界に入った時は、色々華々しい事ができるって思っていた
実際は、開発環境やらモダンな開発手法やらごった煮なお作法を勉強しないと「トレンドを追え」と鼻で笑われる
フレームワークやらECMAScriptを使わず、プレーンで描いたら白い目で見られる。
そこまで使いこなせて初めて新しい技術を触る権利がある位面倒くさい
追ったら追ったで、「これ今すぐ使う必要なくね?」ってなって勉強の意義を見出せなくなる
今の自分が、コピペで開発で満足していた過去の自分を見たら、自分を説教してくれた先輩のように説教をするだろう
「ブログを鵜呑みにするな、ドキュメントを見ろ」「コードはコピペすんな、書け」「闇雲に手を加えんな、ログを読め」ってね。
ただ、あの頃みたいに、とりあえず作ってブラッシュアップして行こうっていう気持ちが今もあればまた違ったのかもしれない
プログラムは所詮道具なのに、道具の手入ればかり勉強している気がして何か窮屈だなって思う
だけど、その思考で数年やって来たからこの思考から抜け出せない。
ES5に見えたのでECMAScriptがなんでデブなんだろうと思ってしまったw
ECMAScriptとJavaScript の違いを教えてください。おじさん。
それはある
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人で更新する分には静的サイトジェネレータを使ったほうが簡単で、GitHub Pagesなどで無料で公開できるので、実際の運用には至りませんでした。
やはり、自分はデザイン系の会社が求める人材ではないと思います。
応募資格の時点でほぼ応募できる会社が存在しない中、応募資格を満たす会社に片っ端から応募して、数社面接までたどり着きました。SES以外面接落ち、SESの会社は一次面接通過後に辞退させていただきました。
面接で基礎的なコンピュータサイエンス/アルゴリズムの知識を問われる可能性を考えて、それらの基礎も学習をしましたが、これもまた面接で使用する機会がありませんでした。(それ自体は無駄ではなく、むしろ自分のためになるものでした)。
私の文章力が低く、読みにくい文章であったとすれば、申し訳ございませんでした。これでも下書きを一度破棄し、表現に気をつけながら、書きあげるのに数日を要しました。これが私にとって初めての増田での投稿で、「この内容を登録する」ボタンを押すのにも勇気が必要でした。
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 vs Flash 的な読みやすい記事に耳を傾けてしまう人はいる。
Apple 製品を好む人は「ジョブズがそう選択したのだから」と
なおさらこういった記事に目を向けてしまう。
「Flash vs HTML5 の話にのせられてしまうのは、よくわかっていない人だ。」
ディスカッション内では、
ネット上の煽り記事を読み不安に思ったクライアントから連絡を受け
きちんと状況をゼロから説明するハメになってしまった、という内容があった。
似たような状況になっている人もいるのではないだろうか。
当方周辺では、
「Flash は駄目だ」「Flash でなくても HTML5 ならできるはずだ」
「HTML5 は Flash の代わりになるものだと言われている」と
クライアント、あるいは仕事先の関係会社から耳にする機会が増えてきた。
技術者の及ばないところで
ベターではない技術が選択、あるいは勧められてしまう やっかい性。
その記事は世間の目には届かない。
TV CM でバンバン流れている iPhone や iPad では Flash を見ることができない
という状況に乗じた
勘違いを正すためには、今までよりもより一層
あるいはメッセージを発信するよう心がけていかねばならないと感じる。
パネリスト達のような
Flash を扱う事が可能な技術力を持ち合わせている人にとって
Flash が終わろうが、代わりの技術が HTML5 やらその他何になろうが
大した影響はない。
『プログラミング』についての話をしてみる事にする。
「世にあらゆるプログラミング言語があるが
「何か一つ言語を習得し
『Flash の事は全く知らないがプログラミングプロフェッショナルの人』
が近くにいるならば是非上記について伺ってみてほしい。
その通りだと答えてくれるはずだ。
他の言語で作ったものを Flash のプログラミング言語に移植することも容易いのだ。
ここで上記三行の「他の言語」を「JavaScript」に置き換えてみてほしい。
HTML の DOM 操作に必要な言語は JavaScript である。
言語は、Flash ならば ActionScript、HTML5 ならば JavaScript を用いる。
画面描画は
あるいは用意されている描画用 API を ActionScript で呼び出し、
あるいは用意されている描画用 API を JavaScript で呼び出す。
Flash と似たような技術として Java Applet や 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 はこの問題を解決するため
ActionScript 2.0 から ActionScript 3.0 へと進化していった。
Flash は開発がし易い、という話がよく挙げられるが
その理由の一つがこれである。
現行の JavaScript と ActionScript 1.0 は ECMAScript 3 準拠に対し、
ActionScript 3.0 は ECMAScript 4 準拠である。
言語として進化しているものを Flash は採用しているので
開発は抜群にし易い。
ECMAScript 4 準拠の JavaScript も登場する日もあったかもしれなかったのだが、
ECMAScript 4 標準化が白紙、
ECMAScript 4 は無かったことになってしまったのだ。
ActionScript 3.0 で作成したプログラムが
ちなみに JavaScript は大規模開発に向いていない、という事に対し、
最近では Google が新言語 Dart というものを開発している。
位置づけとしては ActionScript 2.0 に近いと比喩した人もいる。
ActionScript 2.0 はコンパイル時 ActionScript 1.0 に変換されて出力される。
Dart も同じく JavaScript 変換機能を持つ。
先の事は誰にもわからない。
HTML5 が成長するとは必ずしも言えない。
技術者は身を持って知っている。
表示と動作の差異、技術者はずっと苦しめられてきている。
めんどくさい。コストがかかる。
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> <A href="javascript:alert('test')">test1</A> <A href=vbScript:MsgBox("test")>test2</A> <A href="javas cript:alert('test')">test3</A> <A href="javas	cript:alert('test')">test4</A> <div style="font-size:!!expression(alert('test'));">test5 !!を外せば動くけど死ぬよ</div> <iframe src="test.html">test6</iframe>
LiveScript
JavaTeaScript
http://www.fureai.or.jp/~tato/JS/scripttg.htm
にゃ!?
こんなにいっぱいスクリプト言語あるの・・・?