スレ立てるまでもない質問はここで 159匹目

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2022/02/12(土) 22:44:40.76ID:AqYcq6TN
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

【前スレ】
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/
次スレは>>980が立てること
759デフォルトの名無しさん
垢版 |
2022/04/16(土) 13:08:54.19ID:cqF7oc/n
>>753
卵かけご飯の「かけ」とかけ算の「かけ」って同じなんですかね?
数ってお"かず"なんでしょうか

>>757
0が加法について特別な数だということに異論はありませんが、そのこととの因果関係がいまいち分かりません…すみません

>>758
「何に?」という疑問はそこにも生まれます。あと、例えば2(が1個)に2を3個足したら2が4個になるだけで、1+3の計算になります。6はどこにも出てきません。
(これが分配法則と関係してるのかも!?)
2022/04/16(土) 13:12:13.65ID:V2JT8LuH
>>758
完全に同意
便宜上、乗算を説明するための近似となる文章表現をしたことでノイズが乗り、そのノイズに拘ってるだけの問題
2022/04/16(土) 13:13:43.73ID:V2JT8LuH
最初に2があり、これを3つに複製してそれぞれの合計を取る捉えれば何にという疑問は生まれない
2022/04/16(土) 13:17:06.45ID:ILB4Tr27
たまご × 黒豆雑穀米 × ちりめん × 削り節 × オリーブオイル × 焼き海苔 = ?
2022/04/16(土) 14:00:17.80ID:DZ0JuSCF
>>759
いくつに0を足しても元の数と変わらないなら
初期値を0としてそこにxを足せば必ずxになる
初期値として最適ということだね
君が悩んでるのは単なる初期化の問題にすぎない
2022/04/16(土) 14:12:14.76ID:DdaJRWZW
>>759
ほんとに定義が知りたいなら自然数の構成あたりから始めてみては。
議論ふっかけに来てるだけならもう少しうまくやってください
765デフォルトの名無しさん
垢版 |
2022/04/16(土) 14:35:03.63ID:cqF7oc/n
>>760
説明されるべき「乗算」がなんなのかまず分からないのです。完璧に写経したとしても、何が書いてあるか理解してないのと同じです

>>763
0を初期値にするのは結局 x×1 = x を成り立たせるための工夫に過ぎず、まずそもそも x×1 とはなんなのか分かりません

>>764
数を定義したものです↓
https://note.com/srtk613/n/na1ca73c47ede
ソクラテスみたいに論破したいんじゃなくて、本気で知りたいんです
2022/04/16(土) 14:52:53.77ID:DZ0JuSCF
>>765
初期化と言ったのはプログラム的にはそれがわかれば十分な問題であって
君のように考えるのはプログラマ的には全く意味がないから

結局数学自体が世界を知るための「工夫」に過ぎないから
そこにそれ以上の深い意味なんかないよ
2022/04/16(土) 15:09:22.74ID:dqBVdpzN
乗算というのは、演算の一種だ。
長さに対する面積。
複数の複数個。
そこにルールがあるのは群論や整数論などで勉強する。
ルールは自然発生するものもあれば、定義から発生するものもある。
一年ROMって群論の熟読をオススメする。
2022/04/16(土) 15:39:16.04ID:2sMe/VPK
>>762
UMA I
2022/04/16(土) 16:07:43.47ID:HzTWzZVk
>>767
あんたが群論を語るなんて、変わったね… QZ
2022/04/16(土) 16:47:25.51ID:dqBVdpzN
>>769
QZとは別人です。
771デフォルトの名無しさん
垢版 |
2022/04/16(土) 16:49:27.32ID:cqF7oc/n
>>766
ごもっともです

>>767
群論の定義を読んでも、なぜこのように定義するのか分かりませんでした。
2022/04/16(土) 18:17:37.85ID:bGKDnM+t
>>771
これは「なぜ」ではなく
こう定義したら無矛盾な体系が作れたというだけ
2022/04/16(土) 18:29:21.16ID:HshMhMuC
>>768
半分正解
めちゃ美味いのでやってみてね
2022/04/16(土) 20:05:49.86ID:9kZcaiqY
>>772
それはあまりにも乱暴な気がする
どこかのサイトで、群の新しい定義を考案・考察しているのを興味深く読んだが、どこか忘れてしまった…
2022/04/17(日) 08:59:23.34ID:FqAzyeEG
>>774
あえて付け加えるとたまたま有用だったということか
無矛盾な体系を作るのは意外と大変
776デフォルトの名無しさん
垢版 |
2022/04/19(火) 14:35:26.07ID:93jtOIJR
Windows Serverの特定のフォルダ配下の未圧縮ファイルを日次で自動圧縮(zip化)させるシンプルなロジックを探しているのですが、どなたか偉い人教えろください。
2022/04/19(火) 14:37:59.52ID:4rLwBLhm
日次ならタスクスケジューラに、移動→圧縮→元ファイル削除、のバッチファイル入れておけばいい
778デフォルトの名無しさん
垢版 |
2022/04/19(火) 19:41:32.21ID:UxS+dXZ7
WPFの質問です
XAML側に
 コンボボックス(Itemsource = "{Binding Path = bind.list1}")
 データグリッド(Itemsource = "{Binding Path = bind.table}")
があり、

C#側に、
 class bind
 {
  List list1 {get;set;}
  Datatable table {get;set;}
 }
があります。


@C#側のWindowのコンストラクタ内で、bindのインスタンスを生成した後、
 list1にデータを与えて、Datacontext = this;します

Aその後、ボタンのクリックイベントで、
 tableにデータを与えます。


Aの後に、WPFの画面を見ても、DataGridに反映されていません。助けてください。
ちなみに@のDatacontext = this;を消して、Aに持ってくると、DataGridに反映されます。

ボタンは何度も押されるのでtableの中身が書き換わる度にDataGridが更新されるようにしたいです
2022/04/19(火) 19:45:43.22ID:4CQfli8Q
datatableにINotifyPropertyChangedを実装
780デフォルトの名無しさん
垢版 |
2022/04/20(水) 19:50:57.57ID:YxFzzgau
>>778です
ReactivePropertyを使って実装できました!
ありがとうございます

また追加で質問します

やりたいこと
ボタンを押した時、既に表示されているDataGridのItemSourceであるDataTableの中身をforループですべて確認して、
指定した条件に当てはまれば、行の色を変更したい

試したこと
DataGridRowのBackgroundをインデックス[0],[1],[2],[3],[5]を指定し色を変えたが、スクロールすると表示がおかしくなる

1枚目:正常に指定した場所に設定出来ている
2枚目:下にスクロールすると、インデックスで指定してないところにまで色がついている
3枚目:もう一度上に戻すと、正常に設定できてたはずの色が変になっている
https://i.imgur.com/GBvPRWR.jpg
https://i.imgur.com/TpxgjUU.jpg
https://i.imgur.com/iUbU91j.jpg

↑の原因は何かわかりますでしょうか

あと「やりたいこと」を実装するにはどんな方法がいいでしょうか
2022/04/21(木) 17:54:20.71ID:UEWB7PkB
原因は知らないがStyle.TriggersのDataTriggerみたいなxaml書けばトラブルことは普通ない
2022/04/22(金) 09:05:52.40ID:foCOneKD
よろしくお願いします。

縦4、横4のマトリクスのマスと2進法と16進法でデータの大きさを考えると

2進法では、2の4乗で16ビットで2バイト
16進法では、16の4乗で65536ビットで8192バイトで
比較すると16進法なら4096倍のデータ容量の違いが出ると
そう考えていいんでしょうか?
783デフォルトの名無しさん
垢版 |
2022/04/22(金) 09:44:17.04ID:mLNKXQf1
>>782
天才やん
2022/04/22(金) 09:50:07.70ID:ix6iVD/8
node.jsでhttp.requestを使ってリクエスト飛ばしてるんだけど、どんなurlになっているかを調べる方法ある?
pathとかhost,portを別々で定義してるけど、自分の想定と違うurlになっているようでbodyがとれない
785デフォルトの名無しさん
垢版 |
2022/04/22(金) 10:27:18.26ID:npLQ4LN9
>>782
読み手が混乱する。
壮大な勘違いをしているでしょう。
2022/04/22(金) 11:02:52.92ID:sw1ZSFqm
入力値が5個あります
出力値が2個あります
入力値から出力値が計算されるのですが、具体的な関数が不明です

入力値から出力値を推定するにはAIみたいなのを作ればいいのかなと思ったのですが、
AIのことを調べても何かを分類するものばかり出てきて、
推定値を出力するようなものが見当たりません
何を調べればいいか、もしくはざっくりどのように記述すればいいか教えてください
2022/04/22(金) 11:17:38.40ID:FVe0YoAk
>>786
深層学習 回帰問題
2022/04/22(金) 11:47:18.35ID:lpUe/ai7
>>787
やってみたのですが、線形回帰ではないので誤差が大きくなりました
実際の関数は各入力値に対して折れ線グラフのような形になっています
2022/04/22(金) 16:43:41.95ID:ZKSexgug
Pythonで簡単な分類AI作るとき、
model=Sequential()
model.add(Dense(ニューロンの数,input_dim=入力の数))
model.add(Activation('relu'))
model.add(Dense(出力の数))
model.add(Activation('softmax'))
みたいにするけど、ニューロンの数ってどうやって決めるの?適当?
あと多段にしたほうがいいかどうかってどう判断する?
2022/04/22(金) 17:29:41.60ID:p48HHJp5
>>784
request.href
2022/04/22(金) 19:02:10.40ID:FVe0YoAk
>>789
理論的にやるとしたらとても大変
自動化ツールもあることはある
ハイパーパラメータ 自動
2022/04/22(金) 19:32:14.89ID:OqR7zFyk
>>791
モデルが決定したら自動でニューロンの数を試行錯誤するツールがあるということみたいね
モデル自体の決定は自分でするしかないのかな
遺伝的アルゴリズムというのがその話なのかどうかよくわからん
結局よくわからんから最終的に試行錯誤と経験しかない感じがする
2022/04/22(金) 19:37:58.80ID:Faoytok+
これはうまく行かなかった
という報告は普通はないからね
新しいデータセットに対しては
0から取り組むしかない
2022/04/23(土) 09:04:08.88ID:En+rC0cd
VSCodeでtensorflowをGPU上で使いたいです
cuDNNのインストールまではしたのですが、

2022-04-23 09:02:09.533169: I tensorflow/core/platform/cpu_feature_guard.cc:151] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-04-23 09:02:09.915577: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1525] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 2155 MB memory: -> device: 0, name: NVIDIA GeForce GTX 1650, pci bus id: 0000:01:00.0, compute capability: 7.5
tf.Tensor(b'Hello, TensorFlow2!', shape=(), dtype=string)

というエラーが出てしまいます
tensorflowをリビルドしろと書いてあるのですが、どのようにすればいいかわからないので教えてください
2022/04/23(土) 11:05:21.62ID:3rPVUp1y
>>794
それ INFO ではないか?
796デフォルトの名無しさん
垢版 |
2022/04/23(土) 12:08:42.17ID:lyaCJMz0
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.

with the appropriate compiler flags.
の通り、コンパイルフラグを変更しないといけません
man, --help or -h
などでコンパイルフラグを調べてください
797デフォルトの名無しさん
垢版 |
2022/04/23(土) 12:13:34.13ID:lyaCJMz0
oneAPI Deep Neural Network Library (oneDNN)が
operations: AVX AVX2を使えなくてダメだってさ

tensorflow/core/platform/cpu_feature_guard.cc
を見つけてきて、151行目のエラー前後を読まないといけないね

oneAPI Deep Neural Network Library (oneDNN)が
operations: AVX AVX2
を有効にするためのフラグがあるんでしょ?
2022/04/23(土) 12:39:36.63ID:SMxHUlYu
ええ、だからどういうフラグかわからないから教えてと言ってるんですが
英語くらいわかります
2022/04/23(土) 12:50:01.46ID:IxpxhG25
英語くらいはわかりますが調べようとは思いません。
2022/04/23(土) 13:01:25.64ID:kgw0Ucei
英語くらいわかります?
ERRORとINFOの区別すら出来ないのに?
2022/04/23(土) 13:06:56.32ID:lzZBvk7o
>>797
>operations: AVX AVX2
>を有効にするためのフラグがあるんでしょ?
その2つの拡張命令セットを使う最適化がされてるよっていうメッセージだぞ
質問する側も回答する側も英語読めてないやんw
2022/04/23(土) 13:24:36.94ID:UUEa7EYi
あるならフラグ書けやボケ
2022/04/23(土) 13:40:51.41ID:9S6ACYtr
当たり前だか指定する命令セットや使うコンパイラによってオプションは違う
本当にソースからビルドしたいならまずはマニュアル読め
804デフォルトの名無しさん
垢版 |
2022/04/23(土) 13:41:17.19ID:lyaCJMz0
>>794
> tensorflowをリビルドしろと書いてあるのですが、どのようにすればいいかわからないので教えてください

>>798
> ええ、だからどういうフラグかわからないから教えてと言ってるんですが

読み返してよくよく考えてみた

>>794 の使っているバイナリでは元々 "operations: AVX AVX2" を有効にしてビルドしてあった
でも >>794 の環境は提供されているバイナリをそのまま使えないので、
別の命令でAVX, AVX命令と互換性のある命令を使う必要があり、
適切なフラグをセットしてバイナリをリビルドする必要がある

ということで適切なフラグをセットする対応策はドキュメントに書いてあるでしょうから、
英語読める>>798は英語頑張って読んでね
2022/04/23(土) 13:42:37.94ID:Phfimq1z
エラーメッセージはどうでもいいから見てないけど
gpu使いたい場合は一番重要なのはバージョン
cuDNNとか「インストールした」じゃなくて、どのバージョンをインストールしたかってとこが重要
tensorflowのバージョンによってもどれサポートするかが決まってるから
ぐぐってバージョンの組み合わせを見つけてからダウンロード・インストールすれば動くし
逆に組み合わせ調べないと動かない
2022/04/23(土) 13:44:11.90ID:xoifOiAo
tensorflow/core/platform/cpu_feature_guard.cc:151

に書いてあるんじゃないの

でも最初のIがinfoの意味ならコンパイルはできてるけど最適化されてないよって意味じゃない
2022/04/23(土) 14:31:11.05ID:xjMNFyYI
DeepLで翻訳

このTensorFlowバイナリは、oneAPI Deep Neural Network Library(oneDNN)により、パフォーマンスが重要な処理において、以下のCPU命令を使用するように最適化されています。 AVX AVX2
その他の処理でこれらを有効にするには、適切なコンパイラフラグを使用してTensorFlowを再構築してください。

最初の人が言ってるようにINFOじゃん
パフォーマンスが重要な処理でしかAVX命令を使ってませんそれ以外で使いたければTensorFlowを再コンパイルしろと読める
2022/04/23(土) 14:55:53.21ID:BQs7W50I
>>807
ソース見たけどその解釈であってるね

これはメッセージがまずくて意図が伝わらなくなってるのでissueあげたほうがよさそう
昔のメッセージはもっとわかりやすいやつになってた
2022/04/23(土) 15:02:25.58ID:5VyciCZr
日本語わかってもカタコトの日本語だと意味不明というのと同じようなもんだな
810デフォルトの名無しさん
垢版 |
2022/04/23(土) 15:07:04.67ID:lyaCJMz0
>>807
そう、メッセージのみで考えるとINFO
tensorflow のみで考えてみた場合ね

でも、python とかで拡張ライブラリとしてtensorflow を使っている場合、
pythonが例外を投げてこのINFOを出す場合もある。
だから、メッセージ自体はINFOでも、外部ライブラリが
例外としている場合利用者にとってはエラーに準ずるの。

なので、解決方法を知っておくのは重要なんだけど
質問者は回答を知ってもスレには還元してくれないでしょうね
811デフォルトの名無しさん
垢版 |
2022/04/23(土) 15:11:19.66ID:lyaCJMz0
これで試してみ
https://stackoverflow.com/questions/47068709/your-cpu-supports-instructions-that-this-tensorflow-binary-was-not-compiled-to-u

What should you do?
If you have a GPU, you shouldn't care about AVX support, because most expensive ops will be dispatched on a GPU device (unless explicitly set not to). In this case, you can simply ignore this warning by

# Just disables the warning, doesn't take advantage of AVX/FMA to run faster
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
... or by setting export TF_CPP_MIN_LOG_LEVEL=2 if you're on Unix. Tensorflow is working fine anyway, but you won't see these annoying warnings.
2022/04/23(土) 15:31:54.72ID:1GEAVNzE
試すも何も、メッセージ出なくしてるだけじゃん
2022/04/23(土) 17:01:33.78ID:1KmqOdjM
>>810
何言ってんのw
2022/04/24(日) 05:50:47.79ID:EQQXvwF0
C#で600万の要素のあるint型配列に{0、300、150、100、80,・・・(600万まで続く)}って感じで数字が格納されていて、
そして、1〜6,000,000の間で乱数を出したいのですが、乱数とはいっても↑の配列に入っている割合でそれぞれの数が出るようにしたいのですが、いい方法ないでしょうか?
2022/04/24(日) 09:02:39.39ID:zr61OZd6
割合関係なく普通の乱数発生させる。範囲は0〜配列の要素数-1
そして得られた乱数をインデックスとしてその配列の要素を結果を返す
2022/04/24(日) 09:50:02.21ID:35viiTPD
配列に入ってる割合はどこ行っちゃったんでしょうか
ちゃんと日本語読んでくださいよ
2022/04/24(日) 10:00:05.25ID:zr61OZd6
配列に1が30個入ってたら30/要素数の割合で1を出したいって意味かと思ったら違うのか
0、300、150、100、80・・・という割合の意味が分からないから俺には無理だ
2022/04/24(日) 10:03:30.75ID:qAz5Hesd
こんな感じでいける?

var numbers = new int[] { 0, 300, 150, 100, 80 };
var sums = new int[numbers.Length];
for (int i = 0, sum = 0; i < numbers.Length; i++)
sums[i] = (sum += numbers[i]);
int v = new Random().Next(sums[sums.Length - 1]) + 1;
int ok = sums.Length - 1, ng = -1;
while (ok - ng > 1)
{
int mid = (ok + ng) / 2;
if (sums[mid] >= v) ok = mid;
else ng = mid;
}
Console.WriteLine(ok + 1);
2022/04/24(日) 10:05:10.38ID:zkziYODi
ちょっと何やってんのかわからないです
2022/04/24(日) 10:05:41.98ID:dUeEO36o
>↑の配列に入っている割合で

多分これの解釈が違っているんだと思う。もう一回他人にわかる言葉で説明して。
2022/04/24(日) 10:14:36.46ID:zkziYODi
機械学習の質問です。
インプットに64個のフラグがあります。
正解のアウトプットも64個のフラグになっています。
このとき配列に0または1を入れて規格化して計算すれば正解は得られるのですが、
たかがビットなのに配列を用意して、答えのビットも配列にばらけているというのがどうも頭悪い感じがします。
もっと賢くて計算が速くなる手法があれば教えてください。
2022/04/24(日) 10:16:58.13ID:L55ZvYuh
>>815 の回答を見て天才かよと思ったら >>816 の反応が馬鹿すぎて絶望した
これIQが違いすぎて会話が成立しないやつだ

要はランダムにソートしたのと同じ結果が欲しいんじゃないの
違うなら値を6個くらいに絞って実例を3つくらい挙げて要件を説明しろ
2022/04/24(日) 10:18:09.54ID:qAz5Hesd
{ 0, 300, 150, 100, 80 }の意味が
・1が 0/630 の確率で出る
・2が 300/630 の確率で出る
・3が 150/630 の確率で出る
・4が 100/630 の確率で出る
・5が 80/630 の確率で出る
(630は、すべての要素を足した数)
と解釈したんだが、違うのかねぇ
2022/04/24(日) 10:19:01.79ID:xiKS/a+r
基本は
確率配列をすべて足して[合計]を作る(600万個あったらintの範囲を超えるかもしれないねえ)
0〜[合計]-1までの[乱数]を発生
[乱数]から確率配列を頭から順に引いていく
0以下になったらそこのインデックスが答え
2022/04/24(日) 10:20:02.76ID:0t6sJ5jz
じゃあもうそれが正解ということでいいです
ありがとうございました
2022/04/24(日) 10:36:39.30ID:rPlVOsWU
Reservoir Samplingでググれ
2022/04/24(日) 13:57:43.06ID:XK347NDs
不遜メソッド凄ぇ効くなぁw
2022/04/24(日) 14:06:27.41ID:vTJ9qYns
後釣り宣言かな?
829814
垢版 |
2022/04/24(日) 14:38:00.55ID:/ngwo9iT
>>815
>>817-818
>>822-824
ありがとうございます。説明がわかりづらかったかもしれません。

ある一つの箱の中に1から600万までの数字の書かれた玉が入っていて、
1の書かれた玉が300個、2の書かれた玉が150個、3の書かれた玉が100個・・・という風にそれぞれの個数が異なって入っています
この箱の中から玉を一個だけ無作為に抽出したいといった感じです。
とりあえず試してみます

あと途中でレスしてるのは自分じゃないです
2022/04/24(日) 15:07:02.59ID:rPlVOsWU
それはWeighted Random Samplingという問題で
>>824, >>818 (二分探索で高速化), >>826 (ワンパス)
で解けます
2022/04/24(日) 17:54:05.34ID:4gvmDiyI
一度抽出した玉を二度抽出することがあるのか否かを明確にしないとダメよ
復元抽出なのか非復元抽出なのかでアルゴリズムが変わる
たぶん非復元だろうけど
文だけでは相手にどういう点が伝わっていないかが分からない
だから入力と出力を明示したサンプルが大事
832デフォルトの名無しさん
垢版 |
2022/04/24(日) 18:16:47.94ID:awQxKQ/u
馬鹿そうだからそこまで考えていないだろ
2022/04/24(日) 20:15:20.28ID:rcB2xidb
>>831
そんなに気にするような話か?
取り出した玉を戻さないならそのインデックスの数値を一つ減らすだけだろ
当然全体の数も減らす必要はあるけど
2022/04/24(日) 20:29:36.65ID:pp8TduXr
>>833
違いに気づかないままアルゴリズムを取り違えれば得られる結果セットが変わってくるのに気にしないのか?
しかも「インデックスの数値を一つ引くだけ」では説明しきれていないし処理効率も最適でない(最適なアルゴリズムはもう紹介されている)
母数に対して施行数が非常に小さいという前提があって初めて近似的に無視できる話
2022/04/24(日) 20:30:08.40ID:xiKS/a+r
>>833
818のテーブルを毎回作り直すと高速化の意味がなくなる
2022/04/24(日) 20:31:52.25ID:dUeEO36o
>>814は曖昧なところもあるがさすがに確率が変わるようなことを想定しているようには読めないが。
2022/04/24(日) 21:02:38.15ID:rcB2xidb
>>834-835
> 違いに気づかないままアルゴリズムを取り違えれば得られる結果セットが変わってくるのに気にしないのか?
だから仕様は本人が考えればいいだけ
どっちの仕様でも実装はたいして難しくないって話

> 818のテーブルを毎回作り直すと高速化の意味がなくなる
作り直さなくてもいいだろ
対象のインデックスはわかってるんだからそこと全体の総和から各々1引くだけだぞ
2022/04/24(日) 21:03:04.73ID:d0rzDdet
いつまでやってんだ暇人ども
もう解決済み
2022/04/24(日) 21:07:37.79ID:xiKS/a+r
>>837
そのインデックスより上のインデックスを全部-1する必要があるね
簡単だけど忘れるとめんどくさい
確率がらみはこういうミスがあっても普通に動いてるように見えるからテストがめんどくさいんだよな
2022/04/24(日) 21:19:49.12ID:BCv1Ky71
使用済みフラグを別に用意しときゃいいだろ
2022/04/24(日) 21:36:04.21ID:rcB2xidb
>>839
ああ、そこまでの総和を入れてるのか
確かにそうだな
2022/04/24(日) 21:37:58.01ID:JuSG4+pD
使用済みフラグを用意しても時間とともにどんどん性能劣化していくぞ
スマートなΟ(n)のアルゴリズムが提示されてるのにあえて我流にこだわるのは、自分の案を否定された気がして躍起になってるだけ
2022/04/24(日) 22:08:35.82ID:4t9q0rYH
おまえの案も誰かが考えたものをパクってるだけだけどな
2022/04/24(日) 22:13:30.00ID:c4nzsUiP
>>842
weightedなreservoir samplingはO(n)じゃないけどね
2022/04/25(月) 01:10:18.24ID:kHuYfEjp
時間とともに劣化しないの作るのも余裕だろ
2022/04/25(月) 01:20:13.96ID:B7syBDSL
なんで鮮度の話してんの
お前ら寿司でも握ってるのか?
2022/04/25(月) 02:41:12.74ID:ojWTR2Ur
皆さんってやっぱり競技プログラミングできないのコンプレックスなんですか?
848デフォルトの名無しさん
垢版 |
2022/04/25(月) 06:17:11.14ID:uuG1anaI
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(inputFilePath));
byte[] data = new byte[1024];
bis.read(data, 0, 4); //4バイト読み込み
ByteBuffer tmpBuffer = ByteBuffer.wrap(data);//dataの中身が正しく[ABCD]の4バイトと表示される
bis.read(data, 0, 2); //2バイト読み込み
tmpBuffer = ByteBuffer.wrap(data);//dataの中身が[EFCD]の4バイトと表示される

バイナリデータを最初4バイト読み込んだ後に、2バイトの読み込みしてます。
最後のdataの中身は2バイトだけ読み込んだだけなので[EF]だと思ったのに、なぜ4バイト([CD]も表示される)もあるのでしょうか?
2022/04/25(月) 06:30:56.22ID:n2lmYGqD
>>847
何故やっぱりなのか
850デフォルトの名無しさん
垢版 |
2022/04/25(月) 08:05:23.25ID:tSjXYtJn
>>848

1回目に読み込んだデータが残ってるだけだよ
同じデータ領域使い回すから
2022/04/25(月) 10:12:11.07ID:6o33udeT
webpack 5.72.0 で、Promise を返すインスタンスメソッドを持つクラスを書いた index.js をビルドして実行してるのだけど

問題は Promise の実処理として
return new Promise(function(onSuccess, onError){...})
と書いてると、この無名関数内で(クロージャとしての) this にアクセスできない
アロー関数に直すと this にアクセスできる

これってなんで?
babel 通さない場合には問題ないからTypeScript の仕様なんだと思うけど
2022/04/25(月) 10:33:17.16ID:6o33udeT
>>851
babel通さない → 元とした JavaScript コード
2022/04/25(月) 11:31:57.12ID:nhxHA0jx
わからんが最適化でインライン化されてるとか?
Babelが吐いたコード見てみればわかるんじゃね
2022/04/25(月) 11:54:40.27ID:ub0/1n3n
tsの設定でjsのstrictモードを有効にしてない?
functionを呼び出す主体となるオブジェクトを明示してないからthisがundefinedになるのは自然だと思う
strictでなければグローバルオブジェクトを見に行こうとする
アロー関数はthisをレキシカルスコープで束縛するからreturn文を書いた場所のthisが見える
2022/04/25(月) 14:46:50.74ID:6o33udeT
>>854
してる "use strict";
TypeScript では JavaScript とは異なり、インスタンスメソッド内では this は明示的じゃないと見なしてクロージャとしては渡さない
という仕様、という理解でいいの?
2022/04/25(月) 14:53:45.61ID:6o33udeT
>>854
あ、もしかして webpack.config.js で strict の設定とかあるのか?
2022/04/25(月) 14:57:36.76ID:Qr3Ho7R5
してるというのはスクリプト内で明示的に手書きしているということ?
それによって話が変わってくる
TypeScriptで動かしたときはstrictが適用されていて、JavaScriptで検証したときはstrictを指定していなかったのだとしたらTypeScriptとは無関係のstrictによる違い
JavaScriptではfunctionとアロー演算子はいくつか仕様の違いがあり、特にthisの束縛ルールが違う
functionはstrictが指定有無でまた動きが変わる
2022/04/25(月) 15:00:13.58ID:6o33udeT
>>854
あーーー
function はオブジェクト生成の文脈でも使われるから
無名関数内でも自身のインスタンスへの参照になってしまうのか
ややこしいな…
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況