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

Expressjs là gì? Framework mạnh mẽ Nodejs Express
Expressjs là gì ? Nếu đã từng vào nhà hàng kiểu ngồi (sit-down restaurant), bạn sẽ hiểu được những kiến thức cơ bản về Express. Nhưng nếu chỉ mới build backend Node.js lần đầu thì… bạn sẽ gặp khá nhiều khó khăn. Yes, nếu đã làm việc với Javascript bạn sẽ học Node nhanh hơn. Nhưng thách thức đối mặt khi xây dựng backend hoàn toàn khác với những thách thức khi sử dụng Javascript ở frontend. Khi học Node, tôi đã chọn 1 cách học khó nhằn là nghiên cứu eBooks, các tài liệu hướng dẫn, videos.. cứ như vậy cho đến khi thực sự hiểu tại sao mình lại làm những gì mình đang làm. Tự học Node.js thì bắt đầu từ đâu? Học Node.js có khó không? Nhưng có 1 cách dễ hiểu hơn, là sử dụng câu chuyện so sánh liên quan đến nhà hàng kiểu ngồi để giải thích 4 phần quan trọng nhất trong app Express đầu tiên của bạn. Express.js là 1 framework dùng để sắp xếp code nổi tiếng, thường được các bạn mới bắt đầu code sử dụng. Bài viết “Expressjs là gì?”sẽ tập trung vào 4 phần chính sau: Require statements trong Expressjs là gì? Middleware Routing trong Expressjs là gì? App.listen()/ Starting the server Trong phép so sánh này, bạn sẽ là chủ nhà hàng đang muốn tuyển Manager chung – người tạo nên tất cả quy trình và quản lý nhà hàng 1 cách trơn tru nhất, đem lại cho khách hàng những trải nghiệm vui vẻ, hạnh phúc. . Tổng quan bài viết Expressjs là gì như sau: Định nghĩa về Expressjs là gì? Expressjs là một framework được xây dựng trên nền tảng của Nodejs . Nó cung cấp các tính năng mạnh mẽ để phát...

UAT và SIT
Bài viết được sự cho phép của To Thi Van Anh Đầu năm chính là thời điểm mà thị trường nhân lực, tuyển dụng hoạt động vô cùng sôi nổi, có thể nói là sôi nổi nhất trong năm, vì chúng ta mới nghỉ Tết xong lại còn có một cục thưởng Tết nữa mà! Nhưng điều đó thì liên quan gì đến việc kia nhỉ?! Tưởng ko liên quan nhưng mà lại khá là liên quan đó, hehe. 1001 lý do mỗi doanh nghiệp cần có một website riêng cho mình Bí kíp tạo website nhờ vào GitHub và Cloudflare Khi mà bạn vừa nhận được cục kia, gọi là thưởng cho thành tích mà bạn đã đạt được trong năm vừa qua, có người thì hài lòng với con số mà có nhiều số 0 đằng sau 1 con số ‘vừa đủ’ nào đó, có người thì không hài lòng, cảm thấy “bất công”, chẳng xứng với công sức mình đã đóng góp, cống hiến. Với những người cảm thấy hài lòng hoặc tạm hài lòng với con số đó thì họ lại muốn được nhiều hơn trong năm tới, người chưa hài lòng muốn tìm một nơi có con số kia khiến người ta có thể chấp nhận được hơn, cũng có những người không quan trọng các con số đó quá thì họ lại muốn tìm một môi trường làm việc thách thức hơn, hay nhàn nhã hơn, hoặc thoải mái hơn, phù hợp hơn về nhiều mặt, rồi hay vì những ức chế với mấy vị sếp, phải cố lấy thưởng xong rồi đi… và còn muôn vàn lý do khác nữa cho những người nhảy việc. Và ở công ty hiện tại bên mình thời gian gần đây cũng không thể nào tránh khỏi...

Kiến trúc một khối (Monolithic)
Bài viết được sự cho phép của tác giả Edward Thien Hoang Trong quá khứ, người ta xây dựng hệ thống theo một khối (Monolithic Applications). Ứng dụng phần mềm doanh nghiệp được thiết kế để đáp ứng nhiều yêu cầu kinh doanh của doanh nghiệp. Do đó, các phần mềm cung cấp hàng trăm các tính năng và tất cả những tính năng này đều được gói trong một ứng dụng monolithic. Ví dụ, ERPs, CRMs hay nhiều phần mềm khác chứa hàng trăm tính năng. Việc triển khải, sử lỗi, mở rộng và nâng cấp những phần mềm khổng lồ này trở thành một cơn ác mộng. 10 điều mọi nhà phát triển ứng dụng Android nên biết về kiến trúc Architecture 20+ nguồn tuyển dụng và chia sẻ kiến thức IT hiệu quả trên Facebook Thử tưởng tượng bạn đang phải xây dựng một dịch vụ gọi taxi qua di động nhằm cạnh tranh với Uber và Grab. Sau một số buổi họp thu thập yêu cầu và phân tích thiết kế, bạn sẽ chọn công nghệ (technology stack) rồi tạo dự án bằng các framework đại loại như Rails, Spring Boot, Play. Dự án này sẽ có kiến trúc chia khối lục giác (hexagol architecture) hay tổng quát hơn là khối đa diện. Kiến trúc đa diện giúp ứng dụng chuyên biệt mô hình dữ liệu. Nhìn vào lõi của ứng dụng, ta thấy business logic được thể hiện bởi các khối dịch vụ (services), đối tượng cho từng vùng nghiệp vụ (domain objects) và các sự kiện (events). Xung quanh lõi là các adapter để kết nối vào cơ sở dữ liệu, gửi nhận message, web service hoặc front-end web application. Mặc dù có cấu trúc module hóa hợp lý, nhưng ứng dụng kiểu này...

6 điều tôi vỡ lẻ khi tự học code (P2)
Phần 1: 6 điều tôi vỡ lẻ khi tự học code (P1) Mặc kệ người ta nói! Cứ thử những cái mới! Tôi đã dùng đủ mọi cách, từ vùi đầu vào sách, cho tới thử các khoá học online. Không cái nào giúp được tôi cả. Thậm chí tôi cũng đã thử tham gia một số diễn đàn nhưng nó càng làm mọi thứ trở nên “tùm lum tà la” hơn . Cuối cùng, tôi cũng tìm ra được một số khóa học bằng video vừa ý và mọi thứ bắt đầu trở nên dễ dàng hơn. Bạn cứ thử hết tất cả đi, xem videos, đọc sách, mua các khóa học trực tuyến, tham gia diễn đàn, không bổ chiều ngang cũng bổ chiều dọc. Nếu mà đâm đầu vào đọc sách không, chắc tôi cũng “Tạch” từ lâu rồi, thật!. Hồi xưa tôi không ưa video, nhưng xài thử mới thấy sự lợi hại. Nó giúp bạn chủ động thời gian một cách kinh khủng. Cách học tốt nhất tôi đã tìm ra là chú ý vào bản chất của ngôn ngữ, hơn là những thứ lằng nhằng râu ria khác, có thể thử học 7-8 ngôn ngữ cùng một lúc. Nghe có vẻ hơi căng, nhưng đối với bản thân mình, tôi thấy nó lại phát huy hiệu quả một cách bất ngờ. Hiện nay, tôi đã nắm chắc được 5 ngôn ngữ, mấy cái ngôn ngữ còn lại dành để giải trí những lúc rảnh (ahihi). Như bạn biết, tôi là người cả thèm chóng chán, tôi hay bỏ giữa chừng lắm, tôi thường thay đổi khẩu vị cho đỡ ngán, như chuyện chuyển đổi từ việc xây dựng SQL database đến việc tìm hiểu các về pointers trong C, đến học về Git. Thử...

