Ruby 初心者スレッド Part 67at TECH
Ruby 初心者スレッド Part 67 - 暇つぶし2ch160:デフォルトの名無しさん
21/05/12 09:35:54.83 NUn3zAQRa.net
>>158
非効率というのは遅いって事ですか?

161:デフォルトの名無しさん
21/05/12 10:19:17.28 iLdhy1ll0.net
>>160
require "bundler/inline"
gemfile do
source "URLリンク(rubygems.org")<)
URLリンク(github.com)
見ると分かるがCSV.new等を毎回行う手抜き実装(バグりにくいというメリットは確かにある)
1行だけならともかく複数行をcsv化したいなら微妙

162:デフォルトの名無しさん
21/05/12 11:11:15.22 heOXda5CM.net
実際にはどうせファイルに書き込むんだからファイルIOがボトルネックになるんで誤差だよ
無意味なベンチマークだね

163:デフォルトの名無しさん
21/05/12 11:18:11.79 VEm96Egx0.net
>>162
キャッシュなしフロッピーディスク💾を使ってるのかな?w

164:デフォルトの名無しさん
21/05/12 11:41:45.65 iLdhy1ll0.net
>>162
Benchmark.driver do |x|
x.prelude %{require "csv"}
x.prelude %{require "tempfile"}
x.prelude %{ITEMS = Array.new(1000){ ["fooo", 12345,6789] }}
x.report "to_csv", %{ Tempfile.create{ _1.write ITEMS.map(&:to_csv).join } }
x.report "generate", %{ Tempfile.create{ _1.write CSV.generate{|csv| ITEMS.each{|it| csv << it } } }}
end
確かに縮まりはしたが
うちのオンボロPCでも5倍弱の差が出ました。

165:デフォルトの名無しさん
21/05/12 22:35:04.85 gVUbVQ8ua.net
何秒が何秒になったんですか?

166:デフォルトの名無しさん
21/06/01 17:26:14.50 iV+6o72S0.net
c="C:\Program Files\7-Zip\7z.exe"
p c
で出力は
> "C:Program Files\a-Zip\az.exe"
となってしまうんですが、なんで7がaに変わってしまってるんでしょうか?
2.6.5p114 (2019-10-01 revision 67812) [x64-mingw32]です

167:デフォルトの名無しさん
21/06/01 17:31:29.95 DkdlQ1eQ0.net
URLリンク(ja.wikipedia.org)ベル文字
> ベル文字は、ASCIIとUnicodeでは十進数で7
> 1972年に作られたC言語では、ベル文字は文字定数 \aで表される。'a'は"alert"や"audible"の頭文字である。'b'は既にバックスペースに使われていた。

168:デフォルトの名無しさん
21/06/01 18:04:34.76 uwqmKkHK0.net
>>166
バックスラッシュ記法で8進数表記のパターンとして解釈されるから
式展開が必要なければシングルクウォートにするといい
URLリンク(docs.ruby-lang.org)
¥007も¥07も¥7も同じ
C言語由来のエスケープシーケンス

169:デフォルトの名無しさん
21/06/01 18:56:08.30 acqsmkid0.net
>>166
>>168のシングルクォートよりも、パスの区切り文字を「/」にすることをすすめたい。
パスの区切り文字が「¥」でなければいけないのはコマンドプロンプトなど一部のみ。
だいたいが「/」でも可。

170:デフォルトの名無しさん
21/06/01 21:37:59.00 iV+6o72S0.net
>>167-169
まとレスにて失礼します
aに置き換わる謎はわかりました
シングルクォートなのですが、面倒くさいことにWindowsの決め打ちで空白が入っているので
それを考えるとダブルクォートで囲まざるを得ず、けっきょくこんな形になってしまいました
c="\"C:\\Program Files\\7-Zip\\7z.exe\""
このあと
system("#{c} a -mx9 ...")
みたいな形で呼び出します

171:デフォルトの名無しさん
21/06/01 22:03:40.90 eWE6r8CI0.net
>>170
c = '"C:\Program Files\7-Zip\7z.exe"'

172:デフォルトの名無しさん
21/06/02 19:46:00.37 onKqKKZNr.net
>>170
すごく短くまとまってるから、一度公式のリファレンス読んだ方がいいよ
URLリンク(docs.ruby-lang.org)

173:デフォルトの名無しさん
21/06/02 20:29:52.62 92rWXivp0.net
>>171
ああなるほど
それで行けますね
昔は自分でもそんな書き方してたかもしれなかったです
>>172
ご案内ありがとうございます
シングルクォートとダブルクォートの意味とか違いは理解していたのですが
中に\入れたときとか、とくに168さんに指摘されたように8進数での扱いが特別だということは
よく理解していなかったので、これを機会に知識を正確にしておきます

174:デフォルトの名無しさん
21/06/03 18:27:26.17 peqY6uPj0.net
完全にプログラミング0からで「スラスラ読めるrubyふりがなプログラミング」を買って始めたのですが
macbookairでrbenvでruby3.0.1をダウンロードしてrbenv versionでは3.0.1と表示されるのですがruby -vでは2.6.3と元々入ってるrubyが表示されます
まだ何も分かってないのにhomebrewとrbenvのダウンロードが上手くいかず色々見ながらやってきたので余計な事をしてしまったのではないかと心配です

175:デフォルトの名無しさん
21/06/03 18:56:51.38 peqY6uPj0.net
>>174ですが
自己解決しました
bash profileに何か誤ったものを書き込んでしまったようで消したら3.0.1に切り替わりました

176:デフォルトの名無しさん
21/06/05 14:54:45.98 uC9Joojh0.net
Rubyで、syntax error 的なものが生じていても、そのまま実行が続けられている
ように見える現象が時々起きる。
これは何が起きている?
errorが起きた場所で停止させる方法はある?

177:デフォルトの名無しさん
21/06/05 15:26:37.54 SGijWivar.net
rescue SyntaxError

178:デフォルトの名無しさん
21/06/05 20:10:36.75 K+vX0E1p0.net
>>176
そのエラーが起こった時に何が表示されているの?

179:デフォルトの名無しさん
21/06/06 16:19:02.76 1amPE6il0.net
>>178
例えば、xxx という変数を定義してない状態で、
[aaa.rb]
def some_func()
  ・・・
  print( "xxx=#{xxx}\n" );
  ・・・
end
という関数を呼び出すと、
aaa.rb:3882:in `some_func': undefined local variable or method `xxx' for main:Object (NameError)
  from aaa.rb:5638:in `main'
  from aaa.rb:5667:in `<main>'
と出るが、そのまま実行が続けられてしまう。

180:デフォルトの名無しさん
21/06/06 17:06:19.62 B1fTG1Q6r.net
>>179
begin
rescue
end
の構造してるだけじゃないの

181:デフォルトの名無しさん
21/06/06 17:09:33.22 1amPE6il0.net
>>180
そういうものは使ってない。

182:デフォルトの名無しさん
21/06/06 17:12:50.30 B1fTG1Q6r.net
>>181
再現するコードを共有することはできますか?

183:デフォルトの名無しさん
21/06/06 17:37:47.34 1amPE6il0.net
>>182
できない。
大事なコードだから非公開。

184:デフォルトの名無しさん
21/06/06 17:44:51.53 B1fTG1Q6r.net
そうであれば我々にはわかりえない。
まあどっかでrequireをオーバーライドしてるとかじゃないの。

185:デフォルトの名無しさん
21/06/06 18:17:08.76 1amPE6il0.net
>>184
全部自分で書いたコードで、Rubyの基本的な機能しか使ってない。
また、検索してみたが、begin や rescue というキーワードは全く使ってなかった。

186:デフォルトの名無しさん
21/06/06 21:13:38.74 kq17Ee/S0.net
別スレッドも停止させたいのであれば、Thread.abort_on_exception=trueが必要とか?

187:デフォルトの名無しさん
21/06/06 22:12:59.95 1amPE6il0.net
>>186
シングルスレッドしか使ってない。

188:デフォルトの名無しさん
21/06/06 23:44:17.52 ///+rfU80.net
もうええて。
追加情報がなきゃあもうムリやろ。

189:デフォルトの名無しさん
21/06/07 08:20:47.92 Q1HfUOnq0.net
バグだね。

190:デフォルトの名無しさん
21/06/07 12:05:22.54 Qb3DiLXp0.net
さすがのRubyでも、そんなアホみたいな「バグ」なんかないやろ。w

191:デフォルトの名無しさん
21/06/07 13:11:30.61 tJ2RoPVV0.net
おまえさん一人だけの症状なんだし再現できるコード・環境を出せない以上おま環

192:デフォルトの名無しさん
21/06/07 13:15:54.00 pl6618+T0.net
>>170
コマンドプロンプトでも普通に、/ を使える。
これで実行できる
ruby C:/Users/Owner/Documents/a.rb
パスに空白が入っている場合は、シングル・ダブルクォーテーションで囲む
PowerShell(PS)でも良いし。
Windows Terminal なら、Bash, PS、コマンドプロンプトの3つを使える

193:デフォルトの名無しさん
21/06/08 10:27:31.04 ljhkY4kR0.net
Powershellで標準出力をリダイレクトしてると
Ctrl-C押した時at_exitに飛ばずに死ぬの何なの?

194:デフォルトの名無しさん
21/06/08 11:47:19.54 dOMi6vvz0.net
そのアプリが、SIG-INT・中断をキャッチしない場合は、
SIG-KILL・強制終了されるのだろう
強制終了は、受け身が取れない。
たぶん、デフォルトの挙動は、そうなのだろう

195:デフォルトの名無しさん
21/06/08 12:46:57.32 ljhkY4kR0.net
リダイレクトしていなければ普通にat_exitに飛ぶんだよ

196:デフォルトの名無しさん
21/06/08 14:00:54.76 8dk2g5lI0.net
試しにpythonでもatexit使ってみたが同様に強制終了される
Traceback出力されるのにatexitは実行されない

197:デフォルトの名無しさん
21/06/08 14:04:16.61 xXGg8olZ0.net
Rubyスレなんだが!

198:デフォルトの名無しさん
21/06/08 14:34:31.00 8dk2g5lI0.net
powershellがバグってる
cmd /c 経由なら正常にリダイレクトおよびctrl+cできたわ

199:デフォルトの名無しさん
21/06/08 14:44:58.07 ljhkY4kR0.net
え~~マジっすか
検証してくれてありがとうございました。

200:デフォルトの名無しさん
21/06/08 17:51:22.97 ljhkY4kR0.net
まずパイプが終了して、それに巻き込まれてpythonのプロセスが落ちるとかなんとか
rubyの挙動を調べるためにpythonでググるってなんだかな

201:デフォルトの名無しさん
21/06/08 20:59:45.11 7WqSN2WLr.net
そういやパイプ周りの不具合がなんかあったな

202:デフォルトの名無しさん
21/06/08 21:13:49.57 7WqSN2WLr.net
と思ったら今回の件と何も関係が無かったわ。
URLリンク(bugs.ruby-lang.org)

203:デフォルトの名無しさん
21/06/08 21:15:32.86 S62X2+fs0.net
>>159
ほんと、これは甚だ同意。

204:デフォルトの名無しさん
21/06/10 21:34:01.60 Hn4s45bFd.net
現在ラズパイにrubyとpythonを入れて処理を並列に自動実行しようと思ってます
ただ台数が多いため一台ごとにソースを変えるのは回避したいです
なので理想は起動時に最新のソースに自動で更新です
このようなことをしたいときはどのようにするのが一番簡単でしょうか?
rubyでサーバーから最新のソースをコピーしたあとにrubyとpythonを実行?
家で使用するのでセキュリティーとかは気にしません

205:デフォルトの名無しさん
21/06/10 22:40:14.97 t0oieqtV0.net
>>204
rsyncすれば?

206:デフォルトの名無しさん
21/06/18 09:43:06.27 Jo75oGSbM.net
>>204
厳密に一斉に切り替わらなくてもいいならcronとかで定期的にGitHubからpullする
手段が目的だと堂々と言えるならKubernetesのクラスタ組むとかも面白い

207:デフォルトの名無しさん
21/06/23 23:47:46.99 vtN99wcma.net
ライブラリのopenのように、
open() do |f|
・・・
end
と書いてもよく、
f= open()
・・・
f.close
と書いてもいいというクラスor メソッドは
どうやって作ればいいのでしょうか。
yieldを使うとイテレータのみになってしまうし、
returnすると下の例だけになってしまいます。

208:デフォルトの名無しさん
21/06/24 00:15:52.97 PG/lAwcj0.net
if block_given? で分岐

209:デフォルトの名無しさん
21/06/24 07:40:00.21 R0/fGgxp0.net
>>208
ありがとうございます。
うまく作れました。

210:デフォルトの名無しさん
21/06/24 07:56:14.83 R0/fGgxp0.net
すみません、もう一つ教えて下さい。
rubyというかプログラムを書くとき全般の注意として、
ファイルopenとcloseはなるべく近くに書くようにと
ありました。
恐らくclose漏れを警戒しているのだと思います。
yieldを使えば、以下コードでそれを実現できます。
def fileInterface
f= open()
begin
yield f
ensure
f.close
end
end
yieldを使わないパターンでは、
closeを近くにかけないのですが解決策あるでしょうか。
def open
@f= open()
return @f
end
def close
@f.close
end
openメソッド実行
・・・
・・・(大量の処理)
closeメソッド実行

211:デフォルトの名無しさん
21/06/24 09:32:39.75 +4IsK47J0.net
>>210
大量の処理を関数にして分離。
あるいは、しょせん理想でしかないので、離れていても気にしない。

212:デフォルトの名無しさん
21/06/24 10:36:21.12 5MDZvZ/d0.net
>>210
close漏れを警戒するのであれば、openにそのままブロックを渡した方がいい
openはブロックの実行結果を返し、ブロック脱出時に勝手にcloseします
まぁ、どうせclose漏れしてもそのうちGCに回収されるかプロセス終了時にcloseされる

213:デフォルトの名無しさん
21/06/24 11:01:09.55 PG/lAwcj0.net
>>210
yield使った実装とやることは同じ
f= open file
begin
大量の処理を含むメソッド f # <― yieldがメソッドに変わるだけ
ensure
f.close
end
同じだからこそ毎回同じことを書かなくてもいいようblock付きで呼び出す
open(file){|f| 大量の処理を含むメソッド f}

214:デフォルトの名無しさん
21/06/24 12:31:52.31 9bIzV4XCa.net
大量の処理を手続きオブジェクトに分離するのは、やりました。
やっぱりそれしかないかな。
ブロック付きで渡すのはオブジェクト指向ではない
コードになりやすく、今回は考えてないです。
また、全体をensureで囲うのは、
さすがにensure対象が暗黙的すぎてちょっとな・・・です。

215:デフォルトの名無しさん
21/06/24 13:25:07.89 +4IsK47J0.net
>>214
> ブロック付きで渡すのはオブジェクト指向ではない
> コードになりやすく
そうか?
まあ、「オブジェクト指向」にもいろいろあるからな。w

216:デフォルトの名無しさん
21/07/17 09:58:54.08 yHV+uNLK0.net
railsにおいて あるフォームから特定の変数に送られるデータの内容を固定したいのですがなにかいい方法ありますか?
具体的には
<%= form_with model: @hoge do |form|%>
<%= form.text_field :name , value: 'hoge'%>
<%= form.submit %>
<% end %>
と書かれている場合 hogeというモデルのnameという変数に必ずhogeが入るようにしたいのですが上の書き方だと初期値にhogeが入るだけで編集可能になってしまいます。

217:デフォルトの名無しさん
21/07/17 10:48:14.79 xmQE+uIu0.net
openに、ブロックを渡す方法は、
コンテキスト・マネージャーという、多くの言語で使われているデザインパターン
これよりも良いものは作れないから、皆が使っている

218:デフォルトの名無しさん
21/07/17 10:54:23.38 xmQE+uIu0.net
そりゃ、フォームはサーバーへ送られて更新されるものだから、
変更可能のフィールドが普通
変更不可のフィールドにするなら、
そのフィールドをサーバーへ送らないようにしないといけない
そういうオプションがあるのかな?

219:218
21/07/17 11:08:32.59 xmQE+uIu0.net
「html disabled readonly」で検索!
HTML の <input> 要素には disabled と readonly 属性が存在します
disabled : コントロールが無効化され、フォームを Submit しても、値の送信が行われない
readonly : 値の変更は行えないが、コントロールは有効なので、
フォームを Submit すれば値の送信が行われる

220:218
21/07/17 11:15:24.94 xmQE+uIu0.net
変更不可のフィールドなら、
<input> 要素などを使わずに、単にテキストを表示すれば?

221:デフォルトの名無しさん
21/07/17 13:56:18.38 EBHVYdQH0.net
>>216
hidden_field使ってもいいけど
そもそもformによる入力=webからの入力は信頼してはいけない

222:デフォルトの名無しさん
21/07/17 14:27:31.06 7kNL/q5q0.net
>>221
ではどうすればいいでしょうか

223:デフォルトの名無しさん
21/07/17 16:20:51.36 CYR4F+Ue0.net
>>222
直にソースで書くしか!
ちなみに、XSRFも調べとくとええんちゃう?

224:218
21/07/17 20:48:35.06 xmQE+uIu0.net
マスアサインメント脆弱性を、strong parameters で防ぐ。
更新できる列を、permit で限定する。
これは、コントローラーでの制限
params.require(:person).permit(:name, :age)
Action Controller の概要
URLリンク(railsguides.jp)
モデルでのバリデは、
Active Record バリデーション
URLリンク(railsguides.jp)
Rails ガイド・Rails チュートリアル・黒田努の本などを読むか、
YouTube で有名な、雑食系エンジニア・KENTA のサロンへ入ると良い。
日本6位の、2千人入っている、虎の穴

225:デフォルトの名無しさん
21/07/18 01:26:53.43 M+6J3Mfd0.net
>>217
ブロックで書くとテストコードが書きづらくないですか?
最近はテストコードのことを考えて、普通に、
file = open(file,'r')
とか書いてます。
あと、ブロックはネストするからなあ。

226:デフォルトの名無しさん
21/07/18 15:19:50.46 WDHzAXg40.net
>>222
何がしたいのか次第
'hoge'で固定するのであればformで入力させる必要はないですし
なんらかの方法で生成するのであれば生成するタイミングを考えます
入力フォーム表示前に生成し固定する必要があるのであれば
ActiveSupport::MessageVerifier
ActiveSupport::MessageEncrypter
session
などを使う

227:218
21/07/18 22:44:25.79 H/NN8O820.net
Rails の便乗質問するけど、
ユーザーの入力値により、条件判断して、
条件1 の場合には、列A だけを更新して、
条件2 の場合には、列B だけを更新する
と言うのは、どのように書くの?
モデルのcallback かな?

228:デフォルトの名無しさん
21/07/19 01:48:34.69 0iu7guVA0.net
ruby silver試験は公式問題集をやれば
合格できますでしょうか、学習時間も参考にさせていただきたいです。
silverを考えています。
バージョンがかなり古いとは思いますが、今のrubyとそんなに変わらないと思ってて大丈夫でしょうか

229:218
21/07/19 07:03:41.76 sO73HNBd0.net
Ruby の資格は、漏れも取っていない。
下のマネーフォワードの本で、良いと思う
改訂2版 Ruby逆引きハンドブック、2018

230:デフォルトの名無しさん
21/07/20 08:12:05.37 EkYsR0Mj0.net
【A型の人ごめん】「まじめ人間」は、自分の人生を生きられず、しかもお金持ちになれない。
URLリンク(www.youtube.com)
【人生観変わる話】「サラリーマン脳」のヤバい特徴5選。
URLリンク(www.youtube.com)
【人生終了】情弱がハマる「貧困スパイラル」のリアル。
URLリンク(www.youtube.com)
バカでもわかる!ネットビジネスの始め方。
URLリンク(www.youtube.com)
時給労働から卒業しよう!貧乏人が知らない「お金の稼ぎ方」まとめ。
URLリンク(www.youtube.com)
【人生攻略】経験・実績ゼロのあなたが、最短で何者かになる方法。
URLリンク(www.youtube.com)
【残酷】貧乏人はいつも忙しいのに、お金持ちは暇である理由。
URLリンク(www.youtube.com)

231:218
21/07/20 10:14:09.06 nphTU9tH0.net
>>227
自己回答
ユーザーの入力値により、条件判断してはいないけど、
改訂4版 基礎 Ruby on Rails、黒田努・佐藤和人、2018
の400 ページで、
アクションのcreate/update で、
コントローラーのstrong parameters を変える例が書いてある
例えば、下のような感じ
params.require(:person).permit(:name)
params.require(:person).permit(:age)

232:デフォルトの名無しさん
21/07/21 10:26:17.53 GSJrQWT80.net
>>231
別に構わんが環境次第でUnpermittedParameters例外出そうな気がするので
@person.update(xxx_params.except(:age))
的な感じのほうがよいかも

233:デフォルトの名無しさん
21/07/24 17:53:55.08 niZ/VlC90.net
pythonなみの公式チュートリアルがあればいいのに

234:デフォルトの名無しさん
21/07/27 10:21:46.39 y9fA4YVt0.net
Railsでも何でもいいんですが、ecサイトの様なユーザー登録とログインシステム
をRubyを使って簡単に構築するライブラリの使い方が書かれている良い本は
有りませんか?

235:デフォルトの名無しさん
21/07/27 11:24:07.05 ic7RAKIO0.net
>>234
Ruby on Railsのチュートリアル
でいいのでは?
簡単に済ませたいならば、
Shopifyとか外部決済システムに外注すれば?

236:デフォルトの名無しさん
21/07/30 18:21:13.72 7AkGA5GJ0.net
スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?

237:デフォルトの名無しさん
21/08/03 20:29:25.38 1SQdlJBzr.net
NOKOGIRI

238:デフォルトの名無しさん
21/08/03 22:35:38.25 3PGqGTvy0.net
>>236
踏み台を準備してそこ経由でスクレイピングする

239:デフォルトの名無しさん
21/08/04 01:04:19.47 wXXobJu90.net
>>236
スクレイピングの勉強

240:デフォルトの名無しさん
21/08/04 11:12:04.78 Ud4GmCQc0.net
>>236
とりあえず、関心のあるページをローカルに保存してnokogiriでアクセスしてみれば?
crawler部分とscrap部分を分けるのが吉。
つまり、100pagesをスクレーピングするなら、まずhtmlをblob型でDBにinsertしてから欲しいデータをnokogiriで取り出すのだ。

241:デフォルトの名無しさん
21/08/04 11:45:59.21 BE8GLseK0.net
>>234
よく見るのは、devise gem を使う
パーフェクト Ruby on Rails、2020/7 には、載っていない
改訂4版 基礎 Ruby on Rails、黒田努・佐藤和人、2018/9 には少しだけ載っている。
ただし、この本は、Ruby 2.5.1, Rails 5.2
Ruby on Rails 6 実践ガイド、黒田努、2019/12、には載っている
ただし、上の黒田努の2冊の本では、devise を使わず、自作している
Rails チュートリアル・Rails ガイドも参照
YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、
2千人の未経験者が、Rails の転職用ポートフォリオを作っている。
そこへ入って、聞いた方がよい

242:デフォルトの名無しさん
21/08/04 12:01:13.97 BE8GLseK0.net
>>236
サイトのrobots.txt を遵守すること!
これを守らないと、営業妨害で逮捕される
CSS Selector を勉強する。XPath は勉強しなくてよい。
JavaScript も、jQuery 程度は出来た方がよい
gem は、Nokogiri, Selenium Webdriver
Udemy の山浦清透、2021/6
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
PHP のLaravel で、マイナビ転職をスクレイピングして、データベースへ保存する
基本、この動画と同じ。
これを、Ruby on Rails へ置き換えるだけ

243:241
21/08/04 15:15:35.32 BE8GLseK0.net
>>234
Ruby on Rails, devise の動画
Farstep、2019/9
【Rails】deviseを使ったログイン機能の実装(名前でログインする方法を解説)
www.youtube.com/watch?v=Lmq_WLkxp9c

244:241
21/08/04 15:35:06.48 BE8GLseK0.net
YouTube で「ruby on rails devise」で検索すれば、日本人の動画も多い
Farstep, うるぞー、もぐらストア、
やんばるCODE 守護神・バグ取り名人 たけ

245:デフォルトの名無しさん
21/08/04 22:15:34.77 y1FxFhCLr.net
jQueryって単語、1万年ぶりに見たわ

246:デフォルトの名無しさん
21/08/05 00:10:48.44 r/zZzNU40.net
>>245
一万十歳かな?

247:デフォルトの名無しさん
21/08/05 12:32:32.94 dqIKXfcM0.net
>>242
>>サイトのrobots.txt を遵守すること!
>>これを守らないと、営業妨害で逮捕される
どういうことですか?
詳しくお願いします

248:218
21/08/05 13:11:38.51 bqGeTZjz0.net
>>231
パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)、2020/7
の92 ページで、
コントローラー内で、private メソッドを定義して、
条件によって、strong parameters を変える例が書いてある
管理者・一般ユーザーで変える例
params.require(:user).permit(:name, :admin)
params.require(:user).permit(:name)

249:242
21/08/05 13:20:50.00 bqGeTZjz0.net
>>247
>>242
に書いてある、山浦清透の動画を見れば分かる
各サイトには、robots.txt が置いてあって、
スクレイピングする場合は、必ず30秒空けるとか、
このフォルダはスクレイピングしてはならないとか、多くの条件が書いてある
それを守っていないと、営業妨害になる
スクレイピングは初心者向きじゃないので、各サイトと契約して、API を使うべき!
なぜかと言うと、初心者のプログラムにはバグが多いから、
無限ループしたりして、サイトへ無限にアクセスしたりする
それで、営業妨害で逮捕されるかも知れないから、すごく危険!
プロでも、スクレイピングはしない。
必ず、サイトと契約して、APIを使う
5ch もそう。契約して、APIを使えと言ってる。
勝手にスクレイピングすると、訴えてくるかも知れない

250:デフォルトの名無しさん
21/08/05 13:38:00.10 /9S9EoKc0.net
>>249
私のスクレイピングしたいサイトにはAPIは公開されていません
またrobots.txtも設置されていません
robots.txtでリクエスト間隔の指定なんてあるのですか?
常識的に数十秒から数分に一回程度のリクエストなら問題ないと思いますが
営業妨害ってどういう意味ですか
IT企業に勤める知り合いはスクレイピングで求人を出すことがあると言ってましたが嘘でしょうか?
5chでスクレイピングしたら相手にバレて訴えられることがあるのですか?

251:デフォルトの名無しさん
21/08/05 14:04:49.73 RzFkoDJoM.net
>>250
あるよ
数分に一回のリクエストで落ちるゴミサイトだろうと、結果的に相手の業務に支障が生じれば業務妨害罪に問われる可能性がある

252:デフォルトの名無しさん
21/08/05 14:10:13.57 5L8sIm7d0.net
>>250
> 常識的に数十秒から数分に一回程度のリクエストなら問題ないと思いますが
> 営業妨害ってどういう意味ですか
誰にとっての「常識」ですか?
某岡崎市の某図書館の「りぶらはっく」の件を知りませんか?
(情報リテラシのある側からしたら、)
あんな程度のアクセスで逮捕されるわけない「はずだと思う」なのに、
実態は、全部ゾンビ化(作った業者がアレ)していて、
け●さつがわも情報リテラシがなくアレだから、
結果がアレになっちゃったんですよ。
いいですかー、ここは日本です。
訴える側の後ろ側の行政側がアレな場合が多々あり、
情報リテラシがまったくない、矛盾しまくった法治国家なわけですよ。
誰の常識かは、サイトを提供している側が情報リテラシがない場合、その情報リテラシがない前提が常識なわけです。
つまり、その場合、何らかスクレイピングした時点で営業妨害とみなされても仕方ないですよ?

253:デフォルトの名無しさん
21/08/05 14:53:47.22 /9S9EoKc0.net
>>252
結局その事件は不起訴処分ですよね?
なぜ不起訴になったかわかりますか
検察側が有罪に出来ないと判断したからです
インターネット業界に携わる者たちからすれば余りにも「一般常識」から外れた言いがかりですからね
あなたのような無知蒙昧で従順な子羊は司直にとっては美味しいお客様ですね
これからも「常識」に則った素晴らしいプログラムを書き続けてくださいね

254:デフォルトの名無しさん
21/08/05 15:24:32.14 5L8sIm7d0.net
>>253
もし本当に訴えられたとき、実際の裁判の場で、>>253 と同じ発言を検察側、裁判官の前で弁論できるとよいですね。

255:デフォルトの名無しさん
21/08/05 16:15:30.56 r8rfvWmzM.net
まあ不起訴で納得できるならいいんじゃないの?
俺だったら逮捕の時点で嫌だけど

256:デフォルトの名無しさん
21/08/05 17:07:40.75 bqGeTZjz0.net
逮捕状は名目上、第三者と言われる司法・裁判所が出している。
本当は警察・検察、つまり行政と結託しているけどw
警察はマスコミにリークして、有罪の世論を作る
だから日本では、逮捕 = 100% 有罪。
100%有罪でも、誰もおかしいと思わない。
他国では有罪率が50% ぐらいだけど、日本だけは100%
つまり、三権分立していない。
行政が決めてから、司法が行政のやった事を正当化するような判決文を書く。
行政を勝たせた人だけが出世できるから
でも、判決文を書くのを極端に嫌がる。
N国みたいな政党が、YouTube で裁判官の判決文を批判したりして、おかしいのがばれるから
不起訴になるのは、犯罪者が認めた場合
青汁王子みたいに検察へ喧嘩を売ったら有罪にされたけど、
徳井みたいに脱税を認めたら、不起訴になった

257:256
21/08/05 17:20:52.40 bqGeTZjz0.net
その人がやった事を認めたから、不起訴にした
日本では、逮捕 = 100% 有罪だから、絶対に有罪にできる。
日本では自白をすると、裁判所で何を言っても、くつがえせない。
嘘をついて、自白をするわけがないと言う
だから検事は、拷問・家族を脅迫して、自白をさせる
青汁王子みたいに検察の拷問を発表したら、有罪にされた。
それで青汁王子は、検察改革として選挙に立候補するかも知れない
一方、徳井は脱税を認めたら、不起訴になった
ZOZO・前澤も、脱税をマスコミにリークされた。
でも、N国が国会で誰がリークしたか聞いたら、皆、白を切った
これを国会で追求されたら、まずいから。
警察から、マスコミへリークしているのがばれるから
前澤のは、そもそも脱税でもない。
解釈の違い
それを警察がマスコミを使って、青汁王子みたいに悪人に仕立てようとした。
それをN国が国会で質問したから、ばれそうになって白を切った

258:デフォルトの名無しさん
21/08/05 17:25:15.95 I7FszFTK0.net
>>257
ちなみに
5chで
マルチポストしたら
逮捕されるかもしれないって
知ってた?

259:デフォルトの名無しさん
21/08/05 17:29:15.92 I7FszFTK0.net
逮捕はされないかもしれないけど
自分の悪行を
棚に上げて
正義面したら
地獄へ落ちちゃうよ
閻魔様に
舌を抜かれちゃうんだよ
怖いよ

260:デフォルトの名無しさん
21/08/05 17:32:22.30 I7FszFTK0.net
検察も
警察も
裁判も
怖くないよ
地獄へ落ちると怖いよ
舌を抜かれて
張りの山を登らされて
業火に焼かれるんだよ
熱いよ
痛いよ
怖いよ

261:デフォルトの名無しさん
21/08/05 18:10:22.22 r/zZzNU40.net
きもこわ

262:デフォルトの名無しさん
21/08/05 22:31:27.66 vSsQCnpga.net
別に地獄に落ちるのは怖くないが
昔の人の妄想だし
警察、検察に痛くもない腹を触られるのは怖い

263:デフォルトの名無しさん
21/08/05 23:40:13.64 6menK19J0.net
地獄は怖いよ
怖くないって言ってる人
強がり
一番いけないのは
自分のことを棚に上げて
自分が正義だって言う人
地獄へ行くよ
閻魔様に舌を抜かれるよ
痛いよ
でも逮捕はされないかもしれな
でも地獄の方がもっと怖い

264:デフォルトの名無しさん
21/08/06 09:34:44.10 7P/+UMXla.net
悪魔の証明みたいだが地獄は存在しない
人間は死んだらそこで意識は消滅。無になる。
意識は脳の中の電気信号の集合だから
脳が動かなくなると意識は永遠に消えてなくなる

265:デフォルトの名無しさん
21/08/06 20:13:46.87 qRWxBcUir.net
1. 世界とは事実の総体である。
2. 世界とは<私>の世界である。
2-1. 故に、世界の限界とは<私>の限界である。
2-2. <私>は死なない。視野の端が存在しないように、世界の死は存在しない。
2-2-1. 故に、地獄の存在は事実ではない。
2-2-2. 地獄について語ることはできない。
3. 語りえないことについては沈黙しなければならない。
QED?

266:ハノン
21/08/06 21:35:40.63 .net
>>265
その括弧つきの私(<私>)とは何かを十分に説明していませんね‥‥

267:デフォルトの名無しさん
21/08/06 22:04:45.00 qRWxBcUir.net
<私>とは、この私の世界の開闢者。
お前にとっての私ではなく、私にとっての私。
ヒュームが言うところの自我。

268:デフォルトの名無しさん
21/08/07 00:33:19.88 ctvRT72B0.net
地獄を知ってしまったら
もう地獄はあるよ
自分のことを棚に上げて
他人をバカにしたら
地獄行きだよ
地獄は怖いよ

269:デフォルトの名無しさん
21/08/08 22:12:00.50 Ullx8amr0.net
自分のことを棚に上げる
一番悪い事
地獄に落ちて
閻魔様に舌を抜かれて
針を飲まされるよ

270:デフォルトの名無しさん
21/08/09 12:44:08.03 GX8oEfXz0.net
そういうのを信じてくれると
犯罪が減るからべつにいいけど
私は信じていないけど

271:デフォルトの名無しさん
21/08/09 21:13:44.03 gRn7tUgS0.net
人に迷惑をかけるのは悪い事
地獄に落ちないかもしれない
でも自分のことを棚に上げて
人に迷惑かけたら
地獄に行く
警察もヤクザも
怖くない
地獄は怖いよ

272:デフォルトの名無しさん
21/08/12 00:48:05.26 xG1RPqdX0.net
スクレイピングは逮捕される危険があるって聞いたんだけどマジ?

273:デフォルトの名無しさん
21/08/12 08:20:26.43 oGP6NDDs0.net
危険ならあるけど実際にどうかは個別案件によるんじゃね

274:デフォルトの名無しさん
21/08/12 09:52:15.39 e+dZJ+jE0.net
起訴・有罪までは滅多に行かんとは思うが
逮捕までならありえなくもない

275:デフォルトの名無しさん
21/08/12 13:43:21.85 Uyxv6qpU0.net
突然民事訴訟を起こされて
賠償金を要求されることは十分にあり得る

276:デフォルトの名無しさん
21/08/12 16:10:50.05 oGP6NDDs0.net
ネットだからまずは開示請求からだね
「突然」賠償請求はない

277:デフォルトの名無しさん
21/08/12 16:42:48.35 NvgIkHB7M.net
受ける方からしたら突然賠償請求だろ
開示請求なんて直接は来ないよね

278:デフォルトの名無しさん
21/08/12 16:50:15.85 drSdi1s70.net
逮捕も賠償も怖くない
地獄へ行くのが怖い
でも地獄へは行かないかもしれない
でも自分のことを棚に上げて
人の嫌がる事ばかりしてると
地獄へ行く

279:デフォルトの名無しさん
21/08/13 01:45:34.20 kzYHP2KN0.net
じゃあrobots.txtを遵守していればスクレイピングしてもOKなんですね?

280:デフォルトの名無しさん
21/08/13 02:19:03.50 BSEOqpqJ0.net
他者に被害を主張されたらトラブルになる可能性がある。
それだけ。
いいこともそうでないことも、両方ある。
他人に聞いてもムダ。

281:デフォルトの名無しさん
21/08/13 09:28:36.17 eq2Tc8oG0.net
>>277
開示請求は裁判所を通してプロバイダに請求が行くんだけど
プロバイダは顧客である「受ける方」に無断で開示は通常しないで
まずは開示を許可するかを「受ける方」に訊いてくる
だからその段階でなにか事が進んでいるんだなということはバレる
あくまで「突然」賠償請求が来るなんてことはない

282:デフォルトの名無しさん
21/08/13 09:32:36.58 eq2Tc8oG0.net
ネットに限らず相手の素性もわからないのに突然賠償請求なんてできやしない
まずは相手方の特定から始めないとどうにもできない
たとえば道歩いていていきなり殴られて怪我しても
相手がどこの誰なのかがわからなければどうしようもない
警察沙汰にして警察が相手の素性を教えてくれればなんとかなるが
教えてくれなければ泣き寝入りよ
ネットはいわゆる「足がつく」状態だから開示請求かければなんとかなる可能性が高いだけ
いきなり賠償請求できない点はオンもオフも何も変わらない

283:デフォルトの名無しさん
21/08/13 09:34:43.40 eq2Tc8oG0.net
あらかじめ一定の社会的関係に入っている間柄なら別よ?
たとえば会社でセクハラされた・モラハラされた
そんな話だったら「突然」賠償請求は来るさ
そうなじゃなくてネット上でまったく関係ない素性も知れない第三者に損賠請求とか
「突然」できるわけがないだろうが

284:デフォルトの名無しさん
21/08/13 23:24:19.38 1DHqOLSr0.net
Rubyの開発ではglibは使われてますか?

285:デフォルトの名無しさん
21/08/18 05:53:03.10 yThqaD4x0.net
glib2と連携するGemがあるぐらいだから、
使われてると思うよ。

286:デフォルトの名無しさん
21/08/30 19:49:51.62 CW7ccSgo0.net
警察も検察も被告になることも怖くない
でも地獄は怖い
迷惑かけるだけなら
地獄へ行かないかもしれない
でも自分のことを棚に上げたら
地獄行き

287:デフォルトの名無しさん
21/08/30 21:27:50.25 Cj0Y+5WJ0.net
>>286
どんな理屈や!w

288:デフォルトの名無しさん
21/09/09 01:33:06.63 DPdnZbQ70.net
だめだ
また自分のことを棚に上げて
他人に説教
してしまってる
そんなに地獄に落ちたいのか

289:デフォルトの名無しさん
21/09/10 23:29:53.30 VnjRnmAy0.net
自分のことを棚に上げて
また人に迷惑かけてる
地獄へ落ちるよ

290:デフォルトの名無しさん
21/09/11 01:42:22.44 Vndiun780.net
その理屈やと、おまえが地獄に落ちるで!

291:デフォルトの名無しさん
21/09/11 16:37:37.06 QpCgqUja0.net
rubyって宗教色が強いんだな。

292:デフォルトの名無しさん
21/09/11 16:46:51.58 Ewyyihq/0.net
作者がモルモン教だからな

293:デフォルトの名無しさん
21/09/15 02:39:42.52 7Lql01au0.net
人の嫌がる事ばかりする
自分のことは棚に上げる
警察もヤクザも怖くない
地獄はある
地獄は怖い

294:デフォルトの名無しさん
21/09/15 19:07:23.60 0q0CE+HI0.net
スクレイピングすると地獄へ落ちるって本当ですか?

295:デフォルトの名無しさん
21/09/15 19:39:53.02 /dXe9qzn0.net
地獄に落ちたことのある奴に聞け。

296:デフォルトの名無しさん
21/09/15 20:36:57.26 BDtg+sEir.net
地獄は超暑かったぞ
それでも真夏の都心よりマシだが

297:デフォルトの名無しさん
21/09/18 03:38:03.71 YPBxfQEw0.net
スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります

298:デフォルトの名無しさん
21/09/18 03:44:47.50 VuuEM7MI0.net
あるわけねえやろ!w

299:デフォルトの名無しさん
21/09/18 08:03:58.41 r9kwg+sT0.net
5年分の過去分は一度取得すれば良いだけなのであれば待ち処理入れつつやれば問題ないと思う
仕事であるスポーツ連盟のホームページを20分おきにスクレイピングしてる
これは確認して許可取ってるけど。

300:デフォルトの名無しさん
21/09/18 16:38:53.47 1jv0Ew7Ba.net
Rubyはgetsでコマンドプロンプトの入力を受け取れますが、
入力方法をbashのようにできないでしょうか。
上キーを押すとコマンドが再表示される等です。

301:デフォルトの名無しさん
21/09/18 16:58:05.98 XeK+rYrj0.net
>>300
URLリンク(docs.ruby-lang.org)

302:デフォルトの名無しさん
21/09/18 18:14:06.76 J85RgKD50.net
頭のおかしい人に以下のようなことを言われました
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください

>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?

303:ハノン
21/09/18 19:46:07.33 /DXMasS60.net
マルチポスト禁止、クロスポスト推奨
というのは、遠い昔 fj でのルールではありましたが 2ch/5ch では無意味ですね、だってクロスポストできないし

304:デフォルトの名無しさん
21/09/18 20:35:36.57 VuuEM7MI0.net
>>303
だからマルポは?
できないのはクロポなんやろ?

305:ハノン
21/09/19 00:20:00.12 QR0Sxfu+0.net
>>304
回避方法がないのに一方的にマルチポストを避難するのはフェアではないと思いませんか?

306:デフォルトの名無しさん
21/09/19 02:58:23.74 y7Uebvof0.net
自分のことを棚に上げて
正義面するから
罰が当たったのかも
しれない
でも現世の罰は
怖くない
地獄へ落ちるのは怖い
地獄は怖いよ

307:デフォルトの名無しさん
21/09/19 11:25:51.22 69z175Yv0.net
>>305
クソみたいな詭弁に意味はない。

308:デフォルトの名無しさん
21/09/19 12:38:01.81 /yxUr6Cya.net
ついでに肝心要なパケットは欠損させておくと尚良し

309:デフォルトの名無しさん
21/09/19 22:18:51.00 BpRp3Dad0.net
>>301
超サンクス

310:デフォルトの名無しさん
21/09/21 18:45:09.80 0Go6zndF0.net
テキストファイルの処理で、段落ごとに時間のかかる作業(数時間単位)を回してるのだけど
その対象のテキストファイル(data.txt)は処理中に追加で内容を追記していくようになっている
def func()
# (ここにすごく時間のかかる処理)
end
f=File.open("data.txt", 'r:UTF-8'){|f|
f.each_line(rs=""){|l|
func()
}
}
ここで、f.each_lineの処理って、関数funcを実行している最中は次のループに行かないはずだよね?
動かしていて、どうも先読みしているような挙動を示しているのだけど、funcの処理が終わるまでは
先読みしないように指定ってできる?
たとえばテキストの内容が
A
B
C
となっていて、段落Aの処理中にBとかCの内容に手を加えたり、新たにDという内容を末尾に加えたりしたい
でも、どうもタイミングによって、最初Aだけだった内容でAを処理中にBを加えた時点ではすでに先読みしてて
Bの処理を飛ばして、それより時間的にも位置的にも後に追加したCの処理をしたり、あるいはCも飛ばして
Dを処理したりしてるような
このあたりのファイルポインタの動きを説明してある情報源はない?

311:デフォルトの名無しさん
21/09/21 19:08:28.98 SK/JWtta0.net
先読みバッファの都合でそうなることもあんのかね。知らんけど。
読むタイミングで、tellの結果にseekしたらええかも?f.seek(f.tell())みたいに。
あるいは、バッファを無効にするか。ただし、これは勧めない。テストならばまあ。
情報というか、その手の高レベルなファイル関連関数は、高速化のために裏でバッファを活用してるので、その挙動を想像すれば。

312:デフォルトの名無しさん
21/09/21 22:56:27.09 0Go6zndF0.net
>>311
バッファ無効にするのにsyncなんてメソッドがあるのですね
テストみたいなもんなんでこれ使ってやってみます!
ありがとうございました

313:デフォルトの名無しさん
21/09/22 12:23:29.69 wRl+SBDi0.net
>>312
もっかい言うけど、バッファ無効はほどほどにな。
ストレージがすり減るぞ。

314:デフォルトの名無しさん
21/09/23 12:52:09.43 7tGJmFKPF.net
rubyのglobってなんでこの名前なんですか?語源というか理由は?

315:デフォルトの名無しさん
21/09/23 12:53:36.67 7tGJmFKPF.net
>>313
SSDの方が寿命速い説?

316:デフォルトの名無しさん
21/09/23 13:39:57.36 sOtSHC530.net
>>314
書き込む前にググれ!
URLリンク(ja.wikipedia.org)

317:デフォルトの名無しさん
21/09/23 14:17:52.01 FwYHDvYwF.net
xargs にすれば良かった

318:デフォルトの名無しさん
21/09/26 02:01:31.29 a7XkizLe0.net
人に迷惑をかけるのはしょうがない
でも
自分のことを棚にあげたら
地獄だよ

319:デフォルトの名無しさん
21/09/26 22:14:40.89 5RNiLxHe0.net
>>310
基本的に、読み込み用ファイルに書き込まないようにすべき。
io.seek で使う、ファイルポインターがずれる
例えば、配列でも同じ。
読み込み用配列を読み込みながら、
読み込み要素の前後に、要素を追加・削除すると、要素がずれるのでバグる
基本、同一ファイルじゃなく、入力用・出力用の2つが必要。
それか、データベースでやるとか
シェルスクリプトとか、関数型のElixir のパイプラインみたいに、
元のファイルを更新せずに、次々と出力ファイルを新規作成していくべき
処理A | B | C
他には、処理を分けられるなら、分けた方がよい
普通、バッファリング無しのモードは、
ユーザーの入力を待つような場合に、端末で使うもの。
こういうバックグラウンド処理では使わない
例えば、1回のシステムコールで、1000バイトの読み書きできるのに、
バッファリング無しなら、1000回もシステムコールを呼ぶから、処理時間が千倍になる
バッファリングとは、システムコールする回数を減らすために、
ある程度データが溜まるのを待ってから、処理を行うものだから

320:デフォルトの名無しさん
21/09/26 23:33:39.09 6v1pd5GW0.net
余計なお世話や。w
ほっといたれ。

321:デフォルトの名無しさん
21/09/28 14:07:16.12 yeB6oI220.net
ファイルパスから簡単に、ディレクトリ名だけを取り出す方法がありますか?
今は、下のようにやっています
file_path = "C:/Users/Owner/Documents/test/a.txt"
p dir_path = File.dirname( file_path ) # ディレクトリパスを取り出す
#=> "C:/Users/Owner/Documents/test"
p dir_name = File.basename( dir_path )
#=> "test"

322:デフォルトの名無しさん
21/09/28 14:19:10.90 nD0g4rLvF.net
file_path = "C:/Users/Owner/Documents/baka.test/a.txt"

323:デフォルトの名無しさん
21/09/28 14:44:05.17 zeEpbK0KM.net
>>321
必要充分だと思うがなあ。
自分でメソッドにくくりだすくらいやないの?
どうしても圧縮したいなら、text.sub(%r{.*/(.*)/.*}){$1}とか?
未確認。ワイならやらん。w

324:デフォルトの名無しさん
21/09/28 16:33:03.83 WAJRktfF0.net
>>321
標準添付ライブラリの pathname

325:デフォルトの名無しさん
21/09/30 20:28:46.68 AJpnjzaB0.net
rubyだけdistrolessイメージない
なんでハブられてるの?
Googleはruby嫌いなの?
URLリンク(github.com)

326:デフォルトの名無しさん
21/09/30 20:37:22.69 I7uygAb2M.net
Google社内ではRubyの使用が許可されていない
当然だよね

327:デフォルトの名無しさん
21/09/30 20:40:38.51 BaUXpZJur.net
>>326
googleって言っても一枚岩じゃないからそれは完全に間違い

328:デフォルトの名無しさん
21/09/30 21:14:17.31 eVTcYnny0.net
バージョン互換の低さ、信頼性の低さを考えたら、プロジェクトとして使いにくいっつーのはあるやろな。

329:デフォルトの名無しさん
21/09/30 22:37:54.54 Q+Yf9LrK0.net
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw

330:デフォルトの名無しさん
21/10/01 04:21:27.55 YSb3+a7ia.net
>バージョン互換の低さ、信頼性の低さを考えたら、プロジェクトとして使いにくい
googleのAPIのことですか?

331:デフォルトの名無しさん
21/10/01 09:11:32.55 Bf6uh555M.net
プログラミング言語のシェア的にはdistroless対応の優先順位は極めて妥当
残念だけどもう昔のような人気言語じゃないんだよ、、、
URLリンク(insights.stackoverflow.com)

332:デフォルトの名無しさん
21/10/01 10:15:08.94 8GSBOhv80.net
>>330
自分に甘くて、他人に厳しいのはあたりまえやろ。w
おまえは違うのか?

333:デフォルトの名無しさん
21/10/01 10:34:29.22 PaEGpo5A0.net
AWS Lambda には、Ruby もある
Chef, Cookpad 製のItamae, AWS CloudFormation のKumogata2 もある。
まあ、Terraform のシェアが高くなったけど
Vagrant の作者・ワシントン大学の学生で、今世紀最大の起業家・
HashiCorp の創業者・Ruby/Go の神・Mitchell Hashimoto も、
今は、Goへ行ってしまった
Goプログラマーを募集中
YouTube で有名な、雑食系エンジニア・KENTA のサロンでも、
Ruby on Rails → Go のキャリアパスを推奨している
PHP は、一生やらなくても良い。
新規の仕事が無いから、給料が上がらない。
保守要員は、給料が低いから
KENTAは常に、給料が高い新規プロジェクトを推奨している

334:デフォルトの名無しさん
21/10/10 15:27:42.39 QuuYHTx70.net
pp dmy={"VERSION"=>RUBY_VERSION, "ARGV"=>ARGV, "Dir.pwd"=>Dir.pwd}
でdmy=を消すと
Dir.pwdの . でエラーになっちゃうんですけど
syntax error, unexpected '.', expecting `end'
pp(puts)+hashのリテラルでうまい書き方ないんですか

335:デフォルトの名無しさん
21/10/10 16:08:30.52 2mgB061S0.net
>>334
ブロックとして解釈されてエラーになるので
puts({a: “a”})みたいに括弧でくくる

336:デフォルトの名無しさん
21/10/10 16:45:12.39 QuuYHTx70.net
>>335
エラーの意味が理解できました
ありがとうございます

337:デフォルトの名無しさん
21/10/10 18:30:23.02 bTjCEmsH0.net
classが全く理解できない。1日掛けても理解できない。俺は向いてないのか。。。

338:デフォルトの名無しさん
21/10/10 20:30:34.61 osHZfZYe0.net
Rubyのclassはそれ自身がオブジェクトだからねえ。

339:デフォルトの名無しさん
21/10/10 20:55:11.50 lB7MFpHR0.net
クラスの型紙を元に実体化させたものが、インスタンス。
クラス自体を変化させたものが、特異クラス
ここで、インスタンスと特異クラスの継承チェーンを考えてみる
最終的にメソッド探索チェーンは、直線になる必要がある。
それで継承チェーンに、インスタンスと特異クラスが順序よく割り込んでくる
インスタンスに無ければ、特異クラスで探す。
特異クラスにも無ければ、継承チェーンを遡って、親クラスのインスタンスで探す。
そこでも見つからなければ、親クラスの特異クラスで探す
みたいに、継承チェーンをドンドン遡っていく

340:デフォルトの名無しさん
21/10/10 20:56:55.24 Liv3MhTX0.net
ムリに「理解」しようとしてるからちゃうか。
あちこちのソースを適当に読んでたら、いずれスッと腑に落ちるときがくるやろ。

341:デフォルトの名無しさん
21/10/10 20:59:01.10 Liv3MhTX0.net
>>339
こういうふうに、知らない言葉と知らない概念をおっかけて「理解」しようとするのは、素養がなければツラかろう。
最初はとくに適当でええんや。

342:デフォルトの名無しさん
21/10/10 21:36:30.35 kKlMir+m0.net
338と339は新人が来てもこの調子なんだろうなぁ

343:デフォルトの名無しさん
21/10/10 22:52:57.48 fsOtTZslM.net
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw

344:デフォルトの名無しさん
21/10/12 00:48:53.92 Ihqyo7Sc0.net
地獄は怖いよ

345:デフォルトの名無しさん
21/10/20 02:49:58.32 7Ch1Hu5l0.net
スクレイピングに興味があるのですが1時間に1回の頻度のGETだけで訴えられる危険があるって本当ですか?

346:デフォルトの名無しさん
21/10/20 03:46:34.01 gq1XFNWx0.net
はい

347:デフォルトの名無しさん
21/10/24 12:07:05.65 xDtz/yW60.net
「Ruby」という商標についてなんですが
Rubyは同名の商標が多数登録されていますが、問題になった話を聞いたことがありません
他の言語も同様です
なぜ問題にならないんですか?

348:デフォルトの名無しさん
21/10/24 12:08:05.01 vH+4cvxG0.net
はい

349:デフォルトの名無しさん
21/10/24 15:50:39.91 TxsSkV/ar.net
区分が違うからだろ

350:デフォルトの名無しさん
21/10/25 21:56:04.74 b+7kI3n60.net
スクレイピングに興味があるのですがrobots.txtを守っていても訴えられる危険があるって本当ですか?

351:デフォルトの名無しさん
21/10/25 23:56:18.76 1eqHtBhs0.net
訴えられる危険はいつでもどこでもある。
道を歩いていても、家の中にいても。

352:デフォルトの名無しさん
21/10/26 02:13:44.51 XIgoRovQ0.net
>>350
上級者になってからやらないと危険だよ
初心者がよくわからないままやるとサービス妨害になる可能性はまあまあある

353:ハノン
21/10/29 21:42:34.32 TYU6SVP40.net
>>352
サービス提供側に原因があるというのにサービス妨害とはこれいかに?

354:デフォルトの名無しさん
21/11/06 19:23:11.48 NiwSrOA00.net
>>297
リブラハック事件を念頭に置いて居るのだと思います。
法的リスクを回避する方法はありません。
事業を行うのであれば、あるいは人生を送る以上法的リスクは常にあります。
入門書に記載出来る話ではないです。
リブラハック事件は、不起訴処分となってますが、20日間の勾留となりました。
余談ですが、旧7帝大卒、上場企業所属の場合、余程のことがない限り法的リスクは回避できます。

355:デフォルトの名無しさん
21/11/06 19:27:41.07 NiwSrOA00.net
>>350
中小企業で知財を担当してますが、常に訴訟してます。
業務妨害罪で争ったことはありませんが、模造品による損害賠償事件はチョッ中です。

356:デフォルトの名無しさん
21/11/06 19:31:11.06 NiwSrOA00.net
>>355
ちなみに、事件ばかり担当すると会社の仕事は超楽です。
裁判期日は多くても2ヶ月に1回だからです。
社内では、暇なおじさんと思われてます。
だから、プログラミング好きには知財は天国です。
まあ、会社によるのかもしれません。

357:デフォルトの名無しさん
21/11/19 07:32:40.55 UZar/UR10.net
Ruby on Rails 製のGitLab の時価総額が、1.9 兆円だって!

358:デフォルトの名無しさん
21/11/19 10:13:01.84 eyeX0xyMF.net
なるほどおめでとう
URLリンク(gitlab.com)

359:デフォルトの名無しさん
21/12/07 11:50:44.28 sVKUttQ/0.net
ガチでヌーブなんですけどrequestsとbeautifulsoupでスクレイピングやってます
waitかけないとバンされるよと言われましたがどうすればいいですか?
requests.get()でtimeoutは今書きましたがforで同じサイトの似たようなページに何度もアクセスするのでサーバーへの負荷はすごいと思います
これに対してどうすればいいですか?

360:デフォルトの名無しさん
21/12/07 15:28:09.99 m3nJJ9T10.net
waiteかければ十分だと思うよ

361:デフォルトの名無しさん
21/12/07 23:29:07.13 JKy0RWKD0.net
botからのアクセスはどこのサイトも来まくってるから、スクレイピングを気にするかは分からないけど、
waitを5秒とかいれとけば。
クレカ明細をスクレイピングしようとしてたら403になって数時間アクセス出来なくなったよ

362:デフォルトの名無しさん
21/12/17 21:31:46.70 tWB5K5S10.net
David Heinemeier Hansson(DHH), 2021/12/16
Rails 7: The Demo
URLリンク(www.youtube.com)
もう、Rails 7.0.0.rc1 か。
Ruby 3.0.3

363:デフォルトの名無しさん
21/12/26 19:54:32.13 gUkCfD0ur.net
Happy Christmas!!
Ruby 3.1.0 Released
URLリンク(www.ruby-lang.org)

364:デフォルトの名無しさん
22/01/09 01:26:06.08 wKoMs7Y50.net
そいつは、>1 のテンプレをしょっちゅう改変している、テンプレ改変荒らし。
基本的に、ソースコードを書かない香具師は荒らし
「Ruby, Rails, クソチョン」などを、NGワード登録推奨とか、
自分が有利なように、いつもテンプレを改変する
荒らしがスレ主として、居座っているので、
まともな人がスレ立てして、テンプレも元に戻した方がよい
荒らしは必ず、短文で2回以上書き込む。
必ず、複数人がいるように見せかける

365:デフォルトの名無しさん
22/01/10 00:21:27.01 MINWORCd0.net
スレ立てるまでもない質問はここで 158匹目
スレリンク(tech板:538番)
ここに、YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
Ruby on Rails 初心者用コースの内容を書いておいた
基本的に、Rails以外のフレームワークは、シェアが少ないのでおすすめしない。
学習環境も揃わないので、無理
Railsでは、Railsチュートリアル・Railsガイド・
黒田努の3冊の本・パーフェクト Ruby on Rails・Ruby on Rails 6 エンジニア養成読本とか、
Rubyでは、改訂2版 パーフェクトRuby・改訂2版 Ruby逆引きハンドブックなどの教科書が揃っている
これほど、良い教科書が揃っているフレームワークはない!
Laravel のシェアは少しあるけど、KENTAがPHP は一生やる必要がないと言ったので、
PHP自体がオワコンになってしまったw
日本のウェブ開発の将来は、ほぼKENTAが決めている。
Scala を滅ぼしたのも、KENTA

366:デフォルトの名無しさん
22/01/13 11:23:57.64 hewkBnV10.net
wxrubyのインストールができません。
gem install wxrubyコマンドで
ERROR: Could not find a valid gem 'wxruby' (>= 0) in any repository
と出てインストールできないです。
バージョンはruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x64-mingw-ucrt]

367:デフォルトの名無しさん
22/01/13 12:13:19.79 /N9d9IBk0.net
% gem sources -l
*** CURRENT SOURCES ***
URLリンク(rubygems.org)
となる?
あとほんとにbundler経由でなくていいのか再考してみて

368:デフォルトの名無しさん
22/01/13 13:32:13.20 hewkBnV10.net
>>367
>となる?
なります。

369:デフォルトの名無しさん
22/01/13 14:14:29.91 /N9d9IBk0.net
じゃあわからん
$ gem update --system
して更新がもしあれば治るかも

370:デフォルトの名無しさん
22/01/13 15:06:21.76 ah8E1hap0.net
>>366
wxrubyがいつのRubyのときに開発されていたか調べましたか?
wxrubyがいまのRuby 3.1.0p0で動くと思いますか?

371:デフォルトの名無しさん
22/01/13 18:29:42.26 hewkBnV10.net
>>370
そうなんですか。
tk使います。

372:デフォルトの名無しさん
22/01/13 18:36:09.58 Eko2QLhP0.net
知らんがな、っつー話やけどな。w
互換性のなさはなんとかならんのか。

373:デフォルトの名無しさん
22/01/13 19:22:50.06 ah8E1hap0.net
主に使おうとする道具の状態を確認しないのですか?
切れないハサミで紙を切ろうとするのですか?
どうしてもwxrubyを使うなら、せめてrbenvでも良いのでwxrubyが確実に動きそうなruby環境(Ruby 1.9.xぐらい)を用意したほうが賢明です。
あるいは、自分でwxWidgetsをRuby 3.xで動くように頑張ってbindingするか。
ちなみに、わたしはメンドクサクなって、wxWidgetsのcoreなところをRuby 2.7ぐらいでportingしている途中で放置したままです。

374:デフォルトの名無しさん
22/01/15 13:46:06.28 Bc4m3wjx0.net
nokogiriでスクレイピングしようとしていたら
逮捕されるかもしれないと言われましたが
本当でしょうか?

375:デフォルトの名無しさん
22/01/15 13:51:05.48 lPS6H26+r.net
「かもしれない」という事であれば回答はYesでしょう
まあ質問自体馬鹿げてるが

376:デフォルトの名無しさん
22/01/15 13:55:29.58 fqPeqqWL0.net
>>374
本当“かもしれない”ですね

377:デフォルトの名無しさん
22/01/29 18:54:02.82 NEea/ouUa.net
>>374
かつて 岡崎市立中央図書館事件 という悲劇があったのだよ
いまならこんなあほな事態は発声しないんじゃないかな、だったらいいな……

378:デフォルトの名無しさん
22/02/01 11:03:45.45 erVefguva.net
Webrick 1.7.0 でドキュメントと異なった動作と、RFCで推奨されない通信が行われた場合にIOタイムアウトまで動作停止する問題を
発見しました(対処方法も特定済み)
報告方法どなたかご存じでしょうか?

379:デフォルトの名無しさん
22/02/01 15:03:45.59 nkHg0hKwa.net
>>374
スクレイピングに限らず、プログラムを動かす事による
アクセス回数と通信容量は気を付けたほうが良いよ
2chみたいにそれが多すぎたらしっかりとアク禁したり弾いたりしてくれるところはまだいいけど
無対策なサイトで管理人が対応できない人だったりすれば
プログラムによるアクセス制限の対応じゃなく法的な対応はありえる

380:デフォルトの名無しさん
22/02/01 16:13:06.79 UfZW0QsA0.net
>>379
どこかの某県図書館だな
結局、アレは業者がアレだったな

381:デフォルトの名無しさん
22/02/01 17:31:37.91 zzLecfCS0.net
>>378
こんなとこで聞くことやないやろ!w
こういうとこのが?
URLリンク(www.ruby-lang.org)

382:デフォルトの名無しさん
22/02/01 20:03:07.20 TQ6+L4kbr.net
>>378
協力よろしくお願いします
URLリンク(bugs.ruby-lang.org)

383:デフォルトの名無しさん
22/02/05 20:00:16.41 lkKOvV4nM.net
[1,2,3].each{ |i|
next i>2
}
がエラーにならずなかなか原因がわからなかった
正解は
[1,2,3].each{ |i|
next if i>2
}

384:デフォルトの名無しさん
22/02/06 02:49:25.03 wRRLv8q1a.net
>>383
next(exit_value)
break(exit_value)
という構文があって、実行された時のブロックの戻り値が指定した引数の値になる
loop{ break }
=> nil
loop{ break 10 }
=> 10
[1,2,3,4].map do |num|
next 'even' if num.even?
num
end
=> [1, "even", 3, "even"]

385:デフォルトの名無しさん
22/02/07 15:54:59.83 UFoAEHlFM.net
>>384
ありがとうございました、なるほどでした
nextに戻り値は想定外で、別の原因を探していました

386:デフォルトの名無しさん
22/02/08 00:35:57.80 rEpsZFEq0.net
ほ~、知らんかった

387:デフォルトの名無しさん
22/02/11 05:43:01.01 kL9RKZ580.net
nokogiriでhtmlパースをしようと触っているのですが、
DOMの子要素から絞り込みはできないのでしょうか
document.xpath('//div[@class="main"]').each |node|
node.css('div')
↑これだとclass=mainの子要素全体が取れるのですが
node.xpath('//div[@class="target"]')
↑これだとDOM全体から取ってきてしまいます
node.search('//div[@class="target"]')
↑これも同様でした

388:デフォルトの名無しさん
22/02/11 07:45:27.90 3E0z2JyYr.net
>>387
node.xpath('.//div[@class="target"]')
node.search('.//div[@class="target"]')

389:デフォルトの名無しさん
22/02/11 07:51:20.39 tPFLgtIg0.net
XPathの仕様みるのが先やん
URLリンク(triple-underscore.github.io)

390:デフォルトの名無しさん
22/02/11 08:15:17.26 kL9RKZ580.net
>>388
取れました!ありがとうございます!
>>389
XMLパスという仕様書があるのですね
初めて知りました
リンク先まで教えていただきありがとうございます!

391:デフォルトの名無しさん
22/02/11 15:10:34.09 901NTZe+0.net
一旦、ある要素を取得してから、その子孫要素に限定して、
さらに要素を取得していく事もできる
一旦、div.x を取得してから、その子孫内のdiv を取得する
doc = Nokogiri::HTML( <<EOT )
<html><body>
<div class="x"><div class="y"><div class="z"></div></div></div>
<div class="x"><div class="a"></div></div>
</body></html>
EOT
doc.xpath( '//div[@class="x"]' ).each do |x|
x.css( 'div' ).each do |div|
puts div.get_attribute( 'class' )
end
end
出力
y
z
a

392:デフォルトの名無しさん
22/02/11 15:21:30.61 fEekYUc10.net
あーあ、やっちゃったね
スクレイピングに手を出したら逮捕されるよ
nokogiriもアンインストールしたほうがいい

393:391
22/02/11 18:40:27.30 901NTZe+0.net
XPath よりも、CSS Selector の方が可読性も高く、簡単。
XPathを使う事は、ほぼ無い
ある属性を持った要素の親要素を取得するとか、かなり複雑なケースに限定される

394:デフォルトの名無しさん
22/03/08 08:30:39.25 uRRrzdTb0.net
配列内の要素の出現回数を求める
ary = [ 1, "a", 2, "b", "a", 1, "a" ]
p results = ary.each_with_object( Hash.new( 0 ) ){ |elem, hash| hash[ elem ] += 1 }
#=> { 1=>2, "a"=>3, 2=>1, "b"=>1 }
Ruby には、下のPython のcollections.Counter みたいな関数がありますか?
import collections
l = ['a', 'a', 'a', 'a', 'b', 'c', 'c']
c = collections.Counter(l)
print(c)
#=> Counter({'a': 4, 'c': 2, 'b': 1})
Rubyで、誰かが作ったものはあるけど
URLリンク(gist.github.com)

395:デフォルトの名無しさん
22/03/08 08:39:01.42 rK542qf7r.net
>>394
ない。
できてこんなもん。
ary.uniq.group_by{|i|ary.count i}
=> {2=>[1], 3=>["a"], 1=>[2, "b"]}

396:デフォルトの名無しさん
22/03/08 11:58:05.39 yCGAKR370.net
愚直に書くと
ary.group_by(&:itself).transform_values(&:size)
=> {1=>2, "a"=>3, 2=>1, "b"=>1}

397:デフォルトの名無しさん
22/03/08 13:18:13.38 4udJjeRKM.net
each_with_objectのほうが少しシンプルだけど
他の言語だと使えないからreduce使ってる
uniqとかgroupbyはやや効率悪い気がする

398:デフォルトの名無しさん
22/03/09 01:16:31.71 bFH5rQfw0.net
tally
URLリンク(docs.ruby-lang.org)

399:デフォルトの名無しさん
22/03/09 05:08:13.88 xyP8cJI4a.net
[1, "a", 2, "b", "a", 1, "a"].tally
=> {1=>2, "a"=>3, 2=>1, "b"=>1}
ほ~

400:デフォルトの名無しさん
22/03/09 06:45:20.85 ld7hWZ5w0.net
美しい

401:デフォルトの名無しさん (スップ Sd7f-QrL3)
22/05/01 18:29:19 hArhlqjHd.net
rails6、ruby2.7を利用しています。
アクセスしてきたリクエストURLのパラメータに「#」が付いた際、paramsにパラメータが含まれてこないのですが、
この内容を取得するにはどうすれば良いでしょうか?

402:デフォルトの名無しさん
22/05/01 21:32:54.31 hYMTL+9l0.net
ムリ。
サーバーには渡されない。

403:デフォルトの名無しさん
22/05/01 22:05:48.29 AIbUDPzi0.net
HTTPリクエストには乗らないけど
ブラウザ上のJSではハンドリングできるからそれで連携可

404:デフォルトの名無しさん (スップ Sd7f-QrL3)
22/05/02 00:21:18 tduJ9vUQd.net
ありがとうございます!
ハッシュは取れないのですね…
JSでハンドリングしてみます。

405:デフォルトの名無しさん
22/05/10 02:36:19.66 lerz5rr1M.net
JavaScriptのようにPythonコードをHTML内に記述して実行できる「PyScript」 Anacondaがオープンソースで公開
URLリンク(www.itmedia.co.jp)
rbScriptも技術的に可能でしょう、だそうです

406:デフォルトの名無しさん
22/05/10 07:09:23.20 4KKJ8JThr.net
可能も何も既存なんだが

407:デフォルトの名無しさん (ワントンキン MM86-3X6i)
22/05/25 19:57:04 iXIMMJncM.net
rubyが1番初心者向け?

408:デフォルトの名無しさん
22/05/25 20:27:04.41 nspShIcld.net
JavaScriptだろうな
Rubyは人気急落中で既存のRailsアプリのメンテくらいにしか使われなくなっているから今から入るのはお勧めできない

409:デフォルトの名無しさん
22/05/27 01:56:43.24 o8IZTGHvr.net
webアプリ初心者にはrailsがオススメな反面ruby自体は全く初心者にオススメできないクソ言語

410:デフォルトの名無しさん
22/05/27 11:29:28.44 5IS2i0qw0.net
>>409
PythonとくにPython3よりも、Rubyのほうがええと思うけど?
といいつつも、仕事でTypeScriptばっかり、Railsもわずかにやっとるけど

411:デフォルトの名無しさん (ワッチョイ 7966-W53T)
22/05/29 08:45:02 5LPeOORh0.net
JavaScriptって初心者にほんとに勧めて良いものだろうか。

412:デフォルトの名無しさん
22/05/29 16:29:01.89 89z2cDQI0.net
フリーランス向けエージェント「クラウドテック」会員数8万人突破
~働きやすい環境構築のため、単価向上・全年齢の活躍の場創出・
地方企業のDX推進の取り組みを強化します~
フリーランスエンジニア専門の案件一括検索サイト「フリーランススタート」、
累計掲載案件数25万件突破!リモートワークの累計掲載案件数35,000件突破!
新規人材の80%がフルリモート希望! IT人材市況動向レポート2021年12月版を公開
人口移動報告 家賃高い、首都圏脱出 「コロナ禍、仕事フルリモート」
クラウドテック、地方企業向け『クラウドテックDX』を開始、
7万人を超えるDX人材が、地方の非IT企業のDX推進を支援
新潟県、移住してきたテレワーカー/フリーランスに最大50万円を支給
テレワークの一般化により、11月にはテレワーク可能案件83.7%へと増加。
2021年、フリーランスのトレンドは「移住&テレワーク」と予測

413:デフォルトの名無しさん
22/05/29 16:29:25.82 89z2cDQI0.net
・フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、
“テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡
・リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、
 業務委託契約の求職者と企業をマッチング 
・1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の
 人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!
・『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル
・副業・兼業マッチングサービス「クラウドリンクス」登録者数2万人突破
 中小企業で進む副業人材の採用、96%が継続採用を希望
・フリーランスが活用できる「最大1,000~3,000万円・補助率50%~75%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
・茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金
・長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給

414:デフォルトの名無しさん
22/05/29 16:30:01.42 89z2cDQI0.net
【根拠あり】フリーランスエンジニアは年収862万円取れて普通という話【高収入】
【こんな僕が】フリーランスエンジニアで月収100万円を達成した5つの方法
ITフリーランスエンジニアの年収|会社員との違いや独立後の案件の取り方
月収90万のITフリーランスプログラマー・SEが選んでる在宅案件はこんな案件です
フリーランスの年収は平均いくら?年収1000万円以上の割合とは
2021年最新版 エンジニアの平均年収はいくら?全体平均と比べて○○円も高い!
【高すぎると不利】もっともコスパの良い年収は?「最適年収」3パターンについて解説
オリコ、ITフリーランス専用ゴールドカード「techcareer EX GOLD for Biz Card」を発行

415:デフォルトの名無しさん
22/05/30 08:49:29.66 +82mqA6e0.net
Rubyのcase文にはwhenの代わりにinを使う場合がありますか?
バージョンによって違うのでしょうか?

416:デフォルトの名無しさん
22/05/30 09:09:46.99 WMuSBVaoM.net
>>415
inはパターンマッチ

417:415 (ワッチョイ a136-v00t)
22/05/30 12:21:37 +82mqA6e0.net
>>416
どうもありがとう!
あれから更に調べていたらRubyのcase文には2種類あると説明している
ドキュメントに出遭いました。
1つがelsifを持つif文の代用で、もう1つがパターンマッチ(?)らしいですね。
Rubyは内部的に===を使うんだそうです。
ただしその場合もwhenが使われていたように思います。inと違うのでしょうか。

418:デフォルトの名無しさん
22/05/30 13:10:50.78 4ToCs4sv0.net
caseのパターンマッチは3.0で本採用されたのにマニュアルになくって
変更履歴とRedmineみないとわからんのが残念

419:デフォルトの名無しさん
22/05/30 18:55:58.59 Jfa9bHCo0.net
PythonてAI関係でデフォになってるのもあって持て囃されてるけど
初心者向きかというとインデントがあるのとかどうかなーとは思う
Rubyはそのへん柔軟でとっつきやすい感じはする
URLリンク(xtech.nikkei.com)

420:デフォルトの名無しさん
22/05/30 20:11:00.95 4ToCs4sv0.net
コロン忘れるってテキストで構造化文書(というほど大層なもんでもない)書いたことないんか
見出しにアンダーライン引くみたいに行末にコロン置いて区切りを表現する

421:デフォルトの名無しさん
22/05/30 21:52:06.42 PemXr08JM.net
>>418
日本語はメンテされてないの?
英語は普通にあるけど
URLリンク(docs.ruby-lang.org)

422:デフォルトの名無しさん (ワッチョイ 9363-9hOi)
22/05/30 22:30:52 4ToCs4sv0.net
英語はRDocからの自動生成なのか
メンテできないなら日本語マニュアルなんてやめて
英語版をベースに差し替えていけばええのに

423:415, 417
22/05/31 16:06:11.83 V5m5I4Ku0.net
パターンマッチはRuby 2.7以降にサポートされたらしいということが
分かりました。どうもありがとうございました。

424:デフォルトの名無しさん
22/06/01 15:12:54.29 UUUQnP9Va.net
>>408
JavaScriptは基本が非同期なのが初心者向けではないと思うんだ
開発環境の充実という点では悪くないとは思うけどね

425:デフォルトの名無しさん
22/06/01 15:29:30.51 xCSInqB6M.net
同意しない
一般に、JSの入門者にとって非同期プログラミングが必要になるのはバックエンドとの通信が出てきたところから
そこまでくると仮にRubyだったら当然Rails前提になるわけで、フロントからDBまで揃えないと動かないRailsよりはHTMLファイル一つから始められるJSの方が遥かに敷居が低い

426:デフォルトの名無しさん
22/06/01 17:11:02.82 P55vafmBM.net
>>425
JS始めるなら普通はWebのフロントエンドからなので非同期理解しないとまともなもの作れないよ
nodeでCLIから始める選択肢もあるがそっちもI/Oは非同期が基本だから同じこと
同期APIだけ学ばせるほうが効率悪い

427:デフォルトの名無しさん
22/06/01 18:34:53.07 brWfXIBXr.net
RubyもJavaScriptもどっちもやったらいいよ
対して難しくないんだし

428:デフォルトの名無しさん
22/06/03 09:08:23.67 7PIvgb9ja.net
確かに。
RubyとJSを組み合わせないとまともなページは作れないね。
両方知っておくのがいいと思う。

429:デフォルトの名無しさん
22/06/03 11:01:26.75 GhzoCoaEd.net
マジレスするとJSだけでいいけどな。
RubyとPythonは極端に習得容易だな。長所はそれだけ。遅過ぎて何やっても使えない。

430:デフォルトの名無しさん
22/06/03 11:58:42.03 tLDIaWEDr.net
遅過ぎって20年前の話してる?

431:デフォルトの名無しさん
22/06/03 12:00:42.89 vLJB7iu5d.net
JSの方が圧倒的に速いのは事実よ

432:デフォルトの名無しさん
22/06/03 12:10:21.65 DZf8XKyWM.net
>>429
じゃ極端に習得が容易なRubyやPythonのほうが初心者向けってことだよね

433:デフォルトの名無しさん
22/06/03 20:46:46.08 RZ3sCzwG0.net
習得が容易=初心者向きってのどうかと思うけどね

434:デフォルトの名無しさん
22/06/03 21:11:53.38 lhb1THTB0.net
特にPythonなんか、学位勝負みたいな言語だし

435:デフォルトの名無しさん
22/06/03 21:23:41.93 KQZoslqJr.net
じゃあ間を取ってLISPをやろう

436:デフォルトの名無しさん
22/06/03 21:26:35.99 NgQ/T7i/0.net
イエス!

437:デフォルトの名無しさん
22/06/03 21:59:02.39 vpEWwdrG0.net
lispは間にならんだろ。これだけはrubyやperlやPythonに比べて異世界の言語って気がする。

438:デフォルトの名無しさん (ワッチョイ 2b2c-QrQl)
22/06/03 23:17:41 gxOeTsOz0.net
YouTube で有名な、雑食系エンジニア・KENTA が言ってる。
初心者が、PHP のLaravel, Python のDjango をやっても転職できない

どの企業も適材適所だから、
Web サービスで、Rails ではなく、Laravel, Djangoを選んだ相当な理由がないと、
単なる調べる能力がない、自走力のない香具師とみなされるだけ

だから、Pythonで企業を圧倒するには、
大学院数学科とか、AWS Certified Machine Learning - Specialty・機械学習の資格がいる

一方、Railsは文系でもOK。
AWS Solutions Architect など、アソシエイト3冠を持っていれば最高峰。
米国年収で、最高同士の組合せ

PHPは、KENTAがオワコン認定したから終わった。
AWS Lambda のデフォルト言語にも採用されていない。
Rust, Elixir も採用されていないけど

デフォルトでは、Java, Go, Node.js, Python, Ruby
PowerShell, C# だけ

YouTube で有名な、くろかわこうへいのAWS 入門書も出ている。
サロン内の数十人で書いたみたい

439:デフォルトの名無しさん
22/06/04 13:15:30.73 rp2igMRS0.net
もう、Rubyは高卒を騙して金を巻き上げるだけの言語になっちまったな

440:デフォルトの名無しさん
22/06/04 13:16:10.83 rp2igMRS0.net
もう、Rubyは高卒を騙して金を巻き上げるだけの言語になっちまったな

441:デフォルトの名無しさん
22/06/21 23:37:08.26 ZyOv9ngt0.net
rubyそのものについてでなくて申し訳ないのですが質問させてください
業務系の書類まみれに疲れ果ててウェブの世界に飛び込むことを検討しています。C++だのC#だのばかりでウェブの経験が無いのでブートキャンプでも受けようかと調べました
すると割とrubyの採用率が高いように思われます。rubyをお使いの皆様としても今後将来性はあると実感されてますでしょうか

442:デフォルトの名無しさん
22/06/21 23:59:31.51 Hg0PvelR0.net
フレームワークのRailsはプロトタイピングに優れてるからスタートアップ向きだけど
まじめに保守するならカッチリした言語・フレームワークに乗り換えることになる
そう割り切ってつかうならあり

443:デフォルトの名無しさん
22/06/22 10:46:53.26 nSoHuNgQ0.net
実際に作ってみて、運用してみないと
分からない問題点があるからね
最初にかっちり決めてしまうと
修正するのがほぼ不可能になる

444:デフォルトの名無しさん
22/06/22 13:41:40.26 Mthm9vIkM.net
なんとなくだが>>441は概ね答えわかってて聞いてる気がする

445:デフォルトの名無しさん
22/06/22 14:01:02.66 HANAT9N20.net
なら、そのなんとなく分かってる答えを答えてみて

446:デフォルトの名無しさん
22/06/22 14:10:12.91 wWAsFcPvM.net
無しで

447:デフォルトの名無しさん
22/06/22 14:53:28.86 RB9PJOboM.net
女のどう思う?はもう答えてほしい事が決まっていると言うからなw

448:デフォルトの名無しさん
22/06/22 18:45:23.01 iF6LFzOMr.net


449:デフォルトの名無しさん
22/06/22 19:54:36.81 JTF7oH6k0.net
将来性に期待して今から始めるんはナシやろ。
最悪捨てることになっても可、つうことならアリ。

450:デフォルトの名無しさん
22/06/22 20:05:40.08 s8G+2Dhi0.net
色々参考になりました。
とりあえず仮に通うにしても就職先では別の言語を使う可能性が高いと考えておきます

451:デフォルトの名無しさん
22/06/25 15:23:21.02 bxGPQhaPM.net
開発言語で縛らないほうが良い採用できる感ある

452:デフォルトの名無しさん
22/06/25 15:36:14.60 Y7867/mY0.net
それでもrubyがすきなんだもん

453:438
22/06/26 07:19:32.50 xs6E9gSx0.net
時価総額1兆円までは、Ruby on Rails で大丈夫
時価総額1兆円以上のGithub は、Go へ移行する。
一方、2兆円のGitlab は、Go へ移行せず、Railsを継続する
外人の動画で、2千社の取引先で、2億レコードあるけど問題ないと外人が言ってた
>>438
にも書いたけど、KENTA のYouTube 動画も一杯ある。
初心者は、月千円のKENTAのRailsサロンへ入れば良い。
日本6位の3千人。1位はキングコング西野の数万人
文系のキャリアパスは、Rails → Go のみ。
普及のキャズムを越えたのは、Goだけ。
Rust, Elixir は越えなかった

454:デフォルトの名無しさん
22/07/03 17:05:47.29 Ev2/54rw0.net
高卒から金を巻き上げるスクール商売ばっか目立ってるって、入会する側もおかしいと思わないのかねえ

455:デフォルトの名無しさん
22/07/03 19:39:32.50 eTauYkOJ0.net
自力でやろうとしても
やる気になれない
何をどういう順番でやればいいか分からない
とかだと
スクールに頼ることになるんではないだろうか

456:デフォルトの名無しさん
22/07/03 20:24:13.10 V6sTTCaHM.net
ハロワの職業訓練とかでもあるかもよ

457:デフォルトの名無しさん
22/07/03 22:20:51.19 TGRiVvjp0.net
ひたすら写経してブリブリ動かせばなんとなく掴めると思うんだけどな~ 体系立った理解は後回しでも良いと思う

458:デフォルトの名無しさん
22/07/03 22:46:38.56 23Hh1xfmM.net
専門学校みたいなもんやと思えばそんなもんやろ。
相場を知らないんやから、しゃあない。

459:438 (ワッチョイ 1e2c-Pt+j)
22/07/04 00:01:17 IXhz+xx30.net
KENTA のサロンは月千円

KENTAが批判しているマコなりは、実教室があるから80万円。
RUNTEQ は40万円。
東京フリーランスは10万円

KENTAがぼったくりと書いて、訴えられた所は200万円。
KENTAを訴えると、会社の知名度が上がるから訴える

460:デフォルトの名無しさん
22/07/04 20:07:00.68 +qSzy/GMM.net
小橋健太ってオンラインサロンやってんのか

461:デフォルトの名無しさん (アウアウアー Sa2b-p0Nn)
22/07/12 04:04:17 Jv7vF0i4a.net
Ruby技術者認定試験制度の対象バージョンが2.1.xなの古くない?

Rails技術者認定試験もRails 4対象だし、公式Twitterは2018年が最終ツイート、さらに公式Facebookは削除されてる。

462:デフォルトの名無しさん
22/07/13 15:41:39.70 deFlrBOmr.net
このスレでWordPress、PHP、SQLの質問をしたら、親切な達人プログラマーが懇切丁寧に教えてくれますか?

463:デフォルトの名無しさん
22/07/14 22:05:19.36 pbUBVD7Qa.net
>>462
Ruby でサイト管理を自動化するとか、DBにアクセスするという話ならお返事あるんじゃない?

464:デフォルトの名無しさん
22/07/14 22:07:45.69 0DIHPMC40.net
>>462
WordPress, PHP, SQLそれぞれのスレでご質問願います

465:デフォルトの名無しさん (ワッチョイ 9b01-KYHT)
22/07/14 22:30:07 sv4BKnoc0.net
>>463-464
やはり、そうですよね。
他のスレでRubyスレに誘導されたので確認してみました。
ご回答ありがとうございます。

466:438
22/07/16 21:11:15.96 2WLM14wy0.net
Word Press のコーディングの本はない。
デザインの本しかないので、プログラミングを学べない
Ruby on Rails では黒田努の3冊の本とか、パーフェクト Ruby on Rails、
ウェブサイトではRails ガイド・Rails チュートリアル、
Dean の動画とか、コーディングの教材が多い
>>438
にも書いたけど、
PHP は、KENTAがオワコン認定したから終わった
AWS Lambda のデフォルト言語にも採用されていない。
Go は採用されたが、PHPは採用されなかった。その理由を考えてみ
漏れの結論としては、PHPでは勉強を続けることは無理。
教育環境が無さすぎる
Laravel を使っているZOZO とか、良い開発者が集まらなくて、困ると思う

467:デフォルトの名無しさん
22/07/17 08:18:24.34 Fj+O5aYq0.net
>>466
KENTAはRubyも否定してますが、Rubyを推す理由ありますか?
RubyやPHPを選択する理由が薄くなった
URLリンク(youtu.be)
GoのみがSランク、それ以外は全てCランク
URLリンク(youtu.be)
最も、いいね少なすぎてKENTAの動画に信頼を置く理由が不明ですが

468:デフォルトの名無しさん
22/07/17 08:39:05.88 l4tNS2gQr.net
たいした学習コストじゃないんだし悩んでるくらいなら全部やればいい

469:438
22/07/17 20:09:18.60 885G8LEt0.net
未経験からのエンジニア転職の必須教養【技術知識編】
www.youtube.com/watch?v=Q1c09rrhTjo
KENTA が勧めるキャリアパスは、Ruby on Rails → Go のみ。
Laravel, Django を選ばないように言ってる
もしポートフォリオに、Laravel, Django を選ぶと、
Railsではなく、それらを選んだ理由を聞かれて困る
技術選定・適材適所の失敗。
つまり、情報収集能力や自走力がないので採用されない
皆がRailsで勝負しているのに、なぜ君は奇をてらったのか?
正攻法を避けた理由を説明できない
もし自分が面接官なら、
Laravel, Django のポートフォリオを持ってきても、そもそも見ない。
何で、Railsで作らないの? と思うのが普通

470:デフォルトの名無しさん
22/07/17 22:48:10.27 PExlSXjI0.net
経験言語そのものより良いコード書いてて配属先の技術スタック吸い込んでくれる人のほうが嬉しいかな

471:デフォルトの名無しさん (ワッチョイ ee01-Gdun)
22/07/18 00:31:46 kJA0H2Nq0.net
>>469
いいね300低度の動画を鵜呑みにしちゃうのね

472:438
22/07/18 12:26:25.64 J9TOF8GR0.net
ここ数年、Ruby はオワコンと言ってる香具師が多いけど、
結局、千人の素人が言うことよりも、1人のプロが言うことの方が正しい
例えば、Rubyで求人検索すると、5件しかないからオワコンだとか書いているサイトが多い
他にも、KENTAの天敵がSES のモローで、
2年前は、Railsはオワコンで、KENTAがRailsを勧めるのは、
ポートフォリオ制作で、サロンの滞在を長引かせて儲けるためで、
Java, PHP の方が稼げると勧めていた
【2022年版】Ruby on Railsの将来性
ところが最近の、YouTube のこの動画では、
Rails一色で、キャリア相談まで始めたw
Java, PHPのSESは、どうなったの?w
一方、RailsチュートリアルのYassLab は、Rubyはオワコンと言われているけど、
Railsチュートリアルは筑波大学にも採用されて、
毎年増加しているので、本当にオワコンなのか? と言ってた
プロの方が、正確な情報を持っている

473:デフォルトの名無しさん
22/07/18 16:48:18.59 B6r4rodKa.net
最終的に負荷の問題でgoに移植ってパターンが
二度手間だから最初からgoでやれ
なんて言われてるが
ほとんどの場合、問題になるほど流行らんて

474:438
22/07/18 18:59:57.47 J9TOF8GR0.net
Github のコピーであるGitlab は、時価総額1兆円だけど、
Rails のままで、Go へ移行しないと宣言している
GithubはGoへ移行するけど

475:438
22/07/18 19:05:12.74 J9TOF8GR0.net
米国人の動画を見ると、
2億レコード・2千社のデータがあるけど、Rails で大丈夫とか、
試作品をNode.js で8週間掛かったが、Railsでは2週間だった。
JavaScript はアホらしいとか

476:デフォルトの名無しさん
22/07/18 19:16:42.87 Bv+/UIkW0.net
大量レコード・マルチテナントなんて言語選定というより設計の問題じゃん プロトタイピングの速さについては同感ですが


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch