[過去ログ] Ruby 初心者スレッド Part 66 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
890: (ワッチョイ 7501-NSHw) 2020/11/13(金)14:17 ID:/AMzz1sP0(1) AAS
>>881
「私がWindowsを嫌っているのではなく、WindowsがRubyを嫌っているのだ。だからWindowsを使ってはいけない。」と教組様が言ってたけど。
891: (ワッチョイ 159b-NSHw) 2020/11/13(金)14:22 ID:RWm0omqa0(3/3) AAS
教祖も言ってるけど
windowsならrubyやめてpython使う方が楽ちん
892: (アウアウウー Saa9-rkyG) 2020/11/13(金)14:47 ID:b3aeLCbPa(1/3) AAS
エラーが出たので助けてほしいです…
ターミナルでrails db:createをするの下記のような文が出ます…

Traceback (most recent call last):
4: from bin/rails:3:in `<main>'
3: from bin/rails:3:in `load'
2: from /Users/tech-camp/projects/tweet/bin/spring:10:in `<top (required)>'
1: from /Users/tech-camp/projects/tweet/bin/spring:10:in `read'
省1
893: (アウアウウー Saa9-rkyG) 2020/11/13(金)14:49 ID:b3aeLCbPa(2/3) AAS
エラーが出たので教えてほしいです…
ターミナルでrails db:createをしたらこのようになりました…

Traceback (most recent call last):
4: from bin/rails:3:in `<main>'
3: from bin/rails:3:in `load'
2: from /Users/user/projects/tweet/bin/spring:10:in `<top (required)>'
1: from /Users/user/projects/tweet/bin/spring:10:in `read'
省1
894: (アメ MM09-hLVw) 2020/11/13(金)15:16 ID:9KKZC7FrM(1) AAS
bundle installしてないとか
895: (アウアウウー Saa9-rkyG) 2020/11/13(金)15:45 ID:b3aeLCbPa(3/3) AAS
まさにそれでした…!
ありがとうございます…!
896: (ワッチョイ a301-+irU) 2020/11/13(金)17:04 ID:b4HB1/RK0(1) AAS
>>865
$ export PKG_CONFIG_PATH="$HOME/.rbenv/versions/2.7.2/lib/pkgconfig"
$ gcc $(pkg-config --cflags --libs ruby-2.7) hello.c -o hello

上の例はWindowsじゃなくmacOSでrbenv使ってる環境だけど
Windowsでも.pcファイルあると思うからpkg-configで必要なオプション取得すれば良いと思うよ
897
(1): (ワッチョイ ed5f-D0pj) 2020/11/17(火)15:37 ID:+8mZ0oHh0(1) AAS
拡張ライブラリについての質問です
一次元配列の場合はデータを取得できたんですけど、
二次元配列の場合はどうすればいいんでしょうか?
よろしくお願いします

//一次元配列の場合
num = rb_ary_entry(p_val, offset);
a = FIX2INT(num);
898
(1): (ワッチョイ dd2c-g/iO) 2020/11/17(火)18:11 ID:PuHDpULa0(1/2) AAS
VALUE, FIX2INT, RARRAY, rb_ary_entry

これは、Ruby なのか?
奇妙
899: (ワッチョイ dd2c-g/iO) 2020/11/17(火)18:42 ID:PuHDpULa0(2/2) AAS
Ruby では、ary[offset] だろ。
2次元配列なら、

ary = [ [1, 2], [11, 12], [21, 22] ]

ary[0][1] = 99
p ary #=> [[1, 99], [11, 12], [21, 22]]

p ary.length #=> 3
p ary[0].length #=> 2
900: (ワッチョイ c533-9FM4) 2020/11/17(火)19:23 ID:yKNV/xx90(1) AAS
>>897
配列要素オブジェクトを多段にRArray*にキャストしたらええんちゃうの?知らんけど。

外部リンク[html]:docs.ruby-lang.org
外部リンク[html]:docs.ruby-lang.org

>>898
知らんかったら黙っとくか、ググるくらいしろ。
901: (ワッチョイ 4b5f-cChY) 2020/11/18(水)19:49 ID:XrXdqU1w0(1) AAS
やっと解りました。。。
どうもありがとうございました!
ary = [[0,1],[2,3],[4,5]]

num0 = rb_ary_entry(ary_val, 2);
num1 = rb_ary_entry(num0, 0);
a = FIX2INT(num1);

num0 = rb_ary_entry(ary_val, 2);
省4
902: (ワッチョイ 4b5f-cChY) 2020/11/24(火)05:57 ID:tcZG3tlz0(1/3) AAS
ocraを実行してexe化したのですが、
libssp-0.dllがないというエラーが出てフリーズしました
放っておけばそのうちocraがバージョンアップで対応してくれるんでしょうか?

プログラムは、

puts "hoge"

だけです
903: (オッペケ Srdf-D4Gu) 2020/11/24(火)06:47 ID:/T/Ll6K6r(1/2) AAS
フォルダ名に日本語混ざってるとocra使えないからそれかもね
904: (オッペケ Srdf-D4Gu) 2020/11/24(火)06:50 ID:/T/Ll6K6r(2/2) AAS
日本語Windows環境ならocraよりneri使ったほうがいいと思うよ
905: (ワッチョイ 4b5f-cChY) 2020/11/24(火)07:16 ID:tcZG3tlz0(2/3) AAS
どちらもだめでした
MinGWが64bitなのがいけないいんですかね?
neriの場合は、「アプリケーションを正しく起動できませんでした」
と出ます
日本語は使ってないですよ
906: (アウアウウー Sa3b-cChY) 2020/11/24(火)09:00 ID:gfNKbZsOa(1/2) AAS
最近同じエラー吐いてる人が多いからマルチバイト文字とかじゃなくてocraのバグじゃね
今つっかかってる場所はlibssp-0.dllの有無
libssp-0.dll入手して適切なフォルダに入れれば動くかもしれないし、それを超えてもまた次のエラーメッセージ出るかもしれない

こういう場合むしろ古いバージョンのocraやrubyを使ったほうが正常に動いたりするよ
特定のバージョンとの相性で上手く動作したらむやみにアップデートしないことな
907: (ワッチョイ a32c-ti/z) 2020/11/24(火)09:01 ID:XRJpBbZB0(1) AAS
ひょっとして、フォルダ名・PC のユーザー名に、日本語を使っていないか?

>neriの場合は、「アプリケーションを正しく起動できませんでした」
もっと正確なエラーメッセージを取得して、それで検索すれば?

どういう理由で起動できないのかを、知りたい
色々な理由があるから、このメッセージだけでは原因を特定できない

Linux みたいに、Windows には、OS のログとか無いのか?
908: (アウアウウー Sa3b-cChY) 2020/11/24(火)09:46 ID:gfNKbZsOa(2/2) AAS
日本語じゃないって否定してんのに直前のレスも読めねーのか
外部リンク:stackoverflow.com

Maybe you don't have the libssp-0.dll file installed.
You can download it from 外部リンク[html]:www.dll-files.com
then placing the file where the error says.
909: (ワッチョイ 4b5f-cChY) 2020/11/24(火)12:56 ID:tcZG3tlz0(3/3) AAS
neriのエラー
アプリケーションを正しく起動できませんでした(0xc000007b)。[OK]をクリックしてアプリケーションを閉じてください。

libssp-0.dllはMinGWでgetするdllです

バグか64bitに対応してないかのどちらかだと思います
暫く様子を見ることにしました
あと古いバージョンも試してみます
910: (オッペケ Srdf-D4Gu) 2020/11/24(火)20:33 ID:GlJ0k2Kgr(1) AAS
こっちは64bit windows10でneri使えてるけどなぁ
911: (ワッチョイ 775f-FP8+) 2020/11/25(水)06:01 ID:vPLi7EhQ0(1/2) AAS
2.4で動きました
しかし自作のsoファイルをソースに含めると
ocra test.rb --dll ddddd.so

実行すると
FATAL ERROR: Bad signature in executable.
912
(1): (ワッチョイ b72c-8s6k) 2020/11/25(水)12:15 ID:BeZXjuPe0(1/2) AAS
自分でエラーを作っているから、原因は君にしか分からない

そのエラーメッセージで検索すれば?
913
(1): (ワッチョイ b72c-8s6k) 2020/11/25(水)12:51 ID:BeZXjuPe0(2/2) AAS
文字列内にある、URL を抜き出す、URI.extract、
または、正規表現のURI.regexp は、

Ruby 2.2 から obsolete になっているけど、
それに代わるものは、何ですか?

require 'uri'

URI.extract("文字列", ['http','https'] )

p URI.regexp =~ "外部リンク:www.ruby-lang.org #=> 0
914: (ワッチョイ 775f-FP8+) 2020/11/25(水)16:47 ID:vPLi7EhQ0(2/2) AAS
>>912
neriでexe化できました
ocraは相変わらずですが
ありがとうございました!
915
(1): (u_・y)◆e6.oHu1j.o (アウアウウー Sa5b-FP8+) 2020/11/26(木)17:59 ID:ACzSTlzfa(1) AAS
>>913
text ="
画像リンク[jpg]:i.imgur.com
外部リンク:www.ruby-lang.org
"
text.scan(URI.regexp).map { Regexp.last_match }.each { |uy|
puts uy
省1
916: (ワッチョイ b72c-OOND) 2020/11/27(金)02:05 ID:lOUpIwv20(1/2) AAS
>>915
出力
外部リンク:www.ruby-lang.org
外部リンク:www.ruby-lang.org

2回とも、同じものが表示されるから、ダメ!
917: (オッペケ Srcb-VDAt) 2020/11/27(金)07:36 ID:8Z+4V8c6r(1/2) AAS
text.scan(URI.regexp){|v| puts '%s://%s' % [v.shift, v.compact.join]}
918: 916 (ワッチョイ b72c-OOND) 2020/11/27(金)08:41 ID:lOUpIwv20(2/2) AAS
text.scan( URI.regexp ){ |v| p v }

出力
[ "https", nil, nil, "i.imgur.com", nil, nil, "/UJbFSti.jpg", nil, nil ]
[ "http", nil, nil, "www.ruby-lang.org", nil, nil, "/", nil, nil ]

この奇妙な、nil は何?
それに、外部リンク:が飛ばされている
919: (u_・y)◆e6.oHu1j.o (アウアウウー Sa5b-FP8+) 2020/11/27(金)16:29 ID:6fRHx8hla(1) AAS
てかURI.regexpもobsoluteだった
920: (ワッチョイ 9f01-1+jW) 2020/11/27(金)17:54 ID:tPIe9OcJ0(1) AAS
外部リンク:bugs.ruby-lang.org
はっきりした理由は書いてないけど
RFC2396自体がobsoleteになって新しくRFC3986/3987対応のregex考えるの大変だから
URI.extract/URI.regexpはobsoleteになったように見える

なので今の仕様で問題ないなら使えばいいんじゃないかって気がする
warningを避けたいならURI::DEFAULT_PARSER.extractを直接使ってもいいけど中身は同じ
もう少しちゃんとしたのがよければtwitter-textのExtractor.extract_urls
921: (オッペケ Srcb-VDAt) 2020/11/27(金)21:04 ID:8Z+4V8c6r(2/2) AAS
qiitaにRFC3986対応の正規表現とか出てるけどそんな大変なのかね
詳しく知らんからなんも言えないけど
922: (ワッチョイ 1f33-ZPXR) 2020/11/27(金)21:32 ID:OZT1ua320(1) AAS
多言語対応まで考えるとややこしいから、すっぱりあきらめたんやろ。
923: (ワッチョイ b72c-OOND) 2020/11/28(土)11:23 ID:FGpMIdZG0(1) AAS
RFC3986に準拠したURI検証用正規表現
外部リンク:qiita.com

HTTP/HTTPS の所には、こういうのが出てくるから、これらが特殊文字なんだろう。
もっと簡単な正規表現で良い

終了点を知りたい。ある文字が出たら、そこで終わりみたいな。
URL で使われない文字

^https?:\/\/
省5
924: (ワッチョイ b72c-OOND) 2020/11/30(月)03:48 ID:r8rQ87Qr0(1/3) AAS
コンテンツをファイルに書きこみながら、同時にハッシュ値も求める場合、
Go では、io.MultiWriter で、2回読み込まずに処理できるらしいが、

Ruby にも、こういう機能がありますか?
925: (ワッチョイ ffbb-BCf+) 2020/11/30(月)20:22 ID:G81cwQG00(1) AAS
RailsチュートリアルをRubyの言語自体の入門書としてみた場合、一般的な入門書の何割ぐらいをカバーしてるものなのですか?
926: (ワッチョイ b72c-OOND) 2020/11/30(月)21:45 ID:r8rQ87Qr0(2/3) AAS
Rails チュートリアルは軽く「たのしいRuby」の10倍以上はある

MVC は、構造・デザインパターンなどを学ぶのが大変

おまけに、Linux・サイト製作の基本知識とか、
データベース・ERB・HTML・CSS/SASS・JavaScript・Webpack・テストとか
927: (ワッチョイ 1f33-ZPXR) 2020/11/30(月)22:12 ID:ifp6ptD/0(1) AAS
そして、それでいて文法やメソッドなどの基礎的なところをすっとばしている可能性が。w

要するに、方向性が違うので、どっちが他方をどう含んでるかは何とも言えんやろ。
928: 926 (ワッチョイ b72c-OOND) 2020/11/30(月)22:44 ID:r8rQ87Qr0(3/3) AAS
入門書で文法を学んだら、Enumerable のメソッドの内容を見てから、

プログラミングのお題スレの問題を解いたり、
テキスト処理などを少しやった方が良いと思う

Rails チュートリアルは、時間が掛かるから

まあでも、ウェブサイトの構築運用の最短距離は、Linux・AWS・Rails。
バックエンド・エンジニアなら、Linux・AWS・Ruby
929: (アウアウウー Sa5b-FP8+) 2020/12/01(火)01:00 ID:bLJR8T1fa(1) AAS
3割くらいじゃね
あと別にrubyの魔術コードを書けたり読めたりしなくても生きていける
930: (ワッチョイ 9f01-1+jW) 2020/12/01(火)21:27 ID:gqqffooe0(1) AAS
ちょ、DateTimeがdeprecatedになってるんですが・・・
これいつから?
931: (ワッチョイ 1f33-ZPXR) 2020/12/01(火)23:02 ID:uBfLZ+080(1) AAS
さすがRuby!w
おどろきの互換性。
932: (ワッチョイ b74e-HgZM) 2020/12/01(火)23:28 ID:KOqkaYUf0(1) AAS
wwwwww
933
(1): (ワントンキン MMb8-fAcm) 2020/12/02(水)10:02 ID:WhLorZrAM(1) AAS
2.5からだね
なお英語版ドキュメントへの記載を忘れていたためRails勢には全く認知されておらず最近になって混乱を引き起こしている模様
これがRubyクォリティ
934
(1): (ワッチョイ 954e-2/bE) 2020/12/02(水)10:21 ID:s/Tj40p50(1) AAS
な?ww
マイナーバージョンアップで互換性崩れるだろ?www
935
(1): (ワッチョイ 0c01-zWK8) 2020/12/02(水)12:09 ID:X5mOhjXr0(1) AAS
>>933
2.5からというソースある?
9末に特にアナウンスもなく変更されてるように見えるんだけど
外部リンク:github.com

deprecatedになっても削除されるものじゃないから実害はないんだけど
さすがにこれはやり方が乱暴
936: (ワッチョイ 732c-lBG8) 2020/12/02(水)12:39 ID:vDg6xkSY0(1) AAS
DateTime は非推奨で、代わりに、Time を使うこと。
つまり、Date, Timeを使う

DateTime < Date < Comparable

Time < Comparable
937
(1): (u_・y)◆e6.oHu1j.o (アウアウウー Sa08-9rBX) 2020/12/02(水)17:21 ID:LINF+1vva(1) AAS
外部リンク[html]:docs.ruby-lang.org
外部リンク[html]:docs.ruby-lang.org
938: (オッペケ Sr5f-zYXO) 2020/12/02(水)22:11 ID:n0CYjqknr(1) AAS
>>934
互換性は崩れてないじゃん
939: (ワッチョイ 6214-l3pW) 2020/12/02(水)23:36 ID:26rcFOAE0(1/2) AAS
deprecatedで混乱するもんなの?
廃止じゃないでしょ?非推奨でしょ?

そりゃ書き換えないといけないが
普通deprecatedになってから書き換えるでしょ?
940: (ワッチョイ 6214-l3pW) 2020/12/02(水)23:39 ID:26rcFOAE0(2/2) AAS
Ruby開発勢ならなんでいきなりdeprecatedになってるんだ?って
なるかもしれないけど、Rails勢は所詮Ruby使ってるだけの人たちだし
941: (アウアウウー Sa08-p6BM) 2020/12/03(木)03:48 ID:1lle3h49a(1) AAS
その身朽ちても仕様変更の激しい言語の代名詞としてruby生き残ったりして
942: (ワッチョイ 954e-2/bE) 2020/12/03(木)03:50 ID:QOvIykSz0(1/2) AAS
言語界のテセウスの船wwww
943: (ワッチョイ 5e63-/XVW) 2020/12/03(木)04:49 ID:GO6EbsS10(1) AAS
rails自体によるdeprecatedなんていくらでもあるしそんなに騒ぐようなものでは無い
944: (ワッチョイ 954e-2/bE) 2020/12/03(木)09:35 ID:QOvIykSz0(2/2) AAS
名実ともにrailsが本体、rubyはそのバッテリーだなwww
945
(1): (ワッチョイ 667d-qMBe) 2020/12/03(木)10:20 ID:2qogV6iv0(1) AAS
>>937
ソースの 外部リンク:github.com では
バージョンに関係なく deprecated になってるから、まだ変更が反映されてないだけですね

require 'open-uri'
%W[ 2.3.0 2.4.0 2.5.0 2.6.0 2.7.0 ].each{|ver|
open( "外部リンク:docs.ruby-lang.org ) {|f|
puts "#{ver} #{( f.read.force_encoding( Encoding::UTF_8 ).match( /\bdeprecated\b/ ) )? "true ": "false"} #{f.last_modified.localtime.strftime( '%Y/%m/%d %T %z' )}"
省9
946: (ワッチョイ 7433-gz1R) 2020/12/03(木)12:06 ID:7EFKRkup0(1) AAS
先日のURIのやつもそうだけど、過剰でもう手におえなさそうな実装を切ろうとしてんのかな。

来るべきRuby3に向けてか?
947: (ワッチョイ 0c01-zWK8) 2020/12/03(木)12:09 ID:Glofd6fS0(1) AAS
>>945
なるほど、2.4はサポート切れてるから2.5以降だけリファレンスを更新したんだろうね

Railsとか本番で使うシステムは特殊な用途以外はTimeかTimeWithZone使ってるから別にいいんだろうけど
ちょっとしたツールでactivesupport使うまでもないようなものはTimeじゃなくDateTime使うことが多かったから
急にdeprecatedになってて驚いた
948: (ワッチョイ 66e6-XXx1) 2020/12/03(木)18:12 ID:PfGMH4zi0(1) AAS
deprecatedで驚くのは中級以上の証
初心者は「まぁ動いてるからヨシ!」
949
(1): (ワッチョイ 8ea7-3brL) 2020/12/03(木)20:52 ID:rS3QJvGw0(1) AAS
ルビー初心者なんですがうまく動かなくて悩んでいます。
ここで質問さしていただいてもいいでしょうか?
950: (ワッチョイ acce-Mii/) 2020/12/03(木)21:12 ID:hX6RFB1N0(1) AAS
どうぞ
951: (オッペケ Sr5f-zYXO) 2020/12/03(木)21:16 ID:QtB29qoZr(1) AAS
>>949
OSとruby -vの結果とエラーログを貼ってください。
952: (ワッチョイ 8ea7-3brL) 2020/12/04(金)00:07 ID:fauI+lK+0(1/2) AAS
ありがとうございます
CentOS 7.8上に Ruby2.5.8 + Rails4.2 + MySQL8.0 で立てる、ごく普通の
Webアプリを構築しています。nginxは1.16です

ログイン画面で認証(sorcery)したら次画面に自分が所属する店の売り上げを
表示する、というアプリを作っているのですが、店の売り上げはログインした
ユーザに関する店の情報だけ出せば良いので、ActiveRecordのdefault_scopeを
使って、current_userのユーザ情報を元にscopeを設定しています
省4
953
(1): (ワッチョイ 8ea7-3brL) 2020/12/04(金)00:12 ID:fauI+lK+0(2/2) AAS
current_user情報の保持はRsquestStoreを使っています

うまく動いていないのは、このRequestStoreを介したcurrent_user情報が
modelのdefault_scopeの中でうまく不具現できないときがあるのです
うまく動くときもあるだけに逆に難儀しています

たまにcurrent_userの情報が直前にログインしていた別のユーザの情報と
なっている事が合って、default_scopeが期待した動きになりません。
デバッグで確認してみると、controller上でRequestStoreからcurrent_userを
省3
954: (ワッチョイ 732c-XXx1) 2020/12/04(金)11:46 ID:sfksvFP90(1/2) AAS
Rails 4.2 は古い

今は、Rails 6 の本も数冊出てる。
最低でも、Rails 5 以上

パーフェクト Ruby on Rails、2020/7、には、
scope とは再利用するクエリに、名前を付けるものって書いてある

class Book < ApplicationRecord
scope :costly, -> { where( "price > ?", 3000 ) }
省3
955: 954 (ワッチョイ 732c-XXx1) 2020/12/04(金)11:58 ID:sfksvFP90(2/2) AAS
同じ本に、default_scope は使うなって書いてある

そのモデルクラスのすべての操作に、暗黙的に適用されるため、

逆に適用しない場合に、
Book.unscoped.where(何々)みたいに、
一々、unscoped で取り消さないといけないから、初心者を惑わすから
956: (ブーイモ MMed-rU9g) 2020/12/04(金)13:08 ID:tBcZspOUM(1) AAS
>>953
まずはcurrent_userを設定してるところに問題ないか見直したほうがいいんじゃね?
957
(1): (ワッチョイ 66e6-RsF0) 2020/12/08(火)13:45 ID:/FLfc1Yi0(1/2) AAS
anemoneが更新されていないのですが、
代替えってありますか?
958
(1): (ワッチョイ 0c01-zWK8) 2020/12/08(火)15:24 ID:L/fvSJtl0(1) AAS
>>957
kimurai, spidr
959: (ワッチョイ 66e6-RsF0) 2020/12/08(火)16:31 ID:/FLfc1Yi0(2/2) AAS
>>958
あざっす
960
(2): (ブーイモ MMcf-oE3n) 2020/12/10(木)20:38 ID:TEgFYOMiM(1) AAS
DBロールバックっていつ使うんすか?
マイグレしたあとにリクエスト処理してロールバックしたらデータ整合性崩れない?
NULL不可をNULL可能にマイグレ→NULLデータ追加→ロールバック→戻せなくて死亡
みたいな感じ?
バックアップダンプファイルからリストアじゃイカンのかな
961
(1): (ワッチョイ 8714-kNbH) 2020/12/11(金)02:39 ID:ExAO4AKO0(1) AAS
>>960
トランザクションの基礎を勉強しなさい
アプリを実際に作りなさい
経験がなさすぎる
962
(1): (ブーイモ MMcf-oE3n) 2020/12/11(金)08:54 ID:Ollsi59NM(1) AAS
>>961
あーそっちのロールバックじゃなくてマイグレのロールバックな
963
(1): (ワッチョイ 5f33-Igzg) 2020/12/11(金)10:55 ID:vQm1aiEb0(1) AAS
>>962
それは「Ruby」「初心者」スレで聞くことなのか?
964
(1): (ワッチョイ df01-c3Ov) 2020/12/11(金)11:49 ID:s+ujdTab0(1/2) AAS
>>960
もし戻す必要が出た場合にそれまでの間に追加・更新されたデータをどうするか先に考えておく必要がある
NOT NULLに戻す場合はchange_column_nullだけで対処可能だからそんなに問題にならない
バックアップから戻したら追加・更新されたデータが消える
965: (ブーイモ MMcf-oE3n) 2020/12/11(金)12:49 ID:PpUdey1gM(1/2) AAS
>>963
初心者といったらruby
rubyといったらrails
railsといったらmigration
966
(1): (ブーイモ MMcf-oE3n) 2020/12/11(金)12:57 ID:PpUdey1gM(2/2) AAS
>>964
ふむ
マイグレのセマンティクスをよく考えて個別にロールバックを実装していくしかないのかな
でもそれだとロールバック実装コストがかなり高く付きそうではあるな
どうせロールバックは緊急時にしか使わないわけであって
だったらロールバックは捨ててバックアップリストアでもいいんじゃないかなと
967: (ワッチョイ df01-c3Ov) 2020/12/11(金)16:10 ID:s+ujdTab0(2/2) AAS
>>966
実装しないとしても戻す必要が出た場合にどう対応するのかを事前に検討しておく
検討の結果、実装しない選択をするんであればいいけど
何も考えずバックアップリストアでいいとか言ってると確実にGoToトラブル

ロールバック時に必要な対応も考慮して
アプリは戻してもDBは戻さなくていいような方法を取ることもよくある
968: (ブーイモ MMcf-oE3n) 2020/12/11(金)19:19 ID:jyJfdkePM(1) AAS
.そもそも戻す必要性を可能な限り無くすために実データレプリカを含む膨大なデータセットでテストする
.運悪く戻す場合も安易なロールバックに頼らず修正マイグレーションを開発して緊急リリースする
.それでもだめなら神頼みロールバック
.それでもだめならバックアップリストア

これでOK
969: (ワッチョイ 7f2c-kRr2) 2020/12/13(日)01:03 ID:bSx7ciZe0(1/4) AAS
1. まず、これから更新するデータを、ジャーナルに書き込む
2. 実際に更新する
3. ジャーナルから記録を消す

だから、ジャーナルに記録があれば、更新できなかったと言う事。
その場合、回復ポイントから、ジャーナルにある分だけ更新していく(roll forward)

レアケースで、2が正常に終わった後、3でエラーになった場合は、
回復ポイントから、ジャーナルにある分だけ更新していく過程で、
省1
970: (ワッチョイ 7f2c-kRr2) 2020/12/13(日)01:12 ID:bSx7ciZe0(2/4) AAS
Kubernetes では、ネットワーク分断に備えて、
マスターを、3, 5, 7個の奇数にしておく

奇数なら、2:1 とか、過半数を取れるから、多数派を正常として扱う事ができる

偶数なら、2:2 とか、1:1:2 などに分断されても、
どのグループも過半数が取れず、判断できなくなる
1-
あと 32 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s