Reverse proxy vs Forward proxy

Proxy hay Proxy Server làm nhiệm vụ đứng giữa client và web server ứng dụng. Nó có vai trò bảo vệ client hoặc webserver tùy theo loại của chúng. Có 2 loại proxy là Reverse proxy vs Forward proxy:

1- Forward proxy thường được sử dụng trong các doanh nghiệp. Nó cùng với với tường lửa, router để bảo vệ, kiểm soát người dùng ra ngoài Internet. Proxy này ghi log, cho phép người dùng được truy cập các trang web nào, thời điểm nào… Đảm bảo tính ẩn danh của người dùng trước các web ghi lại thông tin người truy cập.

2- Reverse proxy thì ngược lại, nó tiến hành bảo vệ web server trước các client. Nó tiến hành ghi log, đứng trước bảo vệ các webserver đằng sau, ngăn không cho client gửi yêu cầu tới webserver trực tiếp. Nó cũng đóng vai trò như các bộ điều hướng, kiểm soát các client để phân bổ tới các ứng dụng định sẵn. Hơn nữa Reverse proxy có thể đóng thêm vai trò cân bằng tải (Load Balancer)

Tìm hiểu tiếp phần này thấy có khá nhiều thứ hay ho. Ta mở rộng thêm các khái niệm về Load Balancer, High-Availability đi kèm là HAProxy và Keepalived.

Đối với Apache thì có các module Proxy, module HAProxy, module Keepalived để làm Cân bằng tải.
Chuyên biệt hơn ta có Piranha Load Balancer, với cấu hình trực quan để làm Load Balancer.

Ta cũng có thể sử dụng NGINX làm proxy cho Apache.

Một số link tham khảo thêm Reverse proxy vs Forward proxy:
https://tech.bizflycloud.vn/tong-quan-ve-haproxy-va-load-balancing-20180712085354307.htm
http://congdonglinux.vn/piranha-load-balancer/
https://anninhmang.edu.vn/cau-hinh-high-available-load-balancer-voi-haproxy-va-keepalived/
https://vicloud.vn/community/huong-dan-su-dung-apache-nhu-mot-reverse-proxy-bang-cong-cu-mod-proxy-tren-centos-7-376.html
https://thachpham.com/linux-webserver/nginx-reverse-proxy-cho-apache.html
https://kipalog.com/posts/Web-Server—Tan-man-PHP-Handler-va-Apache

Monorepos vs Multilrepos

Lang thang trên mạng tự nhiên gặp bài viết này [1] nên tò mò xem Momorepos là gì? Sau đó tìm hiểu thêm google thì có bài viết [2] [3] [4] giải thích và cho ví dụ khá rõ ràng.

Thì ra nó liên quan đến việc quản lý mã nguồn của dự án. Trước đây mình không để ý lắm nên không biết phân biệt giữa 2 khái niệm này. Khi dùng SVN thì công ty mình dùng theo kiểu Monorepos(mặc dù chưa biết đến thuật ngữ đó), nghĩa là có một Repository duy nhất được tạo ra, các dự án khác nhau đều tống chung vào đó, mỗi dự án là một thư mục được tạo ra. Tất nhiên vẫn phân quyền được bình thường theo từng thư mục.

Sau này khi chuyển sang Gitlab cùng với việc phát triển Microservice nên trên Gitlab mỗi một project thì đều tạo Repository riêng cho nó. Tương đương trên github mình làm các project nhỏ nhỏ khác cũng như vậy.

Sơ sơ thì mỗi cái lại có ưu và nhược điểm nhưng thấy nhiều ý kiến cho rằng đối với Startup và Công ty lớn ưa chuộng việc dùng Monorepos hơn như Google, Facebook…

[1]: https://medium.com/@hoangbkit/why-monorepo-in-2018-89221acd4bfb
[2]: https://www.reddit.com/r/devops/comments/8vgqhq/what_do_you_prefer_and_why_mono_repo_or_multiple/
[3]: https://www.atlassian.com/git/tutorials/monorepos
[4]: https://medium.com/@patrickleet/mono-repo-or-multi-repo-why-choose-one-when-you-can-have-both-e9c77bd0c668

Top supercomputers fastest on the world

Xem danh sách 10 siêu máy tính mạnh nhất thế giới tại bài: https://www.bbvaopenmind.com/en/technology/innovation/the-top-10-supercomputers-the-new-scientific-giants/
Trong 10 siêu máy tính thì có tới 5 cái thuộc Mỹ, 2 cái thuộc Trung Quốc, 1 cái từ Đức, 1 cái từ EU, 1 cái từ Nhật. Hàng đầu thế giới thì thuộc về 2 siêu máy tính thuộc Mỹ phục vụ nghiên cứu khoa học và quân tự. Tiếp theo là 2 siêu máy tính đến từ Trung Quốc. Một điều rất lạ là không có cái nào của Nga.
Về độ lớn, tốc độ của các siêu máy tính này thì mình cũng chưa thể tưởng tượng ra để có thể so sánh được. Cái nhanh nhất có tốc độ 148.6 petaflops, theo thông tin mới nhất thì siêu máy tính mạnh nhất ở Việt Nam do công ty FPT mua có tốc độ 1 petaflops.

Trending Research in Information Technology

I found a website (https://paperswithcode.com/) list research result in field Information Technology.
Specifically, the researchers have public not only paper but open source on Github. I check this open source have a lot of star and bout Fork.
On Trending Research, I saw the trending relate Machine Learning and Deep Learning. Research and develop new Networks apply for Computer Vision, Natural Language Processing and Data Science.
http://cs229.stanford.edu/proj2019spr/

Xu hướng nghiên cứu trong lĩnh vực Công nghệ thông tin
Tôi tìm thấy một website (https://paperswithcode.com) tập hợp danh sách các bài báo nghiên cứu về lĩnh vực Công nghệ thông tin. Điều đặc biệt là nghiên cứu này đều được public không chỉ bài báo mà còn đi kèm cả source public trên Github. Check qua các source code này đều có khá nhiều sao và lượt Fork.
Nhìn xu hướng nghiên cứu này thấy nhiều nhất liên quan đến Machine Learning và Deep Learning, nghiên cứu và phát triển các Network mới ứng dụng trong xử lý ảnh, xử lý ngôn ngữ tự nhiên và khoa học dữ liệu.
http://cs229.stanford.edu/proj2019spr/