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

React Router Cheatsheet và mọi thứ bạn cần biết (Phần 1)
Tác giả: Reed Barger Nếu bạn đang xây dựng các ứng dụng React cho web, bạn sẽ cần sử dụng một router chuyên dụng để hiển thị các trang và điều hướng người dùng của bạn xung quanh chúng. Đó là lý do tại sao hôm nay chúng ta sẽ xem xét bộ React applications – React Router. Cài đặt React Router Bước đầu tiên để sử dụng React Router là cài đặt package thích hợp. Về mặt kỹ thuật, chúng là ba gói khác nhau: React Router, React Router DOM và React Router Native. Sự khác biệt chính giữa chúng nằm ở cách sử dụng. React Router DOM dành cho các ứng dụng web và React Router Native dành cho các ứng dụng di động được tạo bằng React Native. Điều đầu tiên bạn cần làm là cài đặt React Router DOM bằng cách sử dụng npm: npm install react-router-dom Setup React Router cơ bản Sau khi được cài đặt, có thể đưa thành phần đầu tiên vào để sử dụng bộ định tuyến React được gọi là BrowserRouter. Lưu ý rằng có nhiều loại router react-router-dom cung cấp ngoài BrowserRouter nhưng ở đây sẽ không đi sâu vào phân tích. Nếu chúng ta muốn cung cấp các tuyến trong toàn bộ ứng dụng của mình, nó cần được bao bọc xung quanh toàn bộ cây thành phần của chúng ta. Đó là lý do tại sao bạn thường sẽ thấy nó được bao bọc xung quanh hoặc bên trong thành phần ứng dụng chính: import { BrowserRouter as Router } from 'react-router-dom' ; export default function App ( ) { return ( < Router > { /* routes go here, as children */ } < / Router > ) ; } Đây là chức năng chính của BrowserRouter:...

Domain-Driven Design
Bài viết được sự cho phép của tác giả Edward Thien Hoang Tôi đã có một bài viết về Domain Drive Development (DDD) – First thought để “đặt vấn đề” cho DDD, các bạn có thể tham khảo ở đó trước. Trong phạm vi bài viết này, tôi sẽ tham khảo và diễn đạt lại từ bài viết Domain-Drive Design của tác giả herbertograca. Domain-Drive Design do Eric Evans tạo ra trong cuốn sách nổi tiếng của ông về Domain-Driven Design: Tackling Complexity in the Heart of Software , xuất bản năm 2003. Cuốn sách của Eric Evans là chìa khóa chính thức hóa nhiều khái niệm phát triển phần mềm hiện nay. Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains System Design Cơ Bản: Domain Name System (DNS) Tôi không thể đưa ra một đánh giá toàn diện về DDD trong một bài viết trên blog. Có quá nhiều khái niệm quan trọng liên quan đến DDD. May mắn thay, đó cũng không phải là mục tiêu ở đây. Tuy nhiên, những gì tôi sẽ làm là liệt kê các khái niệm DDD mà tôi thấy có liên quan đến cách tôi muốn tổ chức mã và cách tôi nghĩ về Kiến trúc: các khái niệm hệ thống rộng tạo thành nền tảng cho phát triển tính năng. Trong bài viết, tôi sẽ nói về: Ubiquitous language (Ngôn ngữ chung) Layers Bounded contexts Anti-Corruption Layer Shared Kernel Generic Subdomain UBIQUITOUS LANGUAGE Một vấn đề thường xảy ra trong phát triển phần mềm, xoay quanh sự hiểu biết về mã nguồn, nó là gì, nó làm gì, nó như thế nào, tại sao nó lại … nó thậm chí còn phức tạp hơn để hiểu mã nguồn khi nó sử dụng một thuật ngữ khác...

