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
先がないって意味では似た者同士
547:デフォルトの名無しさん
22/10/05 08:09:51.42 I8FgU9ZAa.net
rubyで書かれたサイトはみんな死んでperlで書かれたmixiが生き残った
これも現実
548:デフォルトの名無しさん
22/10/05 20:16:53.48 CqdeFZnf0.net
>>544
Perl7は、Perl5最終版をほぼそのまま引き継ぐんやろ。
せやから問題ないはず!
549:デフォルトの名無しさん
22/10/05 21:04:39.92 qbCtmsWUa.net
perlの省略記法が上手くrubyにくれば文句ないんだけどな
_1 ってところまでは来たけどあと少し
マジックナンバーも覚えちゃえば効率良い
550:デフォルトの名無しさん
22/10/05 21:34:32.70 2RK+LAqWr.net
perlの省略記法好きなんだけどプロジェクトだと使いづらいんだよな……
551:デフォルトの名無しさん
22/10/10 21:33:09.97 mVWGK/1kp.net
教えてください。
redditのr/rubyを読んでいて、以下のようなサンプルコードを書く人がいました。
lambda do
p 1
p 2
p 3
end[]
lambda {
p 1
p 2
p 3
}[]
-> {
p 1
p 2
p 3
}[]
このサンプルを書いた人は、Procとか、lambdaを使った書き方の違いを説明したかったようなので
議論の本質から外れるのですが、
Endや}の後の[]は、どんな意味があるかお分かりになりますでしょうか。
552:デフォルトの名無しさん
22/10/10 21:54:11.50 vcZFFA/Ea.net
URLリンク(docs.ruby-lang.org)
lambdaメソッドで生成したProcオブジェクトの実行です
553:デフォルトの名無しさん (オッペケ Sr03-mdlF)
[ここ壊れてます] .net
callしてるんでしょ
554:デフォルトの名無しさん
22/10/11 14:17:27.31 17+/w9Hg0.net
手続きオブジェクト・Proc は、
Proc.new, Kernel#proc, Kernel#lambda, -> 引数{ 処理 } で作れます。
Procを呼び出すには、Prco#call, Proc#[] を使う
g = -> x, y { x + y }
p g.call( 3, 4 )
p g.( 3, 4 )
p g[ 3, 4 ]
p -> x, y { x + y }[ 3, 4 ]
これらは全て、7 と出力される
最後のものは、JavaScript のIIFE (Immediately Invoked Function Expression; 即時実行関数式)みたいなものか?
定義されると同時に実行される
555:デフォルトの名無しさん
22/10/11 21:55:19.45 bcaE1HrEp.net
>>552さん
>>553さん
>>554さん
教えていただき、ありがとうございます。
こういうcallの仕方があるって知りませんでした。
556:デフォルトの名無しさん
22/10/11 21:57:33.74 bcaE1HrEp.net
>>554さん
p g.yield(3,4)もありますね。
557:デフォルトの名無しさん
22/10/12 03:59:02.03 rjG+co3La.net
色々あるけどrubyは多種多様な人達がどれかを選択するためにあるっつうイメージだから
自分が使うものは限定したほうが良いよ
Proc.new proc lambdaも詳細動作ちげーし
558:デフォルトの名無しさん
22/10/12 23:19:24.53 liNTEmfl0.net
しかし、Perlの融通無碍さを罵倒してたんちゃううんかい!
559:デフォルトの名無しさん (ブーイモ MM86-N9Fb)
[ここ壊れてます] .net
コンバージョンプログラムいろいろとあるよ
知らないだけじゃない?
Java to Kotlinとか
560:デフォルトの名無しさん (オッペケ Sr03-mdlF)
[ここ壊れてます] .net
AltJS系も広義ではそうじゃないか
Opalとか
561:デフォルトの名無しさん (アウアウウー Sa2f-kHT+)
[ここ壊れてます] .net
そういう0か100%かってのじゃなく、AIプログラミングに繋がる話だと思うけどね
562:デフォルトの名無しさん (ブーイモ MM27-N9Fb)
[ここ壊れてます] .net
AI翻訳を通さないと何言ってるのかわからないや
563:デフォルトの名無しさん (テテンテンテン MM7f-NBC3)
[ここ壊れてます] .net
>>566
プログラム言語に依るのだろう
RubyからPythonはできそうな気がするけど、C++からForthとかはあまりにも違いすぎて無理…
そう考えると、言葉よりもプログラム言語の方が違いが大きすぎるって事だな
564:デフォルトの名無しさん (ワッチョイ 2b84-TyQf)
[ここ壊れてます] .net
>>566
> たくさんの言語を同時相互翻訳できるのに、
一般の言語で、完全に相互翻訳できるわけない
565:デフォルトの名無しさん (テテンテンテン MM7f-WdpF)
[ここ壊れてます] .net
slack の ruby-jp ってどこかに移転しました?
566:デフォルトの名無しさん (ワッチョイ 4b33-CxPv)
[ここ壊れてます] .net
>>566
やればできないわけもないんやから、結局は需要がない、ということやろ。
人の言葉は意志疎通のための翻訳やからアリ。
しかし、コンピュータ言語の翻訳結果は再利用のためのリソースを期待されがちやけど、ほぼムリなんでナシ。
実際、再利用でない実行のための変換なら、多用されとる。
コンパイラもそうやし、WebAssemblyなんかそのためやろし。
567:デフォルトの名無しさん (ワッチョイ 2b4f-spri)
[ここ壊れてます] .net
Haxeは、JavaScript(JS)、C++、C#、Java、JVM、Python、Lua、PHPを対象とする、
クロスプラットフォームアプリケーションを構築可能で、
各プラットフォームのネイティブ機能にアクセスできる、
オブジェクト指向のプログラミング言語
主に、HTML, JS ゲーム用で、Adobe Flash の後継。
Ruby には対応していない
568:デフォルトの名無しさん
22/10/18 13:36:19.02 fjjhfMGv0.net
「改訂2版 Ruby逆引きハンドブック」の「文字列を分割する」の所で、
split で構造体を定義するのは参考になる
Struct_Fields = %i(a b c) # フィールド名のシンボル配列
Foo = Struct.new( *Struct_Fields ) # 配列展開
input_data = ":x::y:" # コロン区切り
# ["", "x", "", "y"] 内の ["", "x", "y"] を取り出す
p tmp_ary = input_data.split( ":" ).values_at( 0, 1, 3 )
p obj = Foo.new( *tmp_ary )
#=> <struct Foo a="", b="x", c="y">
569:デフォルトの名無しさん
22/10/18 20:49:59.26 gz5lMMWOr.net
書き捨てのコードならいいけど微妙じゃね
570:デフォルトの名無しさん
22/10/19 21:20:50.39 Lu+vrvAs0.net
values_atが便利だなと
571:578
22/10/20 13:24:43.57 zGrDbuOl0.net
values_at に、range も渡せる
# ["", "x", "", "y"] 内の ["y", "", "x"] を取り出す
p tmp_ary = input_data.split( ":" ).values_at( 3, 0..1 )
下のinput_1 の出力が、なぜ、
["", "", "y", ""] にならなかったのだろう
冒頭のコロンの前には、"" があるのに、
末尾のコロンの後ろには、"" がない
# コロン区切り
input_1 = "::y:"
input_2 = "::y:a"
p input_1.split( ":" )
p input_2.split( ":" )
出力
["", "", "y"]
["", "", "y", "a"]
572:デフォルトの名無しさん
22/10/20 14:02:28.80 fK+SugQF0.net
URLリンク(docs.ruby-lang.org)
ドキュメントに書いてるが
limit < 0
で末尾も残る
なぜかは知らんがなにか他の挙動にあわせたんだろう
573:578
22/10/20 18:34:41.93 zGrDbuOl0.net
ありがとう。そういうオプションがあったのか
# コロン区切り
input_1 = "::y:"
p input_1.split( ":" )
p input_1.split( ":", -1 )
出力
["", "", "y"]
["", "", "y", ""]
574:デフォルトの名無しさん
22/11/15 15:14:40.66 BxxcZFiKM.net
NSA、可能な限りメモリ安全なプログラミング言語を使うことを推奨
URLリンク(developers.srad.jp)
C#・Go・Java・Ruby・Rust・Swiftなど
python脱落
575:デフォルトの名無しさん
22/11/15 20:50:38.98 u4oN4nv30.net
たしかに、TMをつけてまでRubyを挙げるのに、Pythonを挙げないのは意味がわからんな。w
伝統と信頼のPerlを入れろよ!とも思うし。
576:デフォルトの名無しさん
22/11/15 21:03:39.07 8tiGCKxN0.net
VMもそこらの拡張もそこまで安全に書けてると思えんが
577:デフォルトの名無しさん
22/11/15 22:17:37.16 9MQlhJri0.net
Python は字数の多さが敗因だろうな
578:デフォルトの名無しさん
22/12/28 13:12:25.93 +yyf2wj20.net
Ruby 初心者が最初に絶対に身に着けないといけない常識って
ユーザーグループのキモい人達への無条件の敬意と忠誠(を払ってるフリ)じゃね
579:デフォルトの名無しさん
22/12/28 13:30:38.49 xff+tzRk0.net
何言ってんだ、こいつ?
580:デフォルトの名無しさん
22/12/28 22:34:40.01 SmTZmVnPr.net
rails slackはそんな雰囲気ではないが何のこと言ってるんだか
581:デフォルトの名無しさん
22/12/28 22:34:54.53 SmTZmVnPr.net
railsじゃなくてruby-jpか
582:デフォルトの名無しさん
22/12/31 14:21:30.95 MXKHIln50.net
Rubyの静的型ってみんな使ってんの?
583:デフォルトの名無しさん
23/01/01 10:40:08.74 ZyLRd4DP0.net
スレリンク(hp板:331番)
から誘導されて来ました。
JavaScriptで日付が変わると自動で音が鳴るというものを作るにはどうしたらいいですか?
584:デフォルトの名無しさん
23/01/01 13:19:44.80 TB0Q4LnJ0.net
スレタイみて誘導がイタズラだと思わんかったん?
585:デフォルトの名無しさん
23/01/01 13:40:43.56 SpXTBx4O0.net
JavaScriptで日付が変わると自動で音が鳴るというものを作るにはどうしたらいいですか?
586:デフォルトの名無しさん
23/01/01 16:55:07.16 oLAa0eV20.net
perl好き
ruby嫌い
crystal好きだが
crystalもパッケージ増えていくとぐちゃぐちゃになるんだろうな
587:デフォルトの名無しさん
23/01/12 17:09:40.21 qeO58bDma.net
#! ruby
# -*- coding: UTF-8 -*-
require 'libev_scheduler'
Fiber.set_scheduler(Libev::Scheduler.new)
puts "Go to sleep!"
Fiber.schedule do
puts "Going to sleep"
sleep(1)
puts "I slept well"
end
puts "Wakey-wakey, sleepyhead"
exit
588:デフォルトの名無しさん
23/01/12 17:16:55.61 qeO58bDma.net
途中で送信した
URLリンク(docs.ruby-lang.org)
のサンプルを試してみたのだが、
Go to sleep!
Going to sleep
Wakey-wakey, sleepyhead
I slept well
と表示されるはずが、何故か実際に実行すると
Go to sleep!
Wakey-wakey, sleepyhead
Going to sleep
I slept well
と表示されてしまう
Fiber,schedule は、Fiber を新規作成して即時実行のはずなので、ドキュメントの通り Going to sleep が先に動くはずなのに何故順番が逆になっているのかさっぱりわからない?
どういうことだろう??
589:デフォルトの名無しさん
23/01/12 17:42:17.84 k/txfnyN0.net
今どき2行目が必要な環境ってある?
コードは全部ASCIIだし脳死で書いてない?
>Fiber,schedule は、Fiber を新規作成して即時実行のはず
これを信用するとしてputsもI/Oだからとか(しらんけど)
配列pushなんかに変えてみて最後に出力してみては
590:デフォルトの名無しさん
23/01/14 16:20:53.55 XG+wNT9X0.net
irb 1.6.2(ruby 3.2.0付属)について質問です。
文字入力時には自動補完せず、タブキーを押したときに自動補完させるにはどうすればよいでしょうか?
入力時の自動補完だと入力の邪魔になってしまうので任意のタイミングで自動補完させたい、という意図です。
.irbrcに IRB.conf[:USE_AUTOCOMPLETE] = false (あるいは --noautocomplete で起動)
とした場合、タブキーで補完候補が一気に出力されてしまい補完候補の選択ができませんでした。
591:デフォルトの名無しさん
23/01/14 23:55:35.78 v+aDVA7Ga.net
Stack Overflow 2023年の年収。高中低
Ruby, Elixir : 9.3 万ドル
Go : 8.9
Rust : 8.7
Python : 7.1
TypeScript, C# : 7
Kotlin : 6.9
C++ : 6.8
C : 6.7
JavaScript : 6.6
Java : 6.5
HTML/CSS : 6:4
VBA : 6:2
PHP : 5
Dart : 4.4
592:デフォルトの名無しさん
23/01/15 03:00:28.41 6m68H/Iaa.net
確かに、puts もI/O だから、表示される順番は確定しないのかも
593:デフォルトの名無しさん
23/01/15 03:04:07.46 6m68H/Iaa.net
>>590
irb よりも、VSCode の拡張機能・Code Runner を使えば?
右クリックメニューから、ファイル全体または選択したコード片を実行できる
594:デフォルトの名無しさん
23/01/15 16:50:45.07 aMclAZtfa.net
>>589
なるほど、と試した結果
r=[]
r << "Go to sleep!"
Fiber.schedule do
r << "Going to sleep"
sleep(1)
r << "I slept well"
p r
end
r << "Wakey-wakey, sleepyhead"
p r
exit
# ["Go to sleep!", "Wakey-wakey, sleepyhead"]
# ["Go to sleep!", "Wakey-wakey, sleepyhead", "Going to sleep", "I slept well"]
ドキュメントには即時実行とあるけど、メインの最後まで実行してから動き始めているように見えますね
Fiber.schedule do
に与えたブロック同士では想定通りの実行切り替えはされるようですが、ドキュメント通りの動きには何故かなっていない模様……
595:デフォルトの名無しさん
23/01/15 16:52:49.17 aMclAZtfa.net
一行目がexitの前の出力で、2行目が Fiberのブロックからの出力です
596:デフォルトの名無しさん
23/01/22 21:54:06.16 mu8Nl5mu0.net
RubyのBigdecimalの最大桁数っていくつ?
puts (BigDecimal("2",1000) ** ((BigDecimal("2",1000) ** (BigDecimal("1031",1000) - BigDecimal("1",1000))) - BigDecimal("1",1000))) * (BigDecimal("2",1000) - (BigDecimal("2",1000) ** BigDecimal("-3705346855594118253554271520278013051304639509300498049262642688253220148476920",1000)))
が計算できない。
URLリンク(ideone.com)
597:デフォルトの名無しさん
23/02/06 12:23:28.94 t0SsOUx4a.net
パソコンのメモリサイズが大きければ、大きくなるのかも。
Bigdecimal の最大桁数の設定は無いの?
Elixir では、130GB メモリで、
1秒間に、5千万の小プロセスを起動できたという記事を見た
598:デフォルトの名無しさん
23/02/23 19:35:23.59 bE7hCXJI0.net
公式サイトの日本語ドキュメントって内容ものすごく古いままなんだな
例えばC API一覧にrb_compile_cstrが載っているが2.7.7や3.2.1のヘッダファイルにはこの関数は無い(他にも無い関数が多数ある)
WebArchiveから1.8のソースを入手してみたら存在したわ
少なくともC APIを使おうと思ったら英語版ドキュメントを参照しないとだめだな
599:デフォルトの名無しさん
23/02/23 20:04:10.36 bE7hCXJI0.net
英語ドキュメント読んだらあっさりできましたわ
日本語ドキュメントには「1.xの頃のまま更新していません。最新版は英語版を見てね」と注記しておくべきだと思った
そりゃ「まだまだ書き直しが必要です」と書いてあるけどそんな古いままとか思わんやん
// rubyスクリプトで定義した関数fをCから呼び出す
#include <ruby.h>
int main()
{
ruby_init();
VALUE v = rb_eval_string("def f\np 'Hello'\nend");
rb_funcall(v, rb_intern("f"), 0, 0);
ruby_cleanup(0);
return 0;
}
600:デフォルトの名無しさん
23/02/24 13:11:19.67 lmfpmsq50.net
やる気見せんかーい
601:デフォルトの名無しさん
23/02/24 20:23:01.89 esYaZE7H0.net
ごめんなさい609のコードだとVisual Studioではruby_initでクラッシュするみたい
正しい初期化は下記の模様
linuxだと609のコードでも何故か動いてしまったけど
// rubyスクリプトで定義した関数fをCから呼び出す
#include <ruby.h>
int main(int argc, char *argv[])
{
ruby_sysinit(&argc, &argv);
RUBY_INIT_STACK
ruby_init();
ruby_init_loadpath();
VALUE v = rb_eval_string("def f\np 'Hello'\nend");
rb_funcall(v, rb_intern("f"), 0, 0);
ruby_cleanup(0);
return 0;
}
602:デフォルトの名無しさん
23/03/02 01:01:19.02 C78KeSuO0.net
手動でgem installしたものって
> gem list | grep -v default:
debase (0.2.5.beta2)
debase-ruby_core_source (3.2.0)
debug (1.7.1)
matrix (0.4.2)
minitest (5.17.0, 5.16.3)
...
をメモっておけば別PCでも同じ環境を再現できますか?
603:デフォルトの名無しさん
23/03/03 01:21:26.43 kpW9zhd70.net
railsチュートリアルやってるけどminitest難しいなあ
実際の現場も使ってるんですか?それともRspec?
どちらも難しいのかね
604:デフォルトの名無しさん
23/03/04 19:37:33.36 ggY8eI1VD.net
まず、gem のダウンロード時に、ドキュメントをダウンロードしたくなければ、
各ユーザーのホームディレクトリに、.gemrc ファイルを作って、以下の2行を書いておく
install: --no-document
update: --no-document
既にダウンロードしたドキュメントも全て削除する
次に、gemでbundler をダウンロードする。
その後は各プロジェクト毎に、gemではなく、
複数のモジュールの依存関係を解決する、bundlerを使えばよい
Gemfile/Gemfile.lock ファイルは、
JavaScript のpackage.json/package-lock.json/yarn.lock ファイルと同じ
お勧めは、irb を使わず、
VSCode で拡張機能・Code Runner を使う。
これは右クリックメニューから、ファイル全体または選択したコード片を実行できる
さらにRuby on Rails なら、WSL2, Linux, Docker Desktop も使う
多言語バージョンマネージャーは、
日本人が作ったanyenv で、rbenv, nodenv なども使える。
asdf もある
Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv
605:デフォルトの名無しさん
23/03/05 08:30:53.03 eEwP+0xWa.net
Code Runnerを気軽に勧める人おるが
アレわりと邪悪な拡張だと思うんだよなぁ
ちゃんと環境作ったほうがいいし
簡易ですませる場合もコンソール使った方がよくない?
606:デフォルトの名無しさん
23/03/05 08:36:16.49 TCOo6fxCa.net
邪悪というと、語弊があるか
…邪道もしくは害悪あたり
アレがファイルではなくコードを実行してるあたりを認識せずにハマってる初学者何人か見た
607:614
23/03/07 01:04:58.17 oFQklhQHa.net
山田祥寛のRuby 3 の本でも、MSYS2 のRuby Installer を使っているけど、
VSCode の拡張機能・Code Runner を使っている
Code Runner では、この設定をチェックしておくと良い。
Code-runner: File Directory As Cwd
Whether to use the directory of the file to be executed as the working directory.
そうすると実行時にcd で、そのファイルがある場所へカレントディレクトリを移動してから、
ruby "絶対パス/ファイル名.rb"
又は、ruby "絶対パス/tempCodeRunnerFile.rb"
で、そのファイルを実行する
tempCodeRunnerFile.rb は、Rubyのコード片をコピーした一時的なファイル
設定項目、executorMap には、多くの言語の実行コマンドが書いてある。
"code-runner.executorMap": {
"javascript": "node",
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"python": "python -u",
"ruby": "ruby",
608:デフォルトの名無しさん
23/03/07 02:03:47.62 vk4APYnr0.net
そもそもWindowsを使うべきでないし、
MSYS2も使うべきでないし、
Code Runnerなんか使うべきでない
609:デフォルトの名無しさん
23/03/07 08:33:17.73 eOMIe0zX0.net
Progateというプログラミング学習サイトのRuby on Rails5の開発環境を用意しようコースで、rubyのバージョン確認、SQLのインストール、Railsのインストールまではスムーズ行えたんだけど、その次のRailsアプリケーションという所でコマンドプロンプトを使って《rails new ファイル名 -G》のコマンドを入力すると、下の方に下記のようなエラーが複数出てきてその後の《rails server -G》のサーバー起動の時にも同じエラーが出て上手くいかない。
どうすれば良いんですか?エラー内容を見ても分からない。
それぞれのバージョンは
【Ruby】ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [x64-mingw32]
【Rails】Rails 7.0.4.2
【PC】64 ビット オペレーティング システム、x64 ベース プロセッサ
エラーは
C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:50:in `match?': invalid byte sequence in UTF-8 (ArgumentError)
from C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:50:in `chop_basename'
from C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:374:in `plus'
from C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:354:in `+'
from C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:420:in `join'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/settings.rb:444:in `global_config_file'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/settings.rb:93:in `initialize'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler.rb:331:in `new'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler.rb:331:in `settings'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/env.rb:20:in `report'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/friendly_errors.rb:72:in `request_issue_report_for'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/friendly_errors.rb:50:in `log_error'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/friendly_errors.rb:109:in `rescue in with_friendly_errors'
from C:/Ruby30-x64/lib/ruby/3.0.0/bundler/friendly_errors.rb:101:in `with_friendly_errors'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.33/libexec/bundle:37:in `<main>'
610:デフォルトの名無しさん
23/03/07 10:07:23.72 eOMIe0zX0.net
OSはWindows11 home 22H2です
611:デフォルトの名無しさん
23/03/07 10:44:28.93 0yJrO03Z0.net
VisualStudioCodeでRailsの環境構築が上手くできません
URLリンク(ja.stackoverflow.com)
ここにあるのと同じハマり方してるなら、ユーザー名が日本語になってて
ハマってるパターンかなあ。
自分ならとりあえず指示通りにC:\TempとC:\Homeフォルダを作ってコマンドプロンプトで
set TMP=C:\Temp
set HOME=C:\Home
して試してみるかな。
駄目なら次は新しくアルファベットのみでユーザー作って試す。
途中で再インストールも辞さない構え。
612:デフォルトの名無しさん
23/03/07 10:49:58.83 0yJrO03Z0.net
どうしても解決できないがRailsに触ってみたいなら
Railsチュートリアルに従ってCloud9上でやるか(多分クレカが必要)
WSLの導入を検討するかかなあ。
昔もフォルダ名にスペースが含まれたり日本語が含まれてて
動かんとかよくあったけどいまだにあるんだなあ。
613:デフォルトの名無しさん
23/03/07 11:38:27.82 eOMIe0zX0.net
>>611
ユーザー名は日本語ですねwひらがな2文字です。
それがそんなに影響してるんすね
614:デフォルトの名無しさん
23/03/07 12:50:55.71 eOMIe0zX0.net
>>611
とりあえずユーザー名を変えて試してみたらいいんですかね?
615:デフォルトの名無しさん
23/03/07 14:06:24.57 0yJrO03Z0.net
>>614
多分単純にユーザー名変えるだけだとフォルダ名は変わらないから駄目なんじゃないかな。
新しくアルファベットのみのユーザー作って、そのユーザーでログインしないと。
ただ、それをすると今のユーザーの設定は引き継がれないし
Rails使う時だけそのユーザーにログインしないといけなくなるのでちょっとめんどくさいかも。
616:デフォルトの名無しさん
23/03/07 14:10:48.58 vk4APYnr0.net
だから、初心者ほど、あれほどWindowsを使うなと言っているわけで
617:デフォルトの名無しさん
23/03/07 14:22:52.66 0yJrO03Z0.net
RailsチュートリアルでCloud9をわざわざ使ってるのも環境統一できるからだしなあ。
自分がどうしてもWindowsマシン1台でやれって言われたらWSLでUbuntu入れて
そこでやる。
618:デフォルトの名無しさん
23/03/07 14:23:46.47 eOMIe0zX0.net
>>615
ユーザー名を変えた後にrubyをアンインストールして入れ直したりしても無理なんですかね?
619:デフォルトの名無しさん
23/03/07 14:40:43.15 msqWHE5U0.net
Windows固有の問題も聞かないと解決できないんだし
WSL2でやるのがまちがいないよ
このあともネイティブ拡張や外部プログラムに依存してるgemで絶対ハマる
620:デフォルトの名無しさん
23/03/07 14:51:13.04 eOMIe0zX0.net
>>615
rails使う時だけで良いですね、指示通りにできなくてどうしてもやりたくてモヤモヤしてるだけなんで。
なんなら新しいユーザーをrailsにしようとおもいます
621:デフォルトの名無しさん
23/03/07 15:00:44.35 0yJrO03Z0.net
>>620
やってみて、できたら報告してくれるとうれしい。
それでも駄目ならWSLについて調べてそっちでやれば割とすんなり行くんじゃないか。
ググるかqiita調べれば記事いっぱいでてくるだろう。
622:デフォルトの名無しさん
23/03/07 15:58:28.99 CdvGJ9oAa.net
>初心者ほど、あれほどWindowsを使うな
Rubyに関しては同意
っていうかRubyもうオワコンで良くね
623:デフォルトの名無しさん
23/03/07 15:59:29.31 eOMIe0zX0.net
よく分かんないんすけどWindowsでrubyを触ること自体あまり良くないんすか?
624:デフォルトの名無しさん
23/03/07 16:12:13.76 09h4aa1hp.net
Rubyとjava選べるならどっちやるよ?
625:デフォルトの名無しさん
23/03/07 19:56:32.42 cliNPotC0.net
そもそもWindows上でプログラミングすることがあんまり推奨できない
パスとか漢字コードとか引っかかるところ大杉
626:デフォルトの名無しさん
23/03/07 20:15:30.84 uRhwCRx20.net
>>625
じゃあMacとかが良いんですかね?
627:614
23/03/07 20:27:30.71 wbYp+Qgwa.net
>C:/Ruby30-x64/lib/ruby/3.0.0/pathname.rb:50:in `match?'
: invalid byte sequence in UTF-8 (ArgumentError)
ウェブ系では全言語で、Windows の日本語・CP932(shift-jis), UTF-16 がダメ。
それで、MSYS2 でバグる
日本語のユーザー名やファイルパス、
C:\Program Files などのファイルパス中の半角空白もヤバイ
\ もダメだから、例えばPython では、
C:\Users\Owner\Desktop を、C:\\Users\\Owner\\Desktop みたいに書いている。
Rubyでは、C:/Users/Owner/Desktop と書ける
でも、全言語の入門書ではLinux ではなく、MSYS2を使う。
理由は、初心者がLinuxの勉強するのを避けるため
そこで、日本語でバグらないように一計を案じたのが、
irb ではなく、VSCode の拡張機能・Code Runner を使う方法
本当はRails のローカル開発なら、
WSL2, Linux, Docker Desktop, Windows Terminal を使う。
YouTube のDeanin の動画を参照
これは、ハイパーバイザーでLinuxも起動するから、
メモリ8GB ぐらいのパソコンでもキツイ
628:デフォルトの名無しさん
23/03/07 20:50:01.17 PDMeVJPD0.net
シェア大きいデスクトップOSから小さいOSに行っても仕方がない。
個人のスクリプトなんて殆どはデスクトップのちょっとした自動化やツール作成に過ぎんしWebでもRubyは落ちていくだけなんだから。
プログラミング言語やそのライブラリが不出来なのが原因で
自分のOS乗り換えるとか馬鹿げすぎてる。
殆どの人にとって本末転倒。
629:デフォルトの名無しさん
23/03/07 21:18:43.59 uRhwCRx20.net
皆さん本当にありがとうございます!なんかよく分からないけど解決しましたわ!
変えたのは新しいユーザー名でローカルアカウントを管理者で追加しただけっす。
まさかこれだけが原因だとは思ってもいなかった、名前変えただけで解決するとは。
数日のモヤモヤが消し飛んだ!よく眠れそう!!
これでどういうアプリケーション作ろうか考えながら日々を過ごせるデュフフ!
助かった!!!
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
630:デフォルトの名無しさん
23/03/07 21:45:18.69 vk4APYnr0.net
>>628
それは違うな
WindowsのOS自体が不出来なのが原因
631:デフォルトの名無しさん
23/03/07 22:39:47.28 msqWHE5U0.net
不出来なんて書くから荒れる
PythonやUnityと違って元々Windows想定してないだけで
無理やりポーティングした連中が周辺含めて面倒みきれてないのが悪い
632:614
23/03/07 22:44:38.18 uM/T9lOBa.net
黒田努の3冊が分かりやすい
改訂4版 基礎 Ruby on Rails、黒田努・佐藤和人、2018/9
Ruby 2.5.1, Rails 5.2 の本
Ruby on Rails 6 実践ガイド、黒田努、2019/12
Ruby on Rails 6 実践ガイド[機能拡張編]、黒田努、2020/5
基礎 Ruby on Rails を読んだら、
確か、Rails チュートリアルのRails 5 なら無料で見れる
昔は皆、Cloud 9, Heroku で作っていたけど、
Herokuの無料枠が無くなったのか?
YouTube で有名な雑食系エンジニア・KENTA の初心者向けRailsサロンなら、月千円。
他には、Rails専業のRUNTEQ、東京フリーランスのデイトラなど
MSYS2 では、またデータベースでバグったりする。
基本的に、CP932 で動くようなモジュールは無い。
CP932の事を知っている外人は、どこにもいない!
633:デフォルトの名無しさん
23/03/07 23:30:51.04 ezUrq35ga.net
WindowsとUnix互換の違いを理解していないと
RubyをWindowsで使った際に発生するトラブルに対処するのは難しい
それだけよ
634:デフォルトの名無しさん
23/03/08 01:55:42.14 qj+ABtmuM.net
>>631
Pythonが元々Windows想定してる?
ご冗談を
635:デフォルトの名無しさん
23/03/08 03:21:16.01 nSIfG2D90.net
とにかく、WindowsでWSL以外のUnix系環境は、一切入れないぐらい決め込んで、Windowsと付き合うぐらいのほうがいい
WSL以外に、CygwinとかMSYSとか入れるべきでない
(もちろん、分かっているならば、共存できるが、無駄以外の何ものでもない)
>>631
それを言うなら、Pythonもひどい
636:デフォルトの名無しさん
23/03/08 07:16:52.80 USFtIbBoM.net
WSLあるし今はあんま流行ってないけどvirtualboxでvagrant環境とかね
そういえばVagrantfileはrubyで書かれてたんだっけ
637:デフォルトの名無しさん
23/03/09 14:33:04.41 lc0skjdva.net
>>627
シレっと嘘を描くな
おまえ KENYA 信者か本人だろ
638:デフォルトの名無しさん
23/03/21 08:40:41.77 HajkMPAQ0.net
Windows版ではじめたんですがirbのヘルプ機能やriで反応がなくなって困ってます
確実に再現できる手順はこんな感じ
1. irb を起動して Stri まで打ってタブ補完
2. ドキュメントの先頭が表示されたら Alt+d で全体表示
3. ヘルプのページャーを抜ける(lessを使ってるのでqを入力)
4. 画面がページャーから戻るがキーへの反応なし
ヘルプを活用したいのですが付き合い方を教えてください
639:デフォルトの名無しさん
23/03/21 18:26:48.47 C2q9ydgP0.net
#include <ruby.h>したプログラムでfcloseを呼び出したらrb_w32_fcloseという関数が呼び出されてその中でエラーになる現象に出くわした
rb_w32_fcloseでぐぐったらずばりruby.hから#includeされているwin32/win32.h中で「#define fclose(f) rb_w32_fclose(f)」されているのが原因と解説しているサイトがあった
しかしこの解説は14年前の記事だよ!?ruby 3.2.1でもこの#defineが残っていて同じ問題が起きるよ!?
標準ライブラリ関数であるfcloseを#defineするなどという行儀の悪いことをしたばかりか3.2.1でもまだ直っていないとはどういうことであろう