TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
VB.NET質問スレ(Part43)
C/C++の宿題片付けます 170代目
統計解析R たぶんpart3くらい
Excel VBA 質問スレ Part63
【Erlang】プログラム言語 Elixir 【BEAM】
StackOverflowについて語るスレ
プログラミングのお題スレ Part16
次世代言語21 Go Nim Rust Swift Kotlin TypeScript
COBOL?極めてやんよ シュッシュ!!
【SL4】Windows Phone 7 アプリ開発スレ Part4【XNA】

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


1 :2018/06/17 〜 最終レス :2019/10/31
質問する前にGoogleで検索しましょう。 http://www.google.com/
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
ワッチョイは住人が離れスレが寂れます導入禁止。

前スレ
スレ立てるまでもない質問はここで 148匹目 [無断転載禁止]©2ch.sc
https://mevius.2ch.sc/test/read.cgi/tech/1495618637/

2 :


3 :
JavaやろうとJDKをダウンロードしたんだが
インストールパッケージを開くことが出来ませんでした。
パッケージがアクセスできることを確認してください。
またはアプリケーションベンダーに問い合わせ、このパッケージが
有効なwindowsインストラーパッケージであることを確認してくださいと
書いてある。
どうすればJDKを起動できるんや?

4 :
あるツールを作ろうと思っていて、そのツールの
優れている点を一言で表す言葉をなんにしようか迷ってます。

作ろうとしているツールのライバルはすでに存在してるのですが、
そのライバルの気に食わないところが、そのツールで対応していることなら
簡単にできるのですが、対応していなかった場合に拡張することはできるのですが
コードを修正したりプラグインを作成するのに多くの知識が必要で大変、
またなにかバグやトラブルがあってもコードを読むのが大変ということなんです。

なので何かあっても自分で状況を調べたり改造したり拡張したりするのが簡単
ということを言いたいのですが、メンテナンス性でもないし、拡張性も高いと
言うより簡単と言いたいのでちょっと違うし、なんかいい言葉ないですかね?

5 :
「このツールは Haskell のキラーアプリケーションになり得る」

でどう

6 :
ROS対応ロボットを自作したいと考えているものですがいくつか質問があるので質問させてください。

@ROS対応ロボットを作りたいのですがArduinoにはOS載せられないと聞いたのですがROS化することは不可能なんでしょうか?
A自立型ROS対応ロボットをつくりたいのですがおすすめの書籍やサイトあったら教えてください。できれば複数個教えてもらいたいです。(pythonとC言語は分かります)
Bノートパソコンをロボットに搭載させて制御させたいんですがそういうことは可能なんでしょうか?
Cロボットを制御するのに必要な大学レベル以上の科目?(線形代数や制御工学)を教えてください

7 :
java使ってます
if文を使わずに計算式で0なら0を1以上なら1を返す方法ないfでしょうか?

8 :
>>7
学校の宿題だな

switch (a) {
case 0: return 0;
default: a;
}

こうかいて提出すればいいよ
うん。まちがってないからねーw

9 :
returnが抜けたなw

switch (a) {
case 0: return 0;
default: return a;
}

10 :
>>8
計算式でない
1以上で1を返すになってない
誤記あり

0点です

11 :
負の値の時は何を返せばいいの?

12 :
とりあえず正の数を与えるという前提で
まあ返す値は1でも-1でもどちらでもいいですが

13 :
>>10
しっけい、死刑w

switch (a) {
case 0: return 0;
default: return 1;
}

14 :
13
国語:読解力 0点  数学 0点
2回目の0点につき落第

15 :
不等号使えない、整数しかしらないって幼稚園児が書き込んでいるのか
この板ではせめて義務教育レベルの知識は欲しいな

16 :
Javaに式はあるけど計算式は無いと思うけどねぇ?

式でいいなら、
1. 三項演算子
2. ビット演算
とかか?

俺はJavaは一切書けないから正かどうか知らん。

17 :
>>6
@ROSの入ったPCとarudinoを繋げることができます なので、ROSPC + arudinoにして、モーターとかとやりとりすれば良いかと
Aソフトウェア側しかしらないので申し訳ないが良い解答を知りません
ROSを勉強するのならば、オライリーの本かロボットプログラミングバイブルがおすすめです。
サイトであればqiitaのROSタグを見るのが良いと思います。
B可能です 複雑な処理をする場合は制御PCを別に乗せるべきです 
また、どういったロボットを作りたいのかは分かりませんが、ROSの世界で車両型ロボットを制御するとき、
ソフトウェア側が出すのはたいてい加速度と角速度です。
なので、停止は加速度を0で出力、走行は加速度を10で出力といった風に制御すれば自立走行制御を実現することができます。
CBの例くらい簡単な制御ならほとんど
難しい知識はいらないです。ROSがほとんどカバーしてくれます。

18 :
質問願います1.3.17です
CDリッピングしたいです ノートPCドライブにDISCをいれてこのソフト起動すると自動でFLACとAACで
BATエンコが出来たらなと思っています
取り込みが終わったら位音を鳴らしドライブ排出
その後取り込んだ個別ファイルをAACへ変換し
それぞれの種類のフォルダの名前だけのm3uファイルを作成したいのです
こういうことを自動化できますでしょうか?
BAT組み合わせになるかと思いますが教示願います

19 :
>>619
誘導元で質問を打ち切らずによそで質問するのはマルチポスト
そもそも自分で何も調べる努力をしない人だとここでヒントをもらえたとしても理解できまい

https://egg.2ch.sc/test/read.cgi/software/1491905251/618

> 618 名前:名無しさん@お腹いっぱい。[] 投稿日:2018/06/26(火) 18:13:00.64 ID:KhI2m0NS0
> 質問願います1.3.17です
> CDリッピングしたいです ノートPCドライブにDISCをいれてこのソフト起動すると自動でFLACとAACで
> BATエンコが出来たらなと思っています
> 取り込みが終わったら位音を鳴らしドライブ排出
> その後取り込んだ個別ファイルをAACへ変換し
> それぞれの種類のフォルダの名前だけのm3uファイルを作成したいのです
> こういうことを自動化できますでしょうか?
> BAT組み合わせになるかと思いますが教示願います

20 :
組み込みは、情報処理資格の組み込み・エンベッドの教科書か、

T-Kernel, iTron とか

21 :
マルチポストは禁止

元のスレで、他のスレに移動したことを、報告しなければならない。
それが、この板のマナー

22 :
パスワードをハッシュ化するときにsaltくっつけるとかなんとか
あの辺の話がよくわかりません
認識があってるかわかりませんが、saltは乱数で生成したランダムなもので
パスワードにくっつけてハッシュ化するんですよね?
そうするとsaltがわからないと、元々のパスワードと合致しなくなると思うのですが
saltも記憶するのでしょうか?
というかsaltってなんで必要なんですか?

23 :
>>22
レインボーテーブルとかでググるといいかも。

過去、Windowsのパスワードにはsalt使ってなかったので管理者が利用者のパスワードを簡単に取り出せた。

24 :
>>23
ありがとうございます
レインボーテーブルの概要については難しくて正直よくわかりませんでしたが
復号不可能なハッシュ値が力づくで復号出来るので
ユーザーテーブルとかハッシュ値が漏れた時の対応策として
より計算に時間がかかるsaltをつけるべきであるというのはわかりました
ユーザーごとに違う値(例えばユーザーID)を付加するような説明ありましたが
それだとユーザーテーブルが漏れた時一緒にヒントも流出することになるので
システムで一意の値でもいいとも書かれてたので
ランダムに生成した長い値を定数として
プログラム側でユーザーのパスワードに付加すればいいんですかね?
プログラムが漏れたら意味がないですが、それは別問題として考えればいいんでしょうか?

25 :
PHPの関数はsaltを自動付与するようでそれで調べてみたら
ハッシュ化したものにソルトの情報が含まれるようですね
http://php.net/manual/ja/faq.passwords.php#faq.password.storing-salts
うーんよくわからない…
ハッシュが漏れた時に平文に戻されないための対策なら
salt情報見えちゃまずいんじゃと思うのですが違うのかなぁ

26 :
>>25
ソルトが無いもしくはみんな同じだと、
誰かがレインボーテーブル作って配布すれば
それ以降誰でも簡単に解読可能になる。

現在のところ、ソルトが違うハッシュを効果的に解読するアルゴリズムは無いはずなので
ソルトを入れるだけでも街道難易度は確保される。

27 :
>>25
ハッシュの値とパスワードが1対1で参照できるテーブルがあればパスワードはすぐ解析される
saltの内容わかっていても付加した状態でのテーブルが無ければ計算して解析するしかない
という簡単な話だと思うけど

28 :
>>25
ソルトもハッシュも見えて構わない
なぜならハッシュから平文に戻せないから

29 :
平文に戻せないってのは特性であって
平文が何かは分かる場合もある

30 :
平という名字の人がいる
文という名前の人がいる

平文(たいら ふみ)

31 :
CTU

32 :
絨毯爆撃荒らし>>31の目的はスレ順シャッフルなのでしょうか?

33 :
発達障害持ち33歳男です
病気でこの年にして職歴が3年しかありません
(仕事は事務職)

IT系特例子会社に転職を考えているのですが、
そこに入るために(教養として)プログラミングを学びたいと思っています

プログラミングに必要とされる論理的な思考をすることがなかなか厳しい私ですが、
何とか頑張ってプログラミングのイロハを身に付けたい

こんな私はスクールに通うべきでしょうか

34 :
>>33
IT業界で仕事をする気なら、
「教えてもらう」という考えは棄てること。

他人を頼る事は否定しないが、
まずは自分から動く。という心構えが無いと
変化の激しいIT業界で働けない。

スクールの前に、まずは何か開発してみたら?

35 :
将来デバッグの仕事をしたいと漠然とした目標があるんですが
何の言語を学べばいいでしょうか?C++を適当に学んでたら出来るようになりますか。
プログラミング経験は一切ありません

36 :
>>35
デバッグだけの仕事なんて無いと思うよ
作る仕事の一部としてデバッグがあるのだから何を作る仕事に就くか考えるべき
それとプログラマの人生相談は板違い

37 :
progate というサイトで、Ruby をやれば?
その後に、無料のRails チュートリアルをやる

YouTube にある、セレブエンジニアの小松和貴の動画を参照

38 :
OPENCVの画像認識で、
正解画像のリストをObjectMaker使ってつくったのだけれども、
結構な量ROIがはみ出してるっぽい。

ROIを一括で治せるソフトでも方法でもない?

39 :
さるがくちょうっていう会社あったけど、そこから情報が洩れて計画滅茶苦茶にされた企業にどんどんそっぽ向かれてってったって話は聞いたことがある。

40 :
>>33
自分も発達障害持ちで、IT系の特例子会社に入りました。
特例子会社に入るなら、実績とかより、自分の障害をどれだけ具体的に説明できるか、そしてやる気があるかが重要です。
入りたい企業がどの言語を使っているのか。そして今は初心者でも必ずスキルを身に付けて御社に貢献しますというやる気。
年は関係ありません。どれだけ熱意をアピールできるかです。頑張ってください。

41 :
なにが発達障害だ、甘えるなカス
そもそもプログラム板の8割は自閉症かADHDだよ
シリコンバレーの人口の3割が発達障害とさえ言われる。
それでもほとんどの人は国の支援を受けずに頑張ってるんだぞ

42 :
.NET Frameworkのバージョンについて質問なのですが
言語はC#、対象のOSはWin8.1以降っていう状況で、どのバージョンで開発すればいいのでしょうか?

Win8.1+VS2017でプロジェクトを作るとデフォルトが4.6.1になっていたらこれで作ればいいのかなと思っていますが
最新ではないようです。
Win8.1の終了まではこの環境で進み、終了後はWin10のみになります。

43 :
ロベールのC++入門書を読んでるんですが
ファイル分割/2重include防止の下りがイマイチ理解できません。
分かりやすくて入門レベルで説明できてるサイトが有れば教えて下さい;

44 :
aho.h

// ↓最初インクルードするときはAは定義されてないから真にならない
//  #endifまでインクルードしたコードの一部になる(#includeの部分がインクルードしたファイルの内容に置き換わると考えれば分かりやすい)
//  再度インクルードすると、すでにAは定義されてるから@は偽になる(こっから#endifまでないことにされる)
#ifndef __AHO_H__ @  
#define __AHO_H__ A

#define AHO_R 004
#define AHO_W 002
#define AHO_X 001
void aho1();
void aho2();

#endif

aho1.c

#include "aho.h"
void aho1() {
  printf("super aho:permission =%u\n", AHO_R | AHO_W | AHO_X);
  printf("komono aho:permission =%u\n", AHO_R);
}

aho2.c

#include "aho.h"
void aho2() {
  printf("komono aho:permission =%u\n", AHO_R);
}

で、aho.hの定義や宣言をaho1.c、aho2.cで使えることがアホでも分かるハズ

45 :
>>42
最新のものと動作する.NETのバージョンは分けて考えないといけない
Win8.1以降なら4.5がWin10なら4.6が最初から入っていて最新は4.7.2で4.0以降は上位互換がある
.NET Frameworkのバージョンを整理する http://www.atmarkit.co.jp/ait/articles/1211/16/news093.html
その環境でしか使わないのなら自分で管理したら済む話だから、そのままやるのでも4.7.2入れてやるのでも好きなほうで

46 :
>>45
ありがとうございます
最新の4.7.2で行きたいと思います

47 :
>>44
何のために必要なのか全く分からない

48 :
aho1.cでも使えるしaho2.cでも
aho.hが共通の定義、宣言として使えてる

処理の種類のまとまりごとに
コードわけないとものすごい行数のソースになる

49 :
ビットコインでアルトコイン作成してるのだが
ピアに接続しています...
と出てるだけで一向に同期されないんだけど誰かクリアしたひといないかな

QAでにたようなのあったけどだめっぽいんだ
https://bitcoin.stackexchange.com/questions/64806/altcoin-litecoin-fork-creation-no-synchronisation

チェックポイントがだめなのかサーバー台数がだめなのかもうわけわからん

50 :
すみません。secp256k1 ←これの読み方教えてください。

51 :
>>50
secp256k1
エスイーシー、にーごーろく、ケイいち。

52 :
http://r2.upup.be/wV2qsULdHm

53 :
おまえらのズボンの股間てしょんべん臭い?

54 :
かいでみるか

55 :
おまえらの場合しょんべんとゆうより死臭しそうやもんな
嗅いでみるのは勘弁やで

56 :
Wikipedia には、LLVMのFrontEndとしてAdaも使えるかのように書かれているけど、
実際には、「作ろうとはしたけど完成してない」、という認識であってる?

57 :
       /^ヽ
       /:;:;:;:\
        /:;:;:;:;:;:;:;:\
     / : : : : : :;:;:;\
    ./     : : : : ::\
    /: : : : : :    : : : ::\
  r‐|_: : : :       : : : ゙x─┐
