プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 59
http://echo.2ch.net/test/read.cgi/tech/1475394638/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
Ruby 初心者スレッド Part 60 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/04/29(土) 02:01:58.34ID:urVXnFrH
361デフォルトの名無しさん
2017/06/18(日) 08:29:35.01ID:F94toio2 ダックタイピング任せはメンバの追加がしづらいのも問題
静的型ならインターフェースにメンバを足せばコンパイルエラーになるからエラー箇所を直せばいいが
完全なダックタイピングだと手掛かりがなく修正漏れが発生しやすい
とりあえずスタブを継承させるようにしておけばメソッドを足してもメソッド未定義のエラーにはならない
静的型ならインターフェースにメンバを足せばコンパイルエラーになるからエラー箇所を直せばいいが
完全なダックタイピングだと手掛かりがなく修正漏れが発生しやすい
とりあえずスタブを継承させるようにしておけばメソッドを足してもメソッド未定義のエラーにはならない
362デフォルトの名無しさん
2017/06/18(日) 16:45:30.43ID:xPH4G83l いまさら$とか@とかつけたくないな
363デフォルトの名無しさん
2017/06/18(日) 17:45:55.35ID:MwiRGqjx364デフォルトの名無しさん
2017/06/18(日) 17:56:41.46ID:mREyO8+w Rubyのスクリプトをバックグラウンドで動かすにはどうすれば良いでしょう?
>ruby someScript.rb &
と実行してもTerminal.Appを閉じるとrubyも終了してしまいます。
OSはmacOS Sierraです。
以前、HP-UXで作業して居た時には、xtermを閉じても、logoutしてもバックグラウンドで動き続けてくれました。
launchdとかいうdeamonをコントロールするコマンドがある様なんですけど、これを使って動かさないといけないのでしょうか?
>ruby someScript.rb &
と実行してもTerminal.Appを閉じるとrubyも終了してしまいます。
OSはmacOS Sierraです。
以前、HP-UXで作業して居た時には、xtermを閉じても、logoutしてもバックグラウンドで動き続けてくれました。
launchdとかいうdeamonをコントロールするコマンドがある様なんですけど、これを使って動かさないといけないのでしょうか?
365デフォルトの名無しさん
2017/06/18(日) 18:03:58.53ID:kXxrIi51 tmux使え
366デフォルトの名無しさん
2017/06/18(日) 18:13:50.36ID:mREyO8+w >>365
レスTHX
terminal multiplexerを使えば良いのでしょうか?
someScript.rbを動かすには、someScript.plistを書いて
>launchctl load someScript.plist
ってやるらしいのですが、plistファイルなんて書いた事ないぞぉ。
書き方がよく判らん。
なにか、勘違いしてたら、ご指摘を!
レスTHX
terminal multiplexerを使えば良いのでしょうか?
someScript.rbを動かすには、someScript.plistを書いて
>launchctl load someScript.plist
ってやるらしいのですが、plistファイルなんて書いた事ないぞぉ。
書き方がよく判らん。
なにか、勘違いしてたら、ご指摘を!
367デフォルトの名無しさん
2017/06/18(日) 18:27:18.73ID:mREyO8+w >launchctl load a.plist
/work/a.plist: Invalid property list
property listの書き方がよく判らん。
ただのxmlファイルじゃないのか?コメントの放り込み方が悪いのか?
無効なproperty listだとぉー?
/work/a.plist: Invalid property list
property listの書き方がよく判らん。
ただのxmlファイルじゃないのか?コメントの放り込み方が悪いのか?
無効なproperty listだとぉー?
368デフォルトの名無しさん
2017/06/18(日) 18:38:44.94ID:mREyO8+w やったぁー。動き出しタァ。
Terminal.Appを閉じても動いてる。ふぅー。
Terminal.Appを閉じても動いてる。ふぅー。
369デフォルトの名無しさん
2017/06/18(日) 19:28:18.01ID:mREyO8+w 俺的忘備録
必須key、3つ
<key>Label</key>
<key>ProgramArguments</key>
<key>KeepAlive</key>
3つ目のやつを<true/>にしないとbackgroundで動かん!
さらに、最後のはOnDemand=falseと等価なのだが、
OnDemandはshould not use!だって。
man launchd.plistに詳細が記載。
必須key、3つ
<key>Label</key>
<key>ProgramArguments</key>
<key>KeepAlive</key>
3つ目のやつを<true/>にしないとbackgroundで動かん!
さらに、最後のはOnDemand=falseと等価なのだが、
OnDemandはshould not use!だって。
man launchd.plistに詳細が記載。
370デフォルトの名無しさん
2017/06/18(日) 19:51:32.81ID:mREyO8+w Labelが無いとどうなるんでしょう?
371デフォルトの名無しさん
2017/06/18(日) 19:54:50.51ID:mREyO8+w Invalid or missing service identifier
372デフォルトの名無しさん
2017/06/18(日) 20:02:09.12ID:mREyO8+w さて、stdoutはどうやって拾うのだ?
373デフォルトの名無しさん
2017/06/18(日) 20:13:05.46ID:mREyO8+w man lauchd.plist
して/stdout
すれば出て来た。
して/stdout
すれば出て来た。
374デフォルトの名無しさん
2017/06/18(日) 22:47:06.74ID:o43mtcr6 >>364-368
Linux では、プロセス間に親子関係がある。
端末から、Aプロセスを起動すれば、端末が親で、Aが子
「親亀こけたら、子亀もこける」から、端末が終了すると、Aも終了する。
端末から、SSHで、リモートサーバーへアクセスしても、
接続断などで、リモートのシェルが終了すると、
シェルから起動したコマンドも終了してしまう
リモートで、tmux をずっと起動させておけば、コマンドは動き続ける
他には、サービス・デーモンのように、プロセスの親をなくす(デーモン化)
ptree コマンドで、プロセスツリーを見てみ
Linux では、プロセス間に親子関係がある。
端末から、Aプロセスを起動すれば、端末が親で、Aが子
「親亀こけたら、子亀もこける」から、端末が終了すると、Aも終了する。
端末から、SSHで、リモートサーバーへアクセスしても、
接続断などで、リモートのシェルが終了すると、
シェルから起動したコマンドも終了してしまう
リモートで、tmux をずっと起動させておけば、コマンドは動き続ける
他には、サービス・デーモンのように、プロセスの親をなくす(デーモン化)
ptree コマンドで、プロセスツリーを見てみ
375デフォルトの名無しさん
2017/06/19(月) 00:00:57.99ID:7PGcweVa376デフォルトの名無しさん
2017/06/19(月) 09:53:11.25ID:JRZAs/i8377デフォルトの名無しさん
2017/06/19(月) 09:56:20.02ID:rtjcKsU2 >>376
それやっても親子関係が残るからだめだっつってるのに文盲か?
それやっても親子関係が残るからだめだっつってるのに文盲か?
378デフォルトの名無しさん
2017/06/19(月) 10:00:51.58ID:zE2VOzv5379デフォルトの名無しさん
2017/06/20(火) 00:23:19.32ID:8wgIueO/ pstree コマンドで、プロセスの親子関係をツリー表示して、見てみれば?
結局、Ruby を学んでも、OS を学んでいなければ、
システム系のプログラミングは出来ない
だから普通、プログラマーよりも、LPIC資格を持っている、
サーバー構築・運用者の方が、給料が高い
結局、Ruby を学んでも、OS を学んでいなければ、
システム系のプログラミングは出来ない
だから普通、プログラマーよりも、LPIC資格を持っている、
サーバー構築・運用者の方が、給料が高い
380デフォルトの名無しさん
2017/06/20(火) 00:54:05.18ID:uMblZ3Am × システム系のプログラミング
○ 運用系のプログラミング
○ 運用系のプログラミング
381デフォルトの名無しさん
2017/06/20(火) 08:29:32.89ID:rapwcYHc382デフォルトの名無しさん
2017/06/20(火) 10:01:32.57ID:8wgIueO/ まあ、プログラマーで、プロセスに親子関係があるとか、
cron の使い方とか、tmux とか、知っている奴はいない
cron あるあるとか、SSH あるあるとか、Linuxでは定番
cron の使い方とか、tmux とか、知っている奴はいない
cron あるあるとか、SSH あるあるとか、Linuxでは定番
383デフォルトの名無しさん
2017/06/20(火) 10:41:15.76ID:rapwcYHc >>382
プロセスに親子関係がある。コマンド実行時にshellがforkされるのは知ってたんだけど。。。
以前はnohupなんて使わなくても、
>someCommand &
とすれば
>nohup comeCommand &
した事になったのに!
いつから、nohupなんて現れたのだ?
プロセスに親子関係がある。コマンド実行時にshellがforkされるのは知ってたんだけど。。。
以前はnohupなんて使わなくても、
>someCommand &
とすれば
>nohup comeCommand &
した事になったのに!
いつから、nohupなんて現れたのだ?
384デフォルトの名無しさん
2017/06/20(火) 10:45:41.82ID:rapwcYHc どうやらbashは終了時に起動したプロセスにSIGNHUPを送るらしい。
俺が昔使って居た、csh, tcshではそんな事はなかったのに!
時代は変わったんだな。
俺が昔使って居た、csh, tcshではそんな事はなかったのに!
時代は変わったんだな。
385デフォルトの名無しさん
2017/06/20(火) 12:38:36.99ID:5s5M5H6z386デフォルトの名無しさん
2017/06/20(火) 12:39:25.49ID:5s5M5H6z387デフォルトの名無しさん
2017/06/20(火) 12:51:49.38ID:rapwcYHc zshってのが便利だってのを、webの記事でよく見るけど、
どうなん?
bashが糞なら、zshを使って見るかな。
zshもbashの親戚みたいな動きをするなら、zshも糞って事になるけど。
どうなん?
bashが糞なら、zshを使って見るかな。
zshもbashの親戚みたいな動きをするなら、zshも糞って事になるけど。
388デフォルトの名無しさん
2017/06/20(火) 13:51:30.44ID:DOO3yEYl >>387
zsh もデフォの振る舞いは bash とおなじ。
設定で setopt nohup すれば、hup 送らなくなる。
bash でも huponexit オプション外せば送らなくなる。
ソフトウェアのマニュアルも読まずに糞とか言うのは、
自分は所詮そのレベルの人間ですと言ってるようにしか聞こえないよ。
zsh もデフォの振る舞いは bash とおなじ。
設定で setopt nohup すれば、hup 送らなくなる。
bash でも huponexit オプション外せば送らなくなる。
ソフトウェアのマニュアルも読まずに糞とか言うのは、
自分は所詮そのレベルの人間ですと言ってるようにしか聞こえないよ。
389デフォルトの名無しさん
2017/06/20(火) 13:59:24.54ID:rapwcYHc390デフォルトの名無しさん
2017/06/20(火) 14:18:05.45ID:rapwcYHc >>388
うぅーん。
macOS Sierraのbashにもshopt huponexitってのがあるが、
どうも、最初からoffになってるにも関わらず、signhupを送ってる。
ためしにonにしてみたが、bash終了時にbackground実行しているプロセスが死んでしまう事に、変わりなし。
nohupコマンドを付けないと、background実行できないみたいだ。
うぅーん。
macOS Sierraのbashにもshopt huponexitってのがあるが、
どうも、最初からoffになってるにも関わらず、signhupを送ってる。
ためしにonにしてみたが、bash終了時にbackground実行しているプロセスが死んでしまう事に、変わりなし。
nohupコマンドを付けないと、background実行できないみたいだ。
391デフォルトの名無しさん
2017/06/20(火) 15:04:00.33ID:DOO3yEYl >>390
bash の終了を exit じゃなくてウィンドウ閉じるでやってない?
明示してないのにバックグラウンドで動きっぱなしになっていて欲しいユースケースってどんな時なの?
nohup/disown の方が好きな自分からは想像できないわ。
bash の終了を exit じゃなくてウィンドウ閉じるでやってない?
明示してないのにバックグラウンドで動きっぱなしになっていて欲しいユースケースってどんな時なの?
nohup/disown の方が好きな自分からは想像できないわ。
392デフォルトの名無しさん
2017/06/20(火) 15:20:19.60ID:rapwcYHc >>391
Scrapingスクリプトをproxy経由で動かす場合、proxyのレスポンスが悪いので、数時間掛かります。proxyは10箇所を順に変えながらScrapingします。
ruby someScript.rb &で即backgroundで動いて欲しいです。
まあ、慣れればいいだけかもしれんけど、nohupっていうprefixが必要なのは、ちょいとなぁ。
Scrapingスクリプトをproxy経由で動かす場合、proxyのレスポンスが悪いので、数時間掛かります。proxyは10箇所を順に変えながらScrapingします。
ruby someScript.rb &で即backgroundで動いて欲しいです。
まあ、慣れればいいだけかもしれんけど、nohupっていうprefixが必要なのは、ちょいとなぁ。
393デフォルトの名無しさん
2017/06/20(火) 15:22:05.91ID:rapwcYHc >>391
Terminal.appは動かしッパでも構わないのですが、
Vim7.4, Vim8.0が時々落ちます。その際、Terminal.appも巻き添いなんです。
すると、Scrapingも落ちちゃって困ってたのです。
Terminal.appは動かしッパでも構わないのですが、
Vim7.4, Vim8.0が時々落ちます。その際、Terminal.appも巻き添いなんです。
すると、Scrapingも落ちちゃって困ってたのです。
394デフォルトの名無しさん
2017/06/20(火) 15:23:21.50ID:rapwcYHc Vimが落ちるのはterminal typeがxterm-256colorが悪さをしていて、ansiへ変更がwork aroundだと聞いて、今様子を見ているところです。
395デフォルトの名無しさん
2017/06/20(火) 15:29:54.49ID:DOO3yEYl396デフォルトの名無しさん
2017/06/20(火) 15:36:38.36ID:rapwcYHc397デフォルトの名無しさん
2017/06/20(火) 16:02:58.26ID:HkCB1WW9 rubyスレ?
398デフォルトの名無しさん
2017/06/20(火) 16:14:40.13ID:+dHGS6wU tmux使う方が早い
399デフォルトの名無しさん
2017/06/21(水) 00:25:07.92ID:39OgiOwj >>392
> 即backgroundで動いて欲しいです。
冷静になったら、そうでないほうがたしかによい、と思うはず。
誤ってbgにしたり、bgにしたまま忘れたりした状態でログアウトした場合のリスクを考えれば。
> 即backgroundで動いて欲しいです。
冷静になったら、そうでないほうがたしかによい、と思うはず。
誤ってbgにしたり、bgにしたまま忘れたりした状態でログアウトした場合のリスクを考えれば。
400デフォルトの名無しさん
2017/06/21(水) 13:07:38.08ID:L1LFWazB むしろ、WSH で、Excel など外部アプリを起動すると、Excel のプロセスが残り続けるから、
どんどん、Excel のプロセスが増えていき、
これらをどうやって終了するのか、皆苦しんでいるんだが
どんどん、Excel のプロセスが増えていき、
これらをどうやって終了するのか、皆苦しんでいるんだが
401デフォルトの名無しさん
2017/06/21(水) 18:38:55.26ID:xJXAtiMS 残らないが?
402デフォルトの名無しさん
2017/06/23(金) 10:35:54.52ID:0OdP20aK >>399
bgの何が問題?
bgの何が問題?
403デフォルトの名無しさん
2017/06/23(金) 10:36:22.71ID:0OdP20aK >>400
馬鹿だな
馬鹿だな
404デフォルトの名無しさん
2017/06/23(金) 13:24:40.77ID:AzvmtT2M 初心者です、自作の汎用関数を定義したのですが、いちいちスクリプト内にコピペするのが面倒なので
外部ファイルにして冒頭でrequireすることにしました。
ですが、ここに具体的なファイルパスを書くと、ファイルの設置場所を変えたい場合に問題があるのでパスは書きたくないです。
require 'myfunc'
と簡便に書ければいいのですが、どこに置けばいいでしょうか?
外部ファイルにして冒頭でrequireすることにしました。
ですが、ここに具体的なファイルパスを書くと、ファイルの設置場所を変えたい場合に問題があるのでパスは書きたくないです。
require 'myfunc'
と簡便に書ければいいのですが、どこに置けばいいでしょうか?
405デフォルトの名無しさん
2017/06/23(金) 13:37:52.68ID:9PTuVR6v 現実の開発ではきちんとバージョン管理するのでフォルダの構成変更なんかそんなに頻繁にやることではない
だからリポジトリを分けるほどでもないなら気にせずパス決め打ちでいい
独立性と再利用性が高いものであればリポジトリを分けてgemにする
だからリポジトリを分けるほどでもないなら気にせずパス決め打ちでいい
独立性と再利用性が高いものであればリポジトリを分けてgemにする
406デフォルトの名無しさん
2017/06/23(金) 14:21:13.96ID:AzvmtT2M ありがとうございました
407デフォルトの名無しさん
2017/06/23(金) 14:40:20.24ID:tdHTYauf rails で、自作ライブラリの、autoload なら、
lib/モジュール名/クラス名.rb
lib/foo/bar.rb
module Foo
class Bar
ファイル名は小文字で、単語の区切りは'_'に変える
class FooBar
lib/foo_bar.rb
lib/モジュール名/クラス名.rb
lib/foo/bar.rb
module Foo
class Bar
ファイル名は小文字で、単語の区切りは'_'に変える
class FooBar
lib/foo_bar.rb
408デフォルトの名無しさん
2017/06/23(金) 14:43:58.67ID:qsHmY7yg >>404
場合によっては環境変数 RUBYLIBにmyfunc等のパスを淹れるのもあり
https://docs.ruby-lang.org/ja/latest/doc/spec=2fenvvars.html
場合によっては環境変数 RUBYLIBにmyfunc等のパスを淹れるのもあり
https://docs.ruby-lang.org/ja/latest/doc/spec=2fenvvars.html
409デフォルトの名無しさん
2017/06/23(金) 18:29:59.15ID:+um/cK3a >>400
“終了しない excel application”でググったら出てきたけどこの仕様は罠だろ・・・
“終了しない excel application”でググったら出てきたけどこの仕様は罠だろ・・・
410デフォルトの名無しさん
2017/06/23(金) 18:31:41.63ID:PAAniHx4 馬鹿には無理
411デフォルトの名無しさん
2017/06/23(金) 19:09:21.56ID:F2nCEsS4 >>409
COM経由で起動させてるんなら自動で終了する方がきもちわるい
COM経由で起動させてるんなら自動で終了する方がきもちわるい
412デフォルトの名無しさん
2017/06/23(金) 19:49:53.85ID:+um/cK3a >>411
自動化処理に使ったプロセスが不要になっても残りっぱなしの方が気持ち悪い
自動化処理に使ったプロセスが不要になっても残りっぱなしの方が気持ち悪い
413デフォルトの名無しさん
2017/06/24(土) 18:05:14.46ID:M5zFSS9+414デフォルトの名無しさん
2017/06/24(土) 18:06:46.13ID:M5zFSS9+ >>412
プロセス自身にはわからんじゃろ。。。
プロセス自身にはわからんじゃろ。。。
415デフォルトの名無しさん
2017/06/28(水) 09:33:18.25ID:+O8L6XqQ 瑕疵担保責任(かしたんぽせきにん)
瑕疵担保責任のポイント
民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない
http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt
改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている
全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html
ポイント1:修補や損害賠償、契約解除の期限がなくなる
従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。
もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
瑕疵担保責任のポイント
民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない
http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt
改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている
全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html
ポイント1:修補や損害賠償、契約解除の期限がなくなる
従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。
もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
416デフォルトの名無しさん
2017/06/28(水) 10:47:59.83ID:+O8L6XqQ 366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する
↓
Railsはマイナー、メジャーのアップデートが半年以内に必ずある
↓
客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく
↓
気づいてから1年以内に通知すれば、5年間無料保証ゲット
↓
つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する
↓
Railsはマイナー、メジャーのアップデートが半年以内に必ずある
↓
客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく
↓
気づいてから1年以内に通知すれば、5年間無料保証ゲット
↓
つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
417デフォルトの名無しさん
2017/06/28(水) 19:56:54.80ID:ZzpJpley > RubyやPHPなど動的言語は確実に廃れる。
軽々しくこういう断言する人間の言葉は話半分どころか1/4以下にして聞け、ってばっちゃが言ってた
軽々しくこういう断言する人間の言葉は話半分どころか1/4以下にして聞け、ってばっちゃが言ってた
418デフォルトの名無しさん
2017/06/28(水) 20:15:29.47ID:kl/WEkBu Rubyが現在進行形で廃れていってるのは確かな事実だけどね
419デフォルトの名無しさん
2017/06/28(水) 21:48:23.90ID:WbQwz649 ぶっちゃけて言えば、意味論的には普通なのに文法がぐちゃぐちゃすぎて使いづらい。
Perl のあまりの一貫性のなさに Ruby を試したりしたこともあるが、
多少はマシって程度でうんざりするような無茶苦茶さを指向していることにかわりない。
parse.y が黒魔術の塊だというのは聞いていたが、実際に見てみると常軌を逸している。
せっかく yacc を使ってるのに純粋な LALR として解釈できないようなわけわかんないクソが埋め込まれてて、
もはや統制が取れてない。
mruby をベースにして拡充していった方がいい気がする。
Perl のあまりの一貫性のなさに Ruby を試したりしたこともあるが、
多少はマシって程度でうんざりするような無茶苦茶さを指向していることにかわりない。
parse.y が黒魔術の塊だというのは聞いていたが、実際に見てみると常軌を逸している。
せっかく yacc を使ってるのに純粋な LALR として解釈できないようなわけわかんないクソが埋め込まれてて、
もはや統制が取れてない。
mruby をベースにして拡充していった方がいい気がする。
420デフォルトの名無しさん
2017/06/30(金) 00:38:26.19ID:UcGpMueB 使いづらいなら他の言語使えばいいじゃん
わざわざRubyスレ覗いてRubyの悪口書いてる暇があるなら他の言語でコード書こうぜ
わざわざRubyスレ覗いてRubyの悪口書いてる暇があるなら他の言語でコード書こうぜ
421デフォルトの名無しさん
2017/06/30(金) 01:21:01.84ID:svEzz20W >>420
だからもう十年以上使ってない。
事実として文法規則のごちゃごちゃしたところはあるという話だよ。
そして事実として私はそれを気に入らなかったという話だよ。
よくある場面を短く書けるとか人間の一般的な感覚に合わせたりもした結果だというのはわかっているし、
Ruby に向いた用途があるのは知ってるよ。
ただ、それの行く先には実装上の行き詰まりが生じそうだという懸念だ。
だからもう十年以上使ってない。
事実として文法規則のごちゃごちゃしたところはあるという話だよ。
そして事実として私はそれを気に入らなかったという話だよ。
よくある場面を短く書けるとか人間の一般的な感覚に合わせたりもした結果だというのはわかっているし、
Ruby に向いた用途があるのは知ってるよ。
ただ、それの行く先には実装上の行き詰まりが生じそうだという懸念だ。
422デフォルトの名無しさん
2017/06/30(金) 01:37:54.59ID:UcGpMueB423デフォルトの名無しさん
2017/06/30(金) 02:32:52.47ID:7V8Jdo2I Rubyは読み書きしやすいから使ってる
規則が統一された文法が良ければLispを使えよ
規則が統一された文法が良ければLispを使えよ
424デフォルトの名無しさん
2017/06/30(金) 09:41:10.74ID:jqp1y4Nc 何で使ってない言語を見に来ているの?
暇なの?
暇なの?
425デフォルトの名無しさん
2017/06/30(金) 09:50:34.06ID:flSVgAwO rubyは上級者には不満があるのかもしれんが、俺の様な素人が使うには使いやすい。
メソッドチェインも「.」でつなげていくだけだし、
正規表現使うのにimportとかしなくていいし。
でも複数行のコメントアウトは面倒。
メソッドチェインも「.」でつなげていくだけだし、
正規表現使うのにimportとかしなくていいし。
でも複数行のコメントアウトは面倒。
426デフォルトの名無しさん
2017/06/30(金) 09:51:37.98ID:BBkM2EA1 >>422
Rubyスレに来て悪態さらすヤツってのは、喩えて言えばこんな感じだ。
最初は、良い会社だと思って就職した。
けど、外から見るのと、入って見るのとでは大違いで、内部は火の車だった。
(例:最近の東芝、タカタ)
転職活動も、うまくいかず、悪態をつかざるを得なくなる。
Rubyスレに来て悪態さらすヤツってのは、喩えて言えばこんな感じだ。
最初は、良い会社だと思って就職した。
けど、外から見るのと、入って見るのとでは大違いで、内部は火の車だった。
(例:最近の東芝、タカタ)
転職活動も、うまくいかず、悪態をつかざるを得なくなる。
427デフォルトの名無しさん
2017/06/30(金) 10:15:14.59ID:pDIkSJMf 2ちゃんも昔は良かった
428デフォルトの名無しさん
2017/06/30(金) 11:25:06.46ID:BBkM2EA1429デフォルトの名無しさん
2017/06/30(金) 11:30:06.98ID:hBaGJvUf430デフォルトの名無しさん
2017/06/30(金) 11:33:27.81ID:BBkM2EA1431デフォルトの名無しさん
2017/06/30(金) 11:38:01.54ID:625dciv9 >>429
こんな糞みたいなの教えたって誰も使わない
こんな糞みたいなの教えたって誰も使わない
432デフォルトの名無しさん
2017/06/30(金) 11:45:54.89ID:flSVgAwO433デフォルトの名無しさん
2017/06/30(金) 12:42:16.16ID:UcGpMueB >>432
メモ帳使ってるわけじゃないんだろうからそれぐらいショートカット使えば差はない
メモ帳使ってるわけじゃないんだろうからそれぐらいショートカット使えば差はない
434デフォルトの名無しさん
2017/06/30(金) 12:50:26.31ID:hBaGJvUf タイピングの文字数に拘るあたりが初心者だよな
(↑それが悪いことだとは言っていないし、一切の悪意は無い)
プログラミングを指の労働と捕らえてるんだよな
(↑それが悪いことだとは言っていないし、一切の悪意は無い)
プログラミングを指の労働と捕らえてるんだよな
435デフォルトの名無しさん
2017/06/30(金) 13:04:45.36ID:mtvSOUWH436デフォルトの名無しさん
2017/06/30(金) 13:09:33.76ID:UcGpMueB >>435
=begin, =end は一時的なコメントアウトにはよく使うよ
=begin, =end は一時的なコメントアウトにはよく使うよ
437デフォルトの名無しさん
2017/06/30(金) 13:35:43.48ID:2Da2vksV438デフォルトの名無しさん
2017/06/30(金) 13:40:13.66ID:625dciv9 そんなperlのパクリ機能なんかもう使ってる人いないよ
普通は#で複数行コメントアウトするようなエディタ使ってるでしょ
普通は#で複数行コメントアウトするようなエディタ使ってるでしょ
439デフォルトの名無しさん
2017/06/30(金) 14:08:18.32ID:W0OUnv8/ 黙らせるならexit!やな
440デフォルトの名無しさん
2017/06/30(金) 16:49:14.50ID:tesV9X+3 一時的に処理から外したいときは「そういやRubyにも複数行コメントの記述法があったななんだったかな」と思いながら
#と方向キーを交互に連打してるかコメントリージョン機能を使ってるかどっちかだな
#と方向キーを交互に連打してるかコメントリージョン機能を使ってるかどっちかだな
441デフォルトの名無しさん
2017/06/30(金) 18:29:44.40ID:4uO/IbWe atomやvscodeだったら Ctrl + / で行コメントの挿入削除
442デフォルトの名無しさん
2017/07/01(土) 04:05:27.85ID:J52nGMUC 俺は if false 〜〜〜 else 〜〜〜 end を使ってる
あるいは後置 if false
元の処理を走らせる場合は否定演算子を付けて if !false みたいにしてるなあ
あるいは後置 if false
元の処理を走らせる場合は否定演算子を付けて if !false みたいにしてるなあ
443デフォルトの名無しさん
2017/07/01(土) 04:30:56.70ID:yR6MEKU9444デフォルトの名無しさん
2017/07/01(土) 05:26:51.20ID:PPsHHHSM445デフォルトの名無しさん
2017/07/01(土) 11:17:02.68ID:N+ZXroXE >>414
爺なの?
爺なの?
446デフォルトの名無しさん
2017/07/01(土) 14:26:38.71ID:R60vnDrO 同じ処理をさせようとしても
初心者が書くのと慣れてる奴が書くのとですでに差が出てる
a = ['a', 'b', 'c']
b = []
i = 0
a.each {|c| b << (i.to_s + c); i += 1}
p b
↑こーいう書き方する人ほどタイプ数に拘り
↓こーいう人はもはやそこでは騒がない
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
p c
初心者が書くのと慣れてる奴が書くのとですでに差が出てる
a = ['a', 'b', 'c']
b = []
i = 0
a.each {|c| b << (i.to_s + c); i += 1}
p b
↑こーいう書き方する人ほどタイプ数に拘り
↓こーいう人はもはやそこでは騒がない
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
p c
447デフォルトの名無しさん
2017/07/01(土) 14:59:17.39ID:yR6MEKU9 いい加減壁に向かって物言うのやめたら
誰もそれを話題にしてはいないよ
誰もそれを話題にしてはいないよ
448デフォルトの名無しさん
2017/07/01(土) 15:48:19.58ID:qX8eRJNR449デフォルトの名無しさん
2017/07/01(土) 16:44:27.93ID:R60vnDrO450デフォルトの名無しさん
2017/07/01(土) 19:39:10.28ID:QATpSz/4451デフォルトの名無しさん
2017/07/01(土) 20:41:44.60ID:M8KylmXN b = []
b << 要素
1つずつ、配列に追加していく処理だけど、
エラー処理などがいらないなら、簡潔に書くべき
b << 要素
1つずつ、配列に追加していく処理だけど、
エラー処理などがいらないなら、簡潔に書くべき
452デフォルトの名無しさん
2017/07/01(土) 21:37:44.67ID:sOThA7TG >>446
> 初心者が書くのと慣れてる奴が書くのとですでに差が出てる
せやね
お前が書くと
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
俺が書くと
c = %w(a b c).map.with_index {|c, i| i.to_s + c}
これはタイプ数の問題じゃねーよ?
配列から配列に変換して入れる処理で
eachって単語がでてくることキモいって話
> 初心者が書くのと慣れてる奴が書くのとですでに差が出てる
せやね
お前が書くと
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
俺が書くと
c = %w(a b c).map.with_index {|c, i| i.to_s + c}
これはタイプ数の問題じゃねーよ?
配列から配列に変換して入れる処理で
eachって単語がでてくることキモいって話
453デフォルトの名無しさん
2017/07/01(土) 22:38:49.78ID:M8KylmXN 関数厨は、Ruby・JS のスレにやって来て、
何でもかんでも、map を使って、1行で書いてしまうからなw
何でもかんでも、map を使って、1行で書いてしまうからなw
454デフォルトの名無しさん
2017/07/01(土) 22:44:59.49ID:Tp0p2tiJ >>452のようなことに特に興味がなくて
正直どっちでもよくね?
って考える普通の人はRubyを使わなくてもよいってことなんだよ
まさにこれがRuby
「タイプ数にこだわるのは初心者」
「そうそうそうなんだよね〜」
とか言いながら動的型言語を使うのって最高でしょ
正直どっちでもよくね?
って考える普通の人はRubyを使わなくてもよいってことなんだよ
まさにこれがRuby
「タイプ数にこだわるのは初心者」
「そうそうそうなんだよね〜」
とか言いながら動的型言語を使うのって最高でしょ
455デフォルトの名無しさん
2017/07/01(土) 23:45:31.46ID:N+ZXroXE mapperかな
456デフォルトの名無しさん
2017/07/01(土) 23:49:19.16ID:cxvWbv+r いくらRubyのコード効率が良いと言っても可読性を犠牲にするつもりはないな
無用に行数を減らしたりオブジェクト名の長さを減らしたりはしない
そういう書き方をすると後で苦労するのは自分だし
無用に行数を減らしたりオブジェクト名の長さを減らしたりはしない
そういう書き方をすると後で苦労するのは自分だし
457デフォルトの名無しさん
2017/07/01(土) 23:54:52.06ID:sOThA7TG >>456
可読性というのは読むべき「単語」を減らすものであって
行数を減らすことやオブジェクト名を減らすことは
単語を減らすことにはつながらない。
例えば行数を減らしたとしても、それが 空行や { などの
カッコだけの行を減らした所で単語数は変わらない。
むしろ空行がある方が読みやすい文章となることもある
名前も、短い名前にしても単語数は変わらない
単語数を減らすと結果的に行数が減ることはあるが、
行数を減らすことは可読性を上げる行為ではない。
可読性というのは読むべき「単語」を減らすものであって
行数を減らすことやオブジェクト名を減らすことは
単語を減らすことにはつながらない。
例えば行数を減らしたとしても、それが 空行や { などの
カッコだけの行を減らした所で単語数は変わらない。
むしろ空行がある方が読みやすい文章となることもある
名前も、短い名前にしても単語数は変わらない
単語数を減らすと結果的に行数が減ることはあるが、
行数を減らすことは可読性を上げる行為ではない。
458デフォルトの名無しさん
2017/07/01(土) 23:56:03.86ID:5xgWPcGQ459デフォルトの名無しさん
2017/07/01(土) 23:56:04.59ID:sOThA7TG ちなみにさっき書いたこれ。
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
c = %w(a b c).map.with_index {|c, i| i.to_s + c}
下の方が「単語数」が減っている。
each with index map ・・・ 4単語
map with index ・・・ 3単語
c = %w(a b c).each_with_index.map {|c, i| i.to_s + c}
c = %w(a b c).map.with_index {|c, i| i.to_s + c}
下の方が「単語数」が減っている。
each with index map ・・・ 4単語
map with index ・・・ 3単語
460デフォルトの名無しさん
2017/07/01(土) 23:57:42.07ID:sOThA7TG461デフォルトの名無しさん
2017/07/02(日) 00:03:47.37ID:0SO6fajC あ、間違った。こうなw
c = %w(a b c).map.with_index {|c, i| "#{i}#{c}" }
俺としては、なんでmapがデフォルトでindexを持ってないかのほうが気になるな。
JavaScriptならこれでいいのに
a = ['a', 'b', 'c']
c = a.map((v, i) => i+v)
c = %w(a b c).map.with_index {|c, i| "#{i}#{c}" }
俺としては、なんでmapがデフォルトでindexを持ってないかのほうが気になるな。
JavaScriptならこれでいいのに
a = ['a', 'b', 'c']
c = a.map((v, i) => i+v)
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 橘こぉた来いや!!!
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- お前ら(ちぎゅちぎゅの実モデルチーズ牛丼)←これw
- 隣の部屋のデブがこっちにまで聞こえる声量でアクビするのがストレスなんだけどマジで死んでくれないかな
- 【乞食速報】プロクオリティ ビーフカレー 96食 4262円 [268244553]
- 【悲報】小泉防衛大臣、中国のレーダー照射事件をNATO事務総長に報告 [834922174]
