Lập Trình
Tổng hợp các thông tin, kinh nghiệm hữu ích và mới nhất về lập trình cần học gì, phỏng vấn, mức lương trong ngành IT như thế nào, tìm hiểu ngay!
398 bài viết
![[Python cơ bản thường dùng trong công việc] Phần 2 : Cú pháp thông dụng](https://img-cdn.stationd.blog/w800-h600/featured/python-syntax-cu-phap-thong-dung-218x150_20250424021719_be136437.png)
[Python cơ bản thường dùng trong công việc] Phần 2 : Cú pháp thông dụng
2.1. Biến số Khai báo biến bằng một câu lệnh gán. a = 1 bạn có thể gán nhiều loại giá trị (số, chuỗi) cho một biến. a = 1 a = 'Hello World' = [1, 2, 3] = [1.2, 'Hello', 'W', 2] 2.2. Toán tử số học Python cũng hỗ trợ một số toán tử toán học thông dụng như: + phép cộng - phép trừ * phép nhân / phép chia % phép chia lấy dư (modulo) Việc làm lập trình python lương up to 20M 2.3. Boolean và Toán tử logic Giá trị đúng và sai tương ứng là True và False . not để đảo giá trị. and phép tính logic và (AND). or phép tính logic hoặc (OR). Một số phép so sánh thông thường như < (bé hơn), <= (bé hơn hoặc bằng), > (lớn hơn), >= (lớn hơn hoặc bằng), == (bằng), != (khác) để so sánh 2 giá trị. Hỗ trợ dạng so sánh kép như: x = 2 1 < x < 3 # True 10 < x < 20 # False 3 > x <= 2 # True 2 == x < 4 # True Toán tử kiểm tra phần tử trong một tập hợp: – in kiểm tra có tồn tại – not in kiểm không tồn tại 'good' in 'this is a greate example' # False 'good' not in 'this is a greate example' # True 2.4. Cấu trúc điều khiển Python hỗ trợ một số cấu trúc điều khiển thông dụng. Hầu hết các cấu trúc điều khiển đều dựa vào thụt đầu dòng (indention) để tạo thành một block xử lý, thay vì sử dụng { … } như các ngôn ngữ khác (PHP, Javascript) 2.4.1. If…elif…else if condition1 : indentedStatementBlockForTrueCondition1 elif condition2 : indentedStatementBlockForFirstTrueCondition2 elif...
![[Python cơ bản thường dùng trong công việc] Phần 4 : Class](https://img-cdn.stationd.blog/w800-h600/featured/class-trong-python-218x150_20250424021713_6f3f3170.png)
[Python cơ bản thường dùng trong công việc] Phần 4 : Class
Lập trình hướng đối tượng là một khái niệm không thể thiếu trong hầu hết các ngôn ngữ thông dụng hiện nay. Python cũng hỗ trợ lập trình hướng đối tượng với các khái niệm Class, Object, Override… Tìm việc làm python lương cao cho bạn 4.1. Khai báo một Class Khai báo một class theo cú pháp sau: class myclass([parentclass]): assignments def __init__(self): statements def method(): statements def method2(): statements Ví dụ một class: class animal(): name = '' age = 0 def __init__(self, name = '', age = 0): self.name = name self.age = age def show(self): print 'My name is ', self.name def run(self): print 'Animal is running...' def go(self): print 'Animal is going...' class dog(animal): def run(self): print 'Dog is running...' myanimal = animal() myanimal.show() myanimal.run() myanimal.go() mydog = dog('Lucy') mydog.show() mydog.run() mydog.go() Sau khi thực thi sẽ cho ra kết quả: My Name is Animal is running... Animal is going... My Name is Lucy Dog is running... Animal is going... Trong ví dụ trên thì: animal và dog là 2 class. Trong đó class dog kế thừa từ class cha là class animal nên sẽ có các phương thức của class animal . name và age là thuộc tính (Attribute) của class. Phương thức __init__(self) là hàm tạo của class. Hàm này sẽ được gọi mỗi khi có một object mới được tạo (từ một class), gọi là quá trình tạo instance. show() , run() và go() là 2 phương thức của 2 class. Khi khai báo phương thức có kèm tham số self dùng để truy cập ngược lại object đang gọi. Lúc gọi phương thức thì không cần truyền tham số này. Phương thức run() của class dog gọi là override của phương thức run() của class animal . << Phần 3: phân...

5 tính năng mới trong PHP 7 cần phải biết
Sau khi PHP 5 ra mắt vào năm 2004 thì từ đó đến 2015 không hề có một phiên bản nâng cấp lớn nào của PHP, chủ yếu là các bản vá lỗi, cải thiện hiệu suất và một vài tính năng mới mới như lập trình hướng đống tượng, … cộng đồng PHP luôn luôn mong chờ có một cái gì đó thật sự đổi mới đối với PHP và vào cuối tháng 12 năm 2015 PHP 7 đã ra mắt chính thức với hàng loạt tính năng mới sau một thời gian dài beta (PHPNG). Trong bài này mình sẽ nói về 5 điểm mới trong PHP 7 mà theo mình là rất đáng giá. 1. PHP 7 cho tốc độ nhanh hơn 2 lần PHP 5 Tốc độ trong PHP 7 được cải thiện đến đáng kinh ngạc khi nó nhanh hơn PHP 5 ít nhất 2 lần, nếu bạn biết tối ưu thì nó còn nhanh hơn nữa, có thể lên đến 3-4 lần. Bảng benmark tốc độ dưới đây sẽ cho bạn thấy điều đó, khi test thử trên 2 CMS nổi tiếng đó là Drupal và WordPress, chưa cần tối ưu gì tốc độ cũng đã nhanh hơn 2 lần, đặc biệt hiện có 25% các trang web đang chạy trên WordPress, đây là điều tuyệt vời cho tất cả mọi người. 2. PHP 7 cho phép khai báo kiểu của biến Tính năng này trong PHP7 gọi là Tyle Declarations, nó cho phép khai báo kiểu của biến thay vì để PHP tự động quyết định kiểu như trước kia. Trước PHP 7 nó vẫn bị chê là ngôn ngữ không chặt chẽ, weak typed language nhưng với tính năng này bạn có thể sử dụng để ràng buộc biến vào một kiểu...

HTTP là gì? Các khía cạnh cơ bản của HTTP
Liệu HTTP là gì? Có lẽ điều quen thuộc nhất khi chúng ta bắt gặp khi sử dụng trình duyệt để truy cập Internet chính là HTTP. Chắc các bạn cũng đã biết khi thấy 1 địa chỉ web đều bắt đầu với http:// hay https://. Hôm nay qua bài viết này, Station D sẽ giới thiệu cho các bạn về những điều cơ bản nhất của HTTP nha. HTTP là gì? HTTP là từ viết tắt của Hyper Text Transfer Protocol nghĩa là Giao thức Truyền tải Siêu Văn Bản được sử dụng trong www . HTTP là 1 giao thức cho phép tìm nạp tài nguyên, chẳng hạn như HTML doc. Nó là nền tảng của bất kỳ sự trao đổi dữ liệu nào trên Web và cũng là giao thức giữa client (thường là các trình duyệt hay bất kỳ loại thiết bị, chương trình nào) và server (thường là các máy tính trên đám mây). 1 doc hoàn chỉnh được tái tạo từ các doc con khác nhau được fetch – tìm nạp, chẳng hạn như văn bản, mô tả layout, hình ảnh, video, script v..v.. HTTP status code là gì? Danh sách đầy đủ HTTP status code Http Methods: thất tinh bắc đẩu trận Ảnh mô tả việc fetching 1 trang web. Nguồn: Mozilla Được thiết kế lần đầu từ những năm 90, HTTP là 1 giao thức có thể mở rộng vốn đã phát triển dần theo thời gian. 1 giao thức lớp ứng dụng được gửi thông qua nền tảng TCP/IP , hay qua 1 kết nối TCP được mã hóa TLS. Mặc dù về mặt lý thuyết, bất kỳ giao thức truyền tải đáng tin cậy nào cũng có thể được sử dụng. Nhờ vào khả năng mở rộng của nó, HTTP...

9 CSS animation mới “mãn nhãn” cho các project
Sau cả ngàn project thì chắc chắn anh em cũng muốn có một cái gì đó nhìn cho đẹp đẹp, cho mát mắt. Level sử dụng phức tạp đi kèm với load animation đẹp thì đỉnh không còn gì bằng! Giới thiệu cho anh em source 9 bộ CSS animation “sịn sò” để apply vào product của mình. Một số animation bên dưới interactive được, chỉ cần rà chuột và click vào nhé. 1. Loading indicator “sịn” (chỉ trên CSS) See the Pen Oddly satisfying loading indicator (CSS only) by eight ( @eight ) on CodePen . 2. CSS animation ảo See the Pen Oddly satisfying CSS Only animation by eight ( @eight ) on CodePen . 3. “ Mờ mờ nhân ảnh”… 4. Loading style Lửa trại See the Pen campfire by ByteKnight ( @byteknight ) on CodePen . 5. Style pastel dots See the Pen growing pastel dots by Rachel Smith ( @rachsmith ) on CodePen . 6. Lines cầu vồng See the Pen Rainbow lines by ByteKnight ( @byteknight ) on CodePen . 7. Style thôi miên See the Pen Mesmerizing by xposedbones ( @xposedbones ) on CodePen . 8. Animation Test See the Pen Animation Test – Creeper Lines animated by xposedbones ( @xposedbones ) on CodePen . 9. Style “Musical background” theo rà chuột See the Pen Musical background on mousemove by ByteKnight ( @byteknight ) on CodePen . Hi vọng rằng tất cả các animation “độc” trên sẽ tiếp thêm động lực cho anh em là project. Sáng tạo là một phần rất quan trong trong công việc của chúng ta và nó cần một ít thời gian mỗi ngày để phát triển thêm nữa!💆 Responsive HTML bằng một dòng CSS Một số đơn vị CSS có thể bạn...

So sánh đối tượng với Comparable trong Java
Java là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay và có rất nhiều tính năng hữu ích. Trong bài viết này, hãy cùng Station D tìm hiểu về giao diện Comparable trong Java và cách sử dụng nó để so sánh các đối tượng với nhau. Tìm hiểu về Comparable trong Java Comparable là một giao diện trong Java cung cấp khả năng so sánh các đối tượng với nhau. Nó được sử dụng để so sánh các đối tượng dựa trên một thứ tự được chỉ định. Bằng cách triển khai giao diện Comparable, bạn có thể so sánh các đối tượng của một lớp được xác định trước với nhau. Điểm khác biệt giữa Comparable và Comparator trong Java là Comparable được sử dụng để so sánh các đối tượng của cùng một lớp, trong khi Comparator được sử dụng để so sánh các đối tượng của các lớp khác nhau. Điều này có nghĩa là khi sử dụng Comparable, bạn chỉ có thể so sánh các đối tượng của lớp Student với nhau, trong khi khi sử dụng Comparator, bạn có thể so sánh các đối tượng của lớp Student với các đối tượng của lớp khác như Teacher hay Employee. Cách sử dụng Comparable trong Java Để sử dụng Comparable trong Java, bạn cần thực hiện các bước sau: Triển khai giao diện Comparable: Trong lớp của bạn, triển khai giao diện Comparable trong đó ClassName là tên lớp của bạn. Ghi đè phương thức compareTo(): Cung cấp logic so sánh trong phương thức compareTo(). Phương thức này phải trả về một số nguyên âm, dương hoặc không âm, biểu thị thứ tự của đối tượng hiện tại so với tham số đã truyền. Java tuyển dụng lương cao, đãi ngộ...

Sử dụng List để quản lý dữ liệu trong Java
Trong lập trình, việc quản lý dữ liệu là một phần quan trọng và không thể thiếu. Và trong Java , List là một trong những cấu trúc dữ liệu quan trọng nhất để lưu trữ và quản lý các bộ sưu tập các phần tử cùng kiểu dữ liệu. Trong bài viết này, hãy cùng Station D tìm hiểu về cách sử dụng List trong Java và các tính năng quan trọng của nó. Cách sử dụng List trong Java List là một trong những cấu trúc dữ liệu phổ biến nhất trong Java và được sử dụng rộng rãi trong các ứng dụng thực tế. Nó cung cấp cho chúng ta một cách tiện lợi để lưu trữ và quản lý các phần tử theo thứ tự và dưới đây là một số cách chúng ta có thể sử dụng List trong Java: Lưu trữ danh sách các sản phẩm trong một cửa hàng trực tuyến. Quản lý danh sách các khách hàng của một công ty. Lưu trữ thông tin về các bài viết trên một trang blog. Quản lý danh sách các sinh viên trong một lớp học. Với những ví dụ trên, chúng ta có thể thấy rằng List là một công cụ hữu ích để quản lý các bộ sưu tập dữ liệu trong nhiều lĩnh vực khác nhau. Tìm hiểu về interface List trong Java Trong lập trình Java , List được biểu diễn bằng giao diện java.util.List. Điều này có nghĩa là chúng ta không thể tạo một đối tượng List trực tiếp mà phải sử dụng một trong hai triển khai của giao diện này: ArrayList hoặc LinkedList. Giao diện List cung cấp một số phương thức để thao tác với các phần tử trong danh sách. Chúng ta sẽ tìm...

Python cơ bản cho ứng dụng trong công việc
Hiện nay, Python là một trong những ngôn ngữ lập trình đang được chú ý bởi tính đa dạng về ứng dụng, thư viện phong phú và cộng đồng đông đảo. Hiện tại python có thể ứng dụng vào sử lý dữ liệu lớn (BigData), Machine Learning hay làm web… Series Python cơ bản được tác giả Võ Duy Tuấn ghi chép trong quá trình dùng python để xử lý những tác vụ trong công việc mà Php đáp ứng khá chậm. Vì vậy đôi khi về phần back end, dùng python sẽ đem lại sự tối ưu perfomance, sách được chia làm 15 chương, mỗi chương sẽ trình bày 1 khía cạnh của Python mà tác giả đã gặp, sẽ rất hữu ích khi bạn biết các kiến thức này trong việc áp dụng Python vào công việc trong tương lai. Tuyển dụng python nhiều ngành nghề hot cho bạn Chapter 1 Python là một ngôn ngữ phiên dịch (Interpreter Language), tức là không cần build thành file thực thi mà chạy trực tiếp như PHP. Hiện tại Python có 2 nhánh chính là 2.x và 3.x. Ở nhánh 2.x đã dừng phát triển và đang đứng ở phiên bản 2.7. Nhánh Python 3.x thì vẫn đang được tiếp tục phát triển. Website chính thức của Python: www.python.org Module trong Python Cài đặt Python hỗ trợ hầu hết các nền tảng và rất dễ tìm thấy sẵn trên một số hệ điều hành như Mac OS… Để biết là hệ thống của bạn đã cài Python chưa, có thể vào màn hình command line và gõ: $ python --version Nếu đã cài đặt python thì sẽ hiển thị thông tin phiên bản python. Nếu báo lỗi thì đồng nghĩa với bạn chưa cài đặt Python. Có thể tham khảo...

Những điểm mới của Java 8 (phần 5: Tham chiếu phương thức)
Bài viết được sự cho phép của smartjob.vn Từ phiên bản 8, lập trình viên Java có thể áp dụng kỹ thuật Tham chiếu phương thức (method reference). Trong những đoạn mã nguồn Java , khi bạn nhìn thấy ký hiệu :: (hai dấu hai chấm) thì đó chính là tham chiếu phương thức. 3 dạng của tham chiếu phương thức: – Phương thức tĩnh (static method) – Phương thức khởi tạo đối tượng (instance methods) – Constructor (“Constructor”: hàm tạo về bản chất cũng là phương thức) package vn.smartJob.java8features; import java.util.List; import java.util.ArrayList; public class Example1 { public static void main(String args[]) { List employeeList = new ArrayList(); employeeList.add("Bùi Đăng Trường"); employeeList.add("Nguyễn Tiến Mạnh"); employeeList.add("Nguyễn Văn Bình"); employeeList.add("Nguyễn Anh Dũng"); employeeList.add("Đỗ Văn Cường"); employeeList.forEach(System.out::println); } } // Kết quả: //run: //Bùi Đăng Trường //Nguyễn Tiến Mạnh //Nguyễn Văn Bình //Nguyễn Anh Dũng //Đỗ Văn Cường //BUILD SUCCESSFUL (total time: 0 seconds) Xem thêm các chương trình tuyển dụng Java hấp dẫn trên Station D Trong ví dụ trên, tại dòng 15, đã sử dụng kỹ thuật tham chiếu phương thức. Tham chiếu phương thức có thể kết hợp với Streams API giúp việc tăng tính linh hoạt (như chúng tôi đã trình bày trong phần 2). package vn.smartJob.java8features; import java.util.function.Supplier; public class Example2 { public static void main(String[] args) { String s = "SmartJob - Mạng tuyển dụng hàng đầu Việt Nam"; printResult(s::length); } public static void printResult(Supplier<Integer> supplier) { System.out.println(supplier.get()); } } // Kết quả: // 44 Download mã nguồn từ server SmartJob: Java8_method_reference hoặc clone/fork từ repository Github: https://github.com/SmartJobVN/java8 Đỗ Như Vý – Bài viết gốc được đăng tải tại smartjob.vn Có thể bạn quan tâm: Những điểm mới của Java 8 (phần 4: DateTime API) Những điểm mới của Java 8 (phần 6: Nashorn engine và...

11 cách tăng tốc nhanh cho WordPress bằng file wp-conig.php
Việc tối ưu lại cơ sở dữ liệu luôn là một trong các việc quan trọng nhất cần phải làm khi một website đã có quá nhiều dữ liệu và có quá nhiều lượt truy cập. Bởi vì bạn biết rằng website càng có nhiều lượt truy cập thì website sẽ càng gửi nhiều truy vấn (query) về database để lấy dữ liệu ra (đa phần là truy vấn SELECT ). Mà đã nhiều truy vấn rồi mà dữ liệu lại lớn, chưa được sắp xếp gọn gàng thì nó lại càng mất thêm thời gian để xử lý các truy vấn đó. Ngoài việc dọn dẹp database , chúng ta còn một cách khác nhưng cũng rất quan trọng đó là tối ưu lại bảng wp_options của database. Bảng này sẽ chứa toàn bộ các thiết lập bên trong website, bao gồm các thiết lập theme và plugin. Điều đó có nghĩa là bạn đã từng cài nhiều plugin và theme vào website thì bảng này sẽ rất nặng mặc dù bạn đã tắt các plugin hoặc theme đó đi vì đa phần các plugin không hỗ trợ “làm sạch” chiến trường khi ta tắt đi để có thể sử dụng lại sau này. Xem ngay tin tuyển dụng PHP lương cao trên Station D wp-config.php là một tập tin PHP nằm trong thư mục chứa website WordPress của bạn, bạn có thể tìm thấy file wp-config.php theo như danh sách như hình 1 bên dưới đây : Station D Techtalk #54: PHP & PHP7 – Secrets behind Optimization *Hồ Chí Minh: 18h00 – 21h00 thứ 5, ngày 12/01/2017 [HCM] (Senior) PHP Developers – Tiki.vn | From $800 — Tiki Corp [GẤP] Graphic Designer (hoặc Thực tập Full-time) | Lương cạnh tranh — Applancer JSC [HN] Software Engineers (AngularJS/...

Thiết lập môi trường phát triển Laravel/PHP tốc độ ánh sáng trên Windows 10 với Windows Subsystem for Linux (WSL)
Bài viết được sự cho phép của tác giả Nguyễn Trần Chung WSL là gì WSL (Windows Subsystem for Linux) là một tính năng có trên Windows x64 (từ Windows 10, bản 1607 và trên Windows Server 2019), nó cho phép chạy hệ điều hành Linux (GNU/Linux) trên Windows. Với WSL bạn có thể chạy các lệnh, các ứng dụng trực tiếp từ dòng lệnh Windows mà không phải bận tâm về việc tạo / quản lý máy ảo như trước đây. Cụ thể, một số lưu ý mà Microsoft liệt kê có thể làm với WSL Bạn có thể làm gì với WSL Chạy được từ dòng lệnh các lệnh linux như ls, grep, sed … hoặc bất kỳ chương trình nhị phân 64 bit (ELF-64) nào của Linux Chạy được các công cụ như: vim, emacs …; các ngôn ngữ lập trình như NodeJS, JavaScript, C/C++, C# …, các dịch vụ như PHP, Nginx, MySQL, Apache, … Có thể thực hiện cài đặt các gói từ trình quản lý gói của Distro đó (như lệnh apt trên Ubuntu, yum trên CentOS) Từ Windows có thể chạy các ứng dụng Linux thông qua command line Từ Linux có thể gọi ứng dụng của Windows Yêu cầu WSL1: Windows 10 1607 (window + R -> winver) WSL2: Kích hoạt chế độ hỗ trợ ảo hóa của CPU (CPU Virtualization), bạn kích hoạt bằng cách truy cập vào BIOS của máy, tùy loại mainboard mà nơi kích hoạt khác nhau Việc làm Laravel hấp dẫn trong tháng lương 2000USD Kích hoạt Windows Subsystem Linux dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart Mở windows store lên cài đặt Ubuntu 18.04 Khởi động sau khi cài đặt Login vào WSL với user mặc định là root ubuntu1804 config --default-user root Truy cập vào WSL...

Tính trừu tượng (Abstraction) trong Java
Trong lập trình hướng đối tượng, tính trừu tượng và tính kế thừa là hai khái niệm quan trọng và được sử dụng rộng rãi trong ngôn ngữ lập trình java . Tuy nhiên, nhiều người vẫn còn băn khoăn về sự khác biệt giữa hai khái niệm này và cách sử dụng chúng trong việc thiết kế và triển khai các ứng dụng. Trong bài viết này, hãy cùng Station D tìm hiểu về tính trừu tượng và tính kế thừa trong Java, từ đó có thể hiểu rõ hơn về sự khác biệt giữa hai khái niệm này và áp dụng chúng một cách hiệu quả nhé! Khái niệm về tính trừu tượng trong Java Trong lập trình hướng đối tượng, tính trừu tượng là một khái niệm quan trọng giúp mô hình hóa thế giới thực bằng cách ẩn đi các chi tiết triển khai bên trong của một đối tượng, chỉ tập trung vào hành vi và giao diện bên ngoài của đối tượng đó. Tính trừu tượng cho phép chúng ta xác định các lớp trừu tượng, các phương thức trừu tượng và các biến trừu tượng trong mã của chúng ta. Trong Java, tính trừu tượng được thể hiện thông qua từ khóa abstract. Một lớp trừu tượng là một lớp không thể khởi tạo; chỉ có thể được sử dụng để tạo các lớp con. Các phương thức trừu tượng là các phương thức không có phần thân, chỉ có phần khai báo, các phương thức trừu tượng phải được ghi đè trong các lớp con. Biến trừu tượng là các biến chưa được gán giá trị ban đầu và giá trị của chúng phải được gán trong các lớp con. Các đặc điểm của tính trừu tượng trong Java Để hiểu rõ...