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
大量レコード・マルチテナントなんて言語選定というより設計の問題じゃん プロトタイピングの速さについては同感ですが
477:デフォルトの名無しさん
22/07/30 08:09:12.00 sN86R6p40.net
モルモン教言語のrubyも辛い立場だな
まつもとも娘に断食させたり痛いことしてたし
478:デフォルトの名無しさん
22/07/31 14:48:30.69 ted3Whyfa.net
RubyとAjaxについて勉強してるんですけど
WebページからAjaxでサーバー上のtest.cgiに文字列を渡し
そのtest.cgiで処理した戻り値をWebページ側に送るのはどうやって書けば良いんでしょうか?
479:デフォルトの名無しさん
22/07/31 15:10:56.17 UGDLlV/Br.net
>>478
rails tutorialの最後の章にほぼそのままのあるからそれ見れば
てか今日日cgiってまだ現役なのか
480:デフォルトの名無しさん
22/07/31 17:46:52.91 ted3Whyfa.net
>>479
URLリンク(railstutorial.jp)
これですか?
ただフレームワークの機能じゃなく原始的なやり方を探しています
481:デフォルトの名無しさん
22/07/31 18:12:13.33 zWPrMXnN0.net
xhrなどのキーワードでググったほうがいいんじゃないですかね
482:デフォルトの名無しさん
22/07/31 19:19:38.43 UDF11vvTa.net
>>478
cgiで処理できるんならcgiがjson返せばいいだけでは?
それともtest.cgiが
・あなたの作ったrubyプログラムとは別
・戻り値が出来るのに時間がかかり
サーバーサイドからイベント送信する必要がある
みたいな事情があるのでしょうか?
483:デフォルトの名無しさん (アウアウウー Sa09-dSCr)
22/07/31 21:37:17 ted3Whyfa.net
>>482
やりたいことがまさにそれで、ruby側の記述がわからないというワケです
CGIオブジェクトのどの値を書き換えるとajax側に返すjsonになるんでしょうか?
484:デフォルトの名無しさん (ワッチョイ ede6-M+VK)
22/07/31 21:58:10 zWPrMXnN0.net
標準出力にJSON.generateなどで生成したjson文字列書き込めばいいんじゃないの
485:デフォルトの名無しさん (アウアウウー Sa09-dSCr)
22/07/31 22:57:24 ted3Whyfa.net
>>484
標準出力で良いんですね
というかjson以外でも受け取れました
ありがとうございます
486:デフォルトの名無しさん
22/07/31 23:33:55.72 OH2jY+Nl0.net
原始的なCGI使ったことあるのってもうジジイだけなのかな
487:デフォルトの名無しさん
22/07/31 23:44:05.27 zWPrMXnN0.net
根源的な理解をするにはCGIは良い教材だと思う
フレームワークの恩恵も感じやすいんじゃないかなあ
488:デフォルトの名無しさん
22/08/01 16:40:55.75 9ms8u+Pj0.net
RailsってDBアクセスのコストが高いんですか?
489:デフォルトの名無しさん
22/08/02 07:50:45.58 XcZjnJFMa.net
>>488
比較対象次第ではあるが
オブジェクト指向と実態のギャップを埋めるために
相応のコストは掛かってる
ただまぁこのコストが気になるレベルまで積み上がってるとしたら
(Twitterみたいな大規模プロジェクトは例外として)
何かミスか勉強不足があるかと疑いたくなる
490:デフォルトの名無しさん (ワッチョイ ede6-M+VK)
22/08/03 13:21:34 62T0uWYS0.net
フレームワークのオーバーヘッド気にするようなケースなんてほとんど無い気が
491:デフォルトの名無しさん
22/08/06 22:16:44.35 VFKE1n46a.net
フレームワークのコストよりもデータ構造の設計によって検索に処理時間かかったり、大きすぎる中間ファイルが出来たりというほうが
アカウント数が増えた時には問題になると思います
ファイルが大きくなったら何らかの形で分割しないといけないと思うのでボトルネックになるのは読み込むファイルのサイズになりそうな
ところでまた質問なんですが
配列の後ろから1つだけ任意の要素を削除する処理を書こうとしたら
rindexがnilを返したときにdelete_atがエラーになるんですが、rindexの戻り値を変数に格納して条件分岐入れるしかないですか?
ary=[1,2,3,4,1,2,3,4]
e = ary.rindex(2)
ary.delete_at(e)
p ary
# 一行にしたかったけどnilになるとエラー
# ary.delete_at(ary.rindex(9))
492:デフォルトの名無しさん
22/08/06 22:18:27.62 DL1SAF5+r.net
Array#.popじゃあかんのか
493:デフォルトの名無しさん
22/08/06 22:36:17.90 DL1SAF5+r.net
よく読んでなかったわ
可読性無視して1行に押し込みたいならこうするくらいしかないんじゃね
ary.delete_at(ary.rindex(9) || ary.size)
494:デフォルトの名無しさん
22/08/06 23:29:41.52 Mg+PC+uR0.net
a.rindex(2)&.tap { a.delete_at(_1) }
ActiveSupportがあればtry!
495:デフォルトの名無しさん (アウアウウー Sa55-woMg)
22/08/07 01:09:34 lN5DVOZra.net
>>493
大きいサイズ入れた時の動作仕様が今後も変わらなければいいですがちょっと不安です
>>494
おおっすごい
tapでselfの時のみdelete_at呼ばれる処理なら安全そうですね
参考にします
ありがとうございました
496:デフォルトの名無しさん (ワッチョイ 71ac-bzAd)
[ここ壊れてます] .net
句点Rubyおじの居場所をこっちにも作ってあげてください
497:デフォルトの名無しさん
22/08/12 00:35:03.18 GtF4IhqdM.net
installしなくても使えるrubyを用意すれば、ユーザ増えないですかね
まず初心者にも簡単に使い始められるようにしてユーザ数を増やす
498:デフォルトの名無しさん
22/08/12 01:10:01.38 icd+inSAd.net
インストールを嫌うのはWindowsユーザー特有の習慣なわけだけど、
RubyにおいてWindowsユーザーは嫌われ者だからあえてWindowsユーザーを増やすような施策はしないだろうねえ
せっかくWindowsならWSL使えで終わりにできる時代になったのだし、今更逆行させたくないだろう
499:デフォルトの名無しさん
22/08/12 01:22:47.32 Ec+72ko9M.net
dockerイメージでいいっしょ~
500:デフォルトの名無しさん
22/08/12 01:54:30.94 F/Knq/Ex0.net
そもそもWindowsを使わければいい
501:デフォルトの名無しさん
22/08/12 01:58:27.77 3I6JE0fzr.net
逆にWSLじゃどこがいけないのか
502:デフォルトの名無しさん
22/08/12 19:29:04.08 Ly5UHJxV0.net
休日を機にrubyの勉強を始めた
もうSESで業務系・制御系客先常駐は嫌だウェブに行くんだ
503:デフォルトの名無しさん
22/08/12 20:34:34.61 EhKo6h0UM.net
Node.jsやGoにしときなよ
今更Rubyはじめましたなんて保守のクソ案件やらされるだけだぞ
504:デフォルトの名無しさん
22/08/12 20:37:25.73 Ly5UHJxV0.net
まじか。ブートキャンプなんかもチェックしてrubyを選択してるところが多かったから最初のチョイスにはいいのかと思ったんだけど
505:デフォルトの名無しさん
22/08/12 20:39:57.30 3I6JE0fzr.net
スタートアップでRubyも一時期に比べれば減ったけど全体として少なくはないと思うがなぁ
まあGoやれには同意
506:デフォルトの名無しさん
22/08/12 21:08:08.21 EhKo6h0UM.net
>>504のスキル次第かな
プログラミング教育ビジネスでRubyの採用が比較的多い理由はPHPと同じで、
技術スタックが固定されていてRoRの使い方さえ覚えれば一応仕事らしいことはできるから
一方でNodeやGoだとまずAWSやGCPでインフラを設計して、、となっちゃうから前提知識が多く、教える人にとっても難しいわけだね
504がどうかは知らないけど業務系の出身の人ってペチパー上がりのWeb系に比べりゃネットワークやDBなど基盤技術に強い人が多いから、
まずはAWS SAを取るくらいを目標にしたほうがモノになりやすいかもしれない
507:デフォルトの名無しさん
22/08/12 22:14:25.50 jxfg8mfTM.net
>>504
Webアプリについて学ぶならRubyからはじめるのは今でも一番効率いいよ
C#とかやってるならそのままASP.NET MVCやるといい
Javaの場合はSpringやSpring Bootやる前にRails一通り学んだ方が学習効率が高い
508:デフォルトの名無しさん
22/08/13 16:42:11.13 g83/7zbCM.net
のっけからフレームワークって学ぶ順番としてどうなんだろ
509:デフォルトの名無しさん
22/08/13 18:08:03.40 G/JCqKHoM.net
>>508
それなりの多くは、なっちゃってエンジニアだと思うんだけど、ほとんどコピペでフレームワークを学ぶ!?雰囲気で使っている感じやんね。
510:デフォルトの名無しさん
22/08/13 21:20:26.00 716PWe/D0.net
TCP/IPからやれとはいわんけど
変なブログの情報どまりじゃなくMDNをリファレンスにしてくれれば迷惑はかけないかな
511:デフォルトの名無しさん
22/08/16 06:37:29.62 nv4Pd6maa.net
アプリ作ってるけど、Ruby選んだのにRubyは俄然200行程度に対してJSソースがその10倍の量になった事をご報告
512:デフォルトの名無しさん
22/08/19 13:31:40.23 Gwz5c/EG0.net
Rubyガイジがこのスレに誘導しているみたいだけど
今更Rubyなんて流行らないし>>503でも指摘されているけど
新規案件でRubyやRailsなんて採用しないから初心者が勉強するだけ無駄だぞw
513:882
22/08/19 22:25:12.76 2b9NNsS1M.net
色んなプログラ厶スレで
rubyスレ誘導はってる人がいるよね
514:デフォルトの名無しさん
22/08/19 22:36:16.14 kD1PYwgK0.net
せいぜいがんばってください
515:デフォルトの名無しさん
22/09/02 12:46:17.31 SPKoKVwi0.net
ブロックスコープを作って、そのスコープ内だけで使える変数を作るには
どうすればいいのでしょうか?
a = 1
{
let a
p a # nil
}
p a # 1
516:デフォルトの名無しさん
22/09/02 13:58:50.26 0IIX0tzu0.net
a = 1
->(a = nil) { p a }[]
p a
ただrubocop(linter)に怒られる
517:デフォルトの名無しさん
22/09/02 15:50:30.29 SPKoKVwi0.net
>>516
サンクス
518:デフォルトの名無しさん
22/09/04 11:03:45.79 d+yqMU9C0.net
thenも使えそう
a = 1
nil.then { |a| p a }
p a
そもそもメソッドじゃ駄目なんだろうか
519:デフォルトの名無しさん
22/09/04 14:18:23.63 nDhKbeBy0.net
書式設定これが見通し良くない?
無駄な#が有効利用できるからな
採用していいぞ
n = 123
name = "山田太郎"
puts "#05d{ n }番目は#10s{ name }です"
520:デフォルトの名無しさん (オイコラミネオ MM1b-366i)
[ここ壊れてます] .net
今日から三日間開催されているRubykaigi(Ruby会議)にて、Wasm化の話が
議題になっているらしい。
521:デフォルトの名無しさん
22/09/08 21:57:50.38 EF/qt7ve0.net
>>504
YouTube で有名な雑食系エンジニア・KENTA は、下の動画で、
未経験者はシェアが高い、Ruby on Rails でポートフォリオを作れと言ってる
Django, Laravel はダメ。
特にKENTAは、PHP, Scala をオワコン認定したので、使わない方がよい
未経験からのエンジニア転職の必須教養【技術知識編】
www.youtube.com/watch?v=Q1c09rrhTjo
Railsは、KENTAのサロン以外にも、RUNTEQ、東京フリーランスのデイトラなど色々ある
Node.js など最悪。面倒くさすぎて勉強にならない。
Go も初心者向きじゃないので、
KENTAが勧めるキャリアパスは、Rails → Go のみ
KENTAのサロンのAWS 部で皆、AWSのくろかわこうへいのサロンへも入る。
くろかわのサロンの生徒、数十人で書いた本も出てる
以下がバックエンドの最短コース
Rails, Bootstrap, jQuery から始めて、
Linux, Docker, Heroku, AWS, CircleCI, Github Actions
猛者になると、Terraform, Kubernetes。
ここまで行けば、どの会社よりも上
522:デフォルトの名無しさん
22/09/08 22:12:49.56 EF/qt7ve0.net
>>488
データベース(DB)に、2千社・2億レコードあるけど、全く問題ないと外人が言ってた
N+1 で一々、問い合わせをしたり、
多対多などで、索引なしで総当たりみたいな事をやっているとか?
DBの実行計画を見た方がよい
ミックの本も読んだ方がよい。
副問い合わせを、case に書き換えるとか、書いてあったような気がする。
よく覚えていないけど
データベース資格の問題を解くとか
523:デフォルトの名無しさん
22/09/08 22:38:48.48 EF/qt7ve0.net
>>478
漏れが作った、webrick のデモならあった
require 'webrick/cgi'
class MyCGI < WEBrick::CGI
def do_GET(req, res)
res["content-type"] = "text/plain"
ret = "get\n"
res.body = ret
end
def do_POST(req, res)
res["content-type"] = "text/plain"
ret = "post\n"
res.body = ret
end
end
MyCGI.new.start()
524:デフォルトの名無しさん (アウアウウー Sa8b-Iguz)
[ここ壊れてます] .net
1か月よりも前なので解決してたりします
525:デフォルトの名無しさん
22/09/09 16:40:11.60 nscVoUcha.net
ちょっと厄介な事かもしれないですが、配列にuniqやった時に
[1,2,3,4,2].uniq これで 一番後ろの2が削除されて[1,2,3,4]になるじゃないですか
uniqした後の結果を[1, 3, 4, 2]にしたい時は
[1,2,3,4,2].reverse.uniq.reverse
こう2回reverseやるしか無いでしょうか?
reverse消すのを試みていたんですが上手い方法が思いつきません
526:デフォルトの名無しさん
22/09/09 23:04:33.89 Un8DgV3E0.net
uniq後の順序に依存した実装って気持ち悪いけどドキュメント読んでみると一応保証はされてるのか
527:デフォルトの名無しさん
22/09/11 15:57:11.70 rzWFC1+la.net
ちょっと無理そうですね
データ構造のほうが逆順だったらreverse無しで良かったんですが
そっちはもう換えられないのでこのままにしときます
528:デフォルトの名無しさん
22/09/11 16:22:50.85 t3QuDbs+0.net
reverseをreverse_eachにしたら中間のArrayは無くせる
529:デフォルトの名無しさん
22/09/26 19:18:46.78 m/z6XQ/+0.net
scan.map.delete_if.delete_if.shuffle[1,20]
とかなっても意地で1行で書くのが真のプログラマなの?
530:デフォルトの名無しさん
22/09/26 20:06:14.07 K2FDfZLG0.net
突然どうした
職場のグチか?
531:デフォルトの名無しさん (ワッチョイ 9e66-Y+SS)
[ここ壊れてます] .net
delete_ifが2つ続いてるとか
mapした後にdelete_ifとか
何か良くない匂いがするとは思う
532:デフォルトの名無しさん
22/09/27 15:25:57.97 +SNgMDTOM.net
>>529
意図が伝わりやすければメソッドチェーンでつなげること自体は何の問題もない
ただ1行で書くかと言われれば普通は改行して読みやすくメンテしやすくする
1行でも許容できる内容かどうかは引数含めて書いてもらわないとなんとも言えない
533:デフォルトの名無しさん
22/09/28 17:10:39.21 BXnMv7Uva.net
最近メソッド10個くらい繋げたコード書いたけどごく当たり前のコーディング
真のPGはmethod_missingの魔術コード書ける人だよ
534:デフォルトの名無しさん
22/09/28 17:43:18.00 BXnMv7Uva.net
サーバー側のrubyバージョンが古い時にローカル実行用スクリプトで3.0機能使ったコード書いていいものか迷う
もしかしたらいつかサーバー側にコード持っていく可能性もある
書いてもいいのかな?
535:デフォルトの名無しさん
22/09/28 18:23:25.60 FVicjk6YM.net
どうせコンテナで動かすんだからどうでもいいだろ
今時サーバーにグローバルにインストールされたRubyに依存してるような腐った運用してる環境なら、イキって変なことするのはやめておけ
536:デフォルトの名無しさん
22/09/28 18:40:33.30 BXnMv7Uva.net
コンテナ?
3日1回程度実行するスクリプトをこっちで行うかサーバーに持ってくかという話
こっちもpc常時起動してるわけじゃないから、正確に確実に実行するならサーバーで走らせ続けるほうが楽ではあるが
ここまで書いて気づいたけどサーバーのメモリ余計に使う事になるからやっぱやめる
537:デフォルトの名無しさん
22/09/28 19:07:17.74 fVRflvZP0.net
サーバの古いRubyコードをモジュールで使うわけじゃないなら
枯れたPerlで書けば解決
538:デフォルトの名無しさん
22/09/28 21:33:55.99 BXnMv7Uva.net
ん?いや古いモジュールとかじゃなくて、
ローカル実行でもサーバー実行でも良いコードを、どちらへもっていくか みたいな話
539:デフォルトの名無しさん
22/09/28 22:47:37.12 sYls8uor0.net
いまどきのRubyで書くと互換性の問題がでるなら
いっそPerlで書いたらという話
540:デフォルトの名無しさん
22/09/28 22:59:32.60 7XofIB3Ar.net
>枯れたPerlで書けば解決
正しいこと言ってるのに何故だか寂しくなる
541:デフォルトの名無しさん
22/09/28 23:22:18.60 BXnMv7Uva.net
Perlはないかなー
3.0だと構築しやすい環境があって
それがサーバーバージョンだと構築できるか不明で、
Perlだと普段使ってないんで
Perlのどのバージョンでどのモジュールバージョンがインストール有効か全く知らないので、さらに構築できる可能性が薄い、、
542:デフォルトの名無しさん
22/09/29 09:14:41.01 S94uJYpZ0.net
こういうのもYAGNIって言うのかな?
543:デフォルトの名無しさん
22/10/02 23:00:07.08 P9RAxpp00.net
Perlの互換性をあなどるな!
Rubyごときの常識では測れぬぞ!
544:デフォルトの名無しさん
22/10/03 22:36:01.59 mZNxA8zN0.net
perlは28年メジャーバージョン変えてないだけだろw
変えたらモジュールが全く付いていかず
後付けで別言語だったことにされた始末w
7にすると言った後もスルスル詐欺。もう崩壊寸前。
545:デフォルトの名無しさん
22/10/04 10:04:15.06 bSK5XELIM.net
rubyも変えない基本機能だけ永年保証版をつくればいいか
546:デフォルトの名無しさん
22/10/04 22:14:05.98 UryqQ3PG0.net
先がないって意味では似た者同士