X



スレ立てるまでもない質問はここで 149匹目
レス数が1000を超えています。これ以上書き込みはできません。
0053デフォルトの名無しさん
垢版 |
2018/11/17(土) 00:03:35.42ID:eQWBxdMf
おまえらのズボンの股間てしょんべん臭い?
0054デフォルトの名無しさん
垢版 |
2018/11/17(土) 00:24:47.18ID:/DEd7oJ8
かいでみるか
0055デフォルトの名無しさん
垢版 |
2018/11/17(土) 00:28:52.42ID:eQWBxdMf
おまえらの場合しょんべんとゆうより死臭しそうやもんな
嗅いでみるのは勘弁やで
0056デフォルトの名無しさん
垢版 |
2018/11/17(土) 02:43:49.49ID:932Ctqqz
Wikipedia には、LLVMのFrontEndとしてAdaも使えるかのように書かれているけど、
実際には、「作ろうとはしたけど完成してない」、という認識であってる?
0057デフォルトの名無しさん
垢版 |
2018/11/17(土) 03:38:56.71ID:LhPQgZnG
       /^ヽ
       /:;:;:;:\
        /:;:;:;:;:;:;:;:\
     / : : : : : :;:;:;\
    ./     : : : : ::\
    /: : : : : :    : : : ::\
  r‐|_: : : :       : : : ゙x─┐
