20/09/13 19:58:06.54 8aNWh6BR.net
>>109
HTMLの構造を変化させなければ、なにも外部にもれない
お前のやり方が根本的に間違ってるんだよ
113:デフォルトの名無しさん
20/09/13 20:02:13.75 24n75C+P.net
>>106
理由が出来た時に容易に対応できるようにコンポーネントにするんだよ
114:デフォルトの名無しさん
20/09/13 20:03:05.61 8aNWh6BR.net
>>113
YAGNI(それは必要にならない)
KISS(シンプルにしておけボケ)
115:デフォルトの名無しさん
20/09/13 20:08:02.62 24n75C+P.net
>>112
いやいや
HTMLの構造はこうですって、仕様にしちゃったらそれはもう外部に漏れてんだよ
その仕様を前提に、どこのだれがどんなCSSを書いたかなんてわからねえぞ
いざHTMLの構造を変える時に、無駄な調査工数がかかる
HTMLは仕様ではなく実装である、とすればHTML構造はいつでも変化しうるんだ、ということが誰にでもわかる
なのでCSSを気軽に追加するバカもいなくなる
コンポーネント内部のHTML構造の変更のために、バカバカしい調査をする必要もなくなるわけだ
116:デフォルトの名無しさん
20/09/13 20:08:11.90 bz2S3zJv.net
オンライン会議の参加者それぞれにexeファイル渡し、マイクから発言時間をリアルタイムで記録して会議の進行役が盛り上がり具合を見れるものを作ろうと思ってます
とりあえず触ったことのあるc#で音声認識ライブラリを使って時間を記録し、それをデータベースに送信して管理する形を考えているんですが
、言語とか使うデータベースこんなのがいいってありますか?
ズブズブの素人なので的はずれなこと言ってたらごめんなさい
117:デフォルトの名無しさん
20/09/13 20:08:45.61 8aNWh6BR.net
>>115
> HTMLの構造はこうですって、仕様にしちゃったらそれはもう外部に漏れてんだよ
それは仕様なんだからインターフェースだ
デザイナと共同作業をする場合に必要なことだ
118:デフォルトの名無しさん
20/09/13 20:09:13.68 8aNWh6BR.net
>>115
> その仕様を前提に、どこのだれがどんなCSSを書いたかなんてわからねえぞ
デザイナーの仕事だ、お前には関係ない話だ
119:デフォルトの名無しさん
20/09/13 20:09:31.03 24n75C+P.net
>>114
した結果がコンポーネント
120:デフォルトの名無しさん
20/09/13 20:10:06.72 8aNWh6BR.net
>>115
> いざHTMLの構造を変える時に、無駄な調査工数がかかる
いちいち変えるな。仕様として決めないで
いきあたりばったりで作業してるから、変えることになるんだろ
無駄な調査工数がかかるのも、いきあたりばったりで仕様を残してないからが一番の理由だな
121:デフォルトの名無しさん
20/09/13 20:10:48.20 24n75C+P.net
>>117
インターフェースは軽々しく変えてはならない
HTML構造はインターフェースほど安定したものではない
ちょっとした要件の変化に応じて変えていくものだ
HTMLはインターフェースにはなりえない
122:デフォルトの名無しさん
20/09/13 20:11:24.96 24n75C+P.net
>>118
関係ないで無視したらデザインがぶっ壊れるだろ
123:デフォルトの名無しさん
20/09/13 20:11:57.70 8aNWh6BR.net
>>115
> HTMLは仕様ではなく実装である、とすればHTML構造はいつでも変化しうるんだ、ということが誰にでもわかる
HTMLの構造は要求が変わったときだけ変化する
見た目が変わっただけでは変化しない
逆に言うならば、見た目を変えるだけならば、HTMLの構造は変化しない
それはすなわちコンポーネントを変更する必要がないということだ
見た目は容易に変わるが、コンポーネントの機能はさほど変化しない
お前のように見た目とコンポーネントが強く結合してしまってりゃ
見た目の変更でコンポーネントに修正まで入るんだろうなw
124:デフォルトの名無しさん
20/09/13 20:12:48.01 8aNWh6BR.net
>>122
> 関係ないで無視したらデザインがぶっ壊れるだろ
HTMLの構造を勝手に変えるからだ
仕様なんだからちゃんと連携とってかえろ
お前のように見た目とコンポーネントが強く結合してしまってりゃ
見た目の変更でコンポーネントに修正まではいってそれどころじゃないんだろうがなw
125:デフォルトの名無しさん
20/09/13 20:12:49.66 24n75C+P.net
>>120
だから何度目だ
変えなくてもいいようなド単純なオモチャアプリケーションならHTMLは固定、で許されるのかもしれねーが
そんなオモチャは学生の課題ぐらいでしか通用しないよ
今はエンタープライズの話をしてるんだが
126:デフォルトの名無しさん
20/09/13 20:13:54.80 8aNWh6BR.net
> 変えなくてもいいようなド単純なオモチャアプリケーションならHTMLは固定、で許されるのかもしれねーが
どんなものでも要件が変わらないならばHTMLは固定でよくなる
状態によって、HTMLの構造が変わることはない
127:デフォルトの名無しさん
20/09/13 20:14:19.93 24n75C+P.net
>>123
だから何度目だ
エンタープライズでは機能が変わっていくんだよ
オモチャアプリケーションを前提に話すのいい加減やめたら?
128:デフォルトの名無しさん
20/09/13 20:14:59.29 e9EK7dt7.net
ガワ変えられない設計はあかんやろ
129:デフォルトの名無しさん
20/09/13 20:15:04.33 8aNWh6BR.net
エンタープライズっていうのなら、コンポーネントの開発者と
デザイナーは担当者が別だ。
別々の人が並行して作業できなければ役に立たない
130:デフォルトの名無しさん
20/09/13 20:15:45.05 8aNWh6BR.net
>>127
> エンタープライズでは機能が変わっていくんだよ
機能が変わるってことは要件が変わるってことだ
お前はまったく別の話をしている
状態によってHTMLの構造は変わらないという話をしてる
131:デフォルトの名無しさん
20/09/13 20:18:12.95 lu6eiMc4.net
>>116
一定時間ごとに画面のキャプチャを収集して画像の差分を追いかけて
サボってるやつ検出するやつ作ろうぜ
132:デフォルトの名無しさん
20/09/13 20:18:49.06 lu6eiMc4.net
いや、やっぱやめて絶対に作らないで
133:デフォルトの名無しさん
20/09/13 20:19:06.00 24n75C+P.net
>>124
話を理解してくれ
連携を取れというがその連携が大変だと言ってるんだよ
HTMLを仕様として周知してしまったから
他の開発者やデザイナがそのHTMLを前提にCSSを開発することが合法になってしまった
各CSSの開発者に新しい仕様を説明してすべての箇所を間違いなく修正させる必要がある
それは大変な作業だ
一方でコンポーネントが可変部分をインターフェースとして提供していれば、内部HTMLの変化をわざわざ再周知する必要がなくなる
クライアントはもとのインターフェースに従って利用しているわけだからコンポーネント側が後方互換を維持すればいいだけ
連携なんぞ必要ない
134:デフォルトの名無しさん
20/09/13 20:20:33.74 8aNWh6BR.net
> 連携を取れというがその連携が大変だと言ってるんだよ
> HTMLを仕様として周知してしまったから
> 他の開発者やデザイナがそのHTMLを前提にCSSを開発することが合法になってしまった
> 各CSSの開発者に新しい仕様を説明してすべての箇所を間違いなく修正させる必要がある
> それは大変な作業だ
ああ、他の開発者との連携して開発すること全く考えてないw
大変だから、一人でやる。小さなプロジェクトしか経験してない証拠だな
他の開発者との連携して開発するのはやることとして大前提なんだよ
135:デフォルトの名無しさん
20/09/13 20:21:55.75 24n75C+P.net
>>130
は?要件が変わるって話をずっとしてんだが
136:デフォルトの名無しさん
20/09/13 20:22:53.84 8aNWh6BR.net
>>135
要件が変わったなら、それを仕様にまとめろ
かってに作業すんな
137:デフォルトの名無しさん
20/09/13 20:28:05.21 24n75C+P.net
>>134
オモチャ屋さんにはわからないかもしれんが
連携しなくてうまく行くようにできるなら、それが最も安全で効率的なのでそうする、ってのがシステム屋の常識なんだよ
で、システム屋はそれをどうやって実現するかっていうと
安定したインターフェーのみをクライアントに公開して、変化しやすい内部実装は隠して触らせない、って方法で実現してんの
お前はみたいに変化しやすいHTMLをクライアントのインターフェースとして提供してしまうと、しなくてもいい連絡が増えて、みんなが苦労することになる
138:デフォルトの名無しさん
20/09/13 20:31:19.42 8aNWh6BR.net
>>137
今はHTML構造とデザインの話をしてる
HTML構造は仕様であり、デザインは別のものが担当する
大前提を理解しろ
HTMLはデザインの変更程度では変化しない
複雑なものを作るから、頻繁に変えなくちゃいけなくなるんだよ
複雑なものは単機能を持つ基本的なコンポーネントの集まりとして作れ
どんなにアプリが変わっても、単機能のシンプルな基本ライブラリが変わらないのと同じことだ
お前が今苦労してるのは、複雑なものを作るからだ
139:デフォルトの名無しさん
20/09/13 20:33:57.58 24n75C+P.net
>>136
だからさぁ
仕様はまとまってるし変更があれば修正するよ
でもな仕様変わってもインターフェースまで変わるとは限らねえんだよ
コンポーネントにスタイルを閉じ込めとけばインターフェースは安定すんの
だからクライアントの変更なしにコンポーネントを更新できんの
お前はみたいにHTMLを仕様ですなどと言い張ると
ちょっとした要件変更のためにインターフェースとしたHTMLが変化して
それを大多数の開発者に周知しなきゃならなくなる
140:デフォルトの名無しさん
20/09/13 20:35:35.43 8aNWh6BR.net
> コンポーネントにスタイルを閉じ込めとけばインターフェースは安定すんの
ほらまた、コンポーネントとスタイルを結合させて
メンテナンス性を下げてるw
そこはデザイナーが担当するの
HTML構造をインターフェースとして定めてるから安定してんの
141:デフォルトの名無しさん
20/09/13 20:36:53.97 8aNWh6BR.net
> ちょっとした要件変更のためにインターフェースとしたHTMLが変化して
> それを大多数の開発者に周知しなきゃならなくなる
まさか口伝でもしてんのか?w
142:デフォルトの名無しさん
20/09/13 20:40:17.52 24n75C+P.net
>>138
変化は必然なんだよ
最初はインプットテキストだったものがシステムの成長に伴ってリストボックスやオートフィルに
さらに育って検索用のリッチな小窓を出すようになる
変化がないのはチュートリアルみたいなしょぼいシステムだけ
143:デフォルトの名無しさん
20/09/13 20:41:36.47 24n75C+P.net
>>140
メンテナンス性を上げるためにコンポーネントを作ってる
HTMLに伴って変化しうるCSSを分離して遠ざければメンテナンスは難しくなる
144:デフォルトの名無しさん
20/09/13 20:42:51.29 24n75C+P.net
>>141
なわけねーだろ
ドキュメントを更新して通知すんだよ
145:デフォルトの名無しさん
20/09/13 20:45:13.10 sgNcOqc1.net
構造とデザインだとXML+XSLもアリかとも思うけどほとんど見ないな
それとも知らないだけで使われてる?
146:デフォルトの名無しさん
20/09/13 20:45:47.84 8aNWh6BR.net
>>144
じゃあ周知はそれで終りましたねw
147:デフォルトの名無しさん
20/09/13 20:46:29.91 8aNWh6BR.net
>>145
> 構造とデザインだとXML+XSLもアリかとも思うけどほとんど見ないな
XSLはセンスが悪かった
今はHTMLとCSS
148:デフォルトの名無しさん
20/09/13 20:47:55.64 8aNWh6BR.net
>>142
だから仕様が変更になってデザインを変更する必要が出たら
デザインを変更するだけだろ、何いってんだお前w
149:デフォルトの名無しさん
20/09/13 20:51:56.11 e9EK7dt7.net
HTML6はXAMLにしようよ
150:デフォルトの名無しさん
20/09/13 21:00:27.50 sgNcOqc1.net
機械的に吐き出した実行結果のレポートにはXML最強(特にXPath連携)なんだけど、イマイチ使いにくいからな
151:デフォルトの名無しさん
20/09/13 21:52:12.09 Xp7zp8nz.net
>>149
xhtmlは論理的で論理的で良いと思ったんだがなぜか人気がなかったな。
152:デフォルトの名無しさん
20/09/13 21:53:51.19 hcAm2IX6.net
90年代の発想でコンポーネント連呼するやつおるんやな
相手にしすぎるのもどうかと思うで
153:デフォルトの名無しさん
20/09/13 23:45:50.26 w3Y31Eld.net
Ruby on Rails の動画でも見れば?
Bootstrap, React を使って、コンポーネントを再利用する
154:デフォルトの名無しさん
20/09/14 07:01:28.67 AAu8HR5j.net
>>151
俺は最初からXHTMLは駄目だ(意味がない)と気付いてたけどね
XHTMLは人間用のフォーマットであり非構造化されたデータだ
具体的に言うと(半)構造化されたデータの周りに広告やその他の情報が
あちこちに散りばめられてる。そういったものを機械的にパースするなんて無駄で困難な作業でしかない
データとして再利用可能にしたければ、そもそもXMLとして構造化されたデータとして提供すべきだ
データが再利用可能であれば人類にとって嬉しいかもしれないが
XHTMLはデータを再利用を考えずに人間が読むために作られる
場合によっては再利用されたくないかもしれない。運営側の都合でHTML構造が変わるかもしれない
だからXHTMLは安定した形式にはなりえない
自動生成の都合上XHTMLに"なってしまう"場合はあっても
人間のための形式をあえて構造化されたXHTMLにするべき理由がないんだよ
XML(論理的で構造化されたデータ)→人間のための加工(非構造化を含む処理)→XHTML なのだから
加工する前のXMLを使ったほうが便利
XSLが失敗したのも人間のための加工処理が構造化されてない加工処理
つまり「特定の部分だけ例外的な処理を行う」の集まりだから
もちろんXSLTをXMLで記述するというのも悪いデザインだった
本質的に処理であるものを定義で書こうとすると冗長で柔軟性がなくなり破綻する
155:デフォルトの名無しさん
20/09/14 07:14:29.77 AAu8HR5j.net
>>150
> 機械的に吐き出した実行結果のレポートにはXML最強(特にXPath連携)なんだけど、イマイチ使いにくいからな
最強じゃないよ。
タグに属性なんてものがあるから、ストリーミングデータとして扱いづらい。
実行結果というのは1行1行レポートされるものが結構ある
XMLは下の階層のデータが全部揃わないと上の階層のデータが確定しない
あるタグの終りは、それを内包するデータが全て揃ってからになる
1行(もしくは1データ)ずつ処理することが困難
すべての実行結果がそろってやっとレポートを見ることができる
これはXMLだけではなくJSONでも同じだが
JSONの場合それを解決するためのJSONLという形式ができた
Excelファイルのように保存してあとから見るような使い方であればいいが
リアルタイムで実行結果をレポートするようなものには使いにくい
156:デフォルトの名無しさん
20/09/14 07:42:49.11 cUiqBj4h.net
>>155
つ XMLフラグメント
実行中にレポート出すなら、SAXで切り出していけば問題ない、というかXMLでログ出すときって全部蓄積するなんて無謀だからそれ以外には無いよな
157:デフォルトの名無しさん
20/09/14 07:47:58.20 Psg3/81m.net
それはxhtmlならデータとしても再利用できるという夢物語の話な。
単純に、従来のhtmlより論理的でパースが楽でnamespaceで拡張できるhtmlとして期待してた。
158:デフォルトの名無しさん
20/09/14 13:15:25.51 UlvlVQe+.net
swiftのパフォーマンスを改善する、みたいな記事で、変数をstaticにするとパフォーマンスが改善した、と書かれていました。
URLリンク(qiita.com)
私はstatic変数を使ったことがないため、何故なのかよくわかりません。
static変数について調べてみると、「メモリ位置を固定化する」と書かれているので、感覚的には何となく速くなるのかな?とは分からなくもないのです。
しかし、私はメモリの扱いについても素人なため、何故メモリの位置が固定化されるとパフォーマンスが良くなるのかがいまいち理屈で理解できません。
どうしてstaticを使うとパフォーマンスが良くなるのでしょうか?
159:デフォルトの名無しさん
20/09/14 13:19:09.60 UlvlVQe+.net
>>158
もし、毎回ループごとに上書きされるような変数を定義する場合は全部static変数にしてしまった方が良いのでしょうか?
staticにするデメリットはあるのでしょうか?
160:デフォルトの名無しさん
20/09/14 13:21:03.97 1hXdvxVK.net
staticが速いんじゃありません。
時間がかかるものを何度も実行するから遅いんです。
161:デフォルトの名無しさん
20/09/14 13:23:29.84 1hXdvxVK.net
>>159
全く意味はありません。
162:デフォルトの名無しさん
20/09/14 13:27:03.20 1hXdvxVK.net
static変数にした結果遅くなることもあります。
163:デフォルトの名無しさん
20/09/14 13:28:50.68 UlvlVQe+.net
>>160
ありがとうございます。メモリを固定化しない場合、空きメモリを探したりするという処理に時間がかかる感じでしょうか?
>>162
どんな場合に遅くなることが考えられますか?
164:デフォルトの名無しさん
20/09/14 13:42:59.81 1hXdvxVK.net
> 空きメモリを探したりするという処理に時間がかかる感じでしょうか?
そうだね。0.000000001秒ぐらいかかると思うよ
165:デフォルトの名無しさん
20/09/14 13:44:25.41 1hXdvxVK.net
> どんな場合に遅くなることが考えられますか?
そのメモリに対して他アプリやOSの処理が発生する時
166:デフォルトの名無しさん
20/09/14 13:49:58.29 1hXdvxVK.net
本物の初心者は○○を使えば速くなるとかいうガセにつられて
○○を使ってこの方が速いって噂を聞いたんですよ!という
間抜けなことだ
167:デフォルトの名無しさん
20/09/14 15:40:08.92 UlvlVQe+.net
>>164-165
ありがとうございます!
168:デフォルトの名無しさん
20/09/14 16:20:38.01 lpza49Cy.net
>>166
今回は「変数をstaticにするとパフォーマンスが改善した」というガセ自体が存在してないけどね
169:デフォルトの名無しさん
20/09/14 16:44:28.40 ShJa4sqs.net
staticおじさん呼ばれていますよ
170:デフォルトの名無しさん
20/09/14 17:29:35.40 2ikgR+nY.net
プログラミング知識で0からSwiftを勉強するとして、簡単なトランプゲームのアプリを作るまでにおおよそ何時間ぐらい学習が必要でしょうか。
ワークスAPの筆記通るレベルの頭は一応あります
171:デフォルトの名無しさん
20/09/14 18:10:16.50 QvgKlwNP.net
作りながら学習した方が良い
頑張れば今日中にでも作れる
あと筆記の成績なんて関係無いよ。プログラミングはカンニング前提でやるものだし
172:デフォルトの名無しさん
20/09/14 18:29:26.16 ShJa4sqs.net
>>170
トランプゲームを作りたいのか?
作業的な勉強が一番挫折しやすい
173:デフォルトの名無しさん
20/09/14 18:41:16.20 w1/wdbTI.net
C#、WPFで質問です
MVVMで構築されたシステムですが、Modelから直接Viewのコントロールを触ることは不可能でしょうか?
174:デフォルトの名無しさん
20/09/14 19:03:57.65 cUiqBj4h.net
>>173
間違いかも知れないが、MVVMはView側からViewModelを参照するのがキモだと認識している
そもそもVのことはMとVMは知らないはず
175:デフォルトの名無しさん
20/09/14 19:05:57.15 w1/wdbTI.net
>>174
ありがとうございます。やはり無理な話でしたか・・・
176:デフォルトの名無しさん
20/09/14 19:08:24.08 4QB3ixBT.net
プログラミング未経験ですが自分で使うお小遣い帳を作ろうと思っています
C#とデータベースの勉強を勧められてそれでやってみようと思うのですが
とりあえずWindowsで動くものができたらAndroidでも動くものが作りたいです
その場合同じくC#で作れるのでしょうか?
177:デフォルトの名無しさん
20/09/14 19:21:44.92 cUiqBj4h.net
>>175
だから、Viewに対してxxさせる方法があったはず
と調べたらトリガーという機能があった
これだったかな?もう四年ほどやってないと怪しくなる
178:デフォルトの名無しさん
20/09/14 19:25:44.53 cUiqBj4h.net
>>175
ViewがViewModelを参照して任意の動作を「自分から」やるのが、多分正解
これならMVMはVと疎結合になるからそう思う
179:蟻人間
20/09/14 19:34:16.26 /Fwk/gkb.net
>>176
WindowsとC#でAndroidアプリ作成なら、XamarinとSQLiteでイケると思う。
180:デフォルトの名無しさん
20/09/14 19:37:14.79 D0anpH0V.net
>>176
C#で作れます
181:デフォルトの名無しさん
20/09/14 20:35:29.14 4QB3ixBT.net
>>179
>>180
どうもありがとうございます
具体的なフレームワークやデータベースの名前も挙げていただき調べやすくなりました、助かります
182:デフォルトの名無しさん
20/09/14 22:43:08.69 2ikgR+nY.net
>>172
遅レスすみません。
例えば、本当に単純にはなるんですけどハイアンドロー(次のカードが今出ている数字よら上から下か予想してトランプをめくるゲーム)や、少し難し目でいけばBluetoothを使って近くにいる人でブラックジャックができるようなものを作りたいと考えております。
183:デフォルトの名無しさん
20/09/14 22:44:00.48 2ikgR+nY.net
>>171
ありがとうございます。
とりあえずつべこべ言わず、見様見真似で始めればいいって事ですね。
184:デフォルトの名無しさん
20/09/15 07:57:28.30 kjqrOEii.net
プログラムがなぜ動くかとか考えてもしょうがなくないですか?
こういう風に書いたら動きますよってのの集大成で今まで来てるわけですから
誰かがそのように設定したんだから覚えましょうねってだけですよねこれ?
185:デフォルトの名無しさん
20/09/15 09:33:08.83 pnTNLJvZ.net
プログラミング知識で5からAndroidStudio/Javaを勉強するとして、簡単なトランプゲームのアプリを作るまでにおおよそ何時間ぐらい学習が必要でしょうか。
頭は一応あります
186:デフォルトの名無しさん
20/09/15 09:45:10.23 cZkGG5+C.net
なぜ動くかの知識は仕組みの穴をついたハッキングとかの対策
を考える上でもそうだしパフォーマンスが思ったように出ないときの
原因にあたりをつけるのにも役立つ
新しいものを作る上でも偉大な前例から学べることは多いよ
上辺だけの知識じゃ応用が効かないんだ結局
187:デフォルトの名無しさん
20/09/15 09:50:16.38 msQN58rY.net
ゲームはグラフィックとBGMを作るところが一番難しい
188:デフォルトの名無しさん
20/09/15 10:08:07.25 ZvZ+YuXF.net
>>187
どっちもフリー素材がいっぱいあるのに時代錯誤
189:デフォルトの名無しさん
20/09/15 10:12:28.24 msQN58rY.net
>>188
要求にあう素材はほとんどないのが現実
190:デフォルトの名無しさん
20/09/15 12:28:43.55 VgzmkY6m.net
フリー素材を謳って、でも大体は有料というフリー素材サイトのいかに多いことか
191:デフォルトの名無しさん
20/09/15 15:46:51.26 WJQOTlDR.net
プログラミングの本を見ながらパソコンをやると姿勢が悪くなりがちで苦労してるんですが、みなさんはどんな工夫をしてますか?
192:デフォルトの名無しさん
20/09/15 16:11:23.24 HF114Rhi.net
>>187
なんでBGMがいるの?185のような話だと数字と記号だけでできるのに
>>191
本は使わずネットの情報を見ながらプログラムの勉強をする
193:デフォルトの名無しさん
20/09/15 16:56:55.73 WbxUkS+z.net
HTMLソース解析+文字列処理に向いてる言語を教えて下さい
HTMLソースを取得して、そこに記載されている複数の商品名のみor商品名+メーカー名の組み合わせが、手元のテキストファイル内に存在するか調べる
無いものは別のテキストファイルに記載する
URLリンク(www.***.co.jp)が終わったらindex2.htmlのソースを取得して解析
これをindex5.htmlまで続けるという処理を行いたいです
194:デフォルトの名無しさん
20/09/15 16:58:55.19 WbxUkS+z.net
実際のソースでマッチングさせたい部分はこうなっています
<a href="" title="(文字列) XXX ZZZ YYY-文字列 文字列"> メーカー名記載なし
<span class=""> XXX ZZZ YYY 文字列 AAA </span>
<span class=""><a href="">-XXX ZZZ YYY</a>, <a href="" >AAA</a></span>
XXX ZZZ YYYは商品名、AAAはメーカー名です
一覧表示されているサイトなので、商品名とメーカー名の文字列は全て異なります
例えばソニーXperiaと、サムソンGalaxyの表記が同一HTML内にあります
195:デフォルトの名無しさん
20/09/15 17:00:33.27 WbxUkS+z.net
>>194
連投すいません
それぞれは異なるサイトです
3つのサイトの記載方法が異なっているソースを処理します
196:デフォルトの名無しさん
20/09/15 17:12:50.71 DLlVy6Pm.net
どんな言語でも向き不向き関係なくそのくらいならやれる
ExcelVBAですら可能
python、c#、ruby、node、phpお好きなのを選ぶといい
197:デフォルトの名無しさん
20/09/15 17:14:19.39 DLlVy6Pm.net
やりたいのは在庫チェックと価格差だろ
あとサイトによってはロボットアクセスを固く禁止してるからな
Amazonは余裕で訴えてくる
アメリカ企業だから容赦ない
198:デフォルトの名無しさん
20/09/15 17:15:11.37 VgzmkY6m.net
今なら普通にPythonでダウンロードして正規表現使って抜き出せばいい
俺なら別の使い慣れた言語使うけど、初心者ならば情報が探しやすいのが一番
199:デフォルトの名無しさん
20/09/15 17:41:43.15 WbxUkS+z.net
>>198
回答ありがとうございます
PythonでのHTML解析のレクチャーサイトみたら
結構簡潔に書けるみたいなので勉強してみます
200:デフォルトの名無しさん
20/09/15 18:05:21.17 3HBrgqD1.net
文字列解析は、Rubyが向いている。
201:デフォルトの名無しさん
20/09/15 18:49:31.07 5uVwOM3u.net
スクレイピングは、Ruby で、Nokogiri, Selenium Webdriver
ただし、サイトのrobots.txt に従わず、頻繁にスクレイピングすると、業務妨害で逮捕されるので、
各サイトと契約して、API を使う
YouTube なら、YouTube 用のAPI とか
202:デフォルトの名無しさん
20/09/15 23:49:00.72 WJQOTlDR.net
>>192
ネットの情報で勉強ですか
ありがとうございます
203:デフォルトの名無しさん
20/09/16 04:52:11.80 G//nSKR7.net
本で勉強するのはCSとか設計系のものだけで良いと思う
プログラミングの本だとコピペして実行できないしバージョン古いのが多い
204:デフォルトの名無しさん
20/09/16 05:22:21.76 XP1+CNMB.net
csとはcss?
205:デフォルトの名無しさん
20/09/16 10:52:07.20 66kQJWEh.net
>>191
書見台とか本が置けるようなモニターアームを使うといいよ
206:デフォルトの名無しさん
20/09/16 16:38:41.59 mvUfOCTF.net
Win使いだけどMacって難しい?
207:デフォルトの名無しさん
20/09/16 17:17:29.66 uLph0UBy.net
難しいと言うか、BSD系だから癖がある
WindowsはWSLでLinuxを取り入れて使いやすくなったけど
macOSは細かい点が違う。違うというか低機能。
208:デフォルトの名無しさん
20/09/16 17:27:41.65 9LGTbRpa.net
21世紀になっても長いことマウスボタン一個だったようなOSじゃなぁ
209:デフォルトの名無しさん
20/09/16 21:22:22.05 PhvdJ7XH.net
エクセルの縦軸は1から始まる数字であるが
横軸はAから始まりZまでいき、その次はAA、AB・・・となっている
さてここで問題です
Q1. 縦軸は26進数である。○か×か
Q2. 1よりも1つ小さい数は0であるが、Aよりも1つ小さい数は何になるだろうか?
210:デフォルトの名無しさん
20/09/16 21:22:55.07 PhvdJ7XH.net
縦軸と横軸が逆だった
211:デフォルトの名無しさん
20/09/16 21:23:34.36 PhvdJ7XH.net
Q1の縦軸と横軸が逆だった
212:デフォルトの名無しさん
20/09/16 21:35:13.39 9LGTbRpa.net
R1C1しか使わん
213:デフォルトの名無しさん
20/09/16 22:19:31.18 0uOImFAb.net
dockerを勉強したいんだけどQiitaを読むだけでだいたいできるようになるかな?
おすすめのページとか本ありますか?
214:デフォルトの名無しさん
20/09/16 22:22:13.46 OzZeNkQi.net
公式サイト
215:デフォルトの名無しさん
20/09/16 22:44:06.50 VpAz8kB7.net
プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化、
WINGSプロジェクト 阿佐 志保、山田 祥寛 (監修)、2018
YouTube にも、たにぐちまこと・くろかわこうへいの動画があるかも知れない
216:>>202
20/09/16 23:34:43.56 AuumJD9T.net
ネットでC++勉強するのになんかいいサイトご存じの方いらっしゃいますか?
ほぼ初学者です
本を読みながらだと姿勢が悪くなるという書き込みに対してネットの情報で勉強するのがいいというレスをいただいたので
217:>>202
20/09/16 23:38:43.07 AuumJD9T.net
重ねてすみません
Visual Studioを使って効率よくC++を勉強する方法ありませんか?
というのも、ソースを追加でどんどんソースを増やしていってもint main()のmain関数が1つじゃないとビルドできないため毎回他のソースをmain関数以外の関数に名付けてます
かといって他のソースを削除したくないです
218:デフォルトの名無しさん
20/09/16 23:49:49.18 U6ZiexcZ.net
英語のページを見るとSystem.out.printlnはstatementとの説明がしてありましたが、
これは日本語に直すと何と言うんでしょうか?
宣言かと思いましたが宣言はdeclareのようなので違うみたいです
219:デフォルトの名無しさん
20/09/17 00:11:21.28 vpVrOGAp.net
別に英語どうこうでなくてこのSystem.out.printlnの役割の名前を知りたいんです。
例えばintは”変数の型”とか
220:デフォルトの名無しさん
20/09/17 00:24:35.60 vK8klmIY.net
文だよ
221:デフォルトの名無しさん
20/09/17 00:36:56.26 vpVrOGAp.net
ありがとうございます
statementを辞書で調べたら命令文と出たので、それがしっくりきました。
222:デフォルトの名無しさん
20/09/17 00:54:41.57 7NFmc0PC.net
>>217
コメントアウトしておけば?
223:デフォルトの名無しさん
20/09/17 01:34:52.60 vK8klmIY.net
ちなみにstatementには関数呼び出しのような命令文らしい命令文だけでなく代入文やif文やfor文も該当する
expressionを式、statementを文と訳さないことはまずない
224:デフォルトの名無しさん
20/09/17 02:26:00.70 fy5bwxWu.net
正規表現さんが泣いちゃうからやめて
225:デフォルトの名無しさん
20/09/17 03:25:56.77 JBoJsoxJ.net
>>217
別のプログラムは別のプロジェクトで作るんだよ
226:デフォルトの名無しさん
20/09/17 05:51:46.96 hnEDQboZ.net
expressionに変わるいい単語ないかね?
expressionを使いたいんだけど、厳密に言えば意味が違うので
似ているけど違う言葉を探している
227:デフォルトの名無しさん
20/09/17 17:17:12.28 0qWAJ1dM.net
C#,WPFで開発しています
Viewで
<Image Source={Binding images} />
と指定し、ViewModelでは以下のように宣言しています
Public ReactiveProperty<BitmapImage> images;
Model内で
Public BitmapImage Images;
を宣言し、関数内で
images = new BitmapImage(new Url(画像のフルパス));
と指定しているのですが画像が表示されません
何かわかる方いらっしゃったらご教示お願いします。
228:デフォルトの名無しさん
20/09/17 19:07:02.91 mhOOs/P7.net
>>227
ずいぶん長く触ってないから怪しいけど
images = new ReactiveProperty<BitmapImage>(new BitmapImage(...))
じゃなくていいの?
というかModel?
Public ReactiveProperty<BitmapImage> images;
には?
229:デフォルトの名無しさん
20/09/17 21:55:45.24 7NFmc0PC.net
>>227
BindingしたところはViewModelのコンストラクタで初期設定を入れる
今の状況だとModelは完全に出番無いので、全部ViewModelでやってください
230:デフォルトの名無しさん
20/09/17 21:57:16.29 u5g3ZEMD.net
C#です
あるイベントが発生している合計時間を計測したいです
event += new eventHandler<~~~>(timer);
この感じでtimer関数に入って時間を測ろうと思っており、現在この関数が動いている間の時間は計れるのですが、一度このイベントが終了し、もう一度発火したらまたタイマーが0から動き始めて困っています
別のイベントハンドラーの書き方にして時間をreturnで受ければよいのでしょうか?
ご助言願いたいです
231:デフォルトの名無しさん
20/09/17 22:32:44.80 7NFmc0PC.net
計れてるならタイム加算用のフィールド変数作って足していけば?
232:デフォルトの名無しさん
20/09/17 22:47:00.33 0qWAJ1dM.net
>>228
ありがとうございます。
>>229
ありがとうございます。
Model内でデータをごにょごにょして、その結果に応じてそれぞれ違う画像を表示せねばならないので
できればModel内で片づけたいです。
無理なら仕様を見直してもらうしかないですね・・・
233:デフォルトの名無しさん
20/09/17 23:10:24.51 7NFmc0PC.net
MVVMではModelのデータをViewに持っていくには必ずViewModelを経由しなければならないので無理
まず、ViewModelで何らかの画像を表示できるようにしないと話にならない
表示できるようになったら今度はそことModelの画像データを連結すればViewに上がっていくわけで
234:デフォルトの名無しさん
20/09/18 00:05:34.38 HWhd+xXk.net
>>231
C#にはグローバル変数がなくて困っていたのですが、その用語を教えていただいてうまく処理できました
ありがとうございます
235:デフォルトの名無しさん
20/09/18 00:26:36.55 w2s87dwB.net
>>234
ないわけないだろ
236:デフォルトの名無しさん
20/09/18 03:21:29.76 tZIeffx3.net
>>215
簡単そうで自分にはぴったりみたいです
ありがとう
237:デフォルトの名無しさん
20/09/18 10:43:51.46 Z5cpBIlV.net
英語圏の人にとってプログラミングはこう見えてるって本当ですか?
だとしたら絶対に勝てなくないですか?
URLリンク(i.imgur.com)
238:デフォルトの名無しさん
20/09/18 11:08:27.32 EJS7Iotj.net
IT後進国の日本だからそもそも民族的に負けるのが決まってる
239:デフォルトの名無しさん
20/09/18 11:26:58.85 AlPYh0XR.net
>>237
逆に読みづらいと思わないの?
プログラムに慣れたら言葉じゃなく数式のような記号に見えてくるから自然言語読むより理解が早くなる
240:デフォルトの名無しさん
20/09/18 11:51:10.53 fEr2t2kb.net
>>237
えっ
普通にそういう風に見えないの?
そんなに英語力が低いのか・・・
241:デフォルトの名無しさん
20/09/18 12:36:11.82 7yDtYvQW.net
プログラミングに書かれてるような簡単な英語ならともかく
Github、公式リファレンス、論文とかに載ってる長文ってなると読解や理解の早さは絶対に英語圏の方が上だわ
242:デフォルトの名無しさん
20/09/18 13:01:46.87 Td+nb1vy.net
>>239
まあこれですよね
語学で差がつくのは文系の世界でしょう
243:デフォルトの名無しさん
20/09/18 13:03:04.15 002pfutI.net
日本の学生がMy name is Satoって授業を受けてるときにはアメリカの学生は長文の物語や論説文の授業を受けてるし敵うわけがない
日本人の10代前半には英語の壁がデカすぎる
244:デフォルトの名無しさん
20/09/18 13:06:26.97 002pfutI.net
だから日本のプログラマーは10代後半ぐらいから勉強を始めたような雑魚が多い
遅すぎるんだよ。海外じゃ10代前半、下手すりゃ1桁の年齢でプログラミングをやる人もたくさんいる
245:デフォルトの名無しさん
20/09/18 13:09:28.37 Td+nb1vy.net
自分の雇用を守るという意味では下が育たないのは歓迎なんだけど国家の将来としては心配だ
子持ちは不安だろうなあ
246:デフォルトの名無しさん
20/09/18 13:56:12.63 2RtYnDyr.net
>>237
「画面クリア」と書けるのは、日本語と漢字の凄さ。
また、なでしこはわかり易いが、たとえばWin32なら、
HBRUSH hBrush = CreateSolidBrush(RGB(255,255,255));
RECT rect;
GetClientrect( &rect );
FillRect( hDC, &rect, hBruch );
となる。OpenGLでは、
glClearColor(1.0f, 1.0f, 1.0f, 1.0f );
glClrear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
と書くが、これが、「白色で画面クリア」を意味するとは初見では分かるまい。
247:デフォルトの名無しさん
20/09/18 13:59:15.25 2RtYnDyr.net
OpenGLでは正しくは、こうだった:
glClearColor(1.0f, 1.0f, 1.0f, 1.0f );
glClearDepth(1.0);
glClrear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
248:デフォルトの名無しさん
20/09/18 15:34:20.77 gTzrQar4.net
でも翻訳すると文字数って1.5倍くらいに膨れるんだよな英語
249:デフォルトの名無しさん
20/09/18 15:35:41.88 gTzrQar4.net
But when you translate it, the word count swells up by a factor of 1.5 or so, English.
250:デフォルトの名無しさん
20/09/18 16:40:25.28 lOTfajhS.net
情報密度の違い
日本語が優れてる部分
251:デフォルトの名無しさん
20/09/18 17:31:44.74 SnOx1oiR.net
>>237
COBOLあたりのころの言語だとそういうのを意識して作ってた節はあるのでそうかも
しれないけどC言語あたりからはあまり関係ないんじゃないかなぁ
30年以上前にあった日本語BASICとかって表記は日本語だったけど別にわかり
やすくはなかったし・・・言語の作りが悪かっただけって話もあるけどね
>>248
表音文字言語だからしょうがないのではw
日本語だってローマ字で表音表記にかえれば無条件に2倍になるし
252:デフォルトの名無しさん
20/09/18 18:18:13.98 C6cAo272.net
日本語で実装してみた
確かにこれなら簡単だな
始
xは10
yは20
もしxが10なら「こんにちは」
もしyが15なら「ワールド」ちがうなら「世界」
xで分岐
1)「xは1」
10)「xは10」
y回ループ「これは20回表示されます」
終
253:デフォルトの名無しさん
20/09/18 18:28:18.75 Td+nb1vy.net
>>252
ラムダ式はどうなる?
254:デフォルトの名無しさん
20/09/19 09:34:07.81 m6wX0tyL.net
FirefoxQuantum(ポータブル版を使用)のアドオンでDownloadThemALLというものがありますが
ボリュームエミュレーション方式のRAMDISK(ディスクの管理にドライブが出てこない)上で実行されたFirefoxだとそのアドオンのUI文字列が表示されません
ディスクの管理に存在する実ディスクだとこの現象が起きません
RAMDISKが原因だと思いましたが、他のアドオンもFirefox自体も文字表示に異常が無いため、RAMDISK原因説に疑問が出てきました
もしエミュレーション方式が原因ならFirefoxのプロセス自体が異常動作を起こしてるはずですよね
何が原因でこの現象が起きてるのでしょうか?
255:デフォルトの名無しさん
20/09/19 15:29:16.92 SBocIyVA.net
ある要素以外の任意の位置をクリックしたときのイベントってどう定義するのがスマートなの
HTML/JSの話ね
256:デフォルトの名無しさん
20/09/19 16:05:34.27 d0M6Mr1v.net
>>255
そんなもんにスマートもクソもあるかw
257:デフォルトの名無しさん
20/09/19 20:33:10.71 UMC8F6f9.net
スマートな方法を聞くやつは例外なくスマートじゃない
258:デフォルトの名無しさん
20/09/19 20:43:34.87 J3LxbOqE.net
>>254ですが他にも動作がおかしいアドオン見つかりました
259:デフォルトの名無しさん
20/09/20 00:13:48.22 ylbIOeZ5.net
body に、イベントを付ければ、bubbling, capturing で、
どの子孫要素のイベントでも、body に伝わるのでは?
「js event bubbling vs capturing」で検索!
HTML, JS の質問は、web制作管理板の方へ書き込んでください!
板違い
260:デフォルトの名無しさん
20/09/20 10:42:57.14 iRiS7kHZ.net
>>255
いろいろな方法が有るが、
1. 親要素のクリックイベントを子要素のイベントの後から捕捉できるタイプのもので、
捕らえられるようにしておく。
その方法は、>>259に書かれているような話になる。
ここで、重要なのは、「後から」。
2. 除外したい要素のクリックイベントのハンドラも書く。
3. 2のハンドラの中で、イベント引数 e に対して、
e.stopPropagation();
e.preventDefault();
と書く。
4. こうすると、1のハンドラは、除外した要素以外の場所をクリックした
場合だけ呼び出されるようになる。
261:デフォルトの名無しさん
20/09/20 14:25:05.58 v4HlTx8O.net
アタリ判定だけの透明な全画面要素を置いたほうがスマートじゃない?
コンポーネント指向の時代に、コンポーネント外の要素のイベントに頼るってのはなんかきもちわるい
262:デフォルトの名無しさん
20/09/20 16:24:48.77 8xhMAz8l.net
このお題に対してまずバブリングの利用を検討しない方がなんか気持ち悪いと思う
単にJSへの馴染みが薄いだけではないか
263:デフォルトの名無しさん
20/09/20 17:34:25.23 55J7R452.net
>>261
アタリ判定だけの透明な全画面要素は
どのコンポーネントに属するんですか?
コンポーネントが2つあった場合
透明な全画面要素を2つ作るんですか?
少しは頭使って考えましたか?w
264:デフォルトの名無しさん
20/09/20 17:39:50.58 An+r3EqA.net
アタリ判定だけのコンポーネント
メニューコンポーネント
サブメニューコンポーネント
サブサブメニューコンポーネント
ポップアップメニューを例にしたけど、こんな感じでいんじゃないの
265:デフォルトの名無しさん
20/09/20 18:35:40.71 8xhMAz8l.net
スマートの感じ方も人それぞれだな
全画面を覆うdivを置けばクリックが拾えるぜ!なんて愚直で泥臭いの極みだと俺は思うんだが
そのdivに覆われた下にあるテキストはマウスで選択可能なんだろうか
普通に先人が用意した便利な機能を使えばいいのに
266:デフォルトの名無しさん
20/09/20 18:46:30.72 8xhMAz8l.net
「右クリックは禁止です!」と怒るのと同類のウザいUXが生まれそう
267:デフォルトの名無しさん
20/09/20 19:23:11.73 ZXLs8OyP.net
>>265
選択するときにクリックするからポップアップ消えて選択できるのでは
268:デフォルトの名無しさん
20/09/20 19:25:53.38 ZXLs8OyP.net
バブリングを拾うってことはポップアップコンポーネントを生成破棄するたびにイベントハンドラを登録削除する手続きが必要ってことだろ
なんか宣言的じゃなくて嫌だなぁ
269:デフォルトの名無しさん
20/09/20 20:06:40.27 8xhMAz8l.net
>>268
コンポーネントがイベントのチェーンを明示的に切らないなら問題ない
ありもののライブラリを使っててそのコンポーネントがそのあたり自由にならないっていうなら、jQueryでイベントを宣言すればバインドを自動でやってくれる
270:デフォルトの名無しさん
20/09/20 20:09:11.73 8xhMAz8l.net
つかUXが悪化することがわかってて、それでも「なんか嫌」で物事を決めたいなら勝手にすればとしか
271:デフォルトの名無しさん
20/09/20 20:09:23.02 UKEvmxLX.net
jQueryは無いわー
272:デフォルトの名無しさん
20/09/21 06:37:19.70 F8njcbuk.net
uefiアプリケーション(c/c++)でサーバーとの通信を行いたいのですが
EFI_TCP4_PROTCOLの使い方(CreateChild等)が分かりません
EFI_TCP4_PROTCOLでなくても文字列の送受信ができれば
何でも良いのでやり方を教えてください
ちなみに、下記を参考に作っています
URLリンク(mzex.wordpress.com)
273:デフォルトの名無しさん
20/09/22 14:32:32.93 mhQq/sJy.net
dockerのアンケートとかみてたら利用者のPCでWindowsが三割
残りがMac
もしかしたらこの割合がそのままプログラマーのPCの使用状況なの?
274:デフォルトの名無しさん
20/09/22 14:47:27.53 6o8of7S0.net
大量に居るはずのLinuxユーザーを計上してないで
Windows以外はMacと言ってる時点で
素人がついたウソデータなんじゃないですかねぇw
275:デフォルトの名無しさん
20/09/22 14:51:50.64 1XqBBY/l.net
サーバじゃなくてパーソナルコンピュータの話だからLinuxは僅かじゃないかな
276:デフォルトの名無しさん
20/09/22 14:53:53.90 6o8of7S0.net
まあそんなアンケートなんかないってだけだろ
277:デフォルトの名無しさん
20/09/22 17:08:24.35 WeU5fM2j.net
mac何か使う利点が殆ど無い気がするのに
バカ程mac推しだよなw
そもそも使いにくいんだよ
278:デフォルトの名無しさん
20/09/22 18:02:11.97 jBCAcUGo.net
Windows使いの人ってそもそもMac使える環境で働けない弱者が多そうw
279:デフォルトの名無しさん
20/09/22 18:07:33.39 cReWtPAo.net
Mac使いはそうやって定期的に煽らないと相手にもされず忘れられてしまうから大変だね。
280:デフォルトの名無しさん
20/09/22 18:29:56.76 I2DwYjSV.net
かといってWindowsはないわな
Linux使えるならいいけどそうじゃなければ微妙でもMacしか選択肢がない
281:デフォルトの名無しさん
20/09/22 21:00:12.88 .net
頭が悪い奴はWindowsを使いこなせない
282:デフォルトの名無しさん
20/09/22 21:57:58.27 5DojXjv/.net
逆だろ
Windowsって馬鹿でも使えるようにほとんどが画面で操作出来るじゃん
介護されてるジジイ向けって感じ
283:デフォルトの名無しさん
20/09/22 22:30:30.72 .net
Macはらくらくパソコンw
284:デフォルトの名無しさん
20/09/22 22:53:16.31 TWSwG1ae.net
>>282
なんで馬鹿でも使えるとジジイ向けになるの?
馬鹿でも使えるものなんてたくさんあるよね
例えば自動車とか
285:デフォルトの名無しさん
20/09/22 23:00:59.45 J3IrN4Ey.net
>>273
Windows 45.8%
MacOS 27.5%
Linux-based 26.6%
BSD 0.1%
(2020 Developer Survey by Stack Overflow)
Professionalに限るとMacの割合がもう少し高いと思われるが今年はその数値出てなかった
URLリンク(insights.stackoverflow.com)
URLリンク(insights.stackoverflow.com)
286:デフォルトの名無しさん
20/09/23 00:36:02.00 vUEpR4nB.net
Ruby on Rails では、Mac の方が、Windows よりも互換性が高いので、Mac が多い。
でも、Mac よりも、Windows 10, WSL の方が互換性が高い
だから、Docker でも、Windows では互換性が低い。
WSL では、Docker が使えないので、仮想OS で、Linux が最良となる
Rails やる人は、ローカルPC よりも、クラウド開発の方がよいかも
287:286
20/09/23 00:41:05.20 vUEpR4nB.net
数年後には、Linux の1強で、AWS の時価総額は、千兆円になる。
ローカルPC は、意味を持たない
Microsoft, Apple, Google, Facebook の4社は、合併せざるを得ないw
288:デフォルトの名無しさん
20/09/23 03:09:13.25 WMpUZcCB.net
GoogleだってデフォルトなコンテナはLinuxじゃないか?
なんでアマ一強?
289:デフォルトの名無しさん
20/09/23 03:15:27.09 w4oBfxWj.net
>> だから、Docker でも、Windows では互換性が低い。
WSL では、Docker が使えないので
これあきらかなまちがいじゃないの?
290:デフォルトの名無しさん
20/09/23 03:18:54.22 irsqaiS+.net
macOSはUnixだからDockerがそのまま動く
WindowsはUnixじゃないからDockerは動かない
291:デフォルトの名無しさん
20/09/23 03:23:13.80 lgv3Dh8y.net
日本語崩壊してる奴に構うなよ…
292:デフォルトの名無しさん
20/09/23 05:41:19.10 eLy3NMz6.net
とあるゲームのMODをバイナリ編集で作成しています(オフゲーです)。
ゲーム内で少数点を含む数値があった場合なのですが、
0.1 = CD CC CC 3D
0.2 = CD CC 4C 3E
0.25 = 00 00 80 3E
0.3 = 9A 99 99 3E
0.4 = CD CC CC 3E
0.5 = 00 00 00 3F
0.6 = 9A 99 19 3F
0.75 = 00 00 40 3F
0.8 = CD CC 4C 3F
ゲーム内の数値と照らし合わせながら、なんとかこの辺は16進数での値が分かったのですが、
似たような配列の部分もあるものの、法則性がいまいち分かっていません。
これらの数字はどのようにしてこのバイト数になっているのでしょうか?
もし求め方に検討がつく方がいましたら、ご教授いただけると嬉しいです。
ウェブ上にある10進数⇔16進数の変換器などではこうはならないように思うのですが…。
293:デフォルトの名無しさん
20/09/23 05:48:23.07 2q5D520u.net
単なる疑問なんですがプレースホルダの整数の%dでdはどうやらdecimalらしいのですがなぜintegerのiではないんでしょうか?
decimalは10進数の意味はあるらしいんですが整数の意味はないはずです。
decimal integer(10進数)という言葉があるらしいのでその頭のdと考えればいいでしょうか?
294:デフォルトの名無しさん
20/09/23 05:49:21.20 2q5D520u.net
3行目ミスりました
10進数整数です
295:デフォルトの名無しさん
20/09/23 06:11:05.63 /jALiaeA.net
>>293,294
iでない理由はまさに10進数整数以外の整数が実際に使われるから
16進数整数の%xはhexadecimal(16進数)から取られている
浮動小数点数の%fと区別することより10進,16進の区別の方が重要ってことでしょうね
296:デフォルトの名無しさん
20/09/23 07:34:08.67 vUEpR4nB.net
>>292
0.5 = 3F 00 00 00
0.25 = 3E 80 00 00
だから、それは、little エンディアンで表示されているのだろう
浮動小数点数内部表現シミュレーター
URLリンク(tools.m-bsys.com)
数値を、ビットに変換する
297:デフォルトの名無しさん
20/09/23 08:01:01.35 1xyUQ4Tl.net
>>290
unix関係ない。
macもwindowsもそれぞれの仮想化環境の上でDockerを動かしているんで大して違いはない。
298:デフォルトの名無しさん
20/09/23 08:22:52.29 2q5D520u.net
>>295
ありがとうございます!
299:デフォルトの名無しさん
20/09/23 08:58:49.30 vUEpR4nB.net
1つの整数には、4つの表示方法がある。
2, 8, 10, 16 進数での表示
そのどれかを指定する必要がある。
指定が無ければ、一般的には10進数と解釈される
300:デフォルトの名無しさん
20/09/23 17:54:21.21 CVxEsFYZ.net
>>296
ありがとうございます、リトルエンディアンなんですね。
教えて頂いたツールなのですが、数値をビットに変換するのはただ入力するだけでOKだったのですが、
ビットを数値に変換するにはページ内の下のものを使って導き出せるんでしょうか?
例えば、3F 00 00 00というビットだけ分かっていて、それがどんな数値かを調べたい時なんかの使い方がちょっと分からず…
単純に3F 00 00 00 = 0.5と出せるのではなく、都度指数分と仮数分を打ち込むしかないでしょうか?
301:デフォルトの名無しさん
20/09/23 18:51:56.63 WMpUZcCB.net
下駄履かせた整数じゃなく浮動小数を使っちゃうゲームってのが結構アレな気がするけど、全く関係ない話だな
302:デフォルトの名無しさん
20/09/23 18:55:34.35 OTtzD1jQ.net
ぶっちゃけ固定小数点で必要十分なケースは多い
303:デフォルトの名無しさん
20/09/23 18:57:24.10 je2AUY/q.net
>>300
データの意味は IEEE 754 でぐぐってみ
304:デフォルトの名無しさん
20/09/23 19:00:22.10 Vsa/902U.net
>>302
DirectXがsingle floatをよく使う
305:デフォルトの名無しさん
20/09/23 19:23:37.01 WMpUZcCB.net
ビューに手を加えるためにMODでもDirectX触ることもあるか
あるのか?低レベルアクセス
306:デフォルトの名無しさん
20/09/24 08:23:58.94 kdzzBXkp.net
UnrealEngine4を使用しているゲームで、バイナリ編集でゲーム内のデータを変えられるのですが、
その値の一部(動作の時間経過やパーセンテージなど)に上記のような数値が使われています
おかげさまで数値の特定が少し効率的に行えそうです、レスくれた方々ありがとうございました!
307:デフォルトの名無しさん
20/09/24 17:06:49.26 yPYFp8yf.net
複数人から同時にログをsqlに遅らせるんですけど、テーブルのPrimeKeyって何がいいんですか?
名前+Datetimeにすれば被らないとは思うんですけどなんか無理やりな気がして…
308:デフォルトの名無しさん
20/09/24 17:07:01.91 yPYFp8yf.net
*送らせる
309:デフォルトの名無しさん
20/09/24 17:16:09.14 Rn9V0mI1.net
文字列結合はせずに送信者と日時の複合キーにするか、サロゲートキー扱いで自動採番列とするか、シーケンスに採番させるか、あるいは主キーなし
310:デフォルトの名無しさん
20/09/24 17:34:31.70 yPYFp8yf.net
素早いレスポンスありがとうございます
ど素人なモノで出していただいたキーワードで調べてみます
311:デフォルトの名無しさん
20/09/24 18:22:13.43 sW11ypIO.net
>>307
>複数人から同時にログをsqlに送らせる
ってのがよくわからないが1回の書き込みで1人が何件くらい書くの?
とりあえずINSERTだけでなく
SELECTやUPDATEの利用シーンも考慮してからテーブルは設計したほうがいいよ
312:デフォルトの名無しさん
20/09/24 18:45:27.81 vqTd02/J.net
Linqを使ってIQueryable<>変数に結果を代入し
要素を取得しようとFirstOrDefault()を使うと
「LINQ to Entitiesでは認識できないため、ストア式に変換できません」
エラーになるんですがどうすれば要素の内容を取得できるでしょうか?
313:デフォルトの名無しさん
20/09/24 19:20:08.88 vqTd02/J.net
>>312ですが自己解決しました
314:デフォルトの名無しさん
20/09/25 02:44:14.75 4GDMhKox.net
質問ですがこのプログラムだとノック>1分待つが永久になるのでこれが10回で終わらせるにはどうすればいいでしょうか?
booleanのと組み合わせてやるのはムリでしょうか?
あくまでwhileとboolean使ってでお願いします
public class Main {
public static void main(String[] args) {
boolean doorClose = true;
while (doorClose == true) {
System.out.println("ノックする");
System.out.println("一分待つ");
}
System.out.println("部屋に入る");
}
}
315:デフォルトの名無しさん
20/09/25 02:58:10.28 +2VBuIVO.net
学校の課題?
316:デフォルトの名無しさん
20/09/25 06:40:15.33 +l2B7ows.net
booleanを使えばいいだけなら、数えた結果が10になったかどうかをbooleanに入れればいいだけ
加算を使ってはならないなら…booleanが4つあれば15まで数えられるな(実質+1するんだけど)
ifも条件演算子も使ってはならないなら、無理
なんでそんなくだらない条件を満たさなきゃならんのだ
317:デフォルトの名無しさん
20/09/25 06:42:03.04 BU0fUt+3.net
あくまでwhileとboolean
public class Main {
public static void main(String[] args) {
boolean doorClose = true;
boolean b1 = false;
boolean b2 = false;
boolean b4 = false;
boolean b8 = false;
while (doorClose == true) {
System.out.println("ノックする");
System.out.println("一分待つ");
b8 ^= b1 & b2 & b4;
b4 ^= b1 & b2;
b2 ^= b1;
b1 = !b1;
doorClose ^= b2 & b8;
}
System.out.println("部屋に入る");
}
}
318:デフォルトの名無しさん
20/09/25 06:51:39.50 BU0fUt+3.net
b1 = !b1 より b1 ^= true の方がいいか
319:デフォルトの名無しさん
20/09/25 07:00:04.98 fPqU3y5p.net
>>314
無理ではないが非合理なんでbooleanだけでやれなんて珍妙な縛りを出した奴は殴れ
方法はループ回数個のbooleanを用意
例として三回ループを示す(いろいろ省略
b1=false
b2=false
b3=false
while(!b3){
if(b1){
if(b2){
b3=true
}
b2=true
}
b1=true
}
320:デフォルトの名無しさん
20/09/25 07:10:22.16 BU0fUt+3.net
マジレスすると出題者はwhileの使い方を教えたかっただけで、booleanしか使うなともintを使うなとも言ってないだろうから doorClose = ++i < 10; で良さそう
321:デフォルトの名無しさん
20/09/25 11:28:52.50 4GDMhKox.net
すみません
出題されたわけでもなく、ただの興味本位です
勉強になります。作って頂きありがとうございました
322:デフォルトの名無しさん
20/09/25 12:49:22.05 ZK6gJNpW.net
質問とは関係ないけどこういうときのdoorClose変数はdoorIsClosedって命名するものだよ
while (doorIsClosed) で自然な英文として読めるようにさ
323:デフォルトの名無しさん
20/09/25 13:39:07.62 RwjETZMM.net
Booleanでループなんてバグの原因になるだけだろ
324:デフォルトの名無しさん
20/09/25 16:42:59.79 zl67KOre.net
>>311
すいません気付いていませんでした
一分間の間にどのユーザが何秒間ある行動をしたかログをとるもので、一分ごとに送信を行います
とりあえず主キー無しで思った動作は実装できました
325:デフォルトの名無しさん
20/09/25 16:54:12.36 zl67KOre.net
管理者用のSQLからログをSELECTしてグラフに起こすシステムも実装できたので、とりあえず大丈夫だと思います
326:デフォルトの名無しさん
20/09/27 16:44:07.16 Pg+r1YoA.net
これってふつうなの?
もしかしたらwsl2が複数ダウンロードされてるの?
わかるひといませんか?
PS C:\Users\all> wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
docker-desktop-data Stopped 2
docker-desktop Stopped 2
327:デフォルトの名無しさん
20/09/27 17:24:56.57 Pg+r1YoA.net
>>326
解決しました
すいません
328:デフォルトの名無しさん
20/09/27 19:43:51.51 fx+uDr5t.net
なにごとも動きゃいいですか?
329:デフォルトの名無しさん
20/09/27 21:13:46.14 eIKg6nYv.net
いいえ、保守性も考えましょう
330:デフォルトの名無しさん
20/09/27 21:42:20.56 fx+uDr5t.net
うるせー
331:デフォルトの名無しさん
20/09/28 22:38:42.81 xque+snB.net
コマンドプロンプトでIP指定するpingコマンドの操作について、
大学のPCから自宅のip宛も自宅のPCから大学のIP宛もどちらもタイムアウトするんですが、大学のネットワークがこういうアクセスをブロックするのってあるあるなのでしょうか?
ファイアウォール切るとかはやってみました
332:
20/09/28 23:09:15.32 iFBbxDDj.net
>>331
私は外からの ping は無視するように自分のルータを設定しています
ping は TCP でも UDP でもなく ICMP ですから、正確には ping では TCP/UDP 接続可能かどうかは判断できないのでは?
333:デフォルトの名無しさん
20/09/28 23:43:27.74 QIpyCS2B.net
AWS の例題とか見てても、ウェブサーバーを作っても普通、TCP:80 しか開放しないのでは?
ICMP を開放するかね?
334:デフォルトの名無しさん
20/09/28 23:43:44.00 f+Z5FJs8.net
SQL Serverへの外部ネットワークからのTCP/IP接続がうまく行かないのでいろいろ調べている素人です
ルータの設定は盲点だったので見直してみます
335:デフォルトの名無しさん
20/09/28 23:48:39.63 f+Z5FJs8.net
接続文字列の書き方が悪いのかと最初は四苦八苦していたのですが、そもそも接続先のipにpingも送れないのがおかしいのではとフワフワの知識から考えた次第です
336:デフォルトの名無しさん
20/09/29 07:30:43.94 RtWsU+I8.net
外部ネットワークからDB接続できないのは普通に大学側のファイアウォールで遮断されているものと思われ
337:デフォルトの名無しさん
20/09/29 09:31:29.38 9Z7EjLFi.net
tracertってのをやってみると大学に入って数層で止まるので多分そうですね……かなしい
338:デフォルトの名無しさん
20/09/29 11:20:57.52 7CQkQDjj.net
教授によると、AWS経由なら連携できるみたいです。
SQL ServerもAWSで建てれるみたいなので簡単に移行できそうですね
お騒がせしました
339:デフォルトの名無しさん
20/09/29 11:44:43.16 ztORdlGy.net
>>338
大学名書いてないから大丈夫とは思うけど、ファイアウォールのホワイトリスト設定に関わる情報を掲示板で話すのは良くないから、気を付けたほうが良い
意識しておかないと、まずい情報をポロリと漏らしかねない
340:デフォルトの名無しさん
20/09/29 11:57:12.46 LHxd7NoO.net
発信をホワイトリストで管理してくれる大学なんてあり得るのか?
341:デフォルトの名無しさん
20/09/29 12:44:17.35 ztORdlGy.net
え、AWSから学内のSQLサーバーに接続する話
安全考えるとAWSのアドレスのリストでファイアウォール通過を許可しちゃったら無防備に等しいと思うんだけどな
342:デフォルトの名無しさん
20/09/29 13:17:26.53 rZRnYPTQ.net
AWS触ったことないんだろうけど、AWSにはElastic IPというのがあって、ユニークで不変なIPアドレスを取得できるんだよ
343:デフォルトの名無しさん
20/09/29 13:27:37.30 ztORdlGy.net
>>342
AWSからなら連携できる、ならば固定アドレスでリスト作っている訳ではない、
AWSで割り当てられる固定アドレスリストもしくは逆引きしてAWSであるアドレスを許可しているものと想定
344:デフォルトの名無しさん
20/09/29 13:29:52.99 ztORdlGy.net
固定アドレスのホワイトリストだったら、自分の保有しているアドレスを申請すれば良いことになり、AWSならという前提が意味を持たない
345:デフォルトの名無しさん
20/09/29 13:38:58.10 ztORdlGy.net
SSHフォワーディングとかVPNで認証かましてファイアウォール通過させるってのは一般的じゃないのかな?
346:デフォルトの名無しさん
20/09/29 13:45:00.46 rZRnYPTQ.net
ああなるほど、言いたいことを理解した
まあ暗に特定のAWSアカウント(or VPC)との間の通信が許可されていると考えるのが自然だろうし、
>>338の書き振りからすると彼はそのアカウントを弄れるんじゃないかな
347:デフォルトの名無しさん
20/09/29 13:56:51.79 ztORdlGy.net
>>346
なるほど、認証とか済ませてある特定のVPCをAWSと呼んでるって考えた方が妥当かー
348:デフォルトの名無しさん
20/09/29 14:11:07.13 7CQkQDjj.net
>>339
ご指摘ありがとうございます
気をつけます
>>346
研究室で認可済みのアカウントがあるそうです
>>341
SQLサーバーの場所は学内ではなくVPC?側にする(これから私が作る)ので大丈夫なのだと思います
349:デフォルトの名無しさん
20/09/29 14:24:11.99 7CQkQDjj.net
アホ過ぎてスレを混乱させたようで申し訳ないです
_| ̄|○
350:デフォルトの名無しさん
20/09/29 18:51:13.05 Q+HTeu6k.net
複数の戻り値を定義できる関数(?)を持っている言語ってありますか?
351:デフォルトの名無しさん
20/09/29 19:20:32.26 ztORdlGy.net
RubyもPythonも、
静的言語でもRustやgoといった最近の言語ならできるやつはある
352:デフォルトの名無しさん
20/09/29 19:25:54.91 iE38wEdU.net
配列やリストを返せば何でもいいと思います!
最近はtupleと言う便利なのを扱える言語もたくさんあります
353:
20/09/29 19:26:37.51 5fiAtNx/.net
>>350
C ならば構造体の中にいくらでも変数を積み込んで構造体リターンでなんでもできます
構造体が値渡し、値返しできるのは K&R2 の妥協ポイント、私に言わせると堕落ポイントだと思っています
354:デフォルトの名無しさん
20/09/29 19:58:01.47 A+gsUsCm.net
>>350
んなもんどんな言語でも普通できる
355:デフォルトの名無しさん
20/09/29 22:07:16.07 Ic6zP4VX.net
var (x, y) = func()
みたいなことを言ってるならそこそこモダンな言語ならみんな使えるんじゃないかな
Kotlin、C#、ES6あたりもいけるね
分割代入とかアンパッキングとかで検索
356:デフォルトの名無しさん
20/09/29 22:49:19.29 Iz7+ZlTk.net
AWS の3階層システム(Web, AP, DB 各サーバー)では、
公開してるのは、ELB(Elastic Load Balancing)ロードバランサー。
ELBが複数のWordPress(WP)などへ分散させる
WPが、プライベート・サブネットのMySQL のマスター・レプリカへアクセスするので、
直接、DBへアクセスできない
そんなに、プログラミングに詳しい教授と言えば、猫の人がいるけど?w
357:356
20/09/29 22:54:50.68 Iz7+ZlTk.net
Amazon Web Services パターン別構築・運用ガイド 改訂第2版 (Informatics&IDEA)、
NRIネットコム株式会社、2018
YouTube で有名なサーバー構築運用屋、くろかわこうへいのお勧めの本
358:350
20/09/30 00:41:19.81 /n+3Mkwe.net
>>351-355の皆様
助言くださってどうもありがとうございました。
大変勉強になりました。
特に>>355さん。どんぴしゃ。
359:デフォルトの名無しさん
20/09/30 05:36:29.19 4o6tPKL3.net
Schemeとかだと配列などを使わずに多値を返せるけどマイナーすぎるか
360:デフォルトの名無しさん
20/09/30 08:46:43.14 6w0L7884.net
画像や動画の圧縮伸張は多値データを扱う関数だったりして
361:デフォルトの名無しさん
20/09/30 09:30:21.47 9FgTCMcN.net
圧縮伸長は戻り値がストリームなだけじゃないかな
AviSynthはそんな感じ
362:デフォルトの名無しさん
20/09/30 09:40:05.19 9FgTCMcN.net
複数の値を返す方法を大別するとこんな感じかな
・要素の型が一律な配列、リスト、ストリームの類(C,Java)
・型が自由だけど別途宣言が必要な構造体、クラス(C,Java)
・タプル型等にシンタックスシュガーを与えた分割代入(Python,C#,Kotlin)
・アンパッキングのコストのない多値(Scheme,Lua)
363:デフォルトの名無しさん
20/09/30 10:11:39.53 kv7yAT8F.net
動的型付けのない言語だと複数戻り値受けるの大変
364:デフォルトの名無しさん
20/09/30 10:22:40.75 Y7XJ9kqa.net
パターンマッチングを使ったデストラクチャリングを
代入においてどの程度サポートしているかという程度問題
サポートしてる程度が低いほど
自分でごちゃごちゃ書かないといけない
365:デフォルトの名無しさん
20/09/30 11:41:39.95 TOyie83v.net
pythonでcsvファイルを読み込むのですが、中身がすべてnanになってしまいます。解決方法を教えてください
366:デフォルトの名無しさん
20/09/30 12:01:20.97 AwRjzN5n.net
分かる人にソースを見てもらってください
367:デフォルトの名無しさん
20/09/30 12:18:09.82 NNWpaWfq.net
>>362
なるほど勉強になります
368:デフォルトの名無しさん
20/09/30 12:41:26.50 /dbaz1tV.net
>>365
Python のスレで聞いて下さい!
たぶん、数値として解釈できないのだろう
369:デフォルトの名無しさん
20/09/30 12:45:50.44 NNWpaWfq.net
味付けがまずいよ、ソースが要るよ
370:デフォルトの名無しさん
20/09/30 12:56:20.64 xxSg96Gs.net
しょうゆじゃダメですか?
371:デフォルトの名無しさん
20/09/30 13:33:55.71 NNWpaWfq.net
はしょっても結局焦げ付くからさ
372:デフォルトの名無しさん
20/09/30 14:01:31.72 AwRjzN5n.net
最初は何もつけずにお召し上がりください!
373:デフォルトの名無しさん
20/09/30 20:27:20.92 pe+tBhYh.net
Webアプリは作ったことがあるんですが
gitやdockerをつくるにはどうすればいいですか?言語はCでやりたいと思ってるんですが
374:デフォルトの名無しさん
20/09/30 20:29:48.47 qrMJGMd/.net
ショウガ無いなぁー
375:デフォルトの名無しさん
20/09/30 20:37:06.52 FNqhIy19.net
>>373
石けん作ったことあるんでしょ?
だったら消毒液をつくるにはどうすればいいかもわかるよね?
それも水でやりたいなら電気分解じゃないかな
376:デフォルトの名無しさん
20/09/30 21:10:22.10 s9/SbtbT.net
switchでおみくじゲーム(笑)を使っているレベルの人間が、
GitとかGithubとかバージョン管理ソフトを使うメリットってありますかね?
とりあえず使ってみたら、「なんでいままで使わなかったんだ!」って感動しますかね?
377:デフォルトの名無しさん
20/09/30 21:10:53.31 s9/SbtbT.net
×使っている
〇作っている
378:デフォルトの名無しさん
20/09/30 21:23:43.82 pc2vUBN1.net
>>376
感動のあまり、PCゲームのセーブデータまでGitでバージョン管理するようになる
379:デフォルトの名無しさん
20/09/30 21:35:48.35 s9/SbtbT.net
絶対嘘だ(笑)
380:デフォルトの名無しさん
20/09/30 21:38:59.03 mE7lggX7.net
>>378
ソースコードじゃないから意味がないな
381:デフォルトの名無しさん
20/09/30 21:42:26.84 pe+tBhYh.net
>>375
Webアプリと言ってもフレームワークだよりだったのでわからないです
382:デフォルトの名無しさん
20/09/30 21:50:38.24 pc2vUBN1.net
>>380
いや、マジよ
マインクラフトとかのコンストラクション系や、RPGでもキャラビルドが取り返しつかない系でセーブを戻すため
383:デフォルトの名無しさん
20/09/30 21:54:40.29 mE7lggX7.net
>>382
だからソースコードじゃないからソースコード管理システム管理する意味がない
「ソースコードの断片を再利用できないから」
そういうのはただのバックアップソフトで十分
384:デフォルトの名無しさん
20/10/01 00:13:27.89 511kcisg.net
double型で整数/整数=整数となる計算をした時は正確な値になりますか?
どの整数もdouble型で正確に表せる範囲とします
例えば
ceil(8.0/3.0)=3.0
ceil(9.0/3.0)=3.0←これが4.0になってしまう心配
ceil(10.0/3.0)=4.0
385:デフォルトの名無しさん
20/10/01 00:17:10.73 5ZG2Vz6Q.net
>>384
「double型で正確に表せる範囲」をお前はちゃんと知ってるんか?
ちょっといってみぃよ
386:デフォルトの名無しさん
20/10/01 00:22:27.53 U2i45Vms.net
処理系次第としか言えないかなぁ
テストするしかないよ
387:デフォルトの名無しさん
20/10/01 00:22:29.39 511kcisg.net
>>385
53bitの範囲ですか…?
388:デフォルトの名無しさん
20/10/01 00:26:34.47 5ZG2Vz6Q.net
>>387
仮数部53bit(52bit+符号1bit)だな
その意味はわかってるか?
53bitで正確に表せる範囲であれば正確に表せる
つまりあんたは意味がないことを聞いてるんだよ
正しく表せる数字は正しく表せますか?と言ってる
正確に表せる範囲であれば正確に表せるよw
389:デフォルトの名無しさん
20/10/01 01:28:46.90 theiHz1p.net
浮動小数点は誤差を含むから、a == b みたいに比較しない
誤差の範囲内で、OK とする。
b - 誤差 <= a <= b + 誤差
a == b を使いたいなら、整数型へ変換して比較すべき
390:デフォルトの名無しさん
20/10/01 05:42:25.73 /D1HJJ3Q.net
>>383
ブランチ管理してくれるならバックアップでもいいかな
あとリストアも自動で
BunBackupでそこまでの機能ってあったっけ?
391:デフォルトの名無しさん
20/10/01 07:57:28.84 8lHIA6al.net
>>384
IEEE754の規定では、9.0/3.0なら正確に3.0を返さなければならないはず。
392:デフォルトの名無しさん
20/10/01 13:06:08.35 Fo5IxMM2.net
名前空間で分類してるからクラス名を積極的に短くする
vs
かぶらないに越したことはないのでクラス名は長く書く
どちらが正解なのでしょうか?
//shared code
namespace Domain {
Foo
FooDetail
Bar
IFooRepository
IBarRepository
IFooService
IBarService
}
393:デフォルトの名無しさん
20/10/01 13:06:41.82 Fo5IxMM2.net
//長い名前派
TooLongName.cshtml
namespace UI {
TooLongNameViewModel
TooLongNameFooViewModel
TooLongNameFooDetailViewModel
TooLongNameBarViewModel
TooLongNameModelMapper
TooLongNameController
TooLongNameFacade
TooLongNameOther
}
//短い名前派
TooLongName.cshtml
namespace UI {
TooLongNameController // 設定より規約パターンのために短くできない
namespace TooLongNameDetail {
namespace ViewModels {
Foo
FooDetail
Bar
}
ModelMapper
Facade
Other
}}
394:デフォルトの名無しさん
20/10/01 13:15:51.37 OaA9a4hN.net
この手のものに正解は無いので
名前空間の方が好みだし、名前は短い方がいい
395:デフォルトの名無しさん
20/10/01 13:43:58.49 w51Lc0nW.net
名前空間使って短くするほうが圧倒的に良いと思うけど切り方が微妙
396:デフォルトの名無しさん
20/10/01 13:51:05.30 Fo5IxMM2.net
>>395
参考までにあなたならどのように切りますか?
397:デフォルトの名無しさん
20/10/01 14:35:38.69 hOjhiI7q.net
条件式と条件文って同じ意味ですか?
398:蟻人間
20/10/01 14:46:07.74 7hENrO7v.net
>>397
多分、条件式の方が正しいと思うが、
250個以上のプログラム言語があるから、
条件文も正しいかも知れない。
399:デフォルトの名無しさん
20/10/01 15:42:41.06 bVq+7g5F.net
値を返さないものが文、返すものが式って感じじゃね
400:デフォルトの名無しさん
20/10/01 18:18:17.46 mFu9oEu2.net
まあ確かに言語によるかもしれんけど
条件文とは例えばif文とかの全体を言っていて
if(ここ) に入れるのが条件式と言ってるとかじゃないかね?
401:デフォルトの名無しさん
20/10/01 18:29:37.75 Njtwj5ZN.net
>>400
よく使われている常識的な言語だとそうだろうね。
独特の用語の使い方をする言語もあるから責任は持てないけれど。
402:デフォルトの名無しさん
20/10/01 18:40:24.68 w51Lc0nW.net
>>396
オーソドックスにやるならView/ViewModel/Controllerは
Presentation Layerの中に並列に切る
WebUI.Views
WebUI.ViewModels
WebUI.Controllers
アーキテクチャ次第だから絶対にこうすべきという物があるわけではないけど
とりあえずメジャーなサンプルプロジェクトを参考にしてみては?
URLリンク(github.com)
URLリンク(github.com)
403:デフォルトの名無しさん
20/10/01 22:50:18.59 theiHz1p.net
>>392
Ruby on Rails では、1単語が多い
bookmark, comment, todo とか、皆が使う
404:デフォルトの名無しさん
20/10/02 02:12:32.96 nnGmkCD2.net
認証ありのSPAをSpringBoot2とReactで実現したくて勉強をしています
いろんなサンプルプロジェクトを落としてきて見ているのですがどれも認証トークンをローカルストレージに保存する手法で作ってます
こちらの記事ではそういう大事な情報をローカルストレージに入れるのはマズいと書かれていました
URLリンク(techracho.bpsinc.jp)
個人的には記事の内容の通りだと思うのですが多数のプロジェクトで使用されているからには何か対策があるからなのでしょうか
またローカルストレージを使用しない手法を使用したプロジェクトをご存知であれば教えていただきたいです
405:デフォルトの名無しさん
20/10/02 06:04:35.69 gfOt11Rw.net
>>404
その記事でcookie使えと書いてあるじゃないか
406:デフォルトの名無しさん
20/10/02 13:31:20.50 aQA5qaSB.net
MVCフレームワークならいつもと同じようにCookie認証すればOK
すると通常リクエストにもAJAXリクエストにも自動的に認証Cookieが乗っかる
後はCSRF対策用のヘッダーだけ載せ忘れないようにAJAXリクエストを共通コードでラップしておけば完璧
407:デフォルトの名無しさん
20/10/02 17:28:18.61 IzIkeFXj.net
ありがとうございます
Cookie認証で実装しているプロジェクトを探してみます
408:デフォルトの名無しさん
20/10/02 18:00:19.42 J9beoHbU.net
これでも結局はクッキーで送られたIDでAPIをアクセスするんやろ?
一緒やんと思うんやけど何故これでセキュアと言い切れるのか
409:デフォルトの名無しさん
20/10/02 18:25:31.43 SqfSpP9U.net
XSS対策 http only Cookie
盗聴対策 secure Cookie
CSRF対策 アンチフォージェリトークン
弱点は、ないッ!
410:デフォルトの名無しさん
20/10/02 18:38:47.74 gfOt11Rw.net
>>408
雑に説明するなら、http only cookie はスクリプトからアクセスできないから
とりあえずCSRF周りの記事を読み漁るといい
411:デフォルトの名無しさん
20/10/02 18:44:34.78 gfOt11Rw.net
>>409
強引に難しいルートとしてだけど攻略不可能でもないと思う
DNSポイズニングで偽証明局掴まされて、中間者攻撃でTLSを中継されたらどうしようもない
412:デフォルトの名無しさん
20/10/02 18:50:42.09 1uQRz/LD.net
XSSされたらCookie取られなくても即死じゃね?
正規のエンドポイントに不正リクエスト送られてアウト
413:デフォルトの名無しさん
20/10/02 19:59:33.86 J9beoHbU.net
>>410
そんなのコードだけの話でパケットみたら丸わかりやん・・・
こういうのでセキュアってなんか違うんじゃね?
CSRFってこれもトークンなんだし結局は一緒かと
414:デフォルトの名無しさん
20/10/02 20:53:53.02 gfOt11Rw.net
>>413
えーと、ド素人乙
415:デフォルトの名無しさん
20/10/03 06:38:15.58 shIcxUBj.net
自分で作ったWebAPI(Lambda)からデータをGETするだけのサイトを作りたいのですが、フロントも自分で作った方がセキュリティ的に安全なのでしょうか?
もしセキュリティ的に問題無いのでしたらlivedoorブログとかで代用したいです
416:デフォルトの名無しさん
20/10/03 07:41:49.30 Kf2+e+3P.net
>>415
問題ない
GETは普通のHTTP GETだから
417:デフォルトの名無しさん
20/10/03 10:12:33.85 GRmzBiTi.net
パスワード再設定のためにワンタイムパスワードをメールで送るパターンを採用してるシステムがよくあるけど
このメールって盗聴されたりしないんですか?
418:デフォルトの名無しさん
20/10/03 10:21:50.46 rJVT04kJ.net
>>417
starttls
419:デフォルトの名無しさん
20/10/03 10:25:18.27 wMNyZfVn.net
>>418
これってクライアントから直近のSMTPサーバーまでの暗号化を強いるだけじゃないんですか?
SMTPリレー中のサーバーが1つでも非対応の場合は盗聴されてしまうのでは
420:デフォルトの名無しさん
20/10/03 10:51:42.71 rJVT04kJ.net
>>419
そうだけど、それはそのサイトの問題じゃないよね
変なメールプロバイダ使ってる人の問題
それに実際の話、サイトのOTPだとバレたとしても何か問題ある?
アカウントと紐付いて初めて問題になるから
421:デフォルトの名無しさん
20/10/03 10:54:54.15 rJVT04kJ.net
>>420
あ、いや問題はあるか
問題のあるプロバイダ使ってる人のアカウントを特定できるなら、パスワード再設定して盗聴したOTPでログインとか
422:デフォルトの名無しさん
20/10/03 10:58:51.68 rJVT04kJ.net
>>419
まあ、大体がメールのリレーに割り込むこと自体のハードルがかなり高いし
423:デフォルトの名無しさん
20/10/03 11:31:38.26 wMNyZfVn.net
やっぱりメールだとセキュアではないですよね…
なんでこんな脆弱なプロトコルがスタンダードのまま野放しになってるんだろう
424:デフォルトの名無しさん
20/10/03 11:46:14.18 TFoea3MP.net
メール送信先と、OTPの発行されたシステムのアカウントの紐付けはどうやるんだろう
メールにアカウントのIDが書いてあったり下手なURLが書いてあったとしたら設計側の問題だよな
425:デフォルトの名無しさん
20/10/03 12:14:10.63 iCV76+ee.net
セキュリティを気にするのだったらメールで認証するなということだな
昔の技術にただ乗りしているのだからメールシステムに問題があるんじゃなくて
採用する側が問題
426:デフォルトの名無しさん
20/10/03 12:38:01.90 FL3eMRUo.net
セキュリティに「これしとけば完璧」なんてないのよ、いたちごっこだから
した方がしないよりはマシ
複数からの同時ログインを特別扱いしとけば横取りされたらすぐわかる、わからないよりはマシ
OTPは時限だし
427:デフォルトの名無しさん
20/10/03 12:42:02.51 ZslaW4c9.net
1. ランダムトークン、メールアドレス、パスワード、タイムスタンプ、IP、セッションIDなど仮登録
2. 検証URLのクエリパラメータにランダムトークンのみを付けてメール送信
3. 検証URLにアクセスが来たらランダムトークン、有効期限、IP、セッションIDなど検証してメールアドレス、パスワードを本登録
メールはどう頑張っても盗聴される可能性がある
検証を厳しくすると、登録はPCだけどメール確認はスマホ、のパターンに対応できなくなる
検証を厳しくしても、メール盗聴者によるなりすましは防げない
検証を厳しくすると、うっかりクリック狙いのなりすましを防げる
初期登録の場合、メール盗聴されても個人情報、機密情報が抜かれることはないが、勝手に本登録されてしまうことはある
パスワード強制リセットの場合、ランダムパスワードをメール通知するか、メール認証の後で再入力を促すしか方法がないので、メール盗聴されるとアウト
リセット後、可能な限り速やかに、WEB画面からパスワード変更すべし
こんなところですかね
セキュリティ難しすぎて辛い
428:デフォルトの名無しさん
20/10/03 12:51:33.85 1IyBCfpu.net
復号化するキーを画面上で発行してメールの中身を暗号化したり
ワンタイムパスワードをセッションID使って暗号化しておいて
同じセッションじゃないと使えないようにしたりすれば
メールアドレス == アカウントでもだいぶセキュアになるかも
でもパスワード忘れるような人にとってそういうのは異常にハードル高くて
サポートコストが増大するから特別なサイト以外はやらない
利便性とセキュリティのほどほどのバランス
429:デフォルトの名無しさん
20/10/03 13:03:48.16 EzoVu8Do.net
>>428
盗聴者がセッション開始することもできるからそれでは防げないかと
盗聴者:盗聴対象メールアドレスを入力、パスワード再設定セッション開始
盗聴者:パスワード再設定メールを盗聴、ワンタイムパスワード取得
盗聴者:ワンタイムパスワードを入力、パスワード再設定
盗聴者:パスワード再設定セッション終了
~~~~
正規ユーザー:身に覚えのないパスワード再設定メールを受信(この時点で手遅れ)
メールだとパスワード再設定が脆弱すぎる
パスワード再設定はメールじゃなく電話、SMSを必須にしたほうがいいのかも
430:デフォルトの名無しさん
20/10/03 13:14:51.58 rJVT04kJ.net
>>429
URLリンク(blog.kaspersky.co.jp)
これ5Gでも問題になってる
豆な
431:デフォルトの名無しさん
20/10/03 13:24:35.60 Y8AbULhw.net
不正アクセスに関しましては全て被害届を提出します
過去に実績もあります
って書いてればビビリからは攻撃受けないだろ
まぁ自動化して攻撃してるだろうから意味は無いかもしれんが
432:デフォルトの名無しさん
20/10/03 14:17:48.67 1IyBCfpu.net
>>429
標的のメールが常に盗聴可能な状態でパスワード再設定に必要な情報も持ってるって前提ならね
セキュリティに100%はないから
どういう種類の攻撃に対してどの程度の防御ができてるのかと
その攻撃が実現しうるリスクの程度で評価しないと
433:デフォルトの名無しさん
20/10/03 14:23:06.46 TFoea3MP.net
なるほどメールアドレスがそのままアカウントIDになってるサービスでは盗聴に弱いのか
ならパスワード強制リセットのページにも別のワンタイムトークンを表示しておけば……いやそんなことしなくてもWeb側のセッションIDとメールの認証キーを内部で照合すれば、セッション固定攻撃と組み合わせない限りは安全なのでは?
434:デフォルトの名無しさん
20/10/03 14:25:13.05 TFoea3MP.net
って428が書いてたわ
すまん見落としてた
435:デフォルトの名無しさん
20/10/03 14:45:21.88 TFoea3MP.net
メール受信による認証は盗聴に弱いから、多要素認証の一部として効果を発揮するのであって、単独でパスワードリセットができるのは安全性が低い
せめて生年月日とか電話番号とかを合わせて聞くようなリセット方式にしないと心許ないってところかな
436:デフォルトの名無しさん
20/10/03 15:23:35.99 iCV76+ee.net
セキュリティに100%はない
しかしマスコミをそれを知ってか知らずか
破られると猛烈にたたく
システムを作る側としては解がないわ
437:デフォルトの名無しさん
20/10/03 15:35:47.09 iXmRISfh.net
参考にAmazonのパスワードリセットのワークフローを調べた
1. メールアドレス入力、サブミット
2. ワンタイムパスワードメール受信
3. ワンタイムパスワード入力、サブミット
4. 新パスワード入力、サブミット
盗聴者が攻撃しようとしたらこれで攻撃できちゃうのでは?
1. 攻撃対象メールアドレス入力、サブミット
2. ワンタイムパスワードメール盗聴
3. ワンタイムパスワード入力、サブミット
4. 新パスワード入力、サブミット
Amazonが採用してるぐらいだからメール盗聴のリスクは考えなくてもいいのかな?
もう、わかんねえなこれ