+ JavaScript の質問用スレッド vol.136 +
■ このスレッドは過去ログ倉庫に格納されています
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください
■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」から解離した議論はよそでやること。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです >>100
お前が「ウンコ」と100回書く
お前がPCを落とす
相手1が「チンコ」と書く
相手2が「マンコ」と書く
相手1と相手2はこれを100回繰り返す
一ヶ月後、お前がPCを立ち上げサイトを開く
お前の書いた「チンコ」100回がチンコマンコ100セットの上に現れるが流れてしまっていて相手1も2も気づかないし時すでにお寿司
「チンコ」って超重要な情報だったのに!一ヶ月も前に書いといたのに! >>101
いや、そうはならないでしょ
「お前」というのがサバ側の立場ってことだよね?
ならそもそもサバ側が立ち上がっていないとまず読み込めないし、
正常に書き込めないのだからそんな驚くような不思議挙動は起こりえない
普通に考えて遅延投稿も短時間の施行だけで良い
そういうレアなタイミング問題は考えても無駄
PC落とせばそりゃあサーバー落としたのと同じだから読み書きができない
それが嫌なら落とさなきゃいい、それだけ 事実上自分が中央集権サーバーになるんだな。
自サバをインターネットに晒してた時代に戻ったみたいだ。 インターネットに晒さないコンピュータをサーバと呼ぶ時代っていつだ Javascriptでブラウザーの「進む,戻る」ボタンを検知しようと思い調べ、
window.addEventListener('popstate', function(event) { .....
で、検知可能なのは確認できたのですが、
「進む,戻る」の区別が出来ません。
区別する方法をご存知の方、ご教示下さい。
よろしくお願いいたします。 戻る進むの区別は必要ない
どのstateの表示が求められているかを考えればいい >>107
無い
前後のhistory取ってそれと照合するしかない
めんどくさそ〜 >>110
俺が決めても必要がないものは必要がない
必要がないと言うかナンセンス
概念上いきなり過去のstateが開かれることもあるし、飛ぶことだってある
「戻る」「進む」という概念はナンセンス
pushするときはそのstateで必ず状態を復元できるようにする php使わないでサイト作れる?
それともNode.jsあれば作れる? 87だけど、結局PHPで作ることにしたわ
何か負けた気分・・・ >>116
何がだよw
インターネットの仕組みをよく考えろ Webアプリ初心者がNode.jsに手を出すもんじゃない
どうせ後で詰まって時間を無駄に浪費する wordpressかなんかでいいんじゃない
あんまり低級なとこ触るとしんどいよ JavaScriptでcookieの(expireなどの)属性は設定できるけど、document.cookieをconsoleで表示させると属性が見えないんだけど、これは普通ですか?
Choromeのdeveloper toolとかじゃ設定されてるようなんだけど >>122 >>123
ありがとう。 これが仕様なんですね。
cookieStroeをgoogleするとAngularとかJavaでヒットするけど、生のJavaScriptじゃヒットしないような >>125
ありがとう。 まだ初心者なんで。
でも ChromeのDeveloper toolのコンソールで実験してもbrowserとかcookeisとかcookieStoreとかにアクセスできない。
これはWebExtensionとかいうのだから、普通のhtmlに埋め込んだJavaScriptからアクセスできるのでしょうか?
なにかimportとか外部ファイルを読み込む必要があるのでしょうか? WebExtensionsはブラウザの拡張機能でのみ使えるAPI。通常のページからの使用はできない cookieStroe APIは確か今origin trial中でしょ
googleに自分のドメインを申請したサイトだけで使える
まあ今年度末くらいにはモダンブラウザで普通に使えるようになるんじゃない >>126
初心者であることはなんの免罪符にもならないので
あまり書かない方がいいよー
その方が学習が円滑に進むよー >>131
それdocument.cookie操作してるだけだから有効期限とかそいうのは取れないでしょ
それにjquery.cookieのプロジェクトはjQueryプラグインやめて単独動作可能なjs-cookieに移行してる おいおい、俺がいないうちに勝手に敗北とか言われてもな。
cookieはDOMじゃないんだから、そもそもjQuery厨の俺の意見として
jQueryプラグインとするなと言うべき案件だぞ
セレクタとどう組み合わせるんだ?って話だ
ということでjQuery厨の勝利だな。 >>127 >>128 >>129 >>130
ありがとうございます。 すっきりしました。 document.cookieは間違いなくDOMの仕様 DOM Level3以降の仕様からは消されたけどなw 脳足りんだな
いくら消されようと改めて定義されたり他と矛盾したりしない無い限り
その仕様は引き続き有効なんだよ Version3ではなくLevel3なのだから
Documentにcookieというプロパティを生やすのはずっとDOM2が参照されている
document.cookieは間違いなくDOMの仕様
脳足りんだな じゃあjQueryはDOM"要素"操作ライブラリって言えば納得するんか?
単なる言葉遊び、本質は変わらんよ 本質は変わらないんなら何故「cookieはDOMじゃないんだから」とか言ったんだ? >>138
こういう人がいつの間にか動いていないシステムを作ってるんだろうな、と思う 何の仕様か良く分かってなかった人よりはずっと良さそう こいつDOMとHTMLの区別がついてないんだろ
「DOM要素」とかオレオレ用語使ってるし
DOMはDocument Object Model、ドキュメントのモデルであって
HTML要素はそこにマップされる仕様の一部でしか無い
document.cookieが「DOM上での要素」でないのは当たり前
しかし「DOM仕様の一部」であることは疑いようがない
Documentのインターフェイスを定義してるのがDOM仕様なのだから
document.cookieがDOM仕様でないはずがない The HTML DOM Element Object
https://www.w3schools.com/jsref/dom_obj_all.asp
要素は英語でElementっていうんやで >>145
document.cookieが「DOM上での要素、DOM要素」でないのは当たり前 なんだぞ cookie操作においてjQueryはオワコンってことじゃん 条件付きでオワコンと言うことは、
それ以外ではオワコンではないと言ってるのと同じやで web初心者です
主に他の業界を担当してました。
仕事やその案件の勉強のためにちょこちょこ色んなところを薄く手を付けてたら分からなくなってしまい、ここに質問させて下さい
▽今の状況
・progate(入門レベル)のHTML、CSS、javascript ES6はやった
・参考書でHTMLからidで取ってきて書き換えたり出力したりしてみた
・参考書を見てボタンクリックされたときの挙動書いてみたりした
・ローカルでHTML、CSS、jsファイルを作ってプログラムを書き、HTMLを開いて確認している
・PHPは少し分かる
・Node.jsを少し触らせて貰ったことがあり、そのときは開発サーバーでいじっていた
・他の言語の経験有り
▽
入門から実際にwebサイトを作るところでつまっています
ローカル環境で試したいです
以下、質問です
・フロント側もXAMPPのApacheとかでDocumentrootを指定して動かしてみたりした方がいいんでしょうか
・フロント側はHTML 1ページ(1ソースファイル)に対してjs 1ファイル(ページの挙動など)用意する感じなんでしょうか
・上の質問と繋がるのですが、Node.jsを触らせて貰ったとき、継承したりimportしたりしてましたが、フロント側も使ったりする機会はあるんでしょうか
(モジュールに分けて書くことがあるのか)
・DBから値を取得したりするのは素のHTML、jsでも出来ますか?Node.jsのようにサーバーサイドだけでしょうか
それとも、例えば表を作るときに、中の文字列などは仮置きで入れておいて、サーバーサイドのフレームワークなどに作成したファイル群を入れて、DBから取得してきたデータを仮置きしていた文字列部分を変数に変えて書き換えてもらうんでしょうか
例えばPHPのフレームワークのlaravelだと、phpでDBから取得する処理を書いて、bladeに渡して表示すると思いますが、
大体は先にフロント部分を作っておいて、サーバーサイドのフレームワークに乗せる、みたいなやり方なんでしょうか
長文、そして質問が分かり辛くてすいません…
教えてくださる方がいれば幸いです >>150
最初に言っておくと、Node.jsの導入って結構めんどくさい
廃れる可能性もあるから、要注意
・フロント側もXAMPPのApacheと
そう。テスト環境はXAMPPが良い。phpバージョンの差異には気をつけて
あとhosts書き換えることを覚えると良い。「ローカル 開発 hosts」でぐぐってみて
・フロント側はHTML 1ページ(1ソースファイル)に対してjs 1ファイル
大抵はjQueryと自前のjsの2つを読み込む。
ブラウザゲームのページを作るなど、よほど大きいコンテンツじゃない限りひとまとめで良いよ
分けても管理面倒なだけ
・継承したりimportしたり
継承ってのは多人数で開発する時に、機能を共有するためのもの
自分一人でブログサイト作るぐらいなら継承が必要な場面は無い
importはしたほうが良いが、多分どこで切り分けるかは分からないと思う。これは慣れなのでとりあえずやってみると良い
・DBから値を取得したり
サーバーサイドだけ
書き方はこんな漢字
https://qiita.com/AKYM21/items/5da2d8813bd8df5ab296
何を作りたいかは知らないけど、wordpressでもSymfonyでもフレームワーク使ったほうが楽と思う Node,jsのが廃れるの?Vue.jsじゃなくて?? ここまできたらそうすう廃れたりはないだろうけど
なんで急にvueの名前出してきたのか? >>153
可能性ね
phpとjqueryは腐らないだろうけど、Node.jsはそう遠くない内に衰退すると思っている
これは俺のカンなので、反論されても困るゾ >>152
おおおおおお…!!
ありがとうございます!
モヤモヤしてたとこが晴れました!
あとやっぱjqueryもやった方がいいのか…
お答え頂いたことを参考にやってみます
ありがとうございました! そりゃ出来は良くても敷居が高い言語より出来が酷くても敷居が低い言語が残るよ
何人月で計算して数集めて、みんなでスパゲッティを作るのさ フロントエンジニアがやりたいのにバックエンドに入れられた
転職しよっかな… フロントは本当に気楽だからな〜
phpは止まったら死亡
dbは難易度高すぎィ! むしろDB大好き
でphp嫌い
だからフロントに行きたい 楽なのはサーバーサイドで、気が楽なのはフロントだな >>161
お、客の誤字の責任を取らされる世界に来るかね? >>144
>>134をよく読め
「cookieはDOMじゃないんだから」と書いてる >>163
デザイン系が好きなんだ
理系だけど大学はデザイン系に行ってた
なんのデザインも扱えないサーバーサイド楽しいと思う? フロントは気が楽って実際にやってみればわかるけどクソ大変だぞ
上流が何も知らないと何故かサーバを作るところから始まるし、実現不可能なワイヤーフレームが上がってきたら出来ない理由を1から教えてあげないといけないし、デザインが期日通りに上がってこなかったらアラートも出さないといけない それで上がってきたデザインがjpegやpdf,excelだったりする
クライアントが実際にものが上がらないと見てくれないところの場合、デザインがなくてもそれっぽく見せないといけないし、デザインないのに大量に戻しを入れられる
上流の遅れのツケが全部下流に回ってきて、土日祝日構わず働かないといけないこともあるしサイトが24時公開の場合は時限公開しても待機してないといけない
給料も安いしよっぽどのどMじゃないとフロントエンジニアは出来ないね >>164
ばかか。だから>>144で "DOM要素" って訂正してるんだろ
なんかその感じだと DOM要素だったら間違いじゃなくなるから
訂正を認めないって必死になってる風に見えるぞw >>156
初心者は最初はフレームワークオススメしない
素でSQL書くようにしなさい
それをやっていく過程で、「こんなデータが送られてきたらやばくね?」とか気づく
そうしていくうちにセキュリティ意識が高くなるって自分でテスト攻撃と防御をするようになる
「フレームワークは中身何やってるんだかわからね」って感じになるから初心者は手を出すべきではない >>159
両方できるようになるべきだからその環境を喜べ フロントはjsでデータ保持して必要なときにajaxでバックエンドや他サービスへAPIリクエストするのが今後の主流だからその技術力がないとね
まあreactとか使うからバカでもできるんだが 今はサポートライブラリがたくさんあって公式でもsuspense来るからそうだけど、当初はreactでajaxは鬼門だっただろ。
少なくともバカには出来なかった。 jQueryのajaxの記法が変わった時は冷や汗が止まらなかった >>168
要素限定はお前が勝手に主張してるだけだろ
documentやwindowに.on()出来るし、.children()があるだろ
computedStyleはdefaultView見てるし、コンテキストオブジェクトでdocumentを指定出来るじゃないか >>150
Ruby on Rails, Sinatra をいじくり回すのが早い
DB アクセスは、フレームワークに付いている
HTML, CSS(SASS), JavaScript(JS) も使う。
JS は、jQuery, Vue.js, Node.js なども使う
テンプレートエンジンは、PHP に似た、ERB
<% price = 2500 * 1.05 %>
<p>
本の値段は<%= price %>円です。
</p>
Ruby で、PowerShell から、Web サーバーを起動すると、WEBrick が起動する。
ruby -run -e httpd . -p 8080
これだけで、index.html にアクセスできる。
http://localhost:8080 プログラマースレでRubyはオワコンみたいなのを読んだんだけど、どうなの?
javaとかより短く書けるからやってみたいなとも思うけど、今更なのかな?と思う気持ちもある 短く書ける事に何かメリットを感じるのなら、学習してみればいいんじゃないかな
俺にはちょっとよくわからない感覚だ >>173
なんで冷や汗が出るの?
古い記述が使えなくなったわけでもないし、
新しいjQueryにすぐに置き換えなければいけないわけでもないだろ >>176
世界的に使われなくなってるしそもそも嫌われてるからやらないほうがいい
気持ち悪い宗教に入信するのと同じレベル
短く書けるとか関係ない
世界の潮流に従うべき Python ブームに乗って、Pythonやった人が、ほとんど自滅してる
Ruby の偽は、nil, false の2つだけ。
一方、JavaScript(JS), Python, PHP などは、偽が10個ぐらいあるから、まともにプログラミングできない
Rubyは、jQuery のように、メソッドチェーンで書ける。
関数型。
加えて、オブジェクト指向 + Duck Typing で、JS のようにうっとおしい事もない
スコープが厳格だから、外側の変数を、内側へ通さない。
スコープを変える、メタプログラミング・DSL 用のメソッドが、区別されている
Sinatra をフルスクラッチで書くと、Web プログラミング・フレームワークの基本を学べる。
その後、無料のRails チュートリアルをやってもよい
Progate でも、途中まで無料でやれる Pythonは機械学習専用だな
webサーバーでpython使うメリットは、元々python使える人が楽に導入できるって程度のもの
それを知らずにpythonでwebは茨の道 >>180
これが典型的なruby使い
まず他言語を落としてから、rubyを持ち上げる
そりゃー嫌われれる そういえばRubyは言語自体よりコミュニティの
勘違い野郎たちの方に問題があるってきいたわ AWSでサポートされただけでtwitterのトレンド入りした化石言語のCOBOLこそが最強 今さら激遅ruby、さらにもっと遅くなるRails使うとかあり得ねえわ Ruby で、web プログラミングでも、HTML, CSS(SASS), JavaScript(JS) も使う。
JS は、jQuery, Vue.js, Node.js なども使うし、
JSは、Rubyに似せてくるから、Rubyをやって損はない
Windows でもファイル操作できるし、ツール作りにはよい。
PowerShell よりも使いやすい
Python は、AI・機械学習・数学統計・ラズパイとか。
普通のweb やると、爆死する
掌田津耶乃の本も、出たばっかり。
Python Django 超入門、2018
Node.js超入門、2017 windowsでrubyはねーよ
どれだけ知ったかなんだ >>180
> JavaScript(JS), Python, PHP などは、偽が10個ぐらいあるから、まともにプログラミングできない
今すぐ10個挙げてみろやホラッチョ糞Rubyキチガイ。
jsの関数相当がメソッド、Proc、lambda、ブロック、と4つもあり、
すべて変換が必要で、
それぞれ細かな挙動が異なり、
関数がファーストクラスオブジェクトではないクソ言語が流行ってるから!Rubyでもできるもん!
と関数型を標榜するとはヘソが茶を沸かすわwwwww rubyだけは使わない方が良いという分かりやすい流れ サーバーサイドもフロントも両方やるけど、フロントのが大変だが気は楽だぞ。
バックエンドほどクリティカルなもんが多くない。 AudioElementのaudio.volume=0.3とWeb Audio APIのgain.value=0.3とでは音量が後者の方が小さく聞こえます
同じ値を設定したときの音量を統一したいのですが、どのようにするべきでしょうか? 結局、jQuery房のDOM要素は完全敗北したのん? 音量調整とか地獄すぎるな
端末やブラウザで変わりまくるんじゃないか フルスクラッチでwebアプリケーションを開発することになりました。
選定した技術について、色々とご指摘いただけると嬉しいです。
■インフラ
・Google App Engine Standard Environment(以下GAE/SE)
https://cloud.google.com/appengine/docs/standard/?hl=ja
■言語
node.js
■フロントエンド
GAE/SEにService Aとしてデプロイ
nuxt.jsを使いSSRする
もちろんSPA、PWAに対応
■バックエンド
GAE/SEににService Bとしてデプロイ
Apollo Server (RESTではなくGraphQLを使う)
https://www.apollographql.com/docs/apollo-server/
■データベース
Cloud Datastore
https://cloud.google.com/datastore/?hl=ja ■ このスレッドは過去ログ倉庫に格納されています