Tại sao không nên lưu trữ data user trên Local Storage?
Tại sao Local Storage không an toàn và bạn không nên dùng nó để lưu trữ data nhạy cảm? Có một vấn đề: hầu hết những thứ xấu về local storage đều không quá quan trọng. Bạn vẫn có thể dùng nó nhưng app sẽ chậm hơn một chút và nhiều phiền toái cho dev. Nhưng vấn đề bảo mật thì khác. Model bảo mật của local storage rất rất quan trọng để biết và nó hoàn toàn ảnh hưởng đến trang web của bạn theo nhiều cách khác nhau. Còn vấn đề của local storage đó nó không an toàn ! Hoàn toàn không. Mọi người đều dùng local storage để store thông tin nhạy cảm như session data, user detail và tất cả những thứ bạn không muốn post công khai trên Facebook. Local storage không được design như một cơ chế storage an toàn trên browser. Nó được design để store các string đơn giản mà dev có thể dùng để build các app single page phức tạp hơn một chút. Vậy thôi. Việc làm Data engineer Việc làm Database Thứ nguy hiểm nhất trên thế giới là gì? JavaScript! Hãy thử nghĩ xem: khi bạn store thông tin nhạy cảm lên local storage, bạn cũng đang làm một trong những việc liều lĩnh nhất thế giới là store thông tin lên công cụ tệ nhất mọi thời đại. Nếu bị tấn công cross-site scripting (XSS) thì sao? Tôi sẽ không kể lê thê hết về XSS đâu, nhưng tóm tắt là như thế này: Nếu một attacker có thể run JavaScript trên wesite của bạn, họ có thể retrive mọi data bạn đã lưu trong local storage và gửi nó đi các domain khác của chúng. Nó có nghĩa là bất kì thứ gì nhạy cảm...

black – quên đi nỗi lo PEP8
Bài viết được sự cho phép của tác giả Nguyễn Việt Hưng Code Python phải chuẩn PEP8 Ngay khi bạn mới làm quen với Python được vài tuần, mới biết tí for loop hay function, PEP8 từ đâu đó sẽ hiện ra. PEP8 là hướng dẫn viết code chuẩn Python, chứ không phải chuẩn C, Java, hay không có chuẩn nào cả. Nếu tự hoc code một mình, có khi giờ này bạn đã làm ra vài chục script, chạy ầm ầm mà vẫn chưa 1 lần nghe PEP8. Tiêu chuẩn code là thứ chỉ hiện ra rõ ràng, khi ta làm việc với người khác, chỉ sau vài function, sự mâu thuẫn về style sẽ hiện ra ngay, và khi ông Chí Phèo không đồng ý với style của Bá Kiến, thì cả 2 phải lên phường và thống nhất dùng chuẩn chung mà làng Vũ Đại đặt ra – hay ở đây ta gọi là PEP8. 20 tài liệu học Python thiết thực để trở thành lập trình viên chuyên nghiệp 10 tips để trở thành Java Developer xịn hơn PEP8 có thể xem chi tiết tại PEP0008 hay https://pep8.org/ , tiêu chuẩn PEP8 được chấp nhận trên toàn trái đất, thậm chí CIA, Google cũng chỉ sửa đi chút xíu, bởi nó là chuẩn hay, chuẩn tốt. Chuyện đau đầu về xì tai (style) Style vốn là một thứ dễ gây ra tranh cãi. Tôi thích kiểu Việt Nam dịu dàng, anh thích kiểu Pháp say đắm, ông kia thích kiểu Mỹ mạnh mẽ và hùng hục. Vậy ai là người sai? Cuộc tranh cãi về style viết code đã kéo dài suốt từ ngày lập trình xuất hiện, tới giờ vẫn chưa kết thúc. Bởi đã là style, thì khó nói chuyện đúng sai. Thế rồi...

