[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/17 05:49 / Filesize : 316 KB / Number-of Response : 1054
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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

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

892 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 13:35:04.58 ID:z/6QW2Tk.net]
読もうとしたが、日がZUNZUN沈む とか?

893 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 14:31:07.73 ID:/43KYLEN.net]
ここ3日間くらいの「RubyとPythonどっち」っていうやりとりに便乗させてください。

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

今回のやりとりでRubyを勧められてる方が多いので少し驚きました。
テキスト処理程度ならWindowsで利用するのも問題ないのでしょうか。
自分は結局、どのWindows PCにも入っていてるという利点に惹かれてPowerShellを
使うようになったのですが、入門書/入門サイトで少しだけ触った好感度でいうと
Ruby>Python≧PowerShell でした。
すぐにPowerShellから乗り換えようとまでは思わないのですが、今後の参考のために
教えてください。

894 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 14:42:08.78 ID:FdPLXAab.net]
これだけ長文で質問がかかれてなくて句点付きか…
なかなかの才能の持ち主だと思った

895 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 14:49:13.33 ID:/43KYLEN.net]
>>853
すみません、回りくどかったです。質問は下記のとおりです。
テキスト処理程度ならWindowsで利用するのも問題ないのでしょうか。

896 名前: mailto:sage [2019/10/14(Mon) 18:07:12 ID:CmkGXuzV.net]
>>851
すまんが元ネタわからない

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

10年近く前に数年間CygwinでRuby使ってたけどRubyが直接の原因で困った記憶はない
文字コード関連の問題と使いたいUnixツールが使えないってのはよくあった
ってことで俺は全く問題ないと思うがそこは自分で試して見るほかないと思う

897 名前:811 [2019/10/14(Mon) 19:03:22 ID:+IIeKy6A.net]
皆さんの意見を総合するとRubyが一番良さげですね。
加えて、C#&EXE化も検討します。

ありがとうございました。

898 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 19:26:46.03 ID:4TEIFyWY.net]
テキスト処理はPerlが最強なんだがな

899 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 20:05:06.37 ID:ZHVtioYP.net]
正直テキスト処理程度で最強を争ってもしょうがない
テキスト処理はソフトウェア開発に置いて
一分野でしか無い

900 名前: mailto:sage [2019/10/14(Mon) 20:42:48 ID:/43KYLEN.net]
>>855
詳しくありがとうございます。
過度に心配することはないみたいですね。
機会があれば試してみようと思います。



901 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 21:20:06.03 ID:/43KYLEN.net]
>>857
Perlは私には難しかったです・・・。
PowerShellをやるまえにPerlの入門書を読んで、
簡単なスクリプトを書いて使うことはできたのですが
1〜2年プログラミングから離れたあと書こうとするとすっかり忘れてしまって
3回入門しなおして、あきらめました。
VBAやPowerShellでもある程度忘れるのですが
Perlのほうが記号のたぐいが多くて、暗記力のない私にとっては忘却度が深刻でした。

902 名前: mailto:sage [2019/10/14(Mon) 21:25:34 ID:z/6QW2Tk.net]
テキスト処理でこまったらまたperl初めるといいよ
等分はrubyで

903 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 21:47:41.49 ID:/43KYLEN.net]
ありがとうございます。

904 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 23:59:55.85 ID:WJh+E3aI.net]
Perlがやっぱりかんたんだな

905 名前: mailto:sage [2019/10/15(Tue) 00:12:09 ID:2TGG4eyN.net]
>>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("-"))'

906 名前: mailto:sage [2019/10/15(Tue) 00:19:51 ID:2TGG4eyN.net]
Perl は、暗号みたいで可読性が低い。
PowerShell, VBS は、あまり複雑なものは無理

結局、CSV・テキスト処理は、Ruby になる

907 名前: mailto:sage [2019/10/15(Tue) 00:29:40 ID:6JoAHvL2.net]
こういう時のRubyくんは頼もしいなw

908 名前: mailto:sage [2019/10/15(Tue) 01:03:55 ID:QM8G0kj4.net]
最初Perlを覚えようとして数分でギブアップしてRubyにしたな
必要があればPythonやLua、JScriptも書くが基本Rubyだわ。コード効率が全然違う

そういやRubyってWindowsのコマンドライン引数をUnicodeで取れるようになったのか?
ちょっと前のバージョンだとダメだった記憶があるが

909 名前: mailto:sage [2019/10/15(Tue) 02:17:50 ID:2TGG4eyN.net]
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 の拡張子を、ダブルクリックに紐づけると、不注意で起動されてしまうので危険!

910 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 07:29:26.08 ID:PDkOr6WD.net]
>>868

>>817のshebangが最強ってことじゃない?



911 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 08:26:42.36 ID:f1lycctY.net]
>>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に統一しよう。

912 名前:867 mailto:sage [2019/10/15(火) 10:57:31.55 ID:Nw/k9czi.net]
2.5に--encoding=UTF-8を付けるとARGVはUnicode対応になるようだ

>>870
昔のWindows版RubyはARGVがCP932決め打ちだったと記憶している
そのためCP932

913 名前:に含まれない文字列を含む引数の扱いに難があった []
[ここ壊れてます]

914 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 12:41:30.07 ID:qvzCc57+.net]
_ismbsleadや_ismbstrailって、Shift-JISのような2バイト文字のときはわかるけど、
UTF-8のような3バイト以上の文字のときは、どのような動作になるのでしょうか。
それとも、2バイト文字専用の関数ですか?

915 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 12:48:31.55 ID:MIRz+4X1.net]
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とは別物(参照先が別)扱いになるのですか?

916 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 14:28:04.07 ID:81YUYh7D.net]
num = [40,50,60];

num[0] = 40; num[1] = 50; num[2] = 60;
ではなくて
num = new Array(40,50,60);
だから
添字のブラケットとブラケット構文は別物です

917 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 14:34:21.71 ID:17EAacqo.net]
JSの[N,M]は配列リテラルなので、それそのものが配列として機能したと思う。

918 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 15:10:31.40 ID:LCoHwxWt.net]
>>873
num2 = num;
は箱の場所(住所みたいなもの)を num と同じにしろ、という意味。
だから、num[1] =50; とすると、num2[1] も 50 になる。
一方、
num =[40,50,60];
とすると、「今までの num の場所に右辺をコピーして上書きしろ」
という「意味ではなく(!!)」、
「num という変数の『指している』対象を右辺の置いてある場所(先頭)に変えろ」
という意味。だから、num2には全く影響を与えず、num2は依然として
昔の箱の場所を指し続けている。

919 名前: mailto:sage [2019/10/15(Tue) 17:49:49 ID:xlc04VK+.net]
皆さんいろいろ教えていただいてありがとうございました。
近いうちにRubyを導入してみようと思います。

920 名前: mailto:sage [2019/10/15(Tue) 20:33:26 ID:rgut+G6x.net]
>>871
それはコマンドプロンプトの問題だったんじゃないかなぁ
Cygwinだと1.9時代でも問題なかったよ


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

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


>.rb の拡張子を、ダブルクリックに紐づけると、不注意で起動されてしまうので危険!
これはその通りだけど、.batでも.vbsでも同じようなものじゃないの?
セキュリティも考えるなら署名付きPowerShellとかのほうが安全ではあるよね



921 名前: mailto:sage [2019/10/15(Tue) 20:41:27 ID:rgut+G6x.net]
>>872
どういう動作になるかはわからないけど
MBCS用の関数だからUnicodeには対応してないんじゃない?
VC系のスレで聞いたほうがいいかも

922 名前: mailto:sage [2019/10/15(Tue) 20:46:02 ID:MIRz+4X1.net]
>>874-876
num40,50,60は別の配列で初めnumとは参照先が違うという認識でいんですね
ありがとうございました。

923 名前: mailto:sage [2019/10/16(Wed) 00:53:20 ID:BcOpz+1/.net]
ココまでの流れを見ると、PythonはAIやらない限りRubyに劣るという認識でよろしいですか?
文法やライブラリで勝るところって何か無いのでしょうか?

924 名前: mailto:sage [2019/10/16(Wed) 01:39:47 ID:J5r9S3ID.net]
>>881
全然認識が違う

Pythonが劣っている訳ではなくて、Python使えますというと数学力や機械学習を期待されてしまい、それがない人は辛くなる

