Avatar

Sun* R&D Lab

Researching & Developing AWESOME THINGS

43 695 100 406.4K
Avatar

Các kiến thức cần phải biết khi sử dụng Nginx

I. Lời mở đầu Mình là một newbie, đang muốn tạo một trang web cho riêng mình. Nên mình có tập tọe học một vài ngôn ngữ để có thể tự viết code. Sau khi tìm hiểu trên Viblo mình biết được căn bản rằng là để xây dựng một trang web thì mình cần học một ngôn ngữ Backend, CSDL, Javascript,... bla.bla. Mình có đọc được bài khá bổ ích Cái nhìn tổng quan về một dự án web. Và rồi mình cũng tự phân tích t...

4.5K 13 2
  • Avatar
  • Avatar
8
Avatar

Deploy Node.js app đơn giản với Docker và Gitlab Registry

I. Lời mở đầu

Tình hình là thời gian vừa rồi mình có code một trang web bán hàng. Sau khi code xong mình muốn sử dụng nó trên website mà vẫn chưa biết làm thế nào. Vậy là mình có đi tìm hiểu và được biết là phải deploy code đó lên hosting hoặc server thì mới sử dụng được. Vậy là mình quyết định thuê 1 server của Linux có giá là 200$/year. Sau vài ngày lang thang trên viblo cuối cùng mình cũng ...

3.3K 5 1
  • Avatar
16
Avatar

Nên lựa chọn web server nào: Apache hay NGINX?

Lời mở đầu

  • Xin chào các đã đang và sẽ trở thành "web developer", bài viết hôm nay sẽ đề cập đến một chủ để khá cơ bản nhưng chưa chắc nhiều bạn để ý tới, nhất là những bạn mới bắt đầu tìm hiểu, học tập về lập trình web. Đó là việc lựa chọn 1 web server.
  • Chắc hẳn các bạn bắt đầu học lập trình web (PHP) không còn xa lạ gì với xampp nữa. Nó là một gói tổng hợp môi trường gồm Apache + Maria...
3.0K 4 5
  • Avatar
  • Avatar
8
Avatar

Hacker đã tấn công trang web của tôi như thế nào

Lời mở đầu

Tình hình là một newbie tập tọe mày mò tập code. Mình muốn tự thiết kế một trang web cho riêng mình với mục đích là bán sách online. Hồi trước ở trường đại học mình có được học môn lập trình PHP, mình qua môn này với mức điểm rất là cao =)). Chính vì vậy mình quyết định chọn PHP là ngôn ngữ cho backend của trang web. Nghe thiên hạ đồn react là một thư viện, framework mạnh mẽ để thiế...

5.1K 10 6
  • Avatar
  • Avatar
18
Avatar

Triển khai bộ lưu trữ log tập trung với Graylog

Hiện nay, khi các ứng dụng theo kiến trúc Microservice ngày càng phổ biến, chúng ta không chỉ quản lý logs của 1 ứng dụng trên 1 máy chủ mà bây giờ sẽ là hàng chục, hàng trăm các container khác nhau, log nằm dải rác trên nhiều máy chủ. Việc debug, monitor ứng dụng trở nên khó khăn hơn, vì thế những bộ ứng dụng xây dựng nhằm mục đích tập trung logs của ứng dụng về một nơi trở thành những công cụ...

8.7K 4 0
10
Avatar

Xây dựng một website cực nhanh với Gridsome

Trong bài viết trước, mình đã giới thiệu tới các bạn VuePress, trong bài viết này sẽ tiếp tục là 1 công cụ nữa, tiếp tục là 1 công cụ để xây dựng static web nữa là Gridsome.

Demo blog xây dựng từ Gridsome tại đây.

Về Gridsome

Gridsome cũng được xây dựng với Vue.js và được phát triển nằm trong Jamstack framework, nó được sử dụng để tạo ra website nhanh nhất có thể, đáp ứng được nhu cầu ngườ...

1.6K 4 0
5
Avatar

Xây dựng một website cực nhanh với VuePress

Hiện nay, ứng dụng web là một trong những công cụ giúp mọi người dễ dàng tiếp cận thông tin, chia sẻ nội dung tới đông đảo cộng đồng. Chính vì sự tiện lợi của nó, mọi người đều muốn tạo cho mình 1 trang web để làm chia sẻ, xây dựng profile rồi portfolio cho bản thân, và cách tiếp cận tới việc xây dựng một website cũng càng dễ dàng. Trong series này, mình mong muốn chia sẻ tới mọi người những cô...