Tài liệu làm chủ Python trong vòng 4 tuần (Phần 1)
Python là ngôn ngữ lập trình hướng đối tượng, thông dịch, mã nguồn mở, đa mục đích và là ngôn ngữ lập trình được dùng khá phổ biến trên thế giới hiện nay. Là một ngôn ngữ có danh tiếng rất tốt trong giới lập trình, đã được sử dụng để viết nhiều chương trình phổ biến như Youtube, DropBox, Google, Instagram, và Spotify. Tuyển dụng python các công ty hot nhất Hai lợi thế chính của Python nằm ở sự đơn giản và linh hoạt của ngôn ngữ. Với cú pháp đơn giản của nó giúp các developer dễ dàng tìm hiểu, đọc và chia sẻ. Theo một báo cáo, có tới 145.000 custom-built software package đã được tải lên cho online repository. Chúng trải dài từ nhiều lĩnh vực bao gồm từ phát triển trò chơi đến thiên văn học, và có thể được cài đặt và thêm vào một Python program chỉ trong tích tắc. Sự linh hoạt này này có nghĩa là những cơ quan tình báo có thể sử dụng nó cho hacking, Google cho thu thập dữ liệu các trang web, Pixar để tạo phim và Spotify để giới thiệu các bài hát. Một trong số các gói phổ biến nhất là “machine learning”, được dùng cho những task với các gói data số lượng lớn mà vốn sẽ bất khả thi nếu dùng sức người. Nhằm tạo điều kiện nghiên cứu cho các bạn mới bắt đầu nắm bắt xu hướng, tiếp xúc với Python, Station D giới thiệu đến bạn series video “LÀM CHỦ PYTHON TRONG VÒNG 4 TUẦN” Station D mời bạn tiếp tục phần tiếp theo – khi bạn đã “tinh thông” Phần 1 nhé! Tham khảo các vị trí lập trình Python (All levels) tại Station D Tài liệu...

Quy tắc đặt tên biến trong Python đúng chuẩn 2024
Đặt tên biến thường là vấn đề nhức nhối không chỉ của anh em Junior mới vào nghề mà còn cả những ông Senior lão làng. Chỉ là đặt tên thôi nhưng chưa bao giờ là chuyện đơn giản, bởi tất cả đều có quy tắc riêng. Quy tắc ở đây không phải là quy tắc cứng nhắc, chỉ đơn giản là những cách thức đặt tên phổ biến. Với những cách đặt tên này, nếu anh em tuân theo sẽ tốt hơn khi viết hoặc maintain code. Chỉ là cái tên cũng đủ để anh em nhức đầu Bài viết này cung cấp một số quy chuẩn thường được dùng để đặt tên biến. Mời anh em đón đọc 1. Đặt tên trong python Đối với ngôn ngữ lập trình Python nói riêng và các ngôn ngữ lập trình khác nói chung. Tất cả đều quy định rất rõ các yêu cầu phải có khi đặt tên biến. Cụ thể đối với ngôn ngữ Python, ta có: A variable name must start with a letter or the underscore character – Biến không thể bắt đầu với ký tự hoặc gạch chân. A variable name cannot start with a number – Biến không thể bắt đầu với số. A variable name can only contain alpha-numeric characters and underscores (A-z, 0-9, and _ ) – Biến chỉ có các ký tự từ A-z và 0-9 hoặc gạch dưới. Variable names are case-sensitive (age, Age and AGE are three different variables) – Trường hợp viết thường, viết hoa hoặc viết hoa một phần, các biến được hiểu là khác nhau. # Đặt tên biến hợp lệ myvar = "John" my_var = "John" _my_var = "John" myVar = "John" MYVAR = "John" myvar2 = "John" #Tên biến không hợp lệ: 2myvar = "John"...

