Các bài viết ngắn - phần 14
SmartDev Tools
Hôm nay mình chia sẻ với các bạn rất nhiều công cụ online giành cho lập trình viên.
Bạn có thường code các ví dụ và muốn chia sẻ với bạn bè, đồng nghiệp ?
→ Bạn có thể dùng Code share bin
Bạn cần định dạng JSON, HTML, CSS, JS đẹp từ đoạn code đang rút gọn ?
→ Bạn có thể dùng JSON formatter, JavaScipt formatter, HTML formatter
Bạn cần minify một đoạn code CSS, JS ?
→ Bạn có thể dùng CSS compressor, JS compressor
Bạn cần một đoạn text ngẫu nhiên hay một số credit card ngẫu nhiên ?
→ Bạn có thể dùng Lorem Ipsum generator, Credit card generator
Bạn cần một data fake theo một mẫu nào đấy ?
→ Bạn có thể dùng Test data generator
Bạn cần một hình nền ở một kích thước cố định nào đó để làm replace image ?
→ Bạn có thể dùng Placeholder image generator
Bạn cần chuyển một đoạn code HTML sang markdown ?
→ Bạn có thể dùng HTML to Markdown
Bạn cần tạo một QR Code ? Hay cần scan một QR code có sẵn ?
→ Bạn có thể dùng Generator QR Code, QR Code Scanner
Bạn cần sắp xếp một list theo alphabet, theo độ dài hay theo sắp xếp ngược một danh sách ?
→ Bạn có thể dùng Sorting list
Bạn cần chuyển một chuỗi sang in hoa hết, hay viết thường hết ?
→ Bạn có thể dùng String Utilities
Và cuối cùng, bật mí với các bạn là tất cả các công cụ trên nằm trong túi thần kỳ của Đô-rê-mon, mình đùa ^^ Tất cả nằm ở SmartDev Tools (https://smalldev.tools/)!
TLDR; các tài liệu dev
TLDR; về các loại tài liệu dành cho lập trình viên
Trang web sẽ giới thiệu đến bạn ngắn gọn về từng loại và nội dung là những document được mô tả trực quan bằng code và nội dung mô tả ngắn gọn đúng phong cách TLDR; và dạng cheatsheets.
Các loại sẽ được sắp xếp theo thứ tự alphabet ở trang chủ devhints.io, bao gồm:
Analytics, Ansible, Apps, C-like, CLI, CSS, Databases, Devops, Elixir, Git, HTML, Java & JVM, JavaScript, JavaScript libraries, Jekyll, Ledger, Markup, macOS, Node.js, PHP, Python, Rails, React, Ruby, Ruby libraries, Vim, Fitness, Others.
Khi vô tình bắt gặp trang này trong khi đọc các bản tin về tech, mình đã mắt chữ A, mồm chữ O mà lưu ngay lại để đọc dần vì có quá nhiều thứ mà mình chưa biết. Đọc cái này mình cũng biết và phân loại thêm được nhiều loại khác nhau nữa.
Một số bảng sheets mà mình thích nhất là: JS Array cheatsheet, React.js cheatsheet, ES6, Vim cheatsheet, Docker, VSCode, command line
https://devhints.io/
Mẹo sử dụng khoảng trắng
Một số mẹo sử dụng khoảng trắng hợp lý cho các tiêu đề và chữ trên trang web
– Giảm khoảng trắng bên dưới tiêu đề và tăng khoảng trắng bên trên tiêu đề Điều này sẽ giúp tiêu đề to hơn và nổi bật hơn, đồng thời giúp người đọc dễ đọc nội dung bên dưới hơn vì nó gần hơn
– Thêm khoảng trắng giữa các đề mục và các đường link nên rõ ràng thể hiện có thể click được
– Kiểm tra font tải có đúng không và chính tả của nội dung
– Giảm lineheight giữa các dòng ngắn
– Hạn chế sử dụng xuống dòng vì sẽ gây khó đọc
– Sử dụng font custom sẽ làm trang web có dấu ấn riêng, nhưng lưu ý kiểm tra font có load được không nhé.
Bạn có thể ghé link để xem kết quả trước và sau những thay đổi này nhé ^^
Giải bài toán đồ thị (graph problem) với python
Graph là gì?
Graph là một cấu trúc dữ liệu gồm các nút (nodes) hay N và các nhánh (edges) hay E. Loại cấu trúc dữ liệu này thường sử dụng để mô tả khoảng cách giữa các địa điểm hay trong những loại liên kết phức tạp khác.
Node là điểm, thường thể hiện bằng hình tròn, có giá trị (hoặc không). Edge là nhánh, thường thể hiện bằng đường nối giữa hai điểm với nhau, có giá trị (hoặc không)
Giải quyết vấn đề graph
– Duyệt qua graph với Breadth First Search (BFS) hay thuật toán tìm kiếm theo chiều rộng
– Duyệt qua graph với Depth First Search (DFS) hay thuật toán tìm kiếm theo chiều sâu
– Tạo graph với một Adjacency List
– Directed Graph (có một chiều nhất định giữa hai node) và Undirected Graph (giữa hai nút có hai chiều)
Ngoài ra còn có các bài tập cụ thể và được giải với python ở link
Authentication là gì?
Là quá trình kiểm tra liệu người dùng có đúng danh tính mà hệ thống có về người ấy hay không. Nếu đúng thì sẽ cho phép người dùng truy cập vào hệ thống. Nếu không đúng thì từ chối truy cập vào hệ thống.
Vậy kiểm tra bằng cách nào?
single factor authentication – cách này hay sử dụng mật khẩu để đăng nhập, và sẽ có rủi ro là nếu bạn sử dụng cùng mật khẩu cho nhiều hệ thống thì nếu hacker hack được mật khẩu của một cái thì tất cả những tài khoản còn lại đều bị rủi ro về bảo mật.
2-factor authentication – cách này an toàn hơn và được sử dụng phổ biến hiện nay vì bên cạnh thông tin đăng nhập (username, password), bạn cần thêm một bên nữa như mã bảo mật gửi về email hay SMS.
multi-factor authentication – cách này còn xịn hơn cách ở trên với sự kết hợp giữa nhiều bên liên quan như thông tin đăng nhập, câu hỏi bảo mật, mã bảo mật (SMS, authenticator app) hay nhận dạng vân tay, khuôn mặt.
Tuỳ vào loại ứng dụng mà chọn cách kiểm tra phù hợp vì không lý gì một ứng dụng giải trí lại yêu cầu quá nhiều thứ từ người dùng như tài khoản ngân hàng.