Để học lập trình hiệu quả: Hãy tiếp cận tất cả những gì có thể!
Tác giả: Endy Austin Bạn có thể dành hàng tháng trời để đến phòng tập thể dục mà vẫn không thấy kết quả gì vì cách bạn tập luyện không đúng. Hầu hết chúng ta đều biết điều này. Và điều này cũng hoàn toàn đúng khi học lập trình. Bạn có thể dành hàng tháng trời để học, thử những thứ khác nhau, xem qua các hướng dẫn và vẫn cảm thấy như bạn là người mới bắt đầu. Vậy làm thế nào để học lập trình hiệu quả hơn? Học lập trình bằng cách nào để nhanh đạt được kế hoạch đặt ra? Học lập trình với mẹo 2 phút Nếu tôi nói với bạn rằng có một hướng dẫn dài 2 phút giúp bạn thành thạo JavaScript ngay lập tức, bạn có xem thử không? Dù bạn trả lời “có” hay “không”, điều đó không quan trọng. Nghĩa là, với điều kiện bạn hiểu sâu xa rằng chỉ một hướng dẫn ngắn thôi đã đi ngược lại nguyên tắc làm chủ bất kỳ miền nào. Tóm lại, đây là cách làm việc hiệu quả mà bạn nên tuân theo: Bắt đầu với một đống thông tin khổng lồ. So sánh kiến thức mới với những gì bạn đã biết trước đây. Liệt kê những điểm khác nhau mà thông tin mới và cũ mang lại. Kiểm tra bản thân bằng cách tạo ra các kiến thức của bạn từ đầu. Và cuối cùng, hãy hướng dẫn lại cho người khác. 10 câu nói cực hay về lập trình 10 lý do cho thấy tại sao bạn nên theo học ngôn ngữ lập trình Java Vì vậy, lần tới khi bạn nhìn thấy một hướng dẫn duy nhất trong đời hứa hẹn bạn sẽ thành thạo chỉ trong...

Python: Cách in mà không cần dòng mới
Bài viết được sự cho phép của tác giả Phạm Văn Nguyên Python là một trong những ngôn ngữ lập trình dễ học nhất. Một trong những chương trình đầu tiên bạn viết khi bạn bắt đầu học bất kỳ ngôn ngữ lập trình mới nào là chương trình hello world . Một chương trình hello world trong python trông như thế này # hello world in python print("Hello World!") Thật dễ dàng! Chỉ cần một dòng và tada bạn có chương trình hello world của bạn. Trong Python 3, print () là một hàm in ra những thứ trên màn hình (print là một câu lệnh trong Python 2) . Như bạn có thể thấy, nó là một chức năng rất đơn giản. Tuy nhiên, có một điều thực sự khó chịu về chức năng này. Nó tự động in một dòng mới ‘ n’ ở cuối dòng! Hãy xem ví dụ này print("Hello World!") print("My name is Nguyenpv") # output:# Hello World! # My name is Nguyenpv Như bạn có thể nhận thấy, hai chuỗi không được in lần lượt từng chuỗi trên cùng một dòng mà thay vào đó là các dòng riêng biệt. Mặc dù đây có thể là những gì bạn thực sự muốn, nhưng không phải lúc nào cũng như vậy. nếu bạn đến từ một ngôn ngữ khác, bạn có thể thoải mái hơn khi đề cập rõ ràng liệu một dòng mới có nên được in ra hay không. Ví dụ: trong Java, bạn phải thể hiện rõ ràng mong muốn in một dòng mới bằng cách sử dụng chức năng println hoặc nhập ký tự dòng mới ( n) bên trong chức năng in của bạn: // option 1 System.out.println("Hello World!") // option 2 System.out.print("Hello World!n") Vậy chúng ta nên làm...

Một số mẹo để bắt đầu với Machine Learning
Thực sự cần thiết để bắt đầu việc học về machine learning càng sớm càng tốt nếu bạn muốn không bị tụt hậu. AI và Machine Learning đã trở thành một trong những giải pháp có tác động mạnh mẽ đến các doanh nghiệp nhất hiện nay và chúng vẫn là một phần quan trọng trong chiến lược phát triển của các công ty công nghệ trong thời gian tới. Cần phải hiểu rằng việc sử dụng Machine Mearning ( ML) để phát triển sản phẩm dần trở nên cần thiết – và nếu một công ty muốn đạt được mục tiêu của mình, họ sẽ tụt hậu so với các đối thủ cạnh tranh trong thập kỷ tới nếu họ không có ML. Vì vậy, cần bắt đầu tìm hiểu về ML càng sớm càng tốt. Nếu bạn sẵn sàng đạt được mục tiêu này, đây là một số mẹo để bắt đầu. Tìm việc làm lập trình cho it machine learning Tạo ra liên kết giữa ML Operations và Data Science Có nhiều công ty hiểu về ML và data science, nhưng họ không biết làm thế nào để thực hiện. Việc tập trung vào cả hai và giữ chúng riêng biệt là không cần thiết. Bạn có thể đưa data science và các hoạt động ML Sẵn sàng cho các thử nghiệm mới Vì đây là nỗ lực đầu tiên để ứng dụng ML vào hoạt động công ty, nên thử những thử nghiệm mới trong các lĩnh vực kinh doanh khác nhau, để học hỏi thêm những điều mới. Ngay khi bắt đầu chiến dịch, nếu bạn đang mong đợi thu được lợi nhuận ngay thì có lẽ bạn sẽ từ bỏ việc tìm hiểu ML ngay từ khi bắt đầu. Quản lý hiệu quả Data...

REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Bài viết được sự cho phép của tác giả Giang Phan Trong bài trước chúng ta đã cùng tìm hiểu cách xây dựng ứng dụng Java Restful web service với Jersey 1.x. Trong bài này, chúng ta sẽ cùng tìm hiểu cách tạo ra ứng dụng Java Restful web service với Jersey 2.x và ứng dụng Java RESTful Client sử dụng Jersey Client API để gọi tới RESTful web service. 4 tips học Java cơ bản nhanh nhất dành cho Beginner Developer 5 cách chia một mảng lớn thành nhiều mảng nhỏ trong Javascript Xem thêm tuyển dụng Java hấp dẫn trên Station D 1. Tạo Jersey project Trong bài trước chúng ta đã tạo Restful web service sử dụng Jersey version 1.x. Trong bài này, chúng ta sẽ tạo Jersey project với version 2.x. Jersey 1.x : các thư viện nằm trong package com.sun. Jersey 2.x : các thư viện nằm trong package org.glassfish. Vào Menu File -> New -> Dynamic Web Project -> Finish. Nhấn chuột phải lên project vừa tạo -> Configure -> Convert to Maven Project: Nhập thông tin Maven project như sau: Chúng ta có project như sau: Mở file pom.xml và cập nhật lại như sau: < project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = " http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd " > < modelVersion >4.0.0</ modelVersion > < groupId >RestfulWebServiceWithJersey2Example</ groupId > < artifactId >RestfulWebServiceWithJersey2Example</ artifactId > < version >0.0.1-SNAPSHOT</ version > < packaging >war</ packaging > < properties > < project.build.sourceEncoding >UTF-8</ project.build.sourceEncoding > < maven.compiler.source >1.8</ maven.compiler.source > < maven.compiler.target >1.8</ maven.compiler.target > < jersey.version >2.28</ jersey.version > < lombok.version >1.16.20</ lombok.version > </ properties > < dependencies > <!-- https://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-server --> < dependency > < groupId >org.glassfish.jersey.core</ groupId > < artifactId >jersey-server</ artifactId > < version >${jersey.version}</ version > </ dependency >...