1.4K 4 0
8
Avatar

Bạn đã thực sự "biết" HTTP Response Status Code?

Lời nói đầu

Trong thời đại "công nghệ 4.0" như hiện nay thì việc truy cập, sử dụng các website gần như là hoạt động hàng ngày không thể thiếu của một người. Bạn có thể lên web đọc báo, nghe nhạc, xem phim, tán gẫu với bạn bè .... Và chắc hẳn những hình ảnh này cũng không phải quá xa lạ đối với các bạn phải không nào?

Đây có lẽ là 2 status code phổ biến nhất mà người dùng gặp phải. Liệu bạ...

2.2K 8 3
  • Avatar
  • Avatar
8
Avatar

Vì sao React Hooks lại được sử dụng nhiều trong các dự án đến thế?

Lời mở đầu

Các bạn có thể biết ReactJS ngày càng trở thành 1 thư viện, framework cần thiết, và được các Frontend Developer rất ưu chuộng. React có lẽ là framework được nhắc đến nhiều nhất trong thế giới front end vì nó có một cộng đồng vô dùng lớn. Ngoài ra, vì nó là anh em với React Native, nên sẽ dễ dàng hơn rất nhiều khi cần đến sự di động.

Cá nhân mình cũng biết đến và sử dụng react từ kh...

3.5K 9 3
  • Avatar
  • Avatar
5
Avatar

Làm biểu đồ thống kê đẹp-bổ-rẻ với Apex Chart

Lời nói đầu

  • Xuất phát từ nhu cầu cần thực hiện chức năng biểu đồ thống kê cho trang admin của mình thì minh cũng có tìm hiểu về các thư viện hỗ trợ việc vẽ biểu đồ, trong đó có thể kể đến một số cái tên tiêu biểu như là Chartjs hay là Chartist.
  • Nhưng rồi mình được một người anh khai sáng cho một thư viện "mới" (đối với mình) và ấn tượng đầu tiên là nó khá là sặc sỡ, bắt mắt, và một điểm...
3.2K 10 4
  • Avatar
  • Avatar
13
Avatar

Cài đặt SonarQube để tìm bug.

Giới thiệu về SonarQube

SonarQube là một nền tảng mã nguồn mở để quản lý chất lượng mã nguồn. SonarQube hỗ trợ khá nhiều ngôn ngữ: Java, C#, C/C++, PL/SQL, Cobol, ABAP… Kiến trúc SonarQube SonarQube platform gồm 3 thành phần:

  • Database lưu trữ: Cấu hình của SonarQube (security, plugins settings, etc.) Quality snapshots của các dự án
  • Web Server giúp người dùng xem xét trạng thái chất lượng ...
6.2K 2 2
  • Avatar
  • Avatar
3
Avatar

Nginx là gì?

Đợt vừa rồi do yêu cầu dự án nên mình được ngồi cài lại đống server. Cũng có mấy thứ như php, composer, yarn ... thì cũng coi như là quen thuộc mà bản thân đã biết. Nhưng đến lúc bảo cài Nginx, rồi cấu hình cho nó thì mình chịu, có nước đi copy lại cấu hình từ server cũ cho nó chạy với nhờ người xem hộ 😭. Để tương lai không còn ngớ ngẩn với mấy chuyện cấu hình server thì hôm nay mình sẽ vi...

20.6K 23 3
  • Avatar
  • Avatar
42
Avatar

Functional Programming trong Javascript với lodash/fp

Trải qua những ngày tháng cặm cụi đọc về Functional Programming thì mình cũng may mắn hiểu được một phần nó về ý tưởng của nó. Mục đích mình đi tìm hiểu về lý thuyết functional là để giải thích cách viết của lodash/fp. Và đây có vẻ sẽ là bài viết cuối cùng trong chuỗi những bài viết về functional programming trong JS của mình. Mong rằng, mọi người đã có những thời gian tuyệt vời khi đọc các bài...

1.0K 5 0
12
Avatar

Chatwork forwarder - Giải pháp cho sự lười biếng

Chatwork Forwarder là một opensource được phát triển bằng Laravel framework, giúp dự án của bạn giải quyết những vấn đề sau

  1. Gửi message lên Chatwork (private hoặc room)
  2. Nhận payload từ một service khác, bóc tách dữ liệu theo các điều kiện và config của người dùng.
  3. Mapping dữ liệu để message gửi đi thân thiện, dễ hiểu hơn với người đọc.
  4. Cùng lúc gửi được nhiều message cho nhiều roo...
1.6K 8 3
  • Avatar
  • Avatar
39
Avatar

Functional Programming trong Javascript (Phần 2)

Tiếp nối câu chuyện tìm hiểu Functional Programming trong Javascript ở phần 1 thì tất nhiên hôm nay sẽ là phần 2 của chủ đề trên. Cũng không cần mở đầu dài dòng như lần trước. Chúng ta bắt đầu tiếp với những khái niệm còn lại.

Các khái niệm Referential transparency Giả sử chúng ta có một hàm tính diện tích của hình vuông như sau: Nếu ta truyền giá trị n = 2 vào hàm trên thì kết quả nhận được l...

614 2 1
  • Avatar
8
Avatar

Functional Programming trong Javascript

Vào một ngày đẹp trời trong khi bạn đang hùng hục ngồi fix bug cho dự án maintain từ 2 năm trước. Tìm loạn hết lên thì bạn cũng tìm ra chỗ cần sửa (ngonroi). Mặc dù nó cũng chỉ là đoạn code sử dụng hàm find của lodash, tuy nhiên nó lại chả bình thường tí nào. Đoạn code trên tất nhiên đã được custom để không bị lộ =)). Mò doc của lodash thì nó như này cơ mà: Có vẻ hơi khác. Đi hỏi một người anh ...

1.9K 4 2
  • Avatar
  • Avatar
14
Avatar

Triển khai bộ log tập trung (Centralized logging) với Docker và Kubernettes cho server sử dụng ELK stack.

ELK stack bao gồm Elasticsearch, Logstash và Kibana, trong đó Logstash thu thập logs trong các ứng dụng của bạn đưa về lưu trữ trong Elasticsearch và Kibana sẽ trình diễn chúng trên một giao diện thân thiện với bạn hơn. Ngoài ra để thu thập logs cho Kuberbernettes thì mình sử dụng thêm Fluentd.

I. Thu thập logs từ Docker Điều kiện cần Để thuận tiện cho Logstash có thể thu thập logs từ các Dock...

7.4K 14 6
  • Avatar
  • Avatar
24
Avatar

Tìm hiểu về Hooks trong React

  1. Mở đầu

Xin chào tất cả các bạn mặc dù Hooks của React đã ra mắt được một thời gian rồi tuy nhiên gần đây mình mới có cơ hội sử dụng thử nó nhiều hơn trong project nên bài viết này mình xin chia sẻ lại với các bạn về một số điều mà mình tìm hiểu được về một số hàm Hooks mà mình tìm hiểu được

  1. React Hook

a. useState

Có lẽ đối với các bạn đã đọc qua về Hook trong React thì đây là 1 tro...

2.5K 10 2
  • Avatar
  • Avatar
15
Avatar

Auto deploy dự án với Github Actions

Đối với developer chúng ta thì việc làm việc với Github là việc hàng ngày, thường xuyên phải làm việc với nó. Đa số chúng ta chỉ quan tâm đến các chức năng chính của Github như Pull Requests, Issues, hay là code nhưng ít khi chúng ta để ý đến các chức năng khác của Github. Trong bài viết hôm nay thì mình giới thiệu đến các bạn chức năng Actions của Github và sử dụng nó đến deploy dự án lên Gith...

9.6K 10 18
  • Avatar
  • Avatar
27
Avatar

Mẹo cải thiện và tăng tốc độ chạy PHPUnit

Tiết kiệm từ 50% - 70% thời gian chạy PHPUnit test cho dự án của bạn chỉ với vài mẹo đơn giản thật không ngờ.

Sử dụng --filter

Mình đã thấy rất nhiều bạn newbie trong quá trình phát triển, mỗi lần chạy test đều check toàn bộ các test. Nếu bạn chưa biết, khi thêm khi flag --filter <Callable> vào command line nó sẽ giúp bạn chỉ chạy các test có tên trùng khớp với Callable như tên class, testcas...

814 9 0
22
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í