<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7740508804614029369</id><updated>2026-01-20T13:44:01.577+07:00</updated><category term="PHP"/><category term="MySQL"/><category term="Windows"/><category term="Javascript"/><category term="Linux"/><category term="HTML"/><category term="j2me"/><category term="VBS"/><category term="CSS"/><category term="Java"/><category term="Technology"/><category term="jQuery"/><category term="Oracle"/><category term="Yii2"/><category term="symfony"/><category term="Fix Bug"/><category term="Software"/><category term="ASP"/><category term="Laravel"/><category term="React Native"/><category term="JSP"/><category term="vbulletin"/><category term="Bootstrap"/><category term="Git"/><category term="Ionic"/><category term="nginx"/><category term="English"/><category term="Shopify"/><category term="Wordpress"/><title type='text'>Love Coding</title><subtitle type='html'>I love coding. Whenever I find a bug, I fix it and write about it on my blog. You can use my coding experience to solve your issues!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://code.huypv.net/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default'/><link rel='alternate' type='text/html' href='https://code.huypv.net/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default?start-index=26&amp;max-results=25'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>778</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-6098826284843205512</id><published>2024-04-25T09:45:00.004+07:00</published><updated>2024-04-25T09:45:52.183+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Đẩy log exception của spring boot lên elasticsearch</title><summary type="text">&amp;nbsp;Có ứng dụng viết bằng spring boot, ghi log text ra file application.log. Nhiều chỗ bắt Exception nhưng vẫn dùng logger.info chứ không dùng logger.error. Lúc có vấn đề thường phải vào log text để search, hơi mất thời gian. Bài toán đặt ra là dùng filebeat, logstash và elasticsearch hiện có trên hệ thống để nhặt riêng những log liên quan tới exception lên elasticsearch, sau đó theo dõi bằng </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/6098826284843205512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2024/04/day-log-exception-cua-spring-boot-len-elasticsearch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/6098826284843205512'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/6098826284843205512'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2024/04/day-log-exception-cua-spring-boot-len-elasticsearch.html' title='Đẩy log exception của spring boot lên elasticsearch'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-5652446688560818780</id><published>2024-02-03T17:19:00.005+07:00</published><updated>2024-02-03T17:19:43.512+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Reload hay restart nginx sau khi thay đổi config</title><summary type="text">&amp;nbsp;Đang dùng nginx trên Windows, chạy dạng service với NSSM để chia tải tới các node của ứng dụngCần phải thay đổi config. Sau khi thay đổi không biết nên reload hay restart nginx thì đây là lời khuyên cho bạnNên reload thay vì restart. Restart các client đang request tới hoặc chờ nhận response sẽ bị mất kết nối và báo lỗi. Còn reload nó sẽ vẫn phục vụ nốt các client cũ còn đang &quot;dang dở&quot;Thêm </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/5652446688560818780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2024/02/reload-hay-restart-nginx-sau-khi-thay-doi-config.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/5652446688560818780'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/5652446688560818780'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2024/02/reload-hay-restart-nginx-sau-khi-thay-doi-config.html' title='Reload hay restart nginx sau khi thay đổi config'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-6494874120826284089</id><published>2023-11-21T17:40:00.001+07:00</published><updated>2023-11-21T17:40:12.825+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="nginx"/><title type='text'>nginx timeout 499 vs 504</title><summary type="text">Phân tải api tới các node bằng nginxserver {&amp;nbsp;listen 8899;&amp;nbsp;location / {&amp;nbsp; &amp;nbsp; proxy_pass http://allbackend;&amp;nbsp; &amp;nbsp; add_header Real-NodeInfo $upstream_addr always;&amp;nbsp;}}upstream allbackend {least_conn;server 127.0.0.1:8801;server 127.0.0.1:8802;server 127.0.0.1:8803;}Nếu client cài timeout là 5 giây. Khi nginx chia vào node 8803 xử lý mất 8 giây thì client sẽ ko nhận được </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/6494874120826284089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2023/11/nginx-timeout-499-vs-504.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/6494874120826284089'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/6494874120826284089'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2023/11/nginx-timeout-499-vs-504.html' title='nginx timeout 499 vs 504'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-3099317555226878536</id><published>2023-07-13T17:06:00.000+07:00</published><updated>2023-07-13T17:06:03.195+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Có cần nohup khi chạy ứng dụng ngầm không</title><summary type="text">&amp;nbsp;Chạy lệnhjava -jar app.jar &amp;amp;với nohup java -jar app.jar &amp;amp;thì khác nhau thế nào?Lệnh ko có nohup thì output sẽ tiếp tục văng ra trên màn hình terminal phiên đăng nhập hiện tại (pts - pseudo terminal slave). Thế nên sau khi chạy lệnh đấy, bạn làm vài thứ mà vẫn thấy log văng ra lại tưởng ma làm hay lỗi gì :))Còn lệnh có nohup thì output sẽ đẩy ra file nohup.out ở cùng thư mục (hoặc </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/3099317555226878536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2023/07/co-can-nohup-khi-chay-ung-dung-ngam.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/3099317555226878536'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/3099317555226878536'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2023/07/co-can-nohup-khi-chay-ung-dung-ngam.html' title='Có cần nohup khi chạy ứng dụng ngầm không'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-7765377371265988677</id><published>2023-06-02T10:48:00.003+07:00</published><updated>2023-06-02T10:48:25.349+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Chia nhỏ file để gửi mail</title><summary type="text">Server không có kết nối internet, không được cắm USB, có thể nhận file qua mail nhưng mỗi file không quá 50M thì phải làm sao?Chia file to ra các file con rồi gửi qua mail. Sau đó gộp các file con lại là dùng đượcĐiều kiện: Đã có git bash trên client và serverChia bằng lệnh split ở máy clientsplit -b 50M big.zip bigPrefixGửi mail điTrên server gộp file bằng lệnhcat bigPrefix* &amp;gt; big.zip</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/7765377371265988677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2023/06/chia-nho-file-de-gui-mail.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/7765377371265988677'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/7765377371265988677'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2023/06/chia-nho-file-de-gui-mail.html' title='Chia nhỏ file để gửi mail'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-8885600310626151609</id><published>2023-05-29T16:46:00.004+07:00</published><updated>2023-05-29T16:46:37.613+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>invalid source release 11 gradle build</title><summary type="text">Vấn đề: Có project code trên IDE Spring Tool Suite, lúc chạy Debug As - Spring Boot App thì ứng dụng vẫn okie. Nhưng khi build, chạy command: .\gradlew clean build thì bị báo lỗiTask :compileJava FAILEDFAILURE: Build failed with exception.What went wrong:Execution failed for task &#39;:compileJava&#39;.&amp;gt; invalid source release: 11Nguyên nhân: gradle đang dùng java 8 để build (bạn chạy .\graldew -</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/8885600310626151609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2023/05/invalid-source-release-11-gradle-build.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8885600310626151609'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8885600310626151609'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2023/05/invalid-source-release-11-gradle-build.html' title='invalid source release 11 gradle build'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-1258918153192294164</id><published>2023-03-20T22:35:00.000+07:00</published><updated>2023-03-20T22:35:08.399+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="nginx"/><title type='text'>Sửa lỗi nginx Too many open files</title><summary type="text">&amp;nbsp;Áp dụng trên server linux của mình thì như sau là được:Bước 1:sudo systemctl edit nginx.serviceThêm dòng[Service]LimitNOFILE=10001Bước 2: Thêm/sửa trong file config của nginxworker_rlimit_nofile 10001;events {&amp;nbsp; &amp;nbsp; worker_connections 4096;}Restart nginx (reload không ăn)Bước 3: Xác nhận kết quảcat&amp;nbsp;/etc/systemd/system/nginx.service.d/override.confcat /proc/$(cat /var/run/</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/1258918153192294164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2023/03/sua-loi-nginx-too-many-open-files.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/1258918153192294164'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/1258918153192294164'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2023/03/sua-loi-nginx-too-many-open-files.html' title='Sửa lỗi nginx Too many open files'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-54612312204640709</id><published>2022-09-05T14:22:00.000+07:00</published><updated>2022-09-05T14:22:11.096+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Chạy PerfMon Server Agent trên windows bị lỗi EXCEPTION_ACCESS_VIOLATION</title><summary type="text">Đang vọc vạch test tải server với JMeter trên Windows (môi trường cụ thể cá nhân đang dùng là Windows 11 Pro, JMeter 5.5). Để theo dõi RAM với CPU của server trong&amp;nbsp;quá trình test&amp;nbsp;thì dùng plugin này:PerfMon (Servers Performance Monitoring)Vendor: JMeter-Plugins.orgAllows collecting target server resource metrics. You need to start ServerAgent on a target machine.Documentation: https://</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/54612312204640709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2022/09/chay-perfmon-server-agent-tren-windows-bi-loi-exception-access-violation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/54612312204640709'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/54612312204640709'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2022/09/chay-perfmon-server-agent-tren-windows-bi-loi-exception-access-violation.html' title='Chạy PerfMon Server Agent trên windows bị lỗi EXCEPTION_ACCESS_VIOLATION'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEijfUP1bRQvJAs_GyxBzHeCp5IxnFBQqpocIMPFjfAkPGXeXi6xlFbl6khuj1NYuIsSAEJwgEq2Mc87K0jB0DoYwEsegF_HOQinS3HP7AcQ9mq-oKn8xzO-FxTiy0a5vP8JdUvonbGbrEqEiM32M6bp6UP9nx6wWG2LYfYjVXe8C7x0ZI7DFuiVMdMqvQ=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-3861719001674063209</id><published>2022-08-25T14:03:00.007+07:00</published><updated>2022-08-25T14:03:38.018+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Chạy lệnh với vai trò user khác trên Windows</title><summary type="text">Khi cài đặt Jenkins trên Windows thì lúc chạy service nó khuyến cáo tạo tài khoản độc lập để chạy. Okie tạo thêm 1 tài khoản là jenkins để cài đặt điVậy muốn test 1 số lệnh khi build có chạy được không thì làm thế nào? Ví dụ &quot;php -v&quot; hay &quot;java --version&quot;Vì có thể PATH chỉ set ở level user chứ ko set ở level system. Nên nếu ko chạy thì phải gõ câu lệnh với đường dẫn đầy đủTrên linux có lệnh su (</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/3861719001674063209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2022/08/blog-post.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/3861719001674063209'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/3861719001674063209'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2022/08/blog-post.html' title='Chạy lệnh với vai trò user khác trên Windows'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjnl-vFtQOyHsQRrnuLoemo5wXkt6Wq061Lpgb7HNwbDetqtOJ9W7IkDmd_eugKAet56dYNF93R-8Nlz7E-t7po4YsjAUAHIHTOkue-Ox2QYmWlnpEVykVW-z9p89dguzzI17ln9hleoufP8BcV6gdsFkai1T-G9ateyepBICIbZ4yWzlQzqYLHXK6RQA=s72-c" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-7447009115685848295</id><published>2022-07-04T09:24:00.000+07:00</published><updated>2022-07-04T09:24:48.889+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Chạy https cho nginx trong docker</title><summary type="text">&amp;nbsp;Tạo chứng chỉ ssl cho tên miền huypv.docker thu được 2 file .key và .crtdocker-compose.ymlversion: &#39;3&#39;services:&amp;nbsp; webserver:&amp;nbsp; &amp;nbsp; image: nginx:latest&amp;nbsp; &amp;nbsp; ports:&amp;nbsp; &amp;nbsp; &amp;nbsp; - 80:80&amp;nbsp; &amp;nbsp; &amp;nbsp; - 443:443&amp;nbsp; &amp;nbsp; restart: always&amp;nbsp; &amp;nbsp; volumes:&amp;nbsp; &amp;nbsp; &amp;nbsp; - ./conf/:/etc/nginx/conf.d/:ro&amp;nbsp; &amp;nbsp; &amp;nbsp; - ./webroot/:/usr/share/nginx/</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/7447009115685848295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2022/07/chay-https-cho-nginx-trong-docker.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/7447009115685848295'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/7447009115685848295'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2022/07/chay-https-cho-nginx-trong-docker.html' title='Chạy https cho nginx trong docker'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwhgGGV7XVwzkbr_noDwYDQFDGSn8PHZClbrt6OHxQe4pJhcBvg3BNMVRnAb8Q8hOS8Ow1giRlGe2WmTjgY5zAAoMeqQXr-K_AobXJmoL7wAWCdXV9AZb_GynDjY9BoeBBM6G3cMhZKYA_H02iqefoIhcq7N1rLlWBtowdpP3RcPqLWth6w7OqmAtOZg/s72-c/chay-https-website-docker.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-8676789641740996659</id><published>2022-06-23T15:32:00.000+07:00</published><updated>2022-06-23T15:32:07.244+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Triển khai nhanh sign in with apple trên web</title><summary type="text">Nghe tới Apple là nghe tới mùi tiền rồi. Không như Google Play, để đưa mobile app lên Apple Store thì phải mất khá nhiều xèng. Apple Developer Program - US$ 99. Mà lại là còn theo năm nữa -_-
Nếu triển khai Sign in with Google thì miễn phí, còn ông Apple thì... Chưa kể còn phải đầu tư con Mac nữa, chát... Cũng vì thế mà lương của lập trình viên iOS cao hơn Android :))Sau khi tiêu tiền và trở </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/8676789641740996659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2022/06/trien-khai-nhanh-sign-in-with-apple.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8676789641740996659'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8676789641740996659'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2022/06/trien-khai-nhanh-sign-in-with-apple.html' title='Triển khai nhanh sign in with apple trên web'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-6775405704682270258</id><published>2022-04-20T09:07:00.003+07:00</published><updated>2022-04-20T09:07:29.483+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>PHP set_time_limit rồi nhưng 503 là script bị dừng</title><summary type="text">Có 2 đoạn code PHP giống nhau nhưng trên 1 server thì chạy được, 1 server thì bị 503 và không có logset_time_limit(180);sleep(50);Log::info(&#39;Van chay duoc den het script&#39;);Kiểm tra thì đều chạy php-fpm, cấu hình php.ini giống nhau&amp;nbsp;max_execution_time trong php.ini đều chỉ là 30 giâyNhư vậy phải có 1 thông số cấu hình nào đó của web server đang khác nhau. Kiểm tra thì tòi ra kết quả:1 anh </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/6775405704682270258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2022/04/php-set-time-limit-503-error.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/6775405704682270258'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/6775405704682270258'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2022/04/php-set-time-limit-503-error.html' title='PHP set_time_limit rồi nhưng 503 là script bị dừng'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUgAjoJj_dC15E0c27BLL4xaOmoJt4Eq9cAvfp8lWZp1UqfRNRwMRYAPYNhxvQhTrJCxZWsdE7JW4QFBUzWzobovfIAAiPKUUrR9bp5X0U0IYmpU3ucYQ2yPpTprK38BiX4Ax1JEfHryWUIpAcDdGQIi4ob-zpB2ftQuca19muAbIg-janEK7XBa9kAA/s72-c/php-set-time-limit-503.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-1352343068435231313</id><published>2021-11-12T16:08:00.002+07:00</published><updated>2021-11-12T16:08:28.102+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Setup Zipkin lấy log từ queue của RabbitMQ</title><summary type="text">Đợt này làm về tracing: mục đích là xem các API gọi nhau lâu không, ràng buộc thế nào (cái nào gọi tới cái nào), cái nào bị tắc còn tối ưu, 1 đơn hàng từ lúc bắt đầu đến lúc kết thúc mất bao nhiêu thời gian... Ngắm được thằng Zipkin, làm các bước triển khai demo xem thế nào. Chọn kiểu chạy file JAR cho nó đơn giảnMặc định chạy nó sẽ lưu log lên RAM, nên sẽ thay đổi để nó lưu log vào MySQL. À </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/1352343068435231313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2021/11/setup-zipkin-lay-log-tu-queue-cua-rabbitmq.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/1352343068435231313'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/1352343068435231313'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2021/11/setup-zipkin-lay-log-tu-queue-cua-rabbitmq.html' title='Setup Zipkin lấy log từ queue của RabbitMQ'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0V5YkBnjfi7TJxaNg4dKxk659mVgznjBrS8JEjqrJter_kcJW6HSVvZRr4n7_uZCliQ4P4CQ2QUdDBbhC4vlvA97yO60QHNee2WLtcxA6yBc41KZLUNR-bnuP_eprn_9Cf8zPOW7ibhyl/s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-1026800956838573197</id><published>2021-08-24T14:14:00.003+07:00</published><updated>2021-08-24T14:14:43.613+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Lưu tiền trong DB MySQL là int, decimal, float hay double</title><summary type="text">Làm về ví điện tử, các giao dịch có vnd và usd. Lưu giá trị đơn hàng kiểu số như thế nào cho phù hợp/chuẩn nhất. int, decimal, float hay double?Lưu là double nhé</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/1026800956838573197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2021/08/luu-tien-trong-db-mysql-la-int-decimal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/1026800956838573197'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/1026800956838573197'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2021/08/luu-tien-trong-db-mysql-la-int-decimal.html' title='Lưu tiền trong DB MySQL là int, decimal, float hay double'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-8478486505537410846</id><published>2021-08-18T14:54:00.002+07:00</published><updated>2021-08-18T14:54:45.907+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Hiểu rõ hơn về bảo mật dữ liệu qua API với mã hóa RSA</title><summary type="text">Mã hóa RSA là mã hóa bất đối xứng. Mã hóa đối xứng là dùng chung KEY để mã hóa và giải mã. Mã hóa bất đối xứng là mã hóa bằng 1 KEY, giải mã bằng 1 KEY khác.Mã hóa đối xứng mà anh em dev thường gặp khi làm việc với các API là DES, 3DES và AES. Trong đó AES là tân tiến nhất.Thuật toán mã hóa bị coi là không an toàn khi có máy tính (siêu máy tính) giải mã được trong thời gian ngắn (5 năm cũng là </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/8478486505537410846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2021/08/hieu-ro-hon-ve-bao-mat-du-lieu-qua-api-voi-ma-hoa-rsa.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8478486505537410846'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8478486505537410846'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2021/08/hieu-ro-hon-ve-bao-mat-du-lieu-qua-api-voi-ma-hoa-rsa.html' title='Hiểu rõ hơn về bảo mật dữ liệu qua API với mã hóa RSA'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzmdQpJlYASiofnJyVBHSY2cJYvihtgfADsdQxYRNA-kuKIFdG35D9YdM5y1IN58IkY6_0L7gstM_AlkNdv_gzk_Q9kS86o2GD0a0tT02rI2EPQaQ1asL7o8yOH524p-9Jr5gWH1uuaS3N/s72-c/bao-mat-data-api-bang-ma-hoa-rsa.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-4356660942770695985</id><published>2021-06-29T11:08:00.002+07:00</published><updated>2021-06-29T11:08:46.034+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>PHP kiểm tra URL đang chạy là http hay https</title><summary type="text">Đang code PHP và muốn tự động phát hiện xem link chạy đang là http hay https thì làm thế nào? Kiểm tra biến $_SERVER$_SERVER[&quot;SERVER_PORT&quot;] = 80 thì là http, 443 thì là https =&amp;gt; sai nhé. Nếu chạy qua HA, proxy thì check thế này ko đúng URL trên trình duyệt https nhưng SERVER_PORT vẫn chỉ là 80&amp;nbsp;Dùng REQUEST_SCHEME xem http hay https =&amp;gt; cũng éo đúng khi server chạy qua proxyQua proxy thì</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/4356660942770695985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2021/06/php-kiem-tra-url-dang-chay-la-http-hay-https.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/4356660942770695985'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/4356660942770695985'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2021/06/php-kiem-tra-url-dang-chay-la-http-hay-https.html' title='PHP kiểm tra URL đang chạy là http hay https'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3cbKVlA5gUhUdVO4r4aTXUQMszecs2LPH9jsZQ3okfyybftD0jgts2ybYNeVXhfjrJj8BdcJEDpgbsyWzf6flrIEsJ9gjHeuEo16HQi-nnoJr866afGLEuCbkzzbeRms74VDGKxrN6Yp5/s72-w640-h436-c/php-check-url-http-hay-https.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-1620531635618164240</id><published>2021-05-31T14:58:00.003+07:00</published><updated>2021-05-31T14:58:39.500+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><title type='text'>Lỗi SQL sau khi xóa bảng MySQL không dùng</title><summary type="text">Có thời gian nên review lại DB để xóa bớt các bảng không dùng đến nữa. Đầu tiên là lấy ra các bảng ko có dữ liệuSELECT * FROM information_schema.`TABLES` WHERE TABLE_ROWS = 0 AND TABLE_SCHEMA = &#39;your_db&#39;;Rà soát code để đảm bảo ko có phần nào dùng đế bảng đó nữa (select, insert, update)OK, sau đó xóa đi và lướt qua hệ thống, theo dõi log xem có phát sinh vấn đề gì ko.Mọi thứ tưởng êm xuôi nhưng </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/1620531635618164240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2021/05/loi-sql-sau-khi-xoa-bang-mysql-khong.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/1620531635618164240'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/1620531635618164240'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2021/05/loi-sql-sau-khi-xoa-bang-mysql-khong.html' title='Lỗi SQL sau khi xóa bảng MySQL không dùng'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxJeYaR6bc9Y0Otf6DtpQyxRhEhIL2RZm8F7sDrIN_J9J3g93MTiv2O8FfzkY-Sv8zXBfAAl8va3lH_Dgva2n8N-uAuLn50vdQ-yJvyFRHoSnd9G1OotjGwUDxTIJKLqINuq4E9jQClY56/s72-c/xoa-bang-mysql-khong-dung.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-8514535177955485992</id><published>2021-05-12T16:26:00.001+07:00</published><updated>2021-05-12T16:26:16.373+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Laravel"/><title type='text'>Bật cache bằng redis cho Lumen</title><summary type="text">&amp;nbsp;Dự án cũ dùng Lumen 5.4, có cache đang dùng file. Nay hí hoáy cho sang redis xem sao thì bị lỗi dù đã cấu hình ở .ENV và app.phpỞ .ENV có dòng:CACHE_DRIVER=redisỞ app.php có khai báo:$app-&amp;gt;register(Illuminate\Redis\RedisServiceProvider::class);(nếu ko khai báo thì sẽ bị lỗi&amp;nbsp;Argument 1 passed to Illuminate\Cache\RedisStore::__construct() must be an instance of Illuminate\Contracts\</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/8514535177955485992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2021/05/bat-cache-bang-redis-cho-lumen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8514535177955485992'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8514535177955485992'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2021/05/bat-cache-bang-redis-cho-lumen.html' title='Bật cache bằng redis cho Lumen'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtzybbKdPE7CrTeKRQ6FgHOsgLm72LPLio0Hg8qcBPscOHMGFh7QqygyZ3aYxg2bDNzyuh_3O0wBDZ4qJk-PqmXuqDvaVrEQqBYhHrNmli9qC2-VQq2fu3BvvEiS-NVAHeZ9QhE64ne1I5/s72-c/cache-lumen-laravel-redis.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-1282842270634556607</id><published>2020-09-17T14:52:00.003+07:00</published><updated>2020-09-17T14:52:50.317+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Cài đặt FTP trên server Debian</title><summary type="text">&amp;nbsp;Có việc liên quan tới đối tác, phải cấp FTP cho đối tác upload file đối soát vào. SFTP sẵn nhưng cứ bắt phải FTP cơ, thích thì chiều thôi# Cài FTP serverapt-get install&amp;nbsp;vsftpd# Thiết lập cấu hình: đảm bảo chỉ những user được khai báo trong /etc/vsftpd/user_list mới có quyền vào FTP. User vpbank vào FTP sẽ làm việc trên thư mục /home/vpbank tuy nhiên chỉ nhìn thấy / và / này ứng với /</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/1282842270634556607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2020/09/cai-dat-ftp-tren-server-debian.html.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/1282842270634556607'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/1282842270634556607'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2020/09/cai-dat-ftp-tren-server-debian.html.html' title='Cài đặt FTP trên server Debian'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWsHGZQc69f6VrPEPL5KC6BAPD8gOohp9gw3bG5CIk30zUi4tWci_0ziamjkV0jZP9nQEKt2WszWS_mcY8jBMbXdrzzIKjcp7_DsxJ5-Z6pzu16TLEvhKJNXHvntb17GQvwaS1BJ4F2obc/s72-c/cai-dat-ftp-server-tren-debian.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-8924771166495588702</id><published>2020-09-16T09:55:00.005+07:00</published><updated>2020-09-16T09:55:50.803+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Cài đặt Netbeans đang dùng code PHP để code thêm Java</title><summary type="text">&amp;nbsp;Là PHP web developer sử dụng chủ yếu PHP nên đợt tải Netbeans chỉ chọn &quot;Supported technologies&quot; là PHP. Giờ vợ chơi Pikachu trên ipad hay bị đơ, mình to mồm bảo là để anh code riêng hẳn 1 app cho em chơi - đảm bảo không giật lag hay treo cứng :)) thành ra phải cài thêm trên Netbeans để code Java, test thử thuật toán Pikachu lượm được ở trên mạngOk, có 2 việc chính phải làm để Netbeans đang </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/8924771166495588702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2020/09/cai-dat-netbeans-dang-dung-code-php-de-code-them-java.html.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8924771166495588702'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8924771166495588702'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2020/09/cai-dat-netbeans-dang-dung-code-php-de-code-them-java.html.html' title='Cài đặt Netbeans đang dùng code PHP để code thêm Java'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-6694288127746104051</id><published>2020-09-01T14:23:00.000+07:00</published><updated>2020-09-01T14:23:14.083+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Xử lý lại nhiều đơn hàng bị lỗi API</title><summary type="text">Do sự cố mạng hoặc truyền sai tham số nên gọi API xử lý hàng trăm đơn hàng bị lỗi, cần phải gọi lại. Làm sao để không phải làm thủ công từng đơn nhỉ?Cụ thể hơn nhé: Sau khi khách thanh toán thành công để mua thẻ điện thoại, thì phải gọi API để gửi SMS mã thẻ và mã seri cho khách. Năm tháng qua đi, chẳng thấy SMS bị lỗi bao giờ. Bỗng một ngày đẹp trời bị lỗi và phải gọi lại hàng trăm SMS. Trên </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/6694288127746104051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2020/09/xu-ly-lai-nhieu-don-hang-bi-loi-api.html.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/6694288127746104051'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/6694288127746104051'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2020/09/xu-ly-lai-nhieu-don-hang-bi-loi-api.html.html' title='Xử lý lại nhiều đơn hàng bị lỗi API'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX8wSqbFDPPekB_vxupbGC_Zv_n1Ql0BOal0uuj-KEVjH1ooHnJ72twkfWfxJ1Q6xCOYxDWOuG91Enmyx2EtT_OGC_4XH8ujy1zdAqMiYO_qQJu-ispKClWs1UkbZbmgGCwsCeeuydsE3K/s72-c/tu-dong-goi-lai-hang-tram-url.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-8300471224741096279</id><published>2020-08-27T10:11:00.001+07:00</published><updated>2020-08-27T10:11:12.185+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>Generate HMAC signature for GRAB Integration </title><summary type="text">&amp;nbsp;Just check your code in any programming language to have following result(Output: base64 encoded)plain text = inputsecret key = secretoutput must be: jYmF0Et6vTLLqjd5o9qgGeDSaaIq7BWvjnKW9wLMaMY=I use PHP, and here is my code =))base64_encode(hash_hmac(&#39;SHA256&#39;, &#39;input&#39;, &#39;secret&#39;, true));</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/8300471224741096279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2020/08/generate-hmac-signature-for-grab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8300471224741096279'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/8300471224741096279'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2020/08/generate-hmac-signature-for-grab.html' title='Generate HMAC signature for GRAB Integration '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk8vhrIvRgd_tMtidjITvbQCGKbeNmHM4h62pO_oqtxSVMeAORJxECrkb316Bz1g5kr_cL0T2OzR1OP9Gg_4iTG_Z4FRCm1wzQqtuXHYjCyyfuqVyErEjhAg2yQJJZjX9bcC8mIFWEKsrq/s72-c/base64-encode-hmac-sha256-php-golang.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-340837367889527059</id><published>2020-08-12T09:32:00.002+07:00</published><updated>2020-08-12T09:32:23.089+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Lỗi MongoDB insert nhưng mất dữ liệu</title><summary type="text">&amp;nbsp;Team system thông báo đêm ngày 11/08, rạng sáng ngày 12/08 cần off server 45 phút để làm gì đó liên quan tới sửa lỗi hệ thống. Ok, và đêm đó mọi chuyện diễn ra bình thường cho đến khi system báo đã on lại serverHuyPV kiểm tra dịch vụ, toang! Check log, không gọi được API, curl báo lỗi 6 - Could not resolve hostSSH vào gọi thử mấy link ra ngoài thấy đều không được. DNS trên server có vấn đề.</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/340837367889527059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2020/08/loi-mongodb-insert-nhung-mat-du-lieu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/340837367889527059'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/340837367889527059'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2020/08/loi-mongodb-insert-nhung-mat-du-lieu.html' title='Lỗi MongoDB insert nhưng mất dữ liệu'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6gOlefJOVxZAKiuV8RWYCC8mlEWeD4W1DnAPxxMOTTKMGg8EsvY69bnX76gHTQEPG1zuNCyNQHZuALx1x2qhCuztRjThGhHsOfhzDTLqtdvPP9eIsZhDaD0eVyNvkkRZZqBE0pYp9iaq5/s72-w400-h272-c/server-co-ma.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-2746627854012511322</id><published>2020-07-30T16:45:00.001+07:00</published><updated>2020-07-30T16:45:13.310+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Dump và import dữ liệu MySQL thật nhanh</title><summary type="text">Dump từ trên server về, ra file SQL hơn 200MB, mất tầm 3 phút. Lúc import vào DB ở local thì ôi thôi lâu vlllll gần 1 tiếng đồng hồSau học cách trên mạng thử lại thì ôi nhanh vlllllllBước 1: Export dữ liệu bằng mysqldumpE:\data&amp;gt;mysqldump -uhuypv -pPASSKHONGCHE -h172.16.69.69 --single-transaction --quick --no-create-info --compact huyshop mobilecards &amp;gt; E:\bak\mobilecards.sqlBước 2: Tạo bảng </summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/2746627854012511322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2020/07/dump-va-import-du-lieu-mysql-that-nhanh.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/2746627854012511322'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/2746627854012511322'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2020/07/dump-va-import-du-lieu-mysql-that-nhanh.html' title='Dump và import dữ liệu MySQL thật nhanh'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ7F99erXXWllEuJobEOcO7r_sW7iZaak-wCVwT8HGl3J1_VvApezVnibmk-k-Cd-zqfmf9F-wyEM_W-2PqJlQA0FoGyh0nQBqALb5zs7mM8EpOY5gu4z95l59Y9yj395qR0c1tC9r4l2a/s72-w364-h400-c/mysqldump-1m-records.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7740508804614029369.post-6927025599561423199</id><published>2020-07-28T15:34:00.001+07:00</published><updated>2020-07-28T15:34:36.971+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Tôi đã cài những gì để làm việc lập trình ở công ty</title><summary type="text">Ổ cứng bị bad trong, dữ liệu đi tong, công ty cấp cho ổ cứng mới. Phải cài lại một đống phần mềm để làm việc. Cùng điểm danh thử xem có giống của ai đó không nhé:- Internet Download Manager (bản quyền xịn, he he)- Telegram (chát chính)- Sluck (chát hỗ trợ đối tác)- KeePass (quản lý mật khẩu)- WinSCP (vào FTP, SFTP)- Navicat (thao tác dữ liệu MySQL)- XShell (SSH đi muôn nơi)- Authy Desktop (lấy mã</summary><link rel='replies' type='application/atom+xml' href='https://code.huypv.net/feeds/6927025599561423199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://code.huypv.net/2020/07/toi-cai-nhung-gi-de-lam-viec-lap-trinh-o-cong-ty.html.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/6927025599561423199'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7740508804614029369/posts/default/6927025599561423199'/><link rel='alternate' type='text/html' href='https://code.huypv.net/2020/07/toi-cai-nhung-gi-de-lam-viec-lap-trinh-o-cong-ty.html.html' title='Tôi đã cài những gì để làm việc lập trình ở công ty'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>