【RoR】Ruby on Rails Part20©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
バグがないソフトなんて無いから・・・
これは実際の現場を知らないアホが作ったんだろう バグ発見後ってふざけてると思うけど
糞ソフトや糞業者が無くなるなら良いことかもな うちは受託じゃないからどうでもいいわ
自社開発のBtoCは自社の利益のためにバグがあったらすぐ潰すのが当たり前の世界
受託のビジネスモデルが破綻してるのは前々からだし、いい引導になるんじゃないか? 受託が全部消えて自社開発するしかなくなり
その結果、右から左に案件を受け流すだけのピンはね屋が消え
エンジニアの待遇が向上する可能性もあるので応援したい Railsでシステム作って納品する
↓
Railsはマイナー、メジャーのアップデートが半年以内に必ずある
↓
客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく
↓
気づいてから1年以内に通知すれば、5年間無料保証ゲット
↓
つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな 利用するWAFのGithubページにissueが残ってる限り、無償サポートを強制されるから
自社でフレームワークを作ってクローズドにするしかないな
潜在的なバグを顧客に知られないようにする工夫が必要 契約自由の原則
これは、民法で定められた内容と異なる内容で契約した場合、
常識と照らし合わせて著しく逸脱してなければ、契約内容が優先されるというものである。
例えば、改正案では不具合の無償修正に関して「不具合が有る事実を知ったときから1年間、5年以内が上限」としているが、
契約で「引渡しから3年以内」と結んでいた場合、契約を結んだ「3年以内」のほうが優先されるのである。
そのためどのような個別契約を結ぶか、という点が大変重要になるのである。
http://www.techvan.co.jp/media/quality/civil-code
民法
第91条
法律行為の当事者が法令中の公の秩序に関しない規定と異なる意思を表示したときは、その意思に従う。
http://www.minnpou-sousoku.com/category/article/5/91.html >>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。 >>376
なんでそう思ってる人がRailsスレなんか覗いてるの?
他言語叩いて気持ちよくなりたいような性格悪い人間はお呼びじゃないよ >>376
わざわざこのスレまで来て忠告ありがとうな そんでみんなJavaで消耗してるんじゃなかったっけ?
俺はやだけど。 XML地獄だったJava(当時主流だったStruts)と対比してRailsが流行った時代はもう過去のもの
JavaにもRailsライクなWAFあるしバイトコードコンパイル時にエラー検出できるからRailsより生産性高いよ そして動作速度も早い
AndroidにKotlinが採用されたので
受託(ブラック企業)からスマホアプリ開発自社サービス企業(ホワイト企業)に転職する際にも有利だし >>381
残念ながらそんなエラー検出ごときで上がる生産性は微々たるもので、型定義の手間で足が出る
Play!で実際に開発をした経験の結果 型定義の手間ってなんだ?
だったらGolang使えば? GAE/Rustはない
無料で始められるPaaSのGAE/Go一択だな >>384
Java否定されたら次はGolangか
とにかく何がなんでもRubyを否定したいだけなんだな >>384
GolangはただのBetter C++
C++みたいな分野で楽に書きたいなら非常に有用な言語だが、Railsは畑違い RUBYMOTIONでAndroid開発している人どうですか?
今、資格取得に忙しいんで時間が取れないのだけど、終わったらやってみたいと思っている。 rails5.0 になってやっとleft outer joinメソッドが実装されたのは驚き
今までなかったのかよ、と
これがなくてよくDB使ってたな
まさかRailsユーザってDBはあまり詳しくない奴ばかりなのか? よくJavaで構築するようなイントラ系ビジネスアプリケーションを受託開発するビジネスでRailsを使っている会社は少ない
主にBtoCの自社サービス系(web)の構築に使われる
大規模なアクセスを捌かなきゃいけないのでスケーラビリティの低いRDBMSは選択されずNoSQLなどが使われる
NoSQLはJOINが必要なデータは最初から結合して保存しておかないとパフォーマンスが落ちる BtoC業界では当たり前の知識だが受託系の人は知らんのだろうな
https://yakst.com/ja/posts/22
ここら辺をよんで勉強しとけ ついでに言っておくとWebアプリケーションのパフォーマンスボトルネックは
データベースのディスクI/Oが大部分なので
いわゆるコントローラーの処理速度をGolangやJavaで高速化しても
全体はそれほど早くならない >>390
> rails5.0 になってやっとleft outer joinメソッドが実装されたのは驚き
だってSQL使わないじゃん。結合なんて勝手にやってくれて
内部でjoinしてくれるでしょ?
なんでわざわざ自前でjoin書かないといかんのだ?って感じなんだが >>394
それな
わざわざ5レスに分割してるのも
思いつきで書き散らしてまったく計画性が感じられない >>394
従テーブルの外部キーを持たない主テーブルのデータは空白で表示したいことって多いだろ
それをなんでわざわざ毎回実装しないといけないのよ? >>396
こんな感じ?
class Hoge; end
class Fuga; belongs_to :hoge; end
Fuga.all.each {|fuga| p fuga.hoge&.name }
eager_loadはお好みで >>397
セルフネーバオペレータ使うのはちょっと違うと思う >>399
DBの責務とRubyの責務がぐちゃぐちゃになってるから
その処理はDBがすべきもの >>400
え?LEFT OUTER JOIN使ったとしても似たようなコードになるよね? >>401
データのある無しを判断して空白で返す処理をしてるのがMySQLなのかRubyなのかの違いを言っています
コードの似たりよったりではありません。 >>402
でも似たようなコードで同じことができるなら別にいいじゃん
SQL原理主義なんてバッチみたいな速度にシビアな場面でだけ使えばいいんだし、
UIみたいなそうでもないところはコードの保守性の方が大事だよね >>402
え?データのあるなしを判断するはあくまでDBでしょ?
ActiveRecordはそこで投げるSQLを隠蔽しているだけで、ActiveRecordだってデータのあるなしはDBに問い合わせてるよ
そこでLEFT OUTER JOINを使うか、eager loadを使うかで投げるSQLの内容は違うだろうけど、Rubyがデータのあるなしを
判断できるわけないでしょ >>403
完全に素人の発想だな
この場合は大したことしてないけど、
もっと複雑なSQLで大量のデータを対象にした場合どっちがスケールするかな?
そういうことを考えないと いままではDBのしごとで
それぞれの立場で仕事してたのに
Ruby側でやりたいとかわがまま言い出して
Ruby側で実装されたって流れ。 >>406
RubyはDBの仕事を取ってたりしてないよ
ActiveRecordがうまく隠蔽してるだけ
というかRubyがDBの仕事をできるわけないじゃん SQL書きたくない(書けない)ってひとがRubyというかRailsというかActiveRecordに流れただけ >>408
SQLだけでアプリが作れない以上、ActiveRecordになるのは当然だと思うが? ヒカル TV出演「年間5億は稼ぐ勢いですね」
https://www.youtube.com/watch?v=G7qL6ftpets
第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ!
https://www.youtube.com/watch?v=asF2wQ2xhjY&t=61s
ユーチューバーの儲けのカラクリを徹底検証!
https://www.youtube.com/watch?v=FUSb4erJSXE&t=504s
【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開!
https://www.youtube.com/watch?v=Y7DAQ0RKilM&t=326s
誰も言わないなら俺がYouTuberのギャラ相場を教えます
https://www.youtube.com/watch?v=E4q-vaQh2EQ&t=118s
YouTuberになりたいのは馬鹿じゃない!YouTuberになる方法
https://www.youtube.com/watch?v=Fr0WXXZRMSQ
最高月収5000万円だとさ。年収じゃなくて「月収」な
おまえらもyoutubeに動画投稿したほうがいいぞ。副業にぴったしだ
やろうと思えばスマホがあればできるぞ
最低2年はやらないとここまではいかないだろうけど才能とアイデアと
企画力と継続力があればが大儲けできる可能性がなくもない
まだまだ他の職種に比べれば競争率は低いからオススメ
顔出したくないならラファエルみたいに仮面つければいい
ハロウィン用でいろいろな仮装マスク売ってるからオヌヌメ すみません、PHPから流れてきてrails初心者なんですが
ActiveRecordでDBからレコード取得する時にSQLのSUBSTRみたいに
レコードの文字列の一部だけ取得するやり方ってどう書けばいいんでしょうか?
頭の3文字だけ欲しいみたいな感じです NanikanoModel.find_by(1).nanikano_mojiretsu[0,3]
NanikanoModelのnanikano_mojiretsuフィールドの型がstring型(DB定義var_charとか)だったらこれでいける。
[0..2]
でもOK 私が億万長者になった日 – Medium Japan – Medium
2006年に突然状況は大きく変わった。
ジェフ・ベゾスがBasecampに関心を持ってくれたので、ジェイソンと私はそれぞれ会社の非支配持分を数百万ドルで売った(Basecampは設立当初から財務状況が悪くなかったので、無理に資金調達する必要はなかったのだが)。
私は億万長者になったのだ!
http://b.hatena.ne.jp/entry/s/medium.com/japan/4614d3f4a255
https://medium.com/japan/4614d3f4a255 数億円で売ったのか、安いな
上場したら糞みたいな会社でも時価総額50〜100億くらいになるのに
もったいない >>411
str = "hello"
str.first(1) # => "h"
str.first(2) # => "he"
str.first(3) # => "hel" なあ。rails の vendor ディレクトリの下のソースコードって触っちゃいけないんだよな?
gem とかからインストールされるファイル群だと思うんだけど、そうでもないんだろうか。 >>417
触ってもいいよ
バージョンアップとかで触ったのは全部消えるけど
デバッグとかで触ることはよくあるし >>418
ああ。そう言うものなんだ。ありがとう。
あのファイルを編集するのが一番簡単なんだよな。。どうしよう。 編集してメンテを続けるのはつまりフォークになるんだが
短期的なデバッグ以外なら茨の道 要するにメルカリで情報流出させるようなDeployしてるのか君らは >>420
forkしたプロジェクトで編集してそこからインスコだな 瑕疵担保責任(かしたんぽせきにん)
瑕疵担保責任のポイント
民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない
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年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。 サーバー変えたら動かなくなりました。
OSアップデートしたら動かなくなりました。
OS変えたら動かなくなりました。
WEBサーバー変えたら動かなくなりました。
WEBサーバーにパッチプログラムをあてたら動かなくなりました。
DB変えたら動かなくなりました。
DBをアップデートしたら動かなくなりました。
PHPのアップデートプログラムを更新したら動かなくなりました。
Railsアップデートプログラムを更新したら動かなくなりました。
Rubyアップデートプログラムを更新したら動かなくなりました。
高負荷になったら動かなくなりました。 無償で修理してください。損害も請求します。
しばらく放置していて、最近動かしたら動かないです。原因はわかりません。これは御社の不具合なので無償で修理してください。
無償で修理してください。損害も請求します。
納品先の会社 10社から同時に
重大な脆弱性が現バージョンから発見されました。こちらでアップデートしたところ、起動ができなくなりました。
至急弊社に来て修正作業をお願いします。なおお金は払わない。また営業に損失が出たので損害請求もします。 アップデートしない契約を結べばいいのだろうが
セキュリティーアップデートがある限りそれは不可能 マイクロサービスはもう十分 | プロダクト・サービス | POSTD
http://postd.cc/enough-with-the-microservices/
マイクロサービスの強み弱み
マイクロサービスには分散システムとしての複雑さがあり、注意しなければならない課題がある。
例えば、“ネットワークの遅延や耐障害性、メッセージのシリアライゼーション、
信頼できないネットワーク、非同期性、バージョニング、アプリケーションの各層に対するロードなど”だ。
http://www.infoq.com/jp/news/2014/06/microservices
コンピュータにおいて、制御を行う要素の数が1個の場合、2個の場合に比べて3個以上の場合で複雑さは段違いに異なる。
http://anond.hatelabo.jp/20130319023155
太陽と地球のような二体問題は厳密に解けるが、例えば月の運動も考える一般の三体問題以上になると解析的に解くことはできないとされる
http://ja.wikipedia.org/wiki/多体問題 分割粒度が小さすぎると、組み合わせ爆発が起こって、
階乗・巡回セールスマン問題のように、プログラミング不可能! すみません、コントローラで
def index
UNIXSocket.open('/tmp/myapp.sock') do |sock|
sock.write(params.to_query)
rt = sock.readline
render text: rt
end
end
ということがしたいのですが、どうも
rt = sock.readline
のところで処理が止まってしまうように見えています。
renderの部分まで処理を進めるにはどのような書き方をすればよいのでしょうか。
教えて頂けますと嬉しいです。 すみませんよくよく考えるとrailsの質問ではないですね・・
移動します。失礼しました。 ActiveRecord の話だと思うけど。ここでいいですか。
前段
とあるモデルクラスで管理しているテーブルのカラムに NULL 許容&ユニーク制約をつけたいと思います。
普通に validates email, uniqueness: true などとやるとユニークにはなるのですが。
レコードを追加するときにこのカラムに NULL のレコードがほかにあるとバリデーションでエラーになります。
質問
ActiveRecord のバリデーションで、ユニーク制約をつけつつ、NULL だけは重複があっても許容するような設定は出来ますか。
現状
uniqueness でやるのは諦めてカスタムバリデータでチェックするようにしてみました。
一応動いていますがもっと簡単にできそうな気がします。 >>431
>ユニーク制約をつけつつ、NULL だけは重複があっても許容する
これDB側は対応してるの?
直接他のツール等でSQL発行するとどうなる? 最新人気ランキング
1位 Java
2位 C
3位 C++
4位 Python
5位 C#
6位 PHP
7位 Visual Basic .NET
8位 JavaScript
9位 Delphi/Object Pascal
10位 Go
11位 Perl
12位 Swift
13位 Ruby
14位 Assembly language
15位 R
16位 Visual Basic
17位 MATLAB
18位 Objective-C
19位 Scratch
20位 PL/SQL
https://www.tiobe.com/tiobe-index/ >>432
INSERT とかで挿入する方法ですよね?
普通に複数の NULL カラムのレコードを追加できます。
>>433
既存のプログラムが、ActiveRecord でのバリデーションを実装してるんです。 確認してきました。
DB 側(MySQL)に Null:YES、Key:UNI となっていて、
そのカラムに複数の NULL レコードをインサートできていました。はい。
やぱり ActiveRecord だと対応できないんでしょうか。 >>440,441
ありがとう。
確かめました。
バリデーションにも条件て指定できたんすね。。
今回は前に組んだカスタムバリデーションでとりあえず行こうと思います。 私が億万長者になった日
2006年に突然状況は大きく変わった。
ジェフ・ベゾスがBasecampに関心を持ってくれたので、ジェイソンと私はそれぞれ会社の非支配持分を数百万ドルで売った(Basecampは設立当初から財務状況が悪くなかったので、無理に資金調達する必要はなかったのだが)。
私は億万長者になったのだ!
http://b.hatena.ne.jp/entry/s/medium.com/japan/4614d3f4a255
https://medium.com/japan/4614d3f4a255 考え直そうーーRuby on Rails生みの親でBasecampの創業者がスタートアップに贈る言葉【寄稿】 - THE BRIDGE(ザ・ブリッジ)
http://thebridge.jp/2016/04/reconsider CakePHPやってたんだけど
Cake3とLaravelどっちが良いかな? まちがえた
RailsとLaravelどっちが良いかな? どっちも将来性がないからPythonがGoにしとけ こんなオワコンフレームワークをまだ使ってる奴いるんだw
さすがにRailsは10年前のものだよ >>449
じゃあお前的今時プラットフォームはなんなんだよ >>454
老害だなんてだれも言ってないぞ
被害妄想激しすぎてきもーいw >>457
で、どこで言ってるんですか?
被害妄想にとりつかれた病人さん? Ruby on Railsをウェブの無料サイトで学び始めた初心者です MacBook Proで勉強してるんですけど1文字打つ毎にタッチパッドで文字の横をクリックしないと文字を打ち込めないんですけど、このやり方であってますか?
あとなぜかバックスペースが反応しなくて1回プログラムを打ち間違えたら修正できないんですけど、こういう言語なんですかね? Ruby on Rails 5入門 (全28回) - プログラミングならドットインストール
http://dotinstall.com/lessons/basic_rails_v3 質問。
Rails & MySQL の環境で、
とあるテーブルのレコードをループ処理で 500 回くらい保存しないで作ると応答がなくなる(たぶんプロセスが落ちてる)のだけど、
こういうのの原因てどういうのがあるのでしょうか。保存したらどうなるのかは試してません。
メモリを見てても実行中に特に増えるようなことはないし、別の開発用の環境だと100万回くらいやっても平然と動いてるし。
原因が分かりません。 分散システムについて語らせてくれ
https://www.slideshare.net/kumagi/ss-78765920
マイクロサービスの終焉 | 開発手法・プロジェクト管理 | POSTD
http://postd.cc/the-end-of-microservices/
マイクロサービスの強み弱み
マイクロサービスには分散システムとしての複雑さがあり、注意しなければならない課題がある。
例えば、“ネットワークの遅延や耐障害性、メッセージのシリアライゼーション、
信頼できないネットワーク、非同期性、バージョニング、アプリケーションの各層に対するロードなど”だ。
http://www.infoq.com/jp/news/2014/06/microservices
コンピュータにおいて、制御を行う要素の数が1個の場合、2個の場合に比べて3個以上の場合で複雑さは段違いに異なる。
http://anond.hatelabo.jp/20130319023155
太陽と地球のような二体問題は厳密に解けるが、例えば月の運動も考える一般の三体問題以上になると解析的に解くことはできないとされる
http://ja.wikipedia.org/wiki/多体問題 >>466
ありがとう。
タイムアウトなんてあるんですね。
一度生成したレコードはもう使わないので解放?をしたいのですが、明示的に出来るモノなのでしょうか。
http://qiita.com/dainghiavotinh/items/8158213207b257670ff3
このページの3の方法を試したのですが、落ちる?タイミングが早まっただけでした。 ■ このスレッドは過去ログ倉庫に格納されています