,,イ ̄: : :: ̄ヽ        ̄: : : : :|__
|: : ¨Tヽ__   ゙ト       −-≡くニニニ==========--------─------──---
`ヽ、_ト-‐: : : ,,,__: : : : : :__: : ::}
    `ヽ ̄ ̄    ̄ ̄: : : /  ̄
     \      : : : : /
       \: : : : : : : : : :/
        \:;:;:;:;:;:;:;:;/
          \;:;:;:;:/
           `ー'

58 :
おまえらのパンツのRが当たってる部分ってやっぱりチーズとしょんべんとウンコが混ざった臭いがするの?

59 :
いや、おまえらの場合猛臭とか死臭しそうやもんな。
嗅いでみるのは勘弁やで。

60 :
Rってなんであんなに臭いの?
臭いなんてもんじゃねえよなあれw
激臭というか猛臭というか死臭というか・・・・・・w
おまえらのRもやっぱり死臭がするの?

61 :
>>55
テメー含め、雌共の股間の猛臭に比べたらいい匂いにすら感じられるわ。
それぐらいテメー含め雌共の股間の臭さは異常。

62 :
>>61
ゆうときますが女が全て風俗嬢でわないですからね?
むしろかなり特殊なケースですよ風俗嬢はw

63 :
Emscripten 試してるんだけど、コンパイル出力された HTML をブラウザで
見た場合、printf() が表示される Window が下部に表示されてしまう。
これを消す方法誰か知らない?

64 :
別のユーザーにおいて既定のアプリに設定できません。
Windows10、1つのパソコンに複数ユーザーでその内の1つには自由に既定のプラグインが設定できるが、他のユーザーはできない。

1.規定のアプリで設定しようとするも設定しても元に戻る、PHPファイルなど無い拡張しもある。
2.プログラムから開く、で設定しても保存・変更されない。
3.レジストリの削除からsublime.exeを削除してやり直しても変更が保存されない。

およそネットで紹介されているトラブルシューティングを一通り試してみても全く既定のアプリが変更されなかった。
別のユーザーでは同じインストールプログラムは既定の設定ができているのでそれが原因でしょうか?

65 :
>>64
板違い
Windows
https://mevius.2ch.sc/win/

66 :
Emscripten, wasm で、
call emcc hello.c -o hello.html
だとcanvas で直線や箱の描画が上手くいっていたのに、
キーが押されたときに JS側から、Cの関数を呼ぶ出すため、
サンプルのとおり、
call emcc hello.c -o hello.html -s EXPORTED_FUNCTIONS="['_getCellStatus']"
-s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall', 'cwrap']"

とやってみたら、コンパイルはエラーは出さないが、html を起動してみると
全く何も表示されなくなった。
C中で、EM_ASM()でJSによるキーエベントのコードを書いて、
そこから、Cの関数をコールバックしたかった。

そのEM_ASM()の部分をコメントアウトしても、何も表示されないまま。
とにかく、コンパイル時の -s EXPORTED_FUNCSIONS=・・・の
部分をつけているだけでこうなってしまう。

ちなみに、getCellStatus というのは、ちゃんとCソース中で定義されている
関数名。冒頭の「_」を消してみると、emcc が関数が定義されていないと
いう旨のエラーを出す。

67 :
つづり、間違っていない?

68 :
EM_ASM( {
document.onkeydown = keydown;
function keydown() {
var getCellStatus = Module.cwrap('getCellStatus ', 'number', ['number', 'number']);
alert( "getCellStatus(1, 3) = " + getCellStatus(1, 3) );
}
} );
というコードをCソースに書いていたんだけど、このコードの直前に EM_ASM({alert();}) 文でしばらく
待ってやると、グラフィック描画は復帰した。

けれど、今度は、実際にキーを押してみると、RUNTIME が終了してしまったという次のメッセージが出た:
Assertion failed: the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)

そこで、指定どおり、
call emcc -o hello.html -s NO_EXIT_RUNTIME=1 hello.c
-s EXPORTED_FUNCTIONS="['_getCellStatus']"
-s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall', 'cwrap']"

としてコンパイルしてみても、改善されなかった。

main() 関数が終わってしまった事によって、RUNTIME LIBRARY が消えてしまった
ということだろうか。それにしても、改善が見られないのはなぞ。

69 :
main() の一番最後に、
for ( ;; ) {
 emscripten_sleep(100);
}
を書くと直った。よかった・・・。

70 :
片山博文はなんで人間やめたの?

71 :
>>70

「なぜ〜は○○なのか?」 というのは著者の願い
https://medaka.2ch.sc/test/read.cgi/prog/1539529365/

72 :
Emscriptenを使えば、ブラウザでほとんどNativeアプリと同じことが出来るのではないかと
思ってたんだけど、日本語入力では問題が出るかもしれない?

なぜなら、JavaScript でキー入力イベントは、キーボードの生の keycode だけが
送られて来て、SHIFT キーの同時押下による大文字小文字も処理されない。
つまり、ASCII コードや SHiftJIS や UTF8 ではない。

ということは、日本語入力はこのイベントだけでは処理できないことになってしまう。
なら、HTML の FORM タグや INPUT タグみたいなものでしか日本語は入力できない
事になりそうだ。

この辺の修正がされない限り、どうにもならない気がする。

73 :
↑想像で語るな

74 :
マルチバイト文字は、イベントで受け取れるの?

調べてみたら、keydown はダメだけど、keypress の方は、Shift や Caps Lock を
処理した後のASCII CODE を返すらしいけれど、試してみると、IMEが入力した
MULTI B BYTE 文字は送られてこないように見えた。

75 :
document.addEventListener('compostionend', function(event) {
 console.log('compostionend')
});

を試してみたけど、自分のブラウザじゃ、このイベントは来なかった。
2017年に決まった仕様?

76 :
changeを拾えばいいだけでは

77 :
>>75
× compostionend
○ compositionend
では

78 :
ブラウザは基本的に、Chrome を使う

Edge は新機能への対応が遅い

79 :
>>77
なるほどそのイベントは来るようになった。
でも canvas タグの場合、日本語の文字コードはどこで拾えばいいのか分からん。
input タグなら拾えるけど。

80 :
そもそも使い方が間違ってるんだろ
canvasは絵を書くところであって
入力を受け付けるところではない

81 :
>>80
ブラウザでDTPソフトみたいなものを実装しようとすれば、canvas に書くしかないと
思う。その際どうすんの。

独自キャレットをグラフィックで書いて、その場所に透明な textarea タグを
絶対座標で配置し、入力が終わるたびに textarea から文字を取得。
それを canvas にfillText() で書いてから、textarea の中身をリセット。
それを繰り返す?

82 :
ホントにtextareaを適切な場所に出せば良いだけだろ?透明である必用すらない。
素人が入力系作るな。ストレスたまるから。
禁則とか入力中の表示とか、溢れた部分のレンダリングをブラウザのコンポーネント以上にできるんなら透明コンポーネント使うってのもわかるが、
それ以下のものしか作れないのに透明にする必要ないだろ。

83 :
つうか、DTPソフト作る人はその辺、素人じゃないだろうて。

84 :
適材適所。そういうのはウェブでやるもんじゃないという証拠
ウェブはHTMLで文書を書いて、CSSでデザインを整えて
jQueryで軽く動きをつけていれば良いんだよ

85 :
隠れたTEXTAREAでやったら2バイト文字も取得できてきたんだけど、
今度は、compositionstart だけ呼ばれて、compositionend が
呼ばれない。
input タグで入力するとどちらも呼ばれる。訳分からん。

86 :
くだ質に日記書くなよ

87 :
こうやって、英語用のアプリだけが、WebAssembly に移植されていくんだ。
Vim もブラウザに移植されたが日本語入力できないらしい。

単にブラウザが、2バイト文字の時に、onkeypress を 1バイトずつ、2回に
分けて呼んでくれればすむ話なのに。元々 日本語FEPは、そういう発想で
生まれた。とにかく、2文字分呼んでくれれば良くて、その場合、
ASCIIコードにしか対応しないアプリも安定性を損なわない。

88 :
2バイト文字という概念がそもそも間違ってる

89 :
「マルチバイト文字」なんだよなあ
そこに結合文字も加わる

90 :
いや、固定長のUnicodeより賢いやり方だと思うよ。
英語圏のASCIIアプリは無修正でいいんだし。
英語圏の人がろくに事情も分かりもしないのに、変なIME制御とか
入れようとして逆に変になってる。
とにかく、1バイトの読めない羅列が送られてくると思っていれば、
英語圏の人は済むんだから。1バイトの文字の羅列だと思っていても、
実は解釈をちゃんとすると2バイトになっているというからくりで十分。

そこに変な配慮を入れるから逆におかしくなってる。

91 :
まあ、2バイト文字って言うのは、漢字で言うところの「へん」と「つくり」の
関係みたいなもんなんだから、難しく考えなくていい。
英語圏の人は、ヘンとつくりの羅列が送られてきているともって処理すれば
十分。日本人には、へんとつくりが横幅が2倍の「1つの文字」になっている
ように脳が見える、という感覚。

92 :
さすが、素人じゃない人は言うことが違う。

93 :
英語圏の人だってこんな🇺🇸文字だって使うわけで
「2バイト文字が〜」とか「横幅が2倍」とか言ってる奴は遅れてる

94 :
2バイト文字が〜は馬鹿だが、横幅2倍は間違いじゃない

Halfwidthは半角のことだし、Fullwidthは全角のこと
だが、曖昧幅とかいうのは消えてなくなれ

95 :
JUnitでの単体テストについて質問させてください。
他クラスのメソッドを呼び出しするだけのコントローラクラスをテストする場合、テストケースってどうなるんでしょうか?
「指定したクラスのメソッドを呼び出せること」を確認したいのですが、assertEquals以外を使うことになるのでしょうか?

96 :
>>94
等幅フォントしか使えないの?
MMMM
IIII
ぁぁぁぁ
とか、どう見える環境?

97 :
等幅フォントのほうが日本語には向いていると思う。
そもそも新聞も等幅だと思うし。
プロポーショナル・フォントを好むのは英語圏の人独特の感覚。

原稿用紙だってそうだし、般若心経などのお経も昔から等幅に近い。
幅を変えたほうが汚い。

98 :
拡張子のピリオド「.」や、環境変数 PATH の区切り文字のセミコロン「;」が細すぎて
どれだけ苦労することか。見えない。文字も新聞よりずっと小さい文字が、新聞
読むときよりはるかに遠くにある。
スティーブ・ジョブスも彼を支持する人もハッキリ言ってアホだと思う。

コンピュータでは一文字でも違っていれば大違いの世界。だから、ゼロ0と英文字のO
を区別するために斜線が入っていたし、掛け算記号*もXと区別するために特殊な
文字になった。

スティーブジョブスのせいで、世界中の生産性が低下している。

最近では、日本語IMEの全角/半角の状態が分からなくなってしまって、日本人の
せいさんせいが劇的に悪化したと思う。もっと言えば、Googleが余計なアシストを
したり、Windows のインストール時間、DL するファイルの巨大化などによっても
世界中の生産性が下がっている。

99 :
もっと言ったら、デザイナも物を知らなさ過ぎる。

ギリシャ文字の小文字のπはちゃんと形が決まっているのに、アホなことに、
大文字のΠと全く同じ形にデザインしたフォントが流行ってしまってる。
これがどれだけ生産性を下げているか。特に数学や物理が関係する分野で。

大文字のΠと小文字のπは、数学の世界では使い方が多くの場合、厳密に
それぞれひとつの意味で用いる。前者は「総積」と言われて、高校の時の「Σ」
の掛け算版。後者は円周率。

これらを混同してしまうようなフォントにしてしまったのは、知識がないせいだ。

100 :
>>87
違うよ。
インプレイスで表示する、なんかだと、変換中の文字列を受け取らなきゃいかん。
Vimを引き合いに出してるが、Vimで日本語入力にちゃんと対応したのいつかわかってんの?
同じ理由でずーっと綺麗に対応出来てなかった。
ここ数年だよ。やっとまともに日本語入力できるようになったの。

Kaoriya見てくれば良い。

生半可な知識でわかった気にならないでね。

1バイトずつって、エンコーディングは?
たとえそれを統一したって、駄目文字がアプリごとに生まれるよね。
合字はどうすんの?ちょっと前には絵文字でホットな話題だったよね。

>>97
等幅だけど等幅送りではないよ。
均等割付末尾行のみ左詰め。
お前写植も知識ないんだろ。

101 :
>>99
それで充分なフォントもあるんだよ。
ギリシャ語では単にそれらは文字だしね。
2階のaと一階のaとα(アルファ)を同列に語って意味あんの?
お前が見るようないわゆるフォントってのは商業的な印刷一般に使うものであって、数式用フォントではないし、
数式に使うギリシャ文字は、ギリシャ語の文字とも別。

制作会社はそのためのフォント持ってる。

CADやDTPなんかでは確実に違うフォントを使うし、ヒゲ付きのOなんてものもある。

DTPの事知らないくせに、DTP語んなよ。

102 :
>>100
Vim 自体の日本語対応の問題じゃないんだ。
WebAssembly に移植する際、JavaScript では、onkeypress がIME(日本語)の文字コードを
全く渡してくれないし、それに変わるIME専用のイベントや仕組みもないことを問題に
している。

だから、今のところ、隠し textarea タグ(または input タグ)を使った「ハッキング」を
行うしかないはず。

103 :
>>102
IMEの文字コードは渡すもんじゃない。
専用のイベントなんて要らない。
隠しtextareaも必要ない。
JS側に関数用意して、画面にtextareaを表示すれば良いだけだろう。
emscriptenで言うEM_JSなりなんなりで、それを呼べば良いだけで、
知識もないやつがクソみたいなエディタを作るよりも遥かに良いって言ってるの。
glue codeと言うか、ライブラリは作るしかないだろ。

駄目文字のくだりとか理解してんの?キーコードとして全角文字を渡すとか頭悪い事言ってるけど。

IME専用のイベントや仕組みなんて必要ないの。
ましてや、キーが押されたイベントで、キーが押された以外の内容を送信するとか頭おかしい発想でしょ。

ゲームエンジンとかCADとか見てみりゃ良いよ。
OpenGLでダイレクトにUIの枠書いてるけど、コントロールは上からペタッと貼り付けてるか、日本語入力自体を実装してるから。

104 :
>>103
>駄目文字のくだりとか理解してんの?キーコードとして全角文字を渡すとか頭悪い事言ってるけど。

charCode だよ。Windows の OnChar() は、非 Unicode 版はそういう実装になってる。
というか、DOS 時代に日本人が発明したほうで最も賢い方法。
Unicode 版は事情が分かってない欧米の人が勝手にやりだしたまずい方法。

105 :
「日本語入力事態を実装」って、Atok 見たいなものを自分で実装するという意味だよね。
それはゲームの場合は簡易でよいからそれで済むだけだよ。

106 :
>>104
そりゃエンコーディングがほとんどCP932しかなかった時代だろ。
OnCharはキャラクタが来たとき、KeyPressはキーが押されたとき。全然違うよね。

CADとかゲームエンジンの実装法(ネイティブコンポーネントを貼り付ける)は見てきた?

107 :
>>106
>CADとかゲームエンジンの実装法(ネイティブコンポーネントを貼り付ける)は見てきた?
分かりやすい資料があれば欲しい。

>OnCharはキャラクタが来たとき、KeyPressはキーが押されたとき。全然違うよね。

JS の場合、onkeydown がキーが押されたときで、onkeypress は、やはり、
OnChar にかなり近い目的で用意されていると思うんだけど、違うの。

108 :
大体そもそも、keydown も keypress も英語文字だけが対応していて、日本語には
全く対応していないことがおかしい。

マルチバイト文字方式にも、Unicode 文字方式にもどちらにも全く対応していない。

この状況には、英語圏の人の傲慢さを感じる。

109 :
>>107
わかりやすい資料も何も、知ってて話してるなら自分も見てるでしょ。
知らないのに、隠しtextareaなんて馬鹿らしいアイディア出してたり、文字の表示が簡単だと言ってるなら反省して。

OnKeyDownはキーが押し下げられたとき。
OnKeyPressはキーが押されたとき。
文字が入力されたときのイベントではない。
もう一回言うけど、文字が入力されたときのイベントではない。
なのに、文字入力をそのイベントで送ることが妥当だと思ってんの?

110 :
逆に、文字を入力する手段としては、キーを打たなくても良い。
予測変換で出てきてる候補をマウスでクリックしても良いんだよ。
そういう時はキーを打ってないにも関わらずOnKeyDownなりOnKeyPress起こすのか?
頭おかしいだろ。

111 :
そもそも英語文字だけが対応してるんじゃない。
物理的なキーボードに依存してる。お前のキーボードには英語の文字しか無いだけだろ。

全く対応していない、傲慢だと言うが、キー入力ではないんだから全く対応していないのが当たり前で、傲慢なのはキー入力でないものをキー入力として扱えという思想だろ。

112 :
WindowsアプリでもText入力のハンドリングを諦めてコンポーネント上から載せてる例。

AutoCAD
https://faq.mypage.otsuka-shokai.co.jp/euf/assets/answer/ansimg/114789/281163-2.png
Creo
http://www.pro-engneer.net/img/proe016-1.jpg

113 :
>>108
日本語を入力できるキーボード作ったら解決するぞ?

114 :
>>113
それをソフトウェアで実現していたのが、DOS時代のFEPだったんだけど。

115 :
>>101
>数式に使うギリシャ文字は、ギリシャ語の文字とも別。
そういうのは、LaTeX ならちゃんと別に用意してますよね
\varepsilon \vartheta \varkappa \varpi \varrho \varsigma \varphi とかね

116 :
>>114
だからやりたきゃそれやればいいんじゃないの?ローマ字かな変換とか。

117 :
>>116
元々、それをする専用ソフトがIMEなわけなんだけどね。
日本語を特殊なアルファベット2文字で表現してくれるようなソフト。
「ヘン」と「つくり」に分解して、二回に分けて文字コードを送ってくれる。

118 :
>>115
そうそう。組版と呼ばれる作業を行うなら必ず、コンテキストに従って写植する必要があるからね。
セマンティックにしておくべきと言うか。
そういう意味でTeXはとても正しいアプローチだと思う。
今までの写植が気に食わんから組版エンジン全部作っただけある。

逆に言うとそれぐらい気合入れてくれないとUIなんかは作ってほしくない。
ましてや、知りもしないものを適当に「こーすりゃ良いんでしょ?」って言うのもおかしいし、
「それじゃうまく行かないよ。その程度ならお仕着せのコントロール使って」って言われるのに調子に乗って明後日の事言い続ける無能は何やってるのかわからん。
文字列を選択する、というオペレーションだけでどれだけ語れるか。特にRtoLな言語の混植とか。
OSと同じです、の安心感を隠し去ってまがい物の表示をしたいって思想が気に入らん。

紙物からやってきたけど、こういう手合は死んだら良いのにと思うわ。
お前らデザイナが「僕プログラム少しできるんですよ」とか言った時、期待して、結果悲惨なjQuery連発でがっかりしたあと憤りを感じることあるっしょ?
デザイナも同じように「僕デザインに理解があります、今のやり方にも一言あります」って言うやつもおんなじように憤りを感じてるんだよ。
専門の人間ないしは詳しそうな人間が「それは間違ってる」って言えば、少なくとも聞けと思うんだが。

119 :
アメリカ人は頭が悪い人が多いので、せっかく何も考えずに処理できるように
工夫されてるのに、理解できないので勝手にIMEをしなくてもいいのに制御しようとして、
逆に一番大事な文字コードはせっかく何も考えずに処理できるようになってるのに
勝手に「せき止めて」しまうアカポンタンだから。
OSも馬鹿だし。そもそも、ASCII文字の仕組みと同じ仕組みで上手く処理できるように
されていたからこそ「Front End Processor = FEP」と呼ばれていて、難しく考えなくて
良かったのに、余計なお世話的な変な処理を間に入れるからめちゃくちゃになってる。

せき止めてしまうんだ。彼らはアホボンだから。

120 :
ヘンとツクリって頭大丈夫か?
駄目文字の事いよいよ理解してねえんじゃねえかな?

IMEは断じて文字コードに分割して送信するなんて事はしてないが、もしそうしているとすると、その文字コード中にOSが拾うべき制御文字が含まれてると誤作動するって少しは考えないのかな?

121 :
>>119
良くないよ。駄目文字があるでしょ。
だからAPIで渡してるんだよ。文字コードをkeydownさせるんじゃなくて。
いい加減理解しろよ。
0x04を含む文字でSIGINTかかるって事だぞ。

122 :
なんちゅうか、今まで、ASCIIの128文字くらいを使っていましたと。
1バイトは256文字まで表せるから、残りの128文字くらいは、大体
漢字の1文字目としても使えるなと。

だったら、OSもツールも何も考えなければ、英語圏のソフトは、
1文字目と2文字目に分かれた文字として処理すればよいし、
日本のソフトは、独自に2文字まとめて大きな一文字として処理すれば
良い、という発想だったんだ。

それを勝手に、2バイトや4バイトに拡張してしまえ的な愚かな発想に
してしまって、効率も悪ければ、余計な処理が入るわで、馬鹿な状況
しまくってるのが、今のアメリカプログラマだ。

それに、2バイトでやるなら、全部2バイトにして、onkeypress も
event.onChar を2バイトにしてしまえばよいのに、1バイトのままになってる。
それなのに、Unicode 対応とか変な事言ってる。

123 :
>>120
制御文字なんてほとんど含まれてない。
終端コードの 0x00 や 制御コードの 0x00〜0x1F も含んでないし。

そして大抵のマルチバイトの漢字コードは、セミコロンやカンマも二重引用符なども
含んでないから、今までの英語圏の人も特に何もすることは無い。

逆に変な処理をはさむと誤作動してしまう。

124 :
>>122
人の話聞けよ。なんか頭の病気か?

2バイトにしてしまうのも愚かで、実際はUTF-8あたりに落とすのが妥当な点だろ。
可変長だ。
馬鹿な状況も何も、UTF-8にあたってはアメリカは絵文字ぐらいしか気にしてないぞ。UTF-8ではアルファベットは1byteだからな。

色々知識少なすぎるだろ。

125 :
>>123
表、ソ、申あたりは5c(\)が入ってる。
これも特定のシーンでは制御コードだよね。

漢字コードの中にコロン入ってるのあるよね。
vimのモード変わっちゃうね。

お前のような何も見てない奴が実装するとメタメタになるって典型だよね。

126 :
いい加減メッキも剥がれたんだから、「ぼくのかんがえるさいきょうのにほんごにゅうりょく」も一旦引っ込めて百回くらい読んでから書き込めよな。
>>109-112で挙げた内容をよく理解してから反論して。せっかく資料も上げたんだし。
そもそも文字入力のイベントじゃない
キー入力しなくても文字は入力できるがキーも触ってないのにキーイベントを起こすのか?
キーボードは英語優先でなく物理キーボードに準じてる(嘘だと思ったら無変換キー押したりかな入力してみろ)

127 :
あ、>>125はお前の大好きな2バイトの全角文字、シフトJISで、な。

128 :
>>114
全然実現していないが・・・?

FEPはあくまでもJISキーボードの押下イベントを拾って、
ソフトウェアで変換するフロントエンドプロセッサ。

お前さんの求めているのは、106/109キーボードではなくて
「すべての日本語が入力できるだけの数万個のキーを持ったキーボード」だろう。

129 :
>>128
お前の様なアホとは話しても時間の無駄。

130 :
>>125
だから、そういう事いう人いるけど、\ も : (コロン) も、英語地域の人でも
打ち間違えることはあるんだから、それに対するエラー処理がちゃんとできて
いれば、エラーになるだけで問題が無いんだ。

エラー処理がちゃんと出来てないからセキュリティーだとか言う人が出来ているが、
そもそもそんな程度のことで変になるソフトは元々セキュリティー・ホールがある。
英語だけ使っていれば見つかりにくいために普段分からないで過ごしている
本当はそういうソフトにはバグがあるんだ。

131 :
大部分の人は数学的に物事が考えられないから、\ や : が入っている多バイト文字
は安定性に問題があると考えるんだろう。

しかし、ちゃんとエラー処理したプログラムなら安定性に問題が無い。

132 :
別に ShiftJIS と EUC-JP、UTF8 で場合訳する必要も無い。

数学的物事が考えられない人は、場合訳が必要だと思うので、
特定の文字コードにしか対応できない。

133 :
ShiftJIS の場合、1つ問題あるのは、2バイト目に、\ のコードが来ることがあり、
"・・・・X"
のように double quotation で囲った文字列の最後の全角文字「X」の2バイト目
が \ の文字コードであった場合、ShiftJIS への配慮が無ければ、
"・・・・A\"
のように、なってしまい、エスケープシーケンス \" のように解釈されて、
文字列の終端の " を読み落としてしまうことがある事。

それは大きい。

134 :
>>124
頭が悪いんだ。あんたは。

ちなみにおいらは、大学での数学は首席だった。

135 :
中途半端な理解の人が多いので、話が紛糾する。
確かに、ShiftJIS には、2バイト目に \ や | の文字コードが含まれているので、
配慮しなくてはならないことはある。

しかし、onkeypress( Windows での、WM_CHAR, OnChar() 相当 ) を Chorome 作者
が実装するに当たっては、その事はたいした問題にならない。

そういう問題の切り分けや、物事の本質に対する理解が足りてない。

136 :
>>129
お前が「日本語のキーのイベントが欲しい」と言ったんだから合わせてやっただけだが?

お前、自分がどれだけ馬鹿なこと言ってたかすら理解できてないのか。。。

137 :
>>130
打ち間違えてないのに打ち間違えになる事に対して問題だと思わんのか?

打ち間違いに対するエラーと、画面入力が正しく渡せない事に関するエラーは別だよね。

正しく渡せない/渡せる保証が無いなら、そんなAPIあってたまるか。

どうしてインプレイスでtextareaを出すのは嫌なの?隠したいの?
textareaがやってる事全部再発明するって事だよ?

138 :
>>134
頭の良し悪しで言われると主観的な話になるが、問題を認識できてない人間に言われたかないな。

こっちは実際にDTPもCADもやってたし、今では作る側にも回ってるんだよ。
で、こう言うバカが提案する事を毎回叩き落として、現実的な落としどころのものを作ってて言ってんだけど。
これはWebAssemblyとCanvasのだけの問題でもなくて、OpenGLアプリとUIの話にもよく似とる話で、それこそ何十年も前から言われてる事なの。

数学的に云々言ってるが、虚学ではなく実学の工学的にそのアルゴリズムというか解法は間違ってる。

139 :
>>135
お前が本質的に理解してない。
OnKeyXXXはキーボードイベントであって、文字入力イベントではない。
Ctrlキーってキーボードイベントだけど文字入力ではないでしょ。

140 :
>>132
数学に自信があるのも結構だか、日本語ももうちょっと頑張れ。

141 :
馬鹿で間抜けだと言われたのが悔しくて主席だ数学科だお前が馬鹿だと憤ってるなら、その看板に傷がつくから、素直に人の話を理解して自分の能力の足しにしたらどうだ?
少なくとも大学で研究したなら、学術的な物の考え方ぐらいできるだろ。
なんで学歴を主張してまだなお、他人の意見に対して真摯な受け取りが出来ずに、相手を馬鹿だと言うんだ?
主席の価値はもう失われたって事か?

142 :
俺が繰り返し言ってて、繰り返しお前の主張のボロを突き続けてるのは馬鹿で理解してないからじゃないからな。

お前が理解できてないからだから。
振り上げた拳を下ろせないならプログラム書くのやめてしまえ。

143 :
ちなみに、制御コードがIME等から入力される事はない、は嘘だからな。
特殊な話になるが、あるシステムでデリミタとして0x01、0x02、0x03、0x04を入れるってクソみたいなシステムがあったんだが、事実入れてるの見たことある。
Wnnだったかな。

144 :
>>139
onkeydown <--- キーボードイベント : Win32 の WM_KEYDOWN 相当。
onkeypress <--- 文字入力イベント : Win32 の WM_CHAR 相当。

145 :
いやはや、こうやってWebAssembly厨が
お得意のWebAssembly製アプリの開発で
大混乱に陥ってるのを見ると笑えるわw

ウェブでアプリとか作るもんじゃねーという
当たり前の結論だな

146 :
>>144
違うよね。OnKeyPressはKeyBoardEvent。
MDNでも読んでくれば?

補足:KeyboardEvent とは、単にキーへの動作を表したオブジェクトにすぎません。テキストの入力を処理したい場合は、HTML5 の input イベントを代わりに使用してください。
例えば、タブレット PC といった手書きのシステムでユーザがテキスト入力を行う場合、キーに関係するイベントが発火することはありません。

と書いてあるから。
キーボードイベントはキーボードイベントであって、文字入力のイベントではない。
修飾キー無しのキー押下だよ。KeyPressは。

147 :
>>145
そりゃ、Webで今まで出来なかった事をするためのものだからな。
今までできたならその方法を使えと言うのがごく当たり前の話で、こいつが馬鹿なんだよ。

148 :
だいたいWM_CHARも、WM_KEYDOWNで得られた仮想キーメッセージをTranslateMessageで文字メッセージに変換したものだろ。
WM_CHARが自動的に送られてくるわけでなし。

由来は仮想キーメッセージなんだから、現状のIMEが起こした文字入力イベントを送ってこないのは当たり前じゃねえか。
むしろアメリカ人と言うかMSの人間が正しくしたんであって、非難される謂れは無いと思うが。

全くリファレンス読まないタイプなんだな。

149 :
やっぱ、数学がちゃんと出来ない人は本質が理解できないと思う。

150 :
>>133
それは\を特別視するC言語文化圏に限った話にすぎないのでは?

151 :
>>134
>大学での数学は首席だった
ご専門はどのような分野ですか?解析?代数?幾何?

152 :
>>150
Unixのshellスクリプト、awkなどのツール
はては正規表現も \ というかバックスラッシュを特別視するけど
これらが広義のC言語文化圏というならその通りだけど

153 :
>>149
お前さあ、数学での主席でさえこんなおつむなの?って思われて何とも思わないのか?

お前が全く本質を理解してないじゃん。
WM_CHARすら誤解してたとか目も当てられない無様な姿だよ。
数学が好きなら、もうすこし演繹的に考えたらどうだ?
演繹的に考える上で、誤った前提を用いたら、誤った結論に至るっしょ。
その誤った前提が、OnKeyPress=WM_CHARであったり、WM_CHARは文字列を得るものだという思い込みな訳でしょ。

数学的に見てお前の理屈はおかしいぞ。

154 :
途中から参加しようにも
誰を馬鹿にしてやればいいのかわからんなw

155 :
>>149
数学が首席でない私にも、後れ馳せながらやっと君の主張の本質が分かったよ。

「なんで世の中のシステムはぼくちゃんの思った通りのことをしてくれないの?許せない!」

そうか、初めから同意が欲しいだけで議論なんてする気はなかったんだよね。

156 :
間違ってることがわかったんなら一言言っとけよな。次の人が書きづらいだろ。

157 :
次の人が書きづらい
は今更だろ何日やってんだよw
そもそも元の質問なんだよ?

158 :
謝罪無しでバックレたので次の方どうぞ

159 :
勝ち逃げされて悔しそうw

160 :
表計算的なインターフェイスを組み込むフレームワークってほとんど見あたらないんだがなんで?
エクセル1強のせい?関連するデータ群を編集するのに便利なインターフェイスだと思うんだけどな

161 :
>>160
グリッドコントロールとかで探しても無いか?
.NETのDataGridViewもあるけど思い通りに計算する機能も元から無いとだめか?

162 :
>>161
おぉ、ありがとう。Gridで調べたらいくつか出てきました。マルチプラットフォームで使えるwxWidgetsにもあるようだ
もうちょっとあるとうれしいですね。編集が目的なので計算はともかく編集機能は表計算ソフト相当の物をベースに
カスタム出来るくらいだとありがたいです
データの入力・編集、クリップボード操作、行・列の挿入・削除、連番挿入、行・列幅変更・・・等々(たぶんまだまだある)
あたりは標準的な操作で行いたいです。これらをすべて自力で実装しようとすると結構大事になりそうな気がしますが・・・

あと開発で使うフレームワークですがマルチプラットフォームで使いたかったのでひとまず
wxWidgets 癖はあるがネイティブなので比較的高速に動作
Electron 標準技術で作れるのは魅力
.NET 一応マルチプラットフォームで使えるはずだけど起動に時間がかかるのが難
あたりを考えていました。後者2つは速度面で不安がありますが

163 :
抽象度の高いスクリプトをWebアプリ(と言っても現状Electronでの実行を想定)へコンパイルするコンパイラを作ってみたいのですが
広義なコンパイラの作り方について解説されているWebサイトとか本とかありませんかね?出来れば平易な表現の方が助かります
「コンパイラ 自作」とかでググると一般的なネイティブバイナリへ変換するコンパイラの話ばかり出て来ます
基本はHTML5/DOM/JavaScriptですがWebGLやWebAssemblyなども活用するようなコードを生成したいです

164 :
>>163
そういうのはコンパイルとは言わないから、広義なコンパイラというのは間違いだと思う。

165 :
コンパイラじゃなくてトランスパイラで探したほうが良さそう

166 :
サンクス。こういうのはトランスパイラ、トランスコンパイラって言うんですね
ググると使い方の話ばかりで作り方の情報はほとんど出てこないようですが

167 :
>>163
抽象度の高いスクリプトて何やねん?おまえは何をしたいんや?
ジャバスクリプトが抽象度の高いスクリプト言語やぞ

168 :
辻ちゃんはなんでいつも炎上しとるんや?可愛いのに

169 :
>>166
そういうのを自作するニーズはかなり少ないだろうし、そういうことをしようとする人はネットで調べたりせずに自力で解決する力があるだろうから、直接的な情報はあまり見つからないと思う。
コンパイラのフロントエンドを作る部分は役に立つだろうから読んでおいて損はないんじゃないかな。

170 :
http://www.meiwasuisan.com/

こういう掲示板を作って月収800万円ぐらい儲けたいのですが、
こういう掲示板って儲かりますか?

171 :
>>170
宣伝やめろ

172 :
>>171
宣伝ではありません。
前々からそのような掲示板を作りたいと思っていたのです。
そのような掲示板は個人でも運営できるのかとかどのくらい儲かるのかとかを教えてください。
お願いします。

173 :
1. 個人でも運営できる
2. 個人でも運営できるようなもので儲かるわけ無いだろう

174 :
本当に個人でも運営できるもので儲かるわけないのでしょうか?
個人で運営してるもので儲かってるものは無いのでしょうか?

175 :
うん。ない。あきらめろ。じゃ

176 :
>>170
作ってみないと分からない

177 :
個人で運営できるもので月1000万円ぐらい稼ぐことは絶対に不可能なのでしょうか?

178 :
>>177
https://www.youtube.com/watch?v=h-bzIdJFJgE

179 :
年収1000万以上のブロガー、youtuberがいる時代ですよ
本人の才能と努力次第でしょう

180 :
個人でclipboxみたいなアプリを開発して大儲けすることってできないのでしょうか?
そもそもアプリを開発してそのアプリが大ヒットしたら収益はそのアプリの開発者にほとんど流れるのでしょうか?

181 :
>>180
作れる。
ただし、宣伝が難しいので、Webサイトや雑誌などのメディアの協力が必要。
広告費と購入費などによって収益構造を構築する必要がある。

182 :
windows10で右クリックメニューから実行しているプログラムを
コマンドラインから実行したいのですが、やる方法有りますか?
(ただしSendkeyは使用しない方法で)

183 :
>>182
ここはクイズごっこやる板じゃありません

184 :
>>182
それは「エクスプローラーの機能をコマンドラインから利用する」質問なのでWindows板あたりで聞いてくれ

185 :
右クリックメニューから実行しているプログラムが分かれば可能かもしれないけど
右クリックメニューからプログラムが実行されているのかどうかというところから怪しい

186 :
>>184
ありがとうございます

187 :
右クリックメニューにはショートカットキーが設定されてて
CTRL+キーで実行できる

コマンドラインでCTRL+そのキーを実行させりゃ済むことだが

188 :
実行したいアプリの絶対パスか、それがコマンドならコマンドを実行すればよい

例えば、コマンドプロンプトで、where notepad と打つと、
以下のように、notepad (メモ帳)というコマンドの実行ファイルが、絶対パスで表示される。
(もし、複数行が表示された場合は、一番上の絶対パスがコマンドと結び付けられている)

C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe

一般的には、コマンドには拡張子は付かないが、実行ファイルには拡張子が付いている

絶対パスが表示される場合は、notepad というコマンドは起動できる。
または、一番上の絶対パスでも起動できる

notepad
または、
C:\Windows\System32\notepad.exe

ただし、コマンドプロンプトから起動したアプリは、
そのコマンドプロンプトを終了したら、同時にそのアプリも終了するので要注意!

PowerShell は、コマンドプロンプトよりも文法がわかりやすい、新しいシェル

189 :
>ただし、コマンドプロンプトから起動したアプリは、
>そのコマンドプロンプトを終了したら、同時にそのアプリも終了するので要注意!

試したら終了しなかったけど?昔はそうだったっけ?

190 :
例えば、Ruby で、Nokogiri, Selenium WebDriver を使ったスクリプトファイル、a.rb がある時、

コマンドプロンプトで、ruby a.rb と実行すると、
ブラウザで、HTML ファイルが起動するけど、

ここで、コマンドプロンプトを閉じると、Rubyもブラウザも、終了する

191 :
例えば、コマンドプロンプトで、notepad と打つと、メモ帳が起動するけど、
ここで、コマンドプロンプトを閉じても、メモ帳は終了しない!

あれれ?
どうなってるの??

192 :
サンプルコードのライセンスでさ

「自由に使っても構いません。ライセンス表記を消して使っても構いません。
ただし、俺が作ったのに、さもお前が作ったかのように権利を主張し独占することは許しません。」

みたいなライセンスって無い?
The Unlicense ってのがそうなのかな? CC0も?

些細なコード(でも今までにない独創的なもの)で権利を主張する気は
さらさらなく自由に使ってもらいたいんだけど、悪意のあるやつに奪われて
権利関連のゴタゴタに巻き込まれたくはないんだよね。

193 :
>>192
そのままそう書けばいいじゃん
有名どころのライセンスになれば効果アップ!とか無いから
それか専用スレで聞け
【License】ライセンス総合【利用許諾】
https://mevius.2ch.sc/test/read.cgi/tech/1266247461/

194 :
>>192
お前はまず働け
そして世の中を知れ
そしてお前の大事なそのクソコードをそっと捨てて恥じろ

195 :
ライセンス表記を消してもいいのか
独占を許さないという記述ごと消されたコピーが配布されて
我が物顔で使う連中が出てきた挙げ句に口を揃えて知らなかった書いてなかったと言いそう

196 :
べつに「我が物顔で使う」ことまでは禁止しないんだろ。
作者本人に制限がかかるような「独占」を防ぐだけなら作者の著作物である証拠があればいいんで
>>192の文言でどっかに公開しておけばいい。

197 :
>>193
> そのままそう書けばいいじゃん
英語で正確に書く自信がないし、ライセンスなんて自分で作るもんじゃない。使うもんだよ。
でないと個別にGPLやオープンソースと適合するのか?という問題が発生するじゃん

>>194
> お前はまず働け
今日は休みだぞ? 気づかなかったのか? (なんでだろう?)

>>195
> ライセンス表記を消してもいいのか
> 独占を許さないという記述ごと消されたコピーが配布されて
> 我が物顔で使う連中が出てきた挙げ句に口を揃えて知らなかった書いてなかったと言いそう

それは今でも同じでしょ? GPLでもなんでもライセンスを
(勝手に)消して配布して我が物顔で使うことはできる。
それを使ってる連中は知らなかったと言える。(本当に知らない場合もあるし)

198 :
専用スレでという部分は無視か

199 :
今日は休みだぞってレスつけるあたりがね
周回遅れの人間がどう周りを見てるのかが出てる

200 :
>>197
ライセンスがどういうものか理解したほうがいいよ
直接的な法的効力を持つものではない
「ライセンス表記を消してもいい」ライセンスを探すのも「英語で正確に書く自信がない」のに英語で用意するのもおかしいから

201 :
>>200
では、その理由を書いてください。
あなたの文章。中身が全くありませんよ

202 :
スレ立てるまでもない質問はここで専用スレがある質問はそこで
マナーも守れないルール軽視の奴がライセンスを語るのは滑稽です

203 :
ふとエロゲに使えるタスクトレイ常駐型の「CapsLockをマウスの左クリックに入れ替える」ソフトを作りたいと思いました。
知ってる言語がJavaだけだったのでなんとかEclipseで作れないもんかと調べて,学校の先生にも質問したのですが,どうもJavaでは難しいらしいです。

C言語は凄く難しいらしいので他に簡単に作れそうな,言語があれば教えていただきたいです。

204 :
C#でグローバルフックすればいいんじゃないかな

205 :
デバッガーを自作してみたいのですが(チートエンジンみたいな)どんな言語やシステムを学べばいいでしょうか?
大まかでいいので教えて下さい

206 :
>>205
アセンブラじゃないかな。
プロセスメモリ書き換えとかの有名どころ
・OllyDbg
http://www.ollydbg.de/

207 :
Fooクラスに座標を設定する SetPos(x,y) というメソッドがあるとする
引数を省略しfoo.SetPos(x)、ないしnull指定でfoo.SetPos(x,null)と記述できる場合
y座標はどうなるイメージある?

(1) 0
(2) クラス側に都合の良い値に設定される
(3) 現在のy値のまま変更しない
(4) y値は指定されずfooの座標データは未完成のまま
(5) xもろともfooの座標データを削除
(6) その他

208 :
予想するのは(1)(3)(4)
期待するのは(3)
(1)は気が利かない残念な設計
0に移動したいときは0を指定しますので(3)にしてくださいよ
(2)は利用者側にも都合の良い強い既定値がある要件下なら可
でもその特別な座標に移動する別メソッドを用意したほうがいい
(4)はJavaScriptあたりで何も考えていないとやりがちなぬるぽの元
座標未完成の状態に価値があるなら可
(5)のように設計すべき状況はほとんどない

209 :
mavenのローカルリポジトリはgitのローカルリポジトリと同じですか?

210 :
https://qiita.com/kyoyyy/items/161b6905f45bee2efe21
リモートリポジトリの更新はpushだと説明されています。
しかしgithubのリポジトリを見るとcommitsというタブがあります。
pushesではなく。なぜですか?

211 :
>>208
ありがとう
(3)にしつつ別関数で(2)を実現できるようにするわ

212 :
>>210
更新をするコマンドはgit pushだ。
しかし、更新をしたという事実はcommitであり、各コミットはハッシュタグという16進数の文字列で区別する。commitsは名詞commitの複数形。

213 :
pushというのは、ローカルリポジトリをリモートリポジトリに「押し出す」ことだと考えてもらいたい。
その反対はpullだ。

214 :
操作はpushでも登録されたのはcommitオブジェクトだ、みたいなニュアンスですか

215 :
リモートでもローカルでもコミットという単位で変更が記録される。変更内容は、差分(diff)という形で記録される。

216 :
ローカルでコミットを作るのがgit commitというコマンドだ。
git commit -m "名前"で、コミットに名前が付けられる。
コミット単位でリモートにプッシュするのがgit pushというコマンドだ。

217 :
>>214
基本的にはそうだが、commitは動詞にも名詞にもなるから注意。

218 :
https://www.greptips.com/posts/1094/#%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%9D%E3%81%AE%EF%BC%92

こういう文脈で出てくるローカルリポジトリは別物ですか?
それともgitと技術的に共通のものですか?

219 :
>>218
それはMavenというバージョン管理システムだ。Gitとは内部構造が異なる。

220 :
リポジトリ(repository)は、昔はお城の倉庫・弾薬庫という意味だったと思う。projectやsolutionみたいなバージョン管理の単位だろう

221 :
pullはリモートリポジトリから作業ディレクトリに持ってくる事みたいですが、
pull requestを相手が受けた場合、
相手の作業ディレクトリにこちらのリモートリポジトリから
落とすという事になりますか?
それとも相手のリモートリポジトリに直接反映されますか?
pull requestを受けた側がどういう作業をするのか、が良く分かってません。

222 :
https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html
> and also tell you what branch you're currently in:

”現在居るブランチ”とはどういう概念ですか?
“ブランチに居る”という事の意味が分かっていません。
何かブランチを操作する時、そのブランチ名を指定すれば良いのではないですか?
現在居るブランチという状態がどこかに存在する必要性がありますか?

223 :
>>221
git pullはGitのコマンドだが、Pull Requestはどちらかというと、GitHubなどの機能じゃないかな。
他のユーザーにPRされるとGitHubにページが増えて、そこのページにボタンがあって、そのボタンを押すと変更点が適用されるという流れ。

224 :
>>222
branchを直訳すると枝分かれ。ソースコードの変更は、木構造のように枝分かれする。git branchで現在のブランチ名と、今あるブランチ名の一覧を表示できる。
ブランチに移動するときはgit checkout ブランチ名。
masterは特殊なブランチ名で、現在の主流の開発段階を意味する。

225 :
新しいブランチを作成するときはgit checkout -b ブランチ名。そこで変更してコミットすると、そのブランチでコミットが追加される。

226 :
これ以上はGitの専門的な話になるから、下記スレッドに誘導。

Git 16 (c) 2ch.sc
https://mevius.2ch.sc/test/read.cgi/tech/1502726047/

227 :
>>207-211
SetPos なら、0 だろ

3. は、UpdatePos とか、別の名前で作るべき!
紛らわしくて仕方がない

Ruby on Rails でも、HTTP メソッドは、
put で置換、patch で一部更新とか、API を分けるのが普通

228 :
HTTPのputとpatchは
そもそもがそういう定義だからでは

229 :
全く無知な状態からprogateやってます。

とりあえずクラウドワークス等でお小遣い稼ぎから、
いずれはもっと高度な事をしたいですが今のところHTML,、CSSをやってます。
他にもやるべき科目、あとprogateを終わった後の勉強法など宜しければご教示ください。><

230 :
>>229
プログラマとして金稼ぎたいって話ならマ板
HTML,、CSSはどちらでも板違い

231 :
マルチプロジェクトで全プロジェクトについて文字コードを設定したいんですが
どうすればいいですか?
全タスク、およびjavadocについて文字コードを設定したい。

232 :
自己解決

233 :
>>229
HTML, CSS/SASS, JavaScript(JS), jQuery などは、web制作管理板へ

HTML, CSS の次は、SASS とか?
プログラミングなら、JS, jQuery とか

234 :
関数名で悩んでます良いの教えてください
bool 入力した文字を許容するか判定する関数(char input)
中の実装は様々で例えば数字のみを受け入れたりアルファベットのみ受け入れたりだったりです

235 :
× bool 入力した文字を許容するか判定する関数(char input)
○ bool ○○か?(char input)

236 :
○○か?
でいいじゃない
何言語か知らんけど

237 :
正確には関数ポインタで関数を持つ変数の名前なので数字やアルファベットなど何が入ってるかはわかりません

238 :
クラス名・変数名に迷ったら書き込むスレ。Part28
https://mevius.2ch.sc/test/read.cgi/tech/1494147712/
に行け

239 :
SSLとかで共通鍵は比較的短期間で期限切れになると思うんですけど
新しい鍵に交換するタイミングで何か一連の通信が発生していたら
自分が鍵Aで送って、でも鍵A'に更新された後に相手が受け取る、
みたいな事が起きそうなんですが
その辺どう解決されてるか知ってる人居ますか?

240 :
>>237
実装なんかどうでもいい。実装を名前にするな。
何をする関数なのか言え。

241 :
FA装置のソフト屋になりたいんだけど何勉強したらええ?

242 :
>>241
物の調べ方から勉強したらどうかな
こんな掲示板でそんな質問するようじゃ何の見込みもない

243 :
C#のbaseの使い方がよくわからないのですが
baseのカッコ内には基本コンストラクタと同じ引数を書けばいいのですか?
簡単な例を出して教えてほしいです

244 :
>>241
FAってなあに?

245 :
switch文のサンプル見ると
最後にdefaultが書かれてることが多い(というか見た限りは全部そうだった)と思いますが

if (x)
 x
elif (y)
 y
else
 x
って時は

switch
 case x
 default
  x
  break
 case y
  y
  break
でいいんですよね?一応動きます
言語はJavaScriptです

246 :
>>245
JSにelifはない。
コロン忘れ。

247 :
>>246
コード短くするための擬似言語です

248 :
パンくずリスト(Breadcrumb navigation)ってもうちょっと技術的で固くて短い言い方ないの?

249 :
サーバーと2,3回通信するスマホアプリを作ってて
スマホのような携帯端末はネットワークが細いから1回送ったデータは
セッション変数に保存して2回目以降はそこから取り出すようにした方がいいのか、
それともサーバーのメモリを食わないようにセッション変数はできるだけ使用せず
通信の度に送りなおしたほうがいいのかどっちだろ?

250 :
社内のPC関係管理してる部署に異動になって、プログラム作るときに
splitするだけの内容でも自作関数にして最小単位で作れ
と言われているんですが、これのメリットって何なんでしょうか
どうも1行でも自作関数制作という事に慣れず、気をぬくとそのまま記載してしまうのです

251 :
はぁ?関数にするかどうかは行数じゃなくて
それで可読性をあげられるかどうかだろ

可読性を上げる = 読まなくていいようにするってことな
そのsplitするだけの内容が、関数にすることで、
関数の中を読まなくてすむような、適切な名前をつけられるのであれば
そうすべきだし、結局関数の中まで追わないと意味不明なら関数にする必要ないし

252 :
main関数とか存在しないからclassで例えると
こんな感じのエラーにならないが問題だらけのコードを書かないようにじゃね

class Foo
 let private;
 function bar();
 function baz();
 document.write("Hello World!");

253 :
>>251
いやもう本当に「splitするだけ」なんですよね
呼び出し元では「AwoBdekugiru」のように自作関数名を書くか「split」と直接書くかの違いだけで
コード分からない人が読むなら前者の方が良いかもしれないんですが
コード読む人ってある程度はわかるはずですし、splitを書き換えるって事もないと思うので
メンテ性でも可読性でも後者の方が良いと思うんですよね

254 :
何でもワンクッション置く事、
自前の関数でラッピングすることの心地よさみたいなものは確かにあるw

255 :
>>253
> いやもう本当に「splitするだけ」なんですよね

実装なんかどうでもいい。

256 :
好意的に解釈するなら移植性を重視していて
言語固有のライブラリとビジネスロジックとを分離することに重きをおいているとか

257 :
現実的に解釈するなら各社の情シスにまともなプログラマーがいるとは限らず
デメリットの方が多いことに誰かが気づいていたとしても
今からコーディングルールを崩してカオスになるよりは…と
消極的に現状維持を選んでいるだけということも

258 :
>>245-247
JavaScript の質問は、web制作管理板の方へ書き込んでください!

>>249
頻繁に、サーバーと通信するのは、あまり良くない。
クライアント側のアプリ内で、データを持っていて、たまに通信する方がよい

ドラクエなどは、0.5秒毎に通信するけど、通信データは最小限に抑えている

>>250-257
色々な部署で、コードを再利用したいのだろう

259 :
独習C#のコードなんですが
https://ideone.com/ybzLth
21行目の=this と23行目のo.IsOddの前についてる!の意味が分かりません
インターフェイスの修飾子が付いてるから派生先のクラス型では呼べないのは理解出来てるのですが
上記二点は何なのでしょうか?

260 :
>>259
thisはそのクラスのインスタンスそのもの。
!は論理否定。

261 :
恐らく常識だが、「整数が奇数でなければ偶数である」という事実を使っている。

262 :
独学用の教科書を謳っている本の解説をここでやってもらうって間違ってない?
C#の勉強より本の内容を把握する方が大変そう

263 :
>>260
インスタンスは new ○○じゃないのでしょうか?
thisがこのような形で使われるのはこの本の中ではここが始めてでイマイチわかりません…
説明もないです
!が否定なのも何度か!=という表現が使われてるので分かるのですが
メソッドを呼び出す時に!を使うのは今回の章が初めてなので何がどう作用してるのかもわかりません…('A`)
すいません

264 :
public bool IsEven(int x)
{
IEven o =this;
return !o.IsOdd(x);
}
これはoがthisの別名になるから
public bool IsEven(int x)
{
return !this.IsOdd(x);
} と同じ。さらに
public bool IsEven(int x)
{
return !IsOdd(x);
}
と同じ。 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)


265 :
メソッドを呼び出すときに!を使う特別ルールがあるわけではないよ
演算子の優先順位がわかってなくて混乱してるだけだと思う
1 + 2 * 3 の答えが 9 ではなく 7 であるという話に似ている
この式は分かりやすく書くと
1 + (2 * 3)

return !o.IsOdd(x);
を分かりやすく書くと
return !(o.IsOdd(x));
さらに次のようにも書ける
bool b = o.IsOdd(x);
return !b;

266 :
PHPのクラスは、
宣言と実装を分ける事はできんのですかね

267 :
WebProg
http://medaka.2ch.sc/php/

268 :
ゲーム用のRTOS的なのってないんだろうか。コンシューマゲーム機はハードメーカーが用意してくれているけど
PC等で汎用的に使える奴

269 :
ゲームエンジンなら個人が無料で使えるUnityとかある

270 :
汎用OSじゃUnityを使おうがリアルタイム処理は実現できなくね?

271 :
ゲーム機なんてバックグラウンドでいろんなサービスが動いてるし
フレームドロップし放題だからRTOSなんて必要とされてないだろう
RTOSの想定する用途とは真逆のものすごく高級で雑な世界

272 :
クリックするとイベントが発火するボタンがあるする
これに効果音を乗せる場合、押下時に紐付ける?
それとも発火と同じクリック時?

273 :
>>272
GUIは自分で使ってみて使いやすい形にするのがセオリー

274 :
>>273
いろいろ試してるうちに
どっちがいいのか分からなくなってきたんだ…

275 :
「カ」「チッ」

276 :
>>275
なるほど分割…!

277 :
スレチだったらすみませんが誘導をお願いします。
筋トレの回数を記録するスマホアプリの開発がしたいです。日付・種目・セット数を保存するだけの簡易なものを想定しています。
以下の条件を満たす開発環境を利用したいのですが、何がおすすめでしょうか。
・Windows10で利用可能(linuxの仮想環境は用意出来ますが、Xcodeが使えないと思っています)
・Android/iPhoneのどちらでも使える(クロスプラットフォームが理想ですが、別々に作ったほうが楽ならそれでも可)
・サーバ通信なし(アプリだけで処理が完結する)

ご意見頂けると幸いです。よろしくお願いします。

278 :
独習C#に
”tryブロックの中からメソッドを呼び出しそのメソッドの処理の中で例外が投げられたらcatchブロックで補足できる(ただし、そのメソッドの処理の中で例外が補足された場合には当然ながら呼び出し元では補足されません)”

というよく分かり辛い表現があるのですが
メソッド呼び出し中に発生した例外は補足されるのでしょうかされないのでしょうか…?

279 :
>>278
private void methodA()
{
try { methodB(); }
catch {/*例外処理A*/}
}
このmethodAから呼び出すmethodBに関して
・呼出した先で例外が発生すると呼び出し元でcatchされる
private void methodB()
{
/*何らかの処理、例外は呼び出し元の例外処理Aで捕捉される*/
}
・別のパターン
「そのメソッドの処理の中で例外が補足された場合」呼び出し先で例外処理は完了するのでmethodAではcatchされない
private void methodB()
{
try {/*何らかの処理、例外は例外処理Bで捕捉される*/ }
catch {/*例外処理B*/}
}
メソッド分けたけどtry-catchを入れ子にしても同じこと
実際にこのパターンで書いてみて動かしてみればいい

280 :
>>279
そういう意味でしたか…
分かりやすく噛み砕いていただきありがとうございます。

281 :
>>277
漏れは、Ruby, Nokogiri, Selenium WebDriver で、ブラウザを自動操作して、
ローカルPC 内の画像ファイルを、ブラウザで見たりしてる

ただ、ローカルPC内に保存できるかどうかは、知らない

HTML, CSS/SASS, JavaScript, jQuery, Node.js も使う

でも、Windows10 で、iPhone は作れるかな?

>>278-280
C# のスレで、聞いた方が良さそう

282 :
Visual Studio(C#)のプログラミングに関する質問です。

インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおいて、
コンパイルが通らなくて困っています。(当たり前なのですが…)

【Aファイル】
クラスAの定義{
クラスBの使用(インスタンス作成、メソッド利用)
}

【Bファイル】
クラスBの定義{
クラスAの使用(インスタンス作成、メソッド利用)
}

【全体インクルードファイル】
#include Aファイル
#include Bファイル

【コンパイル結果】
Bクラスが存在しません(Aファイルにて)

【質問】
お互いにクラス定義を必要とする場合、
★具体的に★どのような実装をすれば良いのでしょうか?

283 :
> インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおい

そういう設計になるのが間違い

284 :
https://mevius.2ch.sc/test/read.cgi/tech/1558002486/74
https://teratail.com/questions/190437
マルチすぎる

285 :
e-ラーニングの動画コンテンツみたいにさ、
Webページ上の動画をユーザが何分視聴したのかデータをDBに残したいんだけど、
どんな技術使えば実現可能なん?

286 :
透視技術

287 :
動画をHLSにすれば簡単なんじゃね

288 :
>>277
VSCode でも使っている、Electron もある。
これは、Chromium + Node.js

これも、Ruby, Nokogiri, Selenium WebDriver で、ブラウザを自動操作してるのと同じ。
実行環境がブラウザのChromiumで、ローカルPC へのアクセスに、Node.jsを使っている

これも、HTML, CSS/SASS, JavaScript, jQuery などを使う

289 :
>>282-284
C# の質問は、C#のスレに書き込んでください!

それと、マルチポストは禁止です!
複数のスレや外部のサイトに、書き込まないでください!

他の場所・スレへ移動する場合は、元の場所の質問を締め切ってから、移動してください!

290 :
質問です。
qiitaのとある作者さんのWin32のウィンドウライブラリをパクったのですが、連絡を取るときはアカウントとるべきですか?

291 :
連絡取れれば何だって良いだろ。
ライブラリにライセンスがかいてあれば、連絡取る必要すらないし

292 :
>>291
それもそうですなぁ。
qiitaのデフォルトライセンスの記述は見たことないなぁ。などと今思ったナリ。

293 :
高階関数だのラムダ式だの言ってるけど
関数ポインタを使ったコールバックと何が違うの?

294 :
擬似言語でかくとC言語では以下のような、foo関数の中に
bar関数を定義するというような書き方はできない

foo() {
 bar() { }
 var bar_prt = bar;
 bar_prt();
}

このようにfoo関数の外に書く必要がある

bar() { }
foo() {
 var bar_prt = bar;
 bar_prt();
}

だから関数ポインタでは、以下のように、bar関数の中から
foo関数の中にある変数valueを参照するということができない

foo() {
 var value = 123
 bar() { console.log(value); }
 var bar_prt = bar;
 bar_prt();
}

別の場所にある関数だから、foo関数のローカル変数にアクセスできない

たとえ、foo関数の中にbar関数を定義できたとしても、関数ポインタと同じ仕組みであれば
bar関数の中からfoo関数の中にある変数valueを参照できない

295 :
例えばqsortの引数に直接swap&compareコードを書けるようになる
いちいち外部に関数つくって名前つける必要なくね?

という感じ
関数ポインタじゃ絶対に実現できないというのはない

296 :
PHPのフレームワークLaravelを勉強している者なんですが、
Laravel EchoとPusherを使用してリアルタイムチャットを作ろうとしています。
色んなサイトを参考にして
Pusherの環境変数を.envに入力し、bootstrap.jsのコメントを解除したりして
色々設定し、通信状態もwebsocketになっていることが確認できました。
しかし、PusherのDebug Consoleに送信した内容が表示されません。
まだ何か設定が足りないとかありますでしょうか?

297 :
PHP の質問は、web prog 板の方へ、書き込んでください!

298 :
VisualStudioでDLLをデバッカしたいです。
ぐぐると、DLLを呼び出すexeを実行し、exeの対して「プロセスのアタッチ」を実行すればよいとありましたが、
DLLを呼び出すexeが一瞬で終わってしまうコマンドのため、アタッチできません。どうすればよいでしょうか。

試しに、exeを「ローカルWindowsデバッガー]で停止させ、別窓のVisualStudioコンソールでDLLのソリューションを開き
exeにアタッチしようとしましたが、「プロセスにアタッチできません。デバッガーは既にアタッチされています。」と表示され、アタッチできませんでした。

299 :
DLLのコードにブレークポイントを置いておいて、スタートアッププロジェクトのデバッグコマンドを
そのexeにしてデバッグ実行するだけでいいと思うけど。

300 :
>>299
すみません、Visul StudioでexeとDLLを同じソリューションで定義し直し(もともとは別ソリューション)
exeを「ローカルWindowsデバッガー」で動作させたところ、DLLのコードのブレークポイントで止まるようになりました。


追加の質問ですみませんが、「ローカルWindowsデバッガー」ではなくVisual Studioのリモートデバッカでデバックしたい場合ですが、
基本的にはデバックしたいexeのプロセスにアタッチする手番と思います。
アタッチする際に「使用可能なプロセス」の一覧からデバックするプロセスを選択すると思いますが、
非常駐プロセスの場合、この一覧からプロセスを選択できません。
デバックしたいexeが非常駐プロセスである場合、どうやってアタッチすればよいのでしょうか。

301 :
以下のようなWindowsプログラム(メインプログラム)のソースを書きました。

main.cpp
-------------------------------------------------
int main()
{
int *pNumber2 = NULL;
HMODULE hMod = LoadLibrary(DLLPATH);
PTESTMALLOC ptest2 = (PTESTMALLOC)GetProcAddress(hMod, "Test_malloc");
ptest2(&pNumber2);
_CrtDumpMemoryLeaks();
return 0;
}
-------------------------------------------------
この中で、外部DLL(DLLPATH)の関数「Test_malloc」のソースは以下です。
-------------------------------------------------
void Test_malloc(int **pNumber2)
{
int *pNumber = new int[3];
pNumber[0] = 4;
pNumber[1] = 5;
pNumber[2] = 6;
*pNumber2 = pNumber;
return;
}
-------------------------------------------------

DLLPATHがdebugモジュールの場合、CrtDumpMemoryLeaksでpNumber2の解放漏れが検出できました。
しかし、DLLPATHがReleaseモジュールの場合、解放漏れが検出できませんでした。

外部DLLには上記のようにDLLの中でメモリを獲得し、呼出側で解放用の関数を呼んでメモリを解放しなければいけないものがあります。
外部DLLのdebugモジュールは一般には入手できないため、このような解放関数の呼び出し漏れによるメモリリークを検出する方法はないでしょうか。

302 :
plsqlを.SQL形式で作って
それを読み込んでwindowsでワンボタンで実行するアプリ作りたいんだけど
手軽にやるならVBですか

303 :
Release 用のモジュールでは、最適化されて、デバッグ用のシンボルなども削除されているのでは?
定数・変数なども計算済みで、なくなっているかも

Release 用には、デバッグ情報が無いかも

304 :
netbeansでgradle supportプラグインを入れて、
build.gradleでビルドできてるんだけど、
自分が使ってるgradleのバージョンを確認するにはどうすればいいの?
分かるのはgradle supportプラグインのバージョンだけ

305 :
(1..5)
と記述すると1から5までの値を受け取れる…みたいな書き方があったような気がするんですが
rubyかpythonだったと思うんですが
どの言語の仕様だか解りますか?
この記述の後ろに何らかの標準関数をくっつけて配列に格納できるんだったかループに使えるんだったかあったような気がします
変な質問ですみません

306 :
kotlinのループ処理じゃない?

307 :
Ruby の範囲・range。
.. は終端を含む。... は含まない

to_a で配列にできる

p (1..3).to_a #=> [1, 2, 3]
p (1...3).to_a #=> [1, 2]

文字列でも使える

r = "ay".."bb"
r.to_a #=> ["ay", "az", "ba", "bb"]

r2 = "08".."11"
r2.to_a #=> ["08", "09", "10", "11"]

308 :
>>307
あ〜〜〜それです!
名称が全然解らなくて調べようがありませんでした
ありがとうございました

309 :
to_aにイラッとしてしまった

310 :
*より分かりやすくていいんでない

311 :
カーネルとかデバドラの開発でクラス設計は有用だと思う?
クラスが使える言語で開発するとして
それともやっぱりC言語が有力?

312 :
ステートフルなら、クラスにまとめてクリアとかイニシャライズとか書くと扱いやすそうではある。
ステートレスならクラスにする必要はあまりないきがす。

313 :
GitHub上に公開されているオープンソースのコードにエラーがあって
それを修正しようとプルリクエストを送ったんですが
送ったプログラムにもエラーがあるってことで弾かれた場合
そのプルリクってどういう扱いになるんでしょうか?
一応元のコードに不具合があるという点だけは目を通してもらえる感じですか?

314 :
>>311
そもそもそんな分野は mangling すら嫌われるし this を隠すことすら嫌がられるし、で、C 以外の最近の言語は全員討ち死にのような気がします

315 :
数学上の数式はすべて手続き型のプログラミング言語で表すことができますか。
これはどうしてもできなかったというご経験はござますか。

316 :
アンケートです
頭の中で想像してみてください
375という数は
A) 100がみっつ + 25がみっつ
B) 5の三乗がみっつ
C) そのほか
どういうイメージを最初に持ちましたか?

317 :
375という数

318 :
直感的に感じるものがない場合は
わざと想像を膨らませてみてください

319 :
アンケートの癖に命令するな

320 :
皆殺し(375)じゃぁ、ゲルマン民族大移動

321 :
DOSコマンドで、特定ドライブ配下の*.jpgファイルを削除し、そのjpgファイルが格納されていたフォルダも削除するにはどのような記述をすれば良いでしょうか?

322 :
DOSコマンド
ディレクトリ移動
ファイル削除 ワイルドカード
ディレクトリ削除
で検索

323 :
>>322
ありがとうございました

324 :
formatで一気に削除

325 :
旦那の秘蔵のお宝画像が全消去されてしまうのだろうか((((;゚Д゚))))ガクガクブルブル

326 :
>>317 >>320
ありがとうございました

327 :
JavaとC++はどちらがバグ発生率が高いですか?

328 :
>>327
まずあなたの頭のバグを治すべき

329 :
win32APIはどれくらいC言語を勉強したら習うのが望ましいですか?
C言語入門書一冊読んですぐにAPI入門読んで理解できますかね?

330 :
使いたいと思った時、使う必要になった時

331 :
>>329
もうCは覚えましたか?

332 :
ファイル結合を普通にやると
ファイル1を読み込んで、新ファイルのバイナリとして書き出して、ファイル2を読み込んで、新ファイルのバイナリに追記して…
って感じの冗長な処理がされてしまいますよね

これをさせずに、結合させるファイルのディスク上のアドレスを合成して新しいファイルを作るという処理で
ファイルを結合させることはできないでしょうか?(結合元のファイルは消滅してもいい)

333 :
>>332
追記モード("a")でオープンして、別のファイルを読み込んだ内容を追記すればいい。

334 :
>>332
セクタ長できっちりサイズが割れないときはどうすんの

335 :
デフラグしたいのか?

336 :
どんな環境か知らんがファイルシステムの勉強をするべきでプログラムはその後の話だな

337 :
>>334
セクタのことは考えてませんでした
このやり方はやはり無理っぽいですね
ありがとうございました

338 :
>>331
理解出来てるかどうかは別として入門書に書いてある事は覚えました
何かを作った事はないです

339 :
>>338
まず、何でもいいから何か作ってみるべき

次に何かGUIアプリを作る過程でWin32APIを勉強すればいい
(GUIの操作でWin32APIが必須になる)

340 :
Win/Linux/BSDで使えてMIT/BSDライクライセンスのラスタライザがあるベクタフォーマットってありそうで見つからない
フルスペックのSVGみたいにリッチな必要はなくてテキストと基本的なプリミティブを使えて任意のピクセル数のキャンバスに
ラスタライズできれば良いんだけどな。う〜むどうしたものか

341 :
>>340
Cairo

342 :
昔オーストラリアでハッシュ値が証拠にならんって科学的にめちゃくちゃな判決を出した
裁判事例があったそうですが、あれはその後どうなったんですか?

343 :
visualstudio2019でscanf関数を使うと
//戻り値が無視されましたscanf
//CL.exeはコード2を伴って終了しました
とエラーが出て実行できません。scanf_s関数を使うと
https://gyazo.com/9c36fd93f3fd6e3acdf299cf5262baf6 このようなエラーが出て上手くいきません。
ためしに SDL という項目をいいえに変えてみたのですが変化なしです。
どうすれば実行できるでしょうか?

344 :
VCのスレ見つけたのでそちらで聴きます

345 :
この記事を解説してください。プロトタイプとは何ですか?
https://sumim.hatenablog.com/entry/20080413/p1#c1208228975
>プログラムを動かしている最中にオブジェクトが出来ること、すなわちメソッド(method)を追加したり再定義したりできるかだ。
筆者はこの説明を否定しています。そしてこう説明しています。
>オブジェクトがそれが属するクラスによらず独自のメソッドやインスタンス変数を持てること*こそ*が、「プロトタイプベース」あらため「インスタンスベース」の本質です。

独自のメソッドは実行時に追加されるんですよね?
だったら最初の説明と同じでは?

あとインスタンスベースと呼べと言っているけど、
インスタンスはクラスに対して定義される言葉では?
クラスが無い場合インスタンスという概念を用いれないのでは?

346 :
>>345
> 独自のメソッドは実行時に追加されるんですよね?

一方は実行時でもう一方は特に言及してない
また後者は属するクラスによらずという条件があるが前者には無い

347 :
実行時以外いつプロトタイプベースでオブジェクトのスロットへの設定が行われるんですか?
ソースコード中に静的に定義された定数的なオブジェクトを想定してるんですか?

属するクラスによらず、ってプロトタイプの時点でクラスが無いんだから暗黙の前提では?

というよりクラスがあるとメソッドとかを勝手に変えられちゃうと
型による安全性が機能しなくなるから、クラスがありつつプロトタイプってできない。

348 :
あとやっぱりインスタンスベースというのはおかしくて、
クラスがある場合のみインスタンスという概念があるので、
プロトタイプベースでいいですよね?

インスタンスというだけだと、スロットの動的な設定ができることを示唆しない。
インスタンスという概念はクラスで作られたものを指すので、
その時点で好き勝手にメソッドを減らしたり増やしたりできないです。
それをすると型安全が機能しなくなるので許可する言語はありません

349 :
アセンブラでもできると言ってるのと同じで、
できるできないの話をすればそりゃできるだろうけど、
人間が望んでいるのは高級言語
クラスベースを人間が望んでる

350 :
>>347-348

独自のメソッドやインスタンス変数を持てることが本質という主張なので
とりあえずクラス固有のメソッドを減らすという拡大解釈は無しで考えるべきでは?

351 :
JavaScript は、prototype 型

https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain

var car = new Car( ); // コンストラクタ

// インスタンスと、prototype の両方に、メソッドを追加する。
car.f = function( ) { }
car.__proto__.f = function( ) { return 1; }

console.log( car, car.__proto__ ); // Car { f: [λ] } Car { f: [λ] }

var car2 = new Car( ); // コンストラクタ
console.log( car2, car2.__proto__ ); // Car {} Car { f: [λ] }

console.log( car2.f( ) ); // 1

car.f, car.__proto__.f は、1階層異なる。
car.f は、そのインスタンスだけに、メソッドを追加した(Ruby の特異メソッド)

一方、car.__proto__.f は、1階層親の__proto__、つまり、Car コンストラクタにメソッドを追加したので、
別のインスタンスにも追加されている!

だから、car2.f( ) を呼んだ際、car2 には、fメソッドが無いのに、
prototype chain を遡って、Carコンストラクタに追加された、fメソッドを呼べる!

ただし、__proto__ は非推奨となった!

352 :
>>351
修正。
先頭に、function 文が抜けていた

function Car( ) { }

var car = new Car( ); // コンストラクタ

353 :
JavaScript は、prototype 型 → 不便だから改良しましょう → クラスベース型

354 :
TypeScriptやってるとclassも要らない気がするわ

355 :
プロトタイプ型言語ではインスタンス化することをコンストラクタって呼ぶの?

356 :
コンストラクタとして使う、メソッドを定義する

つまり、普通のメソッドではなく、
new を付けて呼んで、インスタンスを作ることを前提とするメソッド

function Car( ) { }

コンストラクタを呼んで、インスタンスを作る

var car = new Car( );

つまり、メソッドには2種類ある

new を付けて呼んで、インスタンスを作ることを前提とするメソッドと、
new を付けずに呼んで、インスタンスを作らないメソッド(普通のメソッド)

357 :
>>350
あ、わかったかも。
「(クラス毎ではなく)オブジェクト毎に所持メソッドやメンバー変数を変えられる」
これがプロトタイプの本質だって言ってるんですね。

否定してる最初の説明でもその意味だと思うけど、
「動的にクラス定義を変更してその全インスタンスの振る舞いがまとめて変わる」
のか
「特定のオブジェクト限定で振る舞いを変えられる」
のかが紛らわしい。

まあでも当然後者の意味だと思うけど。
クラスが動的に再定義されちゃったら型安全壊れるし、
コンパイル時にバグを見つけれる事が強みなので、それをやる言語は無いはず。

358 :
型安全ってC/C++みたいな言語の用語だぞ

そういう言語で、正しくない型として扱うと
不正なメモリアクセスとか無効な命令実行でプロセスが不正に落ちる

JavaScript等はどんなことをしてもプロセスが落ちることはない
正しくない型であつかっても例外が発生してトラップできる
だから動的に再定義されたとしても、型安全のまま

359 :
ああそうか
まあでもその存在しないメソッドを呼んでしまったとかで例外が出ちゃうから、
クラスを使用している言語はオブジェクト別の所持メソッドの変更を許可しないだろうということです。
それをやっちゃうとせっかくのクラスによる安全性を放棄してしまう

360 :
型安全ではなく「強い型付け」の恩恵の話だな
プロトタイプに限らず、ダックタイピング全般の考え方は
型付けをユルくすることで恩恵を一部手放すと同時に別のメリットを得る
トレードオフだから原理主義的に決めつける必要はなく言語次第
金型を使いたいときは使えばいいし手彫りしたいときはすればいい
そういう言語があってもいいじゃない

361 :
ダックタイピング調べてみた。

これはたぶんJavaプログラマー的に言えば
interfaceを明記しなくても自動判別してくれるということだろう。
メソッド側が期待するinterfaceとクラスが実装しているinterfaceを自動判別する。

https://ja.wikipedia.org/wiki/%E3%83%80%E3%83%83%E3%82%AF%E3%83%BB%E3%82%BF%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0
class Duck
def sound
'quack'
end
end

もしこれのsoundメソッドのとこをコメントアウトしたら
test(Duck.new)がコンパイルエラーになるんだろう。

しかしプロトタイプベースだったらコンパイル時にエラーを出すのは無理だろう。
しかしクラスのメリットは確かにコンパイル時エラーの検出のためだけではない。
プロトタイプかつクラスを使用する言語があったとしたら、
その場合クラスは単に抽象的な意味を記述するため、あるいは
クローンの連鎖の大元になるためにある。
そんな言語もあってもいいのかもしれない。

362 :
ダックタイピング良く調べてみると
このwikipediaの記事は間違いだって言ってる記事があるな
「そのオブジェクトがどんなメソッドを所持しているかを事前に知らずにとにかく呼び出してしまう」
つまり動的バインディングのような概念である、と。
プロトタイプベース系の話だな、それなら。

wikipediaの記事からは、クラスがあって、
interfaceを書かなくても多態性が実現できるinterface自動判別の仕組みだ、
という印象を受ける。

363 :
https://en.wikipedia.org/wiki/Duck_typing#Criticism_of_the_term_itself
>AttributeError: 'Whale' object has no attribute 'fly'

英語版wikipediaの記事だと、「メソッドがあるかないかを事前に気にせずにとにかく呼び出してしまう」
というプロトタイプベース的な意味でダックタイピングという言葉を使用しているようだ。

364 :
そのインスタンス固有のメソッドを、Ruby では、特異メソッドと言う

instance-specific method
singular method
singleton method, eigen method

Rubyも、Duck Typing(動的型付け), Open Class を使う

obj.print( "あ" )

Duck Typing では、インスタンスobj のクラス・型・継承関係は関係なく、振る舞いで決まる。
objが同名のメソッドで、同じ数の引数を持つだけでよい

「アヒルのように歩き,アヒルのように鳴くものは、アヒルに違いない!」

改訂2版 Ruby逆引きハンドブック、2018/8/28

この本で、みっちり学ぶと、オブジェクト指向・関数型・メタプログラミングを理解できる!

365 :
Duck Typing では、インスタンスobj のクラス・型・継承関係は関係なく、振る舞いで決まる。
objが同名のメソッドで、同じ数の引数を持つだけでよい

Java で言う、同じinterface を持つけど、特に宣言はしない。
呼び出すメソッドに、反応するかどうか

「アヒルのように歩き,アヒルのように鳴くものは、アヒルに違いない!」

ただし、Duck Typingは、クラスよりも変幻自在だから、モンキーパッチになりやすいので要注意!

366 :
> 「アヒルのように歩き,アヒルのように鳴くものは、アヒルに違いない!」

コードで書くと

if ( 生き物.鳴く() = "ガアガアガア" ) {
 print "アヒル"
}

367 :
ダックタイピングとは、メソッドの呼び出し結果で
型が決まるということを意味している。

368 :
ダックタイピングで言う「型」って意味ないよね。

369 :
実際の所、アヒルのように歩いて,アヒルのように鳴いたからといって、
アヒルとは限らないんだよな。アイボが犬ではないのと同じように

370 :
https://ideone.com/3vJCEw
ダックタイピングってこうだっけ。C++は進む。

371 :
>>370
継承を使うものはダックタイピングとは呼ばない。
C++ でやるなら type erasure とか使うんじゃないかな。

372 :
型安全はコンパイル時にエラーを見つける事を助ける、みたいな記述があるんですが
実行時にも型情報に基づいて例外を出す事はありますよね?
例外を出して処理をキャンセルしたということをもって型安全と言えますか?
もしそうならコンパイル時エラーだけでなく実行時例外に貢献するだけでも型安全である、
つまり動的型付けでも型安全な場合がある、と言えますか?
もし型の間違いを無視して処理を続けたら、言語にもよるけど、メモリ安全を壊すかもしれない。

そもそも"安全"と言っているのは、何かを破壊から守っているという事です。
メモリ安全は分かり易いですが、型安全とメモリ安全は違うようです。

「型安全とは関係が宣言されていない無関係な型へキャストされないこと」
と定義すると間違いですか?

373 :
>>372
OSのエラーダイアログが表示されてプロセスが強制終了するなら型安全ではない
言語のtry-catchなどでトラップできる例外が発生するなら型安全

374 :
> 「型安全とは関係が宣言されていない無関係な型へキャストされないこと」
間違い

375 :
JavaScript のjQuery は、引数の型によって、処理を変える

引数が文字列なら、文字列の処理へ、
引数が配列なら、配列の処理へ、

それら以外の型なら、エラーとか

376 :
dllの作り方がわかりません
exeファイルがobjファイルをリンクするというのはわかりましたが、dllも同じですか?

377 :
「visual studio dll 作成」で検索!

Visual Studio で、コンパイルして下さい!
その際、実行ファイル(exe)ではなく、共有ライブラリ(dll)を作成して下さい

378 :
俺がときどき不思議に思うのは
>>370みたいなド素人がなぜ話題に顔突っ込んで来るのか
なぜ平気で顔突っ込んで来れるのかということ

自分の力量とみんなの力量その両方が見えてないからこそ
こういう周回遅れ野郎が迷い込んで来るのかなあ

379 :
こんなただの質問スレで他人の力量(笑)なんてわかるほうがおかしい

380 :
>>378
いやー、タイプイレーザー書かないと認めてくれないらしいのでサンプルクレ。C++で。

381 :
正の整数 a および n が与えられたとき、

a = m^n

となる整数 m が存在するかしないか判定し、存在する場合には、 m を求めるアルゴリズムはありますか?

実際にプログラミングすることを考えています。
浮動小数点数を使っても構いませんが、結果は厳密に正しい必要はあります。

382 :
A^(1/n)ってだめ?
上記は数学関数のpow使えばできんでもないよ。

383 :
整数の巾乗が正確に計算できるなら、逆算で概数を求めて一番近い整数で検算できるでしょうね。

384 :
複数のプロセスで読み取り専用のファイルが開かれていたら
実メモリ上でそれは一元化されてるんでしょうか

例えばJavaアプリを複数実行した場合
JDKのファイルは実メモリ上で一元化されていますか?

385 :
アプリの同一性を確保するためにハッシュなりなんなりを使うのもコストかかるので
よほど起用じゃないと同一性を保証することはないと思う
マシンパワーは余ってるので力業に行きがちだけど。

386 :
>>384
そのメモリというのは一時メモリなのかそれともストレージそのものなのかも重要だ。

387 :
>>384
読み取り専用かどうかは関係ない
読み取り専用を解除して再設定することもできるんだから

読込したらキャッシュに入る。書き込みしない限りキャッシュは有効
だから何度読み込んでも同じであることが保証されるので
これはメモリを一元化(共有)される
該当メモリに書き込まない限り、メモリは共有される

388 :
読み取り専用・更新されない部分は、メモリ上に、1つしか作らない

そのメモリに参照カウントを付けて、いくつのプロセスから参照されているか、数えている。
参照カウントが0 になったら、破棄される

書き込みで開くと、メモリを共有されない

389 :
https://ja.wikipedia.org/wiki/%E5%A7%94%E8%AD%B2#Java
class BがさらにメンバーCを持ったとします。
private C c = new C();
それで、aとcの依存を表現するにはやはり引数にいちいち指定するしかありませんよね?
あるいはaがBに依存している場合thisを渡すとか。

というのは、継承より委譲という話があるけど、
もし多階層の継承を委譲ベースに書き換えた場合、
親子クラスが依存していたなら、冒頭のa,b,cの相互依存性のような事をやらないといけませんよね?

そう考えると委譲ってそんな常に推奨されるほど良いもんですか?

390 :
補足

a.method()
とかやるときに
a.method(this)
みたいにしないと、thisや他のメンバー変数との依存関係を表現できない。
メンバー変数のオブジェクトのメソッドを呼び出すのにいちいちthisを指定する
というのもなかなか見かけない変な設計な気がします。

391 :
委譲は、文字列・配列などの、標準的なクラスを継承させないため!

例えば、Stack クラスを作る場合、Array を継承して、クラスを作らないようにする。
Stackクラスの中に、Array型のインスタンス変数を作って、そこへ処理を丸投げする

例えば、Ruby なら、Array型のインスタンス変数ary に、処理を丸投げする

ただし、ary は、下の3つのメソッドしか使えません!
Arrayクラスの他のメソッドは、使えません!

Forwardable#def_delegators( :@ary, :push, :pop, empty? )

392 :
継承すると、親クラスの数十ある、すべてのメソッドで、
正常に動くように作らないといけないから、非常に厄介!

だから、標準的なクラスを継承してはいけない。
継承用の親クラスは、継承用に作られた、Object みたいなメソッド数が少ないものだけを使う

でも、Array の機能も少しは、使いたい場合に、
委譲を使って、使うべきメソッドを指定して、限定する事ができる

393 :
IT系の板のカテゴリってなんで「PC等」なんですかね?
世間から見るとそれがしっくりくるカテゴリ名なんすかね?
PCが大文字なのも、得も言えぬ感じを醸し出してて…

394 :
大文字

395 :
*全角文字

396 :
LinuxでC++で数値計算を書いてます。

引数が配列の関数について質問なんですけど、関数が最初に吐いた結果そのまんまを
弄らずに計算用の配列に渡す方法はないでしょうか?
作った関数の中に棄却採択法(乱数処理)が入ってるんですが、渡す際にforで回して
計算用配列に渡す成分ごとに関数を呼ぶと乱数計算がやり直しになるので計算結果の
ちゃんとした相関が崩れちゃうので困っています。

グローバル変数を用意して、関数は値を渡さず呼ぶだけにして計算結果をグローバル変数経由で
入手することでいちおう何とかしたのですが、関数を回すことなく1回の計算結果の配列を
そのまま取ってくる簡単な方法はないでしょうか?

397 :
日本語でおけ

398 :
簡単な例で書くと、たとえば以下のユーザー関数からグローバル変数以外の方法で
s[0]〜s[2]の値を正確に抜き出すシンプルな方法はありますか、という質問です。

double *func(double x){
double s[3], x1, x2, x3;
x1 = x * rand() / RAND_MAX;
x2 = x * rand() / RAND_MAX;
x3 = x1 * x2;

s[0] = x1;
s[1] = x2;
s[2] = x3;

return s;
}

これを

for(i=0;i<3;i++){
x_calc[i] = func(x)[i];
}

とかで渡すとたぶんでたらめな結果になるので。

399 :
>>381
そのアルゴリズムは存在するよ
もちろん厳密に求めることができる
mを1からカウントアップしてaを越えるまで一致を調べるだけ
時間的制約が書いてないんだから超イージー

400 :
>>398
func内でのローカル変数sは関数のスコープを抜けると破棄されるからローカル変数の配列を返すのは良くない
引数に結果保存先の配列を渡してそこに書き込むといいよ
あとC++使うならもっと良い方法いくらでもある

401 :
>>398
C++11でstd::vector使っていいなら、これで十分でしょう

#include <vector>

std::vector<double> func(double x){
double x1, x2, x3;
x1 = x * rand() / RAND_MAX;
x2 = x * rand() / RAND_MAX;
x3 = x1 * x2;

return {x1, x2, x3};
}

auto x_calc = func(x);

402 :
YoutubeAPIを使って動画情報を取得する際に
動画のタイトル・説明文に日本語・英語両方が設定されている場合、英語しか所得できないんですけど
日本語を取得するにはどうしたらいいんでしょうか?

このページのTry this APIでlocaleとregionCodeにjpを入れてみたけど駄目でした
https://developers.google.com/youtube/v3/docs/videos/list?hl=ja

日・英両方設定されてる動画の例
https://www.youtube.com/watch?v=zGcYabz3hYg

403 :
>>400
ありがとうございます。

>>401
なるほど関数そのものをvectorで作る手があるんですね。
ベクトルや行列・テンソル演算は配列の方が成分表示の数式と対応しやすくて
直観的だったんでvectorは敬遠しがちでしたけど、そういう使い方がありましたか。

404 :
ES系言語の改行・インデントについて

apples.Foo().forEach( (apple,k)=>{ apple.Bar().Baz(); return; } )

のようなメソッドチェインやコールバックがある場合
どこで改行&インデントしてる?

405 :
ソフトウェア開発で仕様変更が発生する理由は何か?
どうすれば減らせるか?

406 :
Q. 仕様変更が発生する理由は何か?
A. 仕様を毎回決めているから

仕様を決めるから変更が発生する

決まってる仕様の中から選ぶだけにすれば、
仕様変更は発生しない

407 :
>仕様を決めるから変更が発生する
仕様を決めるなということ?

>決まってる仕様の中から選ぶ
良く分からんけど仮にそうだとして「どれを選ぶか」が変わる可能性はあるのでは?

408 :
おっしゃる通り
ビジネスシーンは常に目まぐるしく変わっているし
俺は気分屋だしコミュ障だし
客と技術者には認識ギャップが大きいしリスクは過小評価されるし
お客さんは忙しくてドキュメント読まないし書いてあっても曖昧だし何せ人間がやることだし以下略

409 :
お世話になります。他所で聞いてみても解決できず、こちらで質問させて頂きます・・・。

https://dotup.org/uploda/dotup.org1887279.png
PCはHP ENVY x360 Convertible 15-ds0xxx Windows10 Homeを使用しています。

Docker ToolBoxを勉強したくインストールをし、
BiosからVirtualization TechnologyをEnableにしてCPUの仮想化をONにしました。
タスクマネージャーのCPU画面でも画像の通り「仮想化 有効」になっています。

しかしDockerの初期設定のDocker Quickstart Terminalを起動すると、
Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
と表示されてしまいました。

試しにSpeccyというソフトでもCPUの状態を確認したところ、画像の通り「Virtualization Supported, Disabled」と
表記されており、こちらでは仮想化がEnableにはなっていない様に見受けられるのですが、
どうすれば仮想化をONにすることができますか?

試してみたこと
・ 一度ToolBoxをアンインストールし、
Git、VirtualBoxの最新版をそれぞれのサイトから管理者権限からインストールし、
ToolBoxではDockerのみを管理者権限からインストール、
Docker Quickstart Terminalを起動すると
「bash.exeを探しています。自分で探す場合は、[参照]をクリックしてください。」
と出てくるので、Git>bin>bash.exeを指定し起動
しかし同じエラーメッセージ、Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
がでてきました。
・ VirtulBoxの設定のアクセラレーションから「VTX-/AMD-vを有効」をONにしましたが、
同じくエラーメッセージがでてきました。
・ 過去バージョンのToolBox( DockerToolbox-18.09.2 )をインストールしてみても同じエラーメッセージでした。

長文になってしまいすみません。心当たりある方いらしたらどうぞ宜しくお願いいたします。

410 :
たぶん、安いCPU で、仮想化支援機構、VT-X/AMD-v が付いていないのだろう。
CPUの種類を調べて、VT-X/AMD-v が付いているか調べれば?

タブレットとか、安いパソコンのCPU には、付いていない。

i5, i7 などには付いている

411 :
ツールボックスは仮想化支援いらんぞ
オフにしてやり直せ

412 :
この辺りが、ヒントになるかも

仮想環境コンテナ総合スレ Docker、Vagrant等
https://mevius.2ch.sc/test/read.cgi/tech/1487235664/803-806

>Docker Toolboxは古い
>Docker Desktop for Windowsを使え

上のスレへ、移動すれば?
このスレでは、そこまで専門的な事は、わからないから

413 :
プログラマーの能力って
偏差値50位の人の生産性を1とすると60、70で生産性にどのぐらい違いがありますか?
2倍、3倍ぐらいでしょうか

414 :
最近サーバー上に直じゃなく1回コンテナはさんで
その上にフレームワークいれるパターンがはやってるけど何かメリットあるの?

物理サーバー使ってたり
1つのクラウドで複数の機能動かしたいみたいなよほど貧乏な使い方するならともかく

いまはベースがクラウドだから機能ごとに分離できるのに
さらにその上に仮想化機能のせる意味がわからない

415 :
>>413
偏差値では全くわからない。
偏差値が運動能力に関係あるのか?みたいな話と同じで
偏差値はプログラマーの能力に関係ない

また泳げない人がプールの端までいけないのと同じように
出来ない人は全く出来ないから、生産性の違いは何万倍もの差があるし、
溺れて他人に迷惑をかけるのと同じように、マイナスの生産性になることもある。

416 :
学力の偏差値じゃなくて
プログラマーとしての能力差が生産性にどれくらい差をつけるかということだろ

417 :
トップとヘボい人では10万倍以上違う。

例えばリーナストーバルズという人。
LinuxとGitを作った。C言語で。
両方とも世界最高のソフトウェア。
個人が始めたプロジェクトがWindowsの競争相手になり、Androidに採用され、
サーバOS市場を支配した。
Linuxプロジェクトの規模は地球上最大といっていい。
ソースコードは2億行を超えている。

日本のIT業界が総力をあげたとして、
LinuxとかGitに比肩するプロダクトを生み出せるか?
どちらか片方すら無理じゃないか?と思うので、10万倍は差がある。

418 :
Gitは他のバージョン管理システムに比べて10倍から100倍高速と言われてる。
Mozillaがベンチマークした。
Linuxの巨大なソースコードを管理できる事が念頭に置かれていると思われる。
ソフトウェア作ってれば分かるが、そういう根本的な要件の違い、
達成しなければならない性能や規模の違いは制作の難易度を桁違いに難しくする。

419 :
なにより、本物のソフトウェア開発は発明の連続だ。
困難を乗り越える発明力の差が作れるものの違いを作る。

420 :
>>417
> 例えばリーナストーバルズという人。
> LinuxとGitを作った。C言語で。

それでリーナス・トーバルズはどれだけ大金持ちになったの?

421 :
>>420
その時に床を踏み抜かなかったら、1億$くらいの寄付得られるくらいの名声はあると思われる。

422 :
結構裕福だとされてる

あと、どれだけ稼いだか、というより
1兆円あったってLinuxとかGitを作れないかもしれないわけで
その能力と実績は半端な金より価値あるよ

423 :
>>416
そういう意味です。
例えばそのLinuxの人は特別な人なので何万倍としても
日本のランダムな100人プログラマーがいて
真ん中位にできる人とトップ20の人とトップ10ぐらいとの生産性の差みたいなもんです
感覚値でいいので
自分のなかでは真ん中1ぐらいとするとトップ20で3、トップ10なら5、位の生産性かなと思ってました

424 :
中小企業とかだと、一人ハイレベルなエンジニアがいて、
その人が色んな人を助けてるからなんとか回ってる、という事がある。
普通のプログラマーは「詰まったら終わり」みたいで、解決できないし
適切な基本設計もできない。

要するに一定レベル以下の人は単独では一切何もできない。
難しいところを補佐してもらえば出来る事もある、という程度。
だから生産性を数値で比較する事はできない。
そもそもできる事が違う。

425 :
まずプログラミングという作業が単純な作業の足し算で完成するものではないという事だ。
生産性より、生産可能な範囲が違う。

426 :
この板の主旨が分からないのか頭がおかしいのかどっちだ

427 :
オープンソースのアプリを改造したいです
Cssというファイルをいじって日本語用の改行に合わせたいだけです

androidstudioをインストールして
プロファイルオアデバッグでAPKを開いて
アプリをPCと実機を繋いで実行することまでは出来たんですが
apkの中のファイルを変更することができません
readonlyの様です

apkを解凍したあとのモノだと編集はできるのですが
Runマークが押せないです。全く光ってないです
どうしたらいいですか?

428 :
apkはソースではないからAndroidStudioはapkを実行・デバッグするが編集するようにはできていない。
apkを解凍する知恵があるがapkに書き戻す知恵がないのなら、ソースを取得してAndroidStudioでソースのCSSファイルをいじってビルドすればお望みのapkができる。
オープンソースのアプリなんだろ?

429 :
linuxが流行ったのは単純に無料でそこそこの品質でオプソなのでプログラマのオモチャになったから
Windowsが無料のオプソだったらLinuxはあっという間に絶滅していた
リーナスはプログラマとしてはそれほど大したことないが売り方がうまかった(無料なので売り方というのは変かもだけど)
ビジネスマンになったほうが成功したかもね

430 :
どうでもええわ

431 :
>>429
> リーナスはプログラマとしてはそれほど大したことない

念のためお尋ねしますが
あなたは彼よりは凄い人なんですか
そうでない場合でも責めませんので
シンプルにお答えください

432 :
>>415
高校生の頃に偏差値70近くある友人がプログラミング覚えて
ゲームを作ると豪語していたけど、結局、何も作れず挫折してたのを思い出したわ

433 :
windows10のHomeです
プログラミングにおいては、インストールするフォルダはデフォルト指定(Cドライブ)が良いのでしょうか
手動でインストールするのは全てDドライブに入れているのですが、不便不都合はありますか?

434 :
>>433
何をインストールするの?
インストール場所指定できるもので不具合起きる可能性があるのならそこのベンダーなり配布者に聞いて

435 :
>>434
場合によりけりなのですね
今回入れるのはWindows Gitです

436 :
>>435
Gitは専用スレあるんだからそちらへどうぞ
Git 17 (IPなし)
https://mevius.2ch.sc/test/read.cgi/tech/1561145169/
Git 16©2ch.sc
https://mevius.2ch.sc/test/read.cgi/tech/1502726047/

437 :
>>436
スレチ失礼しました
誘導ありがとうございます!

438 :
>>428
ありがとうございます!

GitHubにアプリの公式が公開してるファイルがありました!!
それだとちゃんと編集出来てRUNできて
スマホ繋いだらインストールまでできました

439 :
SQLiteのような簡単にどの環境でも使えるデータベース
かつうっかりそれが他人に漏れてしまっても
中身がわからないというようなものとかないですかね
データベースのバイナリみてもヒントになるような情報はなく
テーブル構造なんかも外見上不明で
そういうのを一覧で表示するクエリとかも存在せず
もしデータベースの中から情報を得ようとしたら
ブルートフォース的にテーブル名を当てるところから始めないといけないような

440 :
暗号化するんじゃダメなん?
SQLliteでSQLCipherをよく使ってるが。
暗号化キー入れるまでsqlite3コマンドで開いても何にもできない。
さらにはVFSに自前で圧縮組み込だりするけど、そうすると標準のsqlite3コマンドでは全く扱えないDBファイルになる。

441 :
>>440
ありがとう!早速調べて使ってみます

442 :
マスタープロセスがスレーブプロセスを起動して、
そのプロセスオブジェクトを通じて
標準入力と標準出力を通じて通信する場合、秘密情報の交換は危険ですか?

443 :
>>442
世間に通じる用語を使ってください

444 :
プロセスAがプロセスBを起動して、
例えばJavaではAにおいてBのProcessオブジェクトが得られるが、
それを通じて標準入出力を使って通信する事はセキュリティ上問題があるか?

C++でも同様にProcessクラスがあるから起動時に取得できるはず。
どの言語でもそうだろう。

445 :
こういうのを使ってAとBが相互に通信できるはず。
https://docs.oracle.com/javase/jp/7/api/java/lang/Process.html#getOutputStream()

その通信内容は傍受されてしまうか?あるいは改竄されてしまうか?

446 :
良く考えてみたらコマンドラインのプログラムでパスワードを入力する時も
標準入力という事になる、はず。
それが傍受されたりするならかなり多くのプログラムが脆弱性を抱えている事になる。

447 :
またこいつか
質問スレで独演会とか

448 :
この投稿内容に何か問題あるの?少しも分からない

449 :
デバッガのアタッチ検出したらいいだけじゃね

450 :
「コンピュータ将棋選手権」
「コンピュータ囲碁選手権」
みたいな、
「事前に作ってきたソフトを戦わせる競技」
ってほかにどんなのがありますか?

451 :
突然だが、こんなものを作った。
https://light.dotup.org/uploda/light.dotup.org599403.png
使ってくれ。

暇だったんだ。

452 :
>>451
学生が大好きな待ち行列のイメージだ。

453 :
今のところのハードだと
無理数の浮動点少数が2進法駆使して実装するために近似値で頑張ってくれる感じになる
しかし、その挙動をコードから読み解くのは私には厳しいです

(loop for x from -3 to 3 by 0.0001 when (> -10 (+ (expt 8 x) (expt 8 (* -1 x)) (- (* 4 (+ (expt 4 x) (expt 4 (* -1 x))))))) do (print x))
-1.3885257
-1.3884257

数学的に -10 が最小値となる関数を計算させたら、機械はそれより小さい値をだした

私は恐ろしい
今回はバグりそうな場所を数学的にめぼしを付けて高密度なローラーすることでバグを発見できた
だが、普通はこんな数式よりはずっと予測が難しく、そして無理数に満ちている

以上の背景より質問はこれです
3/7のように分母と分子を記録する方法は多くの言語で使えるようになりました。
無理数を数学的に扱える言語はありますか?
ルート2や三乗根の5 といった根と指数を記録できる言語はありますか?
sin(2pi) = 0, cos(pi) = 0 となる言語はありますか?

454 :
cos(pi/2) = 0 か

455 :
コンピュータは2進数を基礎として動いているので、2進数で表せないものは近似解になる。
少数は、二進数で0が多くなるたびに1/2されていく感じになる。それで表せないものは近似解になる。
0.1(2)=0.5(10)
0.01(2)=0.25(10)
基本情報の試験で出るから勉強しとけよ〜。

456 :
らしょなるだっけ?分数で保持して実数解を最後に出すやつ。

457 :
こんなのがお望みかね?
https://reference.wolfram.com/language/ref/Sin.html

458 :
>>457
素晴らしい
困ったらこれ使うよ サンクス

459 :
すまん、このページは数式処理システムの代表として挙げただけだ。
お高いので、実際に使うのは厳しいだろう。

このページの一番下あたりを漁ると幸せになれるかもしれない。
https://ja.wikipedia.org/wiki/%E6%95%B0%E5%BC%8F%E5%87%A6%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0

460 :
>>459
高くても感謝しているよ
今すぐにその困難に直面しているわけではないし
たぶんその問題に対峙したときにはきっと払える金がある
そして、金を払えば解決できることは
wolfram のようなものが世界にない状況よりはずっと良い

wolframに相当するものを作ろうとしたら
たぶん自分はできないだろうし、できたとしても相当な労力がいる

461 :
>427です
電子書籍のリーダーを改造しています
androidStudioでCSSをいじってみたんですけど
フォントのサイズは変わるんですがCSSのLine-breakとか使っても
鍵かっこ(閉じる)や句読点が行頭に来てしまいます
androiudstudioのハローワールドを表示させるサンプルのビューワーだと
ちゃんと行頭に句読点が来ないように適当に改行するんですが・・・
設定を合わせてみたんですが何が違うのか分からないです

どうやったら禁則処理できるんでしょうか・・・?

462 :
wolfram高いから、maximaなんかどうだ?
学生時代mathematica高くてmaximaに走ったけど、未だに使ってるよ。

463 :
>>462
今は切り札があるというだけで十分
困ったらそっちも見ておくよ thanks

464 :
pythonを始めた初心者なのですが、機械学習についての質問はくだすれpythonというところでしても大丈夫でしょうか?

465 :
>>464
主にPythonの文法や実装に関することならくだすれで

466 :
最終的な計算結果は符号なし32bitでいいんだけど、
掛け算が入るから一時的に32bitを超える。

その場合でもintegerとして扱ってくれればいいのに、
勝手に浮動小数点数に変換してくれてその結果誤差が発生する。

これを防ぐ方法ないかな?

467 :
doubleじゃなくて、64ビット整数つかう??

468 :
なんか勘違いしていたみたい。
問題は別にあって(強制的に符号ありで計算されてる)
浮動小数点誤差だと思ったのは、渡し方が悪かったみたい。

469 :
初めてデータベースを使おうと思って色々調べてるんだけど
インデックスとやらが便利そうなのにKVSではほとんど実装されていないのは何でなの?
気になって夜も眠れません

470 :
>>466
long long int とか使ってたな
20憶の2乗ぐらいまではこれで大丈夫

471 :
fortranでは、たしか、いくらでも多倍長にできるライブラリが
あったはず

472 :
C言語のexternって変数版プロトタイプ宣言って事ですか?

473 :
>>471
C++ ですが私も多桁長ライブラリは欲しくて、ついには書いてしまいました…
https://mevius.2ch.sc/test/read.cgi/tech/1434079972/51

474 :
>>472
現在のモジュールではないところにある変数を使う、という意味です
自分のモジュールでは変数の領域確保はせず、他のモジュールで変数領域を確保したものを、自分ところで使う、くらいの宣言ですね
複数のモジュールを分割コンパイル&リンクで構成するときに使いますね

475 :
Cの入門書3冊ほど買ってやっているのですが
毎回「2進数,16進数,ビット,符号付き云々」が書かれた章ら辺を全く理解できず飛ばしてしまいます
ここら辺の説明が簡単にされてるお勧めの書籍はないですか?

476 :
>>475
それはプログラムに必要な知識だけどプログラムに関する質問には当たらない
そして10進数や時間の60進数を理解している小学生にも理解できる知識だから本探すのは無駄

477 :
>>475
事故ってから調べたら?

例えば
大きい数使うからlong 型で宣言しておいて
これでもう安心だと思ってたら
32bit OS だったので22億程度でオーバーフローした
仕方がないので long long int に書き換え
printf のところもそれ用に書き換えた

その辺はハードウェアの実装にまつわる話であって
数学的でもコードの主要なロジックでもないから
後回しでも大丈夫

478 :
>>475
理解できない文章を書いていただけますか?たぶんここで説明できると思います

479 :
交通量調査でカウンターカチカチやってるやついるよな?

0000から始まって9999までいくやつとか。
ボタン押すたびに数値が1つずつ増えていく。9の次は一つ左が1つ増えて0に戻る
2進数っていうのは、あの数字が0と1しかないバージョン

480 :
>飛ばしてしまいます
飛ばさずよめ

481 :
>>475
知り合いから同じような質問をされたことがあった
参考書を何度読み返しても分からない、例えで教えろと言うので
「もし8本指の宇宙人がいたら16進数を使うはず
地球人は5本指で手が2本だから、数を数えるときに10ずつ繰り上げる10進数を使うが
両手合わせて16本の指を持つ宇宙人なら16ずつ繰り上げる
それが16進数」
って答えたわ

482 :
>>478
16進数は10進数を16で割り続ければ16進数に変換出来るというのは何となく分かったのですが
でもそれをどうやってABCDEFも使って16進数表記にすれば良いのかわからないです
後8bitは256個の数字が表せる理屈も分からないです
ビットの論理演算も意味不明です
unsigned ,signedを使う必要性?とかも分からないです
他にもありますが…全て分かってないので具体的に言えるほど内容濃くないですw
ここらへん理解できないとポインタの章も理解できてるとは言えないのでしょうか・・

483 :
> 16進数は10進数を16で割り続ければ16進数に変換出来るというのは何となく分かったのですが
そんな複雑なこと考えなくていいよw

0〜15がそれぞれ0〜Fに対応してるってだけ。
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

でもまずその前にまず2進数があって

0 ・・・ 0000
1 ・・・ 0001
2 ・・・ 0010
3 ・・・ 0011
4 ・・・ 0100
 :
 :
15 ・・・ 1111

これの何が嬉しいかと言うと、はるか昔メモリが高かった時代にメモリを節約できた(半分ウソ)
例えばゲームのフラグ管理で、チェックあり/なし の二つの値が必要な場合、
1バイトの中に8個ものフラグを詰め込めるんだ。どうだすごいだろう?

484 :
変数に0や1を代入するのは a=0 とか a=1 ってやれば簡単にできるだろう?
でも1バイトの変数の中に8個ものフラグを詰め込んで、
その一つだけをON/OFFしたいときどうすればいいかわからんだろう?

そんときに使うのがビット演算

0001 を 1001 の一番左をONにするには、
0001 OR 1000 とやれば、1001となる。
右がどんな状態でも ???? or 1000 で 1??? となる。

反対に特定のビットをOFFにするにはAND、特定のビットを反転するにはXORを使う
すべてのビットの反転はNOTだな

まあ要するに、メモリを効率良く使えるのが2進数で、
2進数を便利に計算できるのが、ビット演算。
でも2進数ってのは長くなるだろう?

1バイトだったら 1111111111111111 こんなに長い。10進数なら255ですむのに。
これを見やすく4桁で区切ると 1111 1111 1111 1111 とこうなって、
16進数で書くとさらに短く FF となる。しかも2桁ちょうどでキリがいい!
というか2進数を短く書いた時にキリがいいようなるよう選ばれたのが16進数

昔は2進数を3桁区切りにした8進数も使われていたが1バイトは
1 111 111 111 111 111 こうなってあまりキリが良くない。

485 :
> unsigned ,signedを使う必要性?とかも分からないです

今ではどんなに大きい数値でも、マイナスの数値でも変数に入れてしまえばいいじゃん
何バイトでも使ってさ!って思うかもしれないけど、
昔はメモリが高かったからな、メモリを節約するためにできた(半分ウソ)

くっ、あと1バイトしか使えんのだ!ってなったとき、
でもマイナスの数値は必要だけど、使う数値は -100 〜 +100 までなんだ
ってなったとき、1バイトのsignedを使えば、-128 〜 +127まで入れられるから
1バイトで十分ということになる。

くっ、あと1バイトしか使えんのだ!ってなったとき、
マイナスの数値は必要ないけど、使う数値は 0 〜 +200 までなんだ
ってときは signed では無理だけど unsigned にすればいける

昔のドラクエのゴールドなんか最大65535だけど、
これは、1バイトでは足りないからせめて2バイトで! 3バイトは使いすぎぃ!
ってなったから、これが最大値となった。ドラクエに借金システムはないので
所持金マイナスがないけどsignedを使えば、マイナスが表せる代わりに
最大32767までしか使えなくなる

昔はこのバランスを考えて使用するメモリ量(=変数の型)を決めていたんだよ

486 :
>>482
重要なことは、C言語とは
限りある資源、リソースを
できる限り無駄の無いように使う言語だということ

数学の2進法により両手10本の指は1024ぐらいまで数えられる
8bit は8本分だな。折りまげるか否かの2択だ

unsigned & signed はマイナスの数をサポートするかどうかだ。
マイナスを扱う必要がないなら2倍の大きさまで同じメモリで扱える
たった2倍だが、限りある資源を活用することにCは熱心なんだ

ポインタはメモリの住所みたいなもの
---
ここまで解説したが、スタートはC 言語じゃなく他の言語でもいいんじゃないか?
速度やメモリ消費の面では劣るが、今どき素晴らしいスペックのハードがでまわっているから
こういう厄介なハードウェアとの付きあいをする言語は使わず、
変数の宣言も無しで書ける言語の方が楽に早く書けてお薦めである
速度やメモリ消費で困ったらCに戻ってくればいい

487 :
語弊はあると思うが、俺もC言語は勧めんなぁ。
あまりに何でもできるのは、何にもできないのと同じぐらい道に迷う。
チャリで東京から北海道まで行くようなもん。
せめて車乗ってナビ使ったほうが良いと思う。
最初は電車で行っても良い。

なにが作りたいかわからんが、スクリプト言語からやったらどう?

488 :
>>486
>数学の2進法により両手10本の指は1024ぐらいまで数えられる
まさか!
あなた、薬指をのばしたまま小指だけ曲げられますか?

489 :
曲げられるだろ

490 :
>>489
不可能でしょう、小指を曲げると薬指も曲がるのでは?

491 :
それよりバルカンのあいさつできない。

492 :
この話は終わり

493 :
>>488
おおよそ曲ると言って問題ないかと
http://iup.2ch-library.com/i/i2003271-1563544910.jpg

494 :
>>493
す、すごい…

495 :
>>493
指紋情報ゲットだぜ

496 :
>>487
「就職に役立ちそうだから」だけで勉強始めている人の方が多い感じ
実際にはどんな言語でも何か作ってみてわからないのならその都度ネットで調べるのが一番早いのにな
「基本ができてないから本で勉強」始めてプログラムよりも本の内容を理解することが目的になっている人はこの板でよく見かける

497 :
>>496
就職に役に立つレベルなぁ。

そんなもん役に立つわけ無いんだが、何でなんだろう。プログラミングに夢見すぎじゃないのかな。

英語でも英会話教室行ったら突然外国人と商談ができるようになる訳でもあるまいに。

498 :
でもそれくらい出来なきゃ話にもならんし

499 :
入門書読んでここで質問するような奴は見込みが無いよ
仕事だろうが趣味だろうが他を探したほうがいいね

500 :
Hoge h = Hoge();
のコンストラクタを直接呼び出した際と
Hoge h();
に何か違いは生じるのでしょうか?

C++です。

501 :
上はデフォルトコンストラクタが呼び出された後にコピーコンストラクタが呼び出される

502 :
>>498
日本語で商談ができる人間が英会話教室に行くのはわかる。

論理的に考えられてプログラミング「したい事」がプログラミング無しでとりあえず出来るなら、プログラミングを学ぶ価値はある。独学であれ教室であれ。

目的もなく便利そうで学んで出来る事は何も無いって事が言いたかった。

503 :
オブジェクトとエンティティの区別が分かりゃせん。

504 :
プログラミング初心者で恐れ入ります。
C言語では変数を使えば使うほどメモリを消費してしまうと学びました。
VBAなどでも変数を使わず直接計算した方がメモリの使用が減って動作が軽くなる(実感できるレベルかどうかはおいといて)という理解でよいでしょうか?

505 :
いいよ

506 :
次は関数呼び出しのオーバーヘッドについて勉強しなさいw

507 :
足し算でも1サイクル取られるし、割り算掛け算だと運が悪いと数サイクル食う。
ある程度出来上がったものに名前を振って、メモ化しておくと再利用性で総サイクルを減らせる。

508 :
>>504
Cであっても関数内でstatic指定したかグローバル変数以外はスタックに割り当てらるしレジスタ上だけで済む場合はわざわざメモリ使わないのであなたが思ってるほどメモリ消費しないかもしれないし
直接計算でも複雑な場合はスタックに一時格納される可能性があります

509 :
こういう知識はアセンブラとか勉強すればわかるのかな?

510 :
コンパイラの構造把握するとか、コンピュータがどういうときにメモリを必要とするとか。
雑学の範囲な気がする。

511 :
雑学って頭おかしいのか

512 :
内部動作のソース出して話しているわけじゃないんだから全部憶測だし、それでいいならアセンブラの勉強しとけばいいじゃん

513 :
500MBのテキストファイル内容を配列に詰め込んだら
たぶん1GBぐらいメモリー食うんじゃないだろうか
怖くてやってないけど

514 :
>>504
なるべく変数を使わない方がいいという間違った行動規範に従ってクソコードを量産しないでくれればいいな
変数じゃんじゃん使っていいよ
適切に解放できているかが重要だよ
初心者が必要もないのに性能を追求するのはド定番のアンチパターンなんだ

515 :
>>504
> C言語では変数を使えば使うほどメモリを消費してしまうと学びました。
間違いです。

で終わる話だけど良いかな?
もうこれ以上君が追求することはなにもないよね?

516 :
つーかどこからそんな嘘情報を仕入れてきたんだろ?
変数はレジスタにアサインされる可能性があるけど
配列はメモリのロード/ストアが発生しちゃうじゃないか
速度はレジスタ>>>>>メモリなんだから一般的にはレジスタを使った方が速い

517 :
C++で質問です。

下記のソースコードで
「代入します」の表示の後、コンストラクタが呼ばれたのちすぐにデコンストラクタが呼ばれています。
H = 10
でコンストラクタが呼ばれるのはわかるのですが、なぜデコンストラクタが呼ばれているのでしょうか?
また、Hogeクラスのコピーコンストラクタが呼ばれているようではないのに、なぜHインスタンスのメンバ変数Numの値が変更されているのでしょうか?

-ソースコード
class Hoge {
public:
Hoge(int n = 0) :Num(n) { printf("コンストラクタです\t%p\n", this); }
Hoge(const Hoge& Obj) = delete;
~Hoge() { printf("デコンストラクタです\t%p\n", this); }
int Num;
};
int main(int argc, char **argv)
{
Hoge H = 5;
printf("代入します\n");
H = 10;
printf("表示します : %d\n", H.Num);
printf("終了します\n");
}
-実行結果
コンストラクタです 012FF9F0
代入します
コンストラクタです 012FF924
デコンストラクタです 012FF924
表示します : 10
終了します
デコンストラクタです 012FF9F0

518 :
>>517
そのコードではprintf("表示します : %d\n", H.Num);以降H自体が使われてなくH.Numは10であるのが明白だから最適化された結果だろうな

Hoge hage(int a, int b)
{
Hoge H(a);
printf("代入します\n");
H = b;
printf("表示します : %d\n", H.Num);
return H;
}
のとでもやればコピーコンストラクタが削除されてるぞとコンパイルエラーが出る

519 :
C++で質問です。
なんでコピーコンストラクタなんてあるんですか?
こんな面倒くさいものがある言語はC++ぐらいですよ?

520 :
質問
C#やESなんかでは
言語仕様としてgetterやsetterがサポートされてますよね

getterはともかくsetterの方はメソッドチェーンと相性が悪そうな気がするのですが
普段メソッドチェーン愛用されてる方はこの言語仕様のsetteて活用してますか?

>>519
例によってアドレスのコピーに伴う問題とかあるんじゃねーの

521 :
>>519
質問の内容が逆だけど、このページが参考になるかも。
https://teratail.com/questions/34934

522 :
ソースコードを印刷するのに良さそうなフォントってないかな
・無料で使用できる
・コメントに日本語を含む(日本語は良さそうなのがなければ別のフォントでも可)
・Windows
・ボールド、反転する

523 :
フォントにwindowsもクソもない

524 :
そうは言ってもpcfとかpfbじゃWindowsでは使い難いだろう

525 :
Ricty Discord

526 :
Courier New

527 :
>>522
ソースコードの部分に意味ないし板違いだな
Windows板にでも行け

528 :
>>525
Diminished使ってます
もうずっとこれだわ

529 :
コード内容にはあまり意味がなく、「なんとなくプログラムっぽいテキスト」がほしいい場合
あえてMSゴシックなどを使うという手もあるかな

530 :
ありがと。Ricty Discordは合成しないといけないようなのでDiminishedを使ってみます

531 :
先日Unityによって作られたゲームを初めてプレイしたんだけど表現の割にマシンへの負荷が大きいように感じました
1.そのゲーム固有の現象であり適切に作ればネイティブな実装と遜色ないパフォーマンスを発揮できる
2.フレームワークがはさまる以上オーバーヘッドの発生は避けられない
3.その他
どれなんかな?

532 :
2であり、1でもある、かな。
フレームワークが存在するからこそ下手なコード書いてオーバーヘッドを産むことも少ないし、
フレームワークをいかに使いこなせるかじゃないかな。
単純にネイティブ実装=早い、ではないよ。

533 :
結構前のUnityの講演でだけど
開発当初はキャラクター5人表示がせいぜいだったけど調整したら15人くらいまで行けたわ
ってバンダイナムコの人の話があるね

なんとっ!ユナイト!ミリシタをささえる『AKANE』大作戦とは?
https://app.famitsu.com/20180509_1289991/
(実際の資料や動画も公開されてるようなので興味があれば講演タイトルでぐぐって)

534 :
それならネイティブだったら30人くらいいけるけど工数10倍〜100倍掛かるとかそんな感じだろう
どうしたってフレームワークのオーバーヘッドは避けられない

535 :
>>534
別にFWのオーバーヘッドがあることは否定しとらん

536 :
先日Unityによって作られたゲームを初めてプレイしたんだけど
> 表現の割に
どのような表現なのか?

> マシンへの負荷が大きいように感じました
どの程度の負荷なのか?

それがわからんのに答えられるわけがない

537 :
そんなの分からなくても答えは変わらない
オーバーヘッドを無くすことは出来ないがそれがどの程度かというはケースバイケースだ
そして正確なところは作った人間にも分からない

538 :
1.ゲームエンジンが裏で何しているかを考慮しながら開発しないと高効率は望めない
2.何かがはさまる以上一定のオーバーヘッドは発生する
ということなのかな

ちなみにそのゲームですが表現的にはDirectX8あたり?で頂点数も1000もなさそうなのにPCがやたらがうなります
画面は箱と板にテクスチャが貼ってあるだけのシンプルな物です。特殊効果も使われているようには見えませんし

539 :
>>538
PCのスペック晒さないと判断しかねる

540 :
フレームワーク云々でなくて、単にvsyncがoffになっててGPUが全開で回ってるだけだったりして

541 :
入門サイトにあるhttp://ideone.com/YyFypJのC言語のコードを実行すると
型cont char*値を使用してchar*のエンティティを初期化することはできません。とエラーが出て実行出来ないんですけど
どうすれば実行できるようになりますか?
10行目の前のconstを入れてみたりはしたんですけどそれでも駄目で。
使ってるのはVisualstudio2019です

542 :
DNSサーバのレンタルサービスがありますが、これは何ですか?

DNSサーバってネット上のどこかにあって、ユーザが意識しなくてもドメイン名とIPアドレスを正しく結びつけるものだと思いますが、
自分でDNSサーバをレンタルする動機って何ですか?

yahoo.comにgoogle.comのIPアドレスを結び付けたりとか変則的なことをするんですか?

543 :
1.1.1.1とか8.8.8.8がお前のunko.example.comができた事を知り、自動的にAレコードをDNS鯖に追加するなら動機はないが、そうではない場合何らかの手法でunko.example.jpをIPアドレスに変換する必要がある

544 :
>>543
たぶん分かりました
そういうのって私はレジストラのDNSサーバで手動で設定してましたが、調べてみるとレジストラがDNSサーバを提供していない場合があるらしいですね

545 :
>>544
間違い(笑)

546 :
>>545
https://liapoc.com/name-server.html

547 :
>>541
そのエラーメッセージでGoogle検索すると実行できるようになる

548 :
自分でDNS立てる動機がわからないのか
社内SEになった自分を想像して羽ばたけ

549 :
>>547
それはもう調べたのですが
char* nameの前にconstを入れると解決すると上の方に検索結果として出てましたが
自分の場合解決しませんでした…。

550 :
このスレよりも、初心者向けC のスレで聞けば?

551 :
若い衆がJavaを今から覚える気はないとのたまう
世間に踊らされているようだ

ナウいTypeScriptかPythonを
レガシーな現場になんとか導入してやらせてやろうと思うのだが
うまい口実はないものだろうか

552 :
お前が信用されてないんだろ

553 :
言語なんて必要に迫られて覚えるのでいいんじゃないの?

554 :
>>551
コードといっしょで整理する必要がある

まずなんで話を聞かないといけないかをはっきりさせる
たとえば、現場の問題点のリストとかで

次に何をするかをはっきりさせる
例えば pythonなどが何を解決する? その考えられる具体例は
そしてなぜpython にした。つまり何が他と違う?

以上を簡約化して3つ以下の要素にまとめると?
コーディングのように全体を俯瞰できる抽象化は
会話でも理解しやすさに繋がる

555 :
Ruby は、アマゾン・Google, Heroku で、採用されてる!

Ruby on Rails 6 (Ruby 2.5 以上)では、GitHub 中心で、

複数データベース(レプリカ)接続の大規模サービスと、
テストの並列実行など、別次元へ行ってしまった!

モジュールバンドラーも、Webpack になりました!
Coffee Script は、無くなった

メール送受信の機能と、
ブラウザの入力フォームが、ドラッグ&ドロップで、ファイルも受け付けるようになった

556 :
>>549
constは変数の型につけるものだから4行目の「char *name;」を「const char *name;」にすれば解決する

557 :
今、Windows Driver Kit を使うような常駐プログラムを書くとしたら何がいいんでしょうか
C++で以前は書いていたのですが、違う言語でやってみようと思います。

558 :
>>557
Rustでドライバ書いたら有名になれるかも。

559 :
D言語も捨てがたい。

560 :
>>558-559
ありがとうございます。

windowsのライブラリに依存するプログラムという意味で聞いたのですが
具体的に言うとwindows10 bluetooth機能です。

教えていただいた言語でそこまで対応できますでしょうか

561 :
>>560
DLL importが可能な言語ならば、インターフェースを記述すれば可能。

562 :
以下のようなtest.csvについて
---------------
1,2,3,4
---------------
コマンドプロンプトで2番目の要素を取得しようと以下コマンドを入力しましたが、

powershell -Command "Get-Content test.csv | ($_.split(','))[1] "

エラー「パイプラインの最初の要素としてのみ許可されます。」が出力され、実行できません。
原因と対処を教えていただけませんでしょうか。

PowerShellの場合、以下でできました。
====================================
$str = Get-Content c:\test.csv
$str.split(',')[2]
3
$
====================================

563 :
インデックスが「0」開始の予感。

564 :
>>562
なぜできたことをわざわざパイプラインにした?
powershell -Command "$str=Get-Content test.csv; $str._.split(',')[1]"

565 :
>>564
どうもありがとうございます。単純にその書き方を知りませんでした。

初歩的な疑問ですが、なぜ>>562にあるパイプラインの書き方でエラーが出るのか
よくわかりませんでしたので、わかる方がいればご教示いただけると幸いです。

566 :
>>565
✕ | ($_.split(','))[1]
○ |% ($_.split(','))[1]
パイプラインを流れるのはコレクションだから
get-contentで通常取得出来るのもコレクションだから
csvが1行だとしても決め打ちコードは良くない

567 :
C言語のポインタで
構造体の中で char *a; でメンバを入れてその後 bc.a=なんちゃら〜 で中身を入れれる意味がわかりません(bcは適当)

この時のaはchar型のアドレスを入れる用の箱じゃないんですか?

568 :
%, foreach は、PowerShell(PS)のalias。
PSの質問は、PSのスレへ書き込んでください!

get-alias (gal)

gal -name %

出力
Alias % -> ForEach-Object

gal | where-object {$_.Definition -match "foreach"}

出力
Alias % -> ForEach-Object
Alias foreach -> ForEach-Object

569 :
>>567
は、C のスレへ移動したので、返答を書き込まなくてよい!

570 :
>569
向こうでも煙たがられてるな。

571 :
Scalaは関数型言語ですか?

572 :
!8みたいに左側に演算子がつく場合はどういう意味でしたっけ?

573 :
演算子を左側に置くことで、意味が生じるのではなく
演算子によって、意味が変わる。
演算子の意味は調べなさい。

574 :
意味って 演算子が右側にある値に意味づけられる とかでいいの?

575 :
オーバーロード次第

576 :
計算優先順位がよくわからないのですが、javaで
(new file("test")).exists()==false
!(new file("test")).exists()
これは同じ意味(ファイルは存在しない)とみていいでしょうか?
つまり!よりexistsが優先で先に処理される でいいでしょうか?

577 :
またカッコを付けないで
!new file("test").exists()
といった記述も成立しますか?

578 :
たぶんねー、fileをnewしてるから、とりあえず存在はするようになって、その後exist()が走ってあるよ!って返すと思う。
にわかC++脳にはそう見えた。

579 :
>!new file("test").exists()
exists()した後に!が評価される

https://ideone.com/YqLWe6

580 :
ありがとうございます

581 :
Javaの演算子の優先順位は、高い順に . ! new
!(new File("test")).exists()はまずカッコ内が評価されてFileが生成された後、. の結合力のほうが強いから.exists() が先に評価されて、最後に ! で否定の意味になる
== falseは同じ意味で、素人がまずやる冗長な書き方、可読性のために意図的に書く層もいるらしい
!new File("test").exists() は意図通りにならない
newよりも . が強いので、File("test").exists() の結果をnewしようとなり文法エラーになる

582 :
File("test")だけでは成り立たないのでnew File("test") この部分が優先されてひとまとまりになるのでは?

583 :
SMSに詳しい人いますか?SMSってちょっと変じゃないですか?

変なところ1
複数のサービスが一つの電話番号を共有している
https:i.imgur.com/a/rm676Gi.png

変なところ2
それとは別に公式アカウント(?)があるが本物かどうかわからない
https://i.imgur.com/a/3s9T3Vr.png

584 :
>>583
板とスレのテンプレ読めますか?
あなた変な人なんですか?

585 :
>>584
そんなん見りゃ分かるだろ

586 :
変な人かどうかなんて
そんなん見りゃ分かるだろ

587 :
ぱっと見は普通なのに、喋ったり一緒に仕事したりすると
うわっこいつ変だって気づくケースもあるよ

588 :
SMSにも証明書つけろ

589 :
SSHにはHTTPSのルート証明書のような仕組みはないのか?
フィンガープリントを確認するのめんどくさいよ

590 :
>>581
すまん間違いだったので訂正
!new File("test").exists() は通る
演算子の優先順位が . ! new の順というのが勘違いで、そこまで単純じゃなかった
Javaの言語仕様ではコンストラクタはメソッドより優先されるので
!new com.example.MyClass.InnerClass.method() とした場合、パッケージとクラスの . まで、new、.method()、! の順に評価される

591 :
イベントの通知に関してよくあるのは、A)処理できるリスナーが見つかるまで走査して最初のリスナーがイベントを消費するパターンと
B)別のリスナーの処理の成否にかかわらずすべてのリスナーが通知を受け取るパターンの二つだと思いますが
これらを呼び分ける一般的な用語や分類って何かありますか?

592 :
昔あったファーレントゥーガみたいなpcゲームはどんな言語を使ってるんですか?
javascriptだけでは無理ですよね?

593 :
100個位のファイルをアップロードするときって
並列でした方がいいんですか?
帯域が100分の1になったりしませんか?
それとも全部並列で投げても自動的に五個ずつとかになるんですか?

594 :
ばーいによーだろ

595 :
>>592 実際の所は個々のプログラマーにきくしかないが
たいていC言語系が多いとは推察できる
ファーレントゥーガ的な物はjavascriptだけでも出来るでしょうね

596 :
>>595
ありがとうございます

javascriptとphpをかじっただけの初心者なんでjavascriptだけであれに近いゲームが作れるイメージが全くわかないですね

597 :
async/awaitって非同期処理の決定版なんですか?
こんなの言語仕様に追加しちゃって後悔しませんか?

598 :
しません。はい次

599 :
asyncだかawait終わったらスレッド変わってる問題ってどうなったん?

600 :
研究でカードゲームみたいなものを作りたいんです。

@10枚ぐらいのカードが配られる
Aルールが提示される
Bプレイヤーは提示されたルールに従ってカードを並べ替える
Cプレイヤーが正解に至るまでの並べ替え過程とその時間を記録する。

プレイヤーはPC操作に詳しくない人を想定しているため、
できるだけGUIで2Dで実際のカードを動かしているようにしたい。
Windows上でスタンドアロンで動作すればOK。

開発環境はC#とUnityで大丈夫ですか?
他にいい開発環境があったら教えて下さい。

601 :
大丈夫だと思うけど
というかその程度なら何で作っても大差ないよ

602 :
>>601
C#のWindowsフォームアプリケーションは作ったことあるんだけど、
カードを動かすGUIを一から作るのは大変そうだと思って。
Unityならありていのカードゲームようのコード使ってちょいちょいとGUI部分作れないですか?

603 :
心理学用のGUIツールって売ってるんじゃあなかったっけ
Unityの次はprocessingつまりJava

604 :
並べかえるだけなら二つを選択するごとに入れ替えor挿入の処理をするだけだからフォームアプリケーションで十分でしょ

605 :
実際のカードを動かしているようにしたい。

606 :
仕様がはっきりしないものをこの板で質問されても誰も答えられない
まず仕様決めてから質問してくれ

607 :
>>600
うにてーである理由がないなぁ。
WindowsFormって死んだの?

カードの初期配置と何番と何番入れ替えたかだけ持ってれば最低限のものは作れる。
オプションで乱数シードでも持つか?

608 :
ゲームの解析がしたくてアセンブラとバイナリデータが読めるようになりたいのですが
0から解説してるサイトやお勧めの入門書はないでしょうか〜?
今の自分の知識はC言語の入門書に載ってるような基本的文法を覚えた程度です

609 :
仮想アセンブラなら、LLVM が世界標準。
日本の情報処理資格の仮想アセンブラなら、CASL2

実際のアセンブラは、2種類ある。
左右が逆になるので、面倒

Intel記法
[ニーモニック] [操作先] [操作元]

AT&T記法
[ニーモニック] [操作元] [操作先]

LLVM の日本語訳のサイトでも見れば?

610 :
>>609
ありがとうございます
LLVMが何か分からなかったのでググったのですが自分が知りたいアセンブラとは違ってるようでした
それとあまり良く分かってないのですがバイナリデータ入門とアセンブラってセットですか?

611 :
ゲームの解析にLLVMとか無意味だろ

612 :
「うさみみハリケーン」のうさぴょんとか、
将棋AI「やねうら王」の作者、やねうらおとかの本だろ

解析魔法少女 美咲ちゃん マジカル・オープン!
という本もあったw

推薦書のスレにも、よく書いてあった

613 :
>>612
ありがとうございます。やねうらおの魔法少女の本調べたのですが(Amazonで)
全くの0からの初心者には分からないという声が大きかったので、うーんって感じです。
色々調べてるうちにC言語でもインラインアセンブラというのを使って学習できるみたいのを目にしたのですが
そういうのを1から10まで解説した本とかってありますでしょうか?

614 :
java1冊、kotlin2冊勉強したんだけどやりたいこととマッチする内容にヒットしない
txtやcsvを内部ストレージに置いて読み取る方法を探してるのですが
lealmやSQliteいじってたらたどり着けますか?
カンマ区切のデータをどこかにコピペしたらいいのか…
もう少し悩んでみる

615 :
>>613
デバッガによるx86プログラム解析入門【x64対応版】、2014、うさぴょん

OllyDbg の使い方などを説明した本。
初心者が読めるかどうかは分からない

推薦書は、このスレの前のスレとか、見てみれば?

推薦図書/必読書のためのスレッド 83
https://mevius.2ch.sc/test/read.cgi/tech/1556284220/l50

616 :
>>614
Ruby で、CSV を処理すると、

require 'csv'

str = <<"EOT"
id,first name
1,"ab""c"
2,"xy\nz"
EOT

options = { :headers => true }

CSV.parse( str, options ).each do | row | # 1行ずつ処理する
p [ row[ 'id' ], row[ 'first name' ] ]
end

出力
["1", "ab\"c"]
["2", "xy\nz"]

# CSV.foreach で、CSVファイルも、1行ずつ処理できる
CSV.foreach( "ファイル名.csv", options ) do | row |
処理
end

617 :
ぶっちゃけ改造系BBS眺めたほうが早いだろ
自力解析なんて時間の無駄
覚えるなら中国語覚えろw

618 :
>>610 今時よほどのことがなければアセンブラなんて使わないぞ。 大抵はCで間に合う。
バイナリデータとアセンブラは無関係。 勿論アセンブラではバイナリデータも取り扱うが。

>>608 ああわかった、人の作品を逆アセンブルしてコピーしようと思ってるんだろ。
或いは暗号を解読してただで遊ぶとか?
逆アセンブラってのが有るぞ。
そんなことするより自分で作った方が早いはずだけどな。

人の作品は大抵は高級限度で書かれているから逆アセンブルしても膨大な量で追いきれないと思うぞ。
OSの中身にまで迷いこんでギブアップするのが目に見える。

619 :
>>618
ちょっと素人さんは黙ってくれませんかね?

620 :
エロゲーのディスクチェックを外したいです
(純粋にアセンブラを勉強したい人だっているんですよ!)

621 :
不正に加担する奴はそうそういない
厳密に言えば犯罪幇助になるから公の場所で協力者を募るのはド阿呆
そんなことも分からない己れの知能の低さを自覚した方が良い

622 :
1Mのバイナリを大雑把に言うと、128K個のニーモニックやらが埋葬されててそれを追うんだぞ。
俺も素人だから概要しか知らんけど。

623 :
逆コンパイラは実行ファイルから高級言語のソースコードにしてくれるよ。

624 :
逆アセンブルでも使えるやつと使えないやつがあるから、そのへんの見分け方を教えてほしい
というか何使ってる?

625 :
PS2とPS3のゲームを解析したいからアセンブラ、バイナリ読めるようになりたいです
オンラインじゃないから犯罪じゃないです
>>615
本屋で少し見てきましたが色々前提知識がないと理解するのは無理そうでした
後言語を事細かに教える本というより解析を教えるという本でした
アセンブラとかバイナリやる前にAPIとか覚えないとならないのでしょうか?
よろしくです

626 :
>>625
WindowsならWindowsOSの基礎とAPI
同じようにゲーム機ならゲーム機の構造と基本的な入出力部分
が前提知識として無ければいくらマシン語が読めても無駄

627 :
ごめん、そもそも板違いだなこれ
>>625
裏技・改造
https://medaka.2ch.sc/gameurawaza/
に行ってくれ
プログラムの組み方とは方向性が違う

628 :
改造板は質問スレもないですし前提知識ない人間は行っても無駄そうな気が・・・
とりあえずWinApi少し学習してみてそれから考えます゚(´-`).。oO

629 :
webプログラムをやりたいと思うようになってきました。VBとC#を中心に使ってきたので、近い文法というか感覚で出来るものだとありがたいです。何かオススメのものはあるでしょうか

630 :
webプログラムをやりたいです→でもwebプログラムはやりたくないです。今まで通りのことがしたいです。

631 :
C#でやればいいのでは

632 :
https://medaka.2ch.sc/php/

633 :
よりによってWindows APIを覚えて何に活用しようというのか
Cから学ぶというならまだわかる

634 :
メモリへのアタッチとか

635 :
ミジンコでもわかるゲーム解析ってサイトでWinApiとアセンブラ、バイナリ読めないと話にならないと書いてあったので
なんで必要かわからないけど取り敢えず始めてみたいと想いました

636 :
どうぞどうぞ

637 :
アホなアルゴリズム思いついたんだけど誰か作らねーか?
あとはコンパイラの反応を取るだけなんだけど。
https://ideone.com/2UWc8g
パイプとかわからない。

638 :
概要言うの忘れてた。
>>637は全探索でプログラミングするコードなんだけど、
アルゴリズムを考慮しないで爆弾構築し続けるというモノだ!!!

639 :
夏休みはいつ頃終了しますか?

640 :
JavaScriptについてなのですが・・・

const tasks = [
{ id: 1, title: "one" },
{ id: 2, title: "two" },
{ id: 3, title: "three" },
{ id: 4, title: "four" },
{ id: 5, title: "five" }
];

const deleteTaskId = 1;

const deleteTasks = tasks.filter(task => {
return task.id !== deleteTaskId;
});

console.log(deleteTasks);

アロー関数内で、task.idと、taskを通してtasksの配列にアクセスしていますが、
なぜアクセスできるのかがわかりません
(私の中の)通常ですと、
task = tasks;
と代入してから、task.idやtask.titleをできるイメージなのですが、
上のコードですとtasksをtaskにいつ代入しているのでしょうか・・・?
初歩的な質問ですみません。宜しくお願いします。

641 :
>>629
雑食系エンジニア、KENTA の動画

Rubyはオワコン?「滅びゆく5つのプログラミング言語」に関する所感
https://www.youtube.com/watch?v=yBrnuR8YJN4

初心者向きのweb アプリの結論は、Ruby on Rails !

>>640
JavaScript(JS)の質問は、web制作管理板のJSのスレへ、書き込んでください!

JS は、この板ではない

642 :
filterが代入してる

643 :
>>640
集合における写像でありフィルターしてる

644 :
バイナリデータのフォーマットを規定したファイルをもとに
それのエンコードデコードするコードを生成してくれるツールとかないだろうか。
protocol buffers とかがすごく近いんだけど、エンコードしたバイナリデータに余計な情報が付与されてしまうのでNG.

例えば {char a; int16 b; char[3] c;} で a=0x12; b=100; c={7,8,9}; みたいにしたら、
[ 12 00 64 07 08 09 ] の6Byteになってくれるような。
そしてこの定義を入れ子にしたり、識別子としての固定値を入れられるとうれしい。

645 :
Ruby の、pack/unpack を参考にすれば?

エンディアン・メモリサイズ・signed/unsigned、
文字列のエンコード・Base64 など

Array#pack
https://docs.ruby-lang.org/ja/latest/method/Array/i/pack.html

646 :
作り方じゃなくてツールが欲しいんだろ

647 :
>>644
かつて探したことがあるが、結論は自前で作るのが一番だった

それでも情報共有しておく
ASN.1 ... 古くからあるが記述がかなり煩雑。ライブラリは多い。
XDR ... 同じく古くからあり記述はASN.1よりも容易で広く組み込まれている。
DFDL ... 最近までメンテナンスされ比較的新しいが無料のparserに乏しい。
Kaitai Struct ... 今のところ尤もフレンドリー。どれか推奨しろと言われたらコレ。

Protocol BufferやApache Thriftはいわゆるプロトコルでバイナリデータをやり取りするものだからユースケースが違う
その意味ではASN.1もコッチ側か

648 :
>>647
ありがとうございます。
Kaitai Struct よさそうですね。(解体?)
他も含めそれぞれ試してよさそうなのを選ぼうと思います。自作も視野に入れつつ。

649 :
大卒フリーターにオススメのプログラミング教室ってありますか?
テックエキスパート検討しているのですが

650 :
>>649
フリーターなら迷わず職業訓練校
教えて貰えて金も貰える
タイミングがあるからすぐに始めたいなら無理かも知れない

651 :
プログラミング学習サイト10選|独学でもプログラミングスキルが身につく
https://liskul.com/programming-learning-27303

無料で、Ruby on Rails が学べるサイトもあるみたい!

652 :
聞きかじり素人に教えてください
証券会社のネット取引ツールの操作を自動化したいんだけど
(起動終了だけじゃなく)
UWSCでマウス操作自動化だけだと、モニターにつながってない状態だと
作動しないことが判明
マウス操作の自動化じゃなくツールを自動で動かしたいんですが
そういう自動化ソフトとかありますか?
RPAとやらはあれUWSCとたいして変わらん気がする

653 :
でいろいろ考えたんですけど
「エクセルとVBAみたいに元々自動化ツールがついててそれ使うか
 ブラウザ自動操作みたいに、特化したライブラリがないと無理」
これで合ってます?
 

654 :
モニターにつながってないと動かないなら
モニターにつなげればいいじゃん

655 :
漏れは、Ruby, Selenium WebDriver で、Chrome ブラウザを自動操作してる

サイトにログインするとか、
Showroom のアバターを削除するとか

主に、入力欄に入力して、ボタンを押すなどの操作

656 :
>>652
俺もseleniumだなぁ
rubyじゃなくpythonだけど、そこは感性に合う言語使ってくれ

657 :
あぁ、ツールがブラウザではない可能性もあるのか
VPSとUWSCでググれば色々と出てくるけど、それとは違うケースなのかな

658 :
seleniumの何が駄目かって、動いてる間は
PCが使えない所

659 :
>>658
本気で自動売買ツール動かす場合、どんなツールでも専用の端末を用意するものだと思うけど違うの?

専用の端末が用意できない場合は、SeleniumのWebDriverで起動したブラウザ以外は操作に支障ないから、普段使わないブラウザをWebDriverで起動するといいよ

660 :
JAVAのmain関数とC言語のmain関数についてご教示いただけると幸いです。

JAVAではpublic static void main(String...)と書き、
C言語では、int main(void)と書きますが

JAVAでは、main関数は戻り値なしで返すが、
C言語では、main関数は必ず0を返すというのが当たり前のことなのでしょうか?

661 :
>>660
javaはエラーを例外で飛ばすからmainの戻り値は明示しないのでvoid
Cのmainは正常時は通常0を返して、異常時は0以外を返す必要があるのでint
こんな説明でいい?

662 :
JAVAのmain関数とC言語のmain関数について調べてください

663 :
>>661
しっくりきました!ありがとうございました。
>>662
不勉強で申し訳ありません。もっと勉強します。

664 :
Lineの友達を増やすのにアフィリエイトシステムを作りたい
友達追加リンクをそれぞれのユーザーに与えて、どのリンクから友達追加されたか識別可能にする
友達追加1人につき100円とかをアフィリエイト報酬として払う
これは実現可能ですか?

665 :
>>664
あなたがお金を払えるなら可能なんじゃない?

666 :
666

667 :
667

668 :
電子工作においてC言語のポインタってどういうときに使用しますか?

669 :
ハンドル?

670 :
>>668
操作する装置とやり取りをするために使うよ
例えばマニュアルに

このLEDを光らせるためには、アドレス0x100番地に1を、LEDを消すためには0を書き込みます

のように書かれていたら、LEDをONするプログラムは
int *p = 0x100;
*p = 1; // LED ON
となる

671 :
androidやiPhone実機の性能について質問なんだけど
座標値を変更しながら点の表示を動かし続けたいです
3000点ほど計算→表示を5秒毎程度で繰り返す予定なのですが余裕なのかな?
描画とかほとんど手を出してなかったから気になる
ゲーム会社とかはどれくらい古い機種でテストするものなの?

672 :
>>671
3000ポリゴン程度とみなしてよいなら余裕。最近のならね。

673 :
>>672
ありがと
これから座標値の計算部分を作り込むから大体の目安がしりたくて
こういうマシン性能の上限も技術者としては知っておかないと…とまだまだ勉強だね
計算部分も盛り盛りだからもう少し削れないかも見当してみます
ありがとうございました

…ん?最近の?

…再見当します

674 :
プログラミングビギナーです
ワードプレスのプラグイン使ってSNS(ユーザー数千人)を運営してるんですが、メンバー同士の相性を数値化してマッピングしたいです
1人のユーザーを中心においてその周りに相性の近い(やりとりの多い)ユーザーのアバターから放射線状にマッピングするイメージです
実現可能ですか?PHPしか使えない初心者ですが

675 :
>>674
多分、数学のグラフ理論を勉強した方がいい。Javascriptで次のようなライブラリがある。
https://qiita.com/TakahiroYamamoto/items/123533c332adfb71ce06

676 :
>>675
ほかのユーザーとの相性を表示するのはそれ専用のプラグインがあったので簡単に実現できました
あとはこれを相性のパーセンテージが高い順に表示して、それを放射状に並べるだけなんですが、難しいですかね?

677 :
CSSとJavascript触れないならちょっと難しいですな。JSを使えるようにWordPressで設定する必要が。

678 :
JSのAPI叩いて、相性情報を取得して、jQueryかなにかで画面にネットワークを表示するんじゃなかろうか。

679 :
クライアントからGETでデータ要求が来て、サーバ内でエラーが発生したら500のステータスコード返すってプログラム書いてるんですが、
C#で下記のように書いても200で返ってしまいます。。。なにが問題でしょうか。。。?

return HttpResponseMessage {
StatusCode=HttpStatusCode.InternalServerError


680 :
このスレではなく、C# のスレに書き込んで、聞いてください!

681 :
OOPでいうところのインターフェイスはオブジェクトのAPIみたいなものですか?
OPI?

682 :
https://ideone.com/AxPkdO
https://ja.wikipedia.org/wiki/MD5

ウィキペディアを参考にしてMD5のエンコーダを書いています。
しかし、ウィキペディアの疑似コードが良くわからない言語なので、四苦八苦しています。
現状をideonに投げてみました。どこが間違っていますか?

683 :
> どこが間違っていますか?

1. ウィキペディアを参考にすること
2. 擬似コードを参考にすること
3. ideonに投げること

684 :
>>683
それはなぜですか?

685 :
https://ideone.com/VBlAus
また来ました。MD5のお時間です。

前回のコードをあきらめて、vector<bool>で書き直してみました。
そうしたら、ビット列からNbit整数への変換が良くわかりません。
ご教示いただけないでしょうか。

686 :
たとえば、以下のビット列を32bit整数にする場合
00010010001101000101011001111000

まず、ビット列をバイト列にする。
「入力のバイト値は、最高位ビットが先のビットであるビット列として解釈する」ので、
8ビットずつに区切って、先頭が最高位ビットになるように解釈する。
00010010 00110100 01010110 01111000
0x12 0x34 0x56 0x78

次に、「値はすべてリトルエンディアンとする」ので、
32bit(4バイト)分を逆順に並べる
0x78563412

687 :
>>686
回答ありがとうございます。 >>685 です。
ちょっと実験してみます。

688 :
>>686
https://ideone.com/fxzdp2

おかげ様で上記のようなコードを書くことができました。
必要であればご査収ください。

689 :
いりません

690 :
宿題は宿題スレでやってもらえないかな

691 :
宿題ではないです。自己課題デス。

692 :
元ニートで最近はたらきだしたものです。

会社のPCはExcelとブラウザはEdgeとIEが入っているwindows10のようです。

この環境でテキストエディターとかメモ帳でパパっとなんかスクリプト?プログラム書いて
インターネットで調べものした時にパパっとサイトから文字列切り抜いたりWEBサイト加工して
保存して、

元ニートくんすげーじゃないか!
キャー!元ニートさんかっこいいわ!抱いて!

って言われたいのでそういうのするためにはどうすればいいか知りたいのですが、
開発環境とかは勝手にインストールできません。

となるとVBAとかjava scriptとかVBscriptとかでコードかいて
IEなり拡張子指定して保存したりして実行すればいいのでしょうか?

誰か教えてください。お願いします。(・´з`・)

693 :
>>692
java script使ってください
VBscriptはIE11以降非推奨になりました

694 :
Chrome拡張で動画配信サイトの省力化ツールを作りたいのですが、何を勉強したらいいでしょうか。
Javascriptの入門書は読んだのですが、それだけでは何も分からず。
MDNを読みながら既存の拡張を解析してみたらいいですかね?

695 :
JSってスリープ命令無いよね。古い記憶だけど。

696 :
>>693
java script一択ですかね?
(`・ω・´)

697 :
>>694
https://developer.chrome.com/extensions/samples
ここのサンプル見ながら
ExtensionAPIsとMDNとにらめっこ

698 :
>>692
俺も元ニートだけど、ExcelのVBAをお勧めする
2時間かけてExcelで単純作業をしていた同僚のために
マクロを作って1分で終わるようにしたら、とても感謝された
有能で役に立つ人だと思われ、本当にモテるようになる
お望みの、Webから文字列を取得して加工することもある程度は可能だ

他の言語だと環境構築が必要で、特に、同僚に使ってもらいたい場合に難がある
最初からWindowsに付属してるPowerShellもあるけど、初心者には難易度が高めだ

699 :
>>684
横レスだけど既存のロジックをコードにするときは
・複数の参考サイトを探して理解に努める
Wikipediaには他にも詳しく載っているロジックがあるけど、そこだけを参考にするのは危険
仮に仕様書などがあればそれも並行して読むようにする。日本語の解説が無くても義務教育レベルの英語力と最悪グーグル翻訳で読める
・疑似コードは理解を深めるためのもので疑似コードを直に翻訳しようとしてはいけない
あくまでもロジックを理解したうえで自分でコードおこすのが基本
そしてこの板はデバッグや監修を頼む場所じゃないよ

700 :
>>699
デバッグしてもしても上手くいかないときは若干疑心暗鬼になるのでそれを払しょくしたかった。
次から宿題スレになげるようにするわ。すまない。

701 :
>>698
VBAとJava Scriptを勉強することにします。
ありがとうございました。
(・´з`・)

702 :
https://www.google.co.jp/search?&q=log4%2816%29
https://ja.wikipedia.org/wiki/対数
これ、なんで2にならないのでしょうか。
4*4で2ですよね?

なお、文系民です。

703 :
グーグルさん、loge(4)*16計算してない?

704 :
double MyLog(const double& V, const double& Base) {
return std::pow(V,1/std::log(std::exp(Base)));
}
こういう関数を書いたら、自分の認識とあった。
それではさらばじゃー。

705 :
9.63295986125の上にlog(4)*16=と書いてある
logは常用対数(底が10)

706 :
いやーちょっと違うらしいです。
https://cpprefjp.github.io/reference/cmath/log.html
によると、std::log(N)はネイピア数のN乗を示すらしいです。

707 :
お前が張ったURL
https://www.google.co.jp/search?&q=log4%2816%29
の9.63295986125の上にlog(4)*16=と書いてある←事実
googleを電卓扱いした時のlogは常用対数(底が10)←事実
だから*16して9.63295986125になる
自然対数はlnな

708 :
>>707
すみません。

709 :
なにが文系だよ
おまえ単に高卒やろ

710 :
プロジェクトオイラー解くのって力つきますか?

711 :
ブロイラー、唐揚げ食いたくなってきた

712 :
>>43
ロベールとか捨てろよ

713 :
一周年だからってケチつけるなや

714 :
テキストファイルにデータがいっぱい入ってまして
a 7 b c d e
f 2 g h i
j 4 k l m

みたいな。それでこの場合で言うと数字部分でその行がどのクラスのデータかを指し示しています。1行ずつコードを読み込んでクラスを判断してインスタンス作ってそのデータを格納していくみたいな
それで現状このクラスの種類が本当にたくさんあるんです
現状のコードだとelse ifが下に延々と続くような構造です。自分としてはswitch caseにしろやと思ったんですけどそれでも多分焼け石に水でしょう
なんか上手いことコードを見やすくまとめるアイディアはありませんか?

715 :
「クラスを判断して」の内容が分からないから「数字部分でその行がどのクラスのデータか」+「switch case」以上のアイデア出しようがないと思うんだが?

716 :
クラスを判断してはクラスを判断してなのですが……

switch (number)
case 1:
var class1 = new Class1()
class1.read
みたいな

717 :
readメソッドはswitchの外に書けるでしょ
newも
switchよりいいかどうかわからないけど、配列か連想配列にビルダーやプロトタイプを入れておくという手もある

718 :
https://ideone.com/L5EVGG
ちょっと前にここで言われていたことってこういうことやったんかいな。
ちゃんとシェアポでメモリも解放されて「うまいな。」と、思った。
あとは、初期化引数をどうするかということかな??

719 :
template <class... Arg> using FUN = Object(*)(const Arg&...);
typedef std::vector<FUN> Factory;

これがやりたい5分間であった。グフッ。

720 :
どうも、>>692で質問して。

アドバイス頂き、


>>701

のレスで
自分のやりたいスクレイピングのようなことは
Java ScriptとVBAでやりたいと思いますと書いたのですが、

あの後調べ
ブラウザのJavascriptでスクレイピング(任意のウェブページのソースを読み込んで
解析)をするのはCORSの制限により基本的にできないと聞きました。

会社の実行PCに実行環境を勝手に足せないことから、

ぱっとみ関連しそうな項目は
Windows10
Excel
IE
Edge
なのでそれで使うとなるとあとはVBA一択になるのかなぁと思いました。
やはり実行環境ととのえないとなかなか難しいのですかね?

WEBサイトをローカルに保存してシェルスクリプトとかJava scriptで処理するのが正解ですかね?
アドバイスよろしくお願いします。

721 :
>>720
JScriptでググれ!

722 :
windows ならOLEオブジェクト召喚しないといけない気がする。
愚直にソケットたたいたりしないでしょ?

723 :
なにその縛りプレイ
ソフト入れられないってのは、定型業務以外やるなってことなんじゃねぇの?

724 :
>>720
会社でネットのスクレイピングってアホか
「キャー!元ニートが会社のPCで遊んでいるー」って言われたいのか、仕事しろよ
VBAはExcel上でしか使えないぞ
あとこんなとこで毎回質問せず家でPC使って自分で勉強しろ
自分で調べず掲示板で依存して多く質問する人間はプログラム分野では成長しない

725 :
英語の掲示板なら質問も回答もごろごろだけどね

726 :
>>720
パワシェやれば

727 :
list<animal>なら即決でanimalsって変数名にするけど
list<list<animals>>だったらどうします?上手い変数名の付け方が思いつかない。listofanimalsじゃlist<animal>の意味とも取れてしまうしそもそもlistの変数名にlistを入れるのは美しくない

728 :
失礼。list<list<animal>>の間違い

729 :
>>727
クラス名・変数名に迷ったら書き込むスレ。Part28
https://mevius.2ch.sc/test/read.cgi/tech/1494147712/
こっちでやれ

730 :
if (a > b) {
 for (A) {
  //同じ処理
 }
} else {
 for (B) {
  //同じ処理
 }
}

条件違いでループ条件も変わるのですが、処理自体は同じこんな感じのコードがあります。
同じ処理を2回書いちゃってるので、無駄そうに感じ違和感を覚えます。
処理を1回かくだけで済む方法ありますか?

731 :
>>728
そういう時は別の単語を用意するといいよ
例えばzooとかsafariとか、そんな感じで付けてる

732 :
A や B を引数としてうけとって処理する関数を書いてから

if (a >b)

733 :
if (a > b) { f(A) }
else { f(B) }

734 :
>>730

C = B
if (a > b) {
 C = A
}

for (C) {
 //同じ処理
}

735 :
C = a > b ? A : B;
for (C) {
 //同じ処理
}

736 :
レス頂いた方ありがとうございました。
だいぶスマートになりました。

737 :
関数内関数ある言語だったら、関数化してしまう。など。
と、蛇足。

738 :
kwsk

739 :
どこからでも呼べる関数宣言はよくあるけど
言語によってはスコープ持ちの関数があって
それで 同じ処理 のところを関数で書けば
グローバルに呼べる関数の名前空間汚さなくて済むよね

という類の話なはず

740 :
サンクス!

741 :
いわゆるラムダ等。

742 :
じゃあstd::付けまくればいいんじゃねえの?
std::coutとか好きでしょみんな

743 :
Cの構造体というのは、
Javaなどのオブジェクトの属性メンバを使用でき、メソッドが使えないだけの違いですか?

744 :
アクセス権限の指定もない
ほんとにただ変数束ねただけ

745 :
・簡単なプリミティブ図形を表示できる
・簡単なGUIフォームを作成できる
・拡大や縮小しても高品質に補間、描画される(特に図形)
・マルチプラットフォーム(WindowsとxWindow)
こんなGUIフレームワークってないかな。機能的にはWebブラウザで足りる程度なんだけど
Electron的なのは配布サイズがでかすぎ。ネイティブで書けば大きくても数MB程度の物を
一式100MBはいくら何でもありえない

746 :
chromeがインストールされていること、を要件にできれば、goでChromeをElecrtonっぽく使うのがあったはず。
ビルドしても8Mとか。

747 :
配布する物だしChrome限定は厳しい。IE/Chrome/Firefoxの3対応ならありかもしれんけど
昔の?Excelの印刷プレビューみたいに縮小したら線が消えたり形がゆがんで見えたりするのは困る

748 :
エクセルでできることができない何百万のシステム・・
https://anond.hatelabo.jp/20131204101200

こういう案件かな

749 :
ネイティブ 数MB
マルチプラットフォームGUI 100MB
妥当じゃないか?

750 :
>>745
一度仕様固めてWindowsネイティブで作ってから考えれば?
マルチプラットフォーム舐めてんじゃないの

751 :
cairoってGUIでマルチプラットフォームだっけ?

752 :
>>749
wxWidgets使っているAudacityだってexe/dll併せて20MBくらいだしそこまでの差はないよ
内wx*.dllは8MB程度

>>750
それだと
Windows→DirectX
Linux/*BSD→OpenGL
で同じ仕事をするコードを2回書くはめになっちゃうじゃないか
それに線や円弧を描画して拡大や縮小表示をさせるために3D描画APIとにらめっこは勘弁

>>751
cairoとwxWidgetsを組み合わせて使用できれば・・・と思ったけどそうは問屋は下ろさないようだ

753 :
draw - Pygameドキュメント 日本語訳
http://westplain.sakuraweb.com/translate/pygame/Draw.cgi

要するにこういう図形ライブラリが欲しいんでしょう

754 :
>>752
wxWidgetsはunix系ではGTK依存じゃなかったかな?
それだとライブラリだけで50MB越える気がするが

755 :
Windowsネイティブで作ってPC UNIXは要Wine

756 :
今のプログラミング教育のサイト見て
ここの板の人らしょぼいって思ったわ。
パズルみたいに簡単にwebでできて
それで売れるものを作ってる
日本って遅れてるな。
なにがintよ?いちいち糞細かいプログラム無謀に打ちまくるより、あんな簡単に組めるプログラムを教えたほうがよっぽど応用できると思ったわ。
そら外国の人の方が知恵があるわw
ま、いっぺん調べてみ、あれを小学生が楽しむんだよw

757 :
code orgとかな。あんなんで普及したら
もっとプログラムら簡単にシンプルになるし、暴走もしないとは思う。
爆笑するわ

758 :
なるほど、wineはありかもしれない。Linux等は当面サブだし

Webブラウザという高速かつ高品質にレンダリングしてくれるソフトがあるのに活用できないジレンマ

759 :
わざわざこんな板にまできて、お前らしょぼいとか主張するのは、何かの病気なのか?

欧米の方が教え方が上手いと言うのには賛同する
昔の教科書からしてレベルが違っていた
学問はとかく小難しくして神聖化する癖があるが、それを平易に説明するのは英語圏のが積極的な印象がある

760 :
この板酔っぱらって書き込むやつ多すぎる

761 :
https://github.com/CodingTrain/website/blob/master/CodingChallenges/CC_145_Ray_Casting/P5/ray.js
のshow()の中身について、stroke(255);以外何をしているのかわかりません。
javascriptにはtranslate()のようなものはなさそうなのですが。

762 :
古のOGLのような動きに見えた。

763 :
p5.jsというライブラリの関数でしょ

764 :
上記方法と
show() {
stroke(255);
line(this.pos.x, this.pos.y, this.dir.x * 10, this.dir.y * 10);
}
では何か違うのでしょうか?
push()とpop()の必要性がいまいちわかりません。

765 :
それ単純にバグってないか?
元のコードと等価にするならこうじゃない?
line(this.pos.x, this.pos.y, this.pos.x + this.dir.x * 10, this.pos.y + this.dir.y * 10)
こう冗長に書いたりそうやってミスをするくらいなら一時的に起点をずらすのはスマート

766 :
なるほど。ありがとうございます。

767 :
Language Reference (API) \ Processing 3+
https://processing.org/reference/

まずはここの関数を全部眺めりゃいいんじゃねえの
translateもpushMatrix/popMatrixも最重要関数だろコレ

768 :
>>766
いえいえ

769 :
どこで聞くべきか迷ったのですが、ここなら知ってる人もいると思うのでお願いします。
携帯電話番号あてのメール、いわゆるSMSなんですが、
あれを受信したら、SMTPで特定のメールアドレスに自動で転送することって技術的に出来ますか?
もし既存のソフトウェアがあれば教えて頂けませんか?
自分のスマホからじゃ入れてるメッセージアプリが悪いのかもしれませんが、
SMSは削除しか出来ません。

770 :
この質問についてなんですが

python3で数値を0.05刻みで切り捨てて丸めるには
https://teratail.com/questions/176744

ベストアンサーでは
・その数値に20を掛けて、四捨五入し、その結果を20で割ればいい
となってて、実際そのとおりだったんですが、これはどういう原理でこうなってるんでしょうか?

0.05刻みではなく0.03刻みとかだったら33.3333倍して四捨五入して33.3333で割ればいいんでしょうか?
他の数値でも1.00÷その値の倍して四捨五入して割る感じですか?

771 :
>>770
0.05 × 20 = 1

772 :
それでいいよ
0.03を33.3333倍しても0.999999にしかならず、切り捨てすると0になるから
この誤差を吸収するためには四捨五入が都合いい
ただし四捨五入する弊害で、元の数値の精度が高いと誤差が出る
たとえば0.049は0.05に切り上げられてしまう
もし根本的な部分が直感でわからないならまず0.1刻みを10倍するケースで考えればいい

773 :
>>772
確かに0.1と10倍だとイメージしやすいですね
ありがとうございます

774 :
切り捨てて丸めるのに四捨五入するってアホなのか

775 :
どういう結果を求めているのか分からないけども
0.03キザミで切り捨てという表現なら

0.029 → 0.00
0.03 → 0.03
0.031 → 0.03
0.045 → 0.03
0.05999 → 0.03
0.06 → 0.06

だと思う

より近い方に丸めたいなら、いわゆる五捨五入と呼ばれる端数処理が良いと言われていて

0.029 → 0.03
0.03 → 0.03
0.031 → 0.03
0.045 → 0.06 (中間の値を0.3にするか0.6にするか)
0.05999 → 0.06
0.06 → 0.06

と0.45の結果が偶数になる側に丸める

前者の処理は普通にやるなら
int(値 / 0.03) * 0.03

後者の処理は少し難しいので、五捨五入を諦めて四捨五入で良ければ
int((値 + 0.03/2)) * 0.03
を使う

値/0.03の部分を33.3333倍と書いてもいいけど、素直に値/0.03と書いた方が意味が通りやすい

776 :
俺はfmodするかなぁ。

v = fmod(N,0.05);
N-v;

これ合ってる?

777 :
M=0.05;
v = fmod(N,M);
N+(M-v);

こうかも??

778 :
後者の処理間違えてた
int((値 + 0.03/2)/0.03) * 0.03

>>777
掛け算や割り算の演算後は、結果にどうしても誤差が出るから、そっちのが良さそうだね

779 :
>>769
SNSもどきならアプリが幾らでも有るだろうけど、
キャリアが中継しているSNSはキャリアのオフィシャルアプリで無いと無理では?

780 :
>>775>>778
ありがとうございます
四捨五入して切り捨てよりこっちのほうが良さそうですね
しかし、これもなんで動いてるのか良くわからない…
みんな色々考えるなぁ

781 :
>>777
これは、Nを0.05刻みで丸めるってことですか?

782 :
Visual Studioに入っているSpy++を、単独でインストールしたり、
インストール不要で持ち歩いたりする仕組みって無いですかね。

Visual Studio全体はインストールしたくないのですが。

783 :
>>782
WinHierでも使えばいいんちゃう?
https://katahiromz.web.fc2.com/winhier/ja

784 :
smb等のネットワークドライブにあるc/c++のコンパイルした実行ファイル(a.out)を実行したら
実行速度遅くなる?それとも,全部メモリに読み込まれてから実行される?

785 :
ニコ生の弾幕ツールを作ってみたいのですが
どういう知識を今後つければ作れるようになりますか?
今現在C言語とC#の入門書に書いてあるような事は身につけた状態です
何かを作ったりはしたことないです

786 :
>>785
AAエディタだな。
ニコニコの色のパレットパクってきて、色付けれるようにするのが最初かな??

787 :
>>786
AAエディタでググったのですがツールの紹介ページばかりで
何を学習すれば良いのかわかりませんでした・・・

788 :
>>787
要するに、ニコニコの動画の弾幕って文字の羅列なのですよ。
なので、最小単位がcharacterなわけだ。ドットじゃない。
ニコニコにの投稿には規則があってそれを俯瞰して取得しないといけない。
字数で表示速度が変わるか等。そういう真似をしないといけない。

お解かり?

789 :
>>784
一般的にメモリに読み込んでから実行。

790 :
>>785 HTML5

791 :
>>790
それはいえてるなぁ。
ニコニコ動画も、HTML5に移行して幾らか経った頃合いだな。
HTML5+Javascript+CSSか。

792 :
わからないなら素直にわからないと言っていいのよ
黙ってていいのよ

793 :
>>792
俺に言ってる??じゃぁ引っ込むわ。あとよろしく。

794 :
Cは全く意味なくて新たにHTML習わないとダメってことですかね?
解答ありがとうございました。

795 :
ようは整形してコピペできればなんでもいいんだろう?
ならCは全く意味ないなんてことはない
VC++使ってWindows向けのデスクトップアプリ作るもよし
その気になればコンソールアプリでもどうにかなるだろう
ただC/C++は糞大変なのでおすすめしない
Windows向けならC#やVB.NETでやったほうがいいね
まあHTML+JavaScriptのほうがもっと簡単だと思うけど
この場合HTMLはユーザーインターフェースなので別に気合いれて覚える必要もない
マウス操作でほど完結するHTMLエディタもあるだろう(ある程度わかってないと使えないけど)

796 :
わからないなら素直にわからないと言っていいのよ
黙ってていいのよ

797 :
スマホで楽天ペイをインストールしたんだけどログインできません
なんでですか?
一応ブラウザからは楽天にログインできるみたいです

798 :
OS古いんでしょ

799 :
わからないなら素直にわからないと言っていいのよ
黙ってていいのよ

800 :
よっぽど悔しかったんやなぁ

801 :
すいませんスマホ再起動で行けました!

802 :
MITライセンスでGitHubに無料公開されてるプログラムを、数行だけ書き換えて有料で販売しようと思っているのですが、これって著作権料を取られたりしませんか?
他の方の意見を調べた感じだと、著作権表示とかURL情報をXcodeに含むだけで良いみたいなことが書いてあるんですが、本当ですかね?
https://teratail.com/questions/6672

803 :
MITライセンスでコードを公開する側には何のメリットがあるんでしょうか

804 :
ライセンス的なことよりもそんなもので商売になると思ってんのか
タダで配布しているものを誰が金出して買うんだよ
サポートしなきゃならないとか他の人がもっと安く売るとかそのくらいのリスクすぐわかるだろ
だから大抵の人は売るんじゃなく寄付を募る

805 :
>>804
やり方次第で商売になりますよ

806 :
GPLがでるまでは普通にライセンス付けて儲けるやつらいたから不思議じゃない

807 :
モラルの問題はあるが法律的にはなんの問題もない
それが嫌ならMITライセンスをやめるしかない

808 :
難解な無料の本体をサポートすると言って金を取るのは****の十八番。

809 :
MITライセンスを適用する側のメリットは、自分の作ったものを広く使ってもらえること
あとライセンスについて細かく考える手間を省けること

810 :
なん種類かのMITのソースをforkして取り込んでほんの少しのグルーコード書いて、
サブスクモデルで金とってるアプリ知ってるけど、
作者が頭イッてる。

811 :
RubyとPythonについて質問です。

私はノンプログラマーですが、学生時代にC言語とJavaを習ったことが有り、VBAについてはちょくちょくいじって使っています。

そんな私が、業務効率化のためにスクリプト言語を覚えようと思っています。

その際、RubyとPythonという2つの言語が良さそうだと思いました。
どちらがおすすめですか?おすすめな理由を添えて教えていただけると嬉しいです。
より、オススメな言語がある場合はそちらの紹介をお願い申し上げます。

812 :
python3
流行に載っているためにコミュニティの活性化状態で
書籍の数などが大差

813 :
ツール作りでは、Ruby 一択!
Web 系の仕事では、Python, Java の10倍!
例えば、Python のDjango の本は、掌田津耶乃の1冊だけだが、
Ruby on Rails の本は、10冊ぐらい出てる
勉強の順序として、Ruby から始めないと失敗する!
他の言語は難しすぎる。初心者向けではない
YouTube の雑食系エンジニア・KENTA の動画を参照!
Railsでポートフォリオを作るまでの学習順序と具体的な教材について
https://www.youtube.com/watch?v=8UtQPtxbXF0
Javaの方がRubyよりも求人が多いという勘違いについて
https://www.youtube.com/watch?v=GLfvnHQ5v-0
「AIや機械学習に興味があるのでPythonから勉強」は誤りです。【YAGNIの法則】
https://www.youtube.com/watch?v=dRSsdsw0-r8

814 :
例えば、CSV 処理で、4列目内のカンマを、読点に変換する

require 'csv'

# 引数は入力ファイル名
CSV.filter( File.open( ARGV[ 0 ] ) ) do |row| # 1行ずつ処理する
p row[ 3 ] #=> "あ,い,う"
row[ 3 ].tr!( ",", "、" ) # 列4
end

入力ファイル
a,b,c,"あ,い,う",d

出力
a,b,c,あ、い、う,d

この3冊を読めば、ほとんどのツールは作れるし、中級プログラマーになれる!

たのしいRuby 第6版、2019/3/19
Effective Ruby、2015
改訂2版 Ruby逆引きハンドブック、2018/8/28

815 :
>>811
業務効率化って具体的にどういうことを想定してるかによる
MSOfficeのアドオンならC#かTypeScript
WebのカスタマイズならJavaScript
スクリプト言語からExcel操作したいならPython+xlwingsとか
目的によって候補が違ってくる
RubyかPythonかの2択なら断然Ruby
表現力が高くて標準で便利機能が多く用意されてるのでつまずきにくい
公式チュートリアルをサクッとやってみて比べると良いと思う
https://www.ruby-lang.org/ja/documentation/quickstart/
https://docs.python.org/ja/3/tutorial/index.html

816 :
Windowsで業務効率化ならそのままVBAを極めるかC#かな
効率化だけならPowershellも悪くない

PythonかRubyを学ぶ目的があって業務効率化は副産物という話なら感性に任せるのがいい

Rubyは落ち目でPythonは流行ってるけど、ウェブ系ではまだ食べまだRubyのがはるかに強くて、機械学習ならPythonしかない

817 :
皆さん、ご回答ありがとうございます。
C#やTypeScriptは事前コンパイルが要るのであまり食指が動いていません。
ダブルクリック即実行がとても嬉しいです。ただ、VBSはWSHによるダブルクリック即実行&InputBox標準搭載がとても魅力的ですが、やれることが少ないのとコードが長くなり過ぎることと将来性がゼロなことからやる気は有りません。
PowerShellはダブルクリック実行のためにセキュリティ解除したシェバンを書いたり、色々面倒なのでやはり食指が動きません。
最近Rubyを始めてみたのですが、以下のコードを先頭にシェバンしたバッチを書けばダブルクリック実行できるのでとてもありがたく思っています。
@echo off
@ruby -x "%~f0" 2>%~n0.err
@for %%i in ("%~n0.err") do if %%~zi == 0 (del /s /q "%~n0.err") >NUL
@exit /b

こういった観点を踏まえてアドバイスを頂けるととても嬉しいです。

818 :
なんだこれは

・Rubyを使い続けましょう というお墨付き
・Pythonは使わなくてもいいですよ というお墨付き

どちらが欲しいんだ?

お前の心情に合わせていくらでも作文するぞ
納得や満足を満たす他人からの追従文が欲しいんだろ?
どっちかと聞かれてんのに実はすでにRuby使ってましたとか、高度な話法すぎて一般人には理解不可能だ

819 :
>>817
コンパイルは嫌ってのはわかったけど
実際どういう類の処理をスクリプトで書きたいの?
もしバッチファイルはもう嫌だって話なら
CygwinとかUnix likeな環境いれてbashやzshって選択もある
rubyなら簡単に書けるといっても
例えばcurlとgrepとちょっとしたファイル操作で済むような処理なら
シェルのほうが書くほうがずっと楽だよ

820 :
まぁRubyでいいんじゃないかな
俺も長いことRuby使っててPythonに移ったけど、特に不満があって辞めたわけじゃない

821 :
ファイル操作系が主だけどシェルじゃなくRubyかPythonが良いんだって話なら
1つ2つ簡単な処理を両方で作ってみて比べるのが一番いい
ディレクトリを引数で渡して、その中にある.txtのファイルに連番を振っていく処理とか
振った連番を_1.txtじゃなく_001.txtに変更する処理とかそういうやつ
それやるとファイル操作・コレクション処理・テキスト操作・正規表現みたいな基礎的なところで
言語の違いが感覚的にわかる
https://realpython.com/working-with-files-in-python/
https://www.rubyguides.com/2015/05/working-with-files-ruby/

822 :
仕事で何か制約があるわけでもないのに「勉強する言語を決めたい」って
ここでごちゃごちゃ聞かずにできること全部やっとけよ
使い分けだろうが何だろうがその後からついてくる

823 :
私の状況をしっかり伝えていなかったため混乱が生じてすみません。

私は総務部門のIT係をしています。後輩が一人いて彼もメンテナーをする必要があります。
前任者から引き継いだバッチが汚くていじりにくいのと、無駄な部員の無駄な手作業が多いのを何とかするため、色々策を練っている最中です。

RubyとPythonのどちらがいいか聞いていおいて、先にRubyを始めているというのは混乱させるもので、すみませんでした。
Rubyも始めたばかりで、これから続けていいものかがよくわからないため、他の選択肢とフラットに考えたくてこのように質問しました。

部門のIT音痴のメンバにも操作させることが肝要なので、ダブルクリックで実行できることは必須です。部員のPCにRubyやPythonの環境をインストールする程度は良いですが、それ以上にローカルPC環境を大きく変更しないとまずいのも避けたいです。

コンパイル言語が嫌なのは、ソースと実行ファイルの二重管理をしたくないからです。
朝の一括バッチで部員全員に更新プログラムを反映するなどを考えているので、なるたけメンテファイル数を減らしたいと思っています。

こういった条件で再度、ご教授いただけると大変嬉しいです。

824 :
お仕事の話で食指がどうこう言われても
何がお気に召すのかさっぱり分からん
今んとこrubyで上手く行ってるならrubyで良いじゃない

825 :
>>824
食指という表現は質問者として不適切だったと思います。
失礼いたしました。

826 :
オフィスソフトのファイル操作ならVBA。
テキストファイルやバッチ処理ならRuby。
データベース管理ならSQL。
どちらも変数名や関数名に日本語が使える。

827 :
ウニコード浸透するまでマルチバイトネームをキーにするんじゃない!

828 :
>>823
配布有りなのかぁ
記述の容易さを考えるとRubyが良いと思うが配布有りだとそこの部分の手間はかかる

RubyでもPythonでもちょっと気の利いたことをやろうと思えば
外部のパッケージをダウンロードして使うことになるんだけど
その場合ソース以外に依存パッケージを記述したファイルも必要。
でユーザーがスクリプト実行する時にそれらの依存パッケージがダウンロードされる

RubyやPython自体の環境の管理やアップデートも必要
だいたい1ヶ月~3ヶ月に1回は更新がある

あとはRubyやPythonの環境含めて1つのexeにしてくれるようなツールもあるけど
それやるとソースと実行ファイルの二重管理と同じことが必要になるから
環境管理の手間と実行ファイル管理の手間とのバランス次第

829 :
>>826
VBAは今までもちょくちょく使って来ましたが、最近RubyでWIN32OLEを使うようになって、特にRubyでやってもかなり同様のことが出来るなと感じています。
SQLってADOとかで接続する時にこれまでも使ってきましたが、単独で使うイメージが有りません。

830 :
>>817
次前コンパイルという手順をコンピューター側で自動にしておけば、
スクリプト言語とかわらないんだがな。

831 :
TypeScriptでもライブコーディングできるのにな。

832 :
>>830
これって簡単なんですか?
オペレーター側のローカルPCのの環境セットアップが簡単ならやりたいです。

833 :
ユーザーにスクリプトをいじらせる必要がなくてダブルクリックで実行できればいいなら
配布はC#が一番楽だな。

834 :
スキル上げしてたら、極悪扱いされた。。。
ペット虐待ではあるが・・・。
http://o.2ch.sc/1jykc.png

835 :
ゴバーク!すまぬ。

836 :
>>832
ts-node とか deno
配布に関してはrubyと同じ問題抱えるから
部員のリテラシーも考慮して自分でトレードオフ見極めるしかない

837 :
>>817
例えば、Ruby で、以下のコードを、script.rb に書く

そして、ダブルクリックで起動できるように、
script.bat ファイルに、ruby .\script.rb と書く。
または、script.vbs ファイルに、CreateObject("WScript.Shell").Run "ruby .\script.rb", 0
(各ファイルが、同じフォルダ内にある場合)

クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる

str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

ary = str.each_line.map( &:strip ) # 連続する空白類を除去する

IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end

他にも、FileUtils::DryRun も便利。
ファイル操作を実際にしないで、どういう処理が行われるかだけを確かめる。
PowerShell の、-WhatIf と同じ

他には、VSCode, Node.js もインストールしておけばよい

838 :
>>817
PowerShell スクリプトも、同様に、bat, vbs から、ダブルクリックで起動できるだろ
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
例えば、script.vbs ファイルに、
CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0
同様に、script.bat ファイルにも、
powershell .\script.ps1 と書けば、ダブルクリックで起動できるだろ

839 :
>>838
色々ありがとうございます。
私が、batでrubyのシェバンをする理由は、ファイルが一つで済むようにという意図が大きいです。
そちらの観点だとなにかオススメはありますでしょうか。

840 :
operatorを大量に使う時、
+ A
+ B
+ C
と、、
A +
B +
C +
のどっちが普通でしょうか?A/B/Cは変数名が入るので結構長かったりもします。

841 :
>>840
operatorを大量に使う時とは?

842 :
>>841
画面内に配置した大量(数は状況次第で、最小120、最大でたぶん1000以上)のオブジェクトの座標から、
次に配置するオブジェクトの座標を決める必要があるので・・・

843 :
>>817
@echo off
@ruby -x "%~f0" 2>%~n0.err
@for %%i in ("%~n0.err") do if %%~zi == 0 (del /s /q "%~n0.err") >NUL
@exit /b

こういうのは、Perl 並みに、可読性が悪くて、意味がわからないw
こんな暗号みたいなコードを、誰も保守できないだろ

VBS, PowerShell でも、Ruby よりは可読性が悪いから、保守しづらい

やっぱり、Rubyで、script.rb に、コードを書いたら、
端末から、ruby script.rb で実行もできるし、

それをダブルクリックで起動したいのなら、
script.bat, script.vbs ファイルに、起動部分だけを書く方がよい

まさに、アプリのショートカットも、同じ仕組み。
アプリと起動部分を分けてる

それと名前欄に、811 と入れて投稿してください。
投稿者が、誰か分からないので

844 :
>>843
.rbの拡張子をrubyに関連付けすればscript.rbのダブルクリックでスクリプト実行できるよ
-xオプション付きにしたければそういう関連付けも可能
そのバッチは引数で渡されたrubyのコードを含むファイルを-xオプション付きで実行して
標準エラーをファイルに書いてサイズが0なら削除するっていう内容だけど
rubyでエラーハンドリングしてログファイルに書き出せば基本的にいらないと思う

845 :
>>842
処理の目的は理解できたんだけど
オペランドが1つの"+"オペレータってどういうものなの?

改行が式や文の区切りではなくて
A + B + C + と +A + B + C ?

いずれにしろ使ってる言語のスタイルガイドを参考にして決めればいいと思う
処理的にはループやコレクションで抽象化して
オペレータを大量に書かなくてもいい仕組みを考えたほうが良さげ

846 :
>>842
オペレーターが大量か少量かによらず、改行が必要なとき、二項演算子の前と後ろどちらに改行を入れるのかをコーディングルールで定めるべき
可読性の面で演算子が先に来る方が俺は好きだ

847 :
>>842
最小120ですべて個別の変数名ってありえないよ
そんなクソコード誰に保守させるつもり?

848 :
画面に似たようなオブジェクトが100個もあるなら普通は配列かstd::vectorなどを使うだろ。

849 :
みあんさんありがとうございます。
仰る通りコレクション化してしまえば、
2Dゲームの「衝突判定 → 判定結果によって移動させる」やり方がほぼそのまま使えそうです。
くだらない質問ですみませんでした。

850 :
昔「弾幕」って本買ったけど積読したまま押入れの肥やしにしてるのを思い出した

851 :
読もうとしたが、日がZUNZUN沈む とか?

852 :
ここ3日間くらいの「RubyとPythonどっち」っていうやりとりに便乗させてください。

だいぶ前ですが、質問者さんと同様に自分もスクリプト言語を習得したくなって、
ネット上で調べたり聞いたりしたことがありました。
「WindowsでRubyを使うと罠にハマることが多い。地雷原を歩くようなもの」
といったご意見が複数あり、Rubyは候補から外しました。

今回のやりとりでRubyを勧められてる方が多いので少し驚きました。
テキスト処理程度ならWindowsで利用するのも問題ないのでしょうか。
自分は結局、どのWindows PCにも入っていてるという利点に惹かれてPowerShellを
使うようになったのですが、入門書/入門サイトで少しだけ触った好感度でいうと
Ruby>Python≧PowerShell でした。
すぐにPowerShellから乗り換えようとまでは思わないのですが、今後の参考のために
教えてください。

853 :
これだけ長文で質問がかかれてなくて句点付きか…
なかなかの才能の持ち主だと思った

854 :
>>853
すみません、回りくどかったです。質問は下記のとおりです。
テキスト処理程度ならWindowsで利用するのも問題ないのでしょうか。

855 :
>>851
すまんが元ネタわからない
>>852
Unix系に比べると
- 最初の環境セットアップのハードルがやや高い
- 文字コードでつまづく可能性あり(これはPythonでも同じ)
- RubyのWindowsユーザーが少ないので情報量が少ない
10年近く前に数年間CygwinでRuby使ってたけどRubyが直接の原因で困った記憶はない
文字コード関連の問題と使いたいUnixツールが使えないってのはよくあった
ってことで俺は全く問題ないと思うがそこは自分で試して見るほかないと思う

856 :
皆さんの意見を総合するとRubyが一番良さげですね。
加えて、C#&EXE化も検討します。
ありがとうございました。

857 :
テキスト処理はPerlが最強なんだがな

858 :
正直テキスト処理程度で最強を争ってもしょうがない
テキスト処理はソフトウェア開発に置いて
一分野でしか無い

859 :
>>855
詳しくありがとうございます。
過度に心配することはないみたいですね。
機会があれば試してみようと思います。

860 :
>>857
Perlは私には難しかったです・・・。
PowerShellをやるまえにPerlの入門書を読んで、
簡単なスクリプトを書いて使うことはできたのですが
1〜2年プログラミングから離れたあと書こうとするとすっかり忘れてしまって
3回入門しなおして、あきらめました。
VBAやPowerShellでもある程度忘れるのですが
Perlのほうが記号のたぐいが多くて、暗記力のない私にとっては忘却度が深刻でした。

861 :
テキスト処理でこまったらまたperl初めるといいよ
等分はrubyで

862 :
ありがとうございます。

863 :
Perlがやっぱりかんたんだな

864 :
>>852
>>813-814
に書いてある。
Windows でも、CSV・テキスト処理程度なら問題ない
1つ前のバージョンを使えばよい。
Mac/Linux ならRuby 2.6 で、WindowsならRuby2.5
Windowsでは、irb, pry のようなREPL は、日本語でバグるから、ダメ!
漏れは、ユーザー環境変数、RUBYOPT に、--encoding=UTF-8 を設定しているから、irb は使えない。
Windows とのやり取りを、UTF-8だけに限定しているから、CP932 では動かない
代わりに、VSCode で、Code Runner という拡張機能で、
右クリックメニューから、選択したコードを実行する
他には、1-liner で、クォーテーションの解釈でバグるから、%Q( ) で、囲む必要がある。
-p オプションにバグがあるから、代わりに、-n を使う
Linux では、
ls | ruby -ne 'puts $_.center(20, "-")'
Windows では、
ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'

865 :
Perl は、暗号みたいで可読性が低い。
PowerShell, VBS は、あまり複雑なものは無理
結局、CSV・テキスト処理は、Ruby になる

866 :
こういう時のRubyくんは頼もしいなw

867 :
最初Perlを覚えようとして数分でギブアップしてRubyにしたな
必要があればPythonやLua、JScriptも書くが基本Rubyだわ。コード効率が全然違う
そういやRubyってWindowsのコマンドライン引数をUnicodeで取れるようになったのか?
ちょっと前のバージョンだとダメだった記憶があるが

868 :
Windowsでは、irb, pry のようなREPL は、日本語でバグるから、ダメ!
漏れはWindowsで、ユーザー環境変数、RUBYOPT に、--encoding=UTF-8 を設定しているから、
irb, pry のような、CP932 でやり取りする、REPL は使えない。
Windows とのやり取りを、UTF-8だけに限定しているから、CP932 では動かない
VSCode で作って、PowerShell から実行する
「ruby オプション script.rb 引数」の形
それをダブルクリックで起動したいのなら、
script.bat, script.vbs ファイルに、起動部分だけを書く
.rb の拡張子を、ダブルクリックに紐づけると、不注意で起動されてしまうので危険!

869 :
>>868

>>817のshebangが最強ってことじゃない?

870 :
>>866
いやいやRubyくんは知識が中途半端だから
問題の本質がわかってないだけだよw

話は単純で、RubyやPerlなどUnixやLinuxに最適化されてるものは
ファイルの文字コードにはUTF-8を使うようにしましょうと言うだけの話。
(ファイルの文字コードは元からUnicodeなので問題は起きない)

Windowsもコマンドプロンプトはデフォルトこそ(日本語設定では)ShiftJISだが
UTF-8対応してるし、WSLはUTF-8が基本。

スクリプトファイルをUTF-8で記述するようにし(メモ帳ですらUTF-8対応してる)、
そこから読み込むデータファイルをUTF-8にすることで、LinuxでもWindowsでも
文字コードの問題は一切発生しなくなる。

UTF-8を使うだけで文字コードの問題はすべて解決するというわけ

もしスクリプトファイルからShiftJISのファイルを扱いたければ、
スクリプト外のiconvやnkfを使って変換すればよい。もうUTF-8に統一しよう。

871 :
2.5に--encoding=UTF-8を付けるとARGVはUnicode対応になるようだ

>>870
昔のWindows版RubyはARGVがCP932決め打ちだったと記憶している
そのためCP932に含まれない文字列を含む引数の扱いに難があった

872 :
_ismbsleadや_ismbstrailって、Shift-JISのような2バイト文字のときはわかるけど、
UTF-8のような3バイト以上の文字のときは、どのような動作になるのでしょうか。
それとも、2バイト文字専用の関数ですか?

873 :
javascriptのデータ型の質問です

var num = [10,20,30,];

var num2 =num;

num[1] =50;

console.log(num2);//結果10,50,30

配列は参照型なのでこの結果には納得できますが

var num = [10,20,30,];

var num2 =num;

num =[40,50,60];

console.log(num2);//結果10,20,30
console.log(num)//結果40,50,60

この場合なぜnum2の値は変わらないのですか?
配列を全て入れ替えると、num2に入れたnumとは別物(参照先が別)扱いになるのですか?

874 :
num = [40,50,60];

num[0] = 40; num[1] = 50; num[2] = 60;
ではなくて
num = new Array(40,50,60);
だから
添字のブラケットとブラケット構文は別物です

875 :
JSの[N,M]は配列リテラルなので、それそのものが配列として機能したと思う。

876 :
>>873
num2 = num;
は箱の場所(住所みたいなもの)を num と同じにしろ、という意味。
だから、num[1] =50; とすると、num2[1] も 50 になる。
一方、
num =[40,50,60];
とすると、「今までの num の場所に右辺をコピーして上書きしろ」
という「意味ではなく(!!)」、
「num という変数の『指している』対象を右辺の置いてある場所(先頭)に変えろ」
という意味。だから、num2には全く影響を与えず、num2は依然として
昔の箱の場所を指し続けている。

877 :
皆さんいろいろ教えていただいてありがとうございました。
近いうちにRubyを導入してみようと思います。

878 :
>>871
それはコマンドプロンプトの問題だったんじゃないかなぁ
Cygwinだと1.9時代でも問題なかったよ

>>868
>Windowsでは、irb, pry のようなREPL は、日本語でバグるから、ダメ!
「バグる」で思考停止せずに問題を切り分けよう
https://github.com/pry/pry/wiki/Windows-support

>.rb の拡張子を、ダブルクリックに紐づけると、不注意で起動されてしまうので危険!
これはその通りだけど、.batでも.vbsでも同じようなものじゃないの?
セキュリティも考えるなら署名付きPowerShellとかのほうが安全ではあるよね

879 :
>>872
どういう動作になるかはわからないけど
MBCS用の関数だからUnicodeには対応してないんじゃない?
VC系のスレで聞いたほうがいいかも

880 :
>>874-876
num40,50,60は別の配列で初めnumとは参照先が違うという認識でいんですね
ありがとうございました。

881 :
ココまでの流れを見ると、PythonはAIやらない限りRubyに劣るという認識でよろしいですか?
文法やライブラリで勝るところって何か無いのでしょうか?

882 :
>>881
全然認識が違う
Pythonが劣っている訳ではなくて、Python使えますというと数学力や機械学習を期待されてしまい、それがない人は辛くなる
なおPythonが文法で勝るところは余りないように思うが、別に負けているとも感じない
Rubyのメソッドチェーンは素直に羨ましい
Pythonのimport/from importの仕様やジェネレータの仕様はなんだかなぁ状態
Rubyはメソッド周りがわけわかめ、def、proc、porc.new、->はなんとかならんかったのか
強力なライブラリはRubyよりもPythonのが多い
pandasやnumpyがめっちゃ強力、matplotlib,seaborn,plotlyでグラフもOK
JupyterがあるのもPythonの利点だったけど、最近はRubyも使える
画像処理は外部ライブラリを使うだけなので似たり寄ったり
C言語とのバインドはRubyでswig使うよりはPythonのが簡単に思う
Python2の頃は日本語処理が酷かったが、pytjon3になってからはそうでもない
バージョンアップごとの対応はどっちも辛かった
Ruby 1.8 -> 1.9 -> 2.0で都度キレた
Pythonは2.7から3系になったときに同じくキレた
4系でも多分キレると思う

883 :
>>881
Rubyの標準クラスライブラリのリッチさは上位組だと思うけど
素の状態で勝負したらPythonに勝ち目はないね

884 :
Python は東大数学科・大学院など、数学・統計学などの重要度が高いから、あまりプログラミングと関係ない。
プログラマーのキャリアパス上からは、仕事が得られない
学歴・大学院などの要素が大きい。
MBA など、文系の修士号から来る人も多い
プログラミングは、手を動かすものだけど、
低学歴プログラマーが頑張っても、なんともならない領域
YouTube で、KENTA が言ってる通り、
初心者が1年勉強して、仕事を取れることがない。
周りが高学歴ばっかりだから
一方、Ruby は、Web 系サーバー側に限定されているから、プログラマーのキャリアパス上にある。
Ruby → JavaScript, Go, Elixir, Kotlin。
サーバー側の正統派のキャリアパス
最先端の自社サービス、GitHub, Airbnb, Kickstarter、
Cookpad、食べログ、Gunosy など
Rubyは、Java みたいな、5大SIer・多重下請け構造・階層ピラミッド・土方系とは異なる。
階層に入ると、1社経由する度に、3割抜かれる(システムの請負料金・保証料金)

885 :
Rubyは作者が日本人だけあって言語が一時しのぎの感情論で作られていて論理性が全く感じられず
使うだけで洗脳されて馬鹿になるからやめた方がいい
pythonはその反対

886 :
↑などという論理性が全く感じられない感情論を吐くのが
洗脳されて馬鹿になってる証拠

887 :
Rubyは作者が日本人だけあって言語が一時しのぎの感情論で作られていて論理性が全く感じられない。
ちょっと使ってみただけでも、そんな感じになってるのが感覚的にわかるだろ
その雰囲気を肌で感じることが出来ないやつは、論理性がなく感情論で話をしてる

888 :
そういうボケ方好きよ

889 :
>>887
Rubyの論理性の無さの例を教えて下さい。

890 :
PC用のソフトウェアが、スマホアプリのように気軽に課金される日は来ると思う?
PCから割れの被害がなくなる日は来ると思う?

891 :
>>890
板のテンプレ読め。マ板でやれ

892 :
>>890
バカじゃねえのか
有料課金質問サイトで質問しろよ

おめーはネタと情報はタダだと思ってんだろ
だからそれでいいんだよ

893 :
独自URLを定義したいんだけど
ただ自分のアプリ(localhost動作)で使うだけのURLの場合、スキームはどうすべき?
dokuzi://my.app/

URLを使いたいのは、ただそうするのが標準だからかなと思ったから。
外部アプリから自分のアプリが管理してるデータへの参照を、
どんな文字列でもよかったんだけど、
どうせならURLっぽくやろうかなと思った。

894 :
>>893
Custom URL Scheme, Deep Link, Universal Link, iOS/Androidとかのキーワードでググる

895 :
カスタムURIスキームの利点はユーザーがURLを指定できるところに
何でも起動できちゃうURLを仕込めるというところにあるから
自アプリだけで完結しているなら利点はないしそこまで好き勝手に使っていいという気はしないな

896 :
Docker, Ruby on Rails(REST、リソースベースのルーティング)などを使えば?

897 :
Rubyはメソッドチェーンのおかげで最高の言語だと感じますが、間違いでしょうか?
grep、join、gsub、gsubってつながっていく様子が、まるで
ファイヤー、アイスストーム、ダイアキュート、ブレインダムド、ばよえ〜ん、
って印象です。

898 :
関数繋げるだけならlispと何が違うんだ?
ただし、個人の主観は絶対的に正しいので、オメーが最高の言語だと感じてるならどうぞお好きにとしか言いようがない
つまりは、個人の主観に間違いなし、だ
コイツの脳内で渦巻いてる主観には間違いは無いし間違いがあろうとなかろうとそれには気付けない
だから主観そのものは絶対的に正しい
よかったネ!

899 :
>>898
なぜそんなに喧嘩腰なの?

900 :
たぶん人違い
いろんなところに出没するrubyで荒すやつがいるんだ

901 :
あれは某国のアンチRuby工作員

902 :
フォームから入力した値をDBに登録する際に、入力された値が決められた規則に従っているか確認したいので、
プログラムでチェックするべき範囲とDBのCHECK制約で行う範囲の明確な線引きとかガイドラインがあれば教えてください。

903 :
>>902
そんな雲をつかむような質問ではまともな回答しようがないので質問のガイドラインを勉強してきてください

904 :
まず、出来る限り、プログラムでチェックする。
ここでチェックできれば、ネット回線へ送られないから、すごく良い

DB 書き込みでは、すべてをチェックする。
ブラウザで、送られるデータをチートする人もいるので、必ずDB では、すべてチェックする!

基本、ブラウザから送られるデータを信用してはいけない!
チートしたり、伝送ミスで、データが間違っている事が多いから

905 :
CHECK制約は使わない
せいぜい保険の最終防壁
いろいろ理由はあるがDBが返す「CHECK制約xxに違反しました」といったエラー情報をまともなエラーメッセージに変換するのがまず厄介

906 :
>>905
最終防壁なら、バグでもない限りでないんだから、そんなエラーをまともなエラーメッセージに修正する必要ないじゃん
スタックトレースをわかりやすい日本語に直さなきゃいけない。みたいな
アホなことをお前は言ってるぞ。

907 :
クライアント側でチートしたり、伝送エラーがある

ドラクエでは、よくエラーが起こっているから、
インターネットから来るデータは、絶対に信用してはいけない!

途中のルーターで、伝送エラーを見つけても、再送せず、そのまま送ってくるし

908 :
クライアント側チェックとサーバー側チェックの話じゃないぞ

909 :
僕はたにぐちまこと先生を支持します

910 :
>>902
明確な線引きやガイドラインは無い!!

CHECK制約で守れる整合性の重要度、不整合発生時の影響度、DBにアクセスするプログラムの数、
採用してる設計手法、維持管理・変更時の手間、パフォーマンスペナルティ、プログラマーのレベル等々
置かれた状況とトレードオフを判断して設計者が決めること

プログラム側のみでチェックする場合もあれば
DB側のみでチェックしてプログラム側でユーザーフレンドリーなエラーにする場合もあるし
両方でチェックしてDB側エラーは集約ハンドラで汎用エラーにする場合もある

プログラムーはプログラムだけで保証したがる
DB屋はプログラマーを信用してないからCHECK制約をできるだけ使いたがる

911 :
そりゃ条件式の複雑度数が20を超えたらプログラムで対処、だろ
複雑度数がなんなのかは知らない

912 :
>>902
ガイドライン板行け

913 :
マルチエージェントシミュレーションをしようとしているのですが
シミュレーションを管理するクラスと各エージェントクラスはどのような関係にすべきでしょうか
各エージェントを管理クラスに保持すると一括してアップデートできて便利ですが、エージェントが他のエージェントの情報にアクセスできません

914 :
開発プロジェクトの谷間にて、業務効率化スクリプトの機能追加や改善を行っています。
VBA、VBS、Ruby、Perl等いろんな言語のスクリプトが混在していているのですが、皆はこれが厄介だと言います。

しかし、チームで一番若い新人が一番四苦八苦しているのは正規表現の解読であり、私が質問を受けるのももっぱら正規表現関連ばかりです。

結局、業務効率化スクリプトなんてのは、正規表現がわかればその都度、「早く書ける」「操作性が良いのが書ける」を考えて言語を選べばよいだけという認識で良いですかね?

915 :
正規表現なんて、少し難しい漢字を知ってる程度のレベル
知らなきゃ困るが、知っていたからっていい文章(コード)が書けるわけじゃない

916 :
>>906
早とちりだぞ
最終防壁として使う分にはいいが、CHECK制約単体でエラーチェックを賄うのはやめとけ、その理由の第一はメッセージのハンドリングがしにくから、という文意だ

917 :
>>914
「業務効率化スクリプト」って例えばどういう処理してるの?

918 :
>>917
他にも色々ありますが、以下のようなものが代表的です。

・プロジェクト新規参入者のPCキッティング
・適切な対象の適切なタイミングでのSVN更新補助
・CUnitでのアサートチェックに適さないテスト結果ログの比較自動化
・静的解析ツールでは出来ない開発Pjソース上の不適切箇所の検出

919 :
>>915

知ってたらいいものが書けるわけじゃないけど、知らないと全く以てスクリプトが書けないのだから、覚える以外に無いでしょう?
十分条件ではなく必要条件だということなだけなんですから。

920 :
こういうサイト使って正規表現のテスト実行環境を整備すると理解が深まるかもしれない
URLくっそ長くなるけど
https://fatiherikli.github.io/fil

921 :
>>918
おお、想像してたのと全然違った

基本的には読みやすさとメンテのしやすさを考えてベースとなる標準言語を決めておいて
処理内容の特性によって違う言語を選択するようなゆるいルールを作っとくほうがおすすめ

自分はチームメンバー10人いれば下から3番目くらいのメンバーの技術レベルに寄せる
2人くらいできないやつがいても残りでカバーできるから

あと正規表現はもともと読みにくくなりやすいから部品に分解してコメント書いたり
多少遅くても読みやすい表現を選んだり簡単なテストコードを残すとかドキュメント生成とかする
言語によっては正規表現は一続きで書かないとダメなやつもあるからその辺も選択基準になる

922 :
>>913
シミュレーションはわからないけど
エージェントが必要としてる他のエージェントへの参照を管理クラスが渡してやればいいんじゃないの?

923 :
>>921
>おお、想像してたのと全然違った

どんなのを想像されていたのでしょうか?

>ベースとなる標準言語を決めておいて

標準とするならRubyでしょうね。Perlについては昔Perl大好きくんがいたから残っているだけで、新規に書く理由がないですからね。
VBSはInputBoxが標準で使えることと、Win環境である限りどこに持っていっても動くという利点以外に利点が無いので、こいつもRuby化したいですね。
VBAだけは、C#アドイン化が大変なのと、外部化するメリットが無いものが多いのでそのままメンテかな…。

924 :
>>913
>エージェントが、他のエージェントの情報にアクセスできません
たぶん、Chef, Kubernetes などでも、
エージェント同士が直接アクセスする事は、認めていないと思う
そういうプログラミングは、難しすぎて出来ない。
多くのエージェント間で、整合性が取れない
必ず、エージェントはマネージャーに頼んで、マネージャーが仕切るはず!
デザインパターンで言うと、
直接やり取りのObserver(発行/購読)ではなく、
マネージャー経由のMediator(管制塔)

925 :
>>914
テキスト処理なら、総合的に考えて、Ruby が良い!
Rubyでは、Perl 由来の暗号のような変数、$;, $< なども、使わないようにしていく方向

正規表現は、入れ子構造のあるものに対して、使ってはいけない!
例えば、URL の解析でも数千行あるから、複雑すぎて、一企業じゃ作れない

<div 1>
<div><div></div 4></div>
<div></div>
</div 8>

例えばこれを、div で最短マッチしても、div 1・4が対応してしまう。
これらすべてを正しく対応させるのは、至難の業

他にも、CSV 処理を、CSV Module を使わずに、正規表現でやってる人も、ダメ!
CSV, JSON, HTML など、入れ子構造を持つものは、パーサーで処理しないといけない!

正規表現では、数千行も必要だから、無理!

926 :
Perlが廃れた理由が分かった
普通の人間には正規表現が難し過ぎるんだ
その部分がモロに出てるperlは忌避される

927 :
ぜんぜん違う。

928 :
廃れた理由はオブジェクト指向じゃないから

正確に言えば、オブジェクト指向をすることもできるし、
そのためのモジュールもあるが、どれもスタンダードにはならなかった。
モジュールを使わずにオブジェクト指向もできるがめんどくさい。
基本的な部分で書き方が色々ありすぎて統一できなかった。

929 :
Hooksのようにオブジェクト指向から関数に時代は流れているのだよ。

930 :
pop shift のように副作用のある関数があるのでperlで関数型で書くのは感覚的につらい
副作用多め、OOデフォルトではないことが python, ruby より速い理由かも

931 :
> Hooksのように

な?そういう流れだと主張する言語は
マイナーだってわかるやろ?

932 :
>>926
XMLやJSONのパースを正規表現でやろうとする人っているのですか?
CSVやTSVならやりそうな人はいると思いますが…。
>>926
正規表現は別にPerlに特化したものではないと思いますが…。
>>928
Perlはオブジェクト指向であるかどうかの前に、サブルーチンの形がまともな形になっていません。まるでMS-DOSのバッチのような印象。
このように前時代のスクリプト言語だという印象をプンプンさせていることが廃れた原因ではないでしょうか?

933 :
CGIからperl6とかweb2.0などへの展開が失敗しただけで
前時代のスクリプト言語としては生き残り続ける

934 :
>>931
Hooksがマイナー?
お前はどこの時空を漂ってんだ?

935 :
なぜRubyスレではPythonネタ禁止でないのに、PythonスレではRubyネタ禁止なんですか?

936 :
Rubyを語る奴がキチガイじみてて嫌われてるだけや

937 :
Rubyはキチガイが使う言語なのですか?

938 :
Rubyはキチガイが使う言語なのですか?

939 :
>>938
いいえ。自治に関する話は他でやってください

940 :
>>935
>RubyスレではPythonネタ禁止でない
その認識は危険
敢えて明記する必要がないってだけ

941 :
趣味でプログラムをやってます

と言っても数年に一度どうしても
自分の他の趣味で欲しい機能があってそれをプラグイン作ったり変換機能を作ったりするだけなんですが

また何年かぶりにやろうと思うのですが
今回はCとか絡んで難しそうです

学習とか人に教えてもらうとか
何年も前は2ちゃんで教えて貰ってましたが
今は色々なサイト?があるみたいなんですけど
やる気の維持とか交流とかアドバイスとかどこで貰ってますか?

942 :
>>941
私はここで元気を貰っています
https://mevius.2ch.sc/test/read.cgi/tech/1564310397/

943 :
江端式クローズドマインド

「江端式クローズドマインド」を、ワンフレーズで纏めるのであれば、

Let's explain "Ebata-style closed mind" as one phrase.

『自分のやりたいことがあるなら、目を瞑り、耳を塞ぎ、誰とも口をきかずに、走り続けろ』

"Continue running without closing your eyes, covering your ears, and speaking to anyone, if you have what you want to do".

ということになります。

--?

もし、あなたに、本当にやりたいことがあるなら、

If you have what you really want to do

―― 「仲間」「つながる」「絆」「コミュニティ」「KY」「スマホ」「オフサイトミーティング」等々 ――

"Friends”, “bond", "community", "KY", "Smartphone", "off site meetings", etc., etc...

アホなことに時間を使っている場合ではありません。

you should not spend your time for such stupid acts.

944 :
あるソフト作ったとき英語圏ではどこで宣伝すればいいかな? twitter以外で。
日本だとqiitaにでも書いていれば釣れるが

945 :
英語圏の掲示板で聞いたら

946 :
そういう掲示板を聞いてるんだよw

947 :
Reddit
SoftPedia

948 :
>>942
実のところ自分の作るだけで精一杯で人のお題とかは無理かも

>>943
気取っててキモい

949 :
SteamのUtilityカテで公開
https://store.steampowered.com/tags/en/Utilities/

Wallpaper Engineなんかは糞ほど売れたな

950 :
pcの省電力設定によってpythonのtime.sleepなどが正常に動作しないことって有りえますか?

951 :
Windows10、Visual Studio CodeとDocker ToolBoxを使っています。

PCを再起動する毎にDocker関連のコマンドを打つのが面倒なのですが
(docker-machine startやdocker startやdocker exec -i -tなど)
これら一通りのコマンドを、VSCode上で自動で打ち込んでくれるにはどうすれば良いでしょうか?

よくもわからず手探り状態で、
.shファイルを作りそこにdockerのコマンドを列挙して
そのファイルをVSCode上のターミナルからアクセスしてみると
VSCode上のターミナルではなく、Windows10のCMDでコードが実行されてしまいますし、
かつ途中でCMDが終了してしまい上手くいきません

宜しくお願いします。

952 :
>>951
Windowsのスタートアップ機能。

VSCodeターミナルのプログラムのコマンドラインを調べよ。

953 :
Windows のスタートアップとか、

Ruby で書くとか、
VSCode なら、npm scripts, gulp など

954 :
漏れは、WSL, Ubuntu 16.04 で、
apt するのにも、一々入力するのが面倒なので、
Ruby で、apt-get を使って、書いてる

Rubyは万能!
シェルスクリプトに悩まされる事もないw

#!/usr/bin/ruby

# 全パッケージの更新

# sudo のパスワードを自動入力する
puts `echo パスワード | sudo -S apt-get update`

# アップグレードできるパッケージを、一覧表示する
puts `sudo apt-get upgrade -yV`

955 :
>>954
スクリプトにパスワード書くな

956 :
>>955
そいつに触るな

957 :
ある人工知能の本では最尤推定を微分の値が0になる方程式を解くことでパラメータの最適解を求めていました
しかしディープラーニングの説明部分では、数式が複雑になっため上のような方法を取れず、それゆえ勾配降下法でパラメータを求めていると書いてありました

数式が複雑になったのはわかるのですが、なぜ複雑になると上のような方法でパラメータを求めらないのでしょうか?
全微分した時に0になる方程式を解いてパラメータ求めればいけそうだとは思いますが、求めるパラメータが複数になると無理なのでしょうか?

958 :
解析的に解けないだけで別に勾配降下法が全てではない
研究などで分布を仮定して解く必要があふ場合は最尤推定法が今でも使われてる
ただその場合はMCMCが主に使われる

959 :
以下を10年後消えている言語と消えていない言語に仕分けていただけますでしょうか。

C
C#
C++
C++/CLI
COBOL
FORTRAN
Go
Haskell
Java
JavaScript
Kotlin
LISP
Objective-C
Perl
PHP
PowerShell
Python
Ruby
Rust
Scala
Swift
TypeScript
VBScript
Visual Basic for Applications
Visual Basic .NET

消えるというのは、「2019年現在でPascal/Delphi程度に使われていない状態」という定義でお願いします。

960 :
誰もわかりません

961 :
プログラミング言語は突然流行って突然死ぬからだれにも優劣は解らない。

962 :
いや優劣は聞いてないと思うぞ
Delphi基準の消えるなら、濃厚なのは
COBOL
FORTRAN
LISP
Perl
Scala
VBScript

963 :
>>961
優劣については全く質問していません。

>>962
FORTRANを新たに書く人がいるので、意外と無くならない気がします。
最新スパコン富岳がサポートしているのもC,C++、FORTRANですし。

COBOLも20年前からJavaへの置換えが進んでいますが、未だに道半ばです。10年くらいでは無くならないのではないでしょうか。
さらに10年は必要な気がします。

一番簡単に無くなれそうなのはPerlですが、データこねくり回すのを商売にしている人がこの言語を完全に捨ててくれるものなのかが気になります。

964 :
iOSやAndroidはLinuxやWindowsと違って業務用大規模システムが無いのです。だからいつ終焉を迎えるかわかりません。
このため、KotlinやSwiftの方がCOBOLよりも寿命が短い可能性が高いと私は考えますが、皆さんはどう思いますか?

965 :
tiobeの変遷でも調べときゃいいだろ

966 :
>>965
tiobeだと現在時点でPerlがPASCALより下ですが、これは本当なのか?と感じます。

967 :
業界談義はマ板でやれって書いてあるのが分からんのかアホども

968 :
>>963
Object Pascalの案件も完全に消えたわけではないし、エンジニアスキルの調査ではCOBOLもFORTRANも既にシェアを下回ってる
日本限定の話ならともかく、ハードウェアの寿命もあるから根絶はできなくてもシェア低下は避けがたいよ

969 :
質問スレでアンケ、議論やるやつはキチガイだからスルー

970 :
あれ?優劣って書いたっけ。うーん。。。
意匠の無視だわ〜。

971 :
プログラミングそのものというよりOSの仕組みの質問だが
HDD上の良く使うファイルをメインメモリにキャッシュしておく仕組みってあるんだろうか?
もしあるなら、メモリを大量に積んでいれば巨大なファイルをHDDにおいてプログラムから使用しても
初期ロードが遅いだけで次回アクセスは高速ということになって俺のプログラムの設計が変わる。

972 :
>>971
記憶媒体側にディスクキャッシュというものがある。それにCPU側にもL1キャッシュ、L2キャッシュがある。ちなみにHDDはもう古くて、高速なSSDに移行しつつある。

973 :
xcopy /s * nul

974 :
>>971
メインメモリーに置きたいならWindowsならファイルマッピングを、Linuxならmmapを使うといい。

975 :
まだHDD使う理由ある。
SSD 1万円で1TB
HDD 1万円で6TB

ストレージ側キャッシュとかCPU側キャッシュじゃなくて
メインメモリキャッシュはないんだろうか?

976 :
コマンド打ってとかじゃなく
自動的にメモリが余ってたら最近使用したファイルをキャッシュしておく、
ってあってもよさそうだよなと思ったんだけど意外と検索しても見つからなくて。

977 :
>>971
普通にある。今使っているキャッシュの量は、
Windowsならタスクマネージャ→パフォーマンス→メモリ→キャッシュ済み
Linuxならfreeコマンドのbuff/cacheの値
で分かる。

978 :
あるのか。ありがとう。

979 :
スーパーフェッチとかそうやん
データも全てフェッチする

980 :
でも全く役に立たないんだから
プログラマーがそういう風にちゃんと作って
必要なファイル群をメモリに全部確保して
むやみに書き込み更新しなきゃいいだろ

で電源切れて必要な情報消えて、使えねーソフトとののしられて終わる

981 :
>>975
今の時代はこんなに安いのか
1万でHDD1TBの感覚だった

982 :
Swiftは結構やばいとおもう

983 :
>>963
COBOL の求人は、無くなったw
消滅w

984 :
目の前でおじいちゃんがCOBOLやっとる

985 :
パラメーターを調節できるスライダーを50個以上持ってるようなGUIを作ろうかと思ってるんですが、そのまま表示させると起動が遅くなる上に操作性も良くないです。

どうやったら大量のパラメーターをスマートに操作できるようなGUIになると思いますか?
ドロップダウンリストを使って、選んだ要素のスライダーだけ表示しようかとも思ったんですが、ドロップダウンリストでも50個もあると長くなりすぎる気がします。

986 :
>>985
きゅうりの重さのパラメーター、トマトの重さのパラメーター、にんじんの重さのパラメーター...みたいなのが50個以上ある感じのGUIです。

現状、明らかに冗長な感じになってしまってます。

987 :
重さについてはスライダーコントロール使わずに
リストビューに棒グラフみたいの直接描画して1クリックで数値切り替えるようなUIにすりゃいいんじゃないの
カーソルキーの← →による増減にも対応させて

数が多いのはタブやツリーで階層化したり
firefoxのabout:configみたいにインクリメンタルサーチで絞り込めるようにする
項目名をtomato.weightにしたりして

988 :
>>985
C++とMFCの組み合わせだとそのくらいでは全く遅くならない。

989 :
>>987
ありがとうございます
リストビューは良さそうですね
それでやってみようと思います
>>988
pythonで作ってるのでだいぶ遅いんです
C++を今から勉強して書き直すと時間がかなり掛かりそうなので今回はパスです

990 :
JavaScript で、DocumentFragment を使えば、50個ぐらい瞬時に起動する!

var frag = document.createDocumentFragment( );

var input = document.createElement( 'input' );
input.setAttribute( 'type', 'range' );
input.setAttribute( 'value', '50' );

for ( var i = 1; i <= 50; i++ ) {
frag.appendChild( input.cloneNode( false ) );
}

document.body.appendChild( frag );

991 :
DTMだと50くらいは普通か
https://synthax.jp/tl_files/images/products/firefaceufx/firefaceufx_totalmixfx.jpg

992 :
どうもPythonでGUIを作るとどうしても起動時の速度がバリ遅いので
C#かJavaで全部書き直そうかと思うんですが
MacとWindows両方で動くGUIアプリケーションを作る場合
C#とJava、どっちがいいですか?

993 :
俺ならC#で書いて、Macはmonoで動かすかも。
次点でJavaScript+electron。

994 :
>>993
ありがとうございます。monoっていうのがあるんですね
monoを使ってMacでC#をコンパイルして作ったexeファイルを配布したら
monoをインストールしてないMacマシンでも動作するか分かりますか?

995 :
>>994
monoをインストールせずに起動するのは現実的じゃない。
昔は出来たけどその頃はライブラリがLGPLだったからライセンス汚染された。
今はそこんとこどうなんだろう。使うのはmkbundle。

996 :
>>995
そうなんですね
では、一般のプログラムをしない人向けにアプリ開発して配布しようと思ったらやはりJavaでやるのが良さそう?ですかね
C++やCでGUIはちょっと難易度が高そうなので...
Electronは起動速度はどうなんでしょうか

997 :
electronはchromeと似たような感じ
読み込み多いので初回起動はもたつくけどキャッシュに乗ってれば2回目以降は速い

998 :
Ruby のERB で、index.html.erb に、以下のように書いてコンパイルすると、

<% 50.times do %>
<input type="range" value="50">
<% end %>

以下のように、index.html に、input タグが、50個並ぶ

<input type="range" value="50">
<input type="range" value="50">
...

この方法でも、ブラウザで瞬時に起動する!
Rails などのweb アプリは、こういう方法。
つまり、サーバー内で、ERB テンプレートから、HTML ファイルを作って送信する

PC 内のローカルファイルにアクセスするなら、Electron でも出来る。
VSCode は、Electron製。
ただし、プログラミングがJavaScript だから、Ruby よりも面倒

999 :2019/10/31
>>998
何かにバインドするなら、DOMだけ作っても意味ないだろ。
JSでReactなりVueなりで作ったほうが楽。

任天堂「今後C++は捨てJavaScriptで開発していく」
C++相談室 part148
VBAなんでも質問スレ Part2
【QBASIC互換!?】FreeBasic【GPL】 2
C++相談室 part135
仮想環境コンテナ総合スレ Docker、Vagrant等
PowerShell -Part 3
ふらっと C#,C♯,C#(初心者用) Part147
HelloWorld集めようぜ
多言語でforループを列挙していくスレ
--------------------
【MNPも】 どケチの携帯・スマホ17
【総合】【DQ11】ドラゴンクエストXI 過ぎ去りし時を求めて Part403
【ワッチョイなし】福岡市での一人暮らし 140
祝☆彡 広島カープ優勝!
パネルクイズアタック25 第53問目
郵便局「土曜日の郵便配達、無くてもいいよね」 [273194536]
■■ 国内クラウド/VPSスレ 13 ■■
JJの多幸感あふれる写真きたああああ!!
【汚臭】麺屋桐龍25【ご無礼します】
はじめの一歩●Round623●
【金子恵美】アンジャッシュ渡部の出演自粛に「順序が違う」「しっかり説明すべき」 [臼羅昆布★]
ポケモンGOナンパ 3
本大好きだけど、読むのが遅い。助けて。
【ガルパン】ガールズ&パンツァー戦車道大作戦part257
高安! 18
Supreme
(´・ω・`)の令和夏
プリン
ファルコン竹田 Part. 32
【AA】ArcheAge 質問スレ6 【アーキエイジ】
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