Cách upload file lên s3 trong web laravel thông qua giao thức https
Phần AWS_ENDPOINT mình thử dùng url có https thử xem
'endpoint' => env('AWS_ENDPOINT', 'https://minio:9000'),
https://laravel.com/docs/11.x/filesystem#amazon-s3-compatible-filesystems
hỏi cài đặt firebse cli
Bạn cài thử Google chrome và set nó làm trình duyệt mặc định của máy, rồi thử lại xem
Lỗi 2 container mysql cùng chung 1 folder data
2 container độc lập nên mỗi cái cần mount 1 thư mục riêng đó. Trong trường hợp bạn cần mở rộng mysql thì có thể tìm hiểu về mô hình master slave
Anh chị nào có thể chỉ em Cách tạo chức năng thông báo cho website với PHP ạ?
Nếu project PHP của em sử dụng framework Laravel thì em tham khảo cách Database Notifications, các thông báo sẽ được lưu trong database và mỗi lần tải trang sẽ gọi tới API để lấy các thông báo về để hiển thị. Như trên Viblo thì có 1 API để lấy danh sách thông báo về https://laravel.com/docs/9.x/notifications#database-notifications
Làm sao để cài đặt unoconv
Bạn có thể tham khảo cách cài đặt unoconv
này trên image base alpine
FROM node:14-alpine3.12
ENV UNO_URL https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv
RUN apk --no-cache add python3 \
bash \
curl \
util-linux \
libreoffice-common \
libreoffice-writer \
ttf-droid-nonlatin \
ttf-droid \
ttf-dejavu \
ttf-freefont \
ttf-liberation \
&& curl -Ls $UNO_URL -o /usr/local/bin/unoconv \
&& chmod +x /usr/local/bin/unoconv \
&& ln -s /usr/bin/python3 /usr/bin/python
React router dom v6: Cannot load layout
Outlet
được sử dụng nhằm mục đích cho bạn render 1 trang con bên trong trang cha ý
<Routes>
<Route path="/" element={<Layout />}>
<Route index element={<SneakerGrid />} />
<Route path="/sneakers/:id" element={<SneakerView />} />
<Route path="*" element={<NoMatch />} />
</Route>
</Routes>
Như cách định nghĩa trên thì khi bạn truy cập url /
thì sẽ render component Layout
, truy cập /sneaker/:id
thì sẽ render SneakerView
ở vị trí mà bạn đặt component Outlet
ở trong Layout
. Nếu <outlet /> không nhận component nào thì mà bạn có thể load được trang, là bởi vì trang hiện tại đang render component Layout
hỏi heroku cli của heroku
Heroku CLI yêu cầu bắt buộc phải sử dụng git (https://git-scm.com/download/win) tham khảo: https://devcenter.heroku.com/articles/git#prerequisites-install-git-and-the-heroku-cli không thể dùng git-portable thay thế được.
react native
Lỗi này do mạng kém, dẫn tới khi fetch package kia về bị timeout cái request đó đấy. Nếu bạn dùng yarn thì trước khi chạy build thì bạn chạy command này
yarn config set network-timeout 300000
Nó sẽ tăng thời gian timeout lên
Giải pháp xây dựng websocket server nhiều người sử dụng 1 lúc
Mình thấy không nhất thiết phải chạy vòng lặp để gửi danh sách cho cả 1000 người đang kết nối tới server đâu, thông thường thì với ứng dụng realtime thì sẽ dùng pub/sub pattern, các user sẽ trong cùng nhóm chat sẽ subscribe vào cùng 1 channel khi đã subscribe thành công thì user đó có thể gửi/nhận message thông qua websocket protocol, từ đó để lấy số user đang kết nối thì chỉ cần lấy từ channel đó ra là được.
chuyển dữ liệu của andori ⇒ios
Với Line thì bạn không thể chuyển tin nhắn từ android sang ios được đâu https://help.line.me/line/android/pc?lang=en&contentId=20006100
Ẩn đi nội dung (chỉ xem trước 1 đoạn) trong 1 đoạn text dài
Bạn có thể dùng giá trị ellipsis
cho thuộc tính text-overflow
trong css nhé
Mã Javascript Hoạt Động Khi Chuyển Sang Tab Khác
Bạn sử dụng Worker thử nhé
Giúp em với em không thể up json-server về VSCode được
Do em dùng thêm option -g , viết tắt của global nên em cần chạy command dưới quyền root để nó có thể ghi package kia nhé. sudo npm i -g json-server
Xóa đoạn chuỗi trong string JS
Bạn thử cách này
var str = "xyd.com/abc_abc_abc_500x400.png?a=132455"
console.log(str.replace(/[_\d,]+\h*x\h*([\d,]+)(?:\h*x*[\d,]+)?/, ''))
// output
'xyd.com/abc_abc_abc.png?a=132455'
Click Chuột Phải Hiện Lên Bẳng
Bạn thử dùng Modal của bootstrap rồi dùng đoạn js này
$('#mymodal').on('contextmenu', function (e) {
e.preventDefault();
console.log('click');
$('#largeModal').modal('show');
});
<div class="container">
<h1 class="display-4 text-center mb-4">Bootstrap Modals</h1>
<div class="row mb-4">
<div class="col text-center">
<h3>The Large Modal</h3>
<a id="mymodal" href="#" class="btn btn-lg btn-primary" data-toggle="modal" data-target="#largeModal">Click to open Modal</a>
</div>
</div>
</div>
<!-- large modal -->
<div class="modal fade" id="largeModal" tabindex="-1" role="dialog" aria-labelledby="basicModal" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">Large Modal</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<h3>Modal Body</h3>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
lỗi kết nối cơ sở dữ liệu trong laravel8 ai giup voi
Bạn enable extension pdo
và pdo_mysql
cho php lên là được.
Phần quyền trong laravel với Vue như thế nào?
Data trong LocalStorage dễ dàng bị chỉnh sửa bởi user nên bạn không nên lưu ở Local Storage. Mình nghĩ nên sử dụng 1 state management như Vuex để lưu user role
Hỏi về queue trong laravel 8
Thực tế command php artisan queue:work
sẽ bật 1 worker xử lý các job trong queue default, có thể do ngày trước bạn chưa định nghĩa job chạy trong queue nào chứ không phải có sự khác biệt trong version của laravel.
Để chạy nhiều worker lên thì bạn làm như trên document của Laravel là sử dụng Supervisor (https://laravel.com/docs/8.x/queues#configuring-supervisor)
[program:worker-queue-1]
process_name=%(program_name)s_%(process_num)02d
command=php /home/forge/app.com/artisan queue:work --queue=queue1
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/home/forge/app.com/worker-1.log
stopwaitsecs=3600
[program:worker-queue-2]
process_name=%(program_name)s_%(process_num)02d
command=php /home/forge/app.com/artisan queue:work --queue=queue2
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/home/forge/app.com/worker-2.log
stopwaitsecs=3600