THẢO LUẬN

Để làm chức năng này thì bạn bắt buộc phải triển khai session để lưu data vào session cho web. Khi đó session bị mất thì mới đảm bảo được tính an toàn rằng thông tin cũ không còn hiệu lực và bắt buộc phải login lại.

0
thg 10 3, 2022 2:58 SA

@hoc_anms haha, okie e

+1
thg 10 3, 2022 2:56 SA

Anh ơi, cho em hỏi làm sao để show ra id của prefecture vậy ạ, em tìm hiểu trong thư viện thì nó chỉ có thể show đc id của region, mong mn rep giúp em ạ!

0

Tuy nhiên trường hợp tích hợp bằng merge thì những commit của branch sẽ hoàn toàn không được record lại . Do vậy nếu chúng ta muốn lưu lại một cách chuẩn xác flow của dự án thì Rebase là phương pháp được recommend. -> có vẻ hơi bị ngược

0
thg 10 3, 2022 2:06 SA

@maitrungduc1410 chắc chắn rồi 😃

+1

cho mình hỏi làm sao để xuất đc icon trên figma thành file font?

0
Avatar
đã bình luận cho bài viết
thg 10 3, 2022 1:03 SA

@maitrungduc1410 ok anh =)) Thế anh phải đẻ nhanh series kubernetes nhé

+1
thg 10 2, 2022 3:49 CH

@chithanh1012

docker sẽ check nếu package.json yarn.lock ko thay đổi thì nó sẽ ko chạy lại yarn install

Đúng như vậy mà bạn 🙄🙄, nếu không có gì thay đổi thì yarn install sẽ không chạy lại bạn ạ

0
thg 10 2, 2022 3:44 CH

@maitrungduc1410

COPY . .  
RUN yarn install

Ở trường hợp này thì bất kể bạn thay đổi ở package.json hoặc trong source code JS thì câu lệnh COPY . . sẽ không được cache vì bên ngoài có sự > > thay đổi -> yarn install chạy lại

Cảm ơn bạn, ở đây chắc do mình hiểu nhầm, mình cứ tưởng docker sẽ check nếu package.json yarn.lock ko thay đổi thì nó sẽ ko chạy lại yarn install.

0
thg 10 2, 2022 3:34 CH

mình sẽ giải thích từng trường hợp nhé.

Trường hợp 1: Dockerfile như bên dưới, copy tất tần tật mọi thứ vào trước sau đó mới chạy yarn install

COPY . .  
RUN yarn install

Ở trường hợp này thì bất kể bạn thay đổi ở package.json hoặc trong source code JS thì câu lệnh COPY . . sẽ không được cache vì bên ngoài có sự thay đổi -> yarn install chạy lại


Trường hợp 2: COPY package.json và yarnlock vào trước, sau đó chạy yarn install

COPY package.json yarn.lock ./
RUN yarn install
COPY . .

Ở trường hợp này, nếu bạn có thay đổi ở trong file package.json hoặc yarnlock thì hiển nhiên câu lệnh COPY package.json yarn.lock ./ có sự thay đổi, và kể từ đó Docker sẽ không dùng lại cache -> yarn install sẽ chạy lại

Nhưng nếu bạn không cài thêm package mới gì, mà chỉ sửa source code JS, tức là package.json và yarn.lock không đổi, vậy thì câu lệnh đầu tiên COPY package.json yarn.lock ./ Docker thấy không có gì thay đổi -> dùng cache -> tiếp theo câu lệnh yarn install thì nó phụ thuộc vào package.json và yarn.lock, mà như mình vừa giải thích là không có gì đổi cả -> yarn install cũng được cache không phải chạy lại. Chỉ có dòng cuối cùng COPY . . là phải chạy lại thôi vì code JS thay đổi (mà COPY thì chạy trong 1 nốt nhạc 😃)

Qua 2 trường hợp trên, hẳn bạn đã thấy trường hợp 2 tối ưu hơn, nhất là file package.json và yarn.lock không thay đổi thường xuyên (có phải ngày nào ta cũng cài thêm package mới đâu đúng không 😅), mà thường chỉ có code chính (JS) thay đổi, do vậy build image sẽ nhanh hơn nhiều.

Rule ở đây là: sắp xếp làm sao những thứ ít thay đổi thì đẩy lên đầu file Dockerfile, cái nào hay thay đổi cho xuống dưới để tận dụng tối đa Docker build cache. (nhưng đừng áp dụng quá máy móc nhé 😉)

0
thg 10 2, 2022 1:41 CH

@maitrungduc1410 Cảm ơn bạn vì bài viết.

Bạn cho mình hỏi, nếu viết như bên dưới.

COPY . .  
RUN yarn install

nếu mình chỉ thay đổi code ở file js, mà ko thay đổi ở package.json thì lệnh RUN yarn install có bị chạy lại từ đầu không?(ko dùng caching) Mình đang hiểu là nếu k thay đổi package.json thì 2 đoạn mã bên dưới giống nhau chứ nhỉ.

COPY . .  
RUN yarn install

COPY package.json yarn.lock ./
RUN yarn install
COPY . .
0
Avatar
đã bình luận cho bài viết
thg 10 2, 2022 12:33 CH

thanks

+1
thg 10 2, 2022 12:03 CH

Cám ơn tác giả, rất hữu ích!

0

😍😍😍

0
thg 10 2, 2022 10:43 SA

nhớ theo dõi nhé e 😉

+1
thg 10 2, 2022 10:43 SA

cám ơn bạn, nhớ theo dõi nhé 😉

0
thg 10 2, 2022 9:20 SA

tks

0

@thuntt_

COPY database/ database/
COPY composer.json composer.json
COPY composer.lock composer.lock

RUN composer install \
    --no-interaction \
    --no-plugins \
    --no-scripts \
    --no-dev \
    --prefer-dist

COPY . .

Mình có thắc mắc xíu, lệnh COPY . . đã thực thi copy toàn bộ file| folder trong thư mục hiện tại rồi.
Vậy sao cần 3 câu lệnh bên trên nữa bạn nhỉ.
Có nên sửa như bên dưới ko ạ?

COPY . .
RUN composer install \
    --no-interaction \
    --no-plugins \
    --no-scripts \
    --no-dev \
    --prefer-dist


0

Good

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí