Bài đăng

Static Web Craping với NodeJS và Cheerio

Hình ảnh
Chắc hẳn từ khóa này các bạn đã được nghe đến ở đâu đó. Vậy, nó là gì ? Trong bài viết này mình sẽ giới thiệu với các bạn một kĩ thuật khá là hay ho và được giới Developer sử dụng rất nhiều chứ không riêng gì các bạn viết Web. Web Scraping là kĩ thuật thu thập thông tin của một Website bằng việc request đến url của trang cần lấy dữ liệu và download file html DOM của url đó. Trong Web Scraping chúng ta đã phần nào sử dụng đến Web Crawler. Vậy 2 thằng này khác nhau như thế nào ? Hai khái niệm này có sự liên quan với nhau. Web Scraping là quá trình thu thập thông tin từ một url cho trước. Còn Web Crawler sẽ download toàn bộ nội dung của trang đồng thời tìm tất cả các liên kết trong trang đó và tiếp tục download chúng, khi thao tác tải hoàn tất data sẽ được đánh chỉ số index rồi add on database . Thông thường ta sử dụng kĩ thuật Scraping để thu một số dữ liệu cần thiết của trang chứ không lấy hết toàn bộ. Một số việc mà ta có thể áp dụng kĩ thuật này là: lấy data như giá, hình ản...

Thu Thập Dữ liệu Trang Web (Web Scraping) với PUPPETEER

Hình ảnh
Khi cần dữ liệu của 1 trang web nào đó, trang web đó có thể cung cấp API cho ta kết xuất thông tin ở dạng JSON. Nhưng trong nhiều trường hợp, nếu không có API thì ta phải đi cào dữ liệu từ trang bằng cách mở Google Dev Tools và code qq gì đó lấy thông tin ở các element trong trang và có trích xuất được dữ liệu. Có khá nhiều công cụ phục vụ cho việc scraping, tùy theo ngôn ngữ bạn sử dụng. Trong bài viết này mình sẽ giới thiệu Puppeteer, một thư viện của Nodejs. Một số kiến thức bạn cần có trước khi bắt đầu: + Javascript, Nodejs + Async await trong Javascript + Render được 1 trang html đơn giản (có thể sử dụng Pugjs) (có thể biết sau cũng được) Đầu tiên, chúng ta tạo một project để test nhé (Lưu ý đặt tên khác Puppeteer (tên package) vì khi lưu vào file Package.json sẽ báo lỗi đấy) + Mở cửa sổ cmd tại folder project, gõ lệnh npm init: tạo file package.json lưu thông tin project, các module sử dụng... + Gõ npm install puppeteer --save Bước thiết lập project hoàn tất, chúng ta bắt đầu với...

Quy tắc Tổ chức Properties CSS dễ đọc, dễ hiểu

Hình ảnh
Nếu như HTML là cái khung quy định các element của 1 trang web thì CSS giúp hiển thị các element như ý muốn, giúp tạo ra giao diện trang đẹp hơn, bắt mắt hơn thu hút người truy cập. Với những dự án lớn, 1 element CSS (class, id, tag) có hàng tá các properties với những cách viết khác nhau lộn xộn sẽ làm cho người khác trong team khó đọc hiểu những dòng CSS, nên có những quy tắc chung trong việc viết các thuộc tính (properties) để dễ dàng đọc, dễ dàng refactor sau này. .messy-class { font-size: 20px; margin-top: 50px; width: 100%; border-top-right-radius: 10px; background-color: black; color: white; border: 2px solid lavender; font-weight: bold; } Nhìn vào CSS của class trên, để tìm 1 properties phải dò từ trên xuống dưới, chưa nói đến những đoạn dự án lớn chứa nhiều properties sắp xếp lộn xộn trong 1 group CSS. Đối với class trên, nên có cách viết đẹp hơn. .organized-class { margin-top: 50px; width: 100%; border: 2px solid lavender; border-top-right-radius: 10px; color: ...

Làm thế nào để Deploy 1 ứng dụng ReactJS sử dụng Github Pages ?

Hình ảnh
Có phải bạn đã từng bắt đầu với một dự án ReactJS và sau khi hoàn thành bạn muốn mọi người có thể thưởng thức thành quả cũng như sử dụng những điều tuyệt vời mà bạn đã tạo ra thì đây chính là bài viết mà các bạn đang tìm kiếm. Chắc hẳn bạn đã nghe nói đến kha khá nhiều cách để mang sản phẩm của mình public đến mọi người chẳn hạn mua một tên miền ( Domain ) rồi thuê một server ( Host ) để up code của các bạn lên và chạy với tên miền đấy. Cách này đang được dùng hầu hết với các trang web hiện nay nhưng đối với các bạn mới bắt đầu thì việc này có vẻ hơi khó khăn một chút. Chính vì thế hôm nay mình sẽ hướng dẫn các bạn một cách để Deploy một dự án tĩnh bắt đầu bằng create react app dễ dàng hơn rất nhiều đó là: sử dụng một package của npm có tên gh-pages để public ứng dụng của các bạn một cách dễ dàng và nhanh chóng. * Yêu cầu: Bạn cần có một tài khoản Github Cài đặt Git CLI trên máy của bạn Cài đặt NodeJS và npm Bạn cần dùng bản Node 8.10.0 trở lên. Nếu bạn đang dùng bản củ hơn thì h...

ABOUT R2W - BÉ NHỎ NHƯNG ƯỚC MƠ LỚN

Hình ảnh
Xin chào , tụi mình là R2W team , một nhóm sinh viên yêu thích công nghệ và có sợ thích chia sẻ kiến thức đến cho mọi người , trong blog này tụi mình sẽ chia sẻ toàn bộ kiến thức mà tụi mình đã tiếp thu được và truyền đạt lại một cách bình dân nhất nhắm mục đích cho mọi người có thể dễ dàng tiếp cận đến các công nghệ và vấn đề phức tạp và còn phục vụ cho việc học của tụi mình , giúp tụi mình hiểu sâu hơn trong mọi vấn đề mà tụi mình chia sẻ Tại sao lại là R2W? R : Reference 2 : To W : World Reference to world tức là tham chiếu đến thế giới theo nghĩa đen . Nếu các bạn đã biết qua về reference tức là tham chiếu thì một biến , khi biến đó thay đổi thì biến ref sẽ thay đổi theo.Quay lại vấn đề , khi thế giới thay đổi thì nhóm tụi mình sẽ liên tục cập nhật xu thế để bắt kịp thế giới với mục đích chia sẽ những kiến thức hay và mới mẻ cho mọi người (và tất nhiên phải đi từ basic) Kế hoạch tương lai R2W hướng tới một cộng đồng lập trình miễn phí , nơi mọi người có thể học hỏi trao đổi ki...

GIỮ SỨC KHỎE CHO NHỮNG NGƯỜI "THƯỜNG TRỰC" BÊN MÀN HÌNH MÁY TÍNH

Hình ảnh
Câu chuyện này vốn được các anh em văn phòng, dev, gamer biết rõ nhưng vẫn thường bị bỏ qua do đặc thù công việc hay do thói quen khó bỏ. Bản thân mình cũng không phải người hay rời xa chiếc máy tính trong một ngày, nhưng hi vọng sau bài viết này chia sẻ với các bạn từ những kiến thức giữ sức khỏe mình lượm lặt được, mình có thể stay healthy hơn. Đầu tiên, việc ngồi lì bên một chiếc máy tính lâu dần sẽ trở thành một nếp sống, khi đã đắm chìm vào công việc hay game gú thì khó mà dừng lại. Nhưng các bạn cũng hãy nghĩ đến bộ não và trái tim của mình nhé. + Cứ sau 30 - 45 phút thì hãy đứng dậy uống nước, tập luyện một số bài vận động nhẹ nhẹ để giúp cho cơ thể của bạn được refresh, khí huyết lưu thông ổn định. + Còn siêng hơn nữa thì áp dụng quy tắc 20 - 20 - 20 nè. Sau 20 phút thì nghỉ ngơi 20 phút khỏi màn hình điện tử, nhìn xa xăm 20 mét để mắt được thư giãn... Thứ hai, chế độ ăn uống phải thật hợp lí. Do là ngồi nhiều, ít vận động nên ăn những thức ăn ít năng lượng, ít dầu mỡ thôi. Ăn...

Tiểu sử bản thân - Mình đã đến với lập trình game như thế nào.

Hình ảnh
Giới thiệu đôi chút Tên ba má tặng : Võ Minh Tân Hiện tại đang học tập tại trường ĐH KHTN TPHCM Sinh tại mảnh đất Việt Nam Thu Nhỏ - Bình Phước nhưng nguyên quán mình là Huế , cả nhà ai cũng nói được tiếng Huế nhưng mình thì không Vì con là sinh viên nên thích gì code nấy , thấy hay là code nhưng điều mình quan tâm và chú trọng nhất là game , không chỉ thích code game , mình còn thích tìm hiểu và phân tích cốt truyện game , cách chơi game sao cho perfect. Sở thích : code game và xem anime Tiểu sử bản thân   Mình là một thằng cực nghiện game , mình bắt đầu chơi game từ năm lớp 2 .Lúc ấy mình chỉ tập trung chơi game thậm chí các game hardcore các anh lớn không chơi được mình chơi tuốt vì vậy lực học mình cực kì tệ , nhiều lúc bị ba mẹ đánh nhưng mà đam mê khó bỏ 😆. Cho đến mãi năm lớp 6 mình bắt đầu cân bằng lại giữa việc học và chơi game , điều tự hào là mình chơi game khá giỏi nên nhiều lúc mình suy nghĩ một vấn đề khá là nhanh nên việc bắt đầu học lấy nề...