Thế nào mới là biết code?
Thời đại đã thay đổi
Theo mình, cách đánh giá một lập trình viên giỏi không còn chỉ dựa vào "viết code từ a đến z tự tay" nữa. Giống như kiến trúc sư không cần tự vẽ mỗi chi tiết bản vẽ, bạn cần hiểu bản chất công việc đã tiến hóa.
Những điều thực sự quan trọng
1. Hiểu vấn đề & requirements
Mình nghĩ phần này chiếm 60-70% công việc thực tế. Bạn cần biết bài toán là gì, người dùng cần gì, tại sao chọn công nghệ này chứ không phải cái khác.
2. Vận hành, debug, tối ưu
Mình thấy đây mới là nơi kỹ năng phát triển. Bạn cần test kỹ lưỡng, sửa lỗi, cải tiến. Theo mình, lập trình viên thực thụ không phải người viết code, mà là người hiểu và kiểm soát code.
3. Lựa chọn cách tiếp cận
Mình nghĩ đây là kỹ năng không ai thay thế được – biết có bao nhiêu cách giải quyết, cách nào tốt nhất.
LLM là gì?
Nó là công cụ trợ giúp. Người giỏi là người sử dụng thông minh – biết hỏi đúng câu hỏi, đánh giá kết quả, sửa chữa, biết khi nào tin và khi nào nghi ngờ.
Ví dụ: Nếu bạn dùng LLM mà không hiểu code – đó là copy-paste. Nhưng nếu bạn hiểu bài toán, dùng LLM để tạo nhanh, test, debug, optimize, hiểu tại sao cách mới tốt hơn – thì bạn đã học hỏi thực sự.
Lời khuyên
Hãy tập trung vào yêu cầu và vận hành hơn là lo viết mỗi dòng code. Mình thấy những người luôn hỏi "tại sao code hoạt động như vậy" sẽ tiến xa hơn.
Bạn thực sự đang học code. Mình nghĩ chỉ là cách học đã khác rồi thôi. 💪
Tự học tech bằng AI
Bạn vào https://roadmap.sh/ chọn con đường tech mình muốn rồi dựa vào các từ khóa có được nhờ AI đưa cho khái niệm cơ bản và các nguồn tài liệu từ dễ đến khó thôi
Sự khác nhau giữa git merge và git rebase là gì ?
Bạn xem ảnh dưới sẽ hiểu ngay nhé 
Merge và Rebase đều nhằm một mục đích là cập nhật source code ở nhánh đích về nhánh nguồn (ví dụ git rebase/merge develop đều là cập nhật source code của develop về nhánh hiện tại)
Tuy nhiên merge thì tạo thêm 1 commit mới vào nhánh hiện tại và không thay đổi lịch sử commit. Còn rebase (dịch theo nghĩa đen là tạo lại base) sẽ sửa lại lịch sử commit của nhánh hiện tại.
Hiểu được việc này bạn sẽ quyết định được sử dụng rebase hay merge tốt hơn trong từng trường hợp cụ thể nhé.
Chúc bạn thành công.

