เดเดจเตเดฑเต เดฒเตเดเดจเดคเตเดคเดฟเดฒเต เด
เดญเดฟเดชเตเดฐเดพเดฏเดเตเดเดณเดฟเตฝ
เดฎเตเตป เดชเดฐเดฎเตเดชเดฐเดฏเตเดเต เดธเดเดเตเดฐเดนเด: เดฐเดฃเตเดเต เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดเตผเดถเดจเดฎเดพเดฏ เดธเดฎเดฏเดชเดฐเดฟเดงเดฟเดเตเดเต เดเตเดดเดฟเตฝ เดเดฐเต เดกเตเดเตเดเตผเดซเดฏเตฝ เดฐเดเดฟเดเตเดเตเดจเตเดจเต. เด เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเดฟเตฝ, เดเดชเตเดธเต เดเดเตเตผ เดเดตเดพเดจเตเดตเดฟเดเตเดเต เด เดตเดฐเตเดเต เด เดเตเดคเตเดคเตเดเตเดเต เดตเดฐเตเดจเตเดจเต. เดคเดคเตเดซเดฒเดฎเดพเดฏเตเดฃเตเดเดพเดเตเดจเตเดจ เดกเตเดเตเดเตผเดซเดฏเตฝ เดตเดณเดฐเต เดฎเตเดถเดฎเดพเดฃเต, AI เดนเตเดฆเดฏเดพเดเดพเดคเดคเตเดคเดฟเดจเตเดฑเต เดตเดเตเดเดฟเดฒเดพเดฃเต.
เดเดจเดฟ เด เดกเตเดเตเดเตผเดซเดฏเดฒเดฟเดจเตเดฑเต เดเตเดดเดชเตเดชเด เดเดจเตเดคเดพเดฃเตเดจเตเดจเต เดจเตเดเตเดเดพเด.
เด เดเตเดเดจเต เดเดฐเดพเดดเตเด เดเดดเดฟเดเตเดเต.
เดฆเตเดตเต เดชเตเดคเตเดฏ เดเดชเตโเดธเต เดเดเตเตผ เดเดตเดพเดจเตเดตเดฟเดเตเดเดฟเดจเต เดกเตเดจเดฟเดเดเต เดฑเตเดฎเดฟเตฝ เดเดฐเต เดเดชเตเดชเต เดเดพเดชเตเดชเดฟ เดเตเดเดฟเดเตเดเตเดจเตเดจเต.
เดชเดฟ: เดเดเตเตผ เดเดตเดพเดจเตเดตเดฟเดเตเดเต, เดจเดฟเดเตเดเตพ เดตเดณเดฐเต เดคเดฟเดฐเดเตเดเดฟเดฒเดพเดฃเต? เดเดเตเดเตพ เดเดตเดฟเดเตเดฏเดพเดฃเต เดชเดฟเดฃเดเตเดเดฟเดฏเดคเตเดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเดเตเดเดพเตป เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต.
AI: เด
เดคเต เดจเดฒเตเดฒเดคเดพเดฃเต, เดเตเดทเดฃเดคเตเดคเดฟเตฝ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณ เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเดฐเต เดจเดฟเดเตเดเตพ เดชเดฒเดชเตเดชเตเดดเตเด เดเดพเดฃเดพเดฑเดฟเดฒเตเดฒ.
เดเดฆเตเดฏเด, เดจเดฎเตเดเตเดเต เดเดฟเดฒ เดเดพเดฐเตเดฏเดเตเดเตพ เด
เดเดเตเดเดฐเดฟเดเตเดเดพเด:
- เดกเตเดเตเดเตผ เดชเตเดฐเดคเตเดฏเดฏเดถเดพเดธเตเดคเตเดฐเด: เดเดฐเต เดเดฃเตเดเตเดฏเตเดจเตผ - เดเดฐเต เดชเตเดฐเดเตเดฐเดฟเดฏ.
- เดเตเดฑเดฟเดฏ เดเดฃเตเดเตเดฏเตเดจเตผ, เดจเดฒเตเดฒเดคเต.
- เดจเดฟเดเตเดเตพ เดเดพเดทเตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดคเตเดฐเดฏเดงเดฟเดเด เดเดเตเดเตเดเตเดจเตเดจเตเดตเต เด เดคเตเดฐเดฏเตเด เดจเดฒเตเดฒเดคเต.
เดชเดฟ: เดเดจเตเดคเตเดเตเดฃเตเดเต เดเดฐเต เดเดฃเตเดเตเดฏเตเดจเดฑเดฟเตฝ เดเดฐเต เดชเตเดฐเดเตเดฐเดฟเดฏ เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด?
AI: เดกเตเดเตเดเตผ, เดเดฐเต เดเดฃเตเดเตเดฏเตโเดจเตผ เดเดฐเดเดญเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดชเดฟเดกเต 1 เดเดชเดฏเตเดเดฟเดเตเดเต เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเตเดเต เด เดตเดธเตเดฅ เดจเดฟเดฐเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต. เดชเตเดฐเตเดธเดธเตเดธเต เดฎเดฐเดฟเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดเดฃเตเดเตเดฏเตโเดจเตผ เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเดพเตป เดกเตเดเตเดเตผ เดถเตเดฐเดฎเดฟเดเตเดเตเดจเตเดจเต. เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดเดฃเตเดเตเดฏเตโเดจเดฑเดฟเตฝ เดจเดฟเดฐเดตเดงเดฟ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเตเดฃเตเดเตเดจเตเดจเต เดชเดฑเดฏเดพเด, เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดชเตเดฐเดงเดพเดจ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป pid 1 เดเดชเดฏเตเดเดฟเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดชเตเดฐเตเดธเดธเตเดธเต เดฎเดฐเดฟเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดกเตเดเตเดเดฑเดฟเดจเต เด เดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต เด เดฑเดฟเดฏเดฟเดฒเตเดฒ.
เดจเดฟเดเตเดเตพเดเตเดเต เดเตเดเตเดคเตฝ เดเตเดฆเตเดฏเดเตเดเดณเตเดจเตเดจเตเดฎเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดฆเดฏเดตเดพเดฏเดฟ เดจเดฟเดเตเดเดณเตเดเต เดกเตเดเตเดเตผ เดซเดฏเตฝ เดเดพเดฃเดฟเดเตเดเตเด.
เดชเตเดฑเตเดฑเตเดฏ เดเดพเดฃเดฟเดเตเดเต:
FROM ubuntu:latest
# ะะพะฟะธััะตะผ ะธัั
ะพะดะฝัะน ะบะพะด
COPY ./ /app
WORKDIR /app
# ะะฑะฝะพะฒะปัะตะผ ัะฟะธัะพะบ ะฟะฐะบะตัะพะฒ
RUN apt-get update
# ะะฑะฝะพะฒะปัะตะผ ะฟะฐะบะตัั
RUN apt-get upgrade
# ะฃััะฐะฝะฐะฒะปะธะฒะฐะตะผ ะฝัะถะฝัะต ะฟะฐะบะตัั
RUN apt-get -y install libpq-dev imagemagick gsfonts ruby-full ssh supervisor
# ะฃััะฐะฝะฐะฒะปะธะฒะฐะตะผ bundler
RUN gem install bundler
# ะฃััะฐะฝะฐะฒะปะธะฒะฐะตะผ nodejs ะธัะฟะพะปัะทัะตััั ะดะปั ัะฑะพัะบะธ ััะฐัะธะบะธ
RUN curl -sL https://deb.nodesource.com/setup_9.x | sudo bash -
RUN apt-get install -y nodejs
# ะฃััะฐะฝะฐะฒะปะธะฒะฐะตะผ ะทะฐะฒะธัะธะผะพััะธ
RUN bundle install --without development test --path vendor/bundle
# ะงะธััะธะผ ะทะฐ ัะพะฑะพะน ะบััะธ
RUN rm -rf /usr/local/bundle/cache/*.gem
RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN rake assets:precompile
# ะะฐะฟััะบะฐะตะผ ัะบัะธะฟั, ะฟัะธ ััะฐััะต ะบะพะฝัะตะนะฝะตัะฐ, ะบะพัะพััะน ะทะฐะฟัััะธั ะฒัะต ะพััะฐะปัะฝะพะต.
CMD ["/app/init.sh"]
AI: เด, เดจเดฎเตเดเตเดเต เด เดคเต เดเตเดฐเดฎเดคเตเดคเดฟเตฝ เดเดเตเดเตเดเดพเด. เดเดฆเตเดฏ เดตเดฐเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเดเดญเดฟเดเตเดเดพเด:
FROM ubuntu:latest
เดจเดฟเดเตเดเตพ เดเดพเดเต เดเดเตเดเตเดเตเด latest
. เดเดฐเต เดเดพเดเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต latest
เดชเตเดฐเดตเดเดจเดพเดคเตเดคเดฎเดพเดฏ เดชเตเดฐเดคเตเดฏเดพเดเดพเดคเดเตเดเดณเดฟเดฒเตเดเตเดเต เดจเดฏเดฟเดเตเดเตเดจเตเดจเต. เดธเดเตเดเตฝเดชเตเดชเดฟเดเตเดเตเด, เดเดฎเตเดเต เดฎเตเดฏเดฟเดจเตเดฑเดจเตผ เดฎเดฑเตเดฑเตเดฐเต เดธเตเดซเตโเดฑเตเดฑเตโเดตเตเดฏเตผ เดฒเดฟเดธเตเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต เดเดฐเต เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเต, เด เดเดฟเดคเตเดฐเดคเตเดคเดฟเดจเต เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดเดพเดเต เดฒเดญเดฟเดเตเดเตเดจเตเดจเต. เดจเดฟเดเตเดเดณเตเดเต เดเดฃเตเดเตเดฏเตโเดจเตผ, เดเดฑเตเดฑเดตเตเด เดฎเดฟเดเดเตเดเดคเต, เดจเดฟเตผเดฎเตเดฎเดพเดฃเด เดจเดฟเตผเดคเตเดคเตเดจเตเดจเต, เดเดฑเตเดฑเดตเตเด เดฎเตเดถเดฎเดพเดฏเดพเตฝ, เดฎเตเดฎเตเดชเต เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒเดพเดคเตเดค เดฌเดเตเดเตพ เดจเดฟเดเตเดเตพ เดชเดฟเดเดฟเดเตเดเตเดจเตเดจเต.
เดเดฃเตเดเตเดฏเตโเดจเดฑเดฟเดจเตเดฑเต เดตเตเดณเดฟเดฏเด เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจ, เด เดจเดพเดตเดถเตเดฏเดฎเดพเดฏ เดงเดพเดฐเดพเดณเด เดธเตเดซเตเดฑเตเดฑเตโเดตเตเดฏเดฑเตเดเตพ เดเดณเตเดณ เดเดฐเต เดชเตเตผเดฃเตเดฃเดฎเดพเดฏ OS เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเตพ เดเดฐเต เดเดฎเตเดเต เดเดเตเดเตเดเตเดจเตเดจเต. เดเตเดเตเดคเตฝ เดธเตเดซเตเดฑเตเดฑเตโเดตเตเดฏเตผ, เดเตเดเตเดคเตฝ เดฆเตเดตเดพเดฐเดเตเดเดณเตเด เดเตเดเตเดชเดพเดเตเดเดณเตเด.
เดเตเดเดพเดคเต, เดตเดฒเดฟเดฏ เดเดฎเตเดเต, เดนเตเดธเตเดฑเตเดฑเดฟเดฒเตเด เดฐเดเดฟเดธเตเดเตเดฐเดฟเดฏเดฟเดฒเตเด เดเตเดเตเดคเตฝ เดเดเด เดเดเตเดเตเดเตเดจเตเดจเต (เดจเดฟเดเตเดเตพ เดเดฟเดคเตเดฐเดเตเดเตพ เดเดตเดฟเดเตเดฏเตเดเตเดเดฟเดฒเตเด เดธเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเตเดฃเตเดเต)?
เดชเดฟ: เด เดคเต, เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, เดเดเตเดเตพเดเตเดเต เดเดฐเต เดฐเดเดฟเดธเตเดเตเดฐเดฟ เดเดฃเตเดเต, เดจเดฟเดเตเดเตพ เด เดคเต เดธเดเตเดเดฎเดพเดเตเดเดฟ.
AI: เด เดชเตเดชเตเตพ, เดเดพเตป เดเดจเตเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเดพเดฃเต เดธเดเดธเดพเดฐเดฟเดเตเดเตเดจเตเดจเดคเต?.. เด เดคเต, เดตเตเดณเตเดฏเดเตเดเตพ... เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเดฟเดฒเต เดฒเตเดกเตเด เดตเดณเดฐเตเดเดฏเดพเดฃเต. เดเดฐเตเดฑเตเดฑ เดเดฟเดคเตเดฐเดคเตเดคเดฟเดจเต เดเดคเต เดถเตเดฐเดฆเตเดงเตเดฏเดฎเดฒเตเดฒ, เดเดจเตเดจเดพเตฝ เดคเตเดเตผเดเตเดเดฏเดพเดฏ เดฌเดฟเตฝเดกเต, เดเตเดธเตเดฑเตเดฑเตเดเตพ, เดตเดฟเดจเตเดฏเดพเดธเด เดเดจเตเดจเดฟเดต เดเดฃเตเดเดพเดเตเดฎเตเดชเตเตพ เด เดคเต เดถเตเดฐเดฆเตเดงเตเดฏเดฎเดพเดฃเต. เดจเดฟเดเตเดเตพเดเตเดเต AWS-เตฝ เดฆเตเดตเดคเตเดคเดฟเดจเตเดฑเต เดฎเตเดกเต เดเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดเตเดธเตเดฎเดฟเดเต เดฌเดฟเดฒเตเดฒเตเด เดฒเดญเดฟเดเตเดเตเด.
เด
เดคเดฟเดจเดพเตฝ, เดเตเดคเตเดฏเดฎเดพเดฏ เดชเดคเดฟเดชเตเดชเตเด เดเดฑเตเดฑเดตเตเด เดเตเดฑเดเตเด เดธเตเดซเตเดฑเตเดฑเตเดตเตเดฏเดฑเตเด เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเตพ เดเดฑเตเดฑเดตเตเด เด
เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏ เดเดฟเดคเตเดฐเด เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดเตเดเตเดเตเด: FROM ruby:2.5.5-stretch
เดชเดฟ: เด, เดเดพเตป เดเดพเดฃเตเดจเตเดจเต. เดฒเดญเตเดฏเดฎเดพเดฏ เดเดฟเดคเตเดฐเดเตเดเตพ เดเดเตเดเดจเต, เดเดตเดฟเดเต เดเดพเดฃเดพเดจเดพเดเตเด? เดเดจเดฟเดเตเดเต เดเดคเดพเดฃเต เดตเตเดฃเตเดเดคเตเดจเตเดจเต เดเดจเดฟเดเตเดเต เดเดเตเดเดจเต เด เดฑเดฟเดฏเดพเด?
AI: เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดเดฟเดคเตเดฐเดเตเดเตพ เดเดเตเดเตเดเตเดจเตเดจเดคเต
เดเตฝเดชเตเตป: เดเดฟเดคเตเดฐเดเตเดเตพ เดเดฐเต เดฎเดฟเดจเดฟเดฎเดฒเดฟเดธเตเดฑเตเดฑเดฟเดเต เดฒเดฟเดจเดเตเดธเต เดเดฎเตเดเดฟเตฝ เดถเตเดเดฐเดฟเดเตเดเตเดจเตเดจเต, 5 MB เดฎเดพเดคเตเดฐเด. เด
เดคเดฟเดจเตเดฑเต เดชเตเดฐเดพเดฏเตเดฎ: เดเดคเต เดธเตเดตเดจเตเดคเด libc เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตฝ เดเดชเดฏเตเดเดฟเดเตเดเต เดธเดฎเดพเดนเดฐเดฟเดเตเดเดคเดพเดฃเต, เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเต เดชเดพเดเตเดเตเดเตเดเตพ เด
เดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดเดตเดถเตเดฏเดฎเดพเดฏ เดชเดพเดเตเดเตเดเต เดเดฃเตเดเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเด เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด เดตเดณเดฐเตเดฏเดงเดฟเดเด เดธเดฎเดฏเดฎเตเดเตเดเตเดเตเด.
เดธเตเดเตเดฐเดพเดเตเดเต: เด
เดเดฟเดธเตเดฅเดพเดจ เดเดฟเดคเตเดฐเด, เดฎเดฑเตเดฑเต เดเดฟเดคเตเดฐเดเตเดเตพ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดเดคเต เดฌเตเดจเดฑเดฟ, เดคเดฏเตเดฏเดพเดฑเดพเดเตเดเดฟเดฏ เดกเดพเดฑเตเดฑ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดตเตเดฃเตเดเดฟ เดฎเดพเดคเตเดฐเดฎเตเดณเตเดณเดคเดพเดฃเต. GO เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดชเตเดฒเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณเดคเตเดฒเตเดฒเดพเด เดเตพเดชเตเดชเตเดเตเดจเตเดจ เดฌเตเดจเดฑเดฟ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เด
เดจเตเดฏเตเดเตเดฏเด.
เดเดฌเตเดฃเตเดเต เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดกเตเดฌเดฟเดฏเตป เดชเตเดฒเตเดณเตเดณ เดเดคเตเดเตเดเดฟเดฒเตเด OS เด
เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ. เดถเดฐเดฟ, เดตเดฟเดถเดฆเตเดเดฐเดฟเดเตเดเตเดฃเตเด เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเตเดจเตเดจเต เดเดพเตป เดเดฐเตเดคเตเดจเตเดจเต.
AI: เดเดชเตเดชเตเตพ เดจเดฎเตเดฎเตพ เดเดฒเตเดฒเดพ เดเดเตเดธเตเดเตเดฐเดพเดเดณเตเด เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเดฃเด. เดชเดพเดเตเดเตเดเตเดเตพ เดจเดฟเดเตเดเดณเตเดเต เดเดพเดทเตเดเตพ เดฎเดพเดฏเตเดเตเดเตเด. เดจเดฟเดเตเดเตพเดเตเดเต เด เดคเต เดเดเดจเดเดฟ เดตเดฒเดฟเดเตเดเตเดฑเดฟเดฏเดพเดจเตเด เดเดดเดฟเดฏเตเด apt-get upgrade. เด เดฒเตเดฒเดพเดคเตเดคเดชเดเตเดทเด, เดเดฐเต เดฌเดฟเตฝเดกเดฟเดฒเตเด, เด เดเดฟเดธเตเดฅเดพเดจ เดเดฎเตเดเดฟเดจเตเดฑเต เดจเดฟเดถเตเดเดฟเดค เดเดพเดเต เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดเตเดเตเด, เดตเตเดฏเดคเตเดฏเดธเตเดค เดเดฟเดคเตเดฐเดเตเดเตพ เดฒเดญเดฟเดเตเดเตเด. เดเดฎเตเดเดฟเดฒเต เดชเดพเดเตเดเตเดเตเดเตพ เด เดชเตโเดกเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด เดเดจเตเดจเดคเต เดฎเตเดฏเดฟเดจเตเดฑเดจเดฑเตเดเต เดเตเดฎเดคเดฒเดฏเดพเดฃเต, เดเดชเตเดชเด เดเดพเดเต เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดจเตเดชเตเดชเด.
เดชเดฟ: เด เดคเต, เดเดพเตป เดเดคเต เดเตเดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเต, เดเดคเต เดเดคเตเดชเตเดฒเต เดฎเดพเดฑเดฟ:
WORKDIR /app
COPY ./ /app
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash -
&& apt-get -y install libpq-dev imagemagick gsfonts ruby-full ssh supervisor nodejs
&& gem install bundler
&& bundle install --without development test --path vendor/bundle
RUN rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
AI: เดฎเตเดถเดฎเดฒเตเดฒ, เดชเดเตเดทเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดเดฃเตเดเต. เดจเตเดเตเดเต, เดเดคเดพ เด เดเดฎเดพเตปเดกเต:
RUN rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
... เด เดจเตเดคเดฟเดฎ เดเดฟเดคเตเดฐเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดเดฒเตเดฒเดพเดคเดพเดเตเดเดฟเดฒเตเดฒ, เดเดจเตเดจเดพเตฝ เด เดกเดพเดฑเตเดฑ เดเตเดเดพเดคเต เดเดฐเต เด เดงเดฟเด เดฒเตเดฏเตผ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต. เดถเดฐเดฟเดฏเดพเดฏเดฟ เดเดคเตเดชเตเดฒเต:
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash -
&& apt-get -y install libpq-dev imagemagick gsfonts nodejs
&& gem install bundler
&& bundle install --without development test --path vendor/bundle
&& rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
เดเดจเตเดจเดพเตฝ เด เดคเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ. เดจเดฟเดจเดเตเดเต เด เดตเดฟเดเต เดเดจเตเดคเดพเดฃเต เดเดณเตเดณเดคเต, เดฑเตเดฌเดฟ? เด เดชเตเดชเตเตพ เดจเดฟเดเตเดเตพ เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ เดฎเตเดดเตเดตเตป เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเด เดชเดเตผเดคเตเดคเตเดฃเตเดเดคเดฟเดฒเตเดฒ. Gemfile, Gemfile.lock เดเดจเตเดจเดฟเดต เดชเดเตผเดคเตเดคเดฟเดฏเดพเตฝ เดฎเดคเดฟ.
เด เดธเดฎเตเดชเดจเดคเตเดคเดฟเดฒเตเดเต, เดเดฒเตเดฒเดพ เดเดฑเดตเดฟเด เดฎเดพเดฑเตเดฑเดคเตเดคเดฟเดจเตเด เดฌเดฃเตเดเดฟเตฝ เดเตปเดธเตเดฑเตเดฑเดพเดณเตเดทเตป เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดฟเดฒเตเดฒ, เดเดจเตเดจเดพเตฝ Gemfile เด เดฒเตเดฒเตเดเตเดเดฟเตฝ Gemfile.lock เดฎเดพเดฑเดฟเดฏเตเดเตเดเดฟเตฝ เดฎเดพเดคเตเดฐเด.
เดกเดฟเดชเตปเดกเตปเดธเดฟเดเดณเตเดเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดณเตเดณ เดเดฐเต เดซเดฏเดฒเดฟเดจเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ npm, pip, เดเดฎเตเดชเตเดธเตผ เดคเตเดเดเตเดเดฟเดฏ เดกเดฟเดชเตปเดกเตปเดธเดฟ เดฎเดพเดจเตเดเตผ เดเดณเตเดณ เดฎเดฑเตเดฑเต เดญเดพเดทเดเตพเดเตเดเตเด เดเดคเต เดฐเตเดคเดฟเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต.
เด
เดตเดธเดพเดจเดฎเดพเดฏเดฟ, "เดเดฐเต เดเดฃเตเดเตเดฏเตเดจเตผ - เดเดฐเต เดชเตเดฐเดเตเดฐเดฟเดฏ" เดเดจเตเดจ เดกเตเดเตเดเตผ เดชเตเดฐเดคเตเดฏเดฏเดถเดพเดธเตเดคเตเดฐเดคเตเดคเตเดเตเดเตเดฑเดฟเดเตเดเดพเดฃเต เดเดพเตป เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ เดธเดเดธเดพเดฐเดฟเดเตเดเดคเตเดจเตเดจเต เดเตผเดเตเดเตเดจเตเดจเตเดฃเตเดเต? เดเดคเดฟเดจเตผเดคเตเดฅเด เดเดฐเต เดธเตเดชเตเดชเตผเดตเตเดธเตผ เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ เดเดจเตเดจเดพเดฃเต. เดเดคเต เดเดพเดฐเดฃเดเตเดเดณเดพเตฝ เดจเดฟเดเตเดเตพ systemd เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเดฐเตเดคเต. เด
เดเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดฟ, เดกเตเดเตเดเตผ เดคเดจเตเดจเต เดเดฐเต เดธเตเดชเตเดชเตผเดตเตเดธเตผ เดเดฃเต. เดจเดฟเดเตเดเตพ เด
เดคเดฟเตฝ เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดชเตเดฐเตเดธเดธเตเดธเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเตเดฎเตเดชเตเตพ, เด
เดคเต เดเดฐเต เดธเตเดชเตเดชเตผเดตเตเดธเตผ เดชเตเดฐเตเดธเดธเตเดธเดฟเตฝ เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเตเดชเตเดฒเตเดฏเดพเดฃเต.
เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดจเดฟเดเตเดเตพ เดเดฐเต เดเดฟเดคเตเดฐเด เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเด, เดคเตเดเตผเดจเตเดจเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดเดฃเตเดฃเด เดเดฃเตเดเตเดฏเตเดจเดฑเตเดเตพ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเด, เด
เดเตเดเดจเต เดเดฐเตเดจเตเดจเดฟเดฒเตเด เดเดฐเต เดชเตเดฐเดเตเดฐเดฟเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเด.
เดเดจเตเดจเดพเตฝ เดชเดฟเดจเตเดจเตเดเต เด เดคเดฟเตฝ เดเตเดเตเดคเตฝ.
เดชเดฟ: เดเดจเดฟเดเตเดเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดฏเตเดจเตเดจเต เดเดฐเตเดคเตเดจเตเดจเต. เดเดจเตเดคเดพเดฃเต เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเดคเตเดจเตเดจเต เดจเตเดเตเดเต:
FROM ruby:2.5.5-stretch
WORKDIR /app
COPY Gemfile* /app
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash -
&& apt-get -y install libpq-dev imagemagick gsfonts nodejs
&& gem install bundler
&& bundle install --without development test --path vendor/bundle
&& rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY . /app
RUN rake assets:precompile
CMD ["bundleโ, โexecโ, โpassengerโ, โstart"]
เดเดฃเตเดเตเดฏเตโเดจเตผ เดเดฐเดเดญเดฟเดเตเดเตเดฎเตเดชเตเตพ เดกเตเดฎเดฃเตเดเดณเตเดเต เดตเดฟเดเตเดทเตเดชเดฃเด เด เดธเดพเดงเตเดตเดพเดเตเดเดพเตป เดเดดเดฟเดฏเตเดฎเต?
AI: เด
เดคเต, เด
เดคเต เดถเดฐเดฟเดฏเดพเดฃเต. เดตเดดเดฟเดฏเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต CMD เดเด ENTRYPOINT เดเด เดเดชเดฏเตเดเดฟเดเตเดเดพเด. เดตเตเดฏเดคเตเดฏเดพเดธเด เดเดจเตเดคเดพเดฃเตเดจเตเดจเต เดเดฃเตเดเตเดคเตเดคเตเดจเตเดจเดคเต เดจเดฟเดเตเดเดณเตเดเต เดเตเดนเดชเดพเด เดฎเดพเดฃเต. เดนเดฌเตเดฐเตเดฏเดฟเตฝ เด เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ เดจเดฒเตเดฒเตเดฐเต เดเดพเดฐเตเดฏเดฎเตเดฃเตเดเต
เด เดคเดฟเดจเดพเตฝ, เดจเดฎเตเดเตเดเต เดฎเตเดจเตเดจเตเดเตเดเต เดชเตเดเดพเด. เดจเตเดกเต เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเดพเตป เดจเดฟเดเตเดเตพ เดเดฐเต เดซเดฏเตฝ เดกเตเตบเดฒเตเดกเต เดเตเดฏเตเดฏเตเดจเตเดจเต, เดเดจเตเดจเดพเตฝ เด เดคเดฟเตฝ เดจเดฟเดเตเดเตพเดเตเดเดพเดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดฎเตเดจเตเดจเดคเดฟเดจเต เดฏเดพเดคเตเดฐเต เดเดฑเดชเตเดชเตเดฎเดฟเดฒเตเดฒ. เดเดเตเดเตพ เดฎเตเดฒเตเดฏเดจเดฟเตผเดฃเตเดฃเดฏเด เดเตเตผเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดคเตเดชเตเดฒเต:
RUN curl -sL https://deb.nodesource.com/setup_9.x > setup_9.x
&& echo "958c9a95c4974c918dca773edf6d18b1d1a41434 setup_9.x" | sha1sum -c -
&& bash setup_9.x
&& rm -rf setup_9.x
&& apt-get -y install libpq-dev imagemagick gsfonts nodejs
&& gem install bundler
&& bundle install --without development test --path vendor/bundle
&& rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
เดเตเดเตเดเตโเดธเด เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเตพ เดถเดฐเดฟเดฏเดพเดฏ เดซเดฏเตฝ เดกเตเตบเดฒเตเดกเต เดเตเดฏเตโเดคเตเดตเตเดจเตเดจเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดพเดจเดพเดเตเด.
เดชเดฟ: เดเดจเตเดจเดพเตฝ เดซเดฏเตฝ เดฎเดพเดฑเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดฌเดฟเตฝเดกเต เดชเดฐเดพเดเดฏเดชเตเดชเตเดเตเด.
AI: เด เดคเต, เดตเดฟเดเดฟเดคเตเดฐเดฎเตเดจเตเดจเต เดชเดฑเดฏเดเตเดเต, เดเดคเตเด เดเดฐเต เดชเตเดฒเดธเต เดเดฃเต. เดซเดฏเตฝ เดฎเดพเดฑเดฟเดฏเตเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเดฑเดฟเดฏเดพเด, เด เดตเดฟเดเต เดเดจเตเดคเดพเดฃเต เดฎเดพเดฑเดฟเดฏเดคเตเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเด. เดจเดฟเดเตเดเตพเดเตเดเดฑเดฟเดฏเดฟเดฒเตเดฒ, เด เดตเตผ เดเตเตผเดคเตเดคเต, เด เดคเต เดเดคเตเดคเดฟเดเตเดเตเดฐเดพเตป เดเดดเดฟเดฏเตเดจเตเดจเดคเตเดฒเตเดฒเดพเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดจเตเดจ เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดฐเต เดชเดฟเตปเดตเดพเดคเดฟเตฝ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต.
เดชเดฟ: เดจเดจเตเดฆเดฟ. เด เดตเดธเดพเดจ เดกเตเดเตเดเตผเดซเดฏเตฝ เดเดคเตเดชเตเดฒเตเดฏเดพเดฏเดฟเดฐเดฟเดเตเดเตเดฎเตเดจเตเดจเต เดเดคเต เดฎเดพเดฑเตเดจเตเดจเต:
FROM ruby:2.5.5-stretch
WORKDIR /app
COPY Gemfile* /app
RUN curl -sL https://deb.nodesource.com/setup_9.x > setup_9.x
&& echo "958c9a95c4974c918dca773edf6d18b1d1a41434 setup_9.x" | sha1sum -c -
&& bash setup_9.x
&& rm -rf setup_9.x
&& apt-get -y install libpq-dev imagemagick gsfonts nodejs
&& gem install bundler
&& bundle install --without development test --path vendor/bundle
&& rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY . /app
RUN rake assets:precompile
CMD ["bundleโ, โexecโ, โpassengerโ, โstart"]
เดชเดฟ: เดเดเตเตผ เดเดตเดพเดจเตเดตเดฟเดเตเดเต, เดจเดฟเดเตเดเดณเตเดเต เดธเดนเดพเดฏเดคเตเดคเดฟเดจเต เดจเดจเตเดฆเดฟ. เดเดจเดฟเดเตเดเต เดเดเดพเดจเตเดณเตเดณ เดธเดฎเดฏเดฎเดพเดฃเดฟเดคเต, เดเดจเดฟเดเตเดเต เดเดจเตเดจเต 10 เดเดฎเตเดฎเดฟเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต.
เดเดเตเตผ เดเดตเดพเดจเตเดตเดฟเดเตเดเต, เดคเดฟเดฐเดเตเดเตเดณเตเดณ เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเดเดจเต เดจเตเดเตเดเด เดเตเดฃเตเดเต เดจเดฟเตผเดคเตเดคเดฟ, เดถเดเตเดคเดฎเดพเดฏ เดเดพเดชเตเดชเดฟ เดเตเดเดฟเดเตเดเตเดจเตเดจเต. 99.9% SLA, เดฌเดเต-เดซเตเดฐเต เดเตเดกเต เดเดจเตเดจเดฟเดตเดฏเตเดเตเดเตเดฑเดฟเดเตเดเต เดเตเดฑเดเตเดเต เดจเดฟเดฎเดฟเดทเดเตเดเตพ เดเดฟเดจเตเดคเดฟเดเตเด เดถเตเดทเด เด เดฆเตเดฆเตเดนเด เดเดฐเต เดเตเดฆเตเดฏเด เดเตเดฆเดฟเดเตเดเตเดจเตเดจเต.
AI: เดจเดฟเดเตเดเตพ เดเดตเดฟเดเตเดฏเดพเดฃเต เดฒเตเดเตเดเตพ เดธเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเดคเต?
เดชเดฟ: เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, production.log-เตฝ. เดตเดดเดฟเดฏเดฟเตฝ, เด เดคเต, เดเดจเตเดจเดพเตฝ ssh เดเดฒเตเดฒเดพเดคเต เดจเดฎเตเดเตเดเต เด เดต เดเดเตเดเดจเต เดเดเตเดธเดธเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด?
AI: เดจเดฟเดเตเดเตพ เด เดต เดซเดฏเดฒเตเดเดณเดฟเตฝ เดเดชเตเดเตเดทเดฟเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเดพเดฏเดฟ เดเดฐเต เดชเดฐเดฟเดนเดพเดฐเด เดเดคเดฟเดจเดเด เดเดฃเตเดเตเดชเดฟเดเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเต. เดเดฐเต เดเดฃเตเดเตเดฏเตเดจเดฑเดฟเตฝ เดเดคเต เดเดฎเดพเตปเดกเตเด เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเดพเตป เดกเตเดเตเดเตผ เดเดเตเดธเดฟเดเต เดเดฎเดพเตปเดกเต เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเดเตเดเตพเดเตเดเต เดฒเตเดเตเดเตพเดเตเดเดพเดฏเดฟ เดชเตเดเตเด เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด. เดเดชเตเดชเด เดเต เดเดชเดฏเตเดเดฟเดเตเดเต -เดเดคเต เดเตเดเดพเดคเต เดฑเดฃเตเดฃเดฟเดเดเต เดฌเดพเดทเต (เดเดฃเตเดเตเดฏเตโเดจเดฑเดฟเตฝ เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเตเดเตเดเดฟเตฝ) เดเดฃเตเดเตเดฏเตโเดจเดฑเดฟเดฒเตเดเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดจเตเดฑเดฑเดพเดเตเดเตเดตเต เดเดเตโเดธเดธเต เดจเตฝเดเตเด.
เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพ เดซเดฏเดฒเตเดเดณเดฟเตฝ เดฒเตเดเตเดเตพ เดธเตเดเตเดทเดฟเดเตเดเดฐเตเดคเต. เดเตเดฑเดเตเดเดคเต, เดเดคเต เดเดฃเตเดเตเดฏเตเดจเดฑเดฟเดจเตเดฑเต เด เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ เดตเดณเตผเดเตเดเดฏเดฟเดฒเตเดเตเดเต เดจเดฏเดฟเดเตเดเตเดจเตเดจเต, เดเดฐเตเด เดฒเตเดเตเดเตพ เดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดเดฒเตเดฒเดพ เดฒเตเดเตเดเดณเตเด stdout-เดฒเตเดเตเดเต เด เดฏเดฏเตเดเตเดเดฃเด. เด เดตเดฟเดเต เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เด เดต เดเดคเดฟเดจเดเด เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเด เดกเตเดเตเดเตผ เดฒเตเดเตเดเตพ.
เดชเดฟ: เดเดเตเตผ เดเดตเดพเดจเตเดตเดฟเดเตเดเต, เดเดฐเต เดฎเตเดฃเตเดเต เดเตเดฏเตเดค เดกเดฏเดฑเดเตโเดเดฑเดฟเดฏเดฟเตฝ, เดเดฐเต เดซเดฟเดธเดฟเดเตเดเตฝ เดจเตเดกเดฟเตฝ, เดเดชเดฏเตเดเตเดคเต เดกเดพเดฑเตเดฑเดฏเดพเดฏเดฟ เดเดจเดฟเดเตเดเต เดฒเตเดเตเดเตพ เดเดเดพเตป เดเดดเดฟเดฏเตเดฎเต?
AI: เดจเตเดกเดฟเดจเตเดฑเต เดกเดฟเดธเตเดเดฟเตฝ เดฒเตเดกเต เดเตเดฏเตเดค เดกเดพเดฑเตเดฑ เดจเตเดเตเดเด เดเตเดฏเตเดฏเดพเตป เดจเดฟเดเตเดเตพ เดฎเดฑเดจเตเดจเดฟเดฒเตเดฒ เดเดจเตเดจเดคเต เดจเดฒเตเดฒเดคเดพเดฃเต. เดฒเตเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเด เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด, เดฑเตเดเตเดเตเดทเตป เดธเดเตเดเตเดเดฐเดฟเดเตเดเดพเตป เดฎเดฑเดเตเดเดฐเตเดคเต.
เด
เดคเตเดฐเดฏเตเดฏเตเดณเตเดณเต, เดจเดฟเดเตเดเตพเดเตเดเต เดเดเดพเด.
เดชเดฟ: เดเดเตเตผ เดเดตเดพเดจเตเดตเดฟเดเตเดเต, เดเดจเตเดคเดพเดฃเต เดตเดพเดฏเดฟเดเตเดเตเดฃเตเดเดคเตเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดจเตเดจเต เดเดชเดฆเตเดถเดฟเดเตเดเดพเดฎเต?
AI: เดเดฆเตเดฏเด เดตเดพเดฏเดฟเดเตเดเตเด
เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดเดจเตเดฑเตเตบเดทเดฟเดชเตเดชเต เดฒเดญเดฟเดเตเดเดฃเดฎเตเดเตเดเดฟเตฝ, เดชเตเดเตเด
เด เดตเดฒเดเดฌเด: www.habr.com