Lập Trình
Duyệt các bài viết được gắn thẻ Lập Trình
1677 bài viết

Nâng skill lập trình PHP như thế nào?
Là một lập trình viên thì ta luôn chú ý đến năng suất của sản phẩm như phải an toàn, không bị lỗi và đương nhiên sẽ chạy nhanh. Và bài này mình sẽ đề cập đến vấn đề tối ưu code của PHP và làm thế nào để website chạy nhanh hơn. Vậy nâng skill lập trình PHP như thế nào? 1. Nắm được nguyên tắc hoạt động của trình biên dịch Có lẽ phần này thì ai cũng biết nhưng tôi nghĩ cũng nên đưa ra vì nó rất là quan trọng, và hy vọng những bạn chưa hiểu nguyên tắc hoạt động sẽ nắm bắt được. Đối với trình biên dịch một ngôn ngữ lập trình bất kỳ thì trình biên dịch luôn luôn dịch một file từ trên xuống dưới và từ trái qua phải. Giả sử bạn tạo 2 fiel a.php và b.php thì nếu bạn require b.php vào a.php thì lúc này trình biên dịch sẽ thực thi hết file b.php rồi mới dịch xuống dòng kế tiếp sau lệnh require ở file a.php . Ví dụ: File a.php: echo 'Begin file a.php<br/>'; require 'b.php'; echo 'end file a.php'; File b.php: echo 'File b<br/>'; Test nhanh kết quả sẽ là: Begin file a.php File b end file a.php Trường hợp bạn gọi tới một hàm nào đó. Nếu trong chương trình chạy đến một hàm nào đó thì nó sẽ thực thi hết nội dung bên trong hàm đó rồi mới chạy xuống dòng lệnh kế tiếp, và hàm đó bạn có thể đặc bất kỳ vị trí nào trong file PHP, không giống như JavaScript hay C++ là bạn phải khai báo phía trên nó mới hiểu. 2. Thuần thục các toán tử trong lập trình Các ngôn ngữ lập trình sẽ có...

Cài đặt RabbitMQ
Bài viết được sự cho phép của tác giả Giang Phan Trong bài này, tôi sẽ hướng dẫn các bạn cách cài đặt RabbitMQ Server. Có nhiều cách cài đặt, có thể sử dụng stanalone file, sử dụng package manager/ installer hay Docker. Giới thiệu CloudAMQP – Một RabbitMQ server trên Cloud Giới thiệu RabbitMQ Management Interface Cài đặt RabbitMQ Server sử dụng Package manager Cài đặt Erlang Vì RabbitMQ được viết sử dụng ngôn ngữ Erlang nên để cài đặt nó các bạn cần cài đặt Erlang trước. Với MacOS, không cần phải cài đặt Erlang bởi vì Homebrew cài đặt RabbitMQ đã bao gồm Erlang runtime dependency. Cài đặt RabbitMQ trên MacOS Đầu tiên, các bạn hãy download phiên bản mới nhất của RabbitMQ tại địa chỉ: https://www.rabbitmq.com/download.html . Nó có nhiều phiên bản cho nhiều môi trường khác nhau nhưng trong bài viết này, hãy lựa chọn phiên bản phù hợp với hệ điều hành của các bạn. Ở đây mình đang sử dụng hệ điều hành macOS, do đó mình sẽ chọn Homebrew dành cho macOS. Nếu bạn chưa cài HomeBrew (HomeBrew là một package manager dành cho macOS), hãy chạy lệnh sau để cài đặt nó trước: https://raw.githubusercontent.com/Homebrew/install/master/install.sh Mở Termial và chạy lệnh sau để cài đặt RabbitMQ: brew install rabbitmq Thêm rabbitmq vào biến môi trường, chạy lệnh: export PATH=$PATH:/usr/local/opt/rabbitmq/sbin Chạy lệnh rabbitmq-server để start RabbitMQ Server. Sau khi khởi động RabbitMQ, chúng ta có thể theo dõi và quản lý RabbitMQ từ giao diện web ở cổng 15672 . Các bạn có thể truy cập vào trang này bằng URL sau: http://localhost:15672/ với username và password là guest/guest . Trường hợp không thể truy cập Management UI cho RabbitMQ, bạn thực hiện lệnh sau: rabbitmq-plugins enable rabbitmq_management Sau khi login sẽ thấy kết...

Database Seeding là gì?
Bài viết được sự cho phép của tác giả Lê Chí Dũng Database Seeding là gì? Trong môi trường Developement mà thao tác với dữ liệu thực là chết người. Nên khi có 1 ứng dụng cần sử dụng API để xử lý hàng nghìn dữ liệu thì việc thực hiện test rất cần thiết và nếu tạo bằng tay data để test thì không ai rãnh vì thế tạo dữ liệu ảo là rất cần thiết. Vậy việc đầu tiên sau khi có Database test thì chúng ta sẽ “Dummy Data” hay tạo dữ liệu ảo và tên gọi của việc này là Database seeding. Xem thêm Việc làm database hấp dẫn trên Station D Đối tượng dữ liệu nào nên sử dụng dữ liệu ảo? Thường là mọi dữ liệu cần đúng kiểu và cấu trúc dữ liệu mà dữ liệu đó cần sự bảo mật thông tin. Ví dụ: Người dùng Địa điểm Số điện thoại Email Credit Card,… Làm thế nào để tạo Seeder? Công cụ Faker Source code: Link Github composer require fzaninotto / faker Copy Cách sử dụng name ; / / Tạo dữ liệu ảo Địa ch ỉ echo $ faker - > address ; / / Tạo dữ liệu ảo Đoạn văn echo $ faker - > text ; / / Nếu muốn tạo nhiều dữ liệu mẫu cùng lúc thì để trong vòng For nhé for ( $ i = 0 ; $i < 10; $i++) { echo $ faker - > name, "n" ; } Copy Sample code với Laravel Framework insert( [ 'name' = > $ faker - > name, 'email' = > $ faker - > email, 'password' = > bcrypt( 'secret' ), ] ) ; } } } Copy Kết quả: Faker gen? Faker gen sẽ tạo...

Viết một chatbot đơn giản với Python3
Bài viết được sự cho phép của tác giả Nguyễn Việt Hưng Chatbot là gì? Trước khi thò tay vào hì hục code, ta cần hiểu chatbot là gì đã? Chatbot là một chương trình thực hiện cuộc hội thoại qua phương pháp gửi nhận văn bản hoặc các object như hình ảnh, file, … Chú ý Chatbot không nhất thiết là phải thông minh, là phải dùng trí tuệ nhân tạo, etc … Có bao giờ sắp đến giao thừa hay một dịp mà bạn muốn nhắn tin cho nhiều người vào 12h đêm mà bạn không thể dậy được, hoặc bạn quá lười để làm một việc lặp đi lặp lại? Câu trả lời là viết một chatbot và hẹn giờ cho nó. Trải nghiệm lần đầu viết thư viện Python từ ngôn ngữ biên dịch Viết chatbot Trong bài viết này mình sử dụng 2 thư viện có sẵn trên mạng là fbchat , schedule do đó bạn cần tạo virtualenv trước tiên, sau đó dùng pip để cài 2 lib trên rồi tạo một file code python tùy ý, ở đây mình dùng chatbot.py . Đầu tiên, import những lib mình cần import logging import os import time from threading import Thread from fbchat import Client from fbchat.models import Message , ThreadType import schedule Sau đó tạo một class Bot kế thừa Client : class Bot ( Client ): Tạo 1 function trong class Bot để thực hiện gửi tin nhắn, dưới đây là code của mình: class Bot ( Client ): def do_something ( self ): #Đổi tên function cho phù hợp logging . basicConfig ( level = logging . INFO ) lst_id = [ ... ] # List chứa fb id của những người bạn muốn gửi for user_id in lst_id : self ....

Viết câu điều kiện tốt hơn trong Javascript
Bài viết được sự cho phép của tác giả Lưu Bình An Xem xét một trong những câu lệnh được sử dụng nhiều nhất trong lập trình: câu điều kiện Một trong những món ăn mà anh em lập trình chúng ta phải nhai đi nhai lại trong suốt cuộc đời, dù là bạn đang viết ngôn ngữ gì là CÂU ĐIỀU KIỆN . Nếu không khéo trong lúc nấu code , thì món ngon đó đôi khi trở thành món dỡ ẹt, người sau vào ăn không thấy ngon, chúng ta tự ăn cũng không thấy ngon. Bài này được viết trong một chiều chủ nhật đang đói bụng Điều kiện lồng vào nhau ❌ Tạm, chưa ngon let result; if(condition) { } else if(condition2) { } else { } return result; Có vẻ không vấn đề nhỉ? Nhưng thật ra nó sẽ chạy y chang khi chúng ta viết thế này ❌ Không ngon let result; if(condition) { } else { if(condition2) { } else { } } return result; Du là thế nào đi nữa, gặp lồng câu điều kiện else...if... là phải tìm cách khử liền ✅ Chuẩn cơm mẹ nấu if (condition){ } if(condition2) { } Array.includes ❌ Không ngon if ( animal == 'dog' || animal == 'cat' || animal == 'turtle') ✅ Chuẩn cơm mẹ nấu ['cat', 'dog', 'turtle'].includes(animal) hoặc ['cat', 'dog', 'turtle'].indexOf(animal) !== -1 Xem thêm các việc làm JavaScript hấp dẫn tại Station D return ❌ Không ngon const printAnimalDetails = animal => { let result; if (animal) { if (animal.type) { if (animal.name) { if (animal.gender) { result = `${animal.name} is a ${animal.gender} ${animal.type};`; } else { result = "No animal gender"; } } else { result = "No animal name"; } } else { result = "No animal type";...

Lựa chọn framework frontend nào trong thời điểm hiện tại
Bài viết được sự cho phép của tác giả Lưu Bình An Thời điểm hiện tại nếu bạn đang làm Frontend thì chắc hẳn đang sử dụng một framework nào đó trong 3 thằng này, Vue, React, và Angular. Nếu trước đây trên cả tá framework, và cả tá ví dụ về làm một ứng dụng web ToDoMVC trên github, thì cuộc chơi giờ đây đã đỡ hơn rất nhiều, khi chúng ta chỉ còn 3 lựa chọn sáng giá. Để viết một ứng dụng phức tạp, chúng ta bắt buộc phải sử dụng framework, vì nếu không có những framework như vậy, chúng ta sẽ tốn không biết bao nhiêu thời gian để đạt được kết quả cuối cùng. Chắc các bạn cũng như mình đã quá mệt mỏi với những bài viết so sánh 3 framework trên, ai ngon hơn ai, các bạn cũng nên dừng tìm kiếm câu trả lời cho câu hỏi “Top 10 framework nên xài trong năm 2019”. Tại sao? Vì những bài viết này đa phần sẽ tập trung vào đếm số lượng sao trên Github, số lượng tải về từ NPM, số câu hỏi liên quan trên Stack Overflow. Những con số thống kê vô hồn này chỉ có tác dụng trong những trường hợp cụ thể, như đi quảng bá về mức độ phủ rộng của những framework này. Nếu bạn là dân kỹ thuật và nhìn nhận ở góc độ kỹ thuật, phán xét những framework này ở góc độ kỹ thuật chứ không thể căn cứ trên số lượt view và download Kỹ thuật quyết định bên trong của từng framework là gì, đâu là sự khác nhau thực sự của từng framework Mục tiêu cuối cùng của các framework đều là để giúp chúng ta viết ứng dụng...

Phân biệt giữa Java ME, Java SE và Java EE
Bài viết được sự cho phép của tác giả Trần Hữu Cương Java ME/SE/EE là ba phiên bản khác nhau được xây dựng dựa trên nền tảng Java. Java SE(Java Platform, Standard Edition) Java SE còn được gọi là Java Core , đây là phiên bản chuẩn và cơ bản của Java, được dùng làm nền tảng cho các phiên bản khác. Chứa các API chung (như java.lang, java.util... ) và nhiều các API đặc biệt khác. Bao gồm tất cả các tính năng, đặc trưng cơ bản của ngôn ngữ Java như biến, kiểu dữ liệu nguyên thủy, Arrays, Streams, Strings, Java Database Connectivity (JDBC)… Tính năng nổi tiếng nhất của Java là JVM cũng chỉ được xây dựng cho phiên bản này. Java SE được sử dụng với mục đích chính là để để tạo các ứng dụng cho môi trường Desktop. Top 10 câu hỏi phỏng vấn Java Developer thường gặp Internationalization và Localization trong Java Java ME(Java Platform, Micro Edition) Java ME – Đây là phiên bản được sử dụng cho việc tạo các ứng dụng chạy trên các hệ thống nhúng như thiết bị mobile và các thiết bị nhỏ. Các thiết bị sử dụng Java ME thường có các hạn chế như giới hạn về khả năng xử lý, giới hạn về nguồn điện (pin), màn hình hiển thị nhỏ… Java ME còn hỗ trợ trong việc sử dụng công nghệ nén web, giúp giảm dụng lượng sử dụng (network usage) và cải thiện khả năng truy cập internet giá rẻ. Java ME sử dụng nhiều thư viện và API của Java SE và nhiều thư viện, API của riêng nó. Tham khảo việc làm Fresher Java mới nhất trên Station D Java EE(Java Platform, Enterprise Edition) Java EE là phiên bản Enterprise của...

10 Frameworks tốt nhất hiện nay cho PHP
PHP được biết đến như một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới với sự phát triển mạnh mẽ kể từ khi xuất hiện lần đầu tiên dưới dạng 1 đoạn ngắn trong tập tin HTML. Trong thời gian này, giới lập trình viên đã bắt đầu xuất hiện nhu cầu xây dựng những websites và webapps với độ phức tạp nhất định. Điều đó đồng nghĩa với việc sẽ tốn rất nhiều thời gian cũng như công sức để hoàn tất sản phẩm từ lúc nó chỉ còn là ý tưởng. Những framework của PHP cung cấp cho các developer một giải pháp tương đối để tạo ra một hướng đi tự nhiên hơn. Trong bài viết này, chúng tôi đã cẩn thận chọn ra 10 framework cho PHP phổ biến nhất, với khả năng mạnh mẽ giúp việc phát triển Backend web trở nên thuận lợi và hợp lý hơn. Lý do nên dùng Framework PHP Đầu tiên, chúng ta hãy điểm qua những lí do quan trọng nhất mà phần lớn các developer thích sử dụng framework PHP, và cách mà những framework này tôi ưu hóa quá trình phát triển sản phẩm. Tăng tốc quá trình phát triển. Tổ chức, sắp xếp, duy trì và tái sử dụng code. Cho phép sản phẩm của bạn phát triển từng ngày, bởi những web apps chạy trên framework đều có khả năng mở rộng. Giúp bạn giảm bớt căng thẳng về vấn đề an ninh của site. Đảm bảo tính logic và khả năng trình bày nhờ đi theo khuôn mẫu MVC (Model-View-Controller) 1. Laravel Mặc dù Laravel là framework PHP mới (tung ra năm 2011), tuy nhiên theo khảo sát online mới đây của Sitepoint thì Laravel là framework được sử dụng...

Một số lệnh console hữu ích khi debug website
Bài viết được sự cho phép của tác giả Tino Phạm Thông thường bạn dùng để hiển thị bất kỳ thông tin gì cần xem. Tuy nhiên có những cách hiệu quả hơn giúp bạn dễ dàng hơn trong việc xem thông tin của từng loại dữ liệu cũng như kiểm tra performance của các functions mà bạn viết. Console Javascript quá kinh khủng Console không chỉ có phương thức log! console.dir() Hiển thị dữ liệu theo dạng cây phân cấp, bạn có thể tương tác để xem các thuộc tính bên trong. console.table() Một hàm rất hay mà bạn có lẽ sẽ sử dụng thường xuyên là console.table (). Như tên gọi của nó, hàm này cho phép hiển thị dữ liệu dưới dạng bảng. Không chỉ dùng cho các dữ liệu dạng bảng, console.table () còn có thể đọc các thuộc tính của đối tượng phức tạp để hiển thị. Tất nhiên không thể thiếu, bạn có thể nhấn vào tiêu đề của một cột để table sắp xếp dữ liệu theo cột đó. Ngoài ra, nếu chỉ cần xem một vài cột, bạn có thể thêm tùy chọn tên các cột cần hiển thị: Bài viết gốc được đăng tải tại thangphampt.wordpress.com Có thể bạn quan tâm: Senior Frontend thì dùng Chrome DevTool như thế nào? Bí kíp tìm dự án cho anh em mới vào nghề freelancer thiết kế website wordpress Debug project Yii2 với XDebug và PHPStorm IDE Xem thêm Việc làm Developer hấp dẫn trên Station D

Tổng hợp 50+ thẻ HTML phổ biến nhất
Bài viết được sự cho phép của BQT Kinh nghiệm lập trình HTML là ngôn ngữ đánh dấu được sử dụng để tạo cấu trúc và định dạng cho các trang web. Đối với cả những lập trình viên mới học lẫn những người chuyên nghiệp, việc hiểu rõ và sử dụng thành thạo các thẻ HTML cơ bản không chỉ giúp xây dựng trang web một cách hiệu quả mà còn hỗ trợ đắc lực trong việc tối ưu hóa công cụ tìm kiếm (SEO). Dưới đây là tổng hợp các thẻ HTML quan trọng và thông dụng, cùng ví dụ minh họa chi tiết. Xem thêm các việc làm HTML lương cao trên Station D Khái quát lại về HTML HTML là gì? HTML làm từ viết tắt của cụm tiếng Anh HyperText Markup Language, có nghĩa là “ngôn ngữ đánh dấu siêu văn bản”. Đây là một dạng ngôn ngữ đặc biệt, khác với các ngôn ngữ ký tự hay ngôn ngữ kịch bản thi hành tác vụ. HTML là ngôn ngữ được thiết kế với mục đích tạo lập trang web từ các nguồn thông tin có trên World Wide Web – mạng lưới toàn cầu. Chúng có khả năng giúp người dùng tạo và cấu trúc thành phần trong trang web hoặc có thể ứng dụng phân chia đoạn văn hay heading, links, blockquotes… HTML còn được biết đến như một ứng dụng đơn giản của hệ thống chức và gắn thẻ yếu tố của một tài liệu. Đồng thời chúng còn được sử dụng trong các tổ chức cần yêu cầu xuất bản phức tạp. Và việc sử dụng HTML là một trong những kỹ năng cơ bản của người phát triển website. Làm thế nào để tạo ra nội dung trang web bằng...

Rx-MVVM(1): Cấu trúc project – lib manager
Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Vậy là bạn đã đọc qua về phần detail của khóa học rồi đúng không? Nếu chưa hãy đọc nó tại menu lập trình IOS nhé. Dù sao, chúng ta nên nhắc lại mục đích của hàng loạt bài viết liên quan tới Rx và MVVM trước. Để chúng ta biết chúng ta sẽ đạt được gì sau khi học. 12 Packages và Libraries của Go cực kì mạnh mẽ mà bạn cần phải biết 67 tools, libraries và resources giúp Web developer "dễ thở" hơn Cây thư mục project Hãy xem tác giả đã bố trí như nào. Thư mục Application Thư mục Common Thư mục Configs Thư mục Extensions Thư mục Managers Thư mục Models Thư mục Modules Thư mục Networking Thư mục Third Party Thư mục Resources Vậy là có tổng 10 thư mục. Chúng ta hãy tìm hiểu lần lượt từng thư mục nhé 1. Thư mục Application Thư mục này có 3 file: File AppDelegate.swift: Hãy để ý dòng code này: let libsManager = LibsManager.shared Ở đây tác giả tạo 1 singleton có tên là LibsManager. Nếu ai chưa biết về singleton, thì nôm na nó là 1 lớp được khởi tạo duy nhất 1 lần, và cho dù có gọi hàm tạo đi bao lần nữa nó cũng chỉ tạo có 1 lần thôi. Người ta hay dùng singleton cho những thứ chỉ được tạo 1 lần duy nhất, như quản lý AppDelegate, loading app… Ai chưa hiểu hãy giành 30 phút để google singleton là gì? Vậy lớp LibsManager dùng để làm gì? Chúng ta hãy vào class này xem nhé: Để ý đoạn code này: if UserDefaults.standard.object(forKey: Configs.UserDefaultsKeys.bannersEnabled) == nil { bannersEnabled.accept(true) } lúc mới chạy app lần đầu Bạn...

TypeScript thoáng qua
Khi mình viết bài này rõ ràng thì TypeScript không còn là một thư viện đang nổi lên nữa. mà nó đã là thư viện đứng đầu về strong typing cho JavaScript . Hiện giờ nó và Flow của Facebook là 2 thư viện nổi tiếng nhất về strong typing cho Javascript. Nhưng có lẽ Microsoft với kinh nghiệm cùng ngôn ngữ ‘C#’,cái ngôn ngữ mà với mình nó là một ngôn ngữ đẹp, mạnh mẽ và khá chặt chẽ đã đem lại thành công cho TypeScript . Hiện nay rất nhiều thư viện đã và đang được viết mới hoặc viết lại bằng TypeScript như Angular , Vue 3 , Aurelia … Mặc dù Javascript là một ecosystem thay đổi chóng mặt, các chuẩn thay đổi liên tục, sóng sau sô sóng trước, cộng đồng hoạt động rất sôi nổi, rất nhiều concept được liên tục đưa ra, cũng như rất nhiều thư viên hỗ trợ cho nó nhưng tương lai là của nó vẫn là bất định 😅, thật sự tiếp cận và làm việc với Javascript khá là hứng thú cũng như tương đối là dễ dàng, nhưng cũng đã có những dự án đi xa được với nó, cũng có những anh tài đã dừng lại khi project thực sự trở nên quá lớn (nguồn: đọc tùm tà la bài của người ta). Có nghĩa dạo đầu thì dễ, còn sau sau thì khá là khó. Nhưng có lẽ với TypeSript thì Javascript ít nhất cũng đã tốt hơn khá khá là nhiều. Nhưng TypeScript cuối cùng cũng chỉ là một thư viện superset của Javascript nên bài này sẽ điểm qua các syntax của TypeScript cũng như giải thích đơn giản đi kèm theo kinh nghiệm của bản thân mình. Các bạn có thể tham...