,,イ ̄: : :: ̄ヽ        ̄: : : : :|__
|: : ¨Tヽ__   ゙ト       −-≡くニニニ==========--------─------──---
`ヽ、_ト-‐: : : ,,,__: : : : : :__: : ::}
    `ヽ ̄ ̄    ̄ ̄: : : /  ̄
     \      : : : : /
       \: : : : : : : : : :/
        \:;:;:;:;:;:;:;:;/
          \;:;:;:;:/
           `ー'
0058デフォルトの名無しさん
垢版 |
2018/11/23(金) 04:44:43.23ID:1Dk7fZPn
おまえらのパンツのマンコが当たってる部分ってやっぱりチーズとしょんべんとウンコが混ざった臭いがするの?
0059デフォルトの名無しさん
垢版 |
2018/11/23(金) 04:46:51.21ID:1Dk7fZPn
いや、おまえらの場合猛臭とか死臭しそうやもんな。
嗅いでみるのは勘弁やで。
0060デフォルトの名無しさん
垢版 |
2018/11/23(金) 04:59:58.08ID:1Dk7fZPn
マンコってなんであんなに臭いの?
臭いなんてもんじゃねえよなあれw
激臭というか猛臭というか死臭というか・・・・・・w
おまえらのマンコもやっぱり死臭がするの?
0061デフォルトの名無しさん
垢版 |
2018/11/23(金) 17:14:49.82ID:CsAlXDMt
>>55
テメー含め、雌共の股間の猛臭に比べたらいい匂いにすら感じられるわ。
それぐらいテメー含め雌共の股間の臭さは異常。
0062デフォルトの名無しさん
垢版 |
2018/11/23(金) 20:14:57.02ID:ROaTpR2G
>>61
ゆうときますが女が全て風俗嬢でわないですからね?
むしろかなり特殊なケースですよ風俗嬢はw
0063デフォルトの名無しさん
垢版 |
2018/11/24(土) 01:22:26.12ID:8QZAXYBM
Emscripten 試してるんだけど、コンパイル出力された HTML をブラウザで
見た場合、printf() が表示される Window が下部に表示されてしまう。
これを消す方法誰か知らない?
0064デフォルトの名無しさん
垢版 |
2018/11/24(土) 04:53:53.17ID:HayWP4Dg
別のユーザーにおいて既定のアプリに設定できません。
Windows10、1つのパソコンに複数ユーザーでその内の1つには自由に既定のプラグインが設定できるが、他のユーザーはできない。

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

およそネットで紹介されているトラブルシューティングを一通り試してみても全く既定のアプリが変更されなかった。
別のユーザーでは同じインストールプログラムは既定の設定ができているのでそれが原因でしょうか?
0066デフォルトの名無しさん
垢版 |
2018/11/24(土) 14:02:55.22ID:k2QA31uI
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 が関数が定義されていないと
いう旨のエラーを出す。
0068デフォルトの名無しさん
垢版 |
2018/11/24(土) 14:46:48.42ID:k2QA31uI
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 が消えてしまった
ということだろうか。それにしても、改善が見られないのはなぞ。
0069デフォルトの名無しさん
垢版 |
2018/11/24(土) 14:57:48.38ID:k2QA31uI
main() の一番最後に、
for ( ;; ) {
 emscripten_sleep(100);
}
を書くと直った。よかった・・・。
0072デフォルトの名無しさん
垢版 |
2018/11/24(土) 22:16:43.49ID:rhfYpUd4
Emscriptenを使えば、ブラウザでほとんどNativeアプリと同じことが出来るのではないかと
思ってたんだけど、日本語入力では問題が出るかもしれない?

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

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

この辺の修正がされない限り、どうにもならない気がする。
0074デフォルトの名無しさん
垢版 |
2018/11/24(土) 22:53:20.63ID:rhfYpUd4
マルチバイト文字は、イベントで受け取れるの?

調べてみたら、keydown はダメだけど、keypress の方は、Shift や Caps Lock を
処理した後のASCII CODE を返すらしいけれど、試してみると、IMEが入力した
MULTI B BYTE 文字は送られてこないように見えた。
0075デフォルトの名無しさん
垢版 |
2018/11/24(土) 23:13:32.43ID:rhfYpUd4
document.addEventListener('compostionend', function(event) {
 console.log('compostionend')
});

を試してみたけど、自分のブラウザじゃ、このイベントは来なかった。
2017年に決まった仕様?
0079デフォルトの名無しさん
垢版 |
2018/11/25(日) 08:19:44.81ID:hr7eujYV
>>77
なるほどそのイベントは来るようになった。
でも canvas タグの場合、日本語の文字コードはどこで拾えばいいのか分からん。
input タグなら拾えるけど。
0080デフォルトの名無しさん
垢版 |
2018/11/25(日) 08:46:32.63ID:EkScRF1o
そもそも使い方が間違ってるんだろ
canvasは絵を書くところであって
入力を受け付けるところではない
0081デフォルトの名無しさん
垢版 |
2018/11/25(日) 09:16:35.41ID:hr7eujYV
>>80
ブラウザでDTPソフトみたいなものを実装しようとすれば、canvas に書くしかないと
思う。その際どうすんの。

独自キャレットをグラフィックで書いて、その場所に透明な textarea タグを
絶対座標で配置し、入力が終わるたびに textarea から文字を取得。
それを canvas にfillText() で書いてから、textarea の中身をリセット。
それを繰り返す?
0082デフォルトの名無しさん
垢版 |
2018/11/25(日) 09:40:49.29ID:lrShJekd
ホントにtextareaを適切な場所に出せば良いだけだろ?透明である必用すらない。
素人が入力系作るな。ストレスたまるから。
禁則とか入力中の表示とか、溢れた部分のレンダリングをブラウザのコンポーネント以上にできるんなら透明コンポーネント使うってのもわかるが、
それ以下のものしか作れないのに透明にする必要ないだろ。
0084デフォルトの名無しさん
垢版 |
2018/11/25(日) 11:57:14.32ID:EkScRF1o
適材適所。そういうのはウェブでやるもんじゃないという証拠
ウェブはHTMLで文書を書いて、CSSでデザインを整えて
jQueryで軽く動きをつけていれば良いんだよ
0085デフォルトの名無しさん
垢版 |
2018/11/25(日) 12:37:11.50ID:hr7eujYV
隠れたTEXTAREAでやったら2バイト文字も取得できてきたんだけど、
今度は、compositionstart だけ呼ばれて、compositionend が
呼ばれない。
input タグで入力するとどちらも呼ばれる。訳分からん。
0087デフォルトの名無しさん
垢版 |
2018/11/25(日) 14:29:26.12ID:hr7eujYV
こうやって、英語用のアプリだけが、WebAssembly に移植されていくんだ。
Vim もブラウザに移植されたが日本語入力できないらしい。

単にブラウザが、2バイト文字の時に、onkeypress を 1バイトずつ、2回に
分けて呼んでくれればすむ話なのに。元々 日本語FEPは、そういう発想で
生まれた。とにかく、2文字分呼んでくれれば良くて、その場合、
ASCIIコードにしか対応しないアプリも安定性を損なわない。
0090デフォルトの名無しさん
垢版 |
2018/11/25(日) 16:17:47.20ID:hr7eujYV
いや、固定長のUnicodeより賢いやり方だと思うよ。
英語圏のASCIIアプリは無修正でいいんだし。
英語圏の人がろくに事情も分かりもしないのに、変なIME制御とか
入れようとして逆に変になってる。
とにかく、1バイトの読めない羅列が送られてくると思っていれば、
英語圏の人は済むんだから。1バイトの文字の羅列だと思っていても、
実は解釈をちゃんとすると2バイトになっているというからくりで十分。

そこに変な配慮を入れるから逆におかしくなってる。
0091デフォルトの名無しさん
垢版 |
2018/11/25(日) 16:20:45.70ID:hr7eujYV
まあ、2バイト文字って言うのは、漢字で言うところの「へん」と「つくり」の
関係みたいなもんなんだから、難しく考えなくていい。
英語圏の人は、ヘンとつくりの羅列が送られてきているともって処理すれば
十分。日本人には、へんとつくりが横幅が2倍の「1つの文字」になっている
ように脳が見える、という感覚。
0093デフォルトの名無しさん
垢版 |
2018/11/25(日) 19:19:16.46ID:Iiz4BNf0
英語圏の人だってこんな🇺🇸文字だって使うわけで
「2バイト文字が〜」とか「横幅が2倍」とか言ってる奴は遅れてる
0094デフォルトの名無しさん
垢版 |
2018/11/25(日) 20:36:32.38ID:+Rx2UR4K
2バイト文字が〜は馬鹿だが、横幅2倍は間違いじゃない

Halfwidthは半角のことだし、Fullwidthは全角のこと
だが、曖昧幅とかいうのは消えてなくなれ
0095デフォルトの名無しさん
垢版 |
2018/11/25(日) 22:24:57.45ID:e4gAH9OI
JUnitでの単体テストについて質問させてください。
他クラスのメソッドを呼び出しするだけのコントローラクラスをテストする場合、テストケースってどうなるんでしょうか?
「指定したクラスのメソッドを呼び出せること」を確認したいのですが、assertEquals以外を使うことになるのでしょうか?
0096KAC
垢版 |
2018/11/25(日) 22:37:03.88ID:BxF9BR9q
>>94
等幅フォントしか使えないの?
MMMM
IIII
ぁぁぁぁ
とか、どう見える環境?
0097デフォルトの名無しさん
垢版 |
2018/11/25(日) 23:14:00.75ID:hr7eujYV
等幅フォントのほうが日本語には向いていると思う。
そもそも新聞も等幅だと思うし。
プロポーショナル・フォントを好むのは英語圏の人独特の感覚。

原稿用紙だってそうだし、般若心経などのお経も昔から等幅に近い。
幅を変えたほうが汚い。
0098デフォルトの名無しさん
垢版 |
2018/11/25(日) 23:19:50.38ID:hr7eujYV
拡張子のピリオド「.」や、環境変数 PATH の区切り文字のセミコロン「;」が細すぎて
どれだけ苦労することか。見えない。文字も新聞よりずっと小さい文字が、新聞
読むときよりはるかに遠くにある。
スティーブ・ジョブスも彼を支持する人もハッキリ言ってアホだと思う。

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

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

最近では、日本語IMEの全角/半角の状態が分からなくなってしまって、日本人の
せいさんせいが劇的に悪化したと思う。もっと言えば、Googleが余計なアシストを
したり、Windows のインストール時間、DL するファイルの巨大化などによっても
世界中の生産性が下がっている。
0099デフォルトの名無しさん
垢版 |
2018/11/25(日) 23:24:05.29ID:hr7eujYV
もっと言ったら、デザイナも物を知らなさ過ぎる。

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

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

これらを混同してしまうようなフォントにしてしまったのは、知識がないせいだ。
0100デフォルトの名無しさん
垢版 |
2018/11/26(月) 18:04:05.28ID:A+ASmw6C
>>87
違うよ。
インプレイスで表示する、なんかだと、変換中の文字列を受け取らなきゃいかん。
Vimを引き合いに出してるが、Vimで日本語入力にちゃんと対応したのいつかわかってんの?
同じ理由でずーっと綺麗に対応出来てなかった。
ここ数年だよ。やっとまともに日本語入力できるようになったの。

Kaoriya見てくれば良い。

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

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

>>97
等幅だけど等幅送りではないよ。
均等割付末尾行のみ左詰め。
お前写植も知識ないんだろ。
0101デフォルトの名無しさん
垢版 |
2018/11/26(月) 18:08:12.45ID:A+ASmw6C
>>99
それで充分なフォントもあるんだよ。
ギリシャ語では単にそれらは文字だしね。
2階のaと一階のaとα(アルファ)を同列に語って意味あんの?
お前が見るようないわゆるフォントってのは商業的な印刷一般に使うものであって、数式用フォントではないし、
数式に使うギリシャ文字は、ギリシャ語の文字とも別。

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

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

DTPの事知らないくせに、DTP語んなよ。
0102デフォルトの名無しさん
垢版 |
2018/11/26(月) 18:50:22.19ID:axNf/rfJ
>>100
Vim 自体の日本語対応の問題じゃないんだ。
WebAssembly に移植する際、JavaScript では、onkeypress がIME(日本語)の文字コードを
全く渡してくれないし、それに変わるIME専用のイベントや仕組みもないことを問題に
している。

だから、今のところ、隠し textarea タグ(または input タグ)を使った「ハッキング」を
行うしかないはず。
0103デフォルトの名無しさん
垢版 |
2018/11/26(月) 23:14:22.13ID:A+ASmw6C
>>102
IMEの文字コードは渡すもんじゃない。
専用のイベントなんて要らない。
隠しtextareaも必要ない。
JS側に関数用意して、画面にtextareaを表示すれば良いだけだろう。
emscriptenで言うEM_JSなりなんなりで、それを呼べば良いだけで、
知識もないやつがクソみたいなエディタを作るよりも遥かに良いって言ってるの。
glue codeと言うか、ライブラリは作るしかないだろ。

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

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

ゲームエンジンとかCADとか見てみりゃ良いよ。
OpenGLでダイレクトにUIの枠書いてるけど、コントロールは上からペタッと貼り付けてるか、日本語入力自体を実装してるから。
0104デフォルトの名無しさん
垢版 |
2018/11/27(火) 01:28:45.33ID:+p2iLhs8
>>103
>駄目文字のくだりとか理解してんの?キーコードとして全角文字を渡すとか頭悪い事言ってるけど。

charCode だよ。Windows の OnChar() は、非 Unicode 版はそういう実装になってる。
というか、DOS 時代に日本人が発明したほうで最も賢い方法。
Unicode 版は事情が分かってない欧米の人が勝手にやりだしたまずい方法。
0105デフォルトの名無しさん
垢版 |
2018/11/27(火) 01:30:11.51ID:+p2iLhs8
「日本語入力事態を実装」って、Atok 見たいなものを自分で実装するという意味だよね。
それはゲームの場合は簡易でよいからそれで済むだけだよ。
0106デフォルトの名無しさん
垢版 |
2018/11/27(火) 07:29:51.36ID:rDJ3v0qS
>>104
そりゃエンコーディングがほとんどCP932しかなかった時代だろ。
OnCharはキャラクタが来たとき、KeyPressはキーが押されたとき。全然違うよね。

CADとかゲームエンジンの実装法(ネイティブコンポーネントを貼り付ける)は見てきた?
0107デフォルトの名無しさん
垢版 |
2018/11/27(火) 16:46:38.40ID:+p2iLhs8
>>106
>CADとかゲームエンジンの実装法(ネイティブコンポーネントを貼り付ける)は見てきた?
分かりやすい資料があれば欲しい。

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

JS の場合、onkeydown がキーが押されたときで、onkeypress は、やはり、
OnChar にかなり近い目的で用意されていると思うんだけど、違うの。
0108デフォルトの名無しさん
垢版 |
2018/11/27(火) 17:09:49.26ID:+p2iLhs8
大体そもそも、keydown も keypress も英語文字だけが対応していて、日本語には
全く対応していないことがおかしい。

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

この状況には、英語圏の人の傲慢さを感じる。
0109デフォルトの名無しさん
垢版 |
2018/11/27(火) 18:43:07.69ID:eUIOOjsK
>>107
わかりやすい資料も何も、知ってて話してるなら自分も見てるでしょ。
知らないのに、隠しtextareaなんて馬鹿らしいアイディア出してたり、文字の表示が簡単だと言ってるなら反省して。

OnKeyDownはキーが押し下げられたとき。
OnKeyPressはキーが押されたとき。
文字が入力されたときのイベントではない。
もう一回言うけど、文字が入力されたときのイベントではない。
なのに、文字入力をそのイベントで送ることが妥当だと思ってんの?
0110デフォルトの名無しさん
垢版 |
2018/11/27(火) 18:58:40.79ID:rDJ3v0qS
逆に、文字を入力する手段としては、キーを打たなくても良い。
予測変換で出てきてる候補をマウスでクリックしても良いんだよ。
そういう時はキーを打ってないにも関わらずOnKeyDownなりOnKeyPress起こすのか?
頭おかしいだろ。
0111デフォルトの名無しさん
垢版 |
2018/11/27(火) 19:01:58.41ID:rDJ3v0qS
そもそも英語文字だけが対応してるんじゃない。
物理的なキーボードに依存してる。お前のキーボードには英語の文字しか無いだけだろ。

全く対応していない、傲慢だと言うが、キー入力ではないんだから全く対応していないのが当たり前で、傲慢なのはキー入力でないものをキー入力として扱えという思想だろ。
0113KAC
垢版 |
2018/11/27(火) 20:04:54.21ID:MZhENAwl
>>108
日本語を入力できるキーボード作ったら解決するぞ?
0115 ◆QZaw55cn4c
垢版 |
2018/11/27(火) 22:37:12.04ID:X/MEoliS
>>101
>数式に使うギリシャ文字は、ギリシャ語の文字とも別。
そういうのは、LaTeX ならちゃんと別に用意してますよね
\varepsilon \vartheta \varkappa \varpi \varrho \varsigma \varphi とかね
0117デフォルトの名無しさん
垢版 |
2018/11/28(水) 00:46:59.28ID:Ap62WWi/
>>116
元々、それをする専用ソフトがIMEなわけなんだけどね。
日本語を特殊なアルファベット2文字で表現してくれるようなソフト。
「ヘン」と「つくり」に分解して、二回に分けて文字コードを送ってくれる。
0118デフォルトの名無しさん
垢版 |
2018/11/28(水) 00:48:04.92ID:+90BeAM6
>>115
そうそう。組版と呼ばれる作業を行うなら必ず、コンテキストに従って写植する必要があるからね。
セマンティックにしておくべきと言うか。
そういう意味でTeXはとても正しいアプローチだと思う。
今までの写植が気に食わんから組版エンジン全部作っただけある。

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

紙物からやってきたけど、こういう手合は死んだら良いのにと思うわ。
お前らデザイナが「僕プログラム少しできるんですよ」とか言った時、期待して、結果悲惨なjQuery連発でがっかりしたあと憤りを感じることあるっしょ?
デザイナも同じように「僕デザインに理解があります、今のやり方にも一言あります」って言うやつもおんなじように憤りを感じてるんだよ。
専門の人間ないしは詳しそうな人間が「それは間違ってる」って言えば、少なくとも聞けと思うんだが。
0119デフォルトの名無しさん
垢版 |
2018/11/28(水) 00:51:18.63ID:Ap62WWi/
アメリカ人は頭が悪い人が多いので、せっかく何も考えずに処理できるように
工夫されてるのに、理解できないので勝手にIMEをしなくてもいいのに制御しようとして、
逆に一番大事な文字コードはせっかく何も考えずに処理できるようになってるのに
勝手に「せき止めて」しまうアカポンタンだから。
OSも馬鹿だし。そもそも、ASCII文字の仕組みと同じ仕組みで上手く処理できるように
されていたからこそ「Front End Processor = FEP」と呼ばれていて、難しく考えなくて
良かったのに、余計なお世話的な変な処理を間に入れるからめちゃくちゃになってる。

せき止めてしまうんだ。彼らはアホボンだから。
0120デフォルトの名無しさん
垢版 |
2018/11/28(水) 00:51:57.87ID:+90BeAM6
ヘンとツクリって頭大丈夫か?
駄目文字の事いよいよ理解してねえんじゃねえかな?

IMEは断じて文字コードに分割して送信するなんて事はしてないが、もしそうしているとすると、その文字コード中にOSが拾うべき制御文字が含まれてると誤作動するって少しは考えないのかな?
0121デフォルトの名無しさん
垢版 |
2018/11/28(水) 00:53:30.24ID:+90BeAM6
>>119
良くないよ。駄目文字があるでしょ。
だからAPIで渡してるんだよ。文字コードをkeydownさせるんじゃなくて。
いい加減理解しろよ。
0x04を含む文字でSIGINTかかるって事だぞ。
0122デフォルトの名無しさん
垢版 |
2018/11/28(水) 00:58:15.79ID:Ap62WWi/
なんちゅうか、今まで、ASCIIの128文字くらいを使っていましたと。
1バイトは256文字まで表せるから、残りの128文字くらいは、大体
漢字の1文字目としても使えるなと。

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

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

それに、2バイトでやるなら、全部2バイトにして、onkeypress も
event.onChar を2バイトにしてしまえばよいのに、1バイトのままになってる。
それなのに、Unicode 対応とか変な事言ってる。
0123デフォルトの名無しさん
垢版 |
2018/11/28(水) 01:01:25.52ID:Ap62WWi/
>>120
制御文字なんてほとんど含まれてない。
終端コードの 0x00 や 制御コードの 0x00〜0x1F も含んでないし。

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

逆に変な処理をはさむと誤作動してしまう。
0124デフォルトの名無しさん
垢版 |
2018/11/28(水) 01:02:06.90ID:+90BeAM6
>>122
人の話聞けよ。なんか頭の病気か?

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

色々知識少なすぎるだろ。
0125デフォルトの名無しさん
垢版 |
2018/11/28(水) 01:04:52.30ID:+90BeAM6
>>123
表、ソ、申あたりは5c(\)が入ってる。
これも特定のシーンでは制御コードだよね。

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

お前のような何も見てない奴が実装するとメタメタになるって典型だよね。
0126デフォルトの名無しさん
垢版 |
2018/11/28(水) 01:09:20.84ID:+90BeAM6
いい加減メッキも剥がれたんだから、「ぼくのかんがえるさいきょうのにほんごにゅうりょく」も一旦引っ込めて百回くらい読んでから書き込めよな。
>>109-112で挙げた内容をよく理解してから反論して。せっかく資料も上げたんだし。
そもそも文字入力のイベントじゃない
キー入力しなくても文字は入力できるがキーも触ってないのにキーイベントを起こすのか?
キーボードは英語優先でなく物理キーボードに準じてる(嘘だと思ったら無変換キー押したりかな入力してみろ)
0128KAC
垢版 |
2018/11/28(水) 01:32:54.32ID:dDf8YSTj
>>114
全然実現していないが・・・?

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

お前さんの求めているのは、106/109キーボードではなくて
「すべての日本語が入力できるだけの数万個のキーを持ったキーボード」だろう。
0130デフォルトの名無しさん
垢版 |
2018/11/28(水) 09:57:20.22ID:CgfFvp6B
>>125
だから、そういう事いう人いるけど、\ も : (コロン) も、英語地域の人でも
打ち間違えることはあるんだから、それに対するエラー処理がちゃんとできて
いれば、エラーになるだけで問題が無いんだ。

エラー処理がちゃんと出来てないからセキュリティーだとか言う人が出来ているが、
そもそもそんな程度のことで変になるソフトは元々セキュリティー・ホールがある。
英語だけ使っていれば見つかりにくいために普段分からないで過ごしている
本当はそういうソフトにはバグがあるんだ。
0131デフォルトの名無しさん
垢版 |
2018/11/28(水) 09:59:23.92ID:CgfFvp6B
大部分の人は数学的に物事が考えられないから、\ や : が入っている多バイト文字
は安定性に問題があると考えるんだろう。

しかし、ちゃんとエラー処理したプログラムなら安定性に問題が無い。
0132デフォルトの名無しさん
垢版 |
2018/11/28(水) 10:00:58.10ID:CgfFvp6B
別に ShiftJIS と EUC-JP、UTF8 で場合訳する必要も無い。

数学的物事が考えられない人は、場合訳が必要だと思うので、
特定の文字コードにしか対応できない。
0133デフォルトの名無しさん
垢版 |
2018/11/28(水) 10:18:20.95ID:CgfFvp6B
ShiftJIS の場合、1つ問題あるのは、2バイト目に、\ のコードが来ることがあり、
"・・・・X"
のように double quotation で囲った文字列の最後の全角文字「X」の2バイト目
が \ の文字コードであった場合、ShiftJIS への配慮が無ければ、
"・・・・A\"
のように、なってしまい、エスケープシーケンス \" のように解釈されて、
文字列の終端の " を読み落としてしまうことがある事。

それは大きい。
0135デフォルトの名無しさん
垢版 |
2018/11/28(水) 10:37:17.81ID:CgfFvp6B
中途半端な理解の人が多いので、話が紛糾する。
確かに、ShiftJIS には、2バイト目に \ や | の文字コードが含まれているので、
配慮しなくてはならないことはある。

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

そういう問題の切り分けや、物事の本質に対する理解が足りてない。
0136KAC
垢版 |
2018/11/28(水) 10:40:47.44ID:nyo8fVRo
>>129
お前が「日本語のキーのイベントが欲しい」と言ったんだから合わせてやっただけだが?

お前、自分がどれだけ馬鹿なこと言ってたかすら理解できてないのか。。。
0137デフォルトの名無しさん
垢版 |
2018/11/28(水) 11:50:45.64ID:Y/3S25mS
>>130
打ち間違えてないのに打ち間違えになる事に対して問題だと思わんのか?

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

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

どうしてインプレイスでtextareaを出すのは嫌なの?隠したいの?
textareaがやってる事全部再発明するって事だよ?
0138デフォルトの名無しさん
垢版 |
2018/11/28(水) 11:55:43.22ID:Y/3S25mS
>>134
頭の良し悪しで言われると主観的な話になるが、問題を認識できてない人間に言われたかないな。

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

数学的に云々言ってるが、虚学ではなく実学の工学的にそのアルゴリズムというか解法は間違ってる。
0139デフォルトの名無しさん
垢版 |
2018/11/28(水) 11:57:48.43ID:Y/3S25mS
>>135
お前が本質的に理解してない。
OnKeyXXXはキーボードイベントであって、文字入力イベントではない。
Ctrlキーってキーボードイベントだけど文字入力ではないでしょ。
0141デフォルトの名無しさん
垢版 |
2018/11/28(水) 12:06:54.27ID:Y/3S25mS
馬鹿で間抜けだと言われたのが悔しくて主席だ数学科だお前が馬鹿だと憤ってるなら、その看板に傷がつくから、素直に人の話を理解して自分の能力の足しにしたらどうだ?
少なくとも大学で研究したなら、学術的な物の考え方ぐらいできるだろ。
なんで学歴を主張してまだなお、他人の意見に対して真摯な受け取りが出来ずに、相手を馬鹿だと言うんだ?
主席の価値はもう失われたって事か?
0142デフォルトの名無しさん
垢版 |
2018/11/28(水) 12:10:12.24ID:Y/3S25mS
俺が繰り返し言ってて、繰り返しお前の主張のボロを突き続けてるのは馬鹿で理解してないからじゃないからな。

お前が理解できてないからだから。
振り上げた拳を下ろせないならプログラム書くのやめてしまえ。
0143デフォルトの名無しさん
垢版 |
2018/11/28(水) 12:18:37.90ID:Y/3S25mS
ちなみに、制御コードがIME等から入力される事はない、は嘘だからな。
特殊な話になるが、あるシステムでデリミタとして0x01、0x02、0x03、0x04を入れるってクソみたいなシステムがあったんだが、事実入れてるの見たことある。
Wnnだったかな。
0144デフォルトの名無しさん
垢版 |
2018/11/28(水) 14:38:48.74ID:CgfFvp6B
>>139
onkeydown <--- キーボードイベント : Win32 の WM_KEYDOWN 相当。
onkeypress <--- 文字入力イベント : Win32 の WM_CHAR 相当。
0145デフォルトの名無しさん
垢版 |
2018/11/28(水) 15:01:34.84ID:V/2Czdkr
いやはや、こうやってWebAssembly厨が
お得意のWebAssembly製アプリの開発で
大混乱に陥ってるのを見ると笑えるわw

ウェブでアプリとか作るもんじゃねーという
当たり前の結論だな
0146デフォルトの名無しさん
垢版 |
2018/11/28(水) 16:56:35.76ID:Y/3S25mS
>>144
違うよね。OnKeyPressはKeyBoardEvent。
MDNでも読んでくれば?

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

と書いてあるから。
キーボードイベントはキーボードイベントであって、文字入力のイベントではない。
修飾キー無しのキー押下だよ。KeyPressは。
0147デフォルトの名無しさん
垢版 |
2018/11/28(水) 16:57:45.06ID:Y/3S25mS
>>145
そりゃ、Webで今まで出来なかった事をするためのものだからな。
今までできたならその方法を使えと言うのがごく当たり前の話で、こいつが馬鹿なんだよ。
0148デフォルトの名無しさん
垢版 |
2018/11/28(水) 17:59:42.52ID:Y/3S25mS
だいたいWM_CHARも、WM_KEYDOWNで得られた仮想キーメッセージをTranslateMessageで文字メッセージに変換したものだろ。
WM_CHARが自動的に送られてくるわけでなし。

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

全くリファレンス読まないタイプなんだな。
0150 ◆QZaw55cn4c
垢版 |
2018/11/28(水) 20:55:09.34ID:QMtVWFFX
>>133
それは\を特別視するC言語文化圏に限った話にすぎないのでは?
0151 ◆QZaw55cn4c
垢版 |
2018/11/28(水) 20:56:31.82ID:QMtVWFFX
>>134
>大学での数学は首席だった
ご専門はどのような分野ですか?解析?代数?幾何?
0152デフォルトの名無しさん
垢版 |
2018/11/28(水) 21:11:38.82ID:30WXuBf5
>>150
Unixのshellスクリプト、awkなどのツール
はては正規表現も \ というかバックスラッシュを特別視するけど
これらが広義のC言語文化圏というならその通りだけど
0153デフォルトの名無しさん
垢版 |
2018/11/28(水) 21:39:20.30ID:5cGLdgN9
>>149
お前さあ、数学での主席でさえこんなおつむなの?って思われて何とも思わないのか?

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

数学的に見てお前の理屈はおかしいぞ。
0155デフォルトの名無しさん
垢版 |
2018/11/28(水) 23:40:05.03ID:Xj9g9ivW
>>149
数学が首席でない私にも、後れ馳せながらやっと君の主張の本質が分かったよ。

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

そうか、初めから同意が欲しいだけで議論なんてする気はなかったんだよね。
0156デフォルトの名無しさん
垢版 |
2018/11/29(木) 09:48:59.17ID:VIPGM2an
間違ってることがわかったんなら一言言っとけよな。次の人が書きづらいだろ。
0157デフォルトの名無しさん
垢版 |
2018/11/29(木) 19:09:58.18ID:poV/ntZY
次の人が書きづらい
は今更だろ何日やってんだよw
そもそも元の質問なんだよ?
0158デフォルトの名無しさん
垢版 |
2018/12/08(土) 12:35:14.31ID:KVgBfK85
謝罪無しでバックレたので次の方どうぞ
0159デフォルトの名無しさん
垢版 |
2018/12/08(土) 19:16:20.16ID:NPP03rHU
勝ち逃げされて悔しそうw
0160デフォルトの名無しさん
垢版 |
2018/12/20(木) 23:44:01.53ID:ofRcUJkp
表計算的なインターフェイスを組み込むフレームワークってほとんど見あたらないんだがなんで?
エクセル1強のせい?関連するデータ群を編集するのに便利なインターフェイスだと思うんだけどな
0161デフォルトの名無しさん
垢版 |
2018/12/21(金) 18:36:41.19ID:iZ5nWCqH
>>160
グリッドコントロールとかで探しても無いか?
.NETのDataGridViewもあるけど思い通りに計算する機能も元から無いとだめか?
0162160
垢版 |
2018/12/21(金) 20:39:55.11ID:3T84xYoW
>>161
おぉ、ありがとう。Gridで調べたらいくつか出てきました。マルチプラットフォームで使えるwxWidgetsにもあるようだ
もうちょっとあるとうれしいですね。編集が目的なので計算はともかく編集機能は表計算ソフト相当の物をベースに
カスタム出来るくらいだとありがたいです
データの入力・編集、クリップボード操作、行・列の挿入・削除、連番挿入、行・列幅変更・・・等々(たぶんまだまだある)
あたりは標準的な操作で行いたいです。これらをすべて自力で実装しようとすると結構大事になりそうな気がしますが・・・

あと開発で使うフレームワークですがマルチプラットフォームで使いたかったのでひとまず
wxWidgets 癖はあるがネイティブなので比較的高速に動作
Electron 標準技術で作れるのは魅力
.NET 一応マルチプラットフォームで使えるはずだけど起動に時間がかかるのが難
あたりを考えていました。後者2つは速度面で不安がありますが
0163デフォルトの名無しさん
垢版 |
2018/12/24(月) 05:07:44.84ID:eHHDW9ZT
抽象度の高いスクリプトをWebアプリ(と言っても現状Electronでの実行を想定)へコンパイルするコンパイラを作ってみたいのですが
広義なコンパイラの作り方について解説されているWebサイトとか本とかありませんかね?出来れば平易な表現の方が助かります
「コンパイラ 自作」とかでググると一般的なネイティブバイナリへ変換するコンパイラの話ばかり出て来ます
基本はHTML5/DOM/JavaScriptですがWebGLやWebAssemblyなども活用するようなコードを生成したいです
0164デフォルトの名無しさん
垢版 |
2018/12/24(月) 08:57:49.19ID:BFFk2RU8
>>163
そういうのはコンパイルとは言わないから、広義なコンパイラというのは間違いだと思う。
0166デフォルトの名無しさん
垢版 |
2018/12/24(月) 21:43:55.44ID:eHHDW9ZT
サンクス。こういうのはトランスパイラ、トランスコンパイラって言うんですね
ググると使い方の話ばかりで作り方の情報はほとんど出てこないようですが
0167デフォルトの名無しさん
垢版 |
2018/12/24(月) 21:55:15.55ID:WUv3NjP/
>>163
抽象度の高いスクリプトて何やねん?おまえは何をしたいんや?
ジャバスクリプトが抽象度の高いスクリプト言語やぞ
0168デフォルトの名無しさん
垢版 |
2018/12/24(月) 22:18:10.14ID:WUv3NjP/
辻ちゃんはなんでいつも炎上しとるんや?可愛いのに
0169デフォルトの名無しさん
垢版 |
2018/12/24(月) 23:42:55.19ID:BFFk2RU8
>>166
そういうのを自作するニーズはかなり少ないだろうし、そういうことをしようとする人はネットで調べたりせずに自力で解決する力があるだろうから、直接的な情報はあまり見つからないと思う。
コンパイラのフロントエンドを作る部分は役に立つだろうから読んでおいて損はないんじゃないかな。
0170デフォルトの名無しさん
垢版 |
2018/12/25(火) 05:30:47.51ID:kLgjvYw/
http://www.meiwasuisan.com/

こういう掲示板を作って月収800万円ぐらい儲けたいのですが、
こういう掲示板って儲かりますか?
0172デフォルトの名無しさん
垢版 |
2018/12/25(火) 05:40:47.42ID:kLgjvYw/
>>171
宣伝ではありません。
前々からそのような掲示板を作りたいと思っていたのです。
そのような掲示板は個人でも運営できるのかとかどのくらい儲かるのかとかを教えてください。
お願いします。
0173デフォルトの名無しさん
垢版 |
2018/12/25(火) 06:07:14.21ID:hEfn5x54
1. 個人でも運営できる
2. 個人でも運営できるようなもので儲かるわけ無いだろう
0174デフォルトの名無しさん
垢版 |
2018/12/25(火) 06:46:27.96ID:GX3m0NMF
本当に個人でも運営できるもので儲かるわけないのでしょうか?
個人で運営してるもので儲かってるものは無いのでしょうか?
0177デフォルトの名無しさん
垢版 |
2018/12/25(火) 07:00:29.98ID:GX3m0NMF
個人で運営できるもので月1000万円ぐらい稼ぐことは絶対に不可能なのでしょうか?
0179デフォルトの名無しさん
垢版 |
2018/12/25(火) 07:03:26.34ID:NrxUWHxX
年収1000万以上のブロガー、youtuberがいる時代ですよ
本人の才能と努力次第でしょう
0180デフォルトの名無しさん
垢版 |
2018/12/25(火) 12:21:05.56ID:s07uOpwP
個人でclipboxみたいなアプリを開発して大儲けすることってできないのでしょうか?
そもそもアプリを開発してそのアプリが大ヒットしたら収益はそのアプリの開発者にほとんど流れるのでしょうか?
0181片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2018/12/26(水) 21:48:13.07ID:zHiYA4yB
>>180
作れる。
ただし、宣伝が難しいので、Webサイトや雑誌などのメディアの協力が必要。
広告費と購入費などによって収益構造を構築する必要がある。
0182デフォルトの名無しさん
垢版 |
2019/05/04(土) 20:22:20.11ID:5AoG/x8x
windows10で右クリックメニューから実行しているプログラムを
コマンドラインから実行したいのですが、やる方法有りますか?
(ただしSendkeyは使用しない方法で)
0184デフォルトの名無しさん
垢版 |
2019/05/04(土) 20:44:11.12ID:0IzRQ325
>>182
それは「エクスプローラーの機能をコマンドラインから利用する」質問なのでWindows板あたりで聞いてくれ
0185デフォルトの名無しさん
垢版 |
2019/05/04(土) 21:05:12.56ID:n+jLARXG
右クリックメニューから実行しているプログラムが分かれば可能かもしれないけど
右クリックメニューからプログラムが実行されているのかどうかというところから怪しい
0186デフォルトの名無しさん
垢版 |
2019/05/04(土) 21:09:21.94ID:5AoG/x8x
>>184
ありがとうございます
0187デフォルトの名無しさん
垢版 |
2019/05/04(土) 23:07:00.09ID:djYDPjYL
右クリックメニューにはショートカットキーが設定されてて
CTRL+キーで実行できる

コマンドラインでCTRL+そのキーを実行させりゃ済むことだが
0188デフォルトの名無しさん
垢版 |
2019/05/04(土) 23:33:28.34ID:mcTiWZDk
実行したいアプリの絶対パスか、それがコマンドならコマンドを実行すればよい

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

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

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

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

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

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

PowerShell は、コマンドプロンプトよりも文法がわかりやすい、新しいシェル
0189デフォルトの名無しさん
垢版 |
2019/05/05(日) 01:50:44.17ID:XGmcxcCU
>ただし、コマンドプロンプトから起動したアプリは、
>そのコマンドプロンプトを終了したら、同時にそのアプリも終了するので要注意!

試したら終了しなかったけど?昔はそうだったっけ?
0190188
垢版 |
2019/05/05(日) 02:09:10.76ID:tvdtPjB+
例えば、Ruby で、Nokogiri, Selenium WebDriver を使ったスクリプトファイル、a.rb がある時、

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

ここで、コマンドプロンプトを閉じると、Rubyもブラウザも、終了する
0191188
垢版 |
2019/05/05(日) 02:13:13.38ID:tvdtPjB+
例えば、コマンドプロンプトで、notepad と打つと、メモ帳が起動するけど、
ここで、コマンドプロンプトを閉じても、メモ帳は終了しない!

あれれ?
どうなってるの??
0192デフォルトの名無しさん
垢版 |
2019/05/06(月) 11:07:22.01ID:hKkSY5j9
サンプルコードのライセンスでさ

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

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

些細なコード(でも今までにない独創的なもの)で権利を主張する気は
さらさらなく自由に使ってもらいたいんだけど、悪意のあるやつに奪われて
権利関連のゴタゴタに巻き込まれたくはないんだよね。
0194デフォルトの名無しさん
垢版 |
2019/05/06(月) 11:18:30.77ID:EVL1oVQr
>>192
お前はまず働け
そして世の中を知れ
そしてお前の大事なそのクソコードをそっと捨てて恥じろ
0195デフォルトの名無しさん
垢版 |
2019/05/06(月) 11:27:00.52ID:GGNVSXcy
ライセンス表記を消してもいいのか
独占を許さないという記述ごと消されたコピーが配布されて
我が物顔で使う連中が出てきた挙げ句に口を揃えて知らなかった書いてなかったと言いそう
0196デフォルトの名無しさん
垢版 |
2019/05/06(月) 11:44:01.38ID:Y5VmjYQ0
べつに「我が物顔で使う」ことまでは禁止しないんだろ。
作者本人に制限がかかるような「独占」を防ぐだけなら作者の著作物である証拠があればいいんで
>>192の文言でどっかに公開しておけばいい。
0197デフォルトの名無しさん
垢版 |
2019/05/06(月) 11:53:27.72ID:hKkSY5j9
>>193
> そのままそう書けばいいじゃん
英語で正確に書く自信がないし、ライセンスなんて自分で作るもんじゃない。使うもんだよ。
でないと個別にGPLやオープンソースと適合するのか?という問題が発生するじゃん

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

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

それは今でも同じでしょ? GPLでもなんでもライセンスを
(勝手に)消して配布して我が物顔で使うことはできる。
それを使ってる連中は知らなかったと言える。(本当に知らない場合もあるし)
0199デフォルトの名無しさん
垢版 |
2019/05/06(月) 14:58:27.45ID:EVL1oVQr
今日は休みだぞってレスつけるあたりがね
周回遅れの人間がどう周りを見てるのかが出てる
0200デフォルトの名無しさん
垢版 |
2019/05/06(月) 15:06:19.49ID:kv7rySQG
>>197
ライセンスがどういうものか理解したほうがいいよ
直接的な法的効力を持つものではない
「ライセンス表記を消してもいい」ライセンスを探すのも「英語で正確に書く自信がない」のに英語で用意するのもおかしいから
0202デフォルトの名無しさん
垢版 |
2019/05/06(月) 15:56:53.92ID:DT5L2VlP
スレ立てるまでもない質問はここで専用スレがある質問はそこで
マナーも守れないルール軽視の奴がライセンスを語るのは滑稽です
0203デフォルトの名無しさん
垢版 |
2019/05/07(火) 20:13:46.41ID:xre2YuCY
ふとエロゲに使えるタスクトレイ常駐型の「CapsLockをマウスの左クリックに入れ替える」ソフトを作りたいと思いました。
知ってる言語がJavaだけだったのでなんとかEclipseで作れないもんかと調べて,学校の先生にも質問したのですが,どうもJavaでは難しいらしいです。

C言語は凄く難しいらしいので他に簡単に作れそうな,言語があれば教えていただきたいです。
0205デフォルトの名無しさん
垢版 |
2019/05/09(木) 08:25:44.14ID:aC1HSUuO
デバッガーを自作してみたいのですが(チートエンジンみたいな)どんな言語やシステムを学べばいいでしょうか?
大まかでいいので教えて下さい
0207デフォルトの名無しさん
垢版 |
2019/05/10(金) 01:10:33.46ID:MYwtsRO1
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) その他
0208デフォルトの名無しさん
垢版 |
2019/05/10(金) 06:46:59.74ID:WnIqtory
予想するのは(1)(3)(4)
期待するのは(3)
(1)は気が利かない残念な設計
0に移動したいときは0を指定しますので(3)にしてくださいよ
(2)は利用者側にも都合の良い強い既定値がある要件下なら可
でもその特別な座標に移動する別メソッドを用意したほうがいい
(4)はJavaScriptあたりで何も考えていないとやりがちなぬるぽの元
座標未完成の状態に価値があるなら可
(5)のように設計すべき状況はほとんどない
0209デフォルトの名無しさん
垢版 |
2019/05/10(金) 18:45:33.73ID:yjXVmj4x
mavenのローカルリポジトリはgitのローカルリポジトリと同じですか?
0210デフォルトの名無しさん
垢版 |
2019/05/10(金) 18:48:02.92ID:yjXVmj4x
https://qiita.com/kyoyyy/items/161b6905f45bee2efe21
リモートリポジトリの更新はpushだと説明されています。
しかしgithubのリポジトリを見るとcommitsというタブがあります。
pushesではなく。なぜですか?
0211207
垢版 |
2019/05/10(金) 19:00:00.42ID:njh/aYVe
>>208
ありがとう
(3)にしつつ別関数で(2)を実現できるようにするわ
0212さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 19:04:40.08ID:aI9HbBXI
>>210
更新をするコマンドはgit pushだ。
しかし、更新をしたという事実はcommitであり、各コミットはハッシュタグという16進数の文字列で区別する。commitsは名詞commitの複数形。
0213さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 19:06:48.32ID:aI9HbBXI
pushというのは、ローカルリポジトリをリモートリポジトリに「押し出す」ことだと考えてもらいたい。
その反対はpullだ。
0214デフォルトの名無しさん
垢版 |
2019/05/10(金) 19:17:58.71ID:yjXVmj4x
操作はpushでも登録されたのはcommitオブジェクトだ、みたいなニュアンスですか
0215さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 19:26:53.10ID:CF7UUf9v
リモートでもローカルでもコミットという単位で変更が記録される。変更内容は、差分(diff)という形で記録される。
0216さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 19:32:49.01ID:CF7UUf9v
ローカルでコミットを作るのがgit commitというコマンドだ。
git commit -m "名前"で、コミットに名前が付けられる。
コミット単位でリモートにプッシュするのがgit pushというコマンドだ。
0220さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 19:50:08.22ID:CF7UUf9v
リポジトリ(repository)は、昔はお城の倉庫・弾薬庫という意味だったと思う。projectやsolutionみたいなバージョン管理の単位だろう
0221デフォルトの名無しさん
垢版 |
2019/05/10(金) 21:44:07.60ID:yjXVmj4x
pullはリモートリポジトリから作業ディレクトリに持ってくる事みたいですが、
pull requestを相手が受けた場合、
相手の作業ディレクトリにこちらのリモートリポジトリから
落とすという事になりますか?
それとも相手のリモートリポジトリに直接反映されますか?
pull requestを受けた側がどういう作業をするのか、が良く分かってません。
0222デフォルトの名無しさん
垢版 |
2019/05/10(金) 22:07:33.82ID:yjXVmj4x
https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html
> and also tell you what branch you're currently in:

”現在居るブランチ”とはどういう概念ですか?
“ブランチに居る”という事の意味が分かっていません。
何かブランチを操作する時、そのブランチ名を指定すれば良いのではないですか?
現在居るブランチという状態がどこかに存在する必要性がありますか?
0223さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 22:25:35.57ID:CF7UUf9v
>>221
git pullはGitのコマンドだが、Pull Requestはどちらかというと、GitHubなどの機能じゃないかな。
他のユーザーにPRされるとGitHubにページが増えて、そこのページにボタンがあって、そのボタンを押すと変更点が適用されるという流れ。
0224さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 22:29:53.42ID:CF7UUf9v
>>222
branchを直訳すると枝分かれ。ソースコードの変更は、木構造のように枝分かれする。git branchで現在のブランチ名と、今あるブランチ名の一覧を表示できる。
ブランチに移動するときはgit checkout ブランチ名。
masterは特殊なブランチ名で、現在の主流の開発段階を意味する。
0225さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 22:32:15.65ID:CF7UUf9v
新しいブランチを作成するときはgit checkout -b ブランチ名。そこで変更してコミットすると、そのブランチでコミットが追加される。
0227デフォルトの名無しさん
垢版 |
2019/05/11(土) 08:06:39.50ID:bKjSBhWB
>>207-211
SetPos なら、0 だろ

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

Ruby on Rails でも、HTTP メソッドは、
put で置換、patch で一部更新とか、API を分けるのが普通
0229デフォルトの名無しさん
垢版 |
2019/05/11(土) 16:04:30.81ID:QNsNRb8x
全く無知な状態からprogateやってます。

とりあえずクラウドワークス等でお小遣い稼ぎから、
いずれはもっと高度な事をしたいですが今のところHTML,、CSSをやってます。
他にもやるべき科目、あとprogateを終わった後の勉強法など宜しければご教示ください。><
0231デフォルトの名無しさん
垢版 |
2019/05/12(日) 01:46:28.96ID:AJtL4p1I
マルチプロジェクトで全プロジェクトについて文字コードを設定したいんですが
どうすればいいですか?
全タスク、およびjavadocについて文字コードを設定したい。
0232デフォルトの名無しさん
垢版 |
2019/05/12(日) 02:46:39.82ID:AJtL4p1I
自己解決
0233デフォルトの名無しさん
垢版 |
2019/05/12(日) 13:25:42.38ID:dSbddX8d
>>229
HTML, CSS/SASS, JavaScript(JS), jQuery などは、web制作管理板へ

HTML, CSS の次は、SASS とか?
プログラミングなら、JS, jQuery とか
0234デフォルトの名無しさん
垢版 |
2019/05/12(日) 15:56:43.05ID:aasV4/zo
関数名で悩んでます良いの教えてください
bool 入力した文字を許容するか判定する関数(char input)
中の実装は様々で例えば数字のみを受け入れたりアルファベットのみ受け入れたりだったりです
0235デフォルトの名無しさん
垢版 |
2019/05/12(日) 16:37:15.80ID:OoMn1CYl
× bool 入力した文字を許容するか判定する関数(char input)
○ bool ○○か?(char input)
0237デフォルトの名無しさん
垢版 |
2019/05/12(日) 16:55:37.67ID:aasV4/zo
正確には関数ポインタで関数を持つ変数の名前なので数字やアルファベットなど何が入ってるかはわかりません
0239デフォルトの名無しさん
垢版 |
2019/05/12(日) 17:31:06.44ID:AJtL4p1I
SSLとかで共通鍵は比較的短期間で期限切れになると思うんですけど
新しい鍵に交換するタイミングで何か一連の通信が発生していたら
自分が鍵Aで送って、でも鍵A'に更新された後に相手が受け取る、
みたいな事が起きそうなんですが
その辺どう解決されてるか知ってる人居ますか?
0241デフォルトの名無しさん
垢版 |
2019/05/12(日) 20:43:36.71ID:WzX9vNA0
FA装置のソフト屋になりたいんだけど何勉強したらええ?
0242デフォルトの名無しさん
垢版 |
2019/05/12(日) 20:45:10.61ID:FaNvA2KI
>>241
物の調べ方から勉強したらどうかな
こんな掲示板でそんな質問するようじゃ何の見込みもない
0243デフォルトの名無しさん
垢版 |
2019/05/12(日) 22:00:29.30ID:tmAHrWU+
C#のbaseの使い方がよくわからないのですが
baseのカッコ内には基本コンストラクタと同じ引数を書けばいいのですか?
簡単な例を出して教えてほしいです
0245デフォルトの名無しさん
垢版 |
2019/05/13(月) 14:13:47.02ID:Ar5YtP/N
switch文のサンプル見ると
最後にdefaultが書かれてることが多い(というか見た限りは全部そうだった)と思いますが

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

switch
 case x
 default
  x
  break
 case y
  y
  break
でいいんですよね?一応動きます
言語はJavaScriptです
0248デフォルトの名無しさん
垢版 |
2019/05/13(月) 14:41:57.36ID:/SO0MCI1
パンくずリスト(Breadcrumb navigation)ってもうちょっと技術的で固くて短い言い方ないの?
0249デフォルトの名無しさん
垢版 |
2019/05/14(火) 16:56:32.29ID:fCIExWJh
サーバーと2,3回通信するスマホアプリを作ってて
スマホのような携帯端末はネットワークが細いから1回送ったデータは
セッション変数に保存して2回目以降はそこから取り出すようにした方がいいのか、
それともサーバーのメモリを食わないようにセッション変数はできるだけ使用せず
通信の度に送りなおしたほうがいいのかどっちだろ?
0250デフォルトの名無しさん
垢版 |
2019/05/15(水) 00:39:04.38ID:ApAyhkpz
社内のPC関係管理してる部署に異動になって、プログラム作るときに
splitするだけの内容でも自作関数にして最小単位で作れ
と言われているんですが、これのメリットって何なんでしょうか
どうも1行でも自作関数制作という事に慣れず、気をぬくとそのまま記載してしまうのです
0251デフォルトの名無しさん
垢版 |
2019/05/15(水) 00:44:55.59ID:qxUiM81Y
はぁ?関数にするかどうかは行数じゃなくて
それで可読性をあげられるかどうかだろ

可読性を上げる = 読まなくていいようにするってことな
そのsplitするだけの内容が、関数にすることで、
関数の中を読まなくてすむような、適切な名前をつけられるのであれば
そうすべきだし、結局関数の中まで追わないと意味不明なら関数にする必要ないし
0252デフォルトの名無しさん
垢版 |
2019/05/15(水) 04:58:48.52ID:vAqxpv06
main関数とか存在しないからclassで例えると
こんな感じのエラーにならないが問題だらけのコードを書かないようにじゃね

class Foo
 let private;
 function bar();
 function baz();
 document.write("Hello World!");
0253デフォルトの名無しさん
垢版 |
2019/05/15(水) 07:56:25.22ID:ApAyhkpz
>>251
いやもう本当に「splitするだけ」なんですよね
呼び出し元では「AwoBdekugiru」のように自作関数名を書くか「split」と直接書くかの違いだけで
コード分からない人が読むなら前者の方が良いかもしれないんですが
コード読む人ってある程度はわかるはずですし、splitを書き換えるって事もないと思うので
メンテ性でも可読性でも後者の方が良いと思うんですよね
0254デフォルトの名無しさん
垢版 |
2019/05/15(水) 07:59:48.08ID:c4ryy/tS
何でもワンクッション置く事、
自前の関数でラッピングすることの心地よさみたいなものは確かにあるw
0256デフォルトの名無しさん
垢版 |
2019/05/15(水) 08:39:05.32ID:BLyhF7F0
好意的に解釈するなら移植性を重視していて
言語固有のライブラリとビジネスロジックとを分離することに重きをおいているとか
0257デフォルトの名無しさん
垢版 |
2019/05/15(水) 08:48:16.69ID:BLyhF7F0
現実的に解釈するなら各社の情シスにまともなプログラマーがいるとは限らず
デメリットの方が多いことに誰かが気づいていたとしても
今からコーディングルールを崩してカオスになるよりは…と
消極的に現状維持を選んでいるだけということも
0258デフォルトの名無しさん
垢版 |
2019/05/15(水) 09:46:18.97ID:AfKgri37
>>245-247
JavaScript の質問は、web制作管理板の方へ書き込んでください!

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

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

>>250-257
色々な部署で、コードを再利用したいのだろう
0259デフォルトの名無しさん
垢版 |
2019/05/15(水) 21:38:29.52ID:FQJg1oiP
独習C#のコードなんですが
https://ideone.com/ybzLth
21行目の=this と23行目のo.IsOddの前についてる!の意味が分かりません
インターフェイスの修飾子が付いてるから派生先のクラス型では呼べないのは理解出来てるのですが
上記二点は何なのでしょうか?
0261経団連 ◆T6xkBnTXz7B0
垢版 |
2019/05/15(水) 21:51:15.83ID:lIe3zIuL
恐らく常識だが、「整数が奇数でなければ偶数である」という事実を使っている。
0262デフォルトの名無しさん
垢版 |
2019/05/15(水) 21:55:17.33ID:PcHnKSs6
独学用の教科書を謳っている本の解説をここでやってもらうって間違ってない?
C#の勉強より本の内容を把握する方が大変そう
0263デフォルトの名無しさん
垢版 |
2019/05/15(水) 21:57:15.90ID:FQJg1oiP
>>260
インスタンスは new ○○じゃないのでしょうか?
thisがこのような形で使われるのはこの本の中ではここが始めてでイマイチわかりません…
説明もないです
!が否定なのも何度か!=という表現が使われてるので分かるのですが
メソッドを呼び出す時に!を使うのは今回の章が初めてなので何がどう作用してるのかもわかりません…('A`)
すいません
0264経団連 ◆T6xkBnTXz7B0
垢版 |
2019/05/15(水) 22:11:28.38ID:lIe3zIuL
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)
0265デフォルトの名無しさん
垢版 |
2019/05/16(木) 01:02:47.93ID:UYyJJgmj
メソッドを呼び出すときに!を使う特別ルールがあるわけではないよ
演算子の優先順位がわかってなくて混乱してるだけだと思う
1 + 2 * 3 の答えが 9 ではなく 7 であるという話に似ている
この式は分かりやすく書くと
1 + (2 * 3)

return !o.IsOdd(x);
を分かりやすく書くと
return !(o.IsOdd(x));
さらに次のようにも書ける
bool b = o.IsOdd(x);
return !b;
0266デフォルトの名無しさん
垢版 |
2019/05/16(木) 15:41:12.61ID:1R3UowzH
PHPのクラスは、
宣言と実装を分ける事はできんのですかね
0268デフォルトの名無しさん
垢版 |
2019/05/17(金) 18:31:52.56ID:Ytu1aTid
ゲーム用のRTOS的なのってないんだろうか。コンシューマゲーム機はハードメーカーが用意してくれているけど
PC等で汎用的に使える奴
0271デフォルトの名無しさん
垢版 |
2019/05/17(金) 18:44:16.58ID:htGImBGd
ゲーム機なんてバックグラウンドでいろんなサービスが動いてるし
フレームドロップし放題だからRTOSなんて必要とされてないだろう
RTOSの想定する用途とは真逆のものすごく高級で雑な世界
0272デフォルトの名無しさん
垢版 |
2019/05/18(土) 14:44:43.61ID:+n2NWOyo
クリックするとイベントが発火するボタンがあるする
これに効果音を乗せる場合、押下時に紐付ける?
それとも発火と同じクリック時?
0277デフォルトの名無しさん
垢版 |
2019/05/19(日) 20:35:17.21ID:pSjwtj6N
スレチだったらすみませんが誘導をお願いします。
筋トレの回数を記録するスマホアプリの開発がしたいです。日付・種目・セット数を保存するだけの簡易なものを想定しています。
以下の条件を満たす開発環境を利用したいのですが、何がおすすめでしょうか。
・Windows10で利用可能(linuxの仮想環境は用意出来ますが、Xcodeが使えないと思っています)
・Android/iPhoneのどちらでも使える(クロスプラットフォームが理想ですが、別々に作ったほうが楽ならそれでも可)
・サーバ通信なし(アプリだけで処理が完結する)

ご意見頂けると幸いです。よろしくお願いします。
0278デフォルトの名無しさん
垢版 |
2019/05/19(日) 20:55:48.28ID:oL0p/fvO
独習C#に
”tryブロックの中からメソッドを呼び出しそのメソッドの処理の中で例外が投げられたらcatchブロックで補足できる(ただし、そのメソッドの処理の中で例外が補足された場合には当然ながら呼び出し元では補足されません)”

というよく分かり辛い表現があるのですが
メソッド呼び出し中に発生した例外は補足されるのでしょうかされないのでしょうか…?
0279デフォルトの名無しさん
垢版 |
2019/05/19(日) 21:12:34.86ID:PSBPTvES
>>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を入れ子にしても同じこと
実際にこのパターンで書いてみて動かしてみればいい
0281デフォルトの名無しさん
垢版 |
2019/05/20(月) 06:34:18.42ID:poyp5Kqc
>>277
漏れは、Ruby, Nokogiri, Selenium WebDriver で、ブラウザを自動操作して、
ローカルPC 内の画像ファイルを、ブラウザで見たりしてる

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

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

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

>>278-280
C# のスレで、聞いた方が良さそう
0282デフォルトの名無しさん
垢版 |
2019/05/20(月) 21:23:14.49ID:VWEIYE4F
Visual Studio(C#)のプログラミングに関する質問です。

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

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

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

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

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

【質問】
お互いにクラス定義を必要とする場合、
★具体的に★どのような実装をすれば良いのでしょうか?
0283デフォルトの名無しさん
垢版 |
2019/05/20(月) 21:27:54.97ID:g68Ac+XT
> インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおい

そういう設計になるのが間違い
0285デフォルトの名無しさん
垢版 |
2019/05/20(月) 21:44:22.94ID:qyXChWvO
e-ラーニングの動画コンテンツみたいにさ、
Webページ上の動画をユーザが何分視聴したのかデータをDBに残したいんだけど、
どんな技術使えば実現可能なん?
0288281
垢版 |
2019/05/21(火) 12:16:28.57ID:ZAINLMmO
>>277
VSCode でも使っている、Electron もある。
これは、Chromium + Node.js

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

これも、HTML, CSS/SASS, JavaScript, jQuery などを使う
0289デフォルトの名無しさん
垢版 |
2019/05/21(火) 12:21:00.91ID:ZAINLMmO
>>282-284
C# の質問は、C#のスレに書き込んでください!

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

他の場所・スレへ移動する場合は、元の場所の質問を締め切ってから、移動してください!
0290デフォルトの名無しさん
垢版 |
2019/05/23(木) 22:06:29.40ID:at6rVxVk
質問です。
qiitaのとある作者さんのWin32のウィンドウライブラリをパクったのですが、連絡を取るときはアカウントとるべきですか?
0291デフォルトの名無しさん
垢版 |
2019/05/24(金) 01:55:17.97ID:53a26ZX4
連絡取れれば何だって良いだろ。
ライブラリにライセンスがかいてあれば、連絡取る必要すらないし
0292デフォルトの名無しさん
垢版 |
2019/05/24(金) 10:46:29.85ID:Ph/OCthx
>>291
それもそうですなぁ。
qiitaのデフォルトライセンスの記述は見たことないなぁ。などと今思ったナリ。
0293デフォルトの名無しさん
垢版 |
2019/05/25(土) 04:32:03.46ID:7Hh+Cor8
高階関数だのラムダ式だの言ってるけど
関数ポインタを使ったコールバックと何が違うの?
0294デフォルトの名無しさん
垢版 |
2019/05/25(土) 05:05:26.86ID:hxN9RlQC
擬似言語でかくと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を参照できない
0295デフォルトの名無しさん
垢版 |
2019/05/25(土) 05:24:03.98ID:HNNK4o9q
例えばqsortの引数に直接swap&compareコードを書けるようになる
いちいち外部に関数つくって名前つける必要なくね?

という感じ
関数ポインタじゃ絶対に実現できないというのはない
0296デフォルトの名無しさん
垢版 |
2019/05/25(土) 15:43:49.65ID:XXQvJLIJ
PHPのフレームワークLaravelを勉強している者なんですが、
Laravel EchoとPusherを使用してリアルタイムチャットを作ろうとしています。
色んなサイトを参考にして
Pusherの環境変数を.envに入力し、bootstrap.jsのコメントを解除したりして
色々設定し、通信状態もwebsocketになっていることが確認できました。
しかし、PusherのDebug Consoleに送信した内容が表示されません。
まだ何か設定が足りないとかありますでしょうか?
0298デフォルトの名無しさん
垢版 |
2019/05/26(日) 01:56:06.80ID:ZtwHTv9L
VisualStudioでDLLをデバッカしたいです。
ぐぐると、DLLを呼び出すexeを実行し、exeの対して「プロセスのアタッチ」を実行すればよいとありましたが、
DLLを呼び出すexeが一瞬で終わってしまうコマンドのため、アタッチできません。どうすればよいでしょうか。

試しに、exeを「ローカルWindowsデバッガー]で停止させ、別窓のVisualStudioコンソールでDLLのソリューションを開き
exeにアタッチしようとしましたが、「プロセスにアタッチできません。デバッガーは既にアタッチされています。」と表示され、アタッチできませんでした。
0299デフォルトの名無しさん
垢版 |
2019/05/26(日) 09:12:14.46ID:kGcgY47H
DLLのコードにブレークポイントを置いておいて、スタートアッププロジェクトのデバッグコマンドを
そのexeにしてデバッグ実行するだけでいいと思うけど。
0300デフォルトの名無しさん
垢版 |
2019/05/26(日) 11:56:12.17ID:PQEivHO3
>>299
すみません、Visul StudioでexeとDLLを同じソリューションで定義し直し(もともとは別ソリューション)
exeを「ローカルWindowsデバッガー」で動作させたところ、DLLのコードのブレークポイントで止まるようになりました。


追加の質問ですみませんが、「ローカルWindowsデバッガー」ではなくVisual Studioのリモートデバッカでデバックしたい場合ですが、
基本的にはデバックしたいexeのプロセスにアタッチする手番と思います。
アタッチする際に「使用可能なプロセス」の一覧からデバックするプロセスを選択すると思いますが、
非常駐プロセスの場合、この一覧からプロセスを選択できません。
デバックしたいexeが非常駐プロセスである場合、どうやってアタッチすればよいのでしょうか。
0301デフォルトの名無しさん
垢版 |
2019/05/26(日) 14:32:07.38ID:WMkIoFQL
以下のような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モジュールは一般には入手できないため、このような解放関数の呼び出し漏れによるメモリリークを検出する方法はないでしょうか。
0302デフォルトの名無しさん
垢版 |
2019/05/26(日) 16:24:24.45ID:iIpVyaKq
plsqlを.SQL形式で作って
それを読み込んでwindowsでワンボタンで実行するアプリ作りたいんだけど
手軽にやるならVBですか
0303デフォルトの名無しさん
垢版 |
2019/05/27(月) 14:10:24.34ID:lwWgLhFv
Release 用のモジュールでは、最適化されて、デバッグ用のシンボルなども削除されているのでは?
定数・変数なども計算済みで、なくなっているかも

Release 用には、デバッグ情報が無いかも
0304デフォルトの名無しさん
垢版 |
2019/05/29(水) 07:16:15.37ID:D5Uzvk1s
netbeansでgradle supportプラグインを入れて、
build.gradleでビルドできてるんだけど、
自分が使ってるgradleのバージョンを確認するにはどうすればいいの?
分かるのはgradle supportプラグインのバージョンだけ
0305デフォルトの名無しさん
垢版 |
2019/05/29(水) 16:42:43.88ID:GzQiC9d1
(1..5)
と記述すると1から5までの値を受け取れる…みたいな書き方があったような気がするんですが
rubyかpythonだったと思うんですが
どの言語の仕様だか解りますか?
この記述の後ろに何らかの標準関数をくっつけて配列に格納できるんだったかループに使えるんだったかあったような気がします
変な質問ですみません
0306デフォルトの名無しさん
垢版 |
2019/05/29(水) 18:22:39.44ID:D5Uzvk1s
kotlinのループ処理じゃない?
0307デフォルトの名無しさん
垢版 |
2019/05/30(木) 08:43:37.12ID:bb+aWtrz
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"]
0308305
垢版 |
2019/05/30(木) 13:55:13.85ID:3LmNBitO
>>307
あ〜〜〜それです!
名称が全然解らなくて調べようがありませんでした
ありがとうございました
0311デフォルトの名無しさん
垢版 |
2019/06/06(木) 21:58:18.27ID:zbQJx2S0
カーネルとかデバドラの開発でクラス設計は有用だと思う?
クラスが使える言語で開発するとして
それともやっぱりC言語が有力?
0312デフォルトの名無しさん
垢版 |
2019/06/07(金) 16:36:42.56ID:RHh4qcVs
ステートフルなら、クラスにまとめてクリアとかイニシャライズとか書くと扱いやすそうではある。
ステートレスならクラスにする必要はあまりないきがす。
0313デフォルトの名無しさん
垢版 |
2019/06/07(金) 22:29:25.97ID:7Zon1Gn3
GitHub上に公開されているオープンソースのコードにエラーがあって
それを修正しようとプルリクエストを送ったんですが
送ったプログラムにもエラーがあるってことで弾かれた場合
そのプルリクってどういう扱いになるんでしょうか?
一応元のコードに不具合があるという点だけは目を通してもらえる感じですか?
0314 ◆QZaw55cn4c
垢版 |
2019/06/07(金) 22:51:50.27ID:xDq7LtU5
>>311
そもそもそんな分野は mangling すら嫌われるし this を隠すことすら嫌がられるし、で、C 以外の最近の言語は全員討ち死にのような気がします
0315デフォルトの名無しさん
垢版 |
2019/06/10(月) 18:45:32.23ID:hjyhFff5
数学上の数式はすべて手続き型のプログラミング言語で表すことができますか。
これはどうしてもできなかったというご経験はござますか。
0316デフォルトの名無しさん
垢版 |
2019/06/11(火) 23:56:58.62ID:Z0aKnh9V
アンケートです
頭の中で想像してみてください
375という数は
A) 100がみっつ + 25がみっつ
B) 5の三乗がみっつ
C) そのほか
どういうイメージを最初に持ちましたか?
0321デフォルトの名無しさん
垢版 |
2019/06/12(水) 12:46:56.64ID:5tKK6KtT
DOSコマンドで、特定ドライブ配下の*.jpgファイルを削除し、そのjpgファイルが格納されていたフォルダも削除するにはどのような記述をすれば良いでしょうか?
0322デフォルトの名無しさん
垢版 |
2019/06/12(水) 13:17:32.58ID:bfQ8I+0P
DOSコマンド
ディレクトリ移動
ファイル削除 ワイルドカード
ディレクトリ削除
で検索
0325デフォルトの名無しさん
垢版 |
2019/06/12(水) 17:53:55.84ID:mJKxpoGK
旦那の秘蔵のお宝画像が全消去されてしまうのだろうか((((;゚Д゚))))ガクガクブルブル
0327デフォルトの名無しさん
垢版 |
2019/06/13(木) 04:40:29.01ID:t9tRfwUY
JavaとC++はどちらがバグ発生率が高いですか?
0329デフォルトの名無しさん
垢版 |
2019/06/15(土) 03:36:13.26ID:+E0qeAkk
win32APIはどれくらいC言語を勉強したら習うのが望ましいですか?
C言語入門書一冊読んですぐにAPI入門読んで理解できますかね?
0332デフォルトの名無しさん
垢版 |
2019/06/15(土) 11:32:24.39ID:iDiy+1Rd
ファイル結合を普通にやると
ファイル1を読み込んで、新ファイルのバイナリとして書き出して、ファイル2を読み込んで、新ファイルのバイナリに追記して…
って感じの冗長な処理がされてしまいますよね

これをさせずに、結合させるファイルのディスク上のアドレスを合成して新しいファイルを作るという処理で
ファイルを結合させることはできないでしょうか?(結合元のファイルは消滅してもいい)
0333蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/06/15(土) 11:39:41.35ID:mBb+t2vo
>>332
追記モード("a")でオープンして、別のファイルを読み込んだ内容を追記すればいい。
0336デフォルトの名無しさん
垢版 |
2019/06/15(土) 11:48:52.10ID:PosgiMuo
どんな環境か知らんがファイルシステムの勉強をするべきでプログラムはその後の話だな
0337デフォルトの名無しさん
垢版 |
2019/06/15(土) 12:14:19.04ID:iDiy+1Rd
>>334
セクタのことは考えてませんでした
このやり方はやはり無理っぽいですね
ありがとうございました
0338デフォルトの名無しさん
垢版 |
2019/06/15(土) 17:51:40.28ID:OoEP0oKH
>>331
理解出来てるかどうかは別として入門書に書いてある事は覚えました
何かを作った事はないです
0339デフォルトの名無しさん
垢版 |
2019/06/16(日) 09:56:53.52ID:zdQGVQX8
>>338
まず、何でもいいから何か作ってみるべき

次に何かGUIアプリを作る過程でWin32APIを勉強すればいい
(GUIの操作でWin32APIが必須になる)
0340デフォルトの名無しさん
垢版 |
2019/06/16(日) 20:46:15.60ID:xlnV7xsD
Win/Linux/BSDで使えてMIT/BSDライクライセンスのラスタライザがあるベクタフォーマットってありそうで見つからない
フルスペックのSVGみたいにリッチな必要はなくてテキストと基本的なプリミティブを使えて任意のピクセル数のキャンバスに
ラスタライズできれば良いんだけどな。う〜むどうしたものか
0342デフォルトの名無しさん
垢版 |
2019/06/18(火) 17:09:41.83ID:ex1at4o8
昔オーストラリアでハッシュ値が証拠にならんって科学的にめちゃくちゃな判決を出した
裁判事例があったそうですが、あれはその後どうなったんですか?
0343デフォルトの名無しさん
垢版 |
2019/06/19(水) 07:52:34.88ID:+gD2USC8
visualstudio2019でscanf関数を使うと
//戻り値が無視されましたscanf
//CL.exeはコード2を伴って終了しました
とエラーが出て実行できません。scanf_s関数を使うと
https://gyazo.com/9c36fd93f3fd6e3acdf299cf5262baf6 このようなエラーが出て上手くいきません。
ためしに SDL という項目をいいえに変えてみたのですが変化なしです。
どうすれば実行できるでしょうか?
0345デフォルトの名無しさん
垢版 |
2019/06/23(日) 15:02:47.62ID:6LMXkq2m
この記事を解説してください。プロトタイプとは何ですか?
https://sumim.hatenablog.com/entry/20080413/p1#c1208228975
>プログラムを動かしている最中にオブジェクトが出来ること、すなわちメソッド(method)を追加したり再定義したりできるかだ。
筆者はこの説明を否定しています。そしてこう説明しています。
>オブジェクトがそれが属するクラスによらず独自のメソッドやインスタンス変数を持てること*こそ*が、「プロトタイプベース」あらため「インスタンスベース」の本質です。

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

あとインスタンスベースと呼べと言っているけど、
インスタンスはクラスに対して定義される言葉では?
クラスが無い場合インスタンスという概念を用いれないのでは?
0346デフォルトの名無しさん
垢版 |
2019/06/23(日) 15:29:52.70ID:NwTixeBO
>>345
> 独自のメソッドは実行時に追加されるんですよね?

一方は実行時でもう一方は特に言及してない
また後者は属するクラスによらずという条件があるが前者には無い
0347デフォルトの名無しさん
垢版 |
2019/06/23(日) 15:43:09.19ID:6LMXkq2m
実行時以外いつプロトタイプベースでオブジェクトのスロットへの設定が行われるんですか?
ソースコード中に静的に定義された定数的なオブジェクトを想定してるんですか?

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

というよりクラスがあるとメソッドとかを勝手に変えられちゃうと
型による安全性が機能しなくなるから、クラスがありつつプロトタイプってできない。
0348デフォルトの名無しさん
垢版 |
2019/06/23(日) 15:48:05.47ID:6LMXkq2m
あとやっぱりインスタンスベースというのはおかしくて、
クラスがある場合のみインスタンスという概念があるので、
プロトタイプベースでいいですよね?

インスタンスというだけだと、スロットの動的な設定ができることを示唆しない。
インスタンスという概念はクラスで作られたものを指すので、
その時点で好き勝手にメソッドを減らしたり増やしたりできないです。
それをすると型安全が機能しなくなるので許可する言語はありません
0349デフォルトの名無しさん
垢版 |
2019/06/23(日) 16:49:41.08ID:GLd8hMPk
アセンブラでもできると言ってるのと同じで、
できるできないの話をすればそりゃできるだろうけど、
人間が望んでいるのは高級言語
クラスベースを人間が望んでる
0350デフォルトの名無しさん
垢版 |
2019/06/23(日) 16:55:58.30ID:NwTixeBO
>>347-348

独自のメソッドやインスタンス変数を持てることが本質という主張なので
とりあえずクラス固有のメソッドを減らすという拡大解釈は無しで考えるべきでは?
0351デフォルトの名無しさん
垢版 |
2019/06/23(日) 17:37:38.66ID:fwFAut7X
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__ は非推奨となった!
0352351
垢版 |
2019/06/23(日) 17:58:05.28ID:fwFAut7X
>>351
修正。
先頭に、function 文が抜けていた

function Car( ) { }

var car = new Car( ); // コンストラクタ
0355デフォルトの名無しさん
垢版 |
2019/06/23(日) 23:39:07.95ID:6XN9j8Lj
プロトタイプ型言語ではインスタンス化することをコンストラクタって呼ぶの?
0356351
垢版 |
2019/06/24(月) 07:00:06.78ID:a0F4XMAJ
コンストラクタとして使う、メソッドを定義する

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

function Car( ) { }

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

var car = new Car( );

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

new を付けて呼んで、インスタンスを作ることを前提とするメソッドと、
new を付けずに呼んで、インスタンスを作らないメソッド(普通のメソッド)
0357デフォルトの名無しさん
垢版 |
2019/06/24(月) 07:02:00.65ID:218UFAwP
>>350
あ、わかったかも。
「(クラス毎ではなく)オブジェクト毎に所持メソッドやメンバー変数を変えられる」
これがプロトタイプの本質だって言ってるんですね。

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

まあでも当然後者の意味だと思うけど。
クラスが動的に再定義されちゃったら型安全壊れるし、
コンパイル時にバグを見つけれる事が強みなので、それをやる言語は無いはず。
0358デフォルトの名無しさん
垢版 |
2019/06/24(月) 07:43:03.13ID:y1bnKJFn
型安全ってC/C++みたいな言語の用語だぞ

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

JavaScript等はどんなことをしてもプロセスが落ちることはない
正しくない型であつかっても例外が発生してトラップできる
だから動的に再定義されたとしても、型安全のまま
0359デフォルトの名無しさん
垢版 |
2019/06/24(月) 08:27:58.03ID:218UFAwP
ああそうか
まあでもその存在しないメソッドを呼んでしまったとかで例外が出ちゃうから、
クラスを使用している言語はオブジェクト別の所持メソッドの変更を許可しないだろうということです。
それをやっちゃうとせっかくのクラスによる安全性を放棄してしまう
0360デフォルトの名無しさん
垢版 |
2019/06/24(月) 09:03:19.73ID:Fz7q9gfG
型安全ではなく「強い型付け」の恩恵の話だな
プロトタイプに限らず、ダックタイピング全般の考え方は
型付けをユルくすることで恩恵を一部手放すと同時に別のメリットを得る
トレードオフだから原理主義的に決めつける必要はなく言語次第
金型を使いたいときは使えばいいし手彫りしたいときはすればいい
そういう言語があってもいいじゃない
0361デフォルトの名無しさん
垢版 |
2019/06/24(月) 10:51:03.90ID:218UFAwP
ダックタイピング調べてみた。

これはたぶん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)がコンパイルエラーになるんだろう。

しかしプロトタイプベースだったらコンパイル時にエラーを出すのは無理だろう。
しかしクラスのメリットは確かにコンパイル時エラーの検出のためだけではない。
プロトタイプかつクラスを使用する言語があったとしたら、
その場合クラスは単に抽象的な意味を記述するため、あるいは
クローンの連鎖の大元になるためにある。
そんな言語もあってもいいのかもしれない。
0362デフォルトの名無しさん
垢版 |
2019/06/24(月) 11:08:38.28ID:218UFAwP
ダックタイピング良く調べてみると
このwikipediaの記事は間違いだって言ってる記事があるな
「そのオブジェクトがどんなメソッドを所持しているかを事前に知らずにとにかく呼び出してしまう」
つまり動的バインディングのような概念である、と。
プロトタイプベース系の話だな、それなら。

wikipediaの記事からは、クラスがあって、
interfaceを書かなくても多態性が実現できるinterface自動判別の仕組みだ、
という印象を受ける。
0363デフォルトの名無しさん
垢版 |
2019/06/24(月) 11:11:04.94ID:218UFAwP
https://en.wikipedia.org/wiki/Duck_typing#Criticism_of_the_term_itself
>AttributeError: 'Whale' object has no attribute 'fly'

英語版wikipediaの記事だと、「メソッドがあるかないかを事前に気にせずにとにかく呼び出してしまう」
というプロトタイプベース的な意味でダックタイピングという言葉を使用しているようだ。
0364351
垢版 |
2019/06/24(月) 12:51:20.27ID:a0F4XMAJ
そのインスタンス固有のメソッドを、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

この本で、みっちり学ぶと、オブジェクト指向・関数型・メタプログラミングを理解できる!
0365351
垢版 |
2019/06/24(月) 12:59:35.18ID:a0F4XMAJ
Duck Typing では、インスタンスobj のクラス・型・継承関係は関係なく、振る舞いで決まる。
objが同名のメソッドで、同じ数の引数を持つだけでよい

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

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

ただし、Duck Typingは、クラスよりも変幻自在だから、モンキーパッチになりやすいので要注意!
0366デフォルトの名無しさん
垢版 |
2019/06/24(月) 13:56:33.09ID:GG24ezzu
> 「アヒルのように歩き,アヒルのように鳴くものは、アヒルに違いない!」

コードで書くと

if ( 生き物.鳴く() = "ガアガアガア" ) {
 print "アヒル"
}
0367デフォルトの名無しさん
垢版 |
2019/06/24(月) 13:57:16.50ID:GG24ezzu
ダックタイピングとは、メソッドの呼び出し結果で
型が決まるということを意味している。
0369デフォルトの名無しさん
垢版 |
2019/06/25(火) 00:59:08.16ID:5X/+rI3v
実際の所、アヒルのように歩いて,アヒルのように鳴いたからといって、
アヒルとは限らないんだよな。アイボが犬ではないのと同じように
0371デフォルトの名無しさん
垢版 |
2019/06/25(火) 05:37:18.00ID:OfIMnEVQ
>>370
継承を使うものはダックタイピングとは呼ばない。
C++ でやるなら type erasure とか使うんじゃないかな。
0372デフォルトの名無しさん
垢版 |
2019/06/25(火) 11:44:43.82ID:Cc6pu6kp
型安全はコンパイル時にエラーを見つける事を助ける、みたいな記述があるんですが
実行時にも型情報に基づいて例外を出す事はありますよね?
例外を出して処理をキャンセルしたということをもって型安全と言えますか?
もしそうならコンパイル時エラーだけでなく実行時例外に貢献するだけでも型安全である、
つまり動的型付けでも型安全な場合がある、と言えますか?
もし型の間違いを無視して処理を続けたら、言語にもよるけど、メモリ安全を壊すかもしれない。

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

