Vấn đề về soft delete ảnh hưởng đến performance trong Laravel
Theo mình chỉ nên dùng soft delete trong một vài trường hợp
- Trường hợp đúng nghĩa là xoá tạm, sau đó record có khả năng hồi phục lại nguyên dạng
- Trường hợp dữ data lại để thực hiện thống kê gì đó, trường hợp này nếu là mình thì mình cũng sẽ migrate các data cần thống kê ra bảng riêng để không ảnh hưởng đến performance của các bảng chính được query nhiều
Nên theo ý kiến cả nhân mình thì việc dùng soft delete cho tất các các tables là một việc không nên làm Nếu bạn hỏi nên giữ hay không thì mình xin một vote không giữ =))
CHạy thử app trên heroku
Nếu deploy thành công rồi thì bạn xem DB đã được migrate thành công chưa nhé. Ngoài ra heroku hỗ trợ xem log khi có lỗi, bạn kiểm tra rồi xử lý hoặc post log lên đây nhé https://devcenter.heroku.com/articles/logging
Nên lưu trữ dữ liệu thế nào nếu có tới hàng tỷ record?
Dữ liệu lên tới hàng tỷ dòng thì mình nghĩ nên chuyển sang dùng NoSQL
Công nghệ phân tích ngữ nghĩa
Mình nghĩ ngay đến một giải pháp là dùng Google API =))
Tách đoạn văn thành từng câu (hoặc từng phrase) riêng lẻ, sau đó xử lý đơn giản loại bỏ các thành phần như chấm phẩy dấu cách thừa, sau đó search chính xác, ra càng ít kết quả thì khả năng sai từ hay ngữ pháp càng cao (yaoming)
Cách tách phrase thì dùng các tool như stanford parser là OK https://nlp.stanford.edu/software/lex-parser.shtml
[Android] App dịch morse.
Mình search qua thì ra trang này https://morsecode.scphillips.com/ Có vẻ có đủ hết những thứ bạn cần
Update Muiltiple Images In Rails
Bạn có thể chia sẻ các đoạn code liên quan trên model và uploader lên đây được không
Ruby: How does `grep` method work?
This is source code of Enumerable#grep
static VALUE
enum_grep(VALUE obj, VALUE pat)
{
VALUE ary = rb_ary_new();
struct MEMO *memo = MEMO_NEW(pat, ary, Qtrue);
rb_block_call(obj, id_each, 0, 0, rb_block_given_p() ? grep_iter_i : grep_i, (VALUE)memo);
return ary;
}
Returns an array of every element in enum for which Pattern === element. If the optional block is supplied, each matching element is passed to it, and the block's result is stored in the output array.
So I think it's just only one iteration.
And as you said, solution 1 uses the output array of select
as input of map
.
FYI https://ruby-doc.org/core-2.5.0/Enumerable.html#method-i-grep https://ruby-doc.org/core-2.5.0/Enumerable.html#method-i-select https://ruby-doc.org/core-2.5.0/Enumerable.html#method-i-map
Cho phép người dùng đăng ký tài khoản trong giới hạn cho phép như thế nào?
Mình thấy cũng có vài cách. Bạn có thể đặt validate trong model User của bạn.
...
validate :whitelisted
...
private
def whitelisted
unless EmailPermission.exists? email: self.email
# raise lỗi ở đây
end
end
end
# or
validates :email, :with => EmailAddressValidator
# rồi viết class validator riêng
Hoặc có thể khai báo lại RegistrationsController của devise trong code của mình để thêm xử lý check email.
class RegistrationsController < Devise::RegistrationsController
def create
if EmailPermission.exists? email: params[:user][:email]
super
else
# raise lỗi ở đây
end
end
end
Hoặc có thể custom lại email regex cho Devise (cách này hơi ảo )
# config/initializers/devise.rb
config.email_regexp = Regexp.new("^(#{EmailPermission.all.map(&:email).join('|')})$")
Mình chưa làm thật bao giờ nên không biết chạy có ổn không và cái nào là best practice (yaoming) Hi vọng giúp ích được cho bạn!
tìm sách
Chưa vào đại học thì em nên tìm đọc các cuốn về giải thuật trước nhé
S3 Region
Châu Á thì hẳn là Asia Pacific rồi, Singapore hay Tokyo đều được
Làm sao test R.E.S.T
Manual test thì POSTMAN cũng tốt. Nhưng có cái tốt hơn POSTMAN 69 lần là INSOMNIA bạn nhé https://insomnia.rest/
Một điểm khiến mình chuyển ngay từ POSTMAN sang INSOMNIA là INSOMNIA cho phép setup nhiều môi trường khác nhau. Ví dụ bạn có các môi trường development, staging, production với các API URL khác nhau, bạn có thể định nghĩa các URL đó với từng môi trường, lúc test môi trường nào switch sang môi trường đó. POSTMAN không làm được điều này, phải đổi bằng tay hoặc phải save ra nhiều câu request giống nhau.
Cần tư vấn giải pháp MySQL lớn lên đến 10 triệu rows
Không có một thông tin gì chi tiết nên mình cũng không thể comment gì về cách cải thiện cả. Tuy nhiên với những bảng data với số lượng lớn bản ghi bạn nên cân nhắc chuyển sang dùng NoSQL, độ linh hoạt của query sẽ bị hạn chế nhưng tốc độ đọc ghi thì vô đối Về NoSQL thì nếu có tiền thì xài hàng của AWS, còn không thì có thể dùng Cassandra hoặc MongoDB chẳng hạn.
Dùng hover hay click cho dropdown menu
Nếu là bật cái menu xanh đó ra thì mình nghĩ nên là click. Còn nếu là các menu con của các mục thì nên là hover
Các kĩ năng
Tổ chức
Chưa có tổ chức nào.