Ruby 初心者スレッド Part 67

1デフォルトの名無しさん (ワッチョイ b72c-yePO)
垢版 |
2020/12/25(金) 04:24:27.68ID:aa9Khe9z0
プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ

質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で

前スレ
Ruby 初心者スレッド Part 66
https://mevius.5ch.net/test/read.cgi/tech/1578068134/

るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/

Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/

逆引きRuby
http://www.namaraii.com/rubytips/

Ruby コミュニティ公式
https://www.ruby-lang.org/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/06/24(木) 12:31:52.31ID:9bIzV4XCa
大量の処理を手続きオブジェクトに分離するのは、やりました。
やっぱりそれしかないかな。

ブロック付きで渡すのはオブジェクト指向ではない
コードになりやすく、今回は考えてないです。

また、全体をensureで囲うのは、
さすがにensure対象が暗黙的すぎてちょっとな・・・です。
2021/06/24(木) 13:25:07.89ID:+4IsK47J0
>>214
> ブロック付きで渡すのはオブジェクト指向ではない
> コードになりやすく

そうか?
まあ、「オブジェクト指向」にもいろいろあるからな。w
216デフォルトの名無しさん (ワッチョイ 0d01-++Tn)
垢版 |
2021/07/17(土) 09:58:54.08ID:yHV+uNLK0
railsにおいて あるフォームから特定の変数に送られるデータの内容を固定したいのですがなにかいい方法ありますか?

具体的には
<%= form_with model: @hoge do |form|%>
<%= form.text_field :name , value: 'hoge'%>
<%= form.submit %>
<% end %>
と書かれている場合 hogeというモデルのnameという変数に必ずhogeが入るようにしたいのですが上の書き方だと初期値にhogeが入るだけで編集可能になってしまいます。
2021/07/17(土) 10:48:14.79ID:xmQE+uIu0
openに、ブロックを渡す方法は、
コンテキスト・マネージャーという、多くの言語で使われているデザインパターン

これよりも良いものは作れないから、皆が使っている
2021/07/17(土) 10:54:23.38ID:xmQE+uIu0
そりゃ、フォームはサーバーへ送られて更新されるものだから、
変更可能のフィールドが普通

変更不可のフィールドにするなら、
そのフィールドをサーバーへ送らないようにしないといけない

そういうオプションがあるのかな?
2021/07/17(土) 11:08:32.59ID:xmQE+uIu0
「html disabled readonly」で検索!

HTML の <input> 要素には disabled と readonly 属性が存在します

disabled : コントロールが無効化され、フォームを Submit しても、値の送信が行われない

readonly : 値の変更は行えないが、コントロールは有効なので、
フォームを Submit すれば値の送信が行われる
2021/07/17(土) 11:15:24.94ID:xmQE+uIu0
変更不可のフィールドなら、

<input> 要素などを使わずに、単にテキストを表示すれば?
2021/07/17(土) 13:56:18.38ID:EBHVYdQH0
>>216
hidden_field使ってもいいけど
そもそもformによる入力=webからの入力は信頼してはいけない
2021/07/17(土) 14:27:31.06ID:7kNL/q5q0
>>221
ではどうすればいいでしょうか
2021/07/17(土) 16:20:51.36ID:CYR4F+Ue0
>>222
直にソースで書くしか!

ちなみに、XSRFも調べとくとええんちゃう?
2021/07/17(土) 20:48:35.06ID:xmQE+uIu0
マスアサインメント脆弱性を、strong parameters で防ぐ。
更新できる列を、permit で限定する。
これは、コントローラーでの制限

params.require(:person).permit(:name, :age)

Action Controller の概要
https://railsguides.jp/action_controller_overview.html

モデルでのバリデは、

Active Record バリデーション
https://railsguides.jp/active_record_validations.html

Rails ガイド・Rails チュートリアル・黒田努の本などを読むか、
YouTube で有名な、雑食系エンジニア・KENTA のサロンへ入ると良い。
日本6位の、2千人入っている、虎の穴
2021/07/18(日) 01:26:53.43ID:M+6J3Mfd0
>>217
ブロックで書くとテストコードが書きづらくないですか?

最近はテストコードのことを考えて、普通に、
file = open(file,'r')
とか書いてます。

あと、ブロックはネストするからなあ。
2021/07/18(日) 15:19:50.46ID:WDHzAXg40
>>222
何がしたいのか次第
'hoge'で固定するのであればformで入力させる必要はないですし
なんらかの方法で生成するのであれば生成するタイミングを考えます
入力フォーム表示前に生成し固定する必要があるのであれば
ActiveSupport::MessageVerifier
ActiveSupport::MessageEncrypter
session
などを使う
2021/07/18(日) 22:44:25.79ID:H/NN8O820
Rails の便乗質問するけど、
ユーザーの入力値により、条件判断して、

条件1 の場合には、列A だけを更新して、
条件2 の場合には、列B だけを更新する

と言うのは、どのように書くの?

モデルのcallback かな?
228デフォルトの名無しさん (ワッチョイ 467c-Wyld)
垢版 |
2021/07/19(月) 01:48:34.69ID:0iu7guVA0
ruby silver試験は公式問題集をやれば
合格できますでしょうか、学習時間も参考にさせていただきたいです。
silverを考えています。
バージョンがかなり古いとは思いますが、今のrubyとそんなに変わらないと思ってて大丈夫でしょうか
2021/07/19(月) 07:03:41.76ID:sO73HNBd0
Ruby の資格は、漏れも取っていない。
下のマネーフォワードの本で、良いと思う

改訂2版 Ruby逆引きハンドブック、2018
230デフォルトの名無しさん (ワッチョイ b101-E0YB)
垢版 |
2021/07/20(火) 08:12:05.37ID:EkYsR0Mj0
【A型の人ごめん】「まじめ人間」は、自分の人生を生きられず、しかもお金持ちになれない。
https://www.youtube.com/watch?v=ZBSMJHK_b34
【人生観変わる話】「サラリーマン脳」のヤバい特徴5選。
https://www.youtube.com/watch?v=mPCOn0qhW6M&;t=15s
【人生終了】情弱がハマる「貧困スパイラル」のリアル。
https://www.youtube.com/watch?v=T3R71zjbolc
バカでもわかる!ネットビジネスの始め方。
https://www.youtube.com/watch?v=LGM9VxlfDeo&;t=147s
時給労働から卒業しよう!貧乏人が知らない「お金の稼ぎ方」まとめ。
https://www.youtube.com/watch?v=aibytYID1yY
【人生攻略】経験・実績ゼロのあなたが、最短で何者かになる方法。
https://www.youtube.com/watch?v=258RdS9Brxk
【残酷】貧乏人はいつも忙しいのに、お金持ちは暇である理由。
https://www.youtube.com/watch?v=YkRKSgbyyf8
2021/07/20(火) 10:14:09.06ID:nphTU9tH0
>>227
自己回答

ユーザーの入力値により、条件判断してはいないけど、

改訂4版 基礎 Ruby on Rails、黒田努・佐藤和人、2018
の400 ページで、

アクションのcreate/update で、
コントローラーのstrong parameters を変える例が書いてある

例えば、下のような感じ

params.require(:person).permit(:name)
params.require(:person).permit(:age)
2021/07/21(水) 10:26:17.53ID:GSJrQWT80
>>231
別に構わんが環境次第でUnpermittedParameters例外出そうな気がするので
@person.update(xxx_params.except(:age))
的な感じのほうがよいかも
2021/07/24(土) 17:53:55.08ID:niZ/VlC90
pythonなみの公式チュートリアルがあればいいのに
2021/07/27(火) 10:21:46.39ID:y9fA4YVt0
Railsでも何でもいいんですが、ecサイトの様なユーザー登録とログインシステム
をRubyを使って簡単に構築するライブラリの使い方が書かれている良い本は
有りませんか?
2021/07/27(火) 11:24:07.05ID:ic7RAKIO0
>>234
Ruby on Railsのチュートリアル
でいいのでは?

簡単に済ませたいならば、
Shopifyとか外部決済システムに外注すれば?
2021/07/30(金) 18:21:13.72ID:7AkGA5GJ0
スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
2021/08/03(火) 20:29:25.38ID:1SQdlJBzr
NOKOGIRI
2021/08/03(火) 22:35:38.25ID:3PGqGTvy0
>>236
踏み台を準備してそこ経由でスクレイピングする
2021/08/04(水) 01:04:19.47ID:wXXobJu90
>>236
スクレイピングの勉強
240デフォルトの名無しさん (ワッチョイ 4135-YVzu)
垢版 |
2021/08/04(水) 11:12:04.78ID:Ud4GmCQc0
>>236
とりあえず、関心のあるページをローカルに保存してnokogiriでアクセスしてみれば?

crawler部分とscrap部分を分けるのが吉。
つまり、100pagesをスクレーピングするなら、まずhtmlをblob型でDBにinsertしてから欲しいデータをnokogiriで取り出すのだ。
2021/08/04(水) 11:45:59.21ID:BE8GLseK0
>>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 の転職用ポートフォリオを作っている。
そこへ入って、聞いた方がよい
2021/08/04(水) 12:01:13.97ID:BE8GLseK0
>>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 へ置き換えるだけ
2021/08/04(水) 15:15:35.32ID:BE8GLseK0
>>234
Ruby on Rails, devise の動画

Farstep、2019/9

【Rails】deviseを使ったログイン機能の実装(名前でログインする方法を解説)
www.youtube.com/watch?v=Lmq_WLkxp9c
2021/08/04(水) 15:35:06.48ID:BE8GLseK0
YouTube で「ruby on rails devise」で検索すれば、日本人の動画も多い

Farstep, うるぞー、もぐらストア、
やんばるCODE 守護神・バグ取り名人 たけ
2021/08/04(水) 22:15:34.77ID:y1FxFhCLr
jQueryって単語、1万年ぶりに見たわ
2021/08/05(木) 00:10:48.44ID:r/zZzNU40
>>245
一万十歳かな?
247デフォルトの名無しさん (ワッチョイ 0e70-pCDs)
垢版 |
2021/08/05(木) 12:32:32.94ID:dqIKXfcM0
>>242

>>サイトのrobots.txt を遵守すること!
>>これを守らないと、営業妨害で逮捕される

どういうことですか?
詳しくお願いします
2021/08/05(木) 13:11:38.51ID:bqGeTZjz0
>>231
パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)、2020/7
の92 ページで、

コントローラー内で、private メソッドを定義して、
条件によって、strong parameters を変える例が書いてある

管理者・一般ユーザーで変える例

params.require(:user).permit(:name, :admin)
params.require(:user).permit(:name)
2021/08/05(木) 13:20:50.00ID:bqGeTZjz0
>>247

>>242
に書いてある、山浦清透の動画を見れば分かる

各サイトには、robots.txt が置いてあって、
スクレイピングする場合は、必ず30秒空けるとか、
このフォルダはスクレイピングしてはならないとか、多くの条件が書いてある

それを守っていないと、営業妨害になる

スクレイピングは初心者向きじゃないので、各サイトと契約して、API を使うべき!

なぜかと言うと、初心者のプログラムにはバグが多いから、
無限ループしたりして、サイトへ無限にアクセスしたりする

それで、営業妨害で逮捕されるかも知れないから、すごく危険!

プロでも、スクレイピングはしない。
必ず、サイトと契約して、APIを使う

5ch もそう。契約して、APIを使えと言ってる。
勝手にスクレイピングすると、訴えてくるかも知れない
250デフォルトの名無しさん (ワッチョイ 4dcf-pCDs)
垢版 |
2021/08/05(木) 13:38:00.10ID:/9S9EoKc0
>>249
私のスクレイピングしたいサイトにはAPIは公開されていません
またrobots.txtも設置されていません
robots.txtでリクエスト間隔の指定なんてあるのですか?
常識的に数十秒から数分に一回程度のリクエストなら問題ないと思いますが
営業妨害ってどういう意味ですか
IT企業に勤める知り合いはスクレイピングで求人を出すことがあると言ってましたが嘘でしょうか?
5chでスクレイピングしたら相手にバレて訴えられることがあるのですか?
2021/08/05(木) 14:04:49.73ID:RzFkoDJoM
>>250
あるよ
数分に一回のリクエストで落ちるゴミサイトだろうと、結果的に相手の業務に支障が生じれば業務妨害罪に問われる可能性がある
2021/08/05(木) 14:10:13.57ID:5L8sIm7d0
>>250
> 常識的に数十秒から数分に一回程度のリクエストなら問題ないと思いますが
> 営業妨害ってどういう意味ですか
誰にとっての「常識」ですか?

某岡崎市の某図書館の「りぶらはっく」の件を知りませんか?

(情報リテラシのある側からしたら、)
あんな程度のアクセスで逮捕されるわけない「はずだと思う」なのに、
実態は、全部ゾンビ化(作った業者がアレ)していて、
け●さつがわも情報リテラシがなくアレだから、
結果がアレになっちゃったんですよ。

いいですかー、ここは日本です。
訴える側の後ろ側の行政側がアレな場合が多々あり、
情報リテラシがまったくない、矛盾しまくった法治国家なわけですよ。

誰の常識かは、サイトを提供している側が情報リテラシがない場合、その情報リテラシがない前提が常識なわけです。
つまり、その場合、何らかスクレイピングした時点で営業妨害とみなされても仕方ないですよ?
2021/08/05(木) 14:53:47.22ID:/9S9EoKc0
>>252
結局その事件は不起訴処分ですよね?
なぜ不起訴になったかわかりますか
検察側が有罪に出来ないと判断したからです
インターネット業界に携わる者たちからすれば余りにも「一般常識」から外れた言いがかりですからね
あなたのような無知蒙昧で従順な子羊は司直にとっては美味しいお客様ですね
これからも「常識」に則った素晴らしいプログラムを書き続けてくださいね
2021/08/05(木) 15:24:32.14ID:5L8sIm7d0
>>253
もし本当に訴えられたとき、実際の裁判の場で、>>253 と同じ発言を検察側、裁判官の前で弁論できるとよいですね。
2021/08/05(木) 16:15:30.56ID:r8rfvWmzM
まあ不起訴で納得できるならいいんじゃないの?
俺だったら逮捕の時点で嫌だけど
2021/08/05(木) 17:07:40.75ID:bqGeTZjz0
逮捕状は名目上、第三者と言われる司法・裁判所が出している。
本当は警察・検察、つまり行政と結託しているけどw
警察はマスコミにリークして、有罪の世論を作る

だから日本では、逮捕 = 100% 有罪。
100%有罪でも、誰もおかしいと思わない。
他国では有罪率が50% ぐらいだけど、日本だけは100%

つまり、三権分立していない。
行政が決めてから、司法が行政のやった事を正当化するような判決文を書く。
行政を勝たせた人だけが出世できるから

でも、判決文を書くのを極端に嫌がる。
N国みたいな政党が、YouTube で裁判官の判決文を批判したりして、おかしいのがばれるから

不起訴になるのは、犯罪者が認めた場合

青汁王子みたいに検察へ喧嘩を売ったら有罪にされたけど、
徳井みたいに脱税を認めたら、不起訴になった
2021/08/05(木) 17:20:52.40ID:bqGeTZjz0
その人がやった事を認めたから、不起訴にした

日本では、逮捕 = 100% 有罪だから、絶対に有罪にできる。
日本では自白をすると、裁判所で何を言っても、くつがえせない。
嘘をついて、自白をするわけがないと言う

だから検事は、拷問・家族を脅迫して、自白をさせる

青汁王子みたいに検察の拷問を発表したら、有罪にされた。
それで青汁王子は、検察改革として選挙に立候補するかも知れない

一方、徳井は脱税を認めたら、不起訴になった

ZOZO・前澤も、脱税をマスコミにリークされた。
でも、N国が国会で誰がリークしたか聞いたら、皆、白を切った

これを国会で追求されたら、まずいから。
警察から、マスコミへリークしているのがばれるから

前澤のは、そもそも脱税でもない。
解釈の違い

それを警察がマスコミを使って、青汁王子みたいに悪人に仕立てようとした。
それをN国が国会で質問したから、ばれそうになって白を切った
258デフォルトの名無しさん (ワッチョイ cdb1-IKHw)
垢版 |
2021/08/05(木) 17:25:15.95ID:I7FszFTK0
>>257
ちなみに
5chで
マルチポストしたら
逮捕されるかもしれないって
知ってた?
259デフォルトの名無しさん (ワッチョイ cdb1-IKHw)
垢版 |
2021/08/05(木) 17:29:15.92ID:I7FszFTK0
逮捕はされないかもしれないけど
自分の悪行を
棚に上げて
正義面したら
地獄へ落ちちゃうよ
閻魔様に
舌を抜かれちゃうんだよ
怖いよ
260デフォルトの名無しさん (ワッチョイ cdb1-IKHw)
垢版 |
2021/08/05(木) 17:32:22.30ID:I7FszFTK0
検察も
警察も
裁判も
怖くないよ
地獄へ落ちると怖いよ
舌を抜かれて
張りの山を登らされて
業火に焼かれるんだよ
熱いよ
痛いよ
怖いよ
2021/08/05(木) 18:10:22.22ID:r/zZzNU40
きもこわ
2021/08/05(木) 22:31:27.66ID:vSsQCnpga
別に地獄に落ちるのは怖くないが
昔の人の妄想だし
警察、検察に痛くもない腹を触られるのは怖い
263デフォルトの名無しさん (ワッチョイ 455c-IKHw)
垢版 |
2021/08/05(木) 23:40:13.64ID:6menK19J0
地獄は怖いよ
怖くないって言ってる人
強がり
一番いけないのは
自分のことを棚に上げて
自分が正義だって言う人
地獄へ行くよ
閻魔様に舌を抜かれるよ
痛いよ
でも逮捕はされないかもしれな
でも地獄の方がもっと怖い
2021/08/06(金) 09:34:44.10ID:7P/+UMXla
悪魔の証明みたいだが地獄は存在しない
人間は死んだらそこで意識は消滅。無になる。
意識は脳の中の電気信号の集合だから
脳が動かなくなると意識は永遠に消えてなくなる
2021/08/06(金) 20:13:46.87ID:qRWxBcUir
1. 世界とは事実の総体である。
2. 世界とは<私>の世界である。
2-1. 故に、世界の限界とは<私>の限界である。
2-2. <私>は死なない。視野の端が存在しないように、世界の死は存在しない。
2-2-1. 故に、地獄の存在は事実ではない。
2-2-2. 地獄について語ることはできない。
3. 語りえないことについては沈黙しなければならない。

QED?
2021/08/06(金) 21:35:40.63
>>265
その括弧つきの私(<私>)とは何かを十分に説明していませんね‥‥
2021/08/06(金) 22:04:45.00ID:qRWxBcUir
<私>とは、この私の世界の開闢者。
お前にとっての私ではなく、私にとっての私。
ヒュームが言うところの自我。
268デフォルトの名無しさん (ワッチョイ 915c-Z6Ah)
垢版 |
2021/08/07(土) 00:33:19.88ID:ctvRT72B0
地獄を知ってしまったら
もう地獄はあるよ
自分のことを棚に上げて
他人をバカにしたら
地獄行きだよ
地獄は怖いよ
269デフォルトの名無しさん (ワッチョイ 915c-Z6Ah)
垢版 |
2021/08/08(日) 22:12:00.50ID:Ullx8amr0
自分のことを棚に上げる
一番悪い事
地獄に落ちて
閻魔様に舌を抜かれて
針を飲まされるよ
2021/08/09(月) 12:44:08.03ID:GX8oEfXz0
そういうのを信じてくれると
犯罪が減るからべつにいいけど
私は信じていないけど
271デフォルトの名無しさん (ワッチョイ 915c-Z6Ah)
垢版 |
2021/08/09(月) 21:13:44.03ID:gRn7tUgS0
人に迷惑をかけるのは悪い事
地獄に落ちないかもしれない
でも自分のことを棚に上げて
人に迷惑かけたら
地獄に行く
警察もヤクザも
怖くない
地獄は怖いよ
2021/08/12(木) 00:48:05.26ID:xG1RPqdX0
スクレイピングは逮捕される危険があるって聞いたんだけどマジ?
2021/08/12(木) 08:20:26.43ID:oGP6NDDs0
危険ならあるけど実際にどうかは個別案件によるんじゃね
2021/08/12(木) 09:52:15.39ID:e+dZJ+jE0
起訴・有罪までは滅多に行かんとは思うが
逮捕までならありえなくもない
2021/08/12(木) 13:43:21.85ID:Uyxv6qpU0
突然民事訴訟を起こされて
賠償金を要求されることは十分にあり得る
2021/08/12(木) 16:10:50.05ID:oGP6NDDs0
ネットだからまずは開示請求からだね
「突然」賠償請求はない
2021/08/12(木) 16:42:48.35ID:NvgIkHB7M
受ける方からしたら突然賠償請求だろ
開示請求なんて直接は来ないよね
278デフォルトの名無しさん (ワッチョイ 915c-Z6Ah)
垢版 |
2021/08/12(木) 16:50:15.85ID:drSdi1s70
逮捕も賠償も怖くない
地獄へ行くのが怖い
でも地獄へは行かないかもしれない
でも自分のことを棚に上げて
人の嫌がる事ばかりしてると
地獄へ行く
2021/08/13(金) 01:45:34.20ID:kzYHP2KN0
じゃあrobots.txtを遵守していればスクレイピングしてもOKなんですね?
2021/08/13(金) 02:19:03.50ID:BSEOqpqJ0
他者に被害を主張されたらトラブルになる可能性がある。
それだけ。

いいこともそうでないことも、両方ある。
他人に聞いてもムダ。
2021/08/13(金) 09:28:36.17ID:eq2Tc8oG0
>>277
開示請求は裁判所を通してプロバイダに請求が行くんだけど
プロバイダは顧客である「受ける方」に無断で開示は通常しないで
まずは開示を許可するかを「受ける方」に訊いてくる
だからその段階でなにか事が進んでいるんだなということはバレる
あくまで「突然」賠償請求が来るなんてことはない
2021/08/13(金) 09:32:36.58ID:eq2Tc8oG0
ネットに限らず相手の素性もわからないのに突然賠償請求なんてできやしない
まずは相手方の特定から始めないとどうにもできない
たとえば道歩いていていきなり殴られて怪我しても
相手がどこの誰なのかがわからなければどうしようもない
警察沙汰にして警察が相手の素性を教えてくれればなんとかなるが
教えてくれなければ泣き寝入りよ
ネットはいわゆる「足がつく」状態だから開示請求かければなんとかなる可能性が高いだけ
いきなり賠償請求できない点はオンもオフも何も変わらない
2021/08/13(金) 09:34:43.40ID:eq2Tc8oG0
あらかじめ一定の社会的関係に入っている間柄なら別よ?
たとえば会社でセクハラされた・モラハラされた
そんな話だったら「突然」賠償請求は来るさ
そうなじゃなくてネット上でまったく関係ない素性も知れない第三者に損賠請求とか
「突然」できるわけがないだろうが
2021/08/13(金) 23:24:19.38ID:1DHqOLSr0
Rubyの開発ではglibは使われてますか?
2021/08/18(水) 05:53:03.10ID:yThqaD4x0
glib2と連携するGemがあるぐらいだから、
使われてると思うよ。
286デフォルトの名無しさん (ワッチョイ c15c-U7Lh)
垢版 |
2021/08/30(月) 19:49:51.62ID:CW7ccSgo0
警察も検察も被告になることも怖くない
でも地獄は怖い
迷惑かけるだけなら
地獄へ行かないかもしれない
でも自分のことを棚に上げたら
地獄行き
2021/08/30(月) 21:27:50.25ID:Cj0Y+5WJ0
>>286
どんな理屈や!w
288デフォルトの名無しさん (ワッチョイ c75c-nTGN)
垢版 |
2021/09/09(木) 01:33:06.63ID:DPdnZbQ70
だめだ
また自分のことを棚に上げて
他人に説教
してしまってる
そんなに地獄に落ちたいのか
289デフォルトの名無しさん (ワッチョイ 5d5c-dGLa)
垢版 |
2021/09/10(金) 23:29:53.30ID:VnjRnmAy0
自分のことを棚に上げて
また人に迷惑かけてる
地獄へ落ちるよ
2021/09/11(土) 01:42:22.44ID:Vndiun780
その理屈やと、おまえが地獄に落ちるで!
2021/09/11(土) 16:37:37.06ID:QpCgqUja0
rubyって宗教色が強いんだな。
2021/09/11(土) 16:46:51.58ID:Ewyyihq/0
作者がモルモン教だからな
293デフォルトの名無しさん (ワッチョイ 5d5c-dGLa)
垢版 |
2021/09/15(水) 02:39:42.52ID:7Lql01au0
人の嫌がる事ばかりする
自分のことは棚に上げる
警察もヤクザも怖くない
地獄はある
地獄は怖い
2021/09/15(水) 19:07:23.60ID:0q0CE+HI0
スクレイピングすると地獄へ落ちるって本当ですか?
2021/09/15(水) 19:39:53.02ID:/dXe9qzn0
地獄に落ちたことのある奴に聞け。
2021/09/15(水) 20:36:57.26ID:BDtg+sEir
地獄は超暑かったぞ
それでも真夏の都心よりマシだが
2021/09/18(土) 03:38:03.71ID:YPBxfQEw0
スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
2021/09/18(土) 03:44:47.50ID:VuuEM7MI0
あるわけねえやろ!w
2021/09/18(土) 08:03:58.41ID:r9kwg+sT0
5年分の過去分は一度取得すれば良いだけなのであれば待ち処理入れつつやれば問題ないと思う

仕事であるスポーツ連盟のホームページを20分おきにスクレイピングしてる
これは確認して許可取ってるけど。
2021/09/18(土) 16:38:53.47ID:1jv0Ew7Ba
Rubyはgetsでコマンドプロンプトの入力を受け取れますが、
入力方法をbashのようにできないでしょうか。
上キーを押すとコマンドが再表示される等です。
301デフォルトの名無しさん (ワッチョイ f7a6-z6qi)
垢版 |
2021/09/18(土) 16:58:05.98ID:XeK+rYrj0
>>300
https://docs.ruby-lang.org/ja/latest/class/Readline.html
2021/09/18(土) 18:14:06.76ID:J85RgKD50
頭のおかしい人に以下のようなことを言われました

>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない

具体的な書籍名を教えてください


>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない

どこでそんなルールが決まっているのでしょうか?
2021/09/18(土) 19:46:07.33ID:/DXMasS60
マルチポスト禁止、クロスポスト推奨
というのは、遠い昔 fj でのルールではありましたが 2ch/5ch では無意味ですね、だってクロスポストできないし
2021/09/18(土) 20:35:36.57ID:VuuEM7MI0
>>303
だからマルポは?
できないのはクロポなんやろ?
2021/09/19(日) 00:20:00.12ID:QR0Sxfu+0
>>304
回避方法がないのに一方的にマルチポストを避難するのはフェアではないと思いませんか?
306デフォルトの名無しさん (ワッチョイ 9fd2-qDHA)
垢版 |
2021/09/19(日) 02:58:23.74ID:y7Uebvof0
自分のことを棚に上げて
正義面するから
罰が当たったのかも
しれない
でも現世の罰は
怖くない
地獄へ落ちるのは怖い
地獄は怖いよ
2021/09/19(日) 11:25:51.22ID:69z175Yv0
>>305
クソみたいな詭弁に意味はない。
308デフォルトの名無しさん (アウアウウー Sa5b-hED7)
垢版 |
2021/09/19(日) 12:38:01.81ID:/yxUr6Cya
ついでに肝心要なパケットは欠損させておくと尚良し
2021/09/19(日) 22:18:51.00ID:BpRp3Dad0
>>301
超サンクス
2021/09/21(火) 18:45:09.80ID:0Go6zndF0
テキストファイルの処理で、段落ごとに時間のかかる作業(数時間単位)を回してるのだけど
その対象のテキストファイル(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を処理したりしてるような
このあたりのファイルポインタの動きを説明してある情報源はない?
2021/09/21(火) 19:08:28.98ID:SK/JWtta0
先読みバッファの都合でそうなることもあんのかね。知らんけど。
読むタイミングで、tellの結果にseekしたらええかも?f.seek(f.tell())みたいに。
あるいは、バッファを無効にするか。ただし、これは勧めない。テストならばまあ。

情報というか、その手の高レベルなファイル関連関数は、高速化のために裏でバッファを活用してるので、その挙動を想像すれば。
2021/09/21(火) 22:56:27.09ID:0Go6zndF0
>>311
バッファ無効にするのにsyncなんてメソッドがあるのですね
テストみたいなもんなんでこれ使ってやってみます!
ありがとうございました
2021/09/22(水) 12:23:29.69ID:wRl+SBDi0
>>312
もっかい言うけど、バッファ無効はほどほどにな。
ストレージがすり減るぞ。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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