「型安全とは関係が宣言されていない無関係な型へキャストされないこと」
と定義すると間違いですか?
0373デフォルトの名無しさん
垢版 |
2019/06/25(火) 12:20:37.40ID:ru6rAPvz
>>372
OSのエラーダイアログが表示されてプロセスが強制終了するなら型安全ではない
言語のtry-catchなどでトラップできる例外が発生するなら型安全
0374デフォルトの名無しさん
垢版 |
2019/06/25(火) 12:20:53.88ID:ru6rAPvz
> 「型安全とは関係が宣言されていない無関係な型へキャストされないこと」
間違い
0375351
垢版 |
2019/06/25(火) 12:25:15.12ID:/8kFlQVi
JavaScript のjQuery は、引数の型によって、処理を変える

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

それら以外の型なら、エラーとか
0376デフォルトの名無しさん
垢版 |
2019/06/25(火) 14:22:34.24ID:vGWUuZ9A
dllの作り方がわかりません
exeファイルがobjファイルをリンクするというのはわかりましたが、dllも同じですか?
0377デフォルトの名無しさん
垢版 |
2019/06/26(水) 07:38:44.89ID:+23jdxl3
「visual studio dll 作成」で検索!

Visual Studio で、コンパイルして下さい!
その際、実行ファイル(exe)ではなく、共有ライブラリ(dll)を作成して下さい
0378デフォルトの名無しさん
垢版 |
2019/06/26(水) 22:25:38.02ID:FyRR2J0k
俺がときどき不思議に思うのは
>>370みたいなド素人がなぜ話題に顔突っ込んで来るのか
なぜ平気で顔突っ込んで来れるのかということ

自分の力量とみんなの力量その両方が見えてないからこそ
こういう周回遅れ野郎が迷い込んで来るのかなあ
0379デフォルトの名無しさん
垢版 |
2019/06/27(木) 00:06:31.05ID:xCRWMcAz
こんなただの質問スレで他人の力量(笑)なんてわかるほうがおかしい
0381デフォルトの名無しさん
垢版 |
2019/06/27(木) 21:33:47.43ID:Qltwuv2S
正の整数 a および n が与えられたとき、

a = m^n

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

実際にプログラミングすることを考えています。
浮動小数点数を使っても構いませんが、結果は厳密に正しい必要はあります。
0383蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/06/27(木) 21:50:04.25ID:nAZ+iPIM
整数の巾乗が正確に計算できるなら、逆算で概数を求めて一番近い整数で検算できるでしょうね。
0384デフォルトの名無しさん
垢版 |
2019/06/28(金) 02:05:53.37ID:k4pW0x/X
複数のプロセスで読み取り専用のファイルが開かれていたら
実メモリ上でそれは一元化されてるんでしょうか

例えばJavaアプリを複数実行した場合
JDKのファイルは実メモリ上で一元化されていますか?
0385デフォルトの名無しさん
垢版 |
2019/06/28(金) 02:16:43.48ID:wKOen38i
アプリの同一性を確保するためにハッシュなりなんなりを使うのもコストかかるので
よほど起用じゃないと同一性を保証することはないと思う
マシンパワーは余ってるので力業に行きがちだけど。
0387デフォルトの名無しさん
垢版 |
2019/06/28(金) 03:41:16.16ID:fwV77rc1
>>384
読み取り専用かどうかは関係ない
読み取り専用を解除して再設定することもできるんだから

読込したらキャッシュに入る。書き込みしない限りキャッシュは有効
だから何度読み込んでも同じであることが保証されるので
これはメモリを一元化(共有)される
該当メモリに書き込まない限り、メモリは共有される
0388デフォルトの名無しさん
垢版 |
2019/06/28(金) 07:49:11.63ID:D2ExxOf/
読み取り専用・更新されない部分は、メモリ上に、1つしか作らない

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

書き込みで開くと、メモリを共有されない
0389デフォルトの名無しさん
垢版 |
2019/06/28(金) 11:44:26.09ID:k4pW0x/X
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の相互依存性のような事をやらないといけませんよね?

そう考えると委譲ってそんな常に推奨されるほど良いもんですか?
0390デフォルトの名無しさん
垢版 |
2019/06/28(金) 12:04:28.45ID:k4pW0x/X
補足

a.method()
とかやるときに
a.method(this)
みたいにしないと、thisや他のメンバー変数との依存関係を表現できない。
メンバー変数のオブジェクトのメソッドを呼び出すのにいちいちthisを指定する
というのもなかなか見かけない変な設計な気がします。
0391デフォルトの名無しさん
垢版 |
2019/06/28(金) 12:27:09.28ID:D2ExxOf/
委譲は、文字列・配列などの、標準的なクラスを継承させないため!

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

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

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

Forwardable#def_delegators( :@ary, :push, :pop, empty? )
0392391
垢版 |
2019/06/28(金) 12:35:50.24ID:D2ExxOf/
継承すると、親クラスの数十ある、すべてのメソッドで、
正常に動くように作らないといけないから、非常に厄介!

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

でも、Array の機能も少しは、使いたい場合に、
委譲を使って、使うべきメソッドを指定して、限定する事ができる
0393デフォルトの名無しさん
垢版 |
2019/06/28(金) 12:58:47.04ID:SBZUtncH
IT系の板のカテゴリってなんで「PC等」なんですかね?
世間から見るとそれがしっくりくるカテゴリ名なんすかね?
PCが大文字なのも、得も言えぬ感じを醸し出してて…
0396デフォルトの名無しさん
垢版 |
2019/06/28(金) 18:06:53.87ID:gOdU8vWG
LinuxでC++で数値計算を書いてます。

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

グローバル変数を用意して、関数は値を渡さず呼ぶだけにして計算結果をグローバル変数経由で
入手することでいちおう何とかしたのですが、関数を回すことなく1回の計算結果の配列を
そのまま取ってくる簡単な方法はないでしょうか?
0398デフォルトの名無しさん
垢版 |
2019/06/29(土) 01:51:55.71ID:pNPM9KL7
簡単な例で書くと、たとえば以下のユーザー関数からグローバル変数以外の方法で
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];
}

とかで渡すとたぶんでたらめな結果になるので。
0399デフォルトの名無しさん
垢版 |
2019/06/29(土) 02:04:07.24ID:JqIDk+uk
>>381
そのアルゴリズムは存在するよ
もちろん厳密に求めることができる
mを1からカウントアップしてaを越えるまで一致を調べるだけ
時間的制約が書いてないんだから超イージー
0400デフォルトの名無しさん
垢版 |
2019/06/29(土) 02:25:31.00ID:3pgMwDvE
>>398
func内でのローカル変数sは関数のスコープを抜けると破棄されるからローカル変数の配列を返すのは良くない
引数に結果保存先の配列を渡してそこに書き込むといいよ
あとC++使うならもっと良い方法いくらでもある
0401デフォルトの名無しさん
垢版 |
2019/06/29(土) 05:42:37.19ID:3WPAMqWl
>>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);
0402デフォルトの名無しさん
垢版 |
2019/06/29(土) 16:38:40.25ID:BQl+pfZF
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
0403デフォルトの名無しさん
垢版 |
2019/06/30(日) 09:12:15.90ID:WbrAeRc2
>>400
ありがとうございます。

>>401
なるほど関数そのものをvectorで作る手があるんですね。
ベクトルや行列・テンソル演算は配列の方が成分表示の数式と対応しやすくて
直観的だったんでvectorは敬遠しがちでしたけど、そういう使い方がありましたか。
0404デフォルトの名無しさん
垢版 |
2019/07/01(月) 18:52:08.77ID:Kmn6L8KY
ES系言語の改行・インデントについて

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

のようなメソッドチェインやコールバックがある場合
どこで改行&インデントしてる?
0405デフォルトの名無しさん
垢版 |
2019/07/03(水) 21:16:16.19ID:C46248vl
ソフトウェア開発で仕様変更が発生する理由は何か?
どうすれば減らせるか?
0406デフォルトの名無しさん
垢版 |
2019/07/03(水) 21:28:07.53ID:5uao/N1o
Q. 仕様変更が発生する理由は何か?
A. 仕様を毎回決めているから

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

決まってる仕様の中から選ぶだけにすれば、
仕様変更は発生しない
0407デフォルトの名無しさん
垢版 |
2019/07/03(水) 21:58:47.31ID:C46248vl
>仕様を決めるから変更が発生する
仕様を決めるなということ?

>決まってる仕様の中から選ぶ
良く分からんけど仮にそうだとして「どれを選ぶか」が変わる可能性はあるのでは?
0408デフォルトの名無しさん
垢版 |
2019/07/03(水) 23:08:20.31ID:0qfdLOF6
おっしゃる通り
ビジネスシーンは常に目まぐるしく変わっているし
俺は気分屋だしコミュ障だし
客と技術者には認識ギャップが大きいしリスクは過小評価されるし
お客さんは忙しくてドキュメント読まないし書いてあっても曖昧だし何せ人間がやることだし以下略
0409デフォルトの名無しさん
垢版 |
2019/07/05(金) 04:13:13.96ID:F91/Jfe/
お世話になります。他所で聞いてみても解決できず、こちらで質問させて頂きます・・・。

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 )をインストールしてみても同じエラーメッセージでした。

長文になってしまいすみません。心当たりある方いらしたらどうぞ宜しくお願いいたします。
0410デフォルトの名無しさん
垢版 |
2019/07/05(金) 13:40:10.21ID:imex3OYJ
たぶん、安いCPU で、仮想化支援機構、VT-X/AMD-v が付いていないのだろう。
CPUの種類を調べて、VT-X/AMD-v が付いているか調べれば?

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

i5, i7 などには付いている
0412410
垢版 |
2019/07/06(土) 00:21:32.31ID:uI6wmjg2
この辺りが、ヒントになるかも

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

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

上のスレへ、移動すれば?
このスレでは、そこまで専門的な事は、わからないから
0413デフォルトの名無しさん
垢版 |
2019/07/06(土) 14:16:29.81ID:Q6BMofOT
プログラマーの能力って
偏差値50位の人の生産性を1とすると60、70で生産性にどのぐらい違いがありますか?
2倍、3倍ぐらいでしょうか
0414デフォルトの名無しさん
垢版 |
2019/07/06(土) 14:22:12.12ID:Ykz9tA1F
最近サーバー上に直じゃなく1回コンテナはさんで
その上にフレームワークいれるパターンがはやってるけど何かメリットあるの?

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

いまはベースがクラウドだから機能ごとに分離できるのに
さらにその上に仮想化機能のせる意味がわからない
0415デフォルトの名無しさん
垢版 |
2019/07/06(土) 14:56:27.09ID:O76mcSig
>>413
偏差値では全くわからない。
偏差値が運動能力に関係あるのか?みたいな話と同じで
偏差値はプログラマーの能力に関係ない

また泳げない人がプールの端までいけないのと同じように
出来ない人は全く出来ないから、生産性の違いは何万倍もの差があるし、
溺れて他人に迷惑をかけるのと同じように、マイナスの生産性になることもある。
0416デフォルトの名無しさん
垢版 |
2019/07/06(土) 15:27:32.02ID:B8JGQzL3
学力の偏差値じゃなくて
プログラマーとしての能力差が生産性にどれくらい差をつけるかということだろ
0417◆9GoCDasLbI
垢版 |
2019/07/06(土) 15:31:11.22ID:B8JGQzL3
トップとヘボい人では10万倍以上違う。

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

日本のIT業界が総力をあげたとして、
LinuxとかGitに比肩するプロダクトを生み出せるか?
どちらか片方すら無理じゃないか?と思うので、10万倍は差がある。
0418◆9GoCDasLbI
垢版 |
2019/07/06(土) 15:33:26.60ID:B8JGQzL3
Gitは他のバージョン管理システムに比べて10倍から100倍高速と言われてる。
Mozillaがベンチマークした。
Linuxの巨大なソースコードを管理できる事が念頭に置かれていると思われる。
ソフトウェア作ってれば分かるが、そういう根本的な要件の違い、
達成しなければならない性能や規模の違いは制作の難易度を桁違いに難しくする。
0419◆9GoCDasLbI
垢版 |
2019/07/06(土) 15:51:59.65ID:B8JGQzL3
なにより、本物のソフトウェア開発は発明の連続だ。
困難を乗り越える発明力の差が作れるものの違いを作る。
0420デフォルトの名無しさん
垢版 |
2019/07/06(土) 16:09:42.72ID:O76mcSig
>>417
> 例えばリーナストーバルズという人。
> LinuxとGitを作った。C言語で。

それでリーナス・トーバルズはどれだけ大金持ちになったの?
0421デフォルトの名無しさん
垢版 |
2019/07/06(土) 16:24:03.62ID:LdZDcwTE
>>420
その時に床を踏み抜かなかったら、1億$くらいの寄付得られるくらいの名声はあると思われる。
0422◆9GoCDasLbI
垢版 |
2019/07/06(土) 16:43:40.61ID:B8JGQzL3
結構裕福だとされてる

あと、どれだけ稼いだか、というより
1兆円あったってLinuxとかGitを作れないかもしれないわけで
その能力と実績は半端な金より価値あるよ
0423デフォルトの名無しさん
垢版 |
2019/07/06(土) 16:45:36.89ID:Q6BMofOT
>>416
そういう意味です。
例えばそのLinuxの人は特別な人なので何万倍としても
日本のランダムな100人プログラマーがいて
真ん中位にできる人とトップ20の人とトップ10ぐらいとの生産性の差みたいなもんです
感覚値でいいので
自分のなかでは真ん中1ぐらいとするとトップ20で3、トップ10なら5、位の生産性かなと思ってました
0424デフォルトの名無しさん
垢版 |
2019/07/06(土) 16:56:40.74ID:B8JGQzL3
中小企業とかだと、一人ハイレベルなエンジニアがいて、
その人が色んな人を助けてるからなんとか回ってる、という事がある。
普通のプログラマーは「詰まったら終わり」みたいで、解決できないし
適切な基本設計もできない。

要するに一定レベル以下の人は単独では一切何もできない。
難しいところを補佐してもらえば出来る事もある、という程度。
だから生産性を数値で比較する事はできない。
そもそもできる事が違う。
0425◆9GoCDasLbI
垢版 |
2019/07/06(土) 16:58:54.18ID:B8JGQzL3
まずプログラミングという作業が単純な作業の足し算で完成するものではないという事だ。
生産性より、生産可能な範囲が違う。
0427デフォルトの名無しさん
垢版 |
2019/07/06(土) 18:33:20.46ID:6c3l+b/P
オープンソースのアプリを改造したいです
Cssというファイルをいじって日本語用の改行に合わせたいだけです

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

apkを解凍したあとのモノだと編集はできるのですが
Runマークが押せないです。全く光ってないです
どうしたらいいですか?
0428デフォルトの名無しさん
垢版 |
2019/07/07(日) 03:48:28.42ID:JxXLCnuV
apkはソースではないからAndroidStudioはapkを実行・デバッグするが編集するようにはできていない。
apkを解凍する知恵があるがapkに書き戻す知恵がないのなら、ソースを取得してAndroidStudioでソースのCSSファイルをいじってビルドすればお望みのapkができる。
オープンソースのアプリなんだろ?
0429デフォルトの名無しさん
垢版 |
2019/07/07(日) 07:15:57.61ID:265Kx3U0
linuxが流行ったのは単純に無料でそこそこの品質でオプソなのでプログラマのオモチャになったから
Windowsが無料のオプソだったらLinuxはあっという間に絶滅していた
リーナスはプログラマとしてはそれほど大したことないが売り方がうまかった(無料なので売り方というのは変かもだけど)
ビジネスマンになったほうが成功したかもね
0431デフォルトの名無しさん
垢版 |
2019/07/07(日) 09:29:35.27ID:9mbVQdeV
>>429
> リーナスはプログラマとしてはそれほど大したことない

念のためお尋ねしますが
あなたは彼よりは凄い人なんですか
そうでない場合でも責めませんので
シンプルにお答えください
0432デフォルトの名無しさん
垢版 |
2019/07/07(日) 10:27:57.20ID:L6br89wj
>>415
高校生の頃に偏差値70近くある友人がプログラミング覚えて
ゲームを作ると豪語していたけど、結局、何も作れず挫折してたのを思い出したわ
0433デフォルトの名無しさん
垢版 |
2019/07/07(日) 20:56:18.88ID:+MitFUu1
windows10のHomeです
プログラミングにおいては、インストールするフォルダはデフォルト指定(Cドライブ)が良いのでしょうか
手動でインストールするのは全てDドライブに入れているのですが、不便不都合はありますか?
0434デフォルトの名無しさん
垢版 |
2019/07/07(日) 21:00:28.61ID:VrO3HeBH
>>433
何をインストールするの?
インストール場所指定できるもので不具合起きる可能性があるのならそこのベンダーなり配布者に聞いて
0437デフォルトの名無しさん
垢版 |
2019/07/07(日) 22:19:23.87ID:+MitFUu1
>>436
スレチ失礼しました
誘導ありがとうございます!
0438427
垢版 |
2019/07/07(日) 22:54:14.15ID:BS+ei3AC
>>428
ありがとうございます!

GitHubにアプリの公式が公開してるファイルがありました!!
それだとちゃんと編集出来てRUNできて
スマホ繋いだらインストールまでできました
0439デフォルトの名無しさん
垢版 |
2019/07/08(月) 07:59:40.47ID:chMIaIM4
SQLiteのような簡単にどの環境でも使えるデータベース
かつうっかりそれが他人に漏れてしまっても
中身がわからないというようなものとかないですかね
データベースのバイナリみてもヒントになるような情報はなく
テーブル構造なんかも外見上不明で
そういうのを一覧で表示するクエリとかも存在せず
もしデータベースの中から情報を得ようとしたら
ブルートフォース的にテーブル名を当てるところから始めないといけないような
0440デフォルトの名無しさん
垢版 |
2019/07/08(月) 10:18:38.44ID:buLS+oc3
暗号化するんじゃダメなん?
SQLliteでSQLCipherをよく使ってるが。
暗号化キー入れるまでsqlite3コマンドで開いても何にもできない。
さらにはVFSに自前で圧縮組み込だりするけど、そうすると標準のsqlite3コマンドでは全く扱えないDBファイルになる。
0442デフォルトの名無しさん
垢版 |
2019/07/08(月) 17:54:21.46ID:CccTAuA7
マスタープロセスがスレーブプロセスを起動して、
そのプロセスオブジェクトを通じて
標準入力と標準出力を通じて通信する場合、秘密情報の交換は危険ですか?
0444デフォルトの名無しさん
垢版 |
2019/07/08(月) 18:16:06.38ID:CccTAuA7
プロセスAがプロセスBを起動して、
例えばJavaではAにおいてBのProcessオブジェクトが得られるが、
それを通じて標準入出力を使って通信する事はセキュリティ上問題があるか?

C++でも同様にProcessクラスがあるから起動時に取得できるはず。
どの言語でもそうだろう。
0446デフォルトの名無しさん
垢版 |
2019/07/08(月) 18:36:29.33ID:CccTAuA7
良く考えてみたらコマンドラインのプログラムでパスワードを入力する時も
標準入力という事になる、はず。
それが傍受されたりするならかなり多くのプログラムが脆弱性を抱えている事になる。
0448デフォルトの名無しさん
垢版 |
2019/07/08(月) 19:05:49.17ID:CccTAuA7
この投稿内容に何か問題あるの?少しも分からない
0450デフォルトの名無しさん
垢版 |
2019/07/08(月) 20:21:09.65ID:FtptyyO3
「コンピュータ将棋選手権」
「コンピュータ囲碁選手権」
みたいな、
「事前に作ってきたソフトを戦わせる競技」
ってほかにどんなのがありますか?
0453デフォルトの名無しさん
垢版 |
2019/07/09(火) 21:38:49.41ID:chrBBqpb
今のところのハードだと
無理数の浮動点少数が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 となる言語はありますか?
0455デフォルトの名無しさん
垢版 |
2019/07/09(火) 21:51:15.88ID:ggPtzp0W
コンピュータは2進数を基礎として動いているので、2進数で表せないものは近似解になる。
少数は、二進数で0が多くなるたびに1/2されていく感じになる。それで表せないものは近似解になる。
0.1(2)=0.5(10)
0.01(2)=0.25(10)
基本情報の試験で出るから勉強しとけよ〜。
0460デフォルトの名無しさん
垢版 |
2019/07/09(火) 22:46:56.44ID:chrBBqpb
>>459
高くても感謝しているよ
今すぐにその困難に直面しているわけではないし
たぶんその問題に対峙したときにはきっと払える金がある
そして、金を払えば解決できることは
wolfram のようなものが世界にない状況よりはずっと良い

wolframに相当するものを作ろうとしたら
たぶん自分はできないだろうし、できたとしても相当な労力がいる
0461427
垢版 |
2019/07/09(火) 23:54:33.22ID:W6L6DZFg
>427です
電子書籍のリーダーを改造しています
androidStudioでCSSをいじってみたんですけど
フォントのサイズは変わるんですがCSSのLine-breakとか使っても
鍵かっこ(閉じる)や句読点が行頭に来てしまいます
androiudstudioのハローワールドを表示させるサンプルのビューワーだと
ちゃんと行頭に句読点が来ないように適当に改行するんですが・・・
設定を合わせてみたんですが何が違うのか分からないです

どうやったら禁則処理できるんでしょうか・・・?
0462デフォルトの名無しさん
垢版 |
2019/07/10(水) 07:45:35.28ID:tVEwnKkT
wolfram高いから、maximaなんかどうだ?
学生時代mathematica高くてmaximaに走ったけど、未だに使ってるよ。
0464デフォルトの名無しさん
垢版 |
2019/07/11(木) 21:04:21.10ID:1dywO6hX
pythonを始めた初心者なのですが、機械学習についての質問はくだすれpythonというところでしても大丈夫でしょうか?
0466デフォルトの名無しさん
垢版 |
2019/07/12(金) 01:58:05.85ID:541mkUDK
最終的な計算結果は符号なし32bitでいいんだけど、
掛け算が入るから一時的に32bitを超える。

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

これを防ぐ方法ないかな?
0468466
垢版 |
2019/07/12(金) 03:21:39.12ID:541mkUDK
なんか勘違いしていたみたい。
問題は別にあって(強制的に符号ありで計算されてる)
浮動小数点誤差だと思ったのは、渡し方が悪かったみたい。
0469デフォルトの名無しさん
垢版 |
2019/07/12(金) 05:19:14.01ID:SIIwVcgj
初めてデータベースを使おうと思って色々調べてるんだけど
インデックスとやらが便利そうなのにKVSではほとんど実装されていないのは何でなの?
気になって夜も眠れません
0474◆QZaw55cn4c
垢版 |
2019/07/13(土) 16:23:07.12ID:KfP9prYE
>>472
現在のモジュールではないところにある変数を使う、という意味です
自分のモジュールでは変数の領域確保はせず、他のモジュールで変数領域を確保したものを、自分ところで使う、くらいの宣言ですね
複数のモジュールを分割コンパイル&リンクで構成するときに使いますね
0475デフォルトの名無しさん
垢版 |
2019/07/18(木) 20:59:46.89ID:oIj3MCe2
Cの入門書3冊ほど買ってやっているのですが
毎回「2進数,16進数,ビット,符号付き云々」が書かれた章ら辺を全く理解できず飛ばしてしまいます
ここら辺の説明が簡単にされてるお勧めの書籍はないですか?
0476デフォルトの名無しさん
垢版 |
2019/07/18(木) 21:33:14.84ID:zRiZ3XlB
>>475
それはプログラムに必要な知識だけどプログラムに関する質問には当たらない
そして10進数や時間の60進数を理解している小学生にも理解できる知識だから本探すのは無駄
0477デフォルトの名無しさん
垢版 |
2019/07/18(木) 21:48:31.44ID:ixQnk4MT
>>475
事故ってから調べたら?

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

その辺はハードウェアの実装にまつわる話であって
数学的でもコードの主要なロジックでもないから
後回しでも大丈夫
0478◆QZaw55cn4c
垢版 |
2019/07/18(木) 21:56:28.66ID:/oDno/7H
>>475
理解できない文章を書いていただけますか?たぶんここで説明できると思います
0479デフォルトの名無しさん
垢版 |
2019/07/18(木) 21:59:41.60ID:DPDlMznj
交通量調査でカウンターカチカチやってるやついるよな?

0000から始まって9999までいくやつとか。
ボタン押すたびに数値が1つずつ増えていく。9の次は一つ左が1つ増えて0に戻る
2進数っていうのは、あの数字が0と1しかないバージョン
0481デフォルトの名無しさん
垢版 |
2019/07/18(木) 22:53:40.52ID:/LR/VG24
>>475
知り合いから同じような質問をされたことがあった
参考書を何度読み返しても分からない、例えで教えろと言うので
「もし8本指の宇宙人がいたら16進数を使うはず
地球人は5本指で手が2本だから、数を数えるときに10ずつ繰り上げる10進数を使うが
両手合わせて16本の指を持つ宇宙人なら16ずつ繰り上げる
それが16進数」
って答えたわ
0482デフォルトの名無しさん
垢版 |
2019/07/19(金) 07:31:36.74ID:YMiFBQf1
>>478
16進数は10進数を16で割り続ければ16進数に変換出来るというのは何となく分かったのですが
でもそれをどうやってABCDEFも使って16進数表記にすれば良いのかわからないです
後8bitは256個の数字が表せる理屈も分からないです
ビットの論理演算も意味不明です
unsigned ,signedを使う必要性?とかも分からないです
他にもありますが…全て分かってないので具体的に言えるほど内容濃くないですw
ここらへん理解できないとポインタの章も理解できてるとは言えないのでしょうか・・
0483デフォルトの名無しさん
垢版 |
2019/07/19(金) 10:17:04.36ID:mIHotaYe
> 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個ものフラグを詰め込めるんだ。どうだすごいだろう?
0484デフォルトの名無しさん
垢版 |
2019/07/19(金) 10:29:47.45ID:mIHotaYe
変数に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 こうなってあまりキリが良くない。
0485デフォルトの名無しさん
垢版 |
2019/07/19(金) 10:39:13.10ID:mIHotaYe
> unsigned ,signedを使う必要性?とかも分からないです

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

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

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

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

昔はこのバランスを考えて使用するメモリ量(=変数の型)を決めていたんだよ
0486デフォルトの名無しさん
垢版 |
2019/07/19(金) 11:02:38.87ID:ApXEphk2
>>482
重要なことは、C言語とは
限りある資源、リソースを
できる限り無駄の無いように使う言語だということ

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

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

ポインタはメモリの住所みたいなもの
---
ここまで解説したが、スタートはC 言語じゃなく他の言語でもいいんじゃないか?
速度やメモリ消費の面では劣るが、今どき素晴らしいスペックのハードがでまわっているから
こういう厄介なハードウェアとの付きあいをする言語は使わず、
変数の宣言も無しで書ける言語の方が楽に早く書けてお薦めである
速度やメモリ消費で困ったらCに戻ってくればいい
0487デフォルトの名無しさん
垢版 |
2019/07/19(金) 11:31:40.61ID:c3TpmWgf
語弊はあると思うが、俺もC言語は勧めんなぁ。
あまりに何でもできるのは、何にもできないのと同じぐらい道に迷う。
チャリで東京から北海道まで行くようなもん。
せめて車乗ってナビ使ったほうが良いと思う。
最初は電車で行っても良い。

なにが作りたいかわからんが、スクリプト言語からやったらどう?
0488◆QZaw55cn4c
垢版 |
2019/07/19(金) 21:19:51.22ID:yFpmEYZn
>>486
>数学の2進法により両手10本の指は1024ぐらいまで数えられる
まさか!
あなた、薬指をのばしたまま小指だけ曲げられますか?
0490◆QZaw55cn4c
垢版 |
2019/07/19(金) 21:44:41.18ID:yFpmEYZn
>>489
不可能でしょう、小指を曲げると薬指も曲がるのでは?
0496デフォルトの名無しさん
垢版 |
2019/07/20(土) 12:24:55.70ID:HcXIBqDX
>>487
「就職に役立ちそうだから」だけで勉強始めている人の方が多い感じ
実際にはどんな言語でも何か作ってみてわからないのならその都度ネットで調べるのが一番早いのにな
「基本ができてないから本で勉強」始めてプログラムよりも本の内容を理解することが目的になっている人はこの板でよく見かける
0497デフォルトの名無しさん
垢版 |
2019/07/20(土) 17:00:41.53ID:NNhBLasf
>>496
就職に役に立つレベルなぁ。

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

英語でも英会話教室行ったら突然外国人と商談ができるようになる訳でもあるまいに。
0499デフォルトの名無しさん
垢版 |
2019/07/20(土) 20:33:43.64ID:XVHSU7dO
入門書読んでここで質問するような奴は見込みが無いよ
仕事だろうが趣味だろうが他を探したほうがいいね
0500デフォルトの名無しさん
垢版 |
2019/07/21(日) 00:12:13.15ID:BDXTmjgF
Hoge h = Hoge();
のコンストラクタを直接呼び出した際と
Hoge h();
に何か違いは生じるのでしょうか?

C++です。
0501デフォルトの名無しさん
垢版 |
2019/07/21(日) 02:52:45.05ID:E8jCFkZn
上はデフォルトコンストラクタが呼び出された後にコピーコンストラクタが呼び出される
0502デフォルトの名無しさん
垢版 |
2019/07/22(月) 11:10:22.54ID:3tinu56U
>>498
日本語で商談ができる人間が英会話教室に行くのはわかる。

論理的に考えられてプログラミング「したい事」がプログラミング無しでとりあえず出来るなら、プログラミングを学ぶ価値はある。独学であれ教室であれ。

目的もなく便利そうで学んで出来る事は何も無いって事が言いたかった。
0504デフォルトの名無しさん
垢版 |
2019/07/29(月) 01:26:20.49ID:ZPgDYf6e
プログラミング初心者で恐れ入ります。
C言語では変数を使えば使うほどメモリを消費してしまうと学びました。
VBAなどでも変数を使わず直接計算した方がメモリの使用が減って動作が軽くなる(実感できるレベルかどうかはおいといて)という理解でよいでしょうか?
0507デフォルトの名無しさん
垢版 |
2019/07/29(月) 12:04:56.16ID:3vvajVS9
足し算でも1サイクル取られるし、割り算掛け算だと運が悪いと数サイクル食う。
ある程度出来上がったものに名前を振って、メモ化しておくと再利用性で総サイクルを減らせる。
0508デフォルトの名無しさん
垢版 |
2019/07/29(月) 13:41:42.85ID:Tlfc46Nc
>>504
Cであっても関数内でstatic指定したかグローバル変数以外はスタックに割り当てらるしレジスタ上だけで済む場合はわざわざメモリ使わないのであなたが思ってるほどメモリ消費しないかもしれないし
直接計算でも複雑な場合はスタックに一時格納される可能性があります
0510デフォルトの名無しさん
垢版 |
2019/07/29(月) 14:19:55.56ID:3vvajVS9
コンパイラの構造把握するとか、コンピュータがどういうときにメモリを必要とするとか。
雑学の範囲な気がする。
0512デフォルトの名無しさん
垢版 |
2019/07/29(月) 14:43:30.51ID:PDSkQK8D
内部動作のソース出して話しているわけじゃないんだから全部憶測だし、それでいいならアセンブラの勉強しとけばいいじゃん
0513デフォルトの名無しさん
垢版 |
2019/07/29(月) 14:44:22.33ID:VkmvAKd6
500MBのテキストファイル内容を配列に詰め込んだら
たぶん1GBぐらいメモリー食うんじゃないだろうか
怖くてやってないけど
0514デフォルトの名無しさん
垢版 |
2019/07/29(月) 19:50:28.17ID:NJLA1mNQ
>>504
なるべく変数を使わない方がいいという間違った行動規範に従ってクソコードを量産しないでくれればいいな
変数じゃんじゃん使っていいよ
適切に解放できているかが重要だよ
初心者が必要もないのに性能を追求するのはド定番のアンチパターンなんだ
0515デフォルトの名無しさん
垢版 |
2019/07/29(月) 21:31:06.61ID:m0YkR+om
>>504
> C言語では変数を使えば使うほどメモリを消費してしまうと学びました。
間違いです。

で終わる話だけど良いかな?
もうこれ以上君が追求することはなにもないよね?
0516デフォルトの名無しさん
垢版 |
2019/07/29(月) 23:35:51.92ID:GANFW+XD
つーかどこからそんな嘘情報を仕入れてきたんだろ?
変数はレジスタにアサインされる可能性があるけど
配列はメモリのロード/ストアが発生しちゃうじゃないか
速度はレジスタ>>>>>メモリなんだから一般的にはレジスタを使った方が速い
0517デフォルトの名無しさん
垢版 |
2019/07/29(月) 23:57:29.36ID:4SskHBFS
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
0518デフォルトの名無しさん
垢版 |
2019/07/30(火) 01:22:41.67ID:1OAIeOP2
>>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;
}
のとでもやればコピーコンストラクタが削除されてるぞとコンパイルエラーが出る
0519デフォルトの名無しさん
垢版 |
2019/07/30(火) 06:20:33.32ID:YUaynpL1
C++で質問です。
なんでコピーコンストラクタなんてあるんですか?
こんな面倒くさいものがある言語はC++ぐらいですよ?
0520デフォルトの名無しさん
垢版 |
2019/07/30(火) 07:07:01.50ID:qInRlFut
質問
C#やESなんかでは
言語仕様としてgetterやsetterがサポートされてますよね

getterはともかくsetterの方はメソッドチェーンと相性が悪そうな気がするのですが
普段メソッドチェーン愛用されてる方はこの言語仕様のsetteて活用してますか?

>>519
例によってアドレスのコピーに伴う問題とかあるんじゃねーの
0522デフォルトの名無しさん
垢版 |
2019/07/31(水) 08:07:54.99ID:OMl8MQGh
ソースコードを印刷するのに良さそうなフォントってないかな
・無料で使用できる
・コメントに日本語を含む(日本語は良さそうなのがなければ別のフォントでも可)
・Windows
・ボールド、反転する
0529デフォルトの名無しさん
垢版 |
2019/07/31(水) 21:06:59.45ID:f+elJvUQ
コード内容にはあまり意味がなく、「なんとなくプログラムっぽいテキスト」がほしいい場合
あえてMSゴシックなどを使うという手もあるかな
0530522
垢版 |
2019/07/31(水) 23:36:57.91ID:7ZhszA/c
ありがと。Ricty Discordは合成しないといけないようなのでDiminishedを使ってみます
0531デフォルトの名無しさん
垢版 |
2019/08/01(木) 07:37:45.29ID:osmQ6yAa
先日Unityによって作られたゲームを初めてプレイしたんだけど表現の割にマシンへの負荷が大きいように感じました
1.そのゲーム固有の現象であり適切に作ればネイティブな実装と遜色ないパフォーマンスを発揮できる
2.フレームワークがはさまる以上オーバーヘッドの発生は避けられない
3.その他
どれなんかな?
0532デフォルトの名無しさん
垢版 |
2019/08/01(木) 08:23:47.07ID:IsO8UtQ9
2であり、1でもある、かな。
フレームワークが存在するからこそ下手なコード書いてオーバーヘッドを産むことも少ないし、
フレームワークをいかに使いこなせるかじゃないかな。
単純にネイティブ実装=早い、ではないよ。
0533デフォルトの名無しさん
垢版 |
2019/08/01(木) 08:45:22.42ID:UexDaqa5
結構前のUnityの講演でだけど
開発当初はキャラクター5人表示がせいぜいだったけど調整したら15人くらいまで行けたわ
ってバンダイナムコの人の話があるね

なんとっ!ユナイト!ミリシタをささえる『AKANE』大作戦とは?
https://app.famitsu.com/20180509_1289991/
(実際の資料や動画も公開されてるようなので興味があれば講演タイトルでぐぐって)
0534デフォルトの名無しさん
垢版 |
2019/08/01(木) 14:09:23.21ID:jIKnJvhQ
それならネイティブだったら30人くらいいけるけど工数10倍〜100倍掛かるとかそんな感じだろう
どうしたってフレームワークのオーバーヘッドは避けられない
0536デフォルトの名無しさん
垢版 |
2019/08/01(木) 15:13:02.88ID:bR99qXsR
先日Unityによって作られたゲームを初めてプレイしたんだけど
> 表現の割に
どのような表現なのか?

> マシンへの負荷が大きいように感じました
どの程度の負荷なのか?

それがわからんのに答えられるわけがない
0537デフォルトの名無しさん
垢版 |
2019/08/01(木) 15:38:20.90ID:QRlVNafi
そんなの分からなくても答えは変わらない
オーバーヘッドを無くすことは出来ないがそれがどの程度かというはケースバイケースだ
そして正確なところは作った人間にも分からない
0538531
垢版 |
2019/08/01(木) 23:16:32.23ID:9sMOQV+c
1.ゲームエンジンが裏で何しているかを考慮しながら開発しないと高効率は望めない
2.何かがはさまる以上一定のオーバーヘッドは発生する
ということなのかな

ちなみにそのゲームですが表現的にはDirectX8あたり?で頂点数も1000もなさそうなのにPCがやたらがうなります
画面は箱と板にテクスチャが貼ってあるだけのシンプルな物です。特殊効果も使われているようには見えませんし
0540デフォルトの名無しさん
垢版 |
2019/08/02(金) 14:28:01.11ID:NVKAYXyA
フレームワーク云々でなくて、単にvsyncがoffになっててGPUが全開で回ってるだけだったりして
0541デフォルトの名無しさん
垢版 |
2019/08/06(火) 07:39:15.67ID:pONItBAd
入門サイトにあるhttp://ideone.com/YyFypJのC言語のコードを実行すると
型cont char*値を使用してchar*のエンティティを初期化することはできません。とエラーが出て実行出来ないんですけど
どうすれば実行できるようになりますか?
10行目の前のconstを入れてみたりはしたんですけどそれでも駄目で。
使ってるのはVisualstudio2019です
0542デフォルトの名無しさん
垢版 |
2019/08/06(火) 09:46:02.94ID:B387Kalp
DNSサーバのレンタルサービスがありますが、これは何ですか?

DNSサーバってネット上のどこかにあって、ユーザが意識しなくてもドメイン名とIPアドレスを正しく結びつけるものだと思いますが、
自分でDNSサーバをレンタルする動機って何ですか?

yahoo.comにgoogle.comのIPアドレスを結び付けたりとか変則的なことをするんですか?
0543デフォルトの名無しさん
垢版 |
2019/08/06(火) 13:13:12.52ID:trr4oLNQ
1.1.1.1とか8.8.8.8がお前のunko.example.comができた事を知り、自動的にAレコードをDNS鯖に追加するなら動機はないが、そうではない場合何らかの手法でunko.example.jpをIPアドレスに変換する必要がある
0544デフォルトの名無しさん
垢版 |
2019/08/06(火) 17:15:36.05ID:B387Kalp
>>543
たぶん分かりました
そういうのって私はレジストラのDNSサーバで手動で設定してましたが、調べてみるとレジストラがDNSサーバを提供していない場合があるらしいですね
0548デフォルトの名無しさん
垢版 |
2019/08/06(火) 19:36:29.08ID:ywkGXHHX
自分でDNS立てる動機がわからないのか
社内SEになった自分を想像して羽ばたけ
0549デフォルトの名無しさん
垢版 |
2019/08/06(火) 22:38:04.50ID:8h96sAQZ
>>547
それはもう調べたのですが
char* nameの前にconstを入れると解決すると上の方に検索結果として出てましたが
自分の場合解決しませんでした…。
0551デフォルトの名無しさん
垢版 |
2019/08/06(火) 23:27:35.68ID:fIsBh/Ce
若い衆がJavaを今から覚える気はないとのたまう
世間に踊らされているようだ

ナウいTypeScriptかPythonを
レガシーな現場になんとか導入してやらせてやろうと思うのだが
うまい口実はないものだろうか
0554デフォルトの名無しさん
垢版 |
2019/08/06(火) 23:53:37.38ID:Uq1zh0Vl
>>551
コードといっしょで整理する必要がある

まずなんで話を聞かないといけないかをはっきりさせる
たとえば、現場の問題点のリストとかで

次に何をするかをはっきりさせる
例えば pythonなどが何を解決する? その考えられる具体例は
そしてなぜpython にした。つまり何が他と違う?

以上を簡約化して3つ以下の要素にまとめると?
コーディングのように全体を俯瞰できる抽象化は
会話でも理解しやすさに繋がる
0555デフォルトの名無しさん
垢版 |
2019/08/07(水) 00:18:16.88ID:SFXJyJPu
Ruby は、アマゾン・Google, Heroku で、採用されてる!

Ruby on Rails 6 (Ruby 2.5 以上)では、GitHub 中心で、

複数データベース(レプリカ)接続の大規模サービスと、
テストの並列実行など、別次元へ行ってしまった!

モジュールバンドラーも、Webpack になりました!
Coffee Script は、無くなった

メール送受信の機能と、
ブラウザの入力フォームが、ドラッグ&ドロップで、ファイルも受け付けるようになった
0556デフォルトの名無しさん
垢版 |
2019/08/07(水) 12:37:01.79ID:u0NlqDQ2
>>549
constは変数の型につけるものだから4行目の「char *name;」を「const char *name;」にすれば解決する
0557デフォルトの名無しさん
垢版 |
2019/08/07(水) 15:58:57.91ID:BR8qTk08
今、Windows Driver Kit を使うような常駐プログラムを書くとしたら何がいいんでしょうか
C++で以前は書いていたのですが、違う言語でやってみようと思います。
0560デフォルトの名無しさん
垢版 |
2019/08/07(水) 17:47:36.61ID:BR8qTk08
>>558-559
ありがとうございます。

windowsのライブラリに依存するプログラムという意味で聞いたのですが
具体的に言うとwindows10 bluetooth機能です。

教えていただいた言語でそこまで対応できますでしょうか
0562デフォルトの名無しさん
垢版 |
2019/08/08(木) 18:51:48.48ID:eREv7yxY
以下のような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
$
====================================
0564デフォルトの名無しさん
垢版 |
2019/08/08(木) 19:35:53.91ID:ggjVn3y2
>>562
なぜできたことをわざわざパイプラインにした?
powershell -Command "$str=Get-Content test.csv; $str._.split(',')[1]"
0565デフォルトの名無しさん
垢版 |
2019/08/08(木) 19:49:37.77ID:eREv7yxY
>>564
どうもありがとうございます。単純にその書き方を知りませんでした。

初歩的な疑問ですが、なぜ>>562にあるパイプラインの書き方でエラーが出るのか
よくわかりませんでしたので、わかる方がいればご教示いただけると幸いです。
0566デフォルトの名無しさん
垢版 |
2019/08/08(木) 21:07:16.53ID:Dxufm4Tv
>>565
✕ | ($_.split(','))[1]
○ |% ($_.split(','))[1]
パイプラインを流れるのはコレクションだから
get-contentで通常取得出来るのもコレクションだから
csvが1行だとしても決め打ちコードは良くない
0567デフォルトの名無しさん
垢版 |
2019/08/08(木) 21:17:40.95ID:gHNDo6wM
C言語のポインタで
構造体の中で char *a; でメンバを入れてその後 bc.a=なんちゃら〜 で中身を入れれる意味がわかりません(bcは適当)

この時のaはchar型のアドレスを入れる用の箱じゃないんですか?
0568デフォルトの名無しさん
垢版 |
2019/08/08(木) 21:47:05.37ID:/tBUMiMq
%, 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
0572デフォルトの名無しさん
垢版 |
2019/08/12(月) 17:05:20.10ID:rMNhJ3mv
!8みたいに左側に演算子がつく場合はどういう意味でしたっけ?
0573デフォルトの名無しさん
垢版 |
2019/08/12(月) 17:08:00.46ID:FEiQT6YL
演算子を左側に置くことで、意味が生じるのではなく
演算子によって、意味が変わる。
演算子の意味は調べなさい。
0576デフォルトの名無しさん
垢版 |
2019/08/12(月) 19:07:13.75ID:koKQ0OPg
計算優先順位がよくわからないのですが、javaで
(new file("test")).exists()==false
!(new file("test")).exists()
これは同じ意味(ファイルは存在しない)とみていいでしょうか?
つまり!よりexistsが優先で先に処理される でいいでしょうか?
0577デフォルトの名無しさん
垢版 |
2019/08/12(月) 19:10:10.81ID:koKQ0OPg
またカッコを付けないで
!new file("test").exists()
といった記述も成立しますか?
0578デフォルトの名無しさん
垢版 |
2019/08/12(月) 19:10:32.53ID:zKyxPE13
たぶんねー、fileをnewしてるから、とりあえず存在はするようになって、その後exist()が走ってあるよ!って返すと思う。
にわかC++脳にはそう見えた。
0581デフォルトの名無しさん
垢版 |
2019/08/13(火) 10:31:18.89ID:1tzMDNsO
Javaの演算子の優先順位は、高い順に . ! new
!(new File("test")).exists()はまずカッコ内が評価されてFileが生成された後、. の結合力のほうが強いから.exists() が先に評価されて、最後に ! で否定の意味になる
== falseは同じ意味で、素人がまずやる冗長な書き方、可読性のために意図的に書く層もいるらしい
!new File("test").exists() は意図通りにならない
newよりも . が強いので、File("test").exists() の結果をnewしようとなり文法エラーになる
0582デフォルトの名無しさん
垢版 |
2019/08/13(火) 11:15:09.96ID:qsI+Inq5
File("test")だけでは成り立たないのでnew File("test") この部分が優先されてひとまとまりになるのでは?
0583デフォルトの名無しさん
垢版 |
2019/08/13(火) 15:18:01.32ID:kSLlaV/X
SMSに詳しい人いますか?SMSってちょっと変じゃないですか?

変なところ1
複数のサービスが一つの電話番号を共有している
https:i.imgur.com/a/rm676Gi.png

変なところ2
それとは別に公式アカウント(?)があるが本物かどうかわからない
https://i.imgur.com/a/3s9T3Vr.png
0585デフォルトの名無しさん
垢版 |
2019/08/13(火) 21:36:44.44ID:kSLlaV/X
>>584
そんなん見りゃ分かるだろ
0587デフォルトの名無しさん
垢版 |
2019/08/13(火) 22:39:18.57ID:uKVST6zb
ぱっと見は普通なのに、喋ったり一緒に仕事したりすると
うわっこいつ変だって気づくケースもあるよ
0588デフォルトの名無しさん
垢版 |
2019/08/14(水) 15:23:44.83ID:xcjG5Me8
SMSにも証明書つけろ
0589デフォルトの名無しさん
垢版 |
2019/08/14(水) 21:37:58.81ID:oxhAJDr0
SSHにはHTTPSのルート証明書のような仕組みはないのか?
フィンガープリントを確認するのめんどくさいよ
0590デフォルトの名無しさん
垢版 |
2019/08/15(木) 01:16:14.45ID:dEJsGBHn
>>581
すまん間違いだったので訂正
!new File("test").exists() は通る
演算子の優先順位が . ! new の順というのが勘違いで、そこまで単純じゃなかった
Javaの言語仕様ではコンストラクタはメソッドより優先されるので
!new com.example.MyClass.InnerClass.method() とした場合、パッケージとクラスの . まで、new、.method()、! の順に評価される
0591デフォルトの名無しさん
垢版 |
2019/08/17(土) 18:57:59.26ID:+5h9TPix
イベントの通知に関してよくあるのは、A)処理できるリスナーが見つかるまで走査して最初のリスナーがイベントを消費するパターンと
B)別のリスナーの処理の成否にかかわらずすべてのリスナーが通知を受け取るパターンの二つだと思いますが
これらを呼び分ける一般的な用語や分類って何かありますか?
0592デフォルトの名無しさん
垢版 |
2019/08/18(日) 16:55:34.25ID:UL8zIMSR
昔あったファーレントゥーガみたいなpcゲームはどんな言語を使ってるんですか?
javascriptだけでは無理ですよね?
0593デフォルトの名無しさん
垢版 |
2019/08/18(日) 17:38:42.95ID:UqAYkpuX
100個位のファイルをアップロードするときって
並列でした方がいいんですか?
帯域が100分の1になったりしませんか?
それとも全部並列で投げても自動的に五個ずつとかになるんですか?
0595デフォルトの名無しさん
垢版 |
2019/08/18(日) 18:13:45.32ID:zLM0n6Bh
>>592 実際の所は個々のプログラマーにきくしかないが
たいていC言語系が多いとは推察できる
ファーレントゥーガ的な物はjavascriptだけでも出来るでしょうね
0596デフォルトの名無しさん
垢版 |
2019/08/18(日) 21:11:05.04ID:UL8zIMSR
>>595
ありがとうございます

javascriptとphpをかじっただけの初心者なんでjavascriptだけであれに近いゲームが作れるイメージが全くわかないですね
0597デフォルトの名無しさん
垢版 |
2019/08/19(月) 23:50:21.80ID:aJc3Dq4R
async/awaitって非同期処理の決定版なんですか?
こんなの言語仕様に追加しちゃって後悔しませんか?
0600デフォルトの名無しさん
垢版 |
2019/08/21(水) 22:13:31.02ID:KuzvxaPF
研究でカードゲームみたいなものを作りたいんです。

@10枚ぐらいのカードが配られる
Aルールが提示される
Bプレイヤーは提示されたルールに従ってカードを並べ替える
Cプレイヤーが正解に至るまでの並べ替え過程とその時間を記録する。

プレイヤーはPC操作に詳しくない人を想定しているため、
できるだけGUIで2Dで実際のカードを動かしているようにしたい。
Windows上でスタンドアロンで動作すればOK。

開発環境はC#とUnityで大丈夫ですか?
他にいい開発環境があったら教えて下さい。
0602デフォルトの名無しさん
垢版 |
2019/08/21(水) 22:58:33.53ID:KuzvxaPF
>>601
C#のWindowsフォームアプリケーションは作ったことあるんだけど、
カードを動かすGUIを一から作るのは大変そうだと思って。
Unityならありていのカードゲームようのコード使ってちょいちょいとGUI部分作れないですか?
0603デフォルトの名無しさん
垢版 |
2019/08/25(日) 13:23:59.23ID:tEICRRBw
心理学用のGUIツールって売ってるんじゃあなかったっけ
Unityの次はprocessingつまりJava
0604デフォルトの名無しさん
垢版 |
2019/08/25(日) 16:02:44.62ID:Lzi7fDLj
並べかえるだけなら二つを選択するごとに入れ替えor挿入の処理をするだけだからフォームアプリケーションで十分でしょ
0606デフォルトの名無しさん
垢版 |
2019/08/25(日) 17:01:28.56ID:719wpC0x
仕様がはっきりしないものをこの板で質問されても誰も答えられない
まず仕様決めてから質問してくれ
0607デフォルトの名無しさん
垢版 |
2019/08/25(日) 19:28:31.80ID:wApr1vL8
>>600
うにてーである理由がないなぁ。
WindowsFormって死んだの?

カードの初期配置と何番と何番入れ替えたかだけ持ってれば最低限のものは作れる。
オプションで乱数シードでも持つか?
0608デフォルトの名無しさん
垢版 |
2019/08/26(月) 06:23:58.58ID:/i8RUSXI
ゲームの解析がしたくてアセンブラとバイナリデータが読めるようになりたいのですが
0から解説してるサイトやお勧めの入門書はないでしょうか〜?
今の自分の知識はC言語の入門書に載ってるような基本的文法を覚えた程度です
0609デフォルトの名無しさん
垢版 |
2019/08/26(月) 06:49:13.46ID:LOkM9Twk
仮想アセンブラなら、LLVM が世界標準。
日本の情報処理資格の仮想アセンブラなら、CASL2

実際のアセンブラは、2種類ある。
左右が逆になるので、面倒

Intel記法
[ニーモニック] [操作先] [操作元]

AT&T記法
[ニーモニック] [操作元] [操作先]

LLVM の日本語訳のサイトでも見れば?
0610入門
垢版 |
2019/08/26(月) 07:31:22.87ID:/i8RUSXI
>>609
ありがとうございます
LLVMが何か分からなかったのでググったのですが自分が知りたいアセンブラとは違ってるようでした
それとあまり良く分かってないのですがバイナリデータ入門とアセンブラってセットですか?
0612609
垢版 |
2019/08/26(月) 08:00:59.17ID:LOkM9Twk
「うさみみハリケーン」のうさぴょんとか、
将棋AI「やねうら王」の作者、やねうらおとかの本だろ

解析魔法少女 美咲ちゃん マジカル・オープン!
という本もあったw

推薦書のスレにも、よく書いてあった
0613デフォルトの名無しさん
垢版 |
2019/08/26(月) 08:20:26.80ID:/i8RUSXI
>>612
ありがとうございます。やねうらおの魔法少女の本調べたのですが(Amazonで)
全くの0からの初心者には分からないという声が大きかったので、うーんって感じです。
色々調べてるうちにC言語でもインラインアセンブラというのを使って学習できるみたいのを目にしたのですが
そういうのを1から10まで解説した本とかってありますでしょうか?
0614デフォルトの名無しさん
垢版 |
2019/08/26(月) 08:41:22.83ID:WUNK0uFh
java1冊、kotlin2冊勉強したんだけどやりたいこととマッチする内容にヒットしない
txtやcsvを内部ストレージに置いて読み取る方法を探してるのですが
lealmやSQliteいじってたらたどり着けますか?
カンマ区切のデータをどこかにコピペしたらいいのか…
もう少し悩んでみる
0615609
垢版 |
2019/08/26(月) 09:33:41.96ID:LOkM9Twk
>>613
デバッガによるx86プログラム解析入門【x64対応版】、2014、うさぴょん

OllyDbg の使い方などを説明した本。
初心者が読めるかどうかは分からない

推薦書は、このスレの前のスレとか、見てみれば?

推薦図書/必読書のためのスレッド 83
https://mevius.5ch.net/test/read.cgi/tech/1556284220/l50
0616デフォルトの名無しさん
垢版 |
2019/08/26(月) 09:44:11.14ID:LOkM9Twk
>>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
0617デフォルトの名無しさん
垢版 |
2019/08/26(月) 09:57:41.22ID:kCMa4Zih
ぶっちゃけ改造系BBS眺めたほうが早いだろ
自力解析なんて時間の無駄
覚えるなら中国語覚えろw
0618デフォルトの名無しさん
垢版 |
2019/08/26(月) 13:43:28.88ID:6Yy0Xy6x
>>610 今時よほどのことがなければアセンブラなんて使わないぞ。 大抵はCで間に合う。
バイナリデータとアセンブラは無関係。 勿論アセンブラではバイナリデータも取り扱うが。

>>608 ああわかった、人の作品を逆アセンブルしてコピーしようと思ってるんだろ。
或いは暗号を解読してただで遊ぶとか?
逆アセンブラってのが有るぞ。
そんなことするより自分で作った方が早いはずだけどな。

人の作品は大抵は高級限度で書かれているから逆アセンブルしても膨大な量で追いきれないと思うぞ。
OSの中身にまで迷いこんでギブアップするのが目に見える。
0620デフォルトの名無しさん
垢版 |
2019/08/26(月) 14:27:01.71ID:PAKpK0bt
エロゲーのディスクチェックを外したいです
(純粋にアセンブラを勉強したい人だっているんですよ!)
0621デフォルトの名無しさん
垢版 |
2019/08/26(月) 15:25:25.11ID:esXCfV0Z
不正に加担する奴はそうそういない
厳密に言えば犯罪幇助になるから公の場所で協力者を募るのはド阿呆
そんなことも分からない己れの知能の低さを自覚した方が良い
0622デフォルトの名無しさん
垢版 |
2019/08/26(月) 15:42:03.21ID:O2bBF7OK
1Mのバイナリを大雑把に言うと、128K個のニーモニックやらが埋葬されててそれを追うんだぞ。
俺も素人だから概要しか知らんけど。
0624デフォルトの名無しさん
垢版 |
2019/08/26(月) 17:03:50.79ID:XVwWLaSn
逆アセンブルでも使えるやつと使えないやつがあるから、そのへんの見分け方を教えてほしい
というか何使ってる?
0625613
垢版 |
2019/08/26(月) 17:31:31.04ID:K6bspMJx
PS2とPS3のゲームを解析したいからアセンブラ、バイナリ読めるようになりたいです
オンラインじゃないから犯罪じゃないです
>>615
本屋で少し見てきましたが色々前提知識がないと理解するのは無理そうでした
後言語を事細かに教える本というより解析を教えるという本でした
アセンブラとかバイナリやる前にAPIとか覚えないとならないのでしょうか?
よろしくです
0626デフォルトの名無しさん
垢版 |
2019/08/26(月) 17:53:04.19ID:bwSy1aW5
>>625
WindowsならWindowsOSの基礎とAPI
同じようにゲーム機ならゲーム機の構造と基本的な入出力部分
が前提知識として無ければいくらマシン語が読めても無駄
0628613
垢版 |
2019/08/27(火) 08:17:49.44ID:pd21GmpT
改造板は質問スレもないですし前提知識ない人間は行っても無駄そうな気が・・・
とりあえずWinApi少し学習してみてそれから考えます゚(´-`).。oO
0629デフォルトの名無しさん
垢版 |
2019/08/27(火) 08:57:19.02ID:zJC5pMSw
webプログラムをやりたいと思うようになってきました。VBとC#を中心に使ってきたので、近い文法というか感覚で出来るものだとありがたいです。何かオススメのものはあるでしょうか
0630デフォルトの名無しさん
垢版 |
2019/08/27(火) 08:59:34.82ID:VCpJm/iT
webプログラムをやりたいです→でもwebプログラムはやりたくないです。今まで通りのことがしたいです。
0633デフォルトの名無しさん
垢版 |
2019/08/27(火) 09:19:42.66ID:jS0ysWN1
よりによってWindows APIを覚えて何に活用しようというのか
Cから学ぶというならまだわかる
0635デフォルトの名無しさん
垢版 |
2019/08/27(火) 20:32:59.51ID:r7HYJccD
ミジンコでもわかるゲーム解析ってサイトでWinApiとアセンブラ、バイナリ読めないと話にならないと書いてあったので
なんで必要かわからないけど取り敢えず始めてみたいと想いました
0638デフォルトの名無しさん
垢版 |
2019/08/28(水) 00:49:20.96ID:iZEqAFR9
概要言うの忘れてた。
>>637は全探索でプログラミングするコードなんだけど、
アルゴリズムを考慮しないで爆弾構築し続けるというモノだ!!!
0640デフォルトの名無しさん
垢版 |
2019/08/28(水) 04:24:20.34ID:zh6eQCAa
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にいつ代入しているのでしょうか・・・?
初歩的な質問ですみません。宜しくお願いします。
0641デフォルトの名無しさん
垢版 |
2019/08/28(水) 08:09:37.45ID:ddpchJVU
>>629
雑食系エンジニア、KENTA の動画

Rubyはオワコン?「滅びゆく5つのプログラミング言語」に関する所感
https://www.youtube.com/watch?v=yBrnuR8YJN4

初心者向きのweb アプリの結論は、Ruby on Rails !

>>640
JavaScript(JS)の質問は、web制作管理板のJSのスレへ、書き込んでください!

JS は、この板ではない
0644デフォルトの名無しさん
垢版 |
2019/08/29(木) 21:52:20.46ID:RqzW2LmT
バイナリデータのフォーマットを規定したファイルをもとに
それのエンコードデコードするコードを生成してくれるツールとかないだろうか。
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になってくれるような。
そしてこの定義を入れ子にしたり、識別子としての固定値を入れられるとうれしい。
0647デフォルトの名無しさん
垢版 |
2019/08/30(金) 19:09:38.96ID:IjUSrH7K
>>644
かつて探したことがあるが、結論は自前で作るのが一番だった

それでも情報共有しておく
ASN.1 ... 古くからあるが記述がかなり煩雑。ライブラリは多い。
XDR ... 同じく古くからあり記述はASN.1よりも容易で広く組み込まれている。
DFDL ... 最近までメンテナンスされ比較的新しいが無料のparserに乏しい。
Kaitai Struct ... 今のところ尤もフレンドリー。どれか推奨しろと言われたらコレ。

Protocol BufferやApache Thriftはいわゆるプロトコルでバイナリデータをやり取りするものだからユースケースが違う
その意味ではASN.1もコッチ側か
0648デフォルトの名無しさん
垢版 |
2019/08/31(土) 16:52:58.34ID:V6UjPAjJ
>>647
ありがとうございます。
Kaitai Struct よさそうですね。(解体?)
他も含めそれぞれ試してよさそうなのを選ぼうと思います。自作も視野に入れつつ。
0649デフォルトの名無しさん
垢版 |
2019/09/01(日) 11:08:59.15ID:N6XIGky8
大卒フリーターにオススメのプログラミング教室ってありますか?
テックエキスパート検討しているのですが
0650デフォルトの名無しさん
垢版 |
2019/09/01(日) 11:29:41.87ID:eAzLeteX
>>649
フリーターなら迷わず職業訓練校
教えて貰えて金も貰える
タイミングがあるからすぐに始めたいなら無理かも知れない
0652デフォルトの名無しさん
垢版 |
2019/09/02(月) 09:39:42.10ID:RY5OTcY5
聞きかじり素人に教えてください
証券会社のネット取引ツールの操作を自動化したいんだけど
(起動終了だけじゃなく)
UWSCでマウス操作自動化だけだと、モニターにつながってない状態だと
作動しないことが判明
マウス操作の自動化じゃなくツールを自動で動かしたいんですが
そういう自動化ソフトとかありますか?
RPAとやらはあれUWSCとたいして変わらん気がする
0653デフォルトの名無しさん
垢版 |
2019/09/02(月) 09:43:08.01ID:RY5OTcY5
でいろいろ考えたんですけど
「エクセルとVBAみたいに元々自動化ツールがついててそれ使うか
 ブラウザ自動操作みたいに、特化したライブラリがないと無理」
これで合ってます?
 
0654デフォルトの名無しさん
垢版 |
2019/09/02(月) 10:23:35.84ID:PyPzRv4a
モニターにつながってないと動かないなら
モニターにつなげればいいじゃん
0655デフォルトの名無しさん
垢版 |
2019/09/02(月) 12:05:18.30ID:ZSYwkq3t
漏れは、Ruby, Selenium WebDriver で、Chrome ブラウザを自動操作してる

サイトにログインするとか、
Showroom のアバターを削除するとか

主に、入力欄に入力して、ボタンを押すなどの操作
0657デフォルトの名無しさん
垢版 |
2019/09/02(月) 12:51:45.95ID:LddXNwm9
あぁ、ツールがブラウザではない可能性もあるのか
VPSとUWSCでググれば色々と出てくるけど、それとは違うケースなのかな
0659デフォルトの名無しさん
垢版 |
2019/09/02(月) 13:01:54.15ID:LddXNwm9
>>658
本気で自動売買ツール動かす場合、どんなツールでも専用の端末を用意するものだと思うけど違うの?

専用の端末が用意できない場合は、SeleniumのWebDriverで起動したブラウザ以外は操作に支障ないから、普段使わないブラウザをWebDriverで起動するといいよ
0660デフォルトの名無しさん
垢版 |
2019/09/02(月) 21:28:50.78ID:49KA97r0
JAVAのmain関数とC言語のmain関数についてご教示いただけると幸いです。

JAVAではpublic static void main(String...)と書き、
C言語では、int main(void)と書きますが

JAVAでは、main関数は戻り値なしで返すが、
C言語では、main関数は必ず0を返すというのが当たり前のことなのでしょうか?
0661デフォルトの名無しさん
垢版 |
2019/09/02(月) 21:38:08.77ID:LddXNwm9
>>660
javaはエラーを例外で飛ばすからmainの戻り値は明示しないのでvoid
Cのmainは正常時は通常0を返して、異常時は0以外を返す必要があるのでint
こんな説明でいい?
0664デフォルトの名無しさん
垢版 |
2019/09/03(火) 02:34:18.31ID:GO7zJdXK
Lineの友達を増やすのにアフィリエイトシステムを作りたい
友達追加リンクをそれぞれのユーザーに与えて、どのリンクから友達追加されたか識別可能にする
友達追加1人につき100円とかをアフィリエイト報酬として払う
これは実現可能ですか?
0666666
垢版 |
2019/09/03(火) 09:38:00.50ID:S71XDm09
666
0667667
垢版 |
2019/09/03(火) 11:04:33.78ID:JzHlK+VD
667
0670デフォルトの名無しさん
垢版 |
2019/09/05(木) 01:00:55.45ID:f7Zd74bD
>>668
操作する装置とやり取りをするために使うよ
例えばマニュアルに

このLEDを光らせるためには、アドレス0x100番地に1を、LEDを消すためには0を書き込みます

のように書かれていたら、LEDをONするプログラムは
int *p = 0x100;
*p = 1; // LED ON
となる
0671デフォルトの名無しさん
垢版 |
2019/09/05(木) 01:52:05.16ID:kja/STyL
androidやiPhone実機の性能について質問なんだけど
座標値を変更しながら点の表示を動かし続けたいです
3000点ほど計算→表示を5秒毎程度で繰り返す予定なのですが余裕なのかな?
描画とかほとんど手を出してなかったから気になる
ゲーム会社とかはどれくらい古い機種でテストするものなの?
0673デフォルトの名無しさん
垢版 |
2019/09/05(木) 02:02:20.61ID:kja/STyL
>>672
ありがと
これから座標値の計算部分を作り込むから大体の目安がしりたくて
こういうマシン性能の上限も技術者としては知っておかないと…とまだまだ勉強だね
計算部分も盛り盛りだからもう少し削れないかも見当してみます
ありがとうございました

…ん?最近の?

…再見当します
0674デフォルトの名無しさん
垢版 |
2019/09/06(金) 00:00:14.86ID:wlR8T2X3
プログラミングビギナーです
ワードプレスのプラグイン使ってSNS(ユーザー数千人)を運営してるんですが、メンバー同士の相性を数値化してマッピングしたいです
1人のユーザーを中心においてその周りに相性の近い(やりとりの多い)ユーザーのアバターから放射線状にマッピングするイメージです
実現可能ですか?PHPしか使えない初心者ですが
0676デフォルトの名無しさん
垢版 |
2019/09/06(金) 01:40:48.93ID:wlR8T2X3
>>675
ほかのユーザーとの相性を表示するのはそれ専用のプラグインがあったので簡単に実現できました
あとはこれを相性のパーセンテージが高い順に表示して、それを放射状に並べるだけなんですが、難しいですかね?
0677蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/09/06(金) 01:49:44.65ID:AgDBiA/M
CSSとJavascript触れないならちょっと難しいですな。JSを使えるようにWordPressで設定する必要が。
0678蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/09/06(金) 02:18:33.82ID:AgDBiA/M
JSのAPI叩いて、相性情報を取得して、jQueryかなにかで画面にネットワークを表示するんじゃなかろうか。
0679デフォルトの名無しさん
垢版 |
2019/09/07(土) 08:27:09.60ID:Y1C0Ugi4
クライアントからGETでデータ要求が来て、サーバ内でエラーが発生したら500のステータスコード返すってプログラム書いてるんですが、
C#で下記のように書いても200で返ってしまいます。。。なにが問題でしょうか。。。?

return HttpResponseMessage {
StatusCode=HttpStatusCode.InternalServerError
0681デフォルトの名無しさん
垢版 |
2019/09/12(木) 13:36:31.63ID:OLQXazPd
OOPでいうところのインターフェイスはオブジェクトのAPIみたいなものですか?
OPI?
0683デフォルトの名無しさん
垢版 |
2019/09/13(金) 06:00:40.69ID:08rV0d8/
> どこが間違っていますか?

1. ウィキペディアを参考にすること
2. 擬似コードを参考にすること
3. ideonに投げること
0685デフォルトの名無しさん
垢版 |
2019/09/13(金) 21:17:37.22ID:qdoB8RTo
https://ideone.com/VBlAus
また来ました。MD5のお時間です。

前回のコードをあきらめて、vector<bool>で書き直してみました。
そうしたら、ビット列からNbit整数への変換が良くわかりません。
ご教示いただけないでしょうか。
0686デフォルトの名無しさん
垢版 |
2019/09/14(土) 10:33:12.38ID:kbK1hmlQ
たとえば、以下のビット列を32bit整数にする場合
00010010001101000101011001111000

まず、ビット列をバイト列にする。
「入力のバイト値は、最高位ビットが先のビットであるビット列として解釈する」ので、
8ビットずつに区切って、先頭が最高位ビットになるように解釈する。
00010010 00110100 01010110 01111000
0x12 0x34 0x56 0x78

次に、「値はすべてリトルエンディアンとする」ので、
32bit(4バイト)分を逆順に並べる
0x78563412
0692デフォルトの名無しさん
垢版 |
2019/09/14(土) 18:20:17.60ID:0sx3Vi6f
元ニートで最近はたらきだしたものです。

会社のPCはExcelとブラウザはEdgeとIEが入っているwindows10のようです。

この環境でテキストエディターとかメモ帳でパパっとなんかスクリプト?プログラム書いて
インターネットで調べものした時にパパっとサイトから文字列切り抜いたりWEBサイト加工して
保存して、

元ニートくんすげーじゃないか!
キャー!元ニートさんかっこいいわ!抱いて!

って言われたいのでそういうのするためにはどうすればいいか知りたいのですが、
開発環境とかは勝手にインストールできません。

となるとVBAとかjava scriptとかVBscriptとかでコードかいて
IEなり拡張子指定して保存したりして実行すればいいのでしょうか?

誰か教えてください。お願いします。(・´з`・)
0694デフォルトの名無しさん
垢版 |
2019/09/14(土) 19:00:14.96ID:4BvpKeMe
Chrome拡張で動画配信サイトの省力化ツールを作りたいのですが、何を勉強したらいいでしょうか。
Javascriptの入門書は読んだのですが、それだけでは何も分からず。
MDNを読みながら既存の拡張を解析してみたらいいですかね?
0696692
垢版 |
2019/09/14(土) 21:11:22.27ID:0sx3Vi6f
>>693
java script一択ですかね?
(`・ω・´)
0698デフォルトの名無しさん
垢版 |
2019/09/14(土) 21:47:08.09ID:kkjG6p//
>>692
俺も元ニートだけど、ExcelのVBAをお勧めする
2時間かけてExcelで単純作業をしていた同僚のために
マクロを作って1分で終わるようにしたら、とても感謝された
有能で役に立つ人だと思われ、本当にモテるようになる
お望みの、Webから文字列を取得して加工することもある程度は可能だ

他の言語だと環境構築が必要で、特に、同僚に使ってもらいたい場合に難がある
最初からWindowsに付属してるPowerShellもあるけど、初心者には難易度が高めだ
0699デフォルトの名無しさん
垢版 |
2019/09/14(土) 22:20:44.50ID:39Ot+pwS
>>684
横レスだけど既存のロジックをコードにするときは
・複数の参考サイトを探して理解に努める
Wikipediaには他にも詳しく載っているロジックがあるけど、そこだけを参考にするのは危険
仮に仕様書などがあればそれも並行して読むようにする。日本語の解説が無くても義務教育レベルの英語力と最悪グーグル翻訳で読める
・疑似コードは理解を深めるためのもので疑似コードを直に翻訳しようとしてはいけない
あくまでもロジックを理解したうえで自分でコードおこすのが基本
そしてこの板はデバッグや監修を頼む場所じゃないよ
0700デフォルトの名無しさん
垢版 |
2019/09/14(土) 22:37:10.86ID:oc39AgJX
>>699
デバッグしてもしても上手くいかないときは若干疑心暗鬼になるのでそれを払しょくしたかった。
次から宿題スレになげるようにするわ。すまない。
0701692
垢版 |
2019/09/15(日) 01:07:16.74ID:Zn1Tgbon
>>698
VBAとJava Scriptを勉強することにします。
ありがとうございました。
(・´з`・)
0704デフォルトの名無しさん
垢版 |
2019/09/15(日) 04:01:00.54ID:vhYJbDpr
double MyLog(const double& V, const double& Base) {
return std::pow(V,1/std::log(std::exp(Base)));
}
こういう関数を書いたら、自分の認識とあった。
それではさらばじゃー。
0707デフォルトの名無しさん
垢版 |
2019/09/15(日) 05:50:50.24ID:y9x4nuGr
お前が張ったURL
https://www.google.co.jp/search?&;q=log4%2816%29
の9.63295986125の上にlog(4)*16=と書いてある←事実
googleを電卓扱いした時のlogは常用対数(底が10)←事実
だから*16して9.63295986125になる
自然対数はlnな
0714デフォルトの名無しさん
垢版 |
2019/09/17(火) 22:19:24.02ID:4wOD4j6P
テキストファイルにデータがいっぱい入ってまして
a 7 b c d e
f 2 g h i
j 4 k l m

みたいな。それでこの場合で言うと数字部分でその行がどのクラスのデータかを指し示しています。1行ずつコードを読み込んでクラスを判断してインスタンス作ってそのデータを格納していくみたいな
それで現状このクラスの種類が本当にたくさんあるんです
現状のコードだとelse ifが下に延々と続くような構造です。自分としてはswitch caseにしろやと思ったんですけどそれでも多分焼け石に水でしょう
なんか上手いことコードを見やすくまとめるアイディアはありませんか?
0715デフォルトの名無しさん
垢版 |
2019/09/17(火) 23:07:24.90ID:jdz9k0WV
「クラスを判断して」の内容が分からないから「数字部分でその行がどのクラスのデータか」+「switch case」以上のアイデア出しようがないと思うんだが?
0716デフォルトの名無しさん
垢版 |
2019/09/17(火) 23:20:56.98ID:4wOD4j6P
クラスを判断してはクラスを判断してなのですが……

switch (number)
case 1:
var class1 = new Class1()
class1.read
みたいな
0717デフォルトの名無しさん
垢版 |
2019/09/18(水) 00:02:20.06ID:scRUUMeN
readメソッドはswitchの外に書けるでしょ
newも
switchよりいいかどうかわからないけど、配列か連想配列にビルダーやプロトタイプを入れておくという手もある
0718デフォルトの名無しさん
垢版 |
2019/09/18(水) 01:57:31.59ID:GIOjMe2C
https://ideone.com/L5EVGG
ちょっと前にここで言われていたことってこういうことやったんかいな。
ちゃんとシェアポでメモリも解放されて「うまいな。」と、思った。
あとは、初期化引数をどうするかということかな??
0719デフォルトの名無しさん
垢版 |
2019/09/18(水) 02:21:33.92ID:GIOjMe2C
template <class... Arg> using FUN = Object(*)(const Arg&...);
typedef std::vector<FUN> Factory;

これがやりたい5分間であった。グフッ。
0720692
垢版 |
2019/09/18(水) 20:30:33.62ID:VGwPj1bT
どうも、>>692で質問して。

アドバイス頂き、


>>701

のレスで
自分のやりたいスクレイピングのようなことは
Java ScriptとVBAでやりたいと思いますと書いたのですが、

あの後調べ
ブラウザのJavascriptでスクレイピング(任意のウェブページのソースを読み込んで
解析)をするのはCORSの制限により基本的にできないと聞きました。

会社の実行PCに実行環境を勝手に足せないことから、

ぱっとみ関連しそうな項目は
Windows10
Excel
IE
Edge
なのでそれで使うとなるとあとはVBA一択になるのかなぁと思いました。
やはり実行環境ととのえないとなかなか難しいのですかね?

WEBサイトをローカルに保存してシェルスクリプトとかJava scriptで処理するのが正解ですかね?
アドバイスよろしくお願いします。
0722デフォルトの名無しさん
垢版 |
2019/09/18(水) 20:56:32.33ID:GIOjMe2C
windows ならOLEオブジェクト召喚しないといけない気がする。
愚直にソケットたたいたりしないでしょ?
0723デフォルトの名無しさん
垢版 |
2019/09/18(水) 21:00:27.83ID:VIgnmm9s
なにその縛りプレイ
ソフト入れられないってのは、定型業務以外やるなってことなんじゃねぇの?
0724デフォルトの名無しさん
垢版 |
2019/09/18(水) 21:35:55.14ID:KfOpwfAy
>>720
会社でネットのスクレイピングってアホか
「キャー!元ニートが会社のPCで遊んでいるー」って言われたいのか、仕事しろよ
VBAはExcel上でしか使えないぞ
あとこんなとこで毎回質問せず家でPC使って自分で勉強しろ
自分で調べず掲示板で依存して多く質問する人間はプログラム分野では成長しない
0727デフォルトの名無しさん
垢版 |
2019/09/19(木) 18:28:58.51ID:8TFTzSml
list<animal>なら即決でanimalsって変数名にするけど
list<list<animals>>だったらどうします?上手い変数名の付け方が思いつかない。listofanimalsじゃlist<animal>の意味とも取れてしまうしそもそもlistの変数名にlistを入れるのは美しくない
0730デフォルトの名無しさん
垢版 |
2019/09/20(金) 02:31:26.90ID:S6sL13px
if (a > b) {
 for (A) {
  //同じ処理
 }
} else {
 for (B) {
  //同じ処理
 }
}

条件違いでループ条件も変わるのですが、処理自体は同じこんな感じのコードがあります。
同じ処理を2回書いちゃってるので、無駄そうに感じ違和感を覚えます。
処理を1回かくだけで済む方法ありますか?
0736730
垢版 |
2019/09/20(金) 06:48:03.21ID:S6sL13px
レス頂いた方ありがとうございました。
だいぶスマートになりました。
0739デフォルトの名無しさん
垢版 |
2019/09/20(金) 22:52:55.06ID:ZVVuMGcz
どこからでも呼べる関数宣言はよくあるけど
言語によってはスコープ持ちの関数があって
それで 同じ処理 のところを関数で書けば
グローバルに呼べる関数の名前空間汚さなくて済むよね

という類の話なはず
0743デフォルトの名無しさん
垢版 |
2019/09/24(火) 15:59:30.60ID:b0EiNdg2
Cの構造体というのは、
Javaなどのオブジェクトの属性メンバを使用でき、メソッドが使えないだけの違いですか?
0745デフォルトの名無しさん
垢版 |
2019/09/25(水) 00:38:05.21ID:bFVb+cqI
・簡単なプリミティブ図形を表示できる
・簡単なGUIフォームを作成できる
・拡大や縮小しても高品質に補間、描画される(特に図形)
・マルチプラットフォーム(WindowsとxWindow)
こんなGUIフレームワークってないかな。機能的にはWebブラウザで足りる程度なんだけど
Electron的なのは配布サイズがでかすぎ。ネイティブで書けば大きくても数MB程度の物を
一式100MBはいくら何でもありえない
0746デフォルトの名無しさん
垢版 |
2019/09/25(水) 08:11:39.08ID:yVdxmw/e
chromeがインストールされていること、を要件にできれば、goでChromeをElecrtonっぽく使うのがあったはず。
ビルドしても8Mとか。
0747745
垢版 |
2019/09/25(水) 11:01:02.46ID:RIo/wWvq
配布する物だしChrome限定は厳しい。IE/Chrome/Firefoxの3対応ならありかもしれんけど
昔の?Excelの印刷プレビューみたいに縮小したら線が消えたり形がゆがんで見えたりするのは困る
0750デフォルトの名無しさん
垢版 |
2019/09/25(水) 12:08:46.09ID:I60lDMRg
>>745
一度仕様固めてWindowsネイティブで作ってから考えれば?
マルチプラットフォーム舐めてんじゃないの
0752745
垢版 |
2019/09/25(水) 18:32:19.14ID:y22V4Yjr
>>749
wxWidgets使っているAudacityだってexe/dll併せて20MBくらいだしそこまでの差はないよ
内wx*.dllは8MB程度

>>750
それだと
Windows→DirectX
Linux/*BSD→OpenGL
で同じ仕事をするコードを2回書くはめになっちゃうじゃないか
それに線や円弧を描画して拡大や縮小表示をさせるために3D描画APIとにらめっこは勘弁

>>751
cairoとwxWidgetsを組み合わせて使用できれば・・・と思ったけどそうは問屋は下ろさないようだ
0754デフォルトの名無しさん
垢版 |
2019/09/25(水) 20:46:25.55ID:Bfv7XIzg
>>752
wxWidgetsはunix系ではGTK依存じゃなかったかな?
それだとライブラリだけで50MB越える気がするが
0756デフォルトの名無しさん
垢版 |
2019/09/27(金) 03:30:07.02ID:VUYMHo7d
今のプログラミング教育のサイト見て
ここの板の人らしょぼいって思ったわ。
パズルみたいに簡単にwebでできて
それで売れるものを作ってる
日本って遅れてるな。
なにがintよ?いちいち糞細かいプログラム無謀に打ちまくるより、あんな簡単に組めるプログラムを教えたほうがよっぽど応用できると思ったわ。
そら外国の人の方が知恵があるわw
ま、いっぺん調べてみ、あれを小学生が楽しむんだよw
0757デフォルトの名無しさん
垢版 |
2019/09/27(金) 03:32:57.36ID:VUYMHo7d
code orgとかな。あんなんで普及したら
もっとプログラムら簡単にシンプルになるし、暴走もしないとは思う。
爆笑するわ
0758745
垢版 |
2019/09/27(金) 08:07:42.43ID:eaYCvXZ3
なるほど、wineはありかもしれない。Linux等は当面サブだし

Webブラウザという高速かつ高品質にレンダリングしてくれるソフトがあるのに活用できないジレンマ
0759デフォルトの名無しさん
垢版 |
2019/09/28(土) 01:57:43.96ID:mOHVtsFt
わざわざこんな板にまできて、お前らしょぼいとか主張するのは、何かの病気なのか?

欧米の方が教え方が上手いと言うのには賛同する
昔の教科書からしてレベルが違っていた
学問はとかく小難しくして神聖化する癖があるが、それを平易に説明するのは英語圏のが積極的な印象がある
0764デフォルトの名無しさん
垢版 |
2019/09/28(土) 23:37:16.68ID:iCIjx3ay
上記方法と
show() {
stroke(255);
line(this.pos.x, this.pos.y, this.dir.x * 10, this.dir.y * 10);
}
では何か違うのでしょうか?
push()とpop()の必要性がいまいちわかりません。
0765デフォルトの名無しさん
垢版 |
2019/09/29(日) 01:09:02.33ID:VaMR58J2
それ単純にバグってないか?
元のコードと等価にするならこうじゃない?
line(this.pos.x, this.pos.y, this.pos.x + this.dir.x * 10, this.pos.y + this.dir.y * 10)
こう冗長に書いたりそうやってミスをするくらいなら一時的に起点をずらすのはスマート
0766デフォルトの名無しさん
垢版 |
2019/09/29(日) 06:53:15.10ID:P/1/VvjH
なるほど。ありがとうございます。
0769デフォルトの名無しさん
垢版 |
2019/09/29(日) 15:47:43.53ID:h4AzYPKS
どこで聞くべきか迷ったのですが、ここなら知ってる人もいると思うのでお願いします。
携帯電話番号あてのメール、いわゆるSMSなんですが、
あれを受信したら、SMTPで特定のメールアドレスに自動で転送することって技術的に出来ますか?
もし既存のソフトウェアがあれば教えて頂けませんか?
自分のスマホからじゃ入れてるメッセージアプリが悪いのかもしれませんが、
SMSは削除しか出来ません。
0770デフォルトの名無しさん
垢版 |
2019/10/02(水) 14:49:44.72ID:HLD/jecn
この質問についてなんですが

python3で数値を0.05刻みで切り捨てて丸めるには
https://teratail.com/questions/176744

ベストアンサーでは
・その数値に20を掛けて、四捨五入し、その結果を20で割ればいい
となってて、実際そのとおりだったんですが、これはどういう原理でこうなってるんでしょうか?

0.05刻みではなく0.03刻みとかだったら33.3333倍して四捨五入して33.3333で割ればいいんでしょうか?
他の数値でも1.00÷その値の倍して四捨五入して割る感じですか?
0772デフォルトの名無しさん
垢版 |
2019/10/02(水) 15:52:36.56ID:OQjmwzHP
それでいいよ
0.03を33.3333倍しても0.999999にしかならず、切り捨てすると0になるから
この誤差を吸収するためには四捨五入が都合いい
ただし四捨五入する弊害で、元の数値の精度が高いと誤差が出る
たとえば0.049は0.05に切り上げられてしまう
もし根本的な部分が直感でわからないならまず0.1刻みを10倍するケースで考えればいい
0773デフォルトの名無しさん
垢版 |
2019/10/02(水) 16:00:46.20ID:HLD/jecn
>>772
確かに0.1と10倍だとイメージしやすいですね
ありがとうございます
0775デフォルトの名無しさん
垢版 |
2019/10/02(水) 19:05:29.52ID:wzM2k9fz
どういう結果を求めているのか分からないけども
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と書いた方が意味が通りやすい
0778デフォルトの名無しさん
垢版 |
2019/10/02(水) 19:25:44.88ID:wzM2k9fz
後者の処理間違えてた
int((値 + 0.03/2)/0.03) * 0.03

>>777
掛け算や割り算の演算後は、結果にどうしても誤差が出るから、そっちのが良さそうだね
0779デフォルトの名無しさん
垢版 |
2019/10/02(水) 21:29:48.23ID:5I+Ib8eq
>>769
SNSもどきならアプリが幾らでも有るだろうけど、
キャリアが中継しているSNSはキャリアのオフィシャルアプリで無いと無理では?
0780デフォルトの名無しさん
垢版 |
2019/10/03(木) 07:46:22.84ID:KZaCYRmp
>>775>>778
ありがとうございます
四捨五入して切り捨てよりこっちのほうが良さそうですね
しかし、これもなんで動いてるのか良くわからない…
みんな色々考えるなぁ
0782デフォルトの名無しさん
垢版 |
2019/10/03(木) 13:22:17.29ID:BEu/eL8s
Visual Studioに入っているSpy++を、単独でインストールしたり、
インストール不要で持ち歩いたりする仕組みって無いですかね。

Visual Studio全体はインストールしたくないのですが。
0784デフォルトの名無しさん
垢版 |
2019/10/05(土) 16:49:01.99ID:uDYalzB/
smb等のネットワークドライブにあるc/c++のコンパイルした実行ファイル(a.out)を実行したら
実行速度遅くなる?それとも,全部メモリに読み込まれてから実行される?
0785デフォルトの名無しさん
垢版 |
2019/10/05(土) 19:32:18.23ID:vPszJTDH
ニコ生の弾幕ツールを作ってみたいのですが
どういう知識を今後つければ作れるようになりますか?
今現在C言語とC#の入門書に書いてあるような事は身につけた状態です
何かを作ったりはしたことないです
0786デフォルトの名無しさん
垢版 |
2019/10/05(土) 19:49:47.69ID:NXndjuW4
>>785
AAエディタだな。
ニコニコの色のパレットパクってきて、色付けれるようにするのが最初かな??
0787デフォルトの名無しさん
垢版 |
2019/10/05(土) 21:19:09.02ID:vPszJTDH
>>786
AAエディタでググったのですがツールの紹介ページばかりで
何を学習すれば良いのかわかりませんでした・・・
0788デフォルトの名無しさん
垢版 |
2019/10/05(土) 21:27:12.03ID:NXndjuW4
>>787
要するに、ニコニコの動画の弾幕って文字の羅列なのですよ。
なので、最小単位がcharacterなわけだ。ドットじゃない。
ニコニコにの投稿には規則があってそれを俯瞰して取得しないといけない。
字数で表示速度が変わるか等。そういう真似をしないといけない。

お解かり?
0791デフォルトの名無しさん
垢版 |
2019/10/05(土) 21:40:13.32ID:NXndjuW4
>>790
それはいえてるなぁ。
ニコニコ動画も、HTML5に移行して幾らか経った頃合いだな。
HTML5+Javascript+CSSか。
0794デフォルトの名無しさん
垢版 |
2019/10/06(日) 00:01:47.99ID:knSoAAQ3
Cは全く意味なくて新たにHTML習わないとダメってことですかね?
解答ありがとうございました。
0795デフォルトの名無しさん
垢版 |
2019/10/06(日) 00:44:08.75ID:sy828SFu
ようは整形してコピペできればなんでもいいんだろう?
ならCは全く意味ないなんてことはない
VC++使ってWindows向けのデスクトップアプリ作るもよし
その気になればコンソールアプリでもどうにかなるだろう
ただC/C++は糞大変なのでおすすめしない
Windows向けならC#やVB.NETでやったほうがいいね
まあHTML+JavaScriptのほうがもっと簡単だと思うけど
この場合HTMLはユーザーインターフェースなので別に気合いれて覚える必要もない
マウス操作でほど完結するHTMLエディタもあるだろう(ある程度わかってないと使えないけど)
0797デフォルトの名無しさん
垢版 |
2019/10/06(日) 13:41:04.25ID:Fbc1b1He
スマホで楽天ペイをインストールしたんだけどログインできません
なんでですか?
一応ブラウザからは楽天にログインできるみたいです
0802デフォルトの名無しさん
垢版 |
2019/10/12(土) 01:39:08.12ID:q8E6eyrs
MITライセンスでGitHubに無料公開されてるプログラムを、数行だけ書き換えて有料で販売しようと思っているのですが、これって著作権料を取られたりしませんか?

他の方の意見を調べた感じだと、著作権表示とかURL情報をXcodeに含むだけで良いみたいなことが書いてあるんですが、本当ですかね?
https://teratail.com/questions/6672
0803デフォルトの名無しさん
垢版 |
2019/10/12(土) 01:50:12.85ID:q8E6eyrs
MITライセンスでコードを公開する側には何のメリットがあるんでしょうか
0804デフォルトの名無しさん
垢版 |
2019/10/12(土) 02:05:28.62ID:M2MM4lKm
ライセンス的なことよりもそんなもので商売になると思ってんのか
タダで配布しているものを誰が金出して買うんだよ
サポートしなきゃならないとか他の人がもっと安く売るとかそのくらいのリスクすぐわかるだろ
だから大抵の人は売るんじゃなく寄付を募る
0805デフォルトの名無しさん
垢版 |
2019/10/12(土) 06:49:43.09ID:q8E6eyrs
>>804
やり方次第で商売になりますよ
0806デフォルトの名無しさん
垢版 |
2019/10/12(土) 07:31:34.46ID:zNYc1jm8
GPLがでるまでは普通にライセンス付けて儲けるやつらいたから不思議じゃない
0807デフォルトの名無しさん
垢版 |
2019/10/12(土) 09:28:39.77ID:zNqyKEfv
モラルの問題はあるが法律的にはなんの問題もない
それが嫌ならMITライセンスをやめるしかない
0809デフォルトの名無しさん
垢版 |
2019/10/12(土) 09:39:55.43ID:zNqyKEfv
MITライセンスを適用する側のメリットは、自分の作ったものを広く使ってもらえること
あとライセンスについて細かく考える手間を省けること
0810デフォルトの名無しさん
垢版 |
2019/10/12(土) 17:13:19.76ID:TXtjhlnX
なん種類かのMITのソースをforkして取り込んでほんの少しのグルーコード書いて、
サブスクモデルで金とってるアプリ知ってるけど、
作者が頭イッてる。
0811デフォルトの名無しさん
垢版 |
2019/10/12(土) 21:22:49.51ID:tVakKO/V
RubyとPythonについて質問です。

私はノンプログラマーですが、学生時代にC言語とJavaを習ったことが有り、VBAについてはちょくちょくいじって使っています。

そんな私が、業務効率化のためにスクリプト言語を覚えようと思っています。

その際、RubyとPythonという2つの言語が良さそうだと思いました。
どちらがおすすめですか?おすすめな理由を添えて教えていただけると嬉しいです。
より、オススメな言語がある場合はそちらの紹介をお願い申し上げます。
0812デフォルトの名無しさん
垢版 |
2019/10/12(土) 21:50:50.01ID:zNYc1jm8
python3
流行に載っているためにコミュニティの活性化状態で
書籍の数などが大差
0813デフォルトの名無しさん
垢版 |
2019/10/13(日) 00:07:33.21ID:Gu1oNPJo
ツール作りでは、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
0814813
垢版 |
2019/10/13(日) 00:41:17.47ID:Gu1oNPJo
例えば、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
0815デフォルトの名無しさん
垢版 |
2019/10/13(日) 01:12:59.74ID:5y3mzviq
>>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
0816デフォルトの名無しさん
垢版 |
2019/10/13(日) 01:24:07.45ID:kaSZg9r2
Windowsで業務効率化ならそのままVBAを極めるかC#かな
効率化だけならPowershellも悪くない

PythonかRubyを学ぶ目的があって業務効率化は副産物という話なら感性に任せるのがいい

Rubyは落ち目でPythonは流行ってるけど、ウェブ系ではまだ食べまだRubyのがはるかに強くて、機械学習ならPythonしかない
0817811
垢版 |
2019/10/13(日) 13:09:10.38ID:5AXSetjs
皆さん、ご回答ありがとうございます。

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


こういった観点を踏まえてアドバイスを頂けるととても嬉しいです。
0818デフォルトの名無しさん
垢版 |
2019/10/13(日) 13:56:54.07ID:D2+OyZ4Y
なんだこれは

・Rubyを使い続けましょう というお墨付き
・Pythonは使わなくてもいいですよ というお墨付き

どちらが欲しいんだ?

お前の心情に合わせていくらでも作文するぞ
納得や満足を満たす他人からの追従文が欲しいんだろ?
どっちかと聞かれてんのに実はすでにRuby使ってましたとか、高度な話法すぎて一般人には理解不可能だ
0819デフォルトの名無しさん
垢版 |
2019/10/13(日) 15:39:46.30ID:5y3mzviq
>>817
コンパイルは嫌ってのはわかったけど
実際どういう類の処理をスクリプトで書きたいの?

もしバッチファイルはもう嫌だって話なら
CygwinとかUnix likeな環境いれてbashやzshって選択もある
rubyなら簡単に書けるといっても
例えばcurlとgrepとちょっとしたファイル操作で済むような処理なら
シェルのほうが書くほうがずっと楽だよ
0820デフォルトの名無しさん
垢版 |
2019/10/13(日) 15:57:53.75ID:kaSZg9r2
まぁRubyでいいんじゃないかな
俺も長いことRuby使っててPythonに移ったけど、特に不満があって辞めたわけじゃない
0821デフォルトの名無しさん
垢版 |
2019/10/13(日) 15:59:21.41ID:5y3mzviq
ファイル操作系が主だけどシェルじゃなく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/
0822デフォルトの名無しさん
垢版 |
2019/10/13(日) 16:36:22.71ID:qvZE9Y7m
仕事で何か制約があるわけでもないのに「勉強する言語を決めたい」って
ここでごちゃごちゃ聞かずにできること全部やっとけよ
使い分けだろうが何だろうがその後からついてくる
0823811,817
垢版 |
2019/10/13(日) 17:43:39.23ID:5AXSetjs
私の状況をしっかり伝えていなかったため混乱が生じてすみません。

私は総務部門のIT係をしています。後輩が一人いて彼もメンテナーをする必要があります。
前任者から引き継いだバッチが汚くていじりにくいのと、無駄な部員の無駄な手作業が多いのを何とかするため、色々策を練っている最中です。

RubyとPythonのどちらがいいか聞いていおいて、先にRubyを始めているというのは混乱させるもので、すみませんでした。
Rubyも始めたばかりで、これから続けていいものかがよくわからないため、他の選択肢とフラットに考えたくてこのように質問しました。

部門のIT音痴のメンバにも操作させることが肝要なので、ダブルクリックで実行できることは必須です。部員のPCにRubyやPythonの環境をインストールする程度は良いですが、それ以上にローカルPC環境を大きく変更しないとまずいのも避けたいです。

コンパイル言語が嫌なのは、ソースと実行ファイルの二重管理をしたくないからです。
朝の一括バッチで部員全員に更新プログラムを反映するなどを考えているので、なるたけメンテファイル数を減らしたいと思っています。

こういった条件で再度、ご教授いただけると大変嬉しいです。
0824デフォルトの名無しさん
垢版 |
2019/10/13(日) 17:48:44.30ID:I8cQof7f
お仕事の話で食指がどうこう言われても
何がお気に召すのかさっぱり分からん

今んとこrubyで上手く行ってるならrubyで良いじゃない
0825デフォルトの名無しさん
垢版 |
2019/10/13(日) 17:52:16.24ID:5AXSetjs
>>824
食指という表現は質問者として不適切だったと思います。
失礼いたしました。
0826蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/10/13(日) 17:59:09.50ID:w8oKE2gz
オフィスソフトのファイル操作ならVBA。
テキストファイルやバッチ処理ならRuby。
データベース管理ならSQL。
どちらも変数名や関数名に日本語が使える。
0828デフォルトの名無しさん
垢版 |
2019/10/13(日) 18:31:48.06ID:5y3mzviq
>>823
配布有りなのかぁ
記述の容易さを考えるとRubyが良いと思うが配布有りだとそこの部分の手間はかかる

RubyでもPythonでもちょっと気の利いたことをやろうと思えば
外部のパッケージをダウンロードして使うことになるんだけど
その場合ソース以外に依存パッケージを記述したファイルも必要。
でユーザーがスクリプト実行する時にそれらの依存パッケージがダウンロードされる

RubyやPython自体の環境の管理やアップデートも必要
だいたい1ヶ月~3ヶ月に1回は更新がある

あとはRubyやPythonの環境含めて1つのexeにしてくれるようなツールもあるけど
それやるとソースと実行ファイルの二重管理と同じことが必要になるから
環境管理の手間と実行ファイル管理の手間とのバランス次第
0829811,817,823,825
垢版 |
2019/10/13(日) 18:32:12.13ID:5AXSetjs
>>826
VBAは今までもちょくちょく使って来ましたが、最近RubyでWIN32OLEを使うようになって、特にRubyでやってもかなり同様のことが出来るなと感じています。
SQLってADOとかで接続する時にこれまでも使ってきましたが、単独で使うイメージが有りません。
0830デフォルトの名無しさん
垢版 |
2019/10/13(日) 18:38:12.75ID:NI2mjh97
>>817
次前コンパイルという手順をコンピューター側で自動にしておけば、
スクリプト言語とかわらないんだがな。
0832デフォルトの名無しさん
垢版 |
2019/10/13(日) 19:01:29.79ID:5AXSetjs
>>830
これって簡単なんですか?
オペレーター側のローカルPCのの環境セットアップが簡単ならやりたいです。
0833デフォルトの名無しさん
垢版 |
2019/10/13(日) 19:05:32.14ID:j3fG3YC6
ユーザーにスクリプトをいじらせる必要がなくてダブルクリックで実行できればいいなら
配布はC#が一番楽だな。
0834デフォルトの名無しさん
垢版 |
2019/10/13(日) 19:40:27.57ID:qg/TNtNV
スキル上げしてたら、極悪扱いされた。。。
ペット虐待ではあるが・・・。
0836デフォルトの名無しさん
垢版 |
2019/10/13(日) 21:12:34.96ID:5y3mzviq
>>832
ts-node とか deno

配布に関してはrubyと同じ問題抱えるから
部員のリテラシーも考慮して自分でトレードオフ見極めるしかない
0837デフォルトの名無しさん
垢版 |
2019/10/13(日) 23:47:02.71ID:Gu1oNPJo
>>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 もインストールしておけばよい
0838837
垢版 |
2019/10/14(月) 00:00:45.66ID:qXl8FtHN
>>817
PowerShell スクリプトも、同様に、bat, vbs から、ダブルクリックで起動できるだろ

クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる

例えば、script.vbs ファイルに、
CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0

同様に、script.bat ファイルにも、
powershell .\script.ps1 と書けば、ダブルクリックで起動できるだろ
0839デフォルトの名無しさん
垢版 |
2019/10/14(月) 01:17:48.63ID:+IIeKy6A
>>838
色々ありがとうございます。

私が、batでrubyのシェバンをする理由は、ファイルが一つで済むようにという意図が大きいです。
そちらの観点だとなにかオススメはありますでしょうか。
0840デフォルトの名無しさん
垢版 |
2019/10/14(月) 02:31:49.80ID:NXmV97Dm
operatorを大量に使う時、
+ A
+ B
+ C
と、、
A +
B +
C +
のどっちが普通でしょうか?A/B/Cは変数名が入るので結構長かったりもします。
0842デフォルトの名無しさん
垢版 |
2019/10/14(月) 03:59:56.33ID:NXmV97Dm
>>841
画面内に配置した大量(数は状況次第で、最小120、最大でたぶん1000以上)のオブジェクトの座標から、
次に配置するオブジェクトの座標を決める必要があるので・・・
0843837
垢版 |
2019/10/14(月) 04:43:58.44ID:qXl8FtHN
>>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 と入れて投稿してください。
投稿者が、誰か分からないので
0844デフォルトの名無しさん
垢版 |
2019/10/14(月) 09:41:04.02ID:CmkGXuzV
>>843
.rbの拡張子をrubyに関連付けすればscript.rbのダブルクリックでスクリプト実行できるよ
-xオプション付きにしたければそういう関連付けも可能

そのバッチは引数で渡されたrubyのコードを含むファイルを-xオプション付きで実行して
標準エラーをファイルに書いてサイズが0なら削除するっていう内容だけど
rubyでエラーハンドリングしてログファイルに書き出せば基本的にいらないと思う
0845デフォルトの名無しさん
垢版 |
2019/10/14(月) 09:55:03.21ID:CmkGXuzV
>>842
処理の目的は理解できたんだけど
オペランドが1つの"+"オペレータってどういうものなの?

改行が式や文の区切りではなくて
A + B + C + と +A + B + C ?

いずれにしろ使ってる言語のスタイルガイドを参考にして決めればいいと思う
処理的にはループやコレクションで抽象化して
オペレータを大量に書かなくてもいい仕組みを考えたほうが良さげ
0846デフォルトの名無しさん
垢版 |
2019/10/14(月) 10:40:43.00ID:6AvUVRYN
>>842
オペレーターが大量か少量かによらず、改行が必要なとき、二項演算子の前と後ろどちらに改行を入れるのかをコーディングルールで定めるべき
可読性の面で演算子が先に来る方が俺は好きだ
0848蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/10/14(月) 12:11:48.32ID:/dRG0sEv
画面に似たようなオブジェクトが100個もあるなら普通は配列かstd::vectorなどを使うだろ。
0849840
垢版 |
2019/10/14(月) 12:27:01.83ID:NXmV97Dm
みあんさんありがとうございます。
仰る通りコレクション化してしまえば、
2Dゲームの「衝突判定 → 判定結果によって移動させる」やり方がほぼそのまま使えそうです。
くだらない質問ですみませんでした。
0850デフォルトの名無しさん
垢版 |
2019/10/14(月) 13:21:26.11ID:CmkGXuzV
昔「弾幕」って本買ったけど積読したまま押入れの肥やしにしてるのを思い出した
0852デフォルトの名無しさん
垢版 |
2019/10/14(月) 14:31:07.73ID:/43KYLEN
ここ3日間くらいの「RubyとPythonどっち」っていうやりとりに便乗させてください。

だいぶ前ですが、質問者さんと同様に自分もスクリプト言語を習得したくなって、
ネット上で調べたり聞いたりしたことがありました。
「WindowsでRubyを使うと罠にハマることが多い。地雷原を歩くようなもの」
といったご意見が複数あり、Rubyは候補から外しました。

今回のやりとりでRubyを勧められてる方が多いので少し驚きました。
テキスト処理程度ならWindowsで利用するのも問題ないのでしょうか。
自分は結局、どのWindows PCにも入っていてるという利点に惹かれてPowerShellを
使うようになったのですが、入門書/入門サイトで少しだけ触った好感度でいうと
Ruby>Python≧PowerShell でした。
すぐにPowerShellから乗り換えようとまでは思わないのですが、今後の参考のために
教えてください。
0853デフォルトの名無しさん
垢版 |
2019/10/14(月) 14:42:08.78ID:FdPLXAab
これだけ長文で質問がかかれてなくて句点付きか…
なかなかの才能の持ち主だと思った
0854デフォルトの名無しさん
垢版 |
2019/10/14(月) 14:49:13.33ID:/43KYLEN
>>853
すみません、回りくどかったです。質問は下記のとおりです。
テキスト処理程度ならWindowsで利用するのも問題ないのでしょうか。
0855デフォルトの名無しさん
垢版 |
2019/10/14(月) 18:07:12.04ID:CmkGXuzV
>>851
すまんが元ネタわからない

>>852
Unix系に比べると
- 最初の環境セットアップのハードルがやや高い
- 文字コードでつまづく可能性あり(これはPythonでも同じ)
- RubyのWindowsユーザーが少ないので情報量が少ない

10年近く前に数年間CygwinでRuby使ってたけどRubyが直接の原因で困った記憶はない
文字コード関連の問題と使いたいUnixツールが使えないってのはよくあった
ってことで俺は全く問題ないと思うがそこは自分で試して見るほかないと思う
0856811
垢版 |
2019/10/14(月) 19:03:22.84ID:+IIeKy6A
皆さんの意見を総合するとRubyが一番良さげですね。
加えて、C#&EXE化も検討します。

ありがとうございました。
0858デフォルトの名無しさん
垢版 |
2019/10/14(月) 20:05:06.37ID:ZHVtioYP
正直テキスト処理程度で最強を争ってもしょうがない
テキスト処理はソフトウェア開発に置いて
一分野でしか無い
0859デフォルトの名無しさん
垢版 |
2019/10/14(月) 20:42:48.24ID:/43KYLEN
>>855
詳しくありがとうございます。
過度に心配することはないみたいですね。
機会があれば試してみようと思います。
0860デフォルトの名無しさん
垢版 |
2019/10/14(月) 21:20:06.03ID:/43KYLEN
>>857
Perlは私には難しかったです・・・。
PowerShellをやるまえにPerlの入門書を読んで、
簡単なスクリプトを書いて使うことはできたのですが
1〜2年プログラミングから離れたあと書こうとするとすっかり忘れてしまって
3回入門しなおして、あきらめました。
VBAやPowerShellでもある程度忘れるのですが
Perlのほうが記号のたぐいが多くて、暗記力のない私にとっては忘却度が深刻でした。
0864837
垢版 |
2019/10/15(火) 00:12:09.35ID:2TGG4eyN
>>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("-"))'
0865837
垢版 |
2019/10/15(火) 00:19:51.79ID:2TGG4eyN
Perl は、暗号みたいで可読性が低い。
PowerShell, VBS は、あまり複雑なものは無理

結局、CSV・テキスト処理は、Ruby になる
0867デフォルトの名無しさん
垢版 |
2019/10/15(火) 01:03:55.75ID:QM8G0kj4
最初Perlを覚えようとして数分でギブアップしてRubyにしたな
必要があればPythonやLua、JScriptも書くが基本Rubyだわ。コード効率が全然違う

そういやRubyってWindowsのコマンドライン引数をUnicodeで取れるようになったのか?
ちょっと前のバージョンだとダメだった記憶があるが
0868837
垢版 |
2019/10/15(火) 02:17:50.48ID:2TGG4eyN
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 の拡張子を、ダブルクリックに紐づけると、不注意で起動されてしまうので危険!
0870デフォルトの名無しさん
垢版 |
2019/10/15(火) 08:26:42.36ID:f1lycctY
>>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に統一しよう。
0871867
垢版 |
2019/10/15(火) 10:57:31.55ID:Nw/k9czi
2.5に--encoding=UTF-8を付けるとARGVはUnicode対応になるようだ

>>870
昔のWindows版RubyはARGVがCP932決め打ちだったと記憶している
そのためCP932に含まれない文字列を含む引数の扱いに難があった
0872デフォルトの名無しさん
垢版 |
2019/10/15(火) 12:41:30.07ID:qvzCc57+
_ismbsleadや_ismbstrailって、Shift-JISのような2バイト文字のときはわかるけど、
UTF-8のような3バイト以上の文字のときは、どのような動作になるのでしょうか。
それとも、2バイト文字専用の関数ですか?
0873デフォルトの名無しさん
垢版 |
2019/10/15(火) 12:48:31.55ID:MIRz+4X1
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とは別物(参照先が別)扱いになるのですか?
0874デフォルトの名無しさん
垢版 |
2019/10/15(火) 14:28:04.07ID:81YUYh7D
num = [40,50,60];

num[0] = 40; num[1] = 50; num[2] = 60;
ではなくて
num = new Array(40,50,60);
だから
添字のブラケットとブラケット構文は別物です
0875デフォルトの名無しさん
垢版 |
2019/10/15(火) 14:34:21.71ID:17EAacqo
JSの[N,M]は配列リテラルなので、それそのものが配列として機能したと思う。
0876デフォルトの名無しさん
垢版 |
2019/10/15(火) 15:10:31.40ID:LCoHwxWt
>>873
num2 = num;
は箱の場所(住所みたいなもの)を num と同じにしろ、という意味。
だから、num[1] =50; とすると、num2[1] も 50 になる。
一方、
num =[40,50,60];
とすると、「今までの num の場所に右辺をコピーして上書きしろ」
という「意味ではなく(!!)」、
「num という変数の『指している』対象を右辺の置いてある場所(先頭)に変えろ」
という意味。だから、num2には全く影響を与えず、num2は依然として
昔の箱の場所を指し続けている。
0877852
垢版 |
2019/10/15(火) 17:49:49.01ID:xlc04VK+
皆さんいろいろ教えていただいてありがとうございました。
近いうちにRubyを導入してみようと思います。
0878デフォルトの名無しさん
垢版 |
2019/10/15(火) 20:33:26.95ID:rgut+G6x
>>871
それはコマンドプロンプトの問題だったんじゃないかなぁ
Cygwinだと1.9時代でも問題なかったよ


>>868
>Windowsでは、irb, pry のようなREPL は、日本語でバグるから、ダメ!

「バグる」で思考停止せずに問題を切り分けよう
https://github.com/pry/pry/wiki/Windows-support


>.rb の拡張子を、ダブルクリックに紐づけると、不注意で起動されてしまうので危険!
これはその通りだけど、.batでも.vbsでも同じようなものじゃないの?
セキュリティも考えるなら署名付きPowerShellとかのほうが安全ではあるよね
0879デフォルトの名無しさん
垢版 |
2019/10/15(火) 20:41:27.51ID:rgut+G6x
>>872
どういう動作になるかはわからないけど
MBCS用の関数だからUnicodeには対応してないんじゃない?
VC系のスレで聞いたほうがいいかも
0881デフォルトの名無しさん
垢版 |
2019/10/16(水) 00:53:20.11ID:BcOpz+1/
ココまでの流れを見ると、PythonはAIやらない限りRubyに劣るという認識でよろしいですか?
文法やライブラリで勝るところって何か無いのでしょうか?
0882デフォルトの名無しさん
垢版 |
2019/10/16(水) 01:39:47.59ID:J5r9S3ID
>>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系でも多分キレると思う
0883デフォルトの名無しさん
垢版 |
2019/10/16(水) 19:03:43.52ID:sUcGSwhO
>>881
Rubyの標準クラスライブラリのリッチさは上位組だと思うけど
素の状態で勝負したらPythonに勝ち目はないね
0884デフォルトの名無しさん
垢版 |
2019/10/17(木) 00:12:04.35ID:nmwrV9Kg
Python は東大数学科・大学院など、数学・統計学などの重要度が高いから、あまりプログラミングと関係ない。
プログラマーのキャリアパス上からは、仕事が得られない

学歴・大学院などの要素が大きい。
MBA など、文系の修士号から来る人も多い

プログラミングは、手を動かすものだけど、
低学歴プログラマーが頑張っても、なんともならない領域

YouTube で、KENTA が言ってる通り、
初心者が1年勉強して、仕事を取れることがない。
周りが高学歴ばっかりだから

一方、Ruby は、Web 系サーバー側に限定されているから、プログラマーのキャリアパス上にある。
Ruby → JavaScript, Go, Elixir, Kotlin。
サーバー側の正統派のキャリアパス

最先端の自社サービス、GitHub, Airbnb, Kickstarter、
Cookpad、食べログ、Gunosy など

Rubyは、Java みたいな、5大SIer・多重下請け構造・階層ピラミッド・土方系とは異なる。
階層に入ると、1社経由する度に、3割抜かれる(システムの請負料金・保証料金)
0885デフォルトの名無しさん
垢版 |
2019/10/17(木) 06:45:24.35ID:gq3I2ckq
Rubyは作者が日本人だけあって言語が一時しのぎの感情論で作られていて論理性が全く感じられず
使うだけで洗脳されて馬鹿になるからやめた方がいい
pythonはその反対
0886デフォルトの名無しさん
垢版 |
2019/10/17(木) 10:27:02.49ID:tq7j3RVK
↑などという論理性が全く感じられない感情論を吐くのが
洗脳されて馬鹿になってる証拠
0887デフォルトの名無しさん
垢版 |
2019/10/17(木) 11:27:44.59ID:huR1Dm0j
Rubyは作者が日本人だけあって言語が一時しのぎの感情論で作られていて論理性が全く感じられない。
ちょっと使ってみただけでも、そんな感じになってるのが感覚的にわかるだろ
その雰囲気を肌で感じることが出来ないやつは、論理性がなく感情論で話をしてる
0890デフォルトの名無しさん
垢版 |
2019/10/17(木) 12:00:43.15ID:GTpPRCCe
PC用のソフトウェアが、スマホアプリのように気軽に課金される日は来ると思う?
PCから割れの被害がなくなる日は来ると思う?
0892デフォルトの名無しさん
垢版 |
2019/10/17(木) 13:28:26.72ID:ucUV19VT
>>890
バカじゃねえのか
有料課金質問サイトで質問しろよ

おめーはネタと情報はタダだと思ってんだろ
だからそれでいいんだよ
0893デフォルトの名無しさん
垢版 |
2019/10/17(木) 13:33:52.71ID:qaCXzdDd
独自URLを定義したいんだけど
ただ自分のアプリ(localhost動作)で使うだけのURLの場合、スキームはどうすべき?
dokuzi://my.app/

URLを使いたいのは、ただそうするのが標準だからかなと思ったから。
外部アプリから自分のアプリが管理してるデータへの参照を、
どんな文字列でもよかったんだけど、
どうせならURLっぽくやろうかなと思った。
0895デフォルトの名無しさん
垢版 |
2019/10/17(木) 15:54:01.39ID:lECi1og0
カスタムURIスキームの利点はユーザーがURLを指定できるところに
何でも起動できちゃうURLを仕込めるというところにあるから
自アプリだけで完結しているなら利点はないしそこまで好き勝手に使っていいという気はしないな
0897デフォルトの名無しさん
垢版 |
2019/10/18(金) 01:12:05.48ID:tY/eTMs7
Rubyはメソッドチェーンのおかげで最高の言語だと感じますが、間違いでしょうか?

grep、join、gsub、gsubってつながっていく様子が、まるで
ファイヤー、アイスストーム、ダイアキュート、ブレインダムド、ばよえ〜ん、
って印象です。
0898デフォルトの名無しさん
垢版 |
2019/10/18(金) 01:15:47.93ID:2g/GJrKd
関数繋げるだけならlispと何が違うんだ?

ただし、個人の主観は絶対的に正しいので、オメーが最高の言語だと感じてるならどうぞお好きにとしか言いようがない
つまりは、個人の主観に間違いなし、だ
コイツの脳内で渦巻いてる主観には間違いは無いし間違いがあろうとなかろうとそれには気付けない
だから主観そのものは絶対的に正しい
よかったネ!
0902デフォルトの名無しさん
垢版 |
2019/10/19(土) 06:28:11.22ID:dr1ysGqL
フォームから入力した値をDBに登録する際に、入力された値が決められた規則に従っているか確認したいので、
プログラムでチェックするべき範囲とDBのCHECK制約で行う範囲の明確な線引きとかガイドラインがあれば教えてください。
0903デフォルトの名無しさん
垢版 |
2019/10/19(土) 09:59:39.30ID:V83HT+bA
>>902
そんな雲をつかむような質問ではまともな回答しようがないので質問のガイドラインを勉強してきてください
0904デフォルトの名無しさん
垢版 |
2019/10/19(土) 10:29:12.51ID:fDUUZQql
まず、出来る限り、プログラムでチェックする。
ここでチェックできれば、ネット回線へ送られないから、すごく良い

DB 書き込みでは、すべてをチェックする。
ブラウザで、送られるデータをチートする人もいるので、必ずDB では、すべてチェックする!

基本、ブラウザから送られるデータを信用してはいけない!
チートしたり、伝送ミスで、データが間違っている事が多いから
0905デフォルトの名無しさん
垢版 |
2019/10/19(土) 11:02:07.69ID:nnyc8pgy
CHECK制約は使わない
せいぜい保険の最終防壁
いろいろ理由はあるがDBが返す「CHECK制約xxに違反しました」といったエラー情報をまともなエラーメッセージに変換するのがまず厄介
0906デフォルトの名無しさん
垢版 |
2019/10/19(土) 13:31:13.10ID:vCREqhgr
>>905
最終防壁なら、バグでもない限りでないんだから、そんなエラーをまともなエラーメッセージに修正する必要ないじゃん
スタックトレースをわかりやすい日本語に直さなきゃいけない。みたいな
アホなことをお前は言ってるぞ。
0907904
垢版 |
2019/10/19(土) 14:20:19.31ID:fDUUZQql
クライアント側でチートしたり、伝送エラーがある

ドラクエでは、よくエラーが起こっているから、
インターネットから来るデータは、絶対に信用してはいけない!

途中のルーターで、伝送エラーを見つけても、再送せず、そのまま送ってくるし
0910デフォルトの名無しさん
垢版 |
2019/10/19(土) 15:06:14.38ID:QmPBAH4r
>>902
明確な線引きやガイドラインは無い!!

CHECK制約で守れる整合性の重要度、不整合発生時の影響度、DBにアクセスするプログラムの数、
採用してる設計手法、維持管理・変更時の手間、パフォーマンスペナルティ、プログラマーのレベル等々
置かれた状況とトレードオフを判断して設計者が決めること

プログラム側のみでチェックする場合もあれば
DB側のみでチェックしてプログラム側でユーザーフレンドリーなエラーにする場合もあるし
両方でチェックしてDB側エラーは集約ハンドラで汎用エラーにする場合もある

プログラムーはプログラムだけで保証したがる
DB屋はプログラマーを信用してないからCHECK制約をできるだけ使いたがる
0911デフォルトの名無しさん
垢版 |
2019/10/19(土) 15:55:36.45ID:iFqGS+wa
そりゃ条件式の複雑度数が20を超えたらプログラムで対処、だろ
複雑度数がなんなのかは知らない
0913デフォルトの名無しさん
垢版 |
2019/10/19(土) 20:07:11.93ID:hpHQur/j
マルチエージェントシミュレーションをしようとしているのですが
シミュレーションを管理するクラスと各エージェントクラスはどのような関係にすべきでしょうか
各エージェントを管理クラスに保持すると一括してアップデートできて便利ですが、エージェントが他のエージェントの情報にアクセスできません
0914デフォルトの名無しさん
垢版 |
2019/10/19(土) 20:07:36.03ID:lFhCDuxs
開発プロジェクトの谷間にて、業務効率化スクリプトの機能追加や改善を行っています。
VBA、VBS、Ruby、Perl等いろんな言語のスクリプトが混在していているのですが、皆はこれが厄介だと言います。

しかし、チームで一番若い新人が一番四苦八苦しているのは正規表現の解読であり、私が質問を受けるのももっぱら正規表現関連ばかりです。

結局、業務効率化スクリプトなんてのは、正規表現がわかればその都度、「早く書ける」「操作性が良いのが書ける」を考えて言語を選べばよいだけという認識で良いですかね?
0915デフォルトの名無しさん
垢版 |
2019/10/19(土) 20:34:14.08ID:vCREqhgr
正規表現なんて、少し難しい漢字を知ってる程度のレベル
知らなきゃ困るが、知っていたからっていい文章(コード)が書けるわけじゃない
0916デフォルトの名無しさん
垢版 |
2019/10/19(土) 20:35:18.67ID:sd9gDFLM
>>906
早とちりだぞ
最終防壁として使う分にはいいが、CHECK制約単体でエラーチェックを賄うのはやめとけ、その理由の第一はメッセージのハンドリングがしにくから、という文意だ
0918デフォルトの名無しさん
垢版 |
2019/10/19(土) 20:56:38.06ID:lFhCDuxs
>>917
他にも色々ありますが、以下のようなものが代表的です。

・プロジェクト新規参入者のPCキッティング
・適切な対象の適切なタイミングでのSVN更新補助
・CUnitでのアサートチェックに適さないテスト結果ログの比較自動化
・静的解析ツールでは出来ない開発Pjソース上の不適切箇所の検出
0919デフォルトの名無しさん
垢版 |
2019/10/19(土) 20:58:12.65ID:lFhCDuxs
>>915

知ってたらいいものが書けるわけじゃないけど、知らないと全く以てスクリプトが書けないのだから、覚える以外に無いでしょう?
十分条件ではなく必要条件だということなだけなんですから。
0921デフォルトの名無しさん
垢版 |
2019/10/19(土) 21:59:47.46ID:QmPBAH4r
>>918
おお、想像してたのと全然違った

基本的には読みやすさとメンテのしやすさを考えてベースとなる標準言語を決めておいて
処理内容の特性によって違う言語を選択するようなゆるいルールを作っとくほうがおすすめ

自分はチームメンバー10人いれば下から3番目くらいのメンバーの技術レベルに寄せる
2人くらいできないやつがいても残りでカバーできるから

あと正規表現はもともと読みにくくなりやすいから部品に分解してコメント書いたり
多少遅くても読みやすい表現を選んだり簡単なテストコードを残すとかドキュメント生成とかする
言語によっては正規表現は一続きで書かないとダメなやつもあるからその辺も選択基準になる
0922デフォルトの名無しさん
垢版 |
2019/10/19(土) 22:24:10.31ID:QmPBAH4r
>>913
シミュレーションはわからないけど
エージェントが必要としてる他のエージェントへの参照を管理クラスが渡してやればいいんじゃないの?
0923デフォルトの名無しさん
垢版 |
2019/10/19(土) 22:49:51.20ID:lFhCDuxs
>>921
>おお、想像してたのと全然違った

どんなのを想像されていたのでしょうか?

>ベースとなる標準言語を決めておいて

標準とするならRubyでしょうね。Perlについては昔Perl大好きくんがいたから残っているだけで、新規に書く理由がないですからね。
VBSはInputBoxが標準で使えることと、Win環境である限りどこに持っていっても動くという利点以外に利点が無いので、こいつもRuby化したいですね。
VBAだけは、C#アドイン化が大変なのと、外部化するメリットが無いものが多いのでそのままメンテかな…。
0924デフォルトの名無しさん
垢版 |
2019/10/20(日) 07:08:06.61ID:ADDbXmaX
>>913
>エージェントが、他のエージェントの情報にアクセスできません

たぶん、Chef, Kubernetes などでも、
エージェント同士が直接アクセスする事は、認めていないと思う

そういうプログラミングは、難しすぎて出来ない。
多くのエージェント間で、整合性が取れない

必ず、エージェントはマネージャーに頼んで、マネージャーが仕切るはず!

デザインパターンで言うと、
直接やり取りのObserver(発行/購読)ではなく、
マネージャー経由のMediator(管制塔)
0925デフォルトの名無しさん
垢版 |
2019/10/20(日) 07:31:48.09ID:ADDbXmaX
>>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 など、入れ子構造を持つものは、パーサーで処理しないといけない!

正規表現では、数千行も必要だから、無理!
0926デフォルトの名無しさん
垢版 |
2019/10/20(日) 09:11:09.98ID:akKR2ina
Perlが廃れた理由が分かった
普通の人間には正規表現が難し過ぎるんだ
その部分がモロに出てるperlは忌避される
0928デフォルトの名無しさん
垢版 |
2019/10/20(日) 09:48:56.83ID:hHVN/TCw
廃れた理由はオブジェクト指向じゃないから

正確に言えば、オブジェクト指向をすることもできるし、
そのためのモジュールもあるが、どれもスタンダードにはならなかった。
モジュールを使わずにオブジェクト指向もできるがめんどくさい。
基本的な部分で書き方が色々ありすぎて統一できなかった。
0930デフォルトの名無しさん
垢版 |
2019/10/20(日) 19:41:56.17ID:MI8MHJaE
pop shift のように副作用のある関数があるのでperlで関数型で書くのは感覚的につらい
副作用多め、OOデフォルトではないことが python, ruby より速い理由かも
0931デフォルトの名無しさん
垢版 |
2019/10/20(日) 20:07:49.24ID:NxGRbcb0
> Hooksのように

な?そういう流れだと主張する言語は
マイナーだってわかるやろ?
0932デフォルトの名無しさん
垢版 |
2019/10/21(月) 03:09:54.61ID:CyO1yszD
>>926
XMLやJSONのパースを正規表現でやろうとする人っているのですか?
CSVやTSVならやりそうな人はいると思いますが…。

>>926
正規表現は別にPerlに特化したものではないと思いますが…。

>>928
Perlはオブジェクト指向であるかどうかの前に、サブルーチンの形がまともな形になっていません。まるでMS-DOSのバッチのような印象。
このように前時代のスクリプト言語だという印象をプンプンさせていることが廃れた原因ではないでしょうか?
0933デフォルトの名無しさん
垢版 |
2019/10/21(月) 12:48:00.93ID:Ru5/7CHv
CGIからperl6とかweb2.0などへの展開が失敗しただけで
前時代のスクリプト言語としては生き残り続ける
0935デフォルトの名無しさん
垢版 |
2019/10/21(月) 21:14:55.67ID:utrljv8A
なぜRubyスレではPythonネタ禁止でないのに、PythonスレではRubyネタ禁止なんですか?
0941デフォルトの名無しさん
垢版 |
2019/10/22(火) 20:25:08.59ID:oicqOaNF
趣味でプログラムをやってます

と言っても数年に一度どうしても
自分の他の趣味で欲しい機能があってそれをプラグイン作ったり変換機能を作ったりするだけなんですが

また何年かぶりにやろうと思うのですが
今回はCとか絡んで難しそうです

学習とか人に教えてもらうとか
何年も前は2ちゃんで教えて貰ってましたが
今は色々なサイト?があるみたいなんですけど
やる気の維持とか交流とかアドバイスとかどこで貰ってますか?
0943デフォルトの名無しさん
垢版 |
2019/10/23(水) 00:22:35.50ID:ho+0+jX0
江端式クローズドマインド

「江端式クローズドマインド」を、ワンフレーズで纏めるのであれば、

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.
0944デフォルトの名無しさん
垢版 |
2019/10/24(木) 13:20:13.16ID:9ialz6Ph
あるソフト作ったとき英語圏ではどこで宣伝すればいいかな? twitter以外で。
日本だとqiitaにでも書いていれば釣れるが
0950デフォルトの名無しさん
垢版 |
2019/10/26(土) 11:44:00.91ID:j7vUXDAn
pcの省電力設定によってpythonのtime.sleepなどが正常に動作しないことって有りえますか?
0951デフォルトの名無しさん
垢版 |
2019/10/26(土) 11:56:29.52ID:y7KZIUq7
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が終了してしまい上手くいきません

宜しくお願いします。
0952蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/10/26(土) 12:06:22.43ID:Q5f3+aYX
>>951
Windowsのスタートアップ機能。

VSCodeターミナルのプログラムのコマンドラインを調べよ。
0953デフォルトの名無しさん
垢版 |
2019/10/26(土) 12:32:21.96ID:751XFDvk
Windows のスタートアップとか、

Ruby で書くとか、
VSCode なら、npm scripts, gulp など
0954953
垢版 |
2019/10/26(土) 12:39:57.77ID:751XFDvk
漏れは、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`
0957デフォルトの名無しさん
垢版 |
2019/10/26(土) 20:03:10.31ID:qbOn9Wvu
ある人工知能の本では最尤推定を微分の値が0になる方程式を解くことでパラメータの最適解を求めていました
しかしディープラーニングの説明部分では、数式が複雑になっため上のような方法を取れず、それゆえ勾配降下法でパラメータを求めていると書いてありました

数式が複雑になったのはわかるのですが、なぜ複雑になると上のような方法でパラメータを求めらないのでしょうか?
全微分した時に0になる方程式を解いてパラメータ求めればいけそうだとは思いますが、求めるパラメータが複数になると無理なのでしょうか?
0958デフォルトの名無しさん
垢版 |
2019/10/26(土) 21:42:40.59ID:8VEal8S/
解析的に解けないだけで別に勾配降下法が全てではない
研究などで分布を仮定して解く必要があふ場合は最尤推定法が今でも使われてる
ただその場合はMCMCが主に使われる
0959デフォルトの名無しさん
垢版 |
2019/10/27(日) 11:40:51.93ID:NsKzBf3L
以下を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程度に使われていない状態」という定義でお願いします。
0962デフォルトの名無しさん
垢版 |
2019/10/27(日) 15:35:25.71ID:FsLuN3Ol
いや優劣は聞いてないと思うぞ
Delphi基準の消えるなら、濃厚なのは
COBOL
FORTRAN
LISP
Perl
Scala
VBScript
0963デフォルトの名無しさん
垢版 |
2019/10/27(日) 16:31:51.69ID:NsKzBf3L
>>961
優劣については全く質問していません。

>>962
FORTRANを新たに書く人がいるので、意外と無くならない気がします。
最新スパコン富岳がサポートしているのもC,C++、FORTRANですし。

COBOLも20年前からJavaへの置換えが進んでいますが、未だに道半ばです。10年くらいでは無くならないのではないでしょうか。
さらに10年は必要な気がします。

一番簡単に無くなれそうなのはPerlですが、データこねくり回すのを商売にしている人がこの言語を完全に捨ててくれるものなのかが気になります。
0964デフォルトの名無しさん
垢版 |
2019/10/27(日) 16:36:16.69ID:NsKzBf3L
iOSやAndroidはLinuxやWindowsと違って業務用大規模システムが無いのです。だからいつ終焉を迎えるかわかりません。
このため、KotlinやSwiftの方がCOBOLよりも寿命が短い可能性が高いと私は考えますが、皆さんはどう思いますか?
0968デフォルトの名無しさん
垢版 |
2019/10/27(日) 17:49:43.52ID:XKABV91W
>>963
Object Pascalの案件も完全に消えたわけではないし、エンジニアスキルの調査ではCOBOLもFORTRANも既にシェアを下回ってる
日本限定の話ならともかく、ハードウェアの寿命もあるから根絶はできなくてもシェア低下は避けがたいよ
0971デフォルトの名無しさん
垢版 |
2019/10/27(日) 19:04:22.45ID:gh7UJQ+c
プログラミングそのものというよりOSの仕組みの質問だが
HDD上の良く使うファイルをメインメモリにキャッシュしておく仕組みってあるんだろうか?
もしあるなら、メモリを大量に積んでいれば巨大なファイルをHDDにおいてプログラムから使用しても
初期ロードが遅いだけで次回アクセスは高速ということになって俺のプログラムの設計が変わる。
0972蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/10/27(日) 19:08:40.36ID:irXhIBVc
>>971
記憶媒体側にディスクキャッシュというものがある。それにCPU側にもL1キャッシュ、L2キャッシュがある。ちなみにHDDはもう古くて、高速なSSDに移行しつつある。
0974蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/10/27(日) 19:10:30.31ID:irXhIBVc
>>971
メインメモリーに置きたいならWindowsならファイルマッピングを、Linuxならmmapを使うといい。
0975デフォルトの名無しさん
垢版 |
2019/10/27(日) 19:12:04.99ID:gh7UJQ+c
まだHDD使う理由ある。
SSD 1万円で1TB
HDD 1万円で6TB

ストレージ側キャッシュとかCPU側キャッシュじゃなくて
メインメモリキャッシュはないんだろうか?
0976デフォルトの名無しさん
垢版 |
2019/10/27(日) 19:13:05.43ID:gh7UJQ+c
コマンド打ってとかじゃなく
自動的にメモリが余ってたら最近使用したファイルをキャッシュしておく、
ってあってもよさそうだよなと思ったんだけど意外と検索しても見つからなくて。
0977デフォルトの名無しさん
垢版 |
2019/10/27(日) 19:15:04.91ID:41ySsS7R
>>971
普通にある。今使っているキャッシュの量は、
Windowsならタスクマネージャ→パフォーマンス→メモリ→キャッシュ済み
Linuxならfreeコマンドのbuff/cacheの値
で分かる。
0978デフォルトの名無しさん
垢版 |
2019/10/27(日) 19:19:47.79ID:gh7UJQ+c
あるのか。ありがとう。
0980デフォルトの名無しさん
垢版 |
2019/10/27(日) 21:21:05.67ID:XdcEEEtM
でも全く役に立たないんだから
プログラマーがそういう風にちゃんと作って
必要なファイル群をメモリに全部確保して
むやみに書き込み更新しなきゃいいだろ

で電源切れて必要な情報消えて、使えねーソフトとののしられて終わる
0985デフォルトの名無しさん
垢版 |
2019/10/30(水) 12:14:09.79ID:xzUJqyuR
パラメーターを調節できるスライダーを50個以上持ってるようなGUIを作ろうかと思ってるんですが、そのまま表示させると起動が遅くなる上に操作性も良くないです。

どうやったら大量のパラメーターをスマートに操作できるようなGUIになると思いますか?
ドロップダウンリストを使って、選んだ要素のスライダーだけ表示しようかとも思ったんですが、ドロップダウンリストでも50個もあると長くなりすぎる気がします。
0986デフォルトの名無しさん
垢版 |
2019/10/30(水) 12:16:16.11ID:xzUJqyuR
>>985
きゅうりの重さのパラメーター、トマトの重さのパラメーター、にんじんの重さのパラメーター...みたいなのが50個以上ある感じのGUIです。

現状、明らかに冗長な感じになってしまってます。
0987デフォルトの名無しさん
垢版 |
2019/10/30(水) 12:24:30.98ID:uYVNJjoi
重さについてはスライダーコントロール使わずに
リストビューに棒グラフみたいの直接描画して1クリックで数値切り替えるようなUIにすりゃいいんじゃないの
カーソルキーの← →による増減にも対応させて

数が多いのはタブやツリーで階層化したり
firefoxのabout:configみたいにインクリメンタルサーチで絞り込めるようにする
項目名をtomato.weightにしたりして
0989デフォルトの名無しさん
垢版 |
2019/10/30(水) 13:00:31.35ID:xzUJqyuR
>>987
ありがとうございます
リストビューは良さそうですね
それでやってみようと思います
>>988
pythonで作ってるのでだいぶ遅いんです
C++を今から勉強して書き直すと時間がかなり掛かりそうなので今回はパスです
0990デフォルトの名無しさん
垢版 |
2019/10/30(水) 13:52:45.19ID:p2ffZ2o0
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 );
0992デフォルトの名無しさん
垢版 |
2019/10/30(水) 19:58:31.77ID:xzUJqyuR
どうもPythonでGUIを作るとどうしても起動時の速度がバリ遅いので
C#かJavaで全部書き直そうかと思うんですが
MacとWindows両方で動くGUIアプリケーションを作る場合
C#とJava、どっちがいいですか?
0994デフォルトの名無しさん
垢版 |
2019/10/30(水) 20:30:13.99ID:xzUJqyuR
>>993
ありがとうございます。monoっていうのがあるんですね
monoを使ってMacでC#をコンパイルして作ったexeファイルを配布したら
monoをインストールしてないMacマシンでも動作するか分かりますか?
0995デフォルトの名無しさん
垢版 |
2019/10/30(水) 20:38:47.51ID:ygCaE137
>>994
monoをインストールせずに起動するのは現実的じゃない。
昔は出来たけどその頃はライブラリがLGPLだったからライセンス汚染された。
今はそこんとこどうなんだろう。使うのはmkbundle。
0996デフォルトの名無しさん
垢版 |
2019/10/30(水) 20:47:23.65ID:xzUJqyuR
>>995
そうなんですね
では、一般のプログラムをしない人向けにアプリ開発して配布しようと思ったらやはりJavaでやるのが良さそう?ですかね
C++やCでGUIはちょっと難易度が高そうなので...
Electronは起動速度はどうなんでしょうか
0997デフォルトの名無しさん
垢版 |
2019/10/30(水) 22:45:08.84ID:Uwyv8uyb
electronはchromeと似たような感じ
読み込み多いので初回起動はもたつくけどキャッシュに乗ってれば2回目以降は速い
0998デフォルトの名無しさん
垢版 |
2019/10/31(木) 10:36:45.93ID:fZwcskk5
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 よりも面倒
0999デフォルトの名無しさん
垢版 |
2019/10/31(木) 11:04:20.49ID:E6cD79KB
>>998
何かにバインドするなら、DOMだけ作っても意味ないだろ。
JSでReactなりVueなりで作ったほうが楽。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 501日 8時間 13分 49秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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