Image for post
Image for post

Đặt vấn đề:

Nếu như bạn nào đã từng làm web chắc hẳn các bạn biết đến chuẩn Material Design của Google. Đây là chuẩn chung mà Google xây dựng lên để dùng cho việc thiết kế giao diện web, mobile app theo các nguyên lý thiết kế cơ bản dựa trên các khối màu. Hiện nay Google áp dụng chuẩn thiết kế này cho hầu hết các dịch vụ của mình.

Bạn có thể truy cập vào trang http://material.io để biết thêm thông tin. …


Hôm nay mình sẽ hướng dẫn bạn cách để viết một hàm chuyển chữ cái đầu tiên của string thành dạng chữ thường.

Giả sử bạn có một string, chúng ta sẽ dùng […] để chuyển nó thành một mảng, và sau đó dùng String.toLowerCase() để chuyển chữ cái đầu tiên thành dạng chữ thường, …rest là mảng các kí tự ngay sau khí tự đầu tiên. Sau đó chúng ta sẽ dùng tiếp Array.prototype.join(‘’) để merge mảng lại thành một string. Chúng ta bỏ qua parameter upperRest để giữ nguyên phần phía sau hoặc set nó bằng true để convert phần phía sau thành dạng chữ hoa.

const decapitalize = ([first, ...rest], upperRest = false) =>{ 
let after = upperRest ? rest.join('').toUpperCase() :
rest.join('');
return first.toLowerCase() + after;
}
Ví dụ:
decapitalize('FooBar');
// 'fooBar'
decapitalize('FooBar', true);
// 'fOOBAR'

Link Github

Originally published at tokyoshare.github.io.


Hôm nay mình sẽ giới thiệu cho các bạn cách convert một file CSV(comma-separated values) thnahf một mảng object 2 chiều với hàng đầu tiên được dùng như các field của object.

Chúng ta sẽ dùng Array.prototype.slice()Array.prototype.indexOf(‘\n’)String.prototype.split(delimiter) để lấy mảng tên column. Tiếp đến, ta sẽ dùng String.prototype.split(‘\n’) để lấy mảng các hàng, sau đó dùng Array.prototype.map()String.prototype.split(delimiter) để chia các giá trị này thành từng dòng. Cuối cùng, chúng ta dùng Array.prototype.reduce() để tạo object cho từng dòng, với key chính là tên của cột trong file csv. …


Ngày xửa ngày xưa, cách đây khoảng chục năm, lúc ấy loài phát triển phần mềm vẫn đang sử dụng một chu trình phát triển phần mềm (Software Development Life Cycle) bao gồm hai giai đoạn: phát triển (Dev) và vận hành(Operations-Ops).

  • Giai đoạn phát triển (development) bao gồm phần việc của designer, developer, QA QC…
  • Giai đoạn vận hành (operations) có sự tham gia của system engineer, system administrator, operation executive, release engineer, DBA, network engineer, security engineer…

Tuy nhiên, anh phát triển thì cứ phát triển, không cần biết cô vận hành có sung sướng được hay không…


Thông thường, người ta sẽ convert một file thành một chuỗi base64 để truyền qua mạng. Tuy nhiên, có đôi lúc bạn cần phải convert một chuỗi base64 lại thành một file. Hôm nay mình sẽ hướng dẫn các bạn cách làm điều đó.

Ví dụ chúng ta có một file ảnh base 64 như sau:

data:image/png;base64,goAAAANSUhEUgAiVBORw0KG...

Để convert nó thành file ảnh, code của chúng ta như sau

import fs from 'fs'; 
// Base64 image string
let base64String = 'data:image/png;base64,goAAAANSUhEUgAiVBORw0KG'; // Remove header
let base64Image = base64String.split(';base64,').pop();
// Write file
fs.writeFile('image.png', base64Image, {encoding: 'base64'},function(err) {
console.log('File created');
});

Bạn nhớ phải có tham số {encoding: ‘base64’} để nó nhận biết là ghi file từ base64 string nhé.

Link Github

Originally published at tokyoshare.github.io.

SamSan

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store