なおPythonが文法で勝るところは余りないように思うが、別に負けているとも感じない
Rubyのメソッドチェーンは素直に羨ましい
Pythonのimport/from importの仕様やジェネレータの仕様はなんだかなぁ状態
Rubyはメソッド周りがわけわかめ、def、proc、porc.new、->はなんとかならんかったのか

強力なライブラリは

925 名前: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系でも多分キレると思う
[]
[ここ壊れてます]

926 名前: mailto:sage [2019/10/16(Wed) 19:03:43 ID:sUcGSwhO.net]
>>881
Rubyの標準クラスライブラリのリッチさは上位組だと思うけど
素の状態で勝負したらPythonに勝ち目はないね

927 名前:デフォルトの名無しさん [2019/10/17(Thu) 00:12:04 ID:nmwrV9Kg.net]
Python は東大数学科・大学院など、数学・統計学などの重要度が高いから、あまりプログラミングと関係ない。
プログラマーのキャリアパス上からは、仕事が得られない

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

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

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

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

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

Rubyは、Java みたいな、5大SIer・多重下請け構造・階層ピラミッド・土方系とは異なる。
階層に入ると、1社経由する度に、3割抜かれる(システムの請負料金・保証料金)

928 名前: mailto:sage [2019/10/17(Thu) 06:45:24 ID:gq3I2ckq.net]
Rubyは作者が日本人だけあって言語が一時しのぎの感情論で作られていて論理性が全く感じられず
使うだけで洗脳されて馬鹿になるからやめた方がいい
pythonはその反対

929 名前: mailto:sage [2019/10/17(Thu) 10:27:02 ID:tq7j3RVK.net]
↑などという論理性が全く感じられない感情論を吐くのが
洗脳されて馬鹿になってる証拠

930 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 11:27:44.59 ID:huR1Dm0j.net]
Rubyは作者が日本人だけあって言語が一時しのぎの感情論で作られていて論理性が全く感じられない。
ちょっと使ってみただけでも、そんな感じになってるのが感覚的にわかるだろ
その雰囲気を肌で感じることが出来ないやつは、論理性がなく感情論で話をしてる



931 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 11:30:15.05 ID:8776I+gg.net]
そういうボケ方好きよ

932 名前: mailto:sage [2019/10/17(Thu) 11:43:00 ID:bd1FscY+.net]
>>887
Rubyの論理性の無さの例を教えて下さい。

933 名前:デフォルトの名無しさん [2019/10/17(木) 12:00:43.15 ID:GTpPRCCe.net]
PC用のソフトウェアが、スマホアプリのように気軽に課金される日は来ると思う?
PCから割れの被害がなくなる日は来ると思う?

934 名前: mailto:sage [2019/10/17(Thu) 12:09:08 ID:2s2Qb0U5.net]
>>890
板のテンプレ読め。マ板でやれ

935 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 13:28:26.72 ID:ucUV19VT.net]
>>890
バカじゃねえのか
有料課金質問サイトで質問しろよ

おめーはネタと情報はタダだと思ってんだろ
だからそれでいいんだよ

936 名前:デフォルトの名無しさん [2019/10/17(木) 13:33:52.71 ID:qaCXzdDd.net]
独自URLを定義したいんだけど
ただ自分のアプリ(localhost動作)で使う

937 名前:だけのURLの場合、スキームはどうすべき?
dokuzi://my.app/

URLを使いたいのは、ただそうするのが標準だからかなと思ったから。
外部アプリから自分のアプリが管理してるデータへの参照を、
どんな文字列でもよかったんだけど、
どうせならURLっぽくやろうかなと思った。
[]
[ここ壊れてます]

938 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 14:20:28.37 ID:tq7j3RVK.net]
>>893
Custom URL Scheme, Deep Link, Universal Link, iOS/Androidとかのキーワードでググる

939 名前: mailto:sage [2019/10/17(Thu) 15:54:01 ID:lECi1og0.net]
カスタムURIスキームの利点はユーザーがURLを指定できるところに
何でも起動できちゃうURLを仕込めるというところにあるから
自アプリだけで完結しているなら利点はないしそこまで好き勝手に使っていいという気はしないな

940 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 23:50:51.28 ID:nmwrV9Kg.net]
Docker, Ruby on Rails(REST、リソースベースのルーティング)などを使えば?



941 名前: mailto:sage [2019/10/18(Fri) 01:12:05 ID:tY/eTMs7.net]
Rubyはメソッドチェーンのおかげで最高の言語だと感じますが、間違いでしょうか?

grep、join、gsub、gsubってつながっていく様子が、まるで
ファイヤー、アイスストーム、ダイアキュート、ブレインダムド、ばよえ〜ん、
って印象です。

942 名前: mailto:sage [2019/10/18(Fri) 01:15:47 ID:2g/GJrKd.net]
関数繋げるだけならlispと何が違うんだ?

ただし、個人の主観は絶対的に正しいので、オメーが最高の言語だと感じてるならどうぞお好きにとしか言いようがない
つまりは、個人の主観に間違いなし、だ
コイツの脳内で渦巻いてる主観には間違いは無いし間違いがあろうとなかろうとそれには気付けない
だから主観そのものは絶対的に正しい
よかったネ!

943 名前:デフォルトの名無しさん mailto:sage [2019/10/18(金) 01:49:51.81 ID:tY/eTMs7.net]
>>898
なぜそんなに喧嘩腰なの?

944 名前: mailto:sage [2019/10/18(Fri) 08:50:31 ID:YuWkr+rI.net]
たぶん人違い
いろんなところに出没するrubyで荒すやつがいるんだ

945 名前: mailto:sage [2019/10/18(Fri) 15:58:51 ID:lmpJOwiE.net]
あれは某国のアンチRuby工作員

946 名前:デフォルトの名無しさん [2019/10/19(土) 06:28:11.22 ID:dr1ysGqL.net]
フォームから入力した値をDBに登録する際に、入力された値が決められた規則に従っているか確認したいので、
プログラムでチェックするべき範囲とDBのCHECK制約で行う範囲の明確な線引きとかガイドラインがあれば教えてください。

947 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 09:59:39.30 ID:V83HT+bA.net]
>>902
そんな雲をつかむような質問ではまともな回答しようがないので質問のガイドラインを勉強してきてください

948 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 10:29:12.51 ID:fDUUZQql.net]
まず、出来る限り、プログラムでチェックする。
ここでチェックできれば、ネット回線へ送られないから、すごく良い

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

基本、ブラウザから送られるデータを信用してはいけない!
チートしたり、伝送ミスで、データが間違っている事が多いから

949 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 11:02:07.69 ID:nnyc8pgy.net]
CHECK制約は使わない
せいぜい保険の最終防壁
いろいろ理由はあるがDBが返す「CHECK制約xxに違反しました」

950 名前:といったエラー情報をまともなエラーメッセージに変換するのがまず厄介 []
[ここ壊れてます]



951 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 13:31:13.10 ID:vCREqhgr.net]
>>905
最終防壁なら、バグでもない限りでないんだから、そんなエラーをまともなエラーメッセージに修正する必要ないじゃん
スタックトレースをわかりやすい日本語に直さなきゃいけない。みたいな
アホなことをお前は言ってるぞ。

952 名前:904 mailto:sage [2019/10/19(土) 14:20:19.31 ID:fDUUZQql.net]
クライアント側でチートしたり、伝送エラーがある

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

途中のルーターで、伝送エラーを見つけても、再送せず、そのまま送ってくるし

953 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 14:48:46.87 ID:QmPBAH4r.net]
クライアント側チェックとサーバー側チェックの話じゃないぞ

954 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 14:59:20.11 ID:tEExLpzf.net]
僕はたにぐちまこと先生を支持します

955 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 15:06:14.38 ID:QmPBAH4r.net]
>>902
明確な線引きやガイドラインは無い!!

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

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

プログラムーはプログラムだけで保証したがる
DB屋はプログラマーを信用してないからCHECK制約をできるだけ使いたがる

956 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 15:55:36.45 ID:iFqGS+wa.net]
そりゃ条件式の複雑度数が20を超えたらプログラムで対処、だろ
複雑度数がなんなのかは知らない

957 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 19:10:07.24 ID:VYVT60v2.net]
>>902
ガイドライン板行け

958 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 20:07:11.93 ID:hpHQur/j.net]
マルチエージェントシミュレーションをしようとしているのですが
シミュレーションを管理するクラスと各エージェントクラスはどのような関係にすべきでしょうか
各エージェントを管理クラスに保持すると一括してアップデートできて便利ですが、エージェントが他のエージェントの情報にアクセスできません

959 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 20:07:36.03 ID:lFhCDuxs.net]
開発プロジェクトの谷間にて、業務効率化スクリプトの機能追加や改善を行っています。
VBA、VBS、Ruby、Perl等いろんな言語のスクリプトが混在していているのですが、皆はこれが厄介だと言います。

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

結局、業務効率化スクリプトなんてのは、正規表現がわかればその都度、「早く書ける」「操作性が良いのが書ける」を考えて言語を選べばよいだけという認識で良いですかね?

960 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 20:34:14.08 ID:vCREqhgr.net]
正規表現なんて、少し難しい漢字を知ってる程度のレベル
知らなきゃ困るが、知っていたからっていい文章(コード)が書けるわけじゃない



961 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 20:35:18.67 ID:sd9gDFLM.net]
>>906
早とちりだぞ
最終防壁として使う分にはいいが、CHECK制約単体でエラーチェックを賄うのはやめとけ、その理由の第一はメッセージのハンドリングがしにくから、という文意だ

962 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 20:46:17.55 ID:QmPBAH4r.net]
>>914
「業務効率化スクリプト」って例えばどういう処理してるの?

963 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 20:56:38.06 ID:lFhCDuxs.net]
>>917
他にも色々ありますが、以下のようなものが代表的です。

・プロジェクト新規参入者のPCキッティング
・適切な対象の適切なタイミングでのSVN更新補助
・CUnitでのアサ

964 名前:ートチェックに適さないテスト結果ログの比較自動化
・静的解析ツールでは出来ない開発Pjソース上の不適切箇所の検出
[]
[ここ壊れてます]

965 名前:デフォルトの名無しさん [2019/10/19(土) 20:58:12.65 ID:lFhCDuxs.net]
>>915

知ってたらいいものが書けるわけじゃないけど、知らないと全く以てスクリプトが書けないのだから、覚える以外に無いでしょう?
十分条件ではなく必要条件だということなだけなんですから。

966 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 21:03:38.66 ID:ix8h3W5Y.net]
こういうサイト使って正規表現のテスト実行環境を整備すると理解が深まるかもしれない
URLくっそ長くなるけど
https://fatiherikli.github.io/fil

967 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 21:59:47.46 ID:QmPBAH4r.net]
>>918
おお、想像してたのと全然違った

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

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

あと正規表現はもともと読みにくくなりやすいから部品に分解してコメント書いたり
多少遅くても読みやすい表現を選んだり簡単なテストコードを残すとかドキュメント生成とかする
言語によっては正規表現は一続きで書かないとダメなやつもあるからその辺も選択基準になる

968 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 22:24:10.31 ID:QmPBAH4r.net]
>>913
シミュレーションはわからないけど
エージェントが必要としてる他のエージェントへの参照を管理クラスが渡してやればいいんじゃないの?

969 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 22:49:51.20 ID:lFhCDuxs.net]
>>921
>おお、想像してたのと全然違った

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

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

標準とするならRubyでしょうね。Perlについては昔Perl大好きくんがいたから残っているだけで、新規に書く理由がないですからね。
VBSはInputBoxが標準で使えることと、Win環境である限りどこに持っていっても動くという利点以外に利点が無いので、こいつもRuby化したいですね。
VBAだけは、C#アドイン化が大変なのと、外部化するメリットが無いものが多いのでそのままメンテかな…。

970 名前: mailto:sage [2019/10/20(日) 07:08:06 ID:ADDbXmaX.net]
>>913
>エージェントが、他のエージェントの情報にアクセスできません

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

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

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

デザインパターンで言うと、
直接やり取りのObserver(発行/購読)ではなく、
マネージャー経由のMediator(管制塔)



971 名前:デフォルトの名無しさん mailto:sage [2019/10/20(日) 07:31:48.09 ID:ADDbXmaX.net]
>>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 など、入れ子構造を持つものは、パーサーで処理しないといけない!

正規表現では、数千行も必要だから、無理!

972 名前:デフォルトの名無しさん mailto:sage [2019/10/20(日) 09:11:09 ]
[ここ壊れてます]

973 名前:.98 ID:akKR2ina.net mailto: Perlが廃れた理由が分かった
普通の人間には正規表現が難し過ぎるんだ
その部分がモロに出てるperlは忌避される
[]
[ここ壊れてます]

974 名前:デフォルトの名無しさん mailto:sage [2019/10/20(日) 09:46:11.57 ID:hHVN/TCw.net]
ぜんぜん違う。

975 名前:デフォルトの名無しさん mailto:sage [2019/10/20(日) 09:48:56.83 ID:hHVN/TCw.net]
廃れた理由はオブジェクト指向じゃないから

正確に言えば、オブジェクト指向をすることもできるし、
そのためのモジュールもあるが、どれもスタンダードにはならなかった。
モジュールを使わずにオブジェクト指向もできるがめんどくさい。
基本的な部分で書き方が色々ありすぎて統一できなかった。

976 名前:デフォルトの名無しさん mailto:sage [2019/10/20(日) 15:25:03.36 ID:r1gsU8l7.net]
Hooksのようにオブジェクト指向から関数に時代は流れているのだよ。

977 名前: mailto:sage [2019/10/20(日) 19:41:56 ID:MI8MHJaE.net]
pop shift のように副作用のある関数があるのでperlで関数型で書くのは感覚的につらい
副作用多め、OOデフォルトではないことが python, ruby より速い理由かも

978 名前:デフォルトの名無しさん mailto:sage [2019/10/20(日) 20:07:49.24 ID:NxGRbcb0.net]
> Hooksのように

な?そういう流れだと主張する言語は
マイナーだってわかるやろ?

979 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 03:09:54 ID:CyO1yszD.net]
>>926
XMLやJSONのパースを正規表現でやろうとする人っているのですか?
CSVやTSVならやりそうな人はいると思いますが…。

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

>>928
Perlはオブジェクト指向であるかどうかの前に、サブルーチンの形がまともな形になっていません。まるでMS-DOSのバッチのような印象。
このように前時代のスクリプト言語だという印象をプンプンさせていることが廃れた原因ではないでしょうか?

980 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 12:48:00 ID:Ru5/7CHv.net]
CGIからperl6とかweb2.0などへの展開が失敗しただけで
前時代のスクリプト言語としては生き残り続ける



981 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 16:31:47 ID:VexLilHP.net]
>>931
Hooksがマイナー?
お前はどこの時空を漂ってんだ?

982 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 21:14:55 ID:utrljv8A.net]
なぜRubyスレではPythonネタ禁止でないのに、PythonスレではRubyネタ禁止なんですか?

983 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 22:15:33.81 ID:cdvYqWae.net]
Rubyを語る奴がキチガイじみてて嫌われてるだけや

984 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 22:23:00.61 ID:utrljv8A.net]
Rubyはキチガイが使う言語なのですか?

985 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 22:23:00.70 ID:utrljv8A.net]
Rubyはキチガイが使う言語なのですか?

986 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 22:24:49.08 ID:/X8txQrc.net]
>>938
いいえ。自治に関する話は他でやってください

987 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 23:10:50 ID:8ccCGlFX.net]
>>935
>RubyスレではPythonネタ禁止でない
その認識は危険
敢えて明記する必要がないってだけ

988 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 20:25:08.59 ID:oicqOaNF.net]
趣味でプログラムをやってます

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

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

学習とか人に教えてもらうとか
何年も前は2ちゃんで教えて貰ってましたが
今は色々なサイト?があるみたいなんですけど
やる気の維持とか交流とかアドバイスとかどこで貰ってますか?

989 名前: mailto:sage [2019/10/22(火) 20:55:10.10 ID:afWm6mlf.net]
>>941
私はここで元気を貰っています
https://mevius.5ch.net/test/read.cgi/tech/1564310397/

990 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 00:22:35.50 ID:ho+0+jX0.net]
江端式クローズドマインド

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

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.



991 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 13:20:13.16 ID:9ialz6Ph.net]
あるソフト作ったとき英語圏ではどこで宣伝すればいいかな? twitter以外で。
日本だとqiitaにでも書いていれば釣れるが

992 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 14:05:59.12 ID:pHxagEhJ.net]
英語圏の掲示板で聞いたら






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<316KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef