はてなキーワード: javascriptとは
https://d.potato4d.me/entry/20220405-nodejs/
が話題になっているけど、本来人類に必要なのはクロスプラットフォームな実行環境であってNodeじゃない。
TSが流行ったのはJSがクソだから。BabelしなきゃいけないのもJSにトランスパイルしなきゃいけないからであって、必要なのはJVMやCLRのような言語実行環境。
Reactが流行ったのはshadow domだけど、必要なのはDOMじゃなくてちゃんとした「アプリ」開発用のイベントモデルとレイアウトマネージャ含むGUI環境。
フロント界隈の流行廃りって本質的な改善ってよりもほかの良い技術をいかにブラウザ/Electron等JSエンジンという限られた環境に持ち込んで幸せになるかがメインに見えるので地獄に見える。
「アプリ」書くのになんでドキュメント記述用のHTMLに今ものっかってんだよと。
MavenやらGemsができて依存管理楽になったとか、RailsがでたときのようなCoC良いねとか開発の考え方を変えるフレームワーク、 rspec/Cucumberがでてテスト最高とか、c10kも怖くない非同期I/Oとか、好きな言語が使えるJVM/CLRそもサーバーならrustでもgoでも好きなものが動くとかとか本来の開発を楽にするという意味のブレークスルーってあんまりみられない気がしている。なんでフロント界隈の新技術ってあんまりわくわくしない。
逆にちゃんとしたクロスプラットフォーム実行環境がブラウザしかないということなんだけど、ブラウザなかなか進化しないし RIA は Apple 様が切り捨てるからなぁ。
ということですべてはブラウザが悪い。JavaScript 以外がちゃんと動くクロスプラットフォームのGUI環境が必要。でもプリインでモバイルでも動いてOSから独立して協調して作られていて、Webという既存の大量の資源にアクセスしやすいものは現時点で実質ブラウザ一択。つまりWASM に期待。次にHTMLであるべき文書はともかくSPAなんてもう「アプリ」なんだからHTML手書き文化もうやめてネイティブアプリ並みの GUI 作成環境も復権しよう。
するとクライアントでも好きな言語が使える。そして同じ言語がいいとサーバサイドで Node.js を使う必要もなくなりへっぽこプログラマが Node のイベントモデルを理解せずに使うこともなくなる。
そしてそれらができたときに Node というか JS/HTML の呪いから解放され人類に平和が訪れるのだ。君はその後も Node.js を使っても良いし使わなくてもいい。
作りたいものがわからんけど、googleでGASとか、codeSandboxでJavaScriptとか、google colaboratoryでpythonとかなら、適当にぐぐりながらでも書いていける気がする。
東京だと600万余裕?寝言を言ってんじゃねぇーよバーカって思ったら
PHPとJavaScriptで800万の案件あったwwwwwwwww
大草原不可避
たぶん、言語化出来ない(しない)だけで求めてるのは手を動かすプログラマでありつつの、ITコンサル・AI・ビックデータ利活用提案(PHP関係ねぇーーーー)だと思うけど、
web系は年収安いの代名詞なので気が狂っているのはネット住人
某チャットシステムのリードエンジニアの求人が650万くらいやったぞ確か
まぁ夢を見るのは罪じゃないから
ワイも騙し騙しそこそこ貰ってるしな
それだったらまだ英語で海外求人検索してリモートワーク応募した方が現実的では?
<はじめに>
読みにくいと題に書きました。この文章を読んだあなたが不快になったとしてもそれは注意書きを読んだ上であなたがあなたの判断によってあなたが読んだ文章によってあなたが不快になったにすぎず、それは完全にあなたの自己責任です。祈りが足りません。毎日もっともっと祈ってください。
<はじめにおわり>
ブログを開設して投稿しても良かったのですが、増田で投稿したほうが興味のある人に少しでも多く届くかなと思い増田で投稿することにしました。
先日、TwitterがOnion版サイトに対応したと風のうわさに囁かれました。
https[:]//twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid.onion
これがそのURLです。(Chrome、Safari、Edge、インストールした後そのままつかているFirefox、では閲覧することができません。諦めてください)
おそらくTwitter社が想定しているケースは
①何らかの理由によって、Twitterへのアクセスがエラーを吐くようになった。(生IPでのアク禁)
②ユーザーは長年使用してきたTwitterアカウントにログインして情報を得たい、情報を投稿したい。
みたいな意図なのではないかと勝手に想定しています。が、これはあくまで一民間人の主観なので流してください。
①への対策としてVPNが挙げられますが、プライバシー保護を謳う幾多のVPNがこれまで国家権力に屈してログ情報を開示してきた例を見ると(すべてがすべてノーログを謳っていたわけではない)、そこらのVPN会社を利用するよりもTorで多重化した方が少しは安心ではないかという気持ちからTwitter社がOnion版サイトを公開してくれたとしたら、嬉しいことです。
<本題>
・個人的に今利用しているアカウントにTorでログインするのは嫌なので、新規登録ができるかどうかを確認する(気になる人は既存アカウントで実験してみてください)
・Tor等を利用したTwitterアカウント作成時との比較を観察する
Torから設定→プライバシーとセキュリティ→セキュリティ(セキュリティレベル)を選び、Torでボタン一つで選択することのできるJavaScript等のトラッキング制限をどの程度選択すればアカウント作成できるかを確認します。
より安全(真ん中のレベル):アカウント作成できない(自分が確認した環境ではできないだけかもしれません、詳しくは後で記します)
最も安全(3段階で一番上のレベル):相変わらずいつも通りアカウント作成できない
アカウントを作成した感想としては、正直Onion版サイトを公開したと聞いたときには、他所のOnion版サイトのように「最も安全」でアクセス先のURLに依存したJavaScriptをいくつか許可すればアカウント作成できるのかな、と期待を胸にしていたのですが、現実としては「いつもどおりのhttps[:]//twitter.comへTorを用いてアカウントを作成するとき」と何一つとして変わる点がありませんでした。これには少しがっかりです。
Torを用いてTwitterアカウントを作成するとだいたい1ツイートまではTwitter社の宇宙よりも大きな器によって許されます。
しかし、2ツイート目をしようものなら、時間をかけてアイコンやBIO、ヘッダーを設定しようものなら「reCAPTCHAのパチモンクリア(4問正解で通してくれる神キャプチャ、お前が世界を取れ)」がやってきます。
運が良ければそのまま関門通過。運が悪ければ電話番号登録を強いられます。
今回はセキュリティの「標準」でアカウントを作成したので、ログイン後1ツイートをした後に「より安全」に上げても使えるかな?と上げてプロフィール設定をしているところで電話番号登録を要求されました。
ここ最近のhttps[:]//twitter.comは、ブラウザのセキュリティレベルを「最も安全」「より安全」にしていると「んなんか今日調子悪いわ笑」とログインページやアカウント作成ページを表示しれくれません(国際情勢が関係しているのかな?)。ですが、以前は上で書いた「他所のOnion版サイトのように『最も安全』でアクセス先のURLに依存したJavaScriptをいくつか許可すればアカウント作成できるのかな」の手順でアカウント作成をできた過去があります(セキュリティレベルを上げ忘れたままTorを利用していた可能性があります、「ですが」以降は思い出として読んでください)。
その時ですら電話番号登録まで要求してこなかったというのに、セキュリティレベルを最低まで落として、やっとアカウント作成できたと思ったら、「お前はホモサピエンスか?」とパチモンに聞かれ、全問正解したというのに電話番号まで登録を強いられる。ダルいのでこの文章は放置されている電話番号登録画面を横目に書かれています。
実験結果
ブラウザのセキュリティレベルを最低まで落とすことでアカウントの作成に成功したが、セキュリティレベルを上げて遊んでいたら(これが原因では???)電話番号登録を強いられた。
この実験結果からわかるように、新規アカウントへの優遇としてOnion版サイトを公開したとはとても思えず、既存ユーザーに向けたサービス展開と見るべきだと思う。
まず今回やったことはOnion版サイトで行わなくても、https[:]//twitter.comで再現可能だったことであり、2者の差はOnionに対応しているか否かでしかありません(緩くあってほしかった)。
生IPでアクセスできないからTor使うのにそこで電話番号登録を要求したら、電話番号を契約している本人が分かりますよね。
Onion版サイトの展開がどこの誰のためにやっているのか知ったことではないですが(良い子のみんなはソースを探してから口を開こう)、向いている方向とやっていることが少しズレている気がします。
「理不尽な事象により生IPでアク禁された人々がいる、それに対抗するためにOnion版サイトを公開する、がOnion版からであってもアカウント作成はいつもどおりです。」だと仮定すると、現状は今のTwitterが落とし込めるギリギリなのかもしれません。
TwitterくんがFacebookくんに憧れる気持ちはよく分かりますが、Tor関連を冷遇するのところまでしっかり見習わなくても良かったと思います。
腹癒せ
「Onion版サイト公開されたんですか?やったー!」「サイト公開されただけじゃないですかやだー!(少しは優遇されただろうと勝手に思っていた筆者が完全に悪い)」をしたので、初めの方に少し書いたVPNについて少し。ノーログを謳うおすすめの紹介です。VPNを使ってたとしても、画面の向こうにいる人間に配慮しながらインターネットを利用しましょう。もうページを閉じてインターネットに帰っていいですよ。帰りの会は終わりました、事務連絡は済ませたのでここからは雑談です。
Mullvad(有料)
一言:広告を一切していないので、検索して出てくるMullvadの感想はPRを含みません。すげぇ
IVPN(有料)
一言:他所のノーログを謳うVPNサービスは月当たりの通信量の制限があったりしますが、ProtonVPNにはそれがない。そこがすごい。本当にすごい。無料で始めたかったらProtonを使ってください。
OVPN(有料)
一言:2月から#StandWithUkraine https://www.ovpn.com/en/blog/standwithukraine というページを公開し、ウクライナの人への応援をしている。すごい。「ウクライナ人はサポートに連絡したら無料のVPNが用意してあるぞ」と言ってる。かっこいい、抱いてほしい。それはそれとしてOpenvpnの拡張子が.ovpnだから検索結果がOVPNとめっちゃ交じる。マジ卍
個人的には薦めないけれど、生IPよりかは良いんじゃないんですか、有名で使っている人も結構いますよね、好きだったら使えばいいと思います4選(それぞれノーログを謳っています)
NordVPN(有料)
一言:有名、紹介料いくらか知らんけどプライバシー特化おすすめVPN○選!みたいな記事ではいつもいるやつ。ちなみにそいういう記事に限って上の4選の奴らはいません。
一言:買収されて運営会社が変わった。NordVPNを紹介している記事は大体ExpressVPNも紹介している感じのアレ。
PIA(有料)
https[:]//www.privateinternetaccess.com
一言:゚(゚´ω`゚)゚。ピーア 日本人ではNordとExpressよりは使っている人は少ないんじゃないかな。
AirVPN(有料)
最後に
https://gigazine.net/news/20211015-former-malware-kape-technologies-owns-vpn-services/
とあるエロサイトは最新の数十件しか表示されないからF5を押して常にPCの前に張り付いていた。
1日中F5を押すのは時間も労力も掛かるためpythonで自動スクレイピングツールを作った。
1分毎にページを取得してお目当ての動画URL等をデータベースに格納。
重複する動画は無視した上で格納。これにより無駄な閲覧をなくすことが出来た。
データベースから取得してHTMLを自動生成するツールも作った。
各画像の表示はjavascriptで描画位置を計算することで実現。
これでかなりの時短になることは間違いない。
https://www.publickey1.jp/blog/22/javascripttypes_as_commentsjavascripttc39.html
Javascriptが登場したころはVBでさえ、型宣言は省略せずにしっかりしようって言われてたのに、その後Perl、Javascript、Ruby、PHP、Pythonなど、動的型の言語が広まってしまう。
その後に一部で関数型の言語が流行ったり、Rust、Go、TypeScript等が影響力をもって、JS,Ruby,Pythonでも型チェックのしくみを取り入れようという動きがでてくる。
「プログラミングに必要なのはググる力だ」などとまことしやかに言われます。が、これは嘘なので、プログラミング初心者は(中級者以上も)真に受けないで下さい。そして、プログラミング教育に携わる人は、こういう有害な嘘を広めるのはやめて下さい。
なお、ここでいう「プログラマ」とはプログラミングを仕事にする人、または作成したプログラムを公開する人を指しています。純粋に趣味でプログラミングをしており、ソースコードもソフトウェアも公開するつもりの無い人は、どんな方法でプログラミングをしようと自由です。
プログラマに(プログラマに限らず)必要なのは、自身の専門分野に関する基礎的かつ体系的な知識です。それらが不足していては、「ググる」ことさえままなりません。英語で喩えれば、時制や不規則動詞という概念を知らずに辞書を引いて、「I saw him yesterday. 」の「saw」をのこぎりのことだと思い込むようなものです。要するに、調べたい事項が何に関するものなのかを理解していなければ、調べようがないのです。
それでは、プログラミング初心者にとって必要な基礎知識は具体的にどのようなものでしょうか。
まず当然ですが、自分が使っているプログラミング言語やフレームワークの機能は一通り知っている必要があります。組み込みのデータ型や制御構文はもちろん知らなければいけません。高階関数、クラス、非同期処理等の発展的な機能も知る必要があります。言語だけではなく、パッケージマネージャ、タスクランナー、単体テストツール等の周辺ツールの理解も必要です。また、「コードコンプリート」とか「Effective ○○」のような書籍に書いてあるような設計・コーディングのベストプラクティスも知らなければいけません。要するに、現代のプログラミングの「常識」は全て知っている必要があります。
そもそも「そういう機能が存在する」と認識して初めて「調べる」ことができるのです。列挙型という機能の存在を知らずに「Javaで列挙型はどう書くのだろう」と調べることはできません。非同期処理の存在を知らずに、「JavaScriptで非同期処理はどう書くのだろう」と調べることはできません。
では、そのような一通りの知識を身に着けるためには、どのようなリソースから学ぶべきでしょうか。
逆に、Wikipedia、Qiita等の個人が趣味で書いた記事、プログラミングスクールの記事、プログラミングスクールや家庭教師、etcを主体に学ぶのはやめるべきでしょう。
もちろん、特定の話題について調べる過程で、非公式の情報に行き着くことはあるでしょうが、そこで使用されているライブラリ等の仕様については、必ず公式ドキュメントで裏を取るべきです。
時々、こういった正式なドキュメントを読むことが、初心者にはハードルが高いと言う人がいます。しかし、冒頭で述べたようなプログラミングを仕事にしようとしている人達が、こういうことができないのはおかしいです。
実際、公式ドキュメントを読むことはそれほど難しいことではありません。有名な言語やライブラリ等のドキュメントであれば、高校程度の数学力英語力とある程度のコンピュータ操作の経験があれば、理解できるように書かれています。その程度の素養も無いのにプログラマ(特に職業プログラマ)になろうとすることが、そもそもおかしいのです。運動が苦手なのにプロスポーツ選手になろうとするようなものです。
自社サに潜り込んだ。そんで、SES とはおさらばしたよ。もう昔の話だけど、Java と JavaScript とクラウドができたから採用されただけだけど。結局は親の仕事を継ぐために別業界に来ちゃったけど。
2016年のJavaScript fatigueのときに似たようなことを感じてwebから離れてしまった
今でも状況変わらんのかな
reactが天下をとって安定したとも聞くが
やってくれてありがとう。
でも質問が悪かった。あやまる。
正確に言うとGoogle Apps Scriptなんだ。
GASでは無理だけどjavascriptではできるのか。
どこに打ち込んだのか知らないが、打ち込んだ先のサーバで原因不明のエラーが発生しているが、JavaScript自体のエラーではない