Thứ Ba, 28 tháng 4, 2020

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






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: white;
background-color: black;

font-size: 20px;
font-weight: bold;
}




Đoạn CSS trên với class 'organized-class' được tổ chức khoa học lần lượt theo các nhóm Positioning, Display & Box Model, Color, Text, mỗi nhóm đã được xuống dòng phân cách cho các bạn dễ nhìn hơn. Với những đoạn CSS dài với chục thuộc tính trở lên thì việc xuống hàng phân cách ra như thế này là cần thiết.





.selector {
/* Positioning */
position: absolute;
z-index: 10;
top: 0;
right: 0;

/* Display & Box Model */
display: inline-block;
overflow: hidden;
box-sizing: border-box;
width: 100px;
height: 100px;
padding: 10px;
border: 10px solid #333;
margin: 10px;

/* Color */
background: #000;
color: #fff

/* Text */
font-family: sans-serif;
font-size: 16px;
line-height: 1.4;
text-align: right;

/* Other */
cursor: pointer;
}




Với cách trình bày khoa học và có tổ chức như trên giúp bạn dễ dàng đọc, dễ dàng hiểu đặc biệt khi nó không phải do bạn viết, tránh bị "gai mắt" nhé!





Quy tắc trên đã được khảo sát và confirmed, các bạn có thể xem thêm tại css-tricks





Hi vọng sau bài viết này thì các anh em front-end có thể viết những dòng CSS đẹp hơn, khoa học hơn.





Người viết: Minh Thắng


Share:

Thứ Hai, 27 tháng 4, 2020

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


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 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ãy xem hướng dẫn cách Update nhé.









1 Khởi tạo một dự án:





Đầu tiên bạn bắt đầu dự án của mình mới một Project có tên là my-app:
npx create-react-app my-app
Tiếp theo bạn tạo một Repo ở Github với tên RepoMyApp









2 Cài đặt package





Bạn cần cài đặt package Github Pages ở môi trường dev:
cd my-app
npm install gh-pages --save-dev
Suffixes -dev biểu diễn cho môi trường dev-dependencies









3 Chỉnh sửa file package.json





Thuộc tính thứ nhất bạn cần thêm vào đó là homepage với format như sau:
http://{user-name}.github.io/{repo-name}
Với:
+ user-name: là tên tài khoản Github của bạn
+ repo-name: là tên mà lúc vừa rồi bạn tạo Repo (RepoMyApp)
Ví dụ với tên Github của mình thì kết quả sẽ là:
http://nguyen-quoc-thai.github.io/RepoMyApp

Thuộc tính thứ hai đó là script:
Bạn cần thêm 2 dòng này vào phần script của file package.json:
"predeploy":"npm run build"
"deploy":"gh-pages -d build"

Kết quả file package.json sẽ thành như sau:
undefined
Nếu bạn thấy mục nào còn thiếu thì hãy kiểm tra lại nhé !










4 Khởi tạo Git Repository





Ở phần này bạn cần khởi tạo một Repository ở local và remote control nó tới Repo của bạn trên Github.
git init
git remote add origin git@github.com:{user-name}/{repo-name}.git
Với user-name và repo-name vừa rồi mình đã đề cập. Cũng thử với tên và repo của mình thì nó sẽ là
git init
git remote add origin git@github.com:nguyen-quoc-thai/RepoMyApp.git









5 Deploy





Tiếp theo là bước public sản phẩm của các bạn lên Github bằng CLI:
npm run deploy
Xong bước này thì Repo của bạn trên Github sẽ tạo một branch có tên là gh-pages. Branch này sẽ lưu trữ những thiết lặp của bạn đã tạo trong file package.json

Heyzo tới bước 5 này là bạn đã hoàn tất public ứng dụng của mình rồi đó. Bạn có thể xem ngay tại:
http://{user-name}.github.io/{repo-name}










6 Push code to Github





git add .
git commit -m "your commit"
git push origin master

Đây là mục tùy chọn với mục đích lưu trữ mã nguồn của các bạn và có thể chia sẻ với mọi người. Nên nhớ đừng chia sẻ những cái Private chẳng hạn như biến môi trường, ApiKey, ... nhé vì website của bạn có thể bị hack vì lộ chúng đấy. Bạn có thể giải quyết bằng cách tạo 1 file .env và đưa toàn bộ những cái Private vào đó, đồng thời thêm file path .env vào mục #dependencies của file .gitignore để tránh commit nó lên Git nhé !






* Một lưu ý nhỏ:





Nếu Project bạn đang làm việc có sử dụng React Router thì rất có thể bạn sẽ gặp lỗi không vào được HomePage hoặc Github Redirect bạn sang Page 404. Thật tình mà nói thì khi lần đầu mình sử dụng gh-pagescũng gặp phải lỗi này, nguyên nhân là do package gh-pages không support front-end routing, bạn có thể xem Document tại đây để hiểu rõ hơn nhé.

Và cách giải quyết "mì ăn liền" nhanh nhất bạn có thể áp dụng là sử dụng HashRouter thay cho BrowserRouter









Summary





Để Deploy một dự án ta trãi qua các bước create-react-app sau đó install gh-pages tiếp đến là chỉnh sửa file package.json (thêm thuộc tính homapage, thêm 2 script predeploydeploy) , remote control đến repo Git và cuối cùng là npm run deploy

Nếu bạn thấy bài viết hay và hữu ích thì hãy comment và chia sẽ nó để mọi người cùng biết nhé ! Cảm ơn các bạn !





Writer: Quốc Thái

Follow me via:
Facebook
Github


Share:

Thứ Bảy, 25 tháng 4, 2020

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


R2

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ến thức nhưng để làm được chuyện này thì cần một thời gian khá dài cho nên hiện tại tụi mình chỉ mới nhắm đến việc học và chia sẻ qua blog là chính.

Kiến thức mà R2W có thể chia sẻ

R2W sẽ không giới hạn về mặt nội dung nhưng sau đây là vài nội dung mà tụi mình hướng đến

  • Web development : lĩnh vực mà R2W đang phát triển , đây sẽ là mục tiêu lâu dài
  • Programming language : Mọi thứ xoay quanh PL các syntax , module , tool , các package hay dùng
  • Game development/game design : Ngoài web , thành viên team tụi mình còn có làm game cụ thể là unity , tụi mình sẽ chia sẽ các kiến thức về game.development(physical , mathematics , ..) và game theory
  • Tips/trick cho các lập trình viên
  • Etc

Quả thật khả năng diễn đạt cũng như trình bày vấn đề của tụi mình còn khá nhiều hạn chế, qua Blog này tụi mình cũng muốn nâng cao khả nay diễn đạt, trình bày vấn đề cũng như có thể chia sẻ kiến thức và kinh nghiệm của tụi mình đến với tất cả mọi người. Hy vọng mọi người có thể bỏ chút ít phút ra đọc các bài của tụi mình , nó sẽ không lãng phí chút nào đâu.


Share:

Thứ Sáu, 24 tháng 4, 2020

GIỮ SỨC KHỎE CHO NHỮNG NGƯỜI "THƯỜNG TRỰC" BÊN MÀN HÌNH MÁY TÍ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 thêm nhiều trái cây, rau xanh. Nhớ uống đủ nước theo nguyên tắc 4-2-1: 4 chai, 2 lít, 1 ngày và phân phối thành nhiều lần uống trong ngày.




  • Thứ ba, nhớ thường xuyên rửa mặt sạch sẽ để hạn chế lão hóa da do những tia sáng từ màn hình máy tính chiếu mặt. Da mặt xấu dễ không có gấu lắm đấy!




  • Thêm nữa, đặc biệt lưu ý với những anh em văn phòng hay dev, khi não bị overloaded, cơ thể mệt mỏi thì đừng cố làm gì, hãy tìm cho mình những thú vui khác (tránh xa máy tính càng tốt) như nghe nhạc, phiêu du nơi nào đó để tâm trạng tốt hơn, cơ thể được "hồi sinh" nhé!
    undefined undefined




Nói chung bài viết này mình không chia sẻ quá nhiều tips, vì đặc thù của ngành nên nhiều lưu ý cũng trở nên không cần thiết và khó thực hiện. Hi vọng những lời khuyên trên là đủ cho anh em dễ làm theo!





Các anh em dev có thể tham khảo cuốn "The healthy programmer" - Joe Kutner, cũng khá là bổ ích! Các bạn có thể tải e-book tại đây.





Người viết: Minh Thắng


Share: