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

■ このスレッドは過去ログ倉庫に格納されています
2018/11/03(土) 19:08:18.89ID:nx8/6O0X
質問する前にGoogleで検索しましょう。 http://www.google.com/
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。

前スレ
スレ立てるまでもない質問はここで 150匹目
https://mevius.5ch.net/test/read.cgi/tech/1537176309/

注意「〜と〜はどっちの方が○いですか?」みたいなのは
このスレの粘着荒らしですので無視してください
322デフォルトの名無しさん
垢版 |
2019/01/08(火) 23:31:08.35ID:+NMh3y7P
数論幾何学とブロックチェーン技術ってどっちの方が独学するの難しい?
323デフォルトの名無しさん
垢版 |
2019/01/09(水) 09:41:30.76ID:msOCYavU
c:\src\ruby *.rb
c:\src\python *.py

のようにディレクトリと拡張子を列挙してインデックス作って
高速に検索できるローカルソースコード検索ツール教えてください
324デフォルトの名無しさん
垢版 |
2019/01/09(水) 18:22:43.77ID:S/fEBt5F
コマンドプロンプト
325デフォルトの名無しさん
垢版 |
2019/01/09(水) 18:39:06.42ID:pCtDJZzE
>>318
f=:2&|@+/&i.
2019/01/10(木) 00:03:16.62ID:jhx89QXs
>>323
漏れは、WSL, Ubuntu-16.04 で、grep で検索してる。
find もある

1日1回、検索用インデックスを作るのは、locate。
ただし、1日以内のファイルは、インデックスが更新されていないので、検索できない

BOM有りUTF-8 のファイルは、s-jis と区別が付くから、Explorer でも検索できるけど、
各アプリでバグるものがあるため、漏れは、BOM無しUTF-8 を使っている

そうすると、Explorerで検索できなくなるので、
WSLにLinux を入れて、そちらからWindows 側を検索する
327323
垢版 |
2019/01/10(木) 02:23:56.61ID:mY602DpM
DocFetcher Portableというのが見つかりました

日本語対応していて
exe起動して左下の検索範囲にパスと拡張子を登録して
数分でインデックス作成が完成し後は検索するだけという導入の簡単なものでした

DocFetcher - Fast Document Search
http://docfetcher.sourceforge.net/en/index.html
http://docfetcher.sourceforge.net/all/intro-001-results-edited.png
http://docfetcher.sourceforge.net/all/intro-002-config.png

>>326
Linux入れると検索に限らず色々なWEBサービスが使えるのでいずれ挑戦してみたいと思います
ありがとうございます
2019/01/10(木) 17:24:26.09ID:0NAF3JYJ
for文の終了条件のとこなんですが
for (int i = 1, j = 1; i < 30 || j < 100; i++, j+=2)
こんなふうに書くことはできませんか?
これで動く言語もあれば()つけたりしないと動かない言語もありますが
動いても思い通りにはなってくれません(この場合i<30が先にくるのでそこで止めたい)
2019/01/10(木) 17:32:05.70ID:6klAAsrF
&&
2019/01/10(木) 17:57:54.67ID:fbw90Stw
>>328
どの言語の話でなにが目的なの?
forのループ中にもう一つの変数の条件を入れればどの言語でもできる内容では
そして「i<30が先にくるのでそこで止めたい」のならi < 30 && j < 100じゃないの
331328
垢版 |
2019/01/10(木) 18:19:42.48ID:0NAF3JYJ
どうもありがとうございます
&&でうまくいきました

自分の思考では
iが30になったら または(or) jが100になったら
iが30になったら かつ(and) jが100になったら
だとandだとjが100になるまでなのかなと思いましたが
動作的には逆なんですね
2019/01/10(木) 18:25:20.25ID:jxwTb9Zo
i == 30 || j == 100
動作とかじゃなくて意味が違う
2019/01/10(木) 18:29:12.09ID:Pqz/qBav
自分で i < 30 って書いてるんだから
文字通り i が30より小さいという条件
しかも i++ で加算してる
だから30になったら、じゃなくて30になるまで加算して続ける、でしょ
2019/01/10(木) 18:31:56.93ID:Pqz/qBav
for文は終了条件じゃなくて継続条件を書くのよ
while (true) がループ継続なのと同じ
335328
垢版 |
2019/01/10(木) 19:58:27.05ID:0NAF3JYJ
皆様レスありがとうございます
>>334さんのを聞いて理解できました
if文で考えていたのがいけなかったんですね
2019/01/10(木) 20:29:14.25ID:Pqz/qBav
つっこむのも野暮かもだけどif文も同じだよ
if (条件) {処理}
while (条件) {処理}
for (; 条件 ;) {処理}
どれも条件の結果がtrueなら{処理}をする
falseならしない
じつにシンプル

逆の do {処理} until (条件) もあるけど多分これは気にしなくていい
2019/01/11(金) 04:33:23.20ID:ISi2eSiL
初心者なんですが、ググっても出てこないので質問させていただきます

[] とか () とか {} で後ろの方が自動補完されるテキストエディタの場合
括弧の中身を記述した後、
テキストカーソルを右移動させるのに何のボタン押してるのでしょうか?

{ ( この中を書いた後のカーソル移動 ) この場所に移動したい }

エンドキーだと文末まで入ってしまうし
タブキー押しても移動してくれません

使用頻度が高い割に、 『→』を小指で押そうとするとホームポジションから手が離れるので
何か良いショートカットでもあるのかなと思っていますが、どうなんでしょう?
2019/01/11(金) 07:26:32.38ID:zcWMZhzg
>>337
「→」やショートカット打つのと閉じ括弧打つの、同じじゃね?
2019/01/11(金) 22:18:38.04ID:bnzEmf2K
環境:Scala 2.11.12 (OpenJDK 64-Bit Server VM, Java 11.0.1)

インプレスジャパンの『Scalaスケーラブルプログラミング』p.157
に掲載されているコードです。

scala> def boom(x: Int): Int =
| if (x == 0) throw new Exception("boom!")
<console>:12: error: type mismatch;
found : Unit
required: Int
if (x == 0) throw new Exception("boom!")
^

型不一致が起きるのはなぜでしょう?
2019/01/11(金) 22:28:39.97ID:s0bgqgZ0
今手元にコップ本ないから確かめれないけど、それだとInt返してるとこないじゃん
341339
垢版 |
2019/01/11(金) 23:43:49.09ID:bnzEmf2K
{}が必要だったみたいです。
scala> def boom(x: Int): Int = {
| if (x == 0) throw new Exception("boom!")
| else boom(x - 1) + 1
| }
boom: (x: Int)Int

ありがとうございました。
342デフォルトの名無しさん
垢版 |
2019/01/14(月) 00:12:10.61ID:mi07xlrl
漠然とした質問で悪いんだけど、36歳で仕事やめてしばらく無職になります。
そこで何かのプログラムの勉強をして何か作れるようになって楽しみたいと思います。
何を作るとかは決まってませんが、簡単なアプリケーションが自由に作れるようになれればいいなと思っています。

若い頃、Perlの勉強をして今でも書けると思います。たぶんCも少し書けると思います。
GUIは全然できませんが、やりたいです。
windowsで動くGUIを一番重要視しますが、なんだったらiosで動くものものちょっと作ってみたいと思います。

さて、私はこれからなんの本を買って、どんな環境を構築して、なんの勉強をすればいいのでしょうか。
色々な人の意見を聞きたいと思います。


たぶん環境を構築する際など、また分からなことを質問すると思いますがよろしくおねがいします。
2019/01/14(月) 00:25:15.74
Xamarin
2019/01/14(月) 01:03:49.80ID:lpMFyTM6
同じくC#
なんだったら程度の話ならios開発は一旦忘れろ
345デフォルトの名無しさん
垢版 |
2019/01/14(月) 01:11:38.03ID:ULvie5no
electron
2019/01/14(月) 03:27:12.61ID:9CGMAJRv
>>342
HTML.CSS.JSこれだけでいい
後は何も覚えるな
347デフォルトの名無しさん
垢版 |
2019/01/14(月) 06:46:26.30ID:d/JjYNyZ
プログラミング勉強するときみなさん本を読むと思います
アマゾンのプログラミングの本はほとんどが固定レイアウトの形で電子書籍になってます

それで固定レイアウトだとスマホとかKindleペーパーホワイトなどの小さな液晶だと文字が小さくて読みにくいと思います
それでどういう大きさのタブレットで電子書籍を読んでますか?

Kindle Fire HD8インチとか10インチ?
それとも9.8インチのiPad ?
よかったらどんな感じか教えてもらえませんか?
348デフォルトの名無しさん
垢版 |
2019/01/14(月) 06:52:31.58ID:H1tgEUC1
>>347
Fire7インチは無理です。
Fire HD8インチはたいていの書籍が読めます。
でも次は10インチにしようと思います。
349デフォルトの名無しさん
垢版 |
2019/01/14(月) 06:57:24.45ID:H1tgEUC1
https://consumer.huawei.com/jp/tablets/mediapad-m5-lite/
これにしようかなって。
ペンついてくるほう。
350デフォルトの名無しさん
垢版 |
2019/01/14(月) 07:03:56.31ID:H1tgEUC1
Windowsタブ12インチは重すぎて無理でした。
900g以上あるのでカバンが肩に食いこみます。
あとWindows版のKindleがいまいちです。
2019/01/14(月) 08:15:21.43ID:wafQ1V7e
>>347
>プログラミング勉強するときみなさん本を読む
読まない。そして読むにしても参考書の類は電子書籍では不便
2019/01/14(月) 08:43:20.69ID:+YstvHR/
今はWeb検索だけで本は買わないなぁ
353デフォルトの名無しさん
垢版 |
2019/01/14(月) 09:55:00.23ID:WZinuWY4
>>344
賛成
2019/01/14(月) 11:47:58.21ID:9Cudnq1q
>>342
「たのしいRuby 第5版、2016」を読む

CUI・ファイル操作などは、Perl よりもずっと楽な、Ruby で。
Perl で使う、謎のような記号が少ない

GUI は、HTML, CSS, JavaScript で。
Electron (Node.js + Chromium)製のVSCode みたいな感じ

エディタは、VSCodeで、
テストは、Selenium WebDriver から、ブラウザを操作する

Ruby やれば、PowerShell, JavaScript(JS) もできる。
特に、JSは、Rubyそっくりに真似してくる。
バッチ・シェルスクリプトで、苦しめられる事もない

オブジェクト指向・関数型・Duck Typing・Open Class など、全言語の基礎を学べる
2019/01/14(月) 14:22:48.83ID:pDL52XEr
web勧めるやつってwebしか出来ないやつって偏見があるわ
356デフォルトの名無しさん
垢版 |
2019/01/16(水) 07:34:17.42ID:Svxx+uGy
今はAngularよりも、React、Vueの方が圧倒的にシェアは多いのでしょうか?
GitHubやQiitaの検索結果数がAngularだけ少ないのですよね
2019/01/16(水) 08:14:23.26ID:Jyszdvyz
Vue > React > Angular

Angular は、Electron よりも少なそう
2019/01/16(水) 09:41:42.68ID:BjrMQPfO
mongoose server を使って、Chrome のアドレス欄に
http://localhost:8080/aaa.html
と入れたら、document_root に指定したディレクトリに置いてある aaa.html
が見られる状態になったんだけど、外部からこのPCのファイルが見えるように
なってしまうことってある? 防ぐ方法、やってはならないこと、などを
誰か教えてくれまいか。
2019/01/16(水) 10:10:26.48ID:Jyszdvyz
そのポートを、外へ開けば、外からもアクセスできる

サーバーの設定ファイルとか、PC のセキュリティとか、
インターネットの仕組みとか、Linux 資格のLinuC など、

環境構築運用の本を、色々読んだ方が良い
2019/01/16(水) 12:49:54.27ID:BjrMQPfO
mongoose.conf に、「access_control_list」という設定項目があるけど、
初期状態では、「The default setting is to allow all accesses.」とある。
Chorme のアドレス欄に色々入れて実験してみたら、

http://192.168.0.2:8080/index.html    // 見られる
http://127.0.0.1:8080/index.html     // 見られる
http://aaa.bbb.ccc.ddd:8080/index.html  // Global IP address。見られない

となった。最後のは、ネットで表示された自分の global IP address のつもり。

これは、プロバイダが禁止してるって事?
2019/01/16(水) 13:07:14.32ID:BjrMQPfO
mangoose-mit-master.zip の、mangoose.c に次のような関数がある。
remote_ip に、html を見ようとしてブラウザを使っている人のマシンのIPアドレス
が入ってくるんだと思う。多分、デフォルト状態では、list==NULLで、この関数は
どんな remote_ip に対しても必ず1を返す事になると思う。

// Verify given socket address against the ACL.
// Return -1 if ACL is malformed, 0 if address is disallowed, 1 if allowed.
static int check_acl(struct mg_context *ctx, uint32_t remote_ip) {
 int allowed, flag;
 uint32_t net, mask;
 struct vec vec;
 const char *list = ctx->config[ACCESS_CONTROL_LIST];

 // If any ACL is set, deny by default
 allowed = list == NULL ? '+' : '-';

 while ((list = next_option(list, &vec, NULL)) != NULL) {
  flag = vec.ptr[0];
  if ((flag != '+' && flag != '-') ||
    parse_net(&vec.ptr[1], &net, &mask) == 0) {
   cry(fc(ctx), "%s: subnet must be [+|-]x.x.x.x[/x]", __func__);
   return -1;
  }

  if (net == (remote_ip & mask)) {
   allowed = flag;
  }
 }

 return allowed == '+';
}
2019/01/16(水) 13:44:48.99ID:BjrMQPfO
「NAT」の問題かもしれないけど、やり方が分からない。


https://superuser.com/questions/548300/how-can-make-a-web-server-publicly-accessible

・You need to do "port forwarding" in your router to make requests from the net continue
 to the local web server and not just stop at the router. Information is aplenty on the net
 using that key phrase. ? Daniel Andersson Feb 8 '13 at 8:54

・Often, the problem is that your ISP is not forwarding port 80 or 8080 to you. ?

[A]
To make your server visible from outside your LAN, you will need the following:

・Setup NAT on your router to point port 80 to the web server (or the port your web server listens to).
 In your case you should point that port to the server IP 192.168.1.50.

・You could also use any service like DynDNS to access your webserver without having to
 know your public IP address. This is very usefull if your IP is dynamic and changes from
 time to time (or when you reboot your router).

With this changes, you should be able to access your local web server from the internet.
2019/01/16(水) 13:58:48.51
ヘアピンNATを理解しないとな
2019/01/16(水) 14:33:43.38ID:BjrMQPfO
今のネットの仕組みは、実は誰も完全には理解して無いとか?
特にIPアドレス関連。
だからどこにセキュリティーホールがあるか分からないので、それぞれのソフトが
独自の方法で勝手に判断して処理を中断したりしてる気がする。
そのせいで自宅サーバーを作る人は一苦労するんだろうな・・・。
2019/01/17(木) 18:44:50.69ID:qiDY8RQD
現在、x86のソースをx64化しています。
jpeg62.dll(下記)というDLLを用いて高速画像処理をしていたのですが、どうもx64ではDLLを使うことができません。
このDLLのx64版とかご存知な方いないでしょうか?
ttp://gnuwin32.sourceforge.net/packages/jpeg.htm
2019/01/18(金) 16:17:52.37ID:LelxaEdx
jpegライブラリくらいは、Makefile 勉強して自前でビルドするか、パッケージマネージャでお取り寄せしてね。バージョンは最新のがいい(脆弱性bフ関係で)。
367デフォルトの名無しさん
垢版 |
2019/01/19(土) 07:46:14.44ID:vy8wVNBi
https://i.imgur.com/XO1X4ff.jpg
https://i.imgur.com/oE7ZeeL.jpg

いちばんやさしいpython入門教室
この149ページ中段の
そこでこれを除外するようブロー判定のifの条件を次のように変更しますってありますが
その下のところがよくわかりません
if 条件A and 条件B and 条件C

条件Aはすぐ上の絵の赤い矢印のことなのでわかります
条件Bと条件Cはたぶん上と下を垂直に結んだ組の場合だとおもうんですがあってるでしょうか?

それから初心者なのにこういう入れ子にするようなややこしいのもみんな理解できるんでしょうか?
ゆっくり読んだらなんとか理解できるんだけどこれを覚えてじぶんで打ち込むのはなかなかむずかしいの
みんなこういうのもがんばって覚えてるのでしょうか?
368デフォルトの名無しさん
垢版 |
2019/01/19(土) 07:54:21.56ID:vy8wVNBi
https://i.imgur.com/FzspnhO.jpg
https://i.imgur.com/0DTZDeI.png

完成形がこれなの
なんだかむちゃくちゃむずかしくなったきがするの
これゆっくり読んだらなんとかかんとか理解できるの
あいまいなところあるけど
それで他の人とか初心者でもこのぐらいはすらすら覚えてるのでしょうか?
2019/01/19(土) 08:19:02.19ID:9NMu+pMT
>>368
これが難しいと思うならプログラミング辞めたほうがいい
2019/01/19(土) 08:50:20.70ID:7HrlXQTc
こういうのはすぐ分かる人間以外は
トライ&エラーしてなぜなのか何度も考えて
あ!っと理解できた!!ってなるしかない
最低でも100時間トライして分からない場合は
あきらめてもっと違う事に時間使った方がいいかも
2019/01/19(土) 09:27:46.21ID:w8WJiu7M
最初はそんなもんじゃないかな
英語で難しい言い回しをされたときに理解に時間がかかるのと同じなの
そのうち慣れるの

ところで簡略化された教材の重箱の隅をつくのもナンセンスだけど
正解が1123で回答が7891のとき2ブローになるのはどうなんだ
1123で7189にすると1ヒット0ブローになるけど一貫性的にいいのか
ゲーマー視点だと、数値かぶりの挙動理解が肝だな
2019/01/19(土) 15:35:45.26ID:wiNfQeeu
集合の弁図でも描けば?
A adn B and C は、円A・B・C の交わった所だろ

progate などのサイトでもやれば?

>>365-366
Windows の32/64bit の違いは、数値型だけだろ?
プリプロセッサに、マクロでも書けば、良いだけじゃないの?
2019/01/19(土) 16:28:01.62ID:TO8T1N5e
この例でベン図…?
参考までにどうなるか見せてほしい
2019/01/19(土) 18:09:12.27ID:FJgPPckz
社内懇親会と研修旅行を穏便にお断りする方法を教えてください(´A`)
2019/01/19(土) 20:42:36.26ID:lRFH3gg9
ベン図の「ベン」って人名じゃねぇの?
感じ当ててるの初めて見たんだが
2019/01/19(土) 21:57:32.43ID:qveqNFk9
継承を使った場合hゲッターセッターメソッドも受け継がれてるんですか?
C#
2019/01/19(土) 22:00:19.91ID:NPUr47fj
>>376
まるごと引き継がなければ継承の意味がないというか動かなくなるだろ
2019/01/19(土) 22:53:31.86ID:BvHPlL8B
実はヴェン図だったのか
2019/01/19(土) 23:13:58.45ID:qveqNFk9
>>377
なるほどw
ありがとうございます
2019/01/20(日) 00:07:30.02ID:yiNhGfDQ
>>373
ベン図は集合が3つまでは平面上にきれいに表示できますが、4セット以上だと面妖な図になってしまいますね…
2019/01/20(日) 15:06:04.45ID:jH3SpeGI
https://png.pngtree.com/element_origin_min_pic/00/03/69/48568bd04d268e0.jpg
382デフォルトの名無しさん
垢版 |
2019/01/20(日) 15:16:53.32ID:wKV5+GB/
面妖てゆう奴は例外なくコミュ障のキモヲタ
2019/01/20(日) 20:18:40.43ID:/GIFftzm
ごめんよう
2019/01/20(日) 23:50:05.66ID:rcOl2dij
スレ違いなら誘導お願いします

CGレンダラであるPBRTを勉強しようと思っているのですが、
Windows上での開発環境構築に詰まり困っています
https://pbrt.org/
手順方法、もしくは手順が載っているサイトを教えていただけないでしょうか。

PCは2台あり,速度も考えデスクトップPCで扱えるようにしたいです
1)デスクトップPC:windows7(64bit),開発環境:visualstudio2010
2)ノートPC:windows10(64bit),開発環境:visualstudio2015
よろしくお願いします
2019/01/21(月) 22:16:41.04ID:QW9PfI5X
0からWin32 APIの学習をしたいのですがお勧めのサイトなどあれば教えて下さい
C#を使ってWin32APIを学びたいのですが自分で検索した感じだとC言語を理解してないとだめなサイトばかりで
中々見つかりません
2019/01/21(月) 23:05:12.01ID:EtrtlsQn
>>385
WinAPIはC++から呼ぶのが一般的ですがC#との変数の定義の違いだけで理解できます
http://www.atmarkit.co.jp/ait/articles/0305/09/news004.html
2019/01/22(火) 06:21:14.90ID:ez/DcBYq
この板が過疎になったのはなぜですか?
そしてその人たちはいまどこで情報交換しているんですか?
2019/01/24(木) 16:50:06.33ID:Y7h18yku
>>385
Win32 APIはC言語から呼び出して使うよう設計されていますが、
逆にC#は.net frameworkを使うように設計されてるので
相性が非常に悪いです。
C#からWinAPIを使うには、C言語とC#両方使いこなすスキルが必要な上
本来なら要らない宣言や手間も食うので緊急時以外はやめたほうが無難かと
2019/01/24(木) 19:01:55.10ID:kvuLVYW4
0からなら素直にCでやればいいよ
Windowsメッセージループ書くレベルのくっそだるい話になるが
幸いKindleにCマガのバックナンバー全巻揃ってるから資料はそれ読めばいい
2019/01/24(木) 21:52:20.38ID:15IUB2mT
>>389
C マガには win32api を叩く話は、あまりなかったのでは?
391デフォルトの名無しさん
垢版 |
2019/01/25(金) 08:44:17.40ID:iIPgsGqp
>>385
C#はdll大量に読むから起動が遅いだけで、起動したらC並には速いからWin32必要な場面ってほぼ無いと思うけど。。。
unsefe とか使えば良いだけだからWin32もさほど苦労はしないけど、0からならCでいいんじゃない?
ハーバート・シルトの本は今でも通用するでしょ。
そこがWin32の良いところなんだし。
2019/01/25(金) 12:36:19.98ID:dvigx+iy
Linux プログラミング・インタフェース、Michael Kerrisk、2012

この本は、神の書と言われていて、翻訳本は日本しか出ていない。
これのファイルIO の所だけを読めば?

結局、言語は関係ない。知りたいのは機能だから

例えば、ファイルのオープンモード、"w", WRONLY|CREAT|TRUNC なら、
ファイルを書き込みモードでオープンします。
オープン時にファイルがすでに存在していれば、その内容を空にします

Ruby の、IO クラスとか、Kernel モジュールのopen の説明書を見ても同じ

基本的に、すべての言語の説明は同じ。
なぜなら、すべての言語から、同じAPI を呼び出すから!

それに、Windows API, Linux API も、POSIX に似ているから、ほぼ同じ。
だって、同じCPU を使っているから、その操作をAPI で行うようにすると、同じようになる
393デフォルトの名無しさん
垢版 |
2019/01/25(金) 13:17:17.54ID:d3DkdkSn
>>391
単純な背景スクロールやるだけでも
CとC#では3倍ほど速度差が出る
VBならさらに遅い
394デフォルトの名無しさん
垢版 |
2019/01/25(金) 13:41:49.50ID:iIPgsGqp
100倍とか1000倍とか差がつくプログラミングの世界で3倍程度はゲームとかのシビアな世界じゃない限り誤差の範囲。
395デフォルトの名無しさん
垢版 |
2019/01/25(金) 14:40:47.48ID:d3DkdkSn
ははは
同じCPU環境で100倍1000倍当たり前なプログラミング世界って何だね?w
2019/01/25(金) 14:49:13.67ID:ZJGDWGp/
1秒が100秒になる事はまれだろうが
1mm秒が1秒なら言語とアルゴリズムであるんじゃないの?
知らないけど
2019/01/25(金) 15:01:01.01ID:3KBUW7Lk
ディスクキャッシュではあり得る話
2019/01/25(金) 15:12:36.45ID:fW+xzaQf
>>392
Windows APIだとファイルを開くのはCreateFileW関数なんだが何処が似てるんだ?
https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-createfilew

HANDLE CreateFileW(
 LPCWSTR lpFileName,
 DWORD dwDesiredAccess,
 DWORD dwShareMode,
 LPSECURITY_ATTRIBUTES lpSecurityAttributes,
 DWORD dwCreationDisposition,
 DWORD dwFlagsAndAttributes,
 HANDLE hTemplateFile
);
2019/01/25(金) 15:14:13.40ID:udkWY9zF
1ミリ秒が1秒ならいくらでもあるね
一定ラインをクリアできてれば無駄に線形検索してたりしてもレビューでスルーされることは多々あるし
2019/01/25(金) 15:15:08.16ID:58XK3b4v
>>393
・.Netで書かれてるらしい MasterSeeker.exe も、HNXgrep.exe も
 WinXPでは起動は1秒かからない程度だったのに、Win7 だと、5秒か
 それ以上かかる気がする。同じマシンのXPと7での比較。
・両ソフトは、やっぱり起動後もだいぶ遅くなってる。
・もともとどっちも検索の高速さが売りで、作者はちゃんと上手く
 プログラムしていたのにOSのバージョンアップのせいで速度が劇的に低下した。
・不思議なことに、同環境でも WzEditor や自分で書いたプログラムなど 、C/C++ で
 書かれたプログラムはXP と 7 で気になるほどは遅くならない。
・作者の力量とは異なるところで、ソフトウェアの品質が下がってしまうのは
 困る : C#
401392
垢版 |
2019/01/25(金) 16:48:42.30ID:dvigx+iy
>>398
それは、IO のように扱える、擬似ファイルも一緒にしているだけ。
各言語ではそれを、ファイル・デバイス・通信・pipe・stream・共有メモリ・スレッドなどに、分けているだけ

だから、IO 関連の数十個のオプションの意味だけで、OS の機能の半分が学べる
2019/01/25(金) 17:45:36.08ID:HedYJ4n1
>>401
お前元の質問読めないの?
>>385
>Win32 APIの学習をしたい
>C#を使ってWin32APIを学びたい
linuxの本読んでなんの役に立つ?APIはファイル入出力だけじゃないし
2019/01/25(金) 20:23:47.90ID:oTxjg32P
>>402
>>392,401はいつものruby推しの奴だね。
毎回毎回、話の流れも空気も読めずに自分の言いたいことだけを言っていく奴だから構うだけ無駄だと思うよ。
404デフォルトの名無しさん
垢版 |
2019/01/26(土) 03:55:23.61ID:FbQiJkBz
最も根源的な概念は「有」ですか?
405デフォルトの名無しさん
垢版 |
2019/01/26(土) 11:31:21.68ID:BnWyuGcp
>>394
なんでも誤差言えば賢そうに見えると思っとるんやろがアホ丸出しやでw
2019/01/26(土) 14:04:57.81ID:VVr2JTND
3倍遅いというのは、大体、7〜10年程度前のマシンを使っている感覚になる。
(色々な数値が出てくるが、特に最近は、1Core当たりが速くなる進歩は遅い)

90年代初頭から丁度2,000年位まではクロックアップがすごい速度で進んだ。
16MHz から 3.0GHz までくらいは。
ところが、クロック数自体は、2,000年以降、ほとんど上がって無い印象がある。
確か 2,000年位に、Socket478 の Pen4 が 3.0GHz だったと思うから。
で、このPen4はクロック数の割には遅いとされて、その後改良が施されて
速くはなったが、結局、29年かけて、1Core当たりだと 30〜100倍くらいの
速度向上くらいだと思う。大体で言えば、7〜10年で3倍程度の速度向上に
なるイメージ。
2019/01/26(土) 14:11:05.41ID:VVr2JTND
あと、C#の場合は、
・Window Object(Widget) が多くなるともっと遅い感じ。10〜20倍くらい。
・クラス・オブジェクトも新規作成時にかなり遅いらしい。
・画像処理のベンチマークテストなどでは、ループが多数回同じ場所で回るような
 ものが多くて、その場合は、C++ より少し遅い程度で済むが、実際の
 アプリでは、もっと色々な関数をランダム的に呼び出すので、条件がかなり違う。
・C#はランタイムが大きいので、キャッシュが小さいCPUだと急激に遅くなる
 可能性があり、ベンチマークテストで使われていることが多いハイエンドの最新
 マシンだと差が出にくくても、ローエンドの旧マシンだと、C++との差はもっと
 はるかに大きいことがありえる。
・つまり、ローエンドの旧マシンだと、C++だとものすごく快適に動作するのに、
 C#だと劇的に遅くなる事がありえる。主な原因はキャッシュ容量やその性能、
 メインメモリの量、HDDの速度、など。
2019/01/26(土) 14:25:25.49ID:rZBUCLcI
PCにFaxモデムを2つ繋げてFAXCOMEXLib.FaxServerで両方制御することはできますか?
モデムAに電話番号Aに送信させつつモデムBに電話番号Bへ送信させるみたいな感じで
2019/01/26(土) 19:30:59.76ID:F6vEC2SQ
>>408
論理的にはできると思う
プロセス毎に違うデバイスを使うようにプログラミングできるなら
2019/01/27(日) 13:52:16.05ID:UeSsBKpf
>>408
そのライブラリは知らないけど、昔の (Fax) Modem は、PC とは
シリアル接続されていて(例えば COM ポート)、Modem の制御は、
シリアルケーブルに、コマンドとパラメータを文字列として送るような
方式をとっていた。
2019/01/27(日) 14:03:18.70ID:HVJRZBDf
ロードバランサやリバースプロキシを使って負荷分散し高可用性のシステムを構築するのが流行しているそうです
ですがロードバランサやリバースプロキシそのものが故障した際はどうすればいいのでしょうか
諦めるしかないのでしょうか
2019/01/27(日) 16:21:12.29ID:UeSsBKpf
>>411
めちゃくちゃ専門的な質問だけど、そりゃそうだと思うよ。
一番の「要(かなめ)」の部分が故障したときにはなんであれ故障するだろう。
故障を検出してバックアップシステムを稼動させることは可能だと思うけど。
2019/01/28(月) 03:05:13.37ID:TllA390K
ロードバランサ自体も2台構成で冗長化するよ
2019/01/28(月) 16:11:35.80ID:ocFfiG2Z
重複しない数字を保存する方法として解1と解2はどちらが早くアクセスできますか?
例)1,3,4,5,7を保存

解1) int[] a={1,2,4,5,7}
解2) int[] a; a[1]; a[2]; a[4]; a[5]; a[7];

私は解2の方が早くアクセスできる気がするのですが、実際にこんな書き方をしてる人を見たことがありません
それはなぜでしょうか?
2019/01/28(月) 16:25:59.54ID:TW/+W6VX
0.000000000000001秒くらいしか差がないからです

× 速い遅いで単純に考える
○ どれだけ影響があるかを考える
2019/01/28(月) 16:33:44.52ID:cr29A5a5
そもそも重複しない前提なら配列よりSet使うしね
チューニングはボトルネックを見つけてからが鉄則
2019/01/28(月) 18:49:42.49ID:tBgsmvEt
>>414
数字だったら大小関係(順序関係)があるので、「その数が存在するかどうか」を短時間で判断したいのなら二分木に実装しますね、順序関係が中途半端なもの(a < b, a > b, の両方とも真とならないもの、とか)は、さて、どうしましょうか…
>>416
最近は set とか map とか便利ですよね…
418デフォルトの名無しさん
垢版 |
2019/01/29(火) 20:16:00.60ID:6cHXm1io
N予備校のプログラミングコースってどうですか?
コンピュータサイエンスとかも学べるらしいですが。
2019/01/29(火) 20:44:25.70ID:2nrdmNns
オブジェクト指向の処理の流れについて質問なんですけど、コードを複数ファイルに分ける
直前くらいに書き分けた状態だと main 関数が元締めで他の関数とかを引っ張り出すような
樹形図のような処理の構造になってると思うのですが、ヘッダとソースを使ってファイルを
切り分けた状態では処理の流れってどうなってるんでしょうか。

コンパイラに突っ込まれた時になにがタグのような働きをして切り分ける前のような一列の処理に並び直したかがわからないです。
mainに対する従属関係と思って読んでたのでヘッダの役割がとくによくわかってないんだと思います。
2019/01/29(火) 22:04:44.92ID:AnpnZGSz
SASS のパーシャルファイルとか、
JavaScript のwebpack などと同じじゃないの?

別のファイルを、そこに展開して、1つのファイルにするだけだろ
2019/01/29(火) 22:33:02.30ID:2nrdmNns
実行ファイル作る時はそうなんですけどコードの流れを追うときにどう読めばいいのか困りまして。

mainのあるソースでのヘッダのincludeでは使用関数の予約を入れ、
関数のソースでのヘッダのinclude以下ではヘッダが唱えた関数を実際に作って返し、、
オブジェクトファイル結合時に各ソースでのincludeがジョイントみたいに機能する
みたいな感じなんですかね?
422KAC
垢版 |
2019/01/29(火) 23:22:44.69ID:9vi+TkZs
>>421
検索キーワード間違えてる

オブジェクト指向は関係ない。
「プリプロセッサ」
「モジュール」「ライブラリ」「リンカ」
でググってみ?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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