Làm thế nào để truy cập vào BIOS của máy Surface Pro?
Bài viết được sự cho phép của blogchiasekienthuc.com Surface Pro là một đứa “con lai thần thánh” giữa Máy tính bảng và Laptop do chính tay Microsoft sản xuất. Khi lắp Type cover (bàn phím) vào thì nó là một chiếc Laptop thực thụ với sức mạnh không kém gì một chiếc Laptop đầu bảng. Hướng dẫn tạo quyền truy cập quản lý website mà không phải chia sẻ thông tin đăng nhập tại Hostinger XMP là gì? Kích hoạt XMP trên BIOS/ UEFI để tối ưu RAM Còn khi tháo Type Cover ra thì nó là một chiếc máy tính bảng sang, xịn và mịn 🙂 Cá nhân mình thì thấy thiết kế của Surface Pro không thể chê vào đâu được, với khung kim loại từ hợp kim nhôm và Magie.. À quên, hơi lan man sang phần giới thiệu sản phẩm rồi 🙂 Ngay bây giờ mình sẽ hướng dẫn cho các bạn cách truy cập vào BIOS để bạn có thể thiết lập/ tùy chỉnh theo nhu cầu sử dụng của bạn. Hướng dẫn truy cập vào BIOS trên Surface Pro Thực ra nếu bạn đã biết cách vào Advanced Options trên Windows rồi thì bạn sẽ làm được ngay thôi. Tuy nhiên, nhiều anh em mới sử dụng dòng máy này sẽ hơi bị lúng túng và bỡ ngỡ 🙂 Cách thực hiện như sau: + Bước 1: Bạn khởi động đến màn hình đăng nhập, hoặc vào trong màn hình Windows cũng được. Tùy bạn.. Sau đó click vào nút Nguồn => giữ phím SHIFT trên bàn phím => và nhấn vào nút Restart để khởi động lại máy tính. + Bước 2: Tiếp theo bạn vào Troubleshoot Sau đó chọn Advanced Options + Bước 3: Và cuối cùng chọn UEFI Firmware Settings như...

Typescript vs Javascript: Nên chọn ngôn ngữ nào?
Bài viết được sự cho phép của tác giả Tino Phạm Với sự phát triển ngày càng nhiều của các ứng dụng web, các nhà phát triển đã bắt đầu tìm kiếm những giải pháp có thể cải thiện tính bền vững và khả năng bảo trì của mã nguồn. Đó là lý do mà TypeScript, một ngôn ngữ lập trình được phát triển bởi Microsoft, đã ra đời như một sự mở rộng mạnh mẽ của JavaScript. Trong bài viết này, chúng ta sẽ so sánh hai ngôn ngữ Typescript vs JavaScript, để xem chúng khác nhau ra sao và nên chọn ngôn ngữ lập trình nào. Nhắc lại về TypeScript TypeScript làm một ngôn ngữ lập trình mã nguồn mở được phát triển bởi Microsoft. Cha đẻ của TypeScript là Anders Hejlsberg, một kiến trúc sư trưởng (Lead Architect) của ngôn ngữ C# và là cha đẻ của ngôn ngữ lập trình Delphi và Turbo Pascal. Tuyển dụng lập trình Typescript lương cao 3000 USD So sánh Typescript vs JavaScript TypeScript được biết đến như một ngôn ngữ lập trình hướng đối tượng trong khi JavaScript là ngôn ngữ dựa trên prototype. TypeScript có tính năng kiểu tĩnh nhưng JavaScript không hỗ trợ tính năng này. TypeScript hỗ trợ interfaces nhưng JavaScript không có. Tính Năng TypeScript JavaScript Kiểu Dữ Liệu Cung cấp kiểu tĩnh Kiểu động Công Cụ Hỗ Trợ Có IDE và trình soạn thảo tốt Công cụ tích hợp hạn chế Cú Pháp Tương tự JavaScript, với tính năng bổ sung Cú pháp JavaScript tiêu chuẩn Tương Thích Tương thích ngược với JavaScript Không thể chạy TypeScript trong tệp JavaScript Gỡ Lỗi Kiểu mạnh mẽ giúp phát hiện lỗi Có thể cần nhiều gỡ lỗi hơn Đường Học Cần thời gian để học tính năng...

Mười điều răn dành cho lập trình viên
Đây là mười điều răn mà tất cả các lập trình viên nên tuân theo, theo Jerry Weinberg – Tâm lý học lập trình : Hiểu và chấp nhận rằng chúng ta sẽ có lúc phạm sai lầm . Vấn đề là tìm ra chúng sớm, trước khi đưa vào sản xuất. May mắn thay, ngoại trừ vài người trong chúng tôi phát triển phần mềm hướng dẫn tên lửa tại JPL, những sai lầm hiếm khi gây tử vong trong ngành của chúng tôi, vì vậy chúng tôi có thể, và nên học, vui vẻ và tiếp tục công việc. Bạn không phải là code của bạn . Hãy nhớ rằng bản chất của việc review là tìm ra vấn đề và các vấn đề sẽ được tìm thấy. Đừng khư khư giữ cho riêng mình khi mà vấn đề chưa được tìm ra Đừng tự cho mình là cao thủ sẽ luôn có người nào đó giỏi hơn bạn: Mỗi người đều có thể là thầy của bạn; có thể dạy bạn một số kiến thức mới nếu bạn hỏi. Tìm kiếm và chấp nhận học hỏi từ những người khác, đặc biệt là ngay cả khi bạn nghĩ rằng nó không cần thiết. Không viết lại code khi chưa thảo luận với đồng nghiệp: Có một đường thẳng song song giữa “fixing code” và “rewriting code”. Chấp nhận sự khác biệt, và tuân thủ sự thay đổi trong khuôn khổ, đừng tự ý hành động. Đối xử với những người ít biết về bạn bằng sự tôn trọng, kính nể và kiên nhẫn. Những người không hiểu gì về kỹ thuật, những người thường xuyên làm việc với các nhà phát triển, hầu như giữ quan điểm rằng chúng tôi là những người tự mãn, cô độc,...

Search cha con trong wordpress sử dụng ajax
Bài viết được sự cho phép của tác giả Võ Quang Huy Ở bài hôm trước mình đã hướng dẫn cho các bạn search cha con trong wordpress theo các thông thường. Nhưng cách đó chỉ phù hợp cho các website có dữ liệu nhỏ và vừa, các website dữ liệu lớn và phần cấp sâu thì dễ bị TOANG 10 trang web hàng đầu để tìm hiểu WordPress 11 cách tăng tốc nhanh cho WordPress bằng file wp-conig.php Search theo custom field trong wordpress và các ứng dụng của nó Vì thế hôm nay mình sẽ hướng dẫn cho các bạn cách cũng search cha con nhưng sẽ dùng ajax. Tạo form search cha con html Cũng giống như bài trước cấu trúc form ở bài này cũng giống hoàn toàn. Mình sẽ copy lại để các bạn dễ theo dõi nha. Các bạn copy đoạn code này vào khu vực cần hiển thị form search nha. Đoạn code trên chỉ mới là html chưa có giao diện các bạn về thêm css vào để cho giao diện phù hợp nha. <form action="/" method="GET" role="form"> <input type="hidden" name="post_type" value="bat-dong-san"> <div class="form-group"> <select name="quan-huyen" id="quan-huyen" class="form-control" required="required"> <option value="">Chọn Quận/Huyện</option> <?php $args = array( 'hide_empty' => 0, 'taxonomy' => 'khu-vuc', 'parent' => 0 ); $cates = get_categories( $args ); foreach ( $cates as $cate ) { ?> <option value="<?php echo $cate->slug; ?>"><?php echo $cate->name; ?></option> <?php } ?> </select> </div> <div class="form-group"> <select name="xa-phuong" id="xa-phuong" class="form-control"> <option value="">Chọn Xã/Phường</option> </select> </div> <div class="form-group"> <input type="text" name="s" id="keyword" class="form-control" placeholder="Từ khóa tìm kiếm..." autocomplete="off"> </div> <button type="submit" class="btn btn-primary">Tìm kiếm</button> </form> Code chức năng chọn thằng cha show thằng con bằng ajax Nếu các bạn có đọc qua bài viết ajax trong wordpress sẽ biết để sử dụng ajax chúng ta...