Sự khác nhau giữa server có containerization và server không containerization
bên trái như cách thông thường, còn bên phải là sever containerized, ở đây là docker. Vậy câu hỏi của bạn trở thành sự khác nhau giữa docker và virtual machine.
Hypervisor là các máy ảo (Virtual Machine - VM) cũng được tạo ra để triển khai các dự án khác nhau với các điều kiện môi trường và công nghệ khác nhau. Vậy điểm khác nhau giữa Docker và VM là gì: Giả sử bạn có 2 mảnh đất, mỗi mảnh 500m2.
Trên mảnh thứ nhất, bạn phân ra làm 10 lô nhỏ , mỗi lô 50m2 để bán, ai mua lô nào thì họ tự xây nhà , tự thiết kế, muốn nhà quay hướng nào thì xây, thích lắp điện nước như nào thì lắp, không lắp thì không dùng. Trên mảnh thứ 2 bạn bán cho một chủ đầu tư, họ xây chung cư 40 tầng, với rất nhiều căn hộ có các kích thước khác nhau tùy túi tiền người mua. Rõ ràng bạn thấy ở trường hợp 2, các căn hộ phải sử dụng chung đường ống nước , đường điện từ 1 nguồn nào đó, chung sân, chung nóc vv… cùng chia sẻ tài nguyên với nhau.
Trường hợp 1 thì mỗi nhà có quyền sử dụng riêng, không chia sẻ gì với ai. VM cũng giống TH1 vậy, mỗi máy ảo sử dụng một OS riêng, được cấp phát bộ nhớ ngay từ lúc đầu tạo ra, nên dẫn đến dư thừa không cần thiết. Còn Docker như những căn chung cư , các container (được ví như căn hộ) được tạo ra sử dụng chung tài nguyên, cần bao nhiêu dùng bấy nhiêu, tùy vào mục đích sử dụng nên tiết kiệm tài nguyên hơn VM.
Nguồn https://viblo.asia/p/docker-hay-hieu-theo-cach-cua-ban-Az45bnk65xY.
Hỏi về custome login trong laravel, không kiểm tra được Auth::check()
Vấn đề này khá đơn giản, nên mình hướng dẫn bạn cách search google và debug. Bạn sử dụng cú pháp dd(bất cứ thứ gì có thể là object, function, collection). Ví dụ hàm post kia kiểm tra user password bạn có thể dd($request) xem màn hình ra gì. Còn bug bạn có thể chọn từ khoá dòng đầu kiếm nó sai chỗ nào hoặc copy paste lên google là có ngay. Theo như hình ảnh trên tui thấy đầu vào có vấn đề... Dữ liệu phỏng đoán sai chỗ nào chưa đầy đủ nên đoán vậy =))
Sử dụng docker với laravel
trong file vhost.conf kia là cơ bản, bạn chưa config đúng đường dẫn thư mục laravel
root /var/www/public; ?????
Bạn đã config /etc/hosts
chưa đối vs linux còn đối với window: C:\Windows\System32\Drivers\etc
Hỏi về cách sử dụng font `Noto Sans CJK JP` cho web
Dạo quanh google ta được như sau. https://stackoverflow.com/questions/3245141/using-otf-fonts-on-web-browsers Bạn có thể tham khảo.
Cách bảo mật API của project
Cách đây 1 năm, mình cũng gặp tình hình khá giống của bạn, vấn đề này mình mất khoảng 1 tuần để tìm ra solution (kiểu khách không đăng nhập, mà coi như đã đăng nhập rồi). Ở server bạn hãy tạo 1 token key JWT và redirect có đường dẫn https://abc,xyz?token=xyzkjhkjsahkdsakdgjashdjkhsajd
cho phía client, và client sẽ check token ngược lại server để kiểm tra 1 lần nữa lưu thông tin User, info các thứ. Sau đó trở đi, mỗi API cần có quyền thì từ client gửi lên server đều check Header authorizaion
để check key còn hạn hay không. Với cơ chế kiểu này thì token của bạn nên có session rất ngắn khoảng vài tiếng thôi. Và gần hết hạn token sẽ gửi refresh token
là được. Vẫn đảm bảo không cần đăng nhập mà vẫn vào được gần như đã đăng nhập rồi. JWT awesome hơn chúng ta nghĩ 1 server mà nhiều client dùng chung cũng không vấn đề gì cả.
hỏi lập trình web
https://toidicodedao.com/2018/03/27/cong-nghe-tai-trang-the-gioi-di-dong/ thế giới di động trang của nó không dùng bootstrap nhé . Đó họ tự dùng cái của họ luôn
Thêm js 'thường' vào reactjs
ReactJs là thư viện javascript, bản chất component trong đó đều là Js, vậy không rõ câu hỏi của bạn ý là gì ?
crawl website sử dụng puppeteer
Puppeteer thì mỗi khi bạn mở 1 session mới thì nó sẽ tương đương với việc tạo 1 user mới hoàn toàn trên Chrome và nó có hành vi của một trình duyệt người dùng bình thường. (Search google nó ra vậy) . Bạn có thể thử dùng chạy vòng lặp for kết hợp và sau đó là lưu vào DB. Nếu cấu trúc các trang là khác nhau thì bạn nên diễn tả như văn viết code để click element khác để crawl tiếp
Nếu trang bạn crawler dữ liệu ko render từ javascript thì bạn có thể crawler bằng cách PHP thuần cũng viết được get page source rồi cắt chuỗi các thứ là ok hết. Việc bạn muốn chạy đa tác vụ cùng lúc cần thận đó, tốt nhất là lần lượt hàng đợi đối với bài toán kiểu này.
Function gọi lại nhiều lần
Mình cũng chỉ hiểu phần nào thôi, có cơ chế multithreaded programming. Nhưng lý thuyết và thực tế khác nhau hoàn toàn nên ý tưởng của bạn có thể làm được bằng cách này.
Cách chia layout trong Vuejs giôngs blade template của Laravel
Bạn tham khảo nhé, bản chất các layouts, chia chát các thứ là components hết nhá bạn
[ FRONTEND ] _Vấn đề 2 table liên kết với nhau
bạn set width cho mỗi cột ở table 1, tương ứng với width cho mỗi cột ở table 2
ReactJs với Webpack, Babel 7
Có thể bạn đã dùng sai phiên bản các thư viện tutorial trên mạng. Cũng có thể thiếu file .babelrc
kìa khi xài ES6 buộc phải có.
Auth::guard('api')->check() trong Laravel
vì bạn sử dụng jwt nền cơ chế Auth không có tác dụng bạn nhé. Bạn vào app/Http/Kernel mình đoán bạn sử dụng routes/api.php thì ko có session đầy đủ như web.
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
bạn fix lại bằng cách ko sử dụng jwt nữa mà dùng đăng nhập truyền thống ban đầu. Hoặc bạn đưa controller xử lý đăng nhập sang routes/web.php
Xin hỏi cách kết hợp SSO (single sign on) với Laravel Passport
đối với các trang cùng một sub domain ví dụ như 'abc.xyz.com' và 'opq.xyz.com' cùng một domain là 'xyz.com' thì việc SSO bạn có thể share các cookies bằng cách sử dụng CORS và config share các thông tin người dùng. Bạn phải config domain trên môi trường test làm sao đúng dạng subdomain thế kia là ổn. đây là package CORS: https://github.com/barryvdh/laravel-cors
Điều kiện cần để xếp hạng trang web là gì?
Theo kinh nghiệm làm SEO Web của mình thì hiện tại Google ưu tiên hỗ trợ JSON-LD để đánh dấu dữ liệu trang web đồng thời trùng với nội dung trang web tăng độ uy tín. Bạn có thể tìm hiểu qua nhé. Ngoài ra có dữ liệu có cấu trúc khác như MicroData phổ biến khoảng thời gian về trước. Bạn cũng có thể ứng dụng sitemap xml gửi lên google search console.