bạn có thể dùng Pusher thay cho Redis cũng được, nhưng giống như mình mô tả ở đầu bài, Pusher bạn sẽ phải trả phí khi sau này, đồng thời khả năng customize sẽ bị hạn chế, và các tutorials sử dụng Pusher khá là nhiều trên facebook nhưng với Redis khi mình tìm thì hầu như không có hoặc ở các phiên bản đã cũ. Nên mình mới làm ra tut này.
Nếu e trong trường hợp này đầu tiên cứ format thì sẽ có regex tương ứng. Nhưng để nhớ được nó thì khó quá nên bỏ qua
Vì vậy em sẽ bắt đầu viết theo cách 2 vì nó gần với tu duy và logic hơn . và khi viết song chắc nhìn vòn while thì có thể dùng đệ quy được. còn cách 1 em chắc ko nghĩ ra nổi mất =)). Em Nói đùa thế cho vui thôi nhưng cách 1 nếu ai tinh ý ta có thể làm theo cách khác như thế này được không anh
String.prototype.splice=function(idx){returnthis.slice(0, idx)+"."+this.slice(idx,this.length);};
str ="0000000000000001";
len = Math.abs(str.length/3);if(Number.isInteger(len)){
len = len -1;}
len =parseInt(len);
hihi =-1;while(len >0){
hihi +=4;
str = str.splice(hihi);
len -=1;}
console.log(str);
Haha sory bạn nhé mình quên ko ghi mình đang demo trên sql server. 2 loại hình HQTCSDL này no có cú pháp khác nhau nên thành ra bên mysql bạn phải viết khác đi nhé.
inserted = NEW
deleted = OLD
nên bạn chỉ cần chạy ntn là ok nhé
DELIMITER $$
CREATETRIGGER trg_DatHang
AFTERinsertON tbl_DatHang FOR EACH ROWBEGINUPDATE tbl_KhoHang
SET SoLuongTon = SoLuongTon - NEW.SoLuongDat
where MaHang = New.MaHang;END;
$$
DELIMITER;
Và vì sao bạn có thể lấy được NEW.SoLuongDat thì nó là tương đương với câu select sau nhé bạn
SET SoLuongTon = SoLuongTon -(SELECT SoLuongDat
FROM inserted
WHERE MaHang = tbl_KhoHang.MaHang )FROM tbl_KhoHang
JOIN inserted ON tbl_KhoHang.MaHang = inserted.MaHang
Bạn có thể xem cú pháp bên mysql trên document hoặc là vào đây cũng đc nhé
PHÍA DƯỚI LÀ 2 TABLE MÌNH TẠO; BÀI VIẾT CỦA BẠN RẤT HỮU ÍCH VÀ HAY ĐỐI VỚI MÌNH; VÌ VẬY NHỜ BẠN XEM DÙM MÌNH VỚI NHÉ. THANK
CREATE TABLE tbl_KhoHang (
id int(11) NOT NULL,
MaHang varchar(20) NOT NULL,
TenHang text NOT NULL,
SoLuongTon int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO tbl_KhoHang (id, MaHang, TenHang, SoLuongTon) VALUES
(1, '1', 'Rau mùng t?i', 12),
(2, '2', 'Rau mu?ng', 5),
(3, '3', 'Lam bo gi ni', 8);
ALTER TABLE tbl_KhoHang
ADD PRIMARY KEY (MaHang);
CREATE TABLE tbl_DatHang (
id int(11) NOT NULL,
MaHang text NOT NULL,
SoLuongDat int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO tbl_DatHang (id, MaHang, SoLuongDat) VALUES
(11, '1', 10);
THẢO LUẬN
class Foo; end
foo = Foo.new
def foo.bar puts 'instance method' end
foo.bar # "instance method"
Anh new object foo rồi dưới anh chỉ cần gọi foo.bar thôi, đúng ko anh ?
Ủa, vậy à ? Mình thấy vẫn sài ngon mà ?
" Mình quên config lại trong file .env " bạn cho mình hỏi file .env này ở đâu vậy ta, mình k hiểu lắm cho nay
Thanks
bạn có thể dùng Pusher thay cho Redis cũng được, nhưng giống như mình mô tả ở đầu bài, Pusher bạn sẽ phải trả phí khi sau này, đồng thời khả năng customize sẽ bị hạn chế, và các tutorials sử dụng Pusher khá là nhiều trên facebook nhưng với Redis khi mình tìm thì hầu như không có hoặc ở các phiên bản đã cũ. Nên mình mới làm ra tut này.
À em thấy bài anh viết bằng js nên em có viết lại để dễ dùng
. Cứ copy hết F12 vào console và chạy ạ
Test cái này thế nào vậy?
Bạn post source code lên sẽ dễ hiểu hơn đó.
đọc cuốn hút phết, viết tiếp đi thím
Bài viết hay. Nhưng buồn cho cái unikey trên ubuntu thì ko thấy cộng đồng mạng hỗ trợ nữa
Bài viết rất hay và gợi mở
Nếu e trong trường hợp này đầu tiên cứ format thì sẽ có regex tương ứng. Nhưng để nhớ được nó thì khó quá
nên bỏ qua
Vì vậy em sẽ bắt đầu viết theo cách 2 vì nó gần với tu duy và logic hơn
. và khi viết song chắc nhìn vòn while thì có thể dùng đệ quy được. còn cách 1 em chắc ko nghĩ ra nổi mất =)). Em Nói đùa thế cho vui thôi nhưng cách 1 nếu ai tinh ý ta có thể làm theo cách khác như thế này được không anh 
Haha sory bạn nhé mình quên ko ghi mình đang demo trên sql server. 2 loại hình HQTCSDL này no có cú pháp khác nhau nên thành ra bên mysql bạn phải viết khác đi nhé.
inserted = NEW
deleted = OLD
nên bạn chỉ cần chạy ntn là ok nhé
Và vì sao bạn có thể lấy được NEW.SoLuongDat thì nó là tương đương với câu select sau nhé bạn
Bạn có thể xem cú pháp bên mysql trên document hoặc là vào đây cũng đc nhé
https://www.techonthenet.com/mysql/triggers/after_insert.php
Nếu có câu hỏi cứ hỏi nhé. rảnh mình sẽ tìm tòi và giải đáp cho
Có 1 cách nữa là dùng IQKeyboardManager
Chuyện phỏng vấn là đàm đạo cho vui mà, hay là vô Sendo đàm đạo đi bạn
Regex nhiều khi là cứu cánh cho rất nhiều giải pháp
Mình chỉ chia sẽ về các ý tuởng mà mình đã nhận đuợc trogn quá trình phỏng vấn thôi, mà đệ quy cũng hay mà
lắm loại quá Abstract Interface Trait Helper
method describeContents làm gì vậy ạ ??
PHÍA DƯỚI LÀ 2 TABLE MÌNH TẠO; BÀI VIẾT CỦA BẠN RẤT HỮU ÍCH VÀ HAY ĐỐI VỚI MÌNH; VÌ VẬY NHỜ BẠN XEM DÙM MÌNH VỚI NHÉ. THANK
CREATE TABLE
tbl_KhoHang(idint(11) NOT NULL,MaHangvarchar(20) NOT NULL,TenHangtext NOT NULL,SoLuongTonint(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;INSERT INTO
tbl_KhoHang(id,MaHang,TenHang,SoLuongTon) VALUES (1, '1', 'Rau mùng t?i', 12), (2, '2', 'Rau mu?ng', 5), (3, '3', 'Lam bo gi ni', 8);ALTER TABLE
tbl_KhoHangADD PRIMARY KEY (MaHang);CREATE TABLE
tbl_DatHang(idint(11) NOT NULL,MaHangtext NOT NULL,SoLuongDatint(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;INSERT INTO
tbl_DatHang(id,MaHang,SoLuongDat) VALUES (11, '1', 10);-- Indexes for table
tbl_DatHangALTER TABLE
tbl_DatHangADD PRIMARY KEY (id);bắt buộc phải dùng redis hả bạn?