Tại sao lập trình viên nên học cấu trúc dữ liệu và giải thuật?
Bài viết được sự cho phép của tác giả Kiên Nguyễn Chào các bạn, chúng ta đều biết rằng việc học lập trình vốn không phải là dễ dàng và không phải ai cũng có đủ kiên trì để học và học tốt được. Với các bạn sinh viên học lập trình nói riêng và những người học lập trình nói chung thì chắc hẳn đều đã nghe đến khái niệm “Cấu trúc dữ liệu và giải thuật”. Và chúng ta cũng được khuyên là nên học, nên tìm hiểu về những kiến thức này. Vậy tại sao lập trình viên lại nên học cấu trúc dữ liệu và giải thuật thì mình sẽ cùng các bạn điểm qua một vài lý do trong bài viết này. Seminar môn Cấu trúc dữ liệu và giải thuật 12 Thư viện JavaScript trực quan hoá dữ liệu hot nhất năm 2025 #1. Đó là kiến thức nền Chắc hẳn các bạn ở đây từng được nhiều người khuyên là học gì thì học, nhưng phải nắm chắc kiến thức nền, kiến thức cơ bản rồi phải không ạ ! Cấu trúc dữ liệu và giải thuật là kiến thức nền rất quan trọng Vậy như thế nào là kiến thức nền, kiến thức cơ bản? Và tại sao chúng lại quan trọng đến vậy? Thứ nhất, đối với việc học lập trình nói chung thì kiến thức cơ bản là các kiến thức liên quan đến kiểu dữ liệu, câu lệnh điều khiển, câu lệnh điều kiện… Những kiến thức này không của riêng ngôn ngữ lập trình nào cả. Cấu trúc dữ liệu và giải thuật cũng vậy. Đó là các kiến thức liên quan đến cách tổ chức giữa dữ liệu và các giải thuật trên từng tổ chức dữ...

TOP 5 bí quyết học tập thượng hạng cho coder
Bài viết được sự cho phép của BBT Tạp chí Lập trình Dù bạn là người đang học code hay đã có thâm niên coding vài năm thì những cuộc “cách mạng” công nghệ hiện nay vẫn có thể khiến bạn tụt hậu nhanh chóng nếu không giắt túi vài bí kíp tự học hiệu quả để luôn học những điều mới mẻ, và nâng cấp những năng lực sẵn có trong người. "Mẹo bỏ túi" cho dân coder mới vào nghề 5 tips để trở thành một coder giỏi hơn mỗi ngày! Có những bí kíp thuần kinh nghiệm, có vài bí kíp nghe thì hay nhưng hên xui, và cũng có những bí kíp đã được khoa học kiểm chứng về tính hiệu quả. Bài này chia sẻ vài cách thức được đúc rút từ các nghiên cứu khoa học về việc học tập hiệu quả, hoặc của những cao thủ trong nghề viết mã. 1. Hãy luyện tập phân bổ, đừng học cuốn chiếu, và thật có chủ đích. Theo một nghiên cứu của nhiều nhà khoa học đăng trên tập san “ Psychological Science in the Public Interest ”, bạn không nên học kiểu dồn ép và cuốn chiếu mà nên phân bổ kiến thức ra. Ví dụ, khi bạn học một ngôn ngữ mới (ví dụ Java), thì đừng vội đặt mục tiêu “làm chủ Java trong 7 ngày” rồi bỏ hết tất cả các việc khác để dồn 100% công lực vào học Java trong vòng 7 ngày. Điều đó nghe rất hấp dẫn nhưng không khả thi, bạn sẽ không thu hoạch được nhiều sau 7 ngày. Và đặc biệt, nếu sau 7 ngày đó bạn coi như đã “xong việc” thì đảm bảo là bộ nhớ của bạn sẽ chẳng còn bao...

10 tài khoản Instagram bạn nên theo dõi để lấy ý tưởng thiết kế
Bài viết được sự cho phép của tác giả Huy Kira Xin chào các bạn, như các bạn đã biết Instagram là phương tiện tuyệt vời để chia sẻ hình ảnh trực tuyến. Nó cung cấp những bộ lọc tuyệt vời và các công cụ để “ Retouch ” hình ảnh. Hôm nay mình xin chia sẻ 10 tài khoản Instagram nổi tiếng về design, các bạn có thể theo dõi để có cảm hứng cũng như lấy ý tưởng thiết kế. Instagram ra mắt tính năng Checkout khiến shopping dễ dàng hơn bao giờ hết 10 PHP Instagram Scripts & Widgets tốt nhất 1. @SamLarson Sam Larson là 1 nghệ sĩ tự do, có trụ sở tại Portland, Oregon, Mỹ. Tài khoản cá nhân của anh hiện tại có hơn 1500 tác phẩm và hơn 450k người theo dõi. 2. @alexmdc Alex Solis là một nhà thiết kế và vẽ tranh minh họa. Tài khoản có hơn 1950 tác phẩm biểu tượng tuyệt đẹp và nghệ thuật, và hơn 224k người theo dõi 3. @dschwen Dschwen LLC sản xuất hình ảnh và video cho các thương hiệu để kết nối mọi người. Hiện tại có 1470 tác phẩm và 143k người theo dõi tài khoản này! 4. @creaturebox CreatureBox Comics chuyên thiết kế nhân vật và phim hoạt hình. Tài khoản này đang có hơn 680 tác phẩm, và có 192k người theo dõi. 5. @s_harrington Steven Harrington là 1 nghệ sĩ sống ở Los Angeles, tài khoản này có gần 400 tác phẩm và hiện có gần 120k người theo dõi. 6. @rylsee 7. @seanwes 8. @mrseaves101 9. @mdemilan 10. @emotionslive Trên đây là 10 tài khoản Instagram về lĩnh vực design, mỗi người 1 phong cách đẹp và lạ, hy vọng bài viết này sẽ giúp các...

Lập Trình với Game Flappybird Python
Bài viết được sự cho phép của tác giả Nguyễn Chí Thức Vào những năm 2014, tựa game flappybird miễn phí bình thường trong nước và quốc tế. Game flappybird có đồ họa đơn giản dễ chơi nhưng rất khó để đạt được điểm cao. Luật chơi vô cùng đơn giản, bạn chỉ điều khiển các chú chim vượt chướng ngại vật. Mỗi lần vượt qua, bạn sẽ được cộng một điểm, nhưng nếu bạn để chú chim chạm vào các vật thể khác, thì bạn sẽ bị thua. Bắt đầu lập trình: Nhập các yêu cầu thư viện. Tạo một lớp Bird. Hàm khởi tạo. Hàm bật sound. Lưu ý : Ở đây mình dùng một tập tin có âm thanh click. Chỉ sử dụng âm thanh có đuôi là .wav với Bitdepth là 16. Hàm để vẽ các hình ảnh. Hàm display point. Colunm method. Hàm run. Lưu ý: Các bạn ghi chú vào phần chú thích . Kiểm tra xem con chim chạm cột. Mình sẽ kiểm tra xem chim có cột vào các trường hợp như sau. Và cũng tương tự như chim chạm vào tường. Run try. Hoàn thành Vậy là chúng ta đã hoàn thành rồi. Nếu các bạn thấy hay thì hãy chia sẻ bài để ủng hộ mình nhé. Bạn cũng có thể tham khảo thêm các việc làm Python hoặc tin tuyển dụng Game Developer để hiểu thêm về những yêu cầu cũng như công việc nhé. Cảm ơn các bạn đã đọc. Ứng tuyển ngay các vị trí tuyển dụng lập trình Game lương cao trên Station D Bài viết gốc được đăng tải tại ucode.vn Xem thêm: Khởi Đầu Dự Án Python Như Thế Nào Để Thuận Tiện Phát Triển Lên Hướng dẫn từng bước lập trình web với...

Big Data có thật sự “toàn năng” và các cơ hội nghề nghiệp trong tương lai?
Về diễn giả Anh Cảnh Trần (Calvin Canh Tran) hiện đang Senior Data Engineer tại Grab Finance Group (Singapore) Anh tốt nghiệp đại học ở Việt Nam và có khoảng thời gian 1 năm làm việc với tư cách là PHP developer. Sau đó sang Singapore để học thạc sĩ về Data Science. Sau khi tốt nghiệp thạc sĩ, anh là việc ở vị trí Data Scientist được khoảng 2.5 năm. Về sau nhận ra bản thân không hợp với công việc đó nên chuyển sang làm Data Engineer. Đến hiện tại anh đã làm việc ở vị trí Data Scientist đã được 4 năm. Sự chuyển giao giữa các vị trí công việc có gây ra khó khăn nào cho anh không? Thật sự là có khó khăn, như lúc đầu phỏng vấn làm Data Engineer mình không đạt nhiều lần. Sau khi chuyển qua lĩnh vực này mình phải học thêm rất nhiều và hầu hết là tự học vì 2 lĩnh vực này thật sự rất khác nhau, mình phải mất khá nhiều thời gian để trở nên thuần thục. Tìm việc làm data analyst lương cao cho bạn Bộ skillset cơ bản và nâng cao của một Data Engineer gồm những gì? Bộ skillset cơ bản cần có gồm Python, Scala và Spark . Đây hầu như là các kỹ năng đáp ứng toàn bộ yêu cầu công việc của Data Engineer. Sau đó kỹ năng nâng lên dần sẽ phụ thuộc vào từng công ty như ngân hàng thì sẽ cần học thêm adopt vì họ sẽ sử dụng những hệ thống máy chủ và các aplluter tự build. Ngược lại, những công ty thiên về startup công nghệ Grab, Gojek thì bắt buộc phải biết trên Cloud. Cloud tốt nhất vẫn là Amazon Web...
![[Tự học C++] Giới thiệu literals và operators](https://img-cdn.stationd.blog/w800-h600/featured/tu-hoc-c-gioi-thieu-literals-va-operators-218x150_20250424065243_91c5ea64.png)
[Tự học C++] Giới thiệu literals và operators
Literals Hãy xem xét hai dòng sau: 1 2 std::cout << "Hello world!" ; int x{ 5 }; “Hello word” là gì?. Nó là literal , Một chữ(literal) (còn được gọi là hằng số kiểu chuỗi(literal constant)) là một giá trị cố định đã được chèn trực tiếp vào code. Tuy nhiên, giá trị của một chữ(Literals) là cố định và không thể thay đổi (do đó nó được gọi là hằng số), trong khi giá trị của một biến có thể được thay đổi thông qua khởi tạo và gán. Operators(Toán tử) Trong toán học, một phép toán là một phép tính toán liên quan đến 0 hoặc nhiều giá trị đầu vào (được gọi là toán hạng) tạo ra một giá trị mới (được gọi là giá trị đầu ra). Một hoạt động cụ thể được thực hiện bằng một cấu trúc nào đó (thường là ký hiệu hoặc cặp ký hiệu) được gọi là toán tử. Ví dụ, như trẻ em, tất cả chúng ta đều học rằng 2 + 3 bằng 5. Trong trường hợp này, 2 và 3 là các toán hạng và ký hiệu + là toán tử cho chúng ta áp dụng phép toán cộng trên toán hạng để tạo ra giá trị mới 5. Ví dụ: toán tử cộng sẽ được gọi là toán tử + và toán tử trích xuất sẽ được gọi là toán tử >>. Bạn có thể đã khá quen thuộc với các toán tử số học từ việc sử dụng khá phổ biến trong toán học, bao gồm phép cộng (+), phép trừ (-), phép nhân (*) và phép chia (/). Trong C ++, gán (=) cũng là một toán tử, cũng như << (chèn) và >> (trích xuất). Một số toán tử được sử dụng nhiều...