Mọi người cho em hỏi có cách nào send mai nhanh trong php
Bạn có thể dùng API của một số dịch vụ gửi mail nổi tiếng 
Lỗi missing `secret_key_base` khi deploy rails 6 lên aws
Bạn đã tạo và set biến SECRET_KEY_BASE trên production (aws ec2?) chưa?
RAILS_ENV=production rake secret
để tạo ra secret key
Sau đó set
export SECRET_KEY_BASE=secret key
vào trong .bash_profile hay .profile gì đó?
Xuống dòng trong js
Nếu làm thủ công thì đơn giản là thêm thẻ xuống dòng <br> vào những chỗ muốn có dòng mới.
Nhưng có vẻ là bạn đang muốn làm tự động? Với các kích thước màn hình khác nhau thì cứ đến chiều rộng thích hợp và kết thúc một từ có nghĩa thì xuống dòng? Vậy thì mình nghĩ đây là một bài toán khá khoai nhất là với tiếng Việt.
Nó liên quan đến lĩnh vực xử lý ngôn ngữ tự nhiên, cụ thể trong trường hợp này là Word segmentation, giúp bạn phân tích một văn bản tiếng Việt thành các từ, cụm từ có nghĩa trong tiếng Việt. Sau khi làm được việc này bạn sẽ viết được xử lý như ý 
Bạn tham khảo bài viết này trên Viblo để lấy từ khoá tìm kiếm thêm nhé
https://viblo.asia/p/ban-ve-xu-ly-ngon-ngu-tieng-viet-924lJYdYZPM
Chúc bạn thành công!
Hỏi về cách deploy ứng dụng ruby on rails
Câu hỏi của bạn quá chung chung, lại có những điểm khá chi tiết nên mình cũng không chắc phải trả lời thế nào cho phải
Nên mình cũng sẽ trả lời chung chung 
Deploy một web service nói chung lên môi trường production mà một phần việc tương đối phức tạp (thuộc về mảng infrastructure) mà không phải ngày một ngày hai mà lĩnh hội hết được. Giải thích nôm na là bạn cần cài cắm khá nhiều thứ lên một hoặc nhiều server, liên kết chúng với nhau để có thể thực hiện được nhiều tác vụ khác nhau như vận hành HTTP server (phổ biến thì có Nginx hay Apache), web server (với Rails thì có các lựa chọn như Unicorn, Puma, Passenger...), dababase (MySQL, Postgres...), các công cụ monitor (Monit, Munin)...
Thực ra trên máy tính của bạn (môi trường development) bạn cũng đã và đang làm những điều tương tự như là cài đặt database, khởi động database, khởi động web server (chạy rails s) tuy nhiên là ở môi trường development với độ ổn định và chịu tải không cao, do nó chỉ phục vụ cho mục đích phát triển. Môi trường production yêu cầu phải có nhiều thành phần và cơ chế hơn để đảm bảo tính ổn định (khó bị down, có bị down thì phải có cơ chế auto restart) và chịu tải tốt (rails s của bạn ở máy nếu bạn access từ 10 tabs khác nhau trên trình duyệt thì sẽ thấy các request sẽ phải xếp hàng chờ nhau, trong khi môi trường production thì phải đảm bảo xử lý cho nhiều user request 1 lúc, mà cái nào cũng phải nhanh)
Bạn vẫn có thể thử vào server online của bạn, cài đặt rails, database, git, pull project về và chạy rails s -e production và nó vẫn sẽ chạy
(ngày xưa làm cái dịch vụ đặt sữa chua cho công ty bọn mình cũng làm vậy cho ... nhanh) nhưng nó sẽ bất ổn đúng như khi bạn chạy môi trường development trên máy bạn 
Trả lời kỹ hơn cho những ý chi tiết của bạn
Không ai trỏ vào thư mục project trên server rồi gõ lệnh chạy sidekiq cả
Không ai cần rails s để chạy project (trên server)
Là bởi vì sau khi deploy xong thì web server(s) hay worker(s) phục vụ cho sidekiq sẽ được tự khởi động và theo dõi nhờ các commands được config từ trước.
Một ví dụ nhỏ bạn có thể tham khảo nhanh file này
Trong đó có command cd $APP_ROOT && bundle exec unicorn -c config/unicorn.rb -E $ENV -D để khởi động unicorn đó. Tham khảo nhanh thôi nhé, đọc kỹ lại bị hoang mang 
Nói chung mình nghĩ ai mới bắt đầu thì cũng có thắc mắc như bạn cả thôi. Mình ngày xưa cũng vậy 
Mình không phải chuyên về infra nên mình chọn cách đọc guide làm theo cho chạy được đã rồi dần dần ngộ ra về cách vận hành của từng thành phần, kiến tha lâu cũng có ngày đầy tổ.
Keywords tìm kiếm thì cũng có nhiều lắm, cũng như cách deploy thì cũng có hàng chục hàng trăm cách khác nhau, có cách ăn sẵn chả phải làm gì, có cách thì phải làm rất nhiều bước phức tạp và pro. Ăn sẵn thì bạn có thể dùng HEROKU https://www.heroku.com/ vô cùng thân thiện với Rails, cho đến giờ mình vẫn dùng với các dự án cá nhân và các dự án nhỏ. Nếu bạn có kiến thức về Docker thì đó cũng là một cách ăn sẵn, mọi thứ để nằm đó chờ bạn sử dụng thôi.
https://viblo.asia/p/deploy-rails-app-on-heroku-qm6RWqAnGeJE
https://viblo.asia/p/dockerize-rails-app-using-docker-and-docker-compose-924lJW765PM
Phức tạp hơn thì bạn tham khảo các bài viết sau trên Viblo để lấy các từ khoá nhé 
https://viblo.asia/p/deploy-ung-dung-rails-voi-capistrano-va-unicorn-1VgZvoJ7lAw
https://viblo.asia/p/deploy-rails-application-voi-nginx-va-passenger-Ljy5VXy9Zra
TL;DR Chúc bạn thành công!
Không hiện ảnh khi deploy project laravel lên heroku
https://help.heroku.com/K1PPS2WM/why-are-my-file-uploads-missing-deleted
Không biết có đúng vấn đề của bạn không nhưng nếu storage lưu file của bạn nằm trong server heroku đó luôn thì sẽ bị mất khi dyno bị tắt hoặc khởi động lại.
Giải pháp phố biến nhất là lưu file ngoài heroku (AWS S3 chẳng hạn) chỉ lưu url trong DB thôi.
làm sao để nó tự động chuyển slide mà không cần click
Nếu bạn đang hỏi về MS Powerpoint thì làm thế này nhé

Bỏ dấu check ở on Mouse Click đi, check xuống dưới và chọn khoảng thời sẽ sẽ tự động chuyển slide.
lấy 2 hoặc 3 ngày liên tiếp nhau trong msql
Với thiết kế DB đơn giản như bạn nói thì dùng 1 câu SQL để lấy ra list học sinh theo mình nghĩ là rất khó.
Chưa kể việc còn phải tính đến cuối tuần hay ngày nghỉ nữa.
Để giải quyết thì bạn có thể query lấy data sau đó xử lý thêm phía PHP, hoặc bạn thêm trường để đánh dấu những học sinh nghỉ 2,3 ngày liền vào DB, sau đó mỗi lần tạo record điểm danh thì update trường đó luôn. Làm việc thì lúc có nhu cầu sẽ lấy được ra list học sinh bằng 1 câu SQL luôn, không cần xử lý thêm gì 
Chúc bạn thành công 
Nên học rộng ra để biết nhiều thứ hay nên tập trung vào một thứ thật tốt ?
Theo mình là nên biết thật tốt nhiều thứ 
Xây dựng database kiến thức cho mình để sau này search lại.
Hiểu thật kỹ nội dung bài viết, dịch hoặc viết lại theo ý mình trên Viblo và clip lại 
Xữ lý load icon emoji ứng với ký tự tương ứng
Bạn có thể tạo một regex cho tất cả các keys, search và replace 1 lần thôi.
P.S. Tác giả Chat++ chắc đang gõ câu trả lời cho bạn =)) @thangtd90
hỏi ngu về crawling
Mình đoán là các biểu thức toán học trên các trang bạn crawl về được viết bằng các công cụ hỗ trợ kiểu như latex hay gì đó.
Ví dụ trên Viblo thì viết thế này $ 10 \over 2 $ nó sẽ ra:
$ 10\over2 $
Khi bạn chỉ crawl phần text thì nó sẽ ra nguyên như vậy nên phép chia nó mới thành over. Giải pháp ở đây là bạn hãy crawl nguyên dạng html bao gồm các tag, sau đó add thêm các xử lý cho các tag đặc biệt để replace các biểu thức toán về dạng bạn mong muốn.
P.S. Với các biểu thức phức tạp mà có căn bậc n hay các phép sum, logarit chẳng hạn thì chắc chả có cách diễn đạt bằng text nào phù hợp 
Xử lý email trên ứng dụng Rails
Theo mình hiểu thì email sẽ không được gửi từ hệ thống đúng không. Ví dụ một người X gửi mail vào email của bạn và bạn muốn hệ thống handle và nhận được email đó?
- Email của bạn là email của mail server bạn không có quyền kiểm soát kiểm soát (gmail, yahoo chẳng hạn). Trường hợp này thì bạn nghiên cứu gmail API hay các API mà họ cung cấp để cài đặt các webhook để khi có email đến sẽ có request tự động gửi đến controller trên Rails cho bạn.
- Email của bạn là email của mail server bạn có quyền kiểm soát thì tìm các set webhook đến Rails server để handle mỗi khi có mail đến là được.
P.S. Nếu mail là do chính ứng dụng của bạn gửi và bạn muốn mỗi khi mail đến nơi thì server rails sẽ thực hiện 1 số xử lý thì còn dễ hơn. Vì các dịch vụ gửi mail như Sendgrid hay Mandrill đều support webhook đến tận răng rồi 
Replace trong javascript với regular expression :((
Bạn muốn làm kiểu thế này đúng không nhỉ?
> var test_string = `<p>Header content</p>
<p>Line 1: <img class='formula' src='http://icons.iconarchive.com/icons/paomedia/small-n-flat/256/cat-icon.png' align='middle' data-latex='\\frac{5}{6}' /></p>
<p>Middle content</p>
<p>Line 2: <img class='formula' src='http://icons.iconarchive.com/icons/paomedia/small-n-flat/256/cat-icon.png' align='middle' data-latex='\\sqrt[3]{5}' /></p>
<p>Final content</p>`
> test_string.replace(/<p>(.*)<img class='formula'(.*)data-latex='(.*)' \/><\/p>/g, "<p>$1<div class='formula'>$$$ $3 $$$</div></p>");
"<p>Header content</p>
<p>Line 1: <div class='formula'>$$ \frac{5}{6} $$</div></p>
<p>Middle content</p>
<p>Line 2: <div class='formula'>$$ \sqrt[3]{5} $$</div></p>
<p>Final content</p>"
Mình chưa dùng tinymce bao giờ, nếu getContent trả về nội dung không giống cái test_string trên kia thì chắc cần xử lý qua một chút :-s
resolved https://viblo.asia/c/rLZDmzzAElk
Thời điểm đánh index khi sử dụng Elasticsearch
Mỗi lần create hay update user thì add hay update lại index trên index ES là được mà bạn 
Giải Pháp Cứ 16 Giây Thì Phải Tạo Hoặc Update 80.000 rows.
@MinhDuc Với thông tin hiện tại mình có một ý kiến thế này
Bạn có thể thử dùng Redis để lưu 5000 kết quả trung gian. Redis đọc ghi rất nhanh, ưu việt hơn hẳn so với SQL nên có thể sẽ giải quyết tốt bài toán đọc ghi liên tục của bạn.
Sau khi hoàn thành job to bạn có thể ghi 1 lần các kết quả trung gian vào DB chính, hoặc nếu không cần thiết thì delete dữ liệu ở Redis đi là xong.
Các kĩ năng
Tổ chức
Chưa có tổ chức nào.