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

Chuyển đổi hệ cơ số trong Python
Bài viết được sự cho phép của ucode.vn Chuyển đối hệ cơ số 10 sang hệ cơ số B Cách chuyển đổi số nguyên N từ hệ cơ số 10 sang hệ cơ số 2, trong ảnh dưới đây là ví dụ chuyển số 15 và số 6 sang hệ cơ số 2: Gán m = 15. Put phần dư m chia cho 2 (m % 2) vào stack. Gán m = m / 2. Nếu m > 0 quay lại bước 2. Đảo ngược lại stack ta được số cần tính. Xem thêm nhiều việc làm python hấp dẫn trên Station D Ví dụ chuyển đối hệ cơ số 10 sang hệ cơ số B Giả sử hệ cơ số cần chuyển là 2 <= B <= 16. Số đại điện cho hệ cơ số B > 10 là A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Chúng ta tạo ra một chương trình như sau để chuyển đổi hệ cơ số trong python: """ # Chuyển đổi số nguyên n sang hệ cơ số b # # @author viettuts.vn # @param n: so nguyen # @param b: he co so # @return he co so b """ def convert_number ( n, b ): if (n < 0 or b < 2 or b > 16 ): return "" ; sb = "" ; m = 0 ; remainder = n; while (remainder > 0 ): if (b > 10 ): m = remainder % b; if (m >= 10 ): sb = sb + str ( chr ( 55 + m)); else : sb = sb + str (m); else : sb = sb + str (remainder % b); remainder = int (remainder / b); return "" .join(...

Từ khóa super trong Java: Các ví dụ minh họa chi tiết
Trong ngôn ngữ lập trình java , từ khóa super đóng một vai trò quan trọng trong việc làm việc với các lớp và mối quan hệ kế thừa. Từ khóa này cho phép chúng ta truy cập đến các thành viên (biến và phương thức) của lớp cha từ lớp con. Trong bài viết này, Station D sẽ cùng bạn tìm hiểu về cách sử dụng từ khóa super trong Java và tại sao nó lại quan trọng đối với tính kế thừa. 1. Mở đầu Khi bạn tạo ra một lớp con từ một lớp cha, lớp con sẽ kế thừa tất cả các thuộc tính và phương thức của lớp cha. Điều này có nghĩa là bạn có thể sử dụng các thành viên này trong lớp con mà không cần phải định nghĩa lại chúng. Tuy nhiên, trong một số trường hợp, bạn có thể muốn truy cập đến các thành viên của lớp cha từ lớp con. Đây là lúc mà từ khóa super sẽ trở nên hữu ích. 2. Từ khóa super trong hàm khởi tạo Hàm khởi tạo trong Java được sử dụng để khởi tạo một đối tượng khi nó được tạo. Trong các lớp con, từ khóa super được sử dụng bên trong hàm khởi tạo để gọi đến hàm khởi tạo của lớp cha. Điều này đảm bảo rằng các thuộc tính và hành vi của lớp cha được thiết lập trước khi lớp con thực hiện khởi tạo thêm. Cú pháp cơ bản: public class LớpCon extends LớpCha { public LớpCon() { super(); // Gọi đến hàm khởi tạo mặc định của LớpCha } public LớpCon(Tham số1, Tham số2) { super(Tham số1, Tham số2); // Gọi đến hàm khởi tạo cụ thể của LớpCha } } Trong ví dụ...

Modern C++ binary RPC framework gọn nhẹ, không cần code generation
Bài viết sẽ bàn về một framework C++ RP, ko yêu cầu bước code generation để glue code. Trước khi đi vào chi tiết, hãy tìm hiểu một số tính năng cơ bản của công cụ: Mã nguồn tại https://bitbucket.org/ruifig/czrpc Đoạn mã nguồn trên vẫn chưa hoàn chỉnh. Mục tiêu của nó chỉ là để thể hiện nền tảng xây dựng framework. Hơn nữa, để rút ngắn, đoạn code là hỗn hợp của code từ repo lúc viết và custom sample code, nên có thể sẽ xảy ra lỗi. Một số đoạn trong mã nguồn (không liên quan trực tiếp đến nội dung ta đang bàn đến) sẽ chỉ được xem xét nhanh mà không quá quan tâm đến hiệu năng. Bất cứ cải tiến nào sẽ được thêm vào repo mã nguồn sau. Modern C++ (C++11/14) Yêu cầu ít nhất Visual Studio 2015. Clang/GCC cũng tạm ổn. Type-safe Framework xác định những RPC call không hợp lệ trong lúc compile , như tên RPC không rõ, số thông số sai, hoặc kiểu thông số sai. API tương đối nhỏ, không dài dòng Nhiều cách xử lý RPC reply Bộ xử lý không đồng bộ (Asynchronous handler) Futures Client có thể xác định nếu một RPC gây exception bên phía server Cho phép sử dụng (gần như) bất kỳ kiểu RPC parameter nào Giả sử nguời dùng chạy đúng hàm để xử lý kiểu parameter đó RPC hai chiều (server có thể call RPC trên client) Thông thường, client code không thể tin tưởng được, nhưng vì framework nhằm sử dụng giữa các bên uy tín, nên đây không phải là vấn đề quá lớn Không xâm nhập Một object dùng cho RPC call không cần biết bất cứ thứ gì về RPC hoặc network cả. Từ đó có thể...

Câu chuyện trước khi PHP có composer
Bài viết được sự cho phép của tác giả Phạm Bình Chào các bạn, Ngày nay khi làm việc với các PHP framework như laravel , hay với các dự án sử dụng nodejs, chúng ta thường tích hợp thư viện bên thứ 3 thông qua composer , npm hoặc yarn. Nhưng bạn có bao giờ từng hỏi “chuyện gì xảy ra trước khi thế giới này có composer, npm hay yarn” không? Nhiều bạn developer “đời mới” từ lúc học lập trình đã được làm quen với khải niệm “trình quản lý gói”, nhưng mình thì kém may mắn hơn vậy, cái thời mà mình học PHP thì composer còn chưa ra đời (composer ra đời năm 2012, còn mình thì bắt đầu học năm 2009 – 2010 gì đó). Với tư cách một “người cũ”, hôm nay mình sẽ kể cho bạn nghe chuyện gì xảy ra trước khi thế giới có trình quản lý gói composer nhé. 5 sai lầm thường thấy khi viết react component Composition là cái chi chi npm thì ra đời cùng lúc với nodejs, sau đó thì có yarn. Do vậy chỉ có composer là ra đời khá muộn so với PHP, nên trong bài viết này mình sẽ chỉ đề cập tới composer thôi nhé. Lưu ý: Bài viết này sẽ không đem đến cho bạn kiến thức về một công nghệ mới mẻ nào cả, thay vào đó chủ yếu là mình đi kể khổ. Giải thích một chút thì composer là trình quản lý các thư viện bên thứ ba của PHP, tương tự như npm của nodejs. I. DOWNLOAD BẰNG TAY EVERYTHING Vì chưa có công cụ quản lý gói, nên việc tích hợp thư viện bên thứ ba được thực hiện bằng cách: Bước 1: Lên trang...

Hướng dẫn tạo Gradle Project Java bằng dòng lệnh CMD
Bài viết được sự cho phép của tác giả Trần Hữu Cương Trong bài này mình sẽ thực hiện tạo Project Java bằng Gradle trên giao diện dòng lệnh, các bạn có thể thực hiện bằng cmd/powershell trên windows hoặc terminal trên linux. Hướng dẫn tạo Gradle Project Java bằng dòng lệnh cmd Đầu tiên tạo folder chứa Project, ví dụ mình tạo folder GradleHello sau đó di chuyển tới folder vừa tạo Để tạo project gradle ta dùng lệnh gradle init Sau khi chạy lệnh gradle init , nó sẽ hiện ra danh sách các loại project. Để tạo project Java thì các bạn chọn java-application Các câu hỏi sau đó thì các bạn có thể bỏ qua (để nó chọn mặc định – default) bằng cách ấn enter Kết quả project GradleHello được tạo ra như sau: Trong đó: folder gradle dùng để wrapper các file folder src/main/java chứa mã nguồn java folder src/test/java là folder chứa các file test java Tìm Java job lương cao trên Station D Các file khác: file settings.gradle dùng để thiết lập các thông tin của project như tên project /* * This file was generated by the Gradle 'init' task. * * The settings file is used to specify which projects to include in your build. * * Detailed information about configuring a multi-project build in Gradle can be found * in the user manual at https://docs.gradle.org/5.4/userguide/multi_project_builds.html */ rootProject. name = 'GradleHello' file build.gradle chứa thông tin cấu hình gradle như plugin, repository, dependency… Ví dụ mainClassName = 'GradleHello.App' tức là khi chạy project nó sẽ chạy file App.java trong package GradleHello plugins { // Apply the java plugin to add support for Java id 'java' // Apply the application plugin to add support for building an application id 'application' }...

Chạy Python web app
Bài viết được sự cho phép của tác giả Nguyễn Việt Hưng Làm một trang web bằng Python là việc cực kỳ đơn giản, 5-7 dòng code với Flask framework , bạn đã sẵn sàng để khoe website “hello world” với cả trái đất này. from flask import Flask app = Flask ( __name__ ) @app.route ( "/" ) def hello (): return "Hello PyMi.vn!" Nhưng sẵn sàng khoe không có nghĩa là đã khoe được. Bạn cần phải tiếp tục vật lộn để mang tuyệt tác ấy đến cho cả thế giới này được biết. Làm thế nào để cho cả “cộng đồng” cùng xem được website của bạn? Nên nhớ, để website chạy được, phải có một cái máy nào đó luôn chạy code Python mà bạn đã viết. Tự nguyện xung phong bật máy tính của mình 24/7 là một lựa chọn dũng cảm, nhưng nhiều khó khăn và rắc rối và tốn tiền. Vì vậy, tìm một “cái máy khác” hay các dịch vụ hosting/VPS/server để chạy thì khỏe người hơn. Những người dùng đến từ thế giới PHP sẽ đi tìm ngay Python free hosting , nhưng kết quả sẽ không có gì dùng được, đây không phải PHP. Nên từ khóa “free hosting” sẽ không giúp gì cho bạn cả, trong Python cũng chẳng ai nhắc tới khái niệm này. Tài liệu của Flask – phần hướng dẫn “triển khai” (deployment) có liệt kê vài lựa chọn phổ biến . Trong đó, đáng kể – tiện lợi – và đơn giản nhất là chạy miễn phí với tài khỏan Heroku – có thể chạy 1 website miễn phí, không yêu cầu thẻ tín dụng hay thanh toán – đủ để bạn chạy 1 trang web Python nhỏ. Dù Heroku đã có hướng dẫn rất...

Kỹ thuật phân trang với PHP và MySQL
Bài viết được sự cho phép của tác giả Mai Đông Giang Áp dụng kỹ thuật phân trang là một phần quan trọng với bất kỳ ngôn ngữ lập trình web nào. Phân trang với PHP và Mysql có nhiều cách làm. Thế nhưng, với các bạn mới tiếp xúc thì chắc chắn đôi lúc gặp khó khăn về cách xử lý. Trong bài này mình sẽ hướng dẫn các bạn một cách đơn giản nhất của kỹ thuật phân trang trong php kết hợp với mysql. Phân trang giúp giảm thời gian tải cho website, nâng cao hiệu suất. Từ đó, giúp website đạt thứ hạng cao hơn về tính thân thiện người dùng. Trong bài này, mình sẽ thao tác với table `students` có 40 dòng dữ liệu. Mỗi trang ta sẽ lấy ra và hiển thị 10 dòng dữ liệu. Để thực hiện phân trang trong PHP chúng ta cần xác định 2 giá trị quan trọng sau: – Số lượng bản ghi bạn mong muốn hiển thị trên 1 trang là bao nhiêu ($limit). Bài này, mình sử dụng `$limit = 10` – Chúng ta đang có tổng cộng bao nhiêu bản ghi trong bảng dữ liệu. Từ đó ta có thể tính toán xem bao nhiêu trang sẽ hiển thị. Cách sử dụng hàm isset trong PHP Lộ trình học MySQL từ A đến Z Câu lệnh SQL để lấy ra tổng số bản ghi trong bảng như sau: SELECT count(*) FROM `students` Ta sẽ lấy ra được 40 dòng. Tính số trang sẽ hiểu thị: $total = 40; $limit = 10; $pages = ceil($total / $limit); Ở đây, mình dùng hàm `ceil` để làm tròn lên. Vì có những trường hợp `40 < $total < 50` thì ta hiển thị là 5 page. Đúng...

5 game kinh điển bạn từng chơi được lập trình bằng Python
Bài viết được sự cho phép của ucode.vn Chúng ta đã từng nghe hoặc ít nhất từng chơi một trong những trò chơi phổ biến kinh điển này: Snake (con rắn), Flappy bird , Pac man, Tetris hoặc các trò chơi dân gian như cờ vua, Cờ Ca rô, Oẳn tù tì … Nhưng bạn có biết những trò chơi này được viết bằng Python không? 1. Snake (Con rắn) Snake là một trò chơi vui nhộn cổ điển, trong đó bạn có được một con rắn trên một hộp lưới bảng. Bạn cho nó ăn, và mỗi lần con rắn của bạn ăn, nó sẽ dài ra một đoạn. Tránh những viên thuốc độc hoặc bất kỳ chướng ngại vật nào có thể giết chết nó. Giới hạn các bức tường ranh giới của bạn hoặc sử dụng chúng làm kích thước, như trong điện thoại di động Nokia. Một trò chơi thú vị mà bạn có thể thực hiện bằng cách sử dụng mã Python. Phát triển trò chơi Snake trong python rất đơn giản. Và mọi thứ còn trở nên dễ dàng hơn với thư viện Pygame. Sử dụng kiến thức cơ bản Snake của bạn để tạo màn hình, rắn, thức ăn và chức năng tăng chiều dài. Cuối cùng, hiển thị thông báo Game Over khi con rắn va chạm vào phần cơ thể của nó. Python: Top 18 module hữu ích nhất Top 5 Ngôn Ngữ Lập Trình Game Không Thể Bỏ Qua 2024 2. Tetris (Xếp gạch) Tetris (xếp gach) là một trò chơi ghép hình vui có thể được tạo bằng mã Python . Nó bắt đầu với một hộp rỗng và các hình dạng ngẫu nhiên rơi xuống theo chiều dọc. Cố gắng không làm lộn xộn các hình dạng và...

Năm 2024 rồi, tình hình ngôn ngữ Python như thế nào?
Trong bối cảnh hiện tại của giới lập trình, có thể khẳng định chắc nịch rằng ngôn ngữ Python vẫn đang sống khoẻ và sống êm. Python cũng là ngôn ngữ được dự đoán có tuổi thọ dài và sự bền bỉ liên tục trong bối cảnh Web3 ra đời, ngôn ngữ lập trình trở nên cực kì thông dụng. Tại sao lại như vậy? Chắc hẳn anh em cũng biết, một ngôn ngữ lập trình sinh ra, bản thân nó cũng có một vòng đời nhất định. Xưa cổ như ngôn ngữ Cobol những năm 1960 tới tận bây giờ cũng không phải là đã chết, rất nhiều hệ thống tài chính, ngân hàng vẫn đang sử dụng Cobol. Tuy nhiên, tình thế cạnh tranh của các ngôn ngữ lập trình hiện nay rất khác. Bản thân ngôn ngữ lập tình tốt là chưa đủ, bản thân ngôn ngữ đó cần phải có cộng đồng mạnh, có library được xây dựng tốt và sử dụng dễ dàng. Chính vì lý do đó, Python, ngôn ngữ được mệnh danh là “tốt nhất dành cho người mới học lập trình” năm 2023 tình hình đang như thế nào? Thông tin sẽ được cung cấp cho anh em. Vui vẻ tý trước khi bắt đầu! Khách hàng hỏi: Ai cài Python lên server á mấy cha? 1. Python là gì? Làm gì làm đôi khi nhiều anh em vừa mới chân ướt chân ráo bước vào tìm hiểu ngôn ngữ lập trình. Nên dù gì đi chăng nữa vẫn phải điểm xuyết lại khái niệm ngôn ngữ. Mà đã làm Python 2,3 năm đọc cũng không sao. Mỗi lần đọc, một lần nhớ. Gét gô Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures,...
![[Python cơ bản thường dùng trong công việc] Phần 11 : Kết nối Memcached](https://img-cdn.stationd.blog/w800-h600/featured/class-trong-python-218x150_20250424021650_8ed3d3a3.png)
[Python cơ bản thường dùng trong công việc] Phần 11 : Kết nối Memcached
Memcached là gì? Memcached là một memory cache server thông dụng hiện nay. Nội dung chương này sẽ hướng dẫn bạn kết nối đến một Memcached server (đã được cài đặt sẵn) thông qua thư viện pylibmc . 11.1. Cài đặt Có thể xem thêm về hướng dẫn cài đặt thư viện này tại http://sendapatch.se/projects/pylibmc/install.html Đơn giản cài thông qua pip là: $ sudo pip install pylibmc 11.2 Kết nối đến Memcached Server Để kết nối đến Memcached server thì bạn có thể xem ví dụ sau: import pylibmc mc = pylibmc.Client(["127.0.0.1"], binary=True, beh aviors={"tcp_nodelay": True, "ketama": True}) Việc làm python lương cao 11.3. Thực hiện lệnh Thực hiện các lệnh bình thường trên đối tượng memcache. Ví dụ: import pylibmc mc = pylibmc.Client(...) mc.set('foo', 'bar') print mc.get('foo') (Hiển thị 'bar') << Phần 10 : Kết nối Redis Phần 12 : Kết nối RabbitMQ >>

Các vòng lặp trong Python
Bài viết được sự cho phép của tác giả Nguyễn Chí Thức Chắc hẳn bạn cũng đã khá quen thuộc với khái niệm vòng lặp trong C, hoặc C++. Ngôn ngữ Python cũng cung cấp cho bạn các kiểu vòng lặp như vòng lặp while, vòng lặp for, cấu trúc lồng vòng lặp. Bên cạnh đó, để hỗ trợ cho trình thực thi của vòng lặp, Python cũng hỗ trợ một số lệnh điều khiển vòng lặp như lệnh break, lệnh continue và lệnh pass. Phần tiếp theo chúng ta sẽ tìm hiểu sơ qua về từng loại này. Các vòng lặp trong Python Vòng lặp while: lặp đi lặp lại một lệnh hoặc một nhóm lệnh trong khi một điều kiện đã cho là TRUE. Nó kiểm tra điều kiện trước khi thực thi phần thân của vòng lặp. Vòng lặp for: nó có khả năng lặp qua các item của bất kỳ dãy nào như một list hoặc một string. Lồng vòng lặp: bạn có thể sử dụng một hoặc nhiều vòng lặp bên trong bất kỳ vòng lặp while, for hoặc do…while nào. Tuyển python lương cao các công ty IT hàng đầu Các lệnh điều khiển vòng lặp trong Python Các lệnh điều khiển vòng lặp thay đổi trình thực thi thông thường. Khi trình thực thi rời khỏi một phạm vi, thì tất cả các đối tượng tự động được tạo trong phạm vi đó sẽ bị hủy. Python hỗ trợ các lệnh điều khiển vòng lặp sau: Lệnh break: kết thúc lệnh vòng lặp và truyền trình thực thi tới lệnh ngay sau vòng lặp đó. Lệnh continue: làm cho vòng lặp nhảy qua phần còn lại của thân vòng lặp và tự động kiểm tra lại điều kiện của nó trước khi lặp...

Tìm hiểu về lập trình hướng đối tượng trong PHP
Vào đầu những năm 2000, phiên bản PHP 5.0 được team phát triển ra mắt với việc giới thiệu các tính năng lập trình hướng đối tượng và duy trì cấu trúc đó cho đến những phiên bản mới nhất hiện nay. Điều này có ý nghĩa rất lớn và cho thấy sự đúng đắn của nó khi mà PHP vẫn đang là một trong những ngôn ngữ phổ biến nhất hiện tại; đồng thời các framework PHP được ưa chuộng cũng đang sử dụng hướng đối tượng để triển khai source code của nó. Trong bài viết này chúng ta cùng nhau tìm hiểu về cách để thực hiện lập trình hướng đối tượng trong PHP để giúp bạn tự tin hơn trong khi làm việc với ngôn ngữ này nhé. Lập trình hướng đối tượng Trước tiên chúng ta cùng nhắc lại một chút về lập trình hướng đối tượng nhé. Object-Oriented Programming (OOP) là một kỹ thuật lập trình cho phép chúng ta tạo ra các đối tượng trong code trừu tượng hóa các đối tượng trong thực tế. Ví dụ như ở hình dưới đây ô tô, xe đạp hay tàu thủy đều là những đối tượng (object) phương tiện giao thông nên chúng ta có thể xếp nó vào chung 1 lớp (class) là Vehicle. Trong đó, xe đạp và ô tô lại có chung đặc điểm là có bánh xe, nên chúng ta xếp chúng vào 1 lớp là Wheeled Vehicle. Việc gom nhóm thành các lớp giúp chúng ta dễ dàng mô tả đặc điểm của từng đối tượng trong nhóm thông qua việc gán cho nó các thuộc tính ( properties ) và các phương thức ( methods ); tạo ra một cấu trúc phân cấp có khả năng kế thừa, tái...