Categories
Gambaru News

Ra mắt Gambaru: Nền tảng việc làm IT nước ngoài, lương từ $2,000

Sau hơn 6 tháng nỗ lực liên tục trong việc hoàn thiện các tính năng, luồng sử dụng, hôm nay chúng tôi trân trọng thông báo việc ra mắt Gambaru – Nền tảng việc làm IT nước ngoài dành cho kỹ sư IT Việt.

Ra mắt chính thức Gambaru - Nền tảng việc làm IT cho dev Việt
Ra mắt chính thức Gambaru – Nền tảng việc làm IT cho dev Việt

Ngay bây giờ, bạn có thể truy cập nền tảng Gambaru tại đây và nhanh chóng đăng ký tài khoản để xem và ứng tuyển các cơ hội việc làm phù hợp với khả năng, đến từ các doanh nghiệp công nghệ tại Mỹ, Nhật.

Lưu ý: Để trải nghiệm được tốt nhất, hãy truy cập và sử dụng Gambaru trên Desktop! Phiên bản mobile hiện đang được hoàn thiện và sớm cung cấp đến thành viên.

Gambaru ra đời nhằm giải quyết bài toán mà cộng đồng IT ở Việt Nam gặp phải:

  • Làm thế nào để làm việc toàn thời gian cho doanh nghiệp nước ngoài khi vẫn ở Việt Nam?
  • Làm thế nào để tăng thu nhập trong thời kì Covid đầy khó khăn?

Trong bối cảnh dịch bệnh Covid và nhu cầu làm việc từ xa tăng lên, việc trả lời câu hỏi này trở nên ngày càng khó và đòi hỏi một giải pháp mang tính cách mạng.

Là một thành viên trên nền tảng Gambaru, bạn dễ dàng hơn trong việc:

  • Tiếp cận nhiều việc làm IT tại nước ngoài, 100% độc quyền, mức lương từ $2,000 (đối với trình độ Senior) và từ $1,000 (với Fresher) trên Gambaru. Điều không dễ có ở các nền tảng tuyển dụng khác tại VN.
  • Làm 100% Remote, Full-time. Điều này giúp bạn tạo dựng phong cách sống – làm việc mới: Làm từ xa, bất cứ đâu, bất cứ lúc nào.
  • Sử dụng Miễn phí các tính năng từ cơ bản tới nâng cao có trên Gambaru
  • Có cơ hội tham gia các chương trình đào tạo, sự kiện mà Gambaru tổ chức cho thành viên.

Gambaru hứa hẹn mang lại sự thay đổi trong phong sống, làm việc của cộng đồng IT trong thời đại mới.

Hãy đăng ký tài khoản và tiếp cận nhiều đầu việc IT nước ngoài phù hợp với năng lực của bạn tại đây.

Ngoài ra, bạn có theo dõi fanpage Gambaru để cập nhật tin tức mới nhất.

Gambaru Team.

Categories
All about Japan

Thế Vận Hội Mùa hè 2020 tại Nhật Bản – sự kiện độc đáo không nên bỏ qua!

Đã hơn một tuần trôi qua từ ngày chính thức khai mạc kỳ Olympic đặc biệt nhất lịch sử.

Mặc dù khởi động trễ hơn kế hoạch đúng một năm do đại dịch Covid-19, Thế vận hội Mùa hè Tokyo (Olympic Tokyo) vẫn giữ được một sức nóng nhất định với sự tham gia của 11.058 vận động viên đại diện 206 quốc gia và vùng lãnh thổ trên khắp hành tinh. 

Trước làn sóng dịch Covid mới xuất hiện và diễn biến tương đối phức tạp, Ban tổ chức Thế vận hội ra quyết định tổ chức Olympics trong tình trạng không có khán giả trực tiếp.

Toàn thành phố Tokyo được đặt trong tình trạng khẩn cấp nhằm phòng, chống sự lây lan dịch bệnh trong suốt kỳ Thế vận hội.

Đây là một điều khá đáng tiếc cho người hâm mộ trên toàn cầu, tuy nhiên, nước Nhật đã tận dụng rất tốt cơ hội này để một lần nữa chứng minh với thế giới sự vượt trội trong lĩnh vực công nghệ tiên tiến của mình.

Quang cảnh khán đài không khán giả tại Olympic Tokyo
Quang cảnh khán đài không khán giả tại Olympic Tokyo

Buổi lễ khai mạc diễn ra vào ngày 23 tháng 7 năm 2021 tại thủ đô Tokyo đã để lại cho người xem những khoảnh khắc ngoạn mục vô cùng mãn nhãn, đặc biệt là màn “ảo thuật” Ánh sáng trên không tạo thành bởi hơn 1,000 chiếc drone gắn đèn led.

Bữa tiệc ánh sáng bắt đầu với hình dạng biểu tượng Olympics và sau đó biến đổi thành một quả địa cầu xoay vòng, đúng với ý nghĩa nhấn mạnh sự đoàn kết mà Olympics 2020 mang lại: “Nhanh hơn – Cao hơn – Mạnh hơn – Cùng nhau”

Màn trình diễn Drone Light tại Lễ Khai mạc Olympic Tokyo
Màn trình diễn Drone Light tại Lễ Khai mạc Olympic Tokyo

Đến với Thế vận hội mùa hè 2020, khán giả xem từ xa sẽ có cơ hội trải nghiệm những siêu công nghệ hàng đầu do Intel, một trong những nhà tài trợ Olympic 2020 mang lại.

Công nghệ Theo dõi vận động viên 3D (3DAT) giúp khán giả qua màn ảnh nhỏ có cảm giác rằng họ đang ở khoảng cách rất gần với những hành động diễn ra trước mắt.

Ngoài ra, các công nghệ như True View, trí tuệ nhân tạo AI, cùng với các nền tảng thực tế ảo VR, thực tế ảo tăng cường AR cũng được áp dụng triển khai trong các trận đấu.

Hình ảnh sống động, màu sắc phong phú, kết hợp từ nhiều góc quay mang đến những thước phim chân thật nhất phục vụ người hâm mộ toàn thế giới.

MacNail VĐV Canada đang thi đấu bộ môn Bơi lội
MacNail VĐV Canada đang thi đấu bộ môn Bơi lội
Pha tranh bóng trong trận đấu giữa đội tuyển Hàn Quốc và Úc tại Olympic Tokyo 2021
Pha tranh bóng trong trận đấu giữa đội tuyển Hàn Quốc và Úc tại Olympic Tokyo 2021
Thi đấu bóng chuyền bãi biển giữa đội Đức và Canada
Thi đấu bóng chuyền bãi biển giữa đội Đức và Canada

Ngoài Intel, Olympic Tokyo còn nhận được sự ủng hộ nhiệt tình của những tập đoàn công nghệ hàng đầu khác như Panasonic, Konami, … cùng chung một nỗ lực biến Thế vận hội Tokyo thành sự kiện thể thao tiến bộ nhất về mặt công nghệ trong lịch sử.

Chỉ một tuần nữa thôi là chúng ta phải chia tay Olympic Tokyo rồi nhưng vẫn còn nhiều trận đấu hứa hẹn kịch tính, những màn trình diễn hấp dẫn đang ở phía trước.

Đừng bỏ lỡ cơ hội chiêm ngưỡng sức mạnh công nghệ qua kỳ Thế vận hội lần này nhé!

Gambaru Team.

Categories
Dev's Corner

Cách tương tác với Smart Contract từ một web app

Juan Cruz Martinez sẽ hướng dẫn chúng ta tạo một smart contract (hợp đồng thông minh) nhỏ để lưu trữ và truy xuất dữ liệu trên Ethereum blockchain và tạo một web app cho phép truy cập và thay đổi dữ liệu trên smart contract này.

Hãy thực hành cùng Gambaru nhé!

Smart Contract

Đầu tiên, tôi sẽ trình bày về smart contract mà ta sẽ sử dụng để xây dựng các ứng dụng web.

Vì bài viết tập trung vào việc liên kết JavaScript với blockchain, nên tôi tạo contract càng đơn giản càng tốt:

Tạo một Smart Contract đơn giản
Tạo một Smart Contract đơn giản. Xem code gốc ở đây

Hợp đồng CoolNumberContract chứa một biến trên blockchain được gọi là coolNumber với giá trị ban đầu là 10.

Biến này là public, nghĩa là ta có thể truy cập giá trị của nó từ blockchain mà không cần tạo hàm getter.

Ngoài ra, contract này chứa một hàm publicsetCoolNumber, sẽ thay đổi giá trị của biến trên blockchain.

Điều quan trọng cần nhớ ở đây là bất kỳ thay đổi nào trong dữ liệu blockchain đều cần được thể hiện bằng một giao dịch.

Có nghĩa là việc gọi phương thức setCoolNumber sẽ yêu cầu một giao dịch và giao dịch đó sẽ có phí gas đi kèm.

Hãy triển khai hợp đồng trên một test network trước khi tiếp tục.

Thiết lập project và dependency

Để tương tác với bất kỳ Ethereum blockchain nào từ JavaScript, bạn sẽ cần một library.

Trong trường hợp này, hãy sử dụng web3 https://web3js.readthedocs.io/en/v1.3.0/

Web3 sẽ cho phép tương tác với bất kỳ Ethereum network nào thông qua MetaMask hoặc provider của web3 như Ganache.

Hãy bắt đầu một project mới. Tôi sẽ sử dụng JavaScript HTML, nhưng mọi người có thể sử dụng bất kỳ framework nào mình muốn như React hoặc Vue.

Tất cả code sẽ đi vào một file là index.html và hãy bắt đầu với cấu trúc sau:

Thiết lập project và dependency
Thiết lập project và dependency. Xem code gốc ở đây

Hãy xem thử thẻ body.

Đây là một giao diện người dùng đơn giản với hai button và một khoảng biểu thị trạng thái.

Cả hai button đều gọi các hàm JavaScript mà hiện tại vẫn chưa được định nghĩa.

Trên thẻ head, thẻ quan trọng là script ta đang import. Đó là thành phần phụ thuộc vào web3.

Hãy thêm thành phần phụ thuộc này vào code như tôi đã làm hoặc nếu đang sử dụng một framework, chỉ cần import package này với:

Import Package
Import Package

Nếu chưa cài đặt library, bạn có thể thông qua NPM:

Cài thông qua NPM
Cài thông qua NPM

Cuối cùng, trước khi tiếp tục, lời khuyên là hãy cài đặt tiện ích mở rộng MetaMask.

Nếu muốn sử dụng bất kỳ provider nào khác, bạn có thể phải thay đổi các phần của code cho phù hợp, vì các sample được cung cấp sử dụng provider web3 được MetaMask đưa vào.

Kết nối web app với Ethereum Blockchain

Khi cấu trúc cơ bản và các thành phần phụ thuộc sẵn sàng, ta có thể thêm code để kết nối ứng dụng với blockchain.

Bên trong script tag ở body, hãy thêm:

Kết nối web app với Ethereum Blockchain
Kết nối web app với Ethereum Blockchain. Xem code gốc ở đây

Các đoạn code trên khá đơn giản ngoại trừ hàm loadWeb3.

Chức năng này chịu trách nhiệm thiết lập kết nối và cấp quyền tương tác với blockchain.

Để làm việc với smart contract này, ta sẽ cần một instance Web3 mới. Khi tạo instance này, cần chỉ định provider ta muốn sử dụng.

Vì đang sử dụng MetaMask làm proxy nên hãy dùng provider window.ethereum được đưa vào bởi tiện ích mở rộng MetaMask.

Khi truy cập trình duyệt và tải trang (bằng file hoặc trình duyệt web), ta sẽ thấy luồng ủy quyền MetaMask như sau:

Cấp quyền kết nối cho app thông qua MetaMask
Cấp quyền kết nối cho app thông qua MetaMask

Hãy nhấn Next Connect.

Truy cập vào smart contract

Đến lúc này, code đã có quyền truy cập để tương tác với blockchain.

Tạo một chức năng mới để tạo một contract instance phù hợp với giao diện contract.

Tạo Contract Instance
Tạo Contract Instance

Để có được một instance của bất kỳ contract nào trên blockchain, tất cả những gì chúng ta cần là: thông số ABI của contract và địa chỉ contract, cả hai đều có thể trích xuất từ ​​Remix.

Để có thông số kỹ thuật ABI của contract, hãy đến Remix trên tab Compile. Compile và nhấp vào ABI.

Sao chép ABI specification của contract
Sao chép ABI specification của contract

Nút này sẽ sao chép thông số ABI cho contract dưới dạng một JSON array trên clipboard mà ta có thể sử dụng trực tiếp như một phần của tham số đầu tiên.

Tham số thứ hai là địa chỉ contract đã triển khai, có thể lấy từ Remix tại thời điểm triển khai hoặc Etherscan.

Sao chép địa chỉ contract từ Remix
Sao chép địa chỉ contract từ Remix
Sao chép địa chỉ contract từ Remix
Sao chép địa chỉ contract từ Remix

Code chức năng hoàn chỉnh cho contract này sẽ như sau:

Code chức năng hoàn chỉnh cho Contract
Code chức năng hoàn chỉnh cho Contract. Xem code gốc ở đây

Sau khi hoàn tất, ta có thể chỉ cần gọi loadContract từ hàm loader:

Gọi loadcontract từ hàm loader
Gọi loadcontract từ hàm loader

Đọc các giá trị từ smart contract

Nay ta đã sẵn sàng để bắt đầu gọi các chức năng của smart contract và sẽ bắt đầu bằng cách lấy coolNumber từ contract này.

Có thể lấy dữ liệu từ contract rất nhanh nhờ web3. Đây là một ví dụ để lấy giá trị của biến public coolNumber:

Lấy giá trị của biến public coolNumber
Lấy giá trị của biến public coolNumber. Xem code gốc ở đây

Siêu dễ đúng không?

Sử dụng instance contract từ phần trước, hãy lấy các phương thức và gọi một hàm với tên biến (đây là getter đã được đề cập ở phần đầu), và cuối cùng, sử dụng lệnh call để bắt đầu yêu cầu từ xa.

Cập nhật các giá trị vào smart contract

Cuối cùng, cần đảm bảo rằng ta cũng có thể giao dịch với smart contract.

Do đó, hãy hiển thị một instance bằng cách truy cập hàm setter để thay đổi coolNumber được lưu trữ trong contract.

Chức năng change sẽ chỉ định một số ngẫu nhiên mới và lưu nó trên blockchain:

Truy cập hàm setter để thay đổi coolNumber
Truy cập hàm setter để thay đổi coolNumber. Xem code gốc ở đây

Có hai điều cần chú ý:

  • Đầu tiên, chúng ta đề cập đến một hàm getCurrentAccount() hiện chưa được định nghĩa. Ta sẽ làm việc này sau.
  • Thứ hai là cách gọi setter. Hãy chú ý đến dòng gọi phương thức setCoolNumber từ contract, nó trông hơi khác so với những gì đã làm cho caller:
Cách gọi setter
Cách gọi setter

Thay vì sử dụng phương thức call, ta đang sử dụng phương thức send. Ta cần xác định tài khoản người gửi. Tại sao? Phải cần một giao dịch để thay đổi các giá trị trên blockchain. Như đã nói, một giao dịch yêu cầu tài khoản từ và đến phải hợp lệ – từ người khởi tạo giao dịch và trong trường hợp này, là địa chỉ của smart contract này.

Có thể sử dụng bất kỳ tài khoản nào làm từ giá trị không? Không! Đó phải là tài khoản bạn có quyền truy cập (và trong trường hợp này, tài khoản được đăng ký trên ví MetaMask của bạn), vì bạn sẽ cần ủy quyền giao dịch và xác nhận hóa đơn tiền gas.

Vấn đề đã được giải quyết, hãy xây dựng phương thức getCurrentAccount():

Xây dựng phương thức getCurrentAccountxây dựng phương thức getCurrentAccount
Xây dựng phương thức getCurrentAccount

Web3 thực sự tuyệt vời. Mọi người có thể tương tác với blockchain và ví của mình, vì vậy có thể thông qua Web3 để yêu cầu thông tin về các tài khoản đã đăng ký trên ví. Trong trường hợp này, chỉ cần lấy tất cả và sử dụng tài khoản đầu tiên để thực hiện các giao dịch.

Vận dụng những gì đã học

Tôi đã tải code lên GitHub gist để bạn so sánh và tham khảo. Hãy thử xây dựng dự án nhỏ nhưng thú vị này nào!

Application Flow
Application Flow

Nếu thành công, bạn hãy comment phía dưới cho Gambaru biết nhé!

Theo Juan Cruz Martinez

Categories
Gambaru News

Cách tối đa năng suất khi làm work from home

Thế giới khám phá ra nhiều cách khác nhau để làm việc mà không cần có sự tiếp xúc của con người, trong đó làm việc tại nhà (work from home) đang có sự đổi mới mạnh mẽ.

Trong tình hình đại dịch, liệu năng suất làm việc tại nhà có thực sự tốt hơn?

Một ước tính của Upwork cho biết có 1 trên 4 người Mỹ, chiếm hơn 26% lực lượng lao động, dự kiến ​​sẽ làm việc từ xa hết năm 2021.

Vài nghiên cứu trong những tháng qua cũng cho thấy năng suất làm việc từ xa tại nhà tốt hơn so với làm việc tại văn phòng.

Trung bình, họ tốn không quá 10 phút mỗi ngày cho những việc không hiệu quả, làm nhiều hơn 1 ngày mỗi tuần và có năng suất cao hơn 47%.

Trong một tuần làm việc, người làm việc tại nhà ổn định hơn, làm nhiều giờ hơn và hoàn thành nhiều việc hơn.

Điều này nghe có vẻ khó tin: “Làm thế nào mà bạn có thể tập trung hơn khi làm việc ở nhà?”

Hãy tìm hiểu cách các chuyên gia hoàn thành nhiều việc hơn trong môi trường công việc linh hoạt, thay vì ở văn phòng.

Hiệu quả công việc tăng đến 13% khi làm việc tại nhà

Một nghiên cứu của Standford trên 16.000 nhân viên trong vòng 9 tháng cho thấy làm việc tại nhà giúp tăng năng suất lên 13%.

Hiệu quả công việc tăng đến 13% khi làm việc tại nhà.
Hiệu quả công việc tăng đến 13% khi làm việc tại nhà. Ảnh: Freepik

Sự gia tăng hiệu suất này là do có nhiều cuộc gọi hơn mỗi phút do môi trường làm việc yên tĩnh hơn thuận tiện hơn và làm việc nhiều phút hơn mỗi ca vì số lần nghỉ giữa chừng và số ngày ốm ít hơn.

Cũng trong nghiên cứu này, các nhân viên cũng báo cáo mức độ hài lòng công việc được cải thiện và tỷ lệ nghỉ việc giảm 50%.

Làm việc từ xa có thể tăng năng suất lên đến 77%

Theo khảo sát từ ConnectSolutions, 77% những người làm việc từ xa ít nhất một vài lần mỗi tháng cho thấy năng suất tăng lên, với 30% làm nhiều việc hơn trong thời gian ngắn hơn và 24% làm nhiều việc hơn trong cùng một khoảng thời gian.

Làm việc tại nhà trước COVID

Cho nhân viên làm việc tại nhà là nỗi sợ hãi của nhiều công ty vì họ tin rằng nhân viên sẽ kém năng suất hơn.

Làm việc tại nhà trước Covid.
Làm việc tại nhà trước Covid. Ảnh: Freepik

Điều này không hoàn toàn sai.

Ở nhà, bạn rất dễ bị phân tâm, trì hoãn hoặc làm ít công việc hơn những người làm việc tại văn phòng.

Năm 2019, một nghiên cứu của Cục Thống kê Lao động cho thấy chỉ có 24% nhân viên hoàn thành công việc khi làm tại nhà, trong khi có 82% nhân viên hoàn thành công việc nếu ở công ty.

Nghiên cứu tương tự của Cục Thống kê Lao động cũng cho thấy nhân viên các tổ chức tài chính, kinh doanh và quản lý (37%) và nhân viên các ngành nghề chuyên môn và liên quan (33%) có khả năng hoàn thành công việc tốt hơn những người làm ở các ngành nghề khác.

Một nghiên cứu khác vào năm 2012 cho thấy nhân viên văn phòng được giao những công việc nhàm chán thực hiện tốt hơn và nhanh hơn nếu ở công ty.

Những phiền nhiễu khi ở nhà có khả năng làm giảm hiểu quả công việc khi bạn không thích công việc.

Nhưng nghiên cứu này cho thấy hiệu quả công việc sẽ cao hơn khi công việc mang tính sáng tạo. Nói tóm lại, càng ít hạn chế đối với công việc, thì công việc đó sẽ hoàn thành càng nhanh.

Nghiên cứu tương tự cũng cho thấy toàn bộ nhân viên sẽ thực hiện kém nếu từng người phải làm việc tại nhà.

Mỗi cá nhân sẽ hoàn thành khối lượng công việc giống người khác.

Nghĩa là, không một cá nhân nào muốn làm thêm công việc và để người khác hưởng lợi từ công sức của mình.

Một nghiên cứu khác cũng nói rằng một người càng có nhiều thời gian làm ở nhà, thì càng trở nên kém hiệu quả.

Những người làm việc toàn thời gian (8 giờ / ngày) ở nhà có năng suất thấp hơn 70% so với những người không làm việc tại nhà.

Làm việc tại nhà sau COVID

Đã thay đổi một chút từ năm 2012. Làm việc tại nhà trở nên dễ dàng hơn và phần mềm giao tiếp ngày càng tốt hơn.

Làm việc tại nhà sau Covid.
Làm việc tại nhà sau Covid.

Báo cáo từ các khảo sát được thực hiện trong vài tháng qua cho thấy làm việc tại nhà đang tạo ra sự thay đổi tốt hơn đối với các dự án và gia tăng năng suất.

Great Place to Work đã so sánh năng suất của nhân viên từ tháng 3 đến tháng 8 năm 2020, sáu tháng đầu tiên của quá trình làm việc tại nhà, so với cùng kỳ năm 2019.

Năng suất làm việc ổn định hoặc tăng lên khi làm việc từ xa tại nhà, theo một nghiên cứu kéo dài 2 năm với 800.000 nhân viên.

Prodoscore báo cáo năng suất tăng 47% kể từ tháng 3 năm 2020 (so với tháng 3 và tháng 4 năm 2019) và đã giải mã thời điểm mọi người làm việc năng suất nhất.

Báo cáo cho biết nhân viên làm việc hiệu quả nhất vào Thứ Ba, Thứ Tư và Thứ Năm; và từ 10:30 sáng đến 3:00 chiều.

Ngày làm việc trung bình vẫn từ 8:30 sáng đến 5:30 chiều và ngày càng nhiều nhân viên sử dụng phần mềm email và CRM để giữ liên lạc với đồng nghiệp.

Khảo sát của Stanford cho thấy chỉ 65% người Mỹ có Internet đủ nhanh để thực hiện các cuộc gọi video. Với 42% người Mỹ làm việc tại nhà và 26% làm việc tại văn phòng công ty.

Một khảo sát từ tháng 3 năm 2020 của Airtasker cho thấy nhân viên làm việc tại nhà dành ít thời gian hơn để trốn tránh công việc (chênh lệch 15%), dành thêm 1,4 ngày làm việc mỗi tháng và nghỉ ngơi nhiều hơn.

Những người làm việc tại nhà cho biết họ ít bị đồng nghiệp làm phân tâm, dành không quá 30 phút để nói về các chủ đề không liên quan đến công việc và dành ít hơn 7% thời gian để nói chuyện với quản lý.

New York Times đã phỏng vấn Nathan Schultz, giám đốc điều hành cấp cao của Chegg, về năng suất trong công ty hiện nay khi toàn bộ nhân viên gần như đã ở nhà.

Động thái đầu tiên của ông là liên tục kiểm tra nhân viên, nhưng một khi ông bớt lại, năng suất đã tăng lên và nhân viên bắt đầu hoàn thành các dự án trước thời hạn.

Tuy nhiên, chỉ vì năng suất tăng không có nghĩa là nó sẽ tiếp tục như vậy. Bài báo tương tự của NYT cho biết một số công ty đang chứng kiến ​​nhân viên gặp khó khăn với việc thiếu tương tác xã hội.

Theo thời gian, sức khỏe tinh thần của nhân viên sẽ bắt đầu cản trở năng suất, làm giảm sự hài lòng của nhân viên.

Các công ty như Splunk, Affirm và Microsoft đã chứng kiến ​​sự gia tăng đột biến về năng suất trong vài tháng đầu tiên, nhưng theo thời gian, sự cô đơn khi làm việc tại nhà ảnh hưởng đến năng suất và sự hài lòng trong công việc.

Đây là lý do tại sao nhiều công ty hiện đang áp dụng mô hình làm việc kết hợp (hydrid).

Khác biệt giữa làm việc tại nhà và văn phòng

Các cuộc khảo sát và các nhà nghiên cứu đang sử dụng dữ liệu để giúp hiểu cách thức mà làm việc tại nhà có thể hiệu quả hơn và nâng cao thời gian làm việc.

Khác biệt giữa làm việc tại nhà và văn phòng.
Khác biệt giữa làm việc tại nhà và văn phòng.

Một số yếu tố khác biệt trong môi trường tại nhà và đó có thể là lý do tại sao một số nhân viên hiệu quả hơn khi làm việc tại nhà.

Không đi lại

Cho dù mất 10 phút hay 1 tiếng lái xe đến công ty, bạn sẽ tiết kiệm được thời gian này khi làm việc tại nhà.

Nhân viên có thể bắt đầu ngày làm việc sớm hơn nếu họ không phải mất thời gian lái xe đến văn phòng.

Cuộc khảo sát của Airtasker báo cáo rằng trung bình một nhân viên tiết kiệm được 8,5 giờ một tuần bằng cách không phải đến công ty.

Trong một năm, con số này lên đến 408 giờ.

Không đi lại cũng có nghĩa là có nhiều thời gian hơn cho các sở thích “nuôi cá và trồng thêm rau”, vốn đã bùng nổ phổ biến kể từ năm 2020.

Ít tán gẫu

Những người làm việc tại nhà ít nói chuyện với đồng nghiệp hơn, dù có liên quan đến công việc hay không. Airtasker báo cáo 70% mọi người đánh giá các mối quan hệ xã hội công việc cũng quan trọng như việc hoàn thành công việc.

Làm việc tại nhà giảm thiểu lượng tương tác xã hội.

Tập thể dục nhiều hơn

Việc không lên công ty và ít cơ hội giao lưu cho phép những người làm việc từ xa có thể sử dụng thời gian này để tập thể dục.

Tập thể dục thường xuyên tốt cho sức khỏe tinh thần và thể chất và là một liều thuốc giảm căng thẳng tuyệt vời.

Những người làm việc tại nhà cho biết họ tập thể dục nhiều hơn 30 phút trong tuần làm việc.

Tối đa năng suất

Một nghiên cứu được thực hiện bởi Ask.com cho thấy 86% nhân viên thích tự mình làm việc hơn khi họ đang cố gắng làm việc hiệu quả nhất có thể.

Tối đa năng suất khi làm tại nhà

Việc chuyển từ môi trường văn phòng sang làm việc tại nhà là một thay đổi lớn.

  • Bạn có thể làm việc hiệu quả không?
  • Làm thế nào để bạn luôn tập trung?
  • Khi nào bạn nên bắt đầu và kết thúc?
  • Điều này sẽ ảnh hưởng như thế nào đến cuộc sống nhà bạn?
Tối đa năng suất khi làm việc tại nhà.Tối đa năng suất khi làm việc tại nhà.Tối đa năng suất khi làm việc tại nhà.
Tối đa năng suất khi làm việc tại nhà.

Dưới đây là một số mẹo giúp bạn hoặc nhân viên của bạn thành công hơn khi làm việc tại nhà:

Tạo không gian làm việc thoải mái

Làm việc trong văn phòng giúp bạn tập trung và đi đúng hướng.

Hãy cố gắng tái tạo lại không gian làm việc này trong nhà của bạn, cho dù đó là biến một phòng thừa thành văn phòng của bạn hay đặt một chiếc bàn sau ghế dài.

Không gian phải thoải mái, tránh xa màn hình TV, Xbox,… và có mọi thứ bạn cần để hoàn thành công việc của mình.

Có tổ chức, ngăn nắp

Bạn có thể cần áp dụng một hệ thống tổ chức mới hoặc bắt đầu sử dụng bảng kế hoạch trong ngày để đảm bảo bạn luôn đúng lịch trình.

Bạn nên tạo một lịch trình làm việc hàng tuần và liệt kê những công việc bạn cần hoàn thành.

Luôn cam kết với lịch trình sẽ giúp bạn tạo ra sự nhất quán và thói quen.

Thời gian làm việc nhỏ, nhưng cường độ cao

Bạn có thể làm việc hiệu quả hơn khi tập trung chăm chú trong khoảng thời gian nhỏ hơn.

Dành một vài giờ để xác định thời gian bạn có thể làm việc trước khi bị phân tâm.

Ví dụ, nếu bạn có thể làm việc trong 30 phút trước khi bị phân tâm, thì hãy tiếp tục tốc độ này trong suốt cả ngày.

Sau mỗi lần giải lao, hãy đặt hẹn giờ và làm việc trong 30 phút tiếp theo mà không bị gián đoạn.

Nghỉ ngơi

Nghỉ giải lao thường xuyên cho phép bộ não của bạn tái tập trung và thư giãn.

Trong cuộc khảo sát của Airtasker, 37% nhân viên làm việc từ xa nói rằng nghỉ giải lao thường xuyên là cách tốt nhất để duy trì năng suất.

Sử dụng thời gian nghỉ ngơi để ăn nhẹ, uống nước, hít thở không khí trong lành hoặc ngó ngàng gia đình.

Thời gian giải lao trung bình cho một nhân viên từ xa là 22 phút trải dài trong ngày.

Giao tiếp với đồng nghiệp

Theo New York Times, điều khó khăn nhất khi làm việc tại nhà là sự cô đơn và thiếu giao tiếp xã hội.

Dành thời gian lên công ty gặp gỡ đồng nghiệp có thể hỗ trợ tương tác xã hội và tập trung trí não của bạn vào công việc trong ngày.

Tóm lại

Làm việc tại nhà có thể là một môi trường làm việc hiệu quả hơn so với văn phòng nhằm nâng cao sự cân bằng giữa công việc và cuộc sống.

Đại dịch đã thay đổi cách chúng ta làm việc và nhiều công ty đang chuyển sang sử dụng các giải pháp tại nhà.

Hãy đảm bảo nhân viên của bạn cảm thấy thoải mái, có tổ chức và khỏe mạnh để đảm bảo năng suất của họ luôn đạt tiêu chuẩn của công ty trong nhiều tháng tới.

Gambaru Team. Lược dịch từ Apollotechnical

Categories
Gambaru News

Work from Home (WFH) đã thay đổi nhân viên ra sao?

Đại dịch xảy ra, nhiều công ty lựa chọn cho nhân viên work from home (làm việc tại nhà). Sau gần 1 năm work from home, mọi thứ sẽ vẫn như cũ hay sẽ có những thay đổi mà bạn khó hình dung đến?

Hãy tìm câu trả lời trong bài viết này với những mô tả cụ thể về sự thay đổi xảy ra với nhân viên khi làm việc tại nhà trong thời gian dài và nhà quản lý cần làm gì để quản lý đội ngũ tốt hơn.

Những thay đổi của nhân viên sau khi Work from home

Nhân viên trở lại văn phòng sau một năm làm việc remote (làm việc từ xa) không còn là người mà người sếp từng biết.

Work From Home đã thay đổi nhân viên ra sao?
Work From Home đã thay đổi nhân viên ra sao?

Sau hơn 12 tháng, họ đã điều chỉnh theo một nhịp điệu hoàn toàn khác — trong cách làm việc và cuộc sống riêng của mình.

Họ đã thay đổi số giờ làm việc và biết cách xử lý công việc mà không cần sự giám sát.

Họ có thể dành thời gian cho gia đình hoặc các ưu tiên cá nhân, và có thể điều chỉnh liên tục do các tổn thất hoặc vấn đề sức khỏe.

Sau 12 tháng làm việc trong tình trạng tách biệt, người ta muốn kiểm soát nhiều hơn lên cách thức, thời gian và địa điểm hoàn thành công việc, cũng như quyền tự chủ cao hơn trước sếp và công ty.

Họ thậm chí không muốn bị quản lý nữa. Holly Birkett, giảng viên Đại học Birmingham ở Anh cho biết:

Nhân viên đang gánh vác thêm trách nhiệm quản lý cho công việc của mình. Họ biết mình sẽ không được trả thêm tiền cho việc đó chứ, tuy nhiên, họ thấy có trách nhiệm hơn trong việc hoàn thành nhiệm vụ.

Tất cả những thay đổi này gây khó khăn cho nhà quản lý, những người đang tìm cách thức phù hợp để cố vấn và huấn luyện các thành viên trong nhóm khi họ trở lại nơi làm việc.

Nhân viên của họ có thể xuất hiện với bộ dạng như trước đây. Một số thì đúng vậy, nhưng nhiều người thì không.

Cách nhà quản lý thích ứng với sự thay đổi đến từ Work from home

Làm lại từ đầu

Lúc này, nhà quản lý nên xem xét việc đổi mới mối quan hệ của họ với từng nhân viên — ngay cả những người mà họ đã quản lý trong nhiều năm — như thể đang “yêu lại từ đầu”.

Xem họ như những nhân viên mới.
Xem họ như những nhân viên mới.

Để đạt được mục tiêu đó, không nên giả định rằng nhân viên của mình có thể hoặc không thể làm gì chỉ dựa vào những gì họ có thể hoặc không thể làm trước khi Covid xảy ra, vì họ có thể đã có được những kỹ năng, năng lực mới trong lúc làm việc tại nhà.

Chẳng hạn:

  • Một nhân viên đã biết cách xác định công việc và thời hạn hoàn thành mà không cần sếp phải “cầm tay chỉ việc”,
  • hoặc có thể nhân viên tư vấn bán hàng đã phát triển một phong cách gọi điện thoại mới đầy thu hút sau nhiều tháng sống trong giãn cách xã hội hoặc trở nên khiêm tốn do nỗi sợ hãi đại dịch (nếu trước đó là người tự cao).

Do đó, tốt nhất là nên coi họ là những người mới vào làm, hãy hỏi họ cảm nhận về mọi thứ ra sao, những gì họ muốn thực hiện trong vòng vài tháng hoặc vài năm tới và cách họ muốn kết hợp giữa thời gian ở nhà và nơi làm việc.

Nhà quản lý có thể sẽ cần xem khoảng thời gian từ 3 đến 6 tháng sau khi nơi làm việc mở cửa trở lại như khoảng thời gian thử việc — không phải để quan tâm tới việc sa thải nhân viên, mà là một lựa chọn để đánh giá xem nhân viên đã phát triển hoặc thay đổi như thế nào, và ngược lại phương cách quản trị của họ phải điều chỉnh theo.

Phong cách độc lập

Rất có thể thay đổi quan trọng nhất đối với nhà quản lý là nhiều cấp dưới trực tiếp có thể đã có được phong cách làm việc độc lập, và cần ít sự giám sát hơn.

Phong cách độc lập.
Phong cách độc lập.

Việc chuyển từ trạng thái 12 tháng tự do sang hoạt động dưới sự quản lý của sếp không còn đơn giản.

David Pauleen, giáo sư Trường Cao đẳng Quản trị tại Đại học Massey ở New Zealand cho biết:

Khả năng cao là những người đã từng làm việc tại nhà nhận ra sự tự chủ mà mình đã đạt được. Một số nhân viên có thể sẽ nổi giận nếu lòng tin của quản lý với năng lực làm việc tự chủ của mình suy giảm đột ngột.

Những quản lý lo lắng về việc cho phép nhân viên tại văn phòng được phép tự chủ giống như khi họ ở nhà nên suy nghiệm về những gì họ nhận thấy trong suốt đại dịch.

Tức là, nói về nhân viên có hiệu quả vượt trội.

Trái với kỳ vọng của nhà quản lý, gần như tất cả nhân viên được tin tưởng cho làm việc linh hoạt là những người có hiệu quả vượt trội, nhờ đó nhà quản lý cũng gặt hái kết quả cao hơn.

Cùng với việc có sự tự chủ về cách hoàn thành công việc, 12 tháng trước đó chứng kiến nhiều nhân viên quản lý thời gian hoàn thành công việc tốt hơn.

Mairead O’Connor, chuyên gia phân tích của Trường Cao đẳng Doanh nghiệp New South Wales, cho biết:

Ban quản trị nhận thấy nhân viên có thời gian làm việc không theo tiêu chuẩn trong suốt cả ngày. Hóa ra họ đã dành ít giờ hơn vào những ngày làm việc [ngày trong tuần], nhưng lại có sự gia tăng đáng kể vào ban đêm và cuối tuần.

Nhiều nhân viên không muốn từ bỏ sự linh hoạt đó.

Tiến sĩ O’Connor cho rằng nhà quản lý nên đưa ra số giờ làm bắt buộc mà mỗi và mọi nhân viên phải online hoặc có mặt ở văn phòng – sau đó tạo sự linh hoạt cho họ trong việc xử lý phần thời gian còn lại.

Với nhà quản lý đã quen với việc giám sát công việc nhân viên theo khung hành chính từ 9h đến 5h chiều, nó sẽ đòi hỏi một sự thay đổi sâu sắc: quản lý nhân viên dựa trên tiến độ đạt được các mục tiêu, hợp lý hơn là số giờ họ ngồi ở bàn làm việc.

Tuy nhiên, điều đó không có nghĩa là xóa bỏ sự giám sát.

Khim Kelly, giáo sư kế toán tại Đại học Kế toán Kenneth G. Dixon phát hiện ra rằng các cơ chế giám sát hữu ích nhất đối với năng suất từng là những cơ chế làm giảm năng suất nhất bên cạnh các cuộc họp mặt đối mặt và đánh giá từ đồng nghiệp hoặc bên thứ ba.

Chúng đã được thay đổi bằng các cách tiếp cận kém hiệu quả hơn (mặc dù “dễ chịu hơn”), chẳng hạn họp online, e-mail và nhật ký công việc.

Vì mục đích đó các nhà quản lý dù sao cũng quan tâm đến các yếu tố tiếp xúc trực tiếp với nhân viên, bên cạnh việc dựa trên một loạt các yếu tố kiến ​​thức về hiệu quả của nhân viên.”

Họp hành và xã giao

Trên thực tế, nhân viên đã phàn nàn về tình trạng họp hành quá nhiều, mặc dù 12 tháng trước đã đưa đẩy sự mệt mỏi đó ​​lên một giai đoạn hoàn toàn mới — do sự thất vọng của các cuộc họp kỹ thuật số cộng với việc sử dụng các cuộc họp như một phương án để bù lại cho sự thiếu hụt tương tác.

Họp hành và xã giao.
Họp hành và xã giao.

Nhân viên không sẵn lòng làm lại mọi thứ như trước đây.

Quan điểm cho rằng phải có mặt để hoàn thành công việc từ 9h đến 5h mỗi ngày, 5 ngày mỗi tuần, đã lỗi thời.

Nhân viên phải có khả năng tham gia các cuộc họp vào những lúc họ có mặt tại nơi làm việc.

Điều đó chỉ có thể hiệu quả nếu các nhà quản lý áp dụng chiến lược xoay quanh đội ngũ và xây dựng một lịch làm việc chung mà mọi người trong nhóm có mặt ở văn phòng từ hai hoặc ba ngày mỗi tuần.

Nhân viên thậm chí đã quen với khái niệm rằng hội họp là nơi để gặp gỡ đồng nghiệp.

Hội họp và trao đổi giống như phần mềm giúp nhân viên cảm thấy hài lòng, hạnh phúc hơn là chỉ trao đổi về các sự cố vận hành.

Các nhà quản lý nên thúc đẩy việc này, đặc biệt hệ lụy của 12 tháng qua có thể làm suy yếu mối quan hệ – và niềm tin – giữa các nhân viên.

Lịch làm việc tiêu chuẩn là một phần của kỹ thuật đó, tuy nhiên, nhà quản lý có thể làm được nhiều hơn bằng cách khuyến khích nhân viên đẩy mạnh tương tác với trong những ngày làm việc ở văn phòng.

Ví dụ, nếu trước Covid, nơi làm việc là nơi một nhân viên sẽ bị chú ý cho việc dành quá nhiều thời gian để trò chuyện tán gẫu, thì các sếp có thể dứt khoát với điều đó trước đó.

Cuối cùng thì khuyến khích tương tác không phải là yếu tố làm cho sự tương tác đó trở nên cần thiết.

12 tháng trước đó đã cho phép những người hướng nội tìm lại sự tự do khỏi các cuộc giao tiếp xã hội gượng gạo, không thoải mái và tạo cơ hội cho những người hướng ngoại xây dựng tình bạn và hoạt động với đồng nghiệp bên ngoài văn phòng.

Thay vì cố gắng làm cho mọi thứ trở lại như cũ, các nhà quản lý nên thừa nhận rằng một số nhân viên của họ đang lên chiến lược trở lại nơi làm việc giống như cuộc hội ngộ của những người bạn từ lâu không gặp, trong khi những người khác đơn thuần ở đó để hoàn thành công việc.

Việc nhận ra rằng các nhân viên khác nhau có mong muốn khác nhau lúc nào cũng quan trọng — và khó khăn nhất — một nửa là ở khía cạnh quản lý.

Điều đó đúng trong vòng vài tháng tiếp theo. Tuy nhiên, nhân viên trở lại sau 12 tháng đại dịch đã thay đổi.

Nhà quản lý hiệu quả nhất không chỉ đơn giản thừa nhận điều đó, mà còn đạt được lợi ich từ nó.

Gambaru Team. Lược dịch từ RemoteFreelancerJobs

Categories
Gambaru News

Cách giữ vững sự tập trung khi làm việc tại nhà

Làm việc tại một công ty phần mềm, tôi không hề xa lạ với trải nghiệm làm việc ở nhà.

Bản thân công việc của tôi đã có mức độ số hóa, online hóa cao nhất, văn hóa trong công ty cũng lại tập trung vào quản lý đầu ra chứ không quản lý thời gian.

Vô tình, những kỳ nghĩ lễ kéo dài ở quê, những ngày trời mưa to ngập phố, những ngày phải họp từ sáng sớm đến quá giờ quy định… đã đều chuẩn bị cho tôi một trải nghiệm làm việc ở nhà hiệu quả.

Và đây là cách tôi giữ cho mình có thể làm việc hiệu quả nhất, ngay cả khi đang ở trong môi trường… rất dễ chịu của căn nhà.

Cách tập trung khi làm việc tại nhà

Một không gian làm việc thật khác

Hãy tìm cho mình một “góc” riêng, để khi bước vào, tâm trí tự động chuyển sang chế độ làm việc.

Điều đầu tiên cần làm, đó là tạo cho mình một không gian làm việc thật khác.

Cách giữ sự tập trung khi làm việc tại nhà
Cách giữ sự tập trung khi làm việc tại nhà

Ví dụ, ở nhà tôi vốn đã có một không gian riêng để đặt PC chơi game và nghe nhạc.

Nhưng tôi không dùng chiếc bàn này để làm việc, thay vào đó, cứ mỗi sáng (và mỗi chiều) cách ly, tôi lại mang laptop ra bàn phòng khách ngồi.

Dĩ nhiên, không phải ai cũng sẽ có điều kiện để sở hữu nhiều không gian khác nhau, nhưng nguyên tắc vẫn chỉ có một: Hãy cố gắng mọi cách để không gian làm việc tách biệt ra hẳn những không gian thư giãn thường nhật.

Hãy tìm cho mình một “góc”, mà mỗi khi bạn bước vào, tâm trí bạn tự động chuyển sang chế độ làm việc.

Trong nhóm của tôi, nhiều người cũng như vậy.

Có người mang laptop lên kệ loa để đứng làm việc. Có người mua một chiếc ghế có gắn bàn nhỏ, hướng ra ngoài ban công. Còn nếu chỉ có một không gian, chỉ có một chiếc PC (hoặc laptop)…

Nếu bạn chỉ có một chiếc PC

Tôi đã từng phải đi làm việc ở nước ngoài trong một thời gian dài, đã có những ngày không thể lên công ty khách hàng ngồi mà phải làm việc tại khách sạn.

Chiếc laptop tôi mang theo cài đầy game, ban ngày dùng làm để làm việc…

Và đây là lời khuyên đặc biệt quan trọng với những người vốn chỉ dùng PC tại nhà để chơi game hay lướt face: khi phải dùng cỗ máy này cho công việc, hãy tạo một tài khoản người dùng (User Account) khác.

Tài khoản Windows cho công việc
Tài khoản Windows cho công việc

Trên tài khoản này, hãy ẩn đi toàn bộ các đường tắt tới Steam hay Origin, hãy đừng bao giờ đăng nhập vào Facebook hay Reddit.

Thay vào đó, hãy chỉ đặt các ứng dụng liên quan tới công việc mà thôi.

Tài khoản Windows cho giải trí
Tài khoản Windows cho giải trí

Không gian làm việc tối giản nhất có thể

Hãy nghĩ thật kỹ: Bạn thực sự cần thứ gì để làm việc?

Không gian làm việc tối giản
Không gian làm việc tối giản

Mở rộng một chút với lời khuyên bên trên: Hãy giữ cho góc làm việc của bạn luôn gọn gàng, ít vật dụng nhất có thể.

Một cuốn truyện đang đọc dở, một chiếc iPad dùng để “luyện” Netflix, bộ tai nghe “xịn”, đều có thể khiến bạn đứt mạch làm việc.

Dĩ nhiên, kỷ luật bản thân là cần thiết, nhưng hãy làm mọi cách để bản thân có thể tự giữ kỷ luật một cách dễ dàng hơn.

Đến cuối cùng, trong phần lớn trường hợp, thứ duy nhất bạn cần để làm việc chỉ là một chiếc PC mà thôi.

Liên tục “call” với team

Tùy vào mức độ gắn kết giữa các thành viên trong team (và dĩ nhiên là cả đường mạng), cả đội có thể bật cuộc gọi trong suốt chế độ làm việc.

Đây vừa là một cách giữ được sự liên lạc luôn được thông suốt (osmotic communication) trong quá trình làm việc, một nguyên tắc mà các coder tuân theo tư tưởng Agile luôn cố gắng thực hiện.

Liên tục call với team
Liên tục call với team

Hãy giả lập môi trường làm việc của team mình qua các ứng dụng gọi video.

Ngoài ra, đây cũng là một cách để cả đội có thể “nhắc khéo” nhau luôn tập trung cao độ trong quá trình làm việc nữa.

“Quy tắc giao tiếp” với gia đình

Nghe có vẻ hơi tiêu cực, nhưng các thành viên khác trong gia đình có thể khiến công việc (tại nhà) của bạn bị xao nhãng.

Ví dụ, đã có lúc tôi đang họp qua Slack thì mẹ tôi mở cửa vào phòng nói rất to: “Mẹ mua bánh mì về rồi, xuống ăn đi”.

Mọi người nghe thấy đều cười đùa, khiến buổi họp bị đứt mạch đôi chút.

Lời khuyên của tôi: hãy thiết lập một quy tắc giao tiếp với gia đình mình trong giờ làm việc.

Ví dụ, những ngày phải làm việc tại nhà, tôi luôn nhắc mẹ: Mẹ mua đồ ăn sáng thì cứ để ở bếp, xong việc đang làm con sẽ xuống ăn.

Hãy nhờ bố của bạn trả lời mỗi khi có ai bấm cửa.

Hãy dặn các bé (đã đủ lớn) tự ngồi học, ngồi chơi: “Bố ở nhà nhưng vẫn phải làm việc. Vẫn phải đến buổi tối, bố mới có thời gian để đọc truyện cho con”.

Chia nhỏ công việc, và cố gắng không bỏ dở đầu việc nhỏ

Các đầu việc nhỏ sẽ giúp bạn giảm thiểu ảnh hưởng từ các yếu tố xao nhãng.

Chia nhỏ công việc
Chia nhỏ công việc

Sẽ có những trường hợp bạn không thể bị ảnh hưởng.

Ví dụ, khi bạn phải vừa làm việc, vừa “để mắt” tới em bé để bà đi chợ ngày ông đi vắng chẳng hạn.

Để hạn chế ảnh hưởng theo cách này, hãy công việc của mình đủ nhỏ.

Ví dụ, công việc của tôi có thể chia thành các hàm (function) cần thực hiện. Công việc quản lý của bạn có thể chia thành từng hóa đơn, công việc viết lách có thể chia thành từng đầu mục (như 5 đầu mục trong bài viết này).

Hãy hoàn thành từng đầu việc nhỏ này trước khi bước sang việc khác.

Như vậy, khi có những điều xao nhãng xảy ra, ảnh hưởng sẽ chỉ gây ra với 1 đầu việc nhỏ mà thôi.

Nếu bạn đang code dở mà lại chuyển sang trả lời mail khách hàng và con bạn chạy vào, bạn sẽ phải tiếp tục tới 2 đầu việc đang dang dở. Đó sẽ là một trải nghiệm khó chịu hơn rất nhiều.

Và đừng quên những nguyên tắc chung

Chia nhỏ đầu việc chỉ là một trong những nguyên tắc chung mà bạn nên áp dụng khi làm việc ở bất cứ đâu – ở công ty hay ở nhà.

Hãy đặt cho mình các mốc thời gian để bắt đầu và kết thúc. Hãy viết các đầu việc cần làm lên note.

Hãy đảm bảo một môi trường nhiều ánh sáng.

Hãy đặt đồng hồ Pomodoro (ví dụ, làm việc 20 phút rồi tự cho phép mình “nghỉ ngơi 5 phút), nếu bạn tin vào phương pháp này.

Bởi đến cuối cùng, “công việc” ở đâu thì cũng vẫn là công việc.

Để có thể tập trung hơn, làm việc hiệu quả hơn, hãy ghi nhận tất cả sự khác biệt giữa khái niệm “làm việc” và “nghỉ ngơi”.

Và hãy tìm mọi cách để tạo cho mình 2 chế độ, dù rằng bạn vẫn đang chỉ ở nhà mà thôi.

Theo TechTalk via GenK

Categories
Dev's Corner

8 Công cụ CSS Web Developer phải có

Nếu bạn đang tìm danh sách các công cụ CSS giúp việc học và thành thục CSS trở nên dễ dàng và hiệu quả hơn, đây là bài viết dành cho bạn.

CSS là một trong những nền tảng cơ bản của lập trình web. Tuy nhiên, để hiểu thấu đáo về cách vận hành CSS lại không hề đơn giản.

Làm thế nào để code CSS với sự trợ giúp của các công cụ chuyên dụng cũng như học về CSS trong môi trường tương tác?

Hãy khám phá cùng Gambaru!

Công cụ tạo CSS trực tuyến

1. EnjoyCSS

Công cụ cực kỳ đơn giản này được coi là vị cứu tinh cho web developer đang mày mò CSS, cho phép thiết kế các element với UI đơn giản và đưa ra output phù hợp.

EnjoyCSS giảm thiểu thời gian và công sức cho lập trình viên để tạo các style phức tạp vì nó rất dễ sử dụng.

Đồng thời, bạn không bắt buộc phải có nền tảng quá sâu để hiểu về CSS phức tạp.

EnjoyCSS
EnjoyCSS mang đến sự thay đổi quy trình làm việc đáng kể.

2. CSS Arrow Please!

CSS Arrow Please! giúp tạo và xuất code cho các hộp với một mũi tên và có thể tùy chỉnh mũi tên kéo dài từ bất kỳ phía nào bạn muốn.

CSS Arrow Please
CSS Arrow Please! giúp tạo và xuất code cho các hộp với một mũi tên

Mặc dù điều này nghe có vẻ khá phức tạp để viết code từ đầu, nhưng công cụ này giúp chúng ta nhận được code chỉ sau vài cú nhấp chuột.

Khi nhận được, bạn có thể bắt đầu sử dụng code đó và thực hiện những thay đổi nhỏ, như thêm shadow chẳng hạn.

3. CSSmatic

CSS Matic
CSSmatic có giao diện người dùng đơn giản và trực quan.

Công cụ tất cả trong một này cung cấp những tính năng như:

  • Tạo gradient: Ta có thể sử dụng nhiều màu sắc và độ mờ để có được độ chuyển màu gradient đẹp đáng kinh ngạc.
  • Border radius: Siêu dễ sử dụng và siêu tiết kiệm thời gian. Tất cả các đường viền được chọn có thể được thay đổi cùng một lúc.
  • Noise texture: Tạo các background pattern tinh tế với các pixel chất lượng thấp và bị nhiễu, thay đổi màu sắc, giá trị và đồng thời xem trước được kết quả trong thời gian thực.
  • Box Shadow: Thay đổi độ mờ, màu sắc và kích thước đổ bóng – mọi thứ bạn cần để tạo bóng tuyệt vời cho 1 vật thể.

Tất cả những điều này có sẵn trên CSSMatic với một giao diện người dùng đơn giản và trực quan. Đây chắc chắn là một công cụ buộc phải có.

4. Patternizer và Patternify

PatterNizer
PatterNizer

Cả hai công cụ này cho phép tạo ra các pattern tuyệt vời với CSS trên giao diện thân thiện người dùng.

Với sự trợ giúp của PatternizerPatternify, bạn có thể tạo các pattern thú vị có thể dễ dàng áp dụng trên trang web của mình do nó được viết trực tiếp bằng CSS.

Công cụ học CSS trực tuyến

1. CSS Grid

CSS Grid
Khám phá 25 video bổ ích từ CSS Grid!

Trang web cung cấp một khóa học ngắn bốn giờ để hiểu được nền tảng căn bản về CSS Grid.

Khóa học hoàn toàn miễn phí này được sáng tạo bởi developer nổi tiếng – Wes Bos.

Hiện đang có tổng cộng 25 video đang chờ bạn mày mò và khám phá đấy.

2. Grid Garden

Grid Garden
Vừa làm vườn vừa viết code cùng Grid Garden!

Trò chơi tương tác Grid Garden nhắc bạn phải viết CSS code để trồng và chăm sóc vườn cà rốt của riêng mình.

Thật thú vị phải không?

Cách học này đảm bảo người dùng học được những điều cơ bản về CSS Grid theo một cách không hề khô khan chút nào.

Trò chơi bao gồm 28 cấp độ, mỗi cấp độ yêu cầu người dùng viết một CSS code để đáp ứng từng yêu cầu cụ thể.

3. Flexplorer

Flexplorer
Một ứng dụng hữu ích để học CSS.

Là một ứng dụng đơn giản, Flexplorer cho phép bạn mày mò nhiều tính năng Flexbox khác nhau và xem kết quả trực tiếp trên màn hình cùng với code.

Bạn cũng có thể chỉnh sửa văn bản trong các hộp và xem cách bố trí của các hộp này. Cách học mới lạ này hướng đến làm cho việc học dễ dàng và thuận lợi hơn.

4. Image Effects with CSS

Image Effects with CSS
Một công cụ học CSS bổ ích khác đáng để tìm hiểu.

Công cụ tuyệt vời này là sản phẩm của Bennett Feely, cũng là nhà sáng tạo Flexplorer.

Là một công cụ thực sự hữu ích, Image Effects with CSS cho phép người dùng thử nghiệm các thuộc tính CSS, như background-blend-mode, mix-blend-mode và filter để thao tác và tạo ra những hình ảnh tuyệt đẹp.

Happy coding!

Theo Mahdhi Rezvi.

Categories
Dev's Corner

Đừng chỉ viết code, hãy tập giải quyết vấn đề

Những lần gặp khó khăn khi code là những lần ta tích lũy kinh nghiệm, nhận ra được các mẫu có tính lặp lại và khám phá những chiến lược nhất định. Nếu phân loại được đoạn code và những vấn đề tương tự sẽ giúp ích rất nhiều cho lập trình viên.

Tập trung giải quyết vấn đề
Tập trung giải quyết vấn đề để cải thiện kỹ năng lập trình. Ảnh: lloorraa – Pixabay

Việc học giải quyết vấn đề theo hệ thống như vậy đã được thảo luận từ rất lâu.

Gambaru xin giới thiệu với các bạn một trong những nhà toán học tuyệt vời đã chia sẻ về vấn đề này, George Polya, qua cuốn sách nổi tiếng How to solve it, a new aspect of mathematical method xuất bản lần đầu năm 1945.

Không rõ George Polya có mong đợi lập trình viên thế kỷ 21 đọc được tác phẩm toán của mình hay không, nhưng tôi mong các bạn nhận ra được những góc nhìn của ông có giá trị đến thế nào.

George Polya
Nhà toán học George Polya. Ảnh: Alchetron
How to Solve it
Sách How to Solve it – A new aspect of mathematical method viết bởi George Polya. Ảnh: Amazon

Giải quyết vấn đề không phải là một năng khiếu

“Giải toán là một kỹ năng thực tế như bơi lội. Chúng ta thành thục được bất kỳ kỹ năng nào bằng cách bắt chước và thực hành. Khi tập bơi, bạn bắt chước theo cách mọi người dùng tay và chân để giữ cho đầu ở trên mặt nước và cuối cùng, bạn biết bơi nhờ tập luyện. Khi tập giải toán, bạn quan sát và bắt chước những gì người khác làm khi giải toán và cuối cùng, bạn biết giải toán nhờ thực hành.”

George Polya, How to solve it

Giải quyết vấn đề không chỉ là về “trí óc”

“Dạy giải toán chính là sự rèn luyện ý chí. Để giải quyết những bài khó, người học sẽ học cách kiên trì vượt qua thất bại, trân trọng những tiến bộ nhỏ, chờ đợi ý tưởng cần thiết và tập trung hết sức khi ý tưởng xuất hiện.”

George Polya, How to solve it

Quyết tâm và cảm xúc đóng một vai trò quan trọng khi giải quyết các vấn đề khó.

Quy trình giải quyết vấn đề

Bất cứ khi nào thực hiện quá trình giải quyết vấn đề, hãy ghi nhớ bốn bước sau:

  • Hiểu vấn đề
  • Lập kế hoạch
  • Thực hiện kế hoạch
  • Nhìn lại và đánh giá

1. Hiểu vấn đề

Hiểu vấn đề
“Thật ngớ ngẩn khi trả lời một câu hỏi bạn không hiểu. Thật đáng buồn khi làm việc để ra một kết quả bạn không mong muốn.” – George Polya, How to solve it. Nguồn ảnh: Rawpixel

Trước khi đi tìm giải pháp, cần phải trình bày được tất cả các yếu tố của vấn đề để hiểu nó rõ hơn.

Bạn có thể nêu vấn đề trong một câu không?

Bài tập nhỏ này rất hữu ích: thuyết phục bản thân rằng bạn đã hiểu mục tiêu và không tốn quá nhiều năng lượng để hiểu nó nữa khi đang tập trung giải quyết vấn đề.

Như được đề cập trong sách The Pragmatic Programmer, khi lập trình viên debug với “vịt cao su” chính là buộc bản thân phải hiểu rõ vấn đề để có thể dạy nó cho người khác.

Debug bằng vịt cao su
Kỹ thuật debug đỉnh cao với vịt cao su: Bạn có giải thích được vấn đề cho người khác

Có những ràng buộc nào cần phải đáp ứng không?

Những ràng buộc cần đáp ứng
“Trước hết, hãy hiểu vấn đề một cách tổng thể. Từ đó, ta mới có thể đánh giá những điểm cụ thể nào là quan trọng nhất. Sau khi xem xét một hoặc hai điểm trọng yếu, ta mới có thể đánh giá xem chi tiết nào đáng để điều tra kỹ hơn. Hãy đi vào sâu chi tiết và phân tích vấn đề dần dần, nhưng không đi xa hơn mức mình cần.” – George Polya, How to solve it. Ảnh: Freepik

Những hạn chế trong vấn đề bạn đang giải quyết là gì?

Hãy viết chúng ra. Nó có thể là một comment phía trên dòng đầu tiên của một hàm bạn viết, một danh sách các gạch đầu dòng trên đầu tài liệu thiết kế.

Điều quan trọng là phải tập trung vào chúng khi cố gắng tìm giải pháp.

Gỡ bỏ nhiều ràng buộc khỏi bộ não cũng là một cách loại bỏ một số quả bóng khi tâm trí ta chơi trò “tung hứng” trong khi cố gắng đưa ra một ý tưởng hay.

Ngoài ra, hãy cẩn thận nếu có quá nhiều ràng buộc.

Theo Polya, nếu xem xét quá nhiều chi tiết cùng một lúc, bạn có thể lạc lối. Chúng có thể khiến bạn mất tập trung vào điểm chính yếu hoặc thậm chí không nhìn thấy điểm chính yếu đó.

Bạn có thể vẽ hình minh họa hay một hệ thống ký hiệu phù hợp?

Vẽ minh họa hay hệ thống ký hiệu
Vẽ minh họa hay hệ thống ký hiệu “Một bước quan trọng khi giải toán là chọn hệ thống ký hiệu. Điều này cần được thực hiện một cách cẩn thận. Làm được ta sẽ tiết kiệm thời gian cho sau này do tránh được những do dự và nhầm lẫn không đáng.” – George Polya, How to solve it. Nguồn ảnh: Sarah Pflug – Burst

Các bản vẽ hay phác thảo sẽ giúp bỏ bớt một số suy nghĩ ra giấy và tạo nhiều khoảng trống hơn cho bộ não tập trung vào những phần khó.

Hãy chọn hệ thống ký hiệu giúp bạn hiểu rõ mọi thứ hơn: diagram, flowchart….

2. Lập kế hoạch

Lập kế hoạch
“Ta có kế hoạch khi biết, hoặc ít nhất là biết sơ bộ, mình phải thực hiện những phép tính, thuật toán hoặc cấu trúc nào để tìm ra lời giải. Con đường từ hiểu vấn đề đến hình thành một kế hoạch có thể dài và quanh co. Thành tựu chính khi tìm ra giải pháp là hình thành ý tưởng về một kế hoạch.” – George Polya, How to solve it. Nguồn ảnh: ThisIsEngineering – Pexels

Giải quyết vấn đề trên giấy trước. Việc viết code luôn có vẻ dễ dàng hơn trong đầu và trở nên phức tạp hơn nhiều khi làm nó chạy được.

Đừng làm cả hai việc cùng một lúc. Đầu tiên, hãy giải quyết vấn đề. “Chạy thử” một ví dụ trên sổ hoặc trên pseudocode. Sau đó, chạy trên máy.

Bạn có biết một vấn đề liên quan?

Bạn cần biết ít nhất loại vấn đề hoặc nhóm vấn đề bạn đang giải quyết. Đối với dân phần mềm, hãy thử trả lời những câu hỏi sau:

  • Đây có phải là vấn đề kiến ​​trúc không?
  • Có những mẫu kiến ​​trúc nào thường được sử dụng trong kịch bản này không?
  • Vấn đề này có nhiều hơn ở cấp độ của một giải thuật không?
  • Có giải thuật đã được chứng minh có thể giải quyết loại vấn đề này không?

Khi có thể tìm thấy một vấn đề liên quan đến vấn đề của mình và đã được giải quyết trước đó, bạn nên ăn mừng.

Đặt tiếp câu hỏi: “Mình có thể sử dụng nó không?”

Nhiều vấn đề có thể có một số điểm chung, nhưng những vấn đề có chung các yêu cầu hoặc nền tảng cốt lõi nhất có lẽ sẽ hữu ích nhất.

Bạn có thể trình bày lại vấn đề được không?

Bạn có thể nhìn nhận vấn đề ở một góc độ khác? Có thể bỏ một phần điều kiện hoặc một số yêu cầu không? Có thể nêu vấn đề này theo một kịch bản cụ thể hơn không?

Nếu đang viết các bài test, hãy thử nghĩ đến các ví dụ đơn giản được tạo ra chỉ bởi các điều kiện cụ thể của vấn đề để tìm ra giải pháp cuối cùng, tổng quát hơn.

Điều này dẫn chúng ta đến…

Nếu không thể giải quyết vấn đề được đề xuất, hãy cố giải quyết một số vấn đề liên quan trước tiên

Hoặc một vấn đề liên quan và đơn giản hơn.

Giống như viết phần mềm hiệu quả, việc thực hiện giải quyết vấn đề hiệu quả có thể được coi là một quá trình mang tính tịnh tiến.

Đừng cố làm mọi thứ cùng một lúc.

Xây dựng code cuối cùng hoặc thậm chí là các sơ đồ và ý tưởng thiết kế hệ thống là một quá trình sẽ mang lại lợi ích rất nhiều từ việc thực hiện điều tương tự cho các vấn đề quy mô nhỏ hơn.

3. Thực hiện kế hoạch

Thực hiện kế hoạch
“Đề ra phương án, hình thành ý tưởng giải pháp không hề đơn giản. Ta cần rất nhiều yếu tố để thành công: kiến ​​thức tích lũy, thói quen tư duy, sự tập trung và may mắn. Thực hiện kế hoạch lại dễ hơn nhiều; yếu tố chủ chốt là kiên nhẫn.” – George Polya, How to solve it. Nguồn ảnh: Pixabay

Phiên bản dành cho lập trình viên của câu trên là “Nghĩ trước, code sau”. Khi đã hiểu các bước của giải thuật hoặc thiết kế hệ thống, việc triển khai sẽ dễ dàng hơn rất nhiều.

Polya cho rằng những người giải toán giỏi có khả năng kiểm tra từng bước trong giải pháp sau khi hoàn thành và chất vấn từ đầu đến cuối.

Chỉ một dòng suy nghĩ về phân tích, phép toán sai sẽ làm hỏng mọi thứ.

Điều này có vẻ không mang đến nguy hiểm tức thì trong lập trình phần mềm, nhưng nó có thể là nguy hiểm chí mạng, vì bug nghiêm trọng sẽ xuất hiện trong thời điểm tồi tệ nhất – và có thể trong trường hợp rất cụ thể.

Điều này có nghĩa là cần có phạm vi kiểm thử tốt.

Nếu không kiểm thử, bạn sẽ không chất vấn, cứ tự tin coi giải pháp của mình là hoàn hảo.

Rất hữu ích khi có tư duy “Nó sẽ có lỗi chứ?” và liên tục đưa ra tất cả các kịch bản thất bại khác nhau trong giải pháp của mình và tư duy này sẽ được thể hiện rõ trong các bài test phần mềm.

4. Nhìn lại

Nhìn lại
“Ngay cả học sinh khá giỏi, khi đã có được lời giải bài toán và viết xong các lập luận, các bạn liền đóng tập lại. Các bạn đã bỏ lỡ một giai đoạn quan trọng. Khi nhìn lại bài giải, xem xét và nhìn nhận lại kết quả và con đường dẫn đến nó, các bạn có thể củng cố kiến ​​thức và phát triển khả năng giải quyết vấn đề của mình.” – George Polya, How to solve it. Nguồn ảnh: Reshot

Không nhìn lại và đánh giá sự đánh đổi của giải pháp thường xảy ra khi mọi thứ được thực hiện trong vội vàng.

Nếu đó là một giải thuật, bạn có thể nói rõ độ phức tạp về thời gian và không gian không? Code có đọc tốt không?

Nếu đang đưa ra quyết định sẽ có tác động đến toàn hệ thống, hãy ghi ra những đánh đổi.

Dành một giờ để xem xét lại kết quả công việc sẽ giúp bạn tiết kiệm hơn rất nhiều sau này.

Bạn có thể nghỉ ngơi rồi quay lại với nó sau. Việc đắm chìm sâu vào vấn đề đang giải quyết có thể sẽ khiến bạn quên mất những chi tiết liên quan.

Ngoài ra, giải pháp cho vấn đề cụ thể đó có thể được tổng quát hóa để được sử dụng trong nhiều tình huống.

Dùng sự nhạy bén và tư duy cẩn thận để tạo ra những abstraction mới là một cách giải quyết vấn đề đó cho những người khác đối mặt với nó sau này.

Kết

Dù là một cuốn sách dạy giải toán, nhưng How to solve it của George Polya với những lời khuyên vượt thời gian của ông lại hữu ích với dân lập trình như tôi khi tập giải quyết vấn đề bởi lập trình thực sự là một quá trình sử dụng nhiều tư duy và kỹ năng giải quyết vấn đề hiệu quả.

Theo Douglas Navarro

Categories
Gambaru News

5 Xu hướng phát triển phần mềm cần năm 2021

Làm việc từ xa và giãn cách xã hội ảnh hưởng lớn đến hầu hết mọi người; song khi nói đến chuyển đổi kỹ thuật số và phần mềm, mọi thứ vẫn diễn ra sôi nổi hơn bao giờ hết.

Đại dịch đã buộc rất nhiều doanh nghiệp phải thay đổi và thích ứng sự hiện diện trực tuyến của mình bằng cách này hay cách khác.

Đồng thời, các dịch vụ phát triển phần mềm trở nên ngày càng quan trọng.

Đây là lý do tại sao việc cập nhật các xu hướng hiện tại đang diễn ra trong ngành là vô cùng cần thiết.

5 Xu hướng phát triển phần mềm thống trị năm 2021

Dưới đây là một số xu hướng dự đoán sẽ thống trị lĩnh vực phát triển phần mềm cho năm 2021. Hãy cùng Gambaru cập nhật và thảo luận!

1. Điện toán không máy chủ (Serverless Architecture)

Serverless Architecture
Serverless Architecture. Ảnh: AWS Amazon

Điện toán không máy chủ là sự kết hợp của Chức năng như một Dịch vụ (stateless Function as a Service – FasS), chẳng hạn như AWS Lambda và Máy chủ lưu trữ như một Dịch vụ (stateful storage Backend as a Service – BaaS), chẳng hạn như AWS S3.

“Theo định nghĩa của chúng tôi, một dịch vụ được coi là không có máy chủ khi nó cho phép thanh toán dựa trên mức độ sử dụng, tự động mở rộng quy mô mà không cần cấp quyền thủ công.”

– A Berkeley View on Serverless Computing
  • Điện toán không máy chủ là nơi các dịch vụ đám mây được quản lý hoàn toàn. Nó cho phép ta viết code để phát triển ứng dụng mà không cần quản lý hoặc duy trì các cơ sở hạ tầng, chẳng hạn như máy chủ.
  • Điện toán không máy chủ hỗ trợ phương thức thanh toán: dùng bao nhiêu thanh toán bấy nhiêu. So với các nền tảng điện toán truyền thống, điện toán không máy chủ cho phép người dùng lựa chọn phương thức thanh toán dựa trên các tình huống cụ thể, giúp giảm chi phí.
  • Điện toán không máy chủ hướng đến ứng dụng, khác với các nền tảng điện toán hướng đến tài nguyên, chẳng hạn như các máy ảo và container.

Tham khảo sơ đồ kiến ​​trúc của một ứng dụng không máy chủ 100% để biết thêm cách thức hoạt động.

2. Framework đa nền tảng (Multi-Platform Frameworks)

Với lập trình đa nền tảng, cùng một đoạn code sẽ có khả năng chạy được trên nhiều nền tảng khác nhau.

Đa nền tảng ngày càng trở nên phổ biến vì ta có thể sử dụng lại rất nhiều code của dev và các công việc khác.

Ví dụ, một ứng dụng có thể dùng Kotlin/JVM cho back-end và Kotlin/JS cho front-end.

Điều này mang đến một số lợi ích: ngoài cú pháp, nó còn cho phép chia sẻ library và paradigm (chẳng hạn như sử dụng coroutines), trên cả front-endback-end.

Sử dụng Kotlin cũng giúp viết các lớp và hàm có thể được sử dụng cho cả JVM và JS.

Ta còn có thể sử dụng KMM (Kotlin Multiplatform Mobile) để tạo một ứng dụng di động hoạt động trên cả iOS và Android!

Kotlin Multiplatform Mobile
Kotlin Multiplatform Mobile. Nguồn ảnh: Kotlin
Phát triển ứng dụng hoàn chỉnh mà chỉ sử dụng 1 ngôn ngữ lập trình
Ta hoàn toàn có thể phát triển một ứng dụng hoàn chỉnh chỉ sử dụng một ngôn ngữ lập trình. Nguồn ảnh: Freepik

3. Công nghệ Low-Code/No-Code

Lập trình low-code cho phép doanh nghiệp nhanh chóng xây dựng và triển khai các ứng dụng phần mềm mà không cần đến một lập trình viên chuyên nghiệp.

Thay vì viết từng dòng code cho một ứng dụng nhất định, người dùng của nền tảng low code hoặc no code có thể xây dựng các dự án bằng giao diện point-and-click.

Bằng cách này, doanh nghiệp có thể tạo website từ các building block được lập trình sẵn, thiết lập trao đổi dữ liệu với các giải pháp CRM, bổ sung tính năng thanh toán trực tuyến qua Stripe và thậm chí thu thập phản hồi của khách hàng qua Google Forms hoặc một nhà cung cấp khác.

Công nghệ Low Code / No Code
Các doanh nghiệp có thể tiết kiệm thời gian và nguồn lực với công nghệ low code/no code. Ảnh: Rawpixel

Gartner dự đoán rằng hơn một nửa số doanh nghiệp vừa đến lớn sẽ áp dụng các nền tảng ứng dụng low-code trong vòng hai năm tới.

Các công cụ như Salesforce Flow Builder giúp người dùng tạo quy trình làm việc kỹ thuật số từ đầu đến cuối.

Công cụ này cũng tự động hóa các quy trình.

Nó có các thành phần và dịch vụ để người dùng lựa chọn và sử dụng lại.

Cộng đồng các nhà phát triển ứng dụng của Salesforce Flow Builder là một cộng đồng lớn, được hỗ trợ tích cực.

4. Sự thống trị của Native App

Sự thống trị của Native app
Native App mang đến trải nghiệm người dùng xuất sắc. Ảnh: cottonbro – Pexels

Trước xu hướng cross-platform và sự nổi lên của Flutter hiện nay, sẽ thật lạ khi tôi đưa ra dự đoán trên; nhưng quả thực, khi nói đến việc cung cấp trải nghiệm người dùng tốt hơn và hiệu suất mạnh mẽ hơn, bạn phải sử dụng native app.

Ngày càng có nhiều doanh nghiệp đầu tư vào các ứng dụng gốc cho iOS và Android để mang đến cho người dùng trải nghiệm xuất sắc.

Tuy nhiên, tôi thực sự cảm thấy rằng Flutter có một tương lai rất hứa hẹn. Flutter đã có cú chạy đà tốt và kết quả rất khả quan.

Tham khảo thêm bài so sánh chuyên sâu về Flutter và các ứng dụng gốc tại đây.

Nếu là dev về native app và chịu khó học thêm về Flutter thì bạn sẽ càng có nhiều lợi thế.

Với sự thống trị ngày càng tăng của hệ điều hành iOS và Android trên thị trường, việc đầu tư vào phát triển ứng dụng dường như khó mà suy giảm.

5. AI và ML

Artificial Intelligence – trí tuệ nhân tạoMachine Learning – học máy đã trở thành tâm điểm nóng trong một thời gian dài – và sẽ tiếp tục như vậy vì rất nhiều tiềm năng khả thi chúng mang lại.

AI và Machine Learning
Tiềm năng vô hạn từ Artificial Intelligence và Machine Learning. Nguồn ảnh: Alex Knight – Unsplash

Chúng ta chỉ mới bắt đầu khám phá các khả năng đó mà thôi.

Ví dụ, ta đang hướng tới một tương lai với xe hơi không người lái, hay sử dụng drone không người lái để giám sát tình hình giãn cách xã hội trong thời kỳ đại dịch.

Klarna, một trong những start-up kỳ lân lớn nhất châu Âu, đã sử dụng AI và ML để cá nhân hóa trải nghiệm thanh toán cho khách hàng.

Các công cụ và nền tảng AI đã sẵn sàng để giúp các doanh nghiệp nắm bắt cách khách hàng của mình đang thích ứng ra sao với thực tại mới hậu đại dịch.

“Nghiên cứu AI mới nhất của chúng tôi cho thấy 86% doanh nghiệp hiện đang gặt hái được những lợi ích từ trải nghiệm khách hàng tốt hơn thông qua AI và 25% doanh nghiệp áp dụng AI sẽ có doanh thu tăng trong năm 2021 nhờ vào công nghệ này. Đại dịch COVID-19 đã hé mở những giá trị của AI, hoàn toàn phù hợp với việc cải thiện các nhiệm vụ liên quan đến lập kế hoạch nguồn nhân lực, lập mô phỏng và dự báo nhu cầu.”

– Rohan Amin, CIO của Chase

Trong năm 2021 này, khả năng bổ sung các năng lực AI tiên tiến vào các dự án và quy trình kinh doanh sẽ là cực kỳ quan trọng đối với các doanh nghiệp, đặc biệt với doanh nghiệp mong muốn đạt được những bước tiến đột phá trong ngành.

Tham khảo:

  1. Kotlin MPP
  2. Gartner report
  3. Serverless days 2020

Theo Manish Jain

Categories
Dev's Corner

Các thuật toán tìm kiếm

Mục đích chính của thuật toán tìm kiếm là để kiểm tra một phần tử hoặc truy xuất nó từ bất kỳ cấu trúc dữ liệu nào. Các thuật toán tìm kiếm này được phân loại thành hai phần, thường là dựa trên kiểu tìm kiếm.

1. Tìm kiếm tuần tự (Sequential search)

Danh sách hoặc mảng được duyệt qua (traverse) tuần tự và mọi phần tử đều được kiểm tra. Ví dụ: Tìm kiếm tuyến tính

2. Tìm kiếm theo khoảng thời gian (Interval search)

Được thiết kế cho các cấu trúc dữ liệu được sắp xếp và hiệu quả hơn giải thuật tìm kiếm tuần tự vì giải thuật này liên tục nhắm đến trung tâm của cấu trúc dữ liệu và chia đôi không gian tìm kiếm. Ví dụ: Tìm kiếm nhị phân

Trong bài viết này, chúng ta sẽ thảo luận về hai thuật toán tìm kiếm: tìm kiếm tuyến tínhtìm kiếm nhị phân.

Tìm kiếm tuyến tính (Linear Search)

Tim kiếm tuyến tính (Linear search)
Tim kiếm tuyến tính (Linear search). Ảnh: GeeksforGeeks

Giải thuật này rất đơn giản, độ phức tạp là O(N). Một tìm kiếm tuần tự được thực hiện cho từng phần tử trong cấu trúc dữ liệu.

Nếu kết quả phù hợp được tìm thấy, nó sẽ được trả về; nếu không, quá trình tìm kiếm sẽ tiếp tục cho đến hết cấu trúc dữ liệu.

Cách tìm kiếm tuyến tính hoạt động

Giả sử ta muốn tìm giá trị x trong mảng A.

Cách tìm kiếm tuyến tính hoạt động
Cách tìm kiếm tuyến tính hoạt động

Pseudocode

Tìm kiếm tuyến tính - Pseudocode
Tìm kiếm tuyến tính – Pseudocode

Java code

Tìm kiếm tuyến tính - Java code
Tìm kiếm tuyến tính – Java code

Tìm kiếm nhị phân (Binary Search)

Tìm kiếm nhị phân - Binary search.Tìm kiếm nhị phân - Binary search.Tìm kiếm nhị phân - Binary search.
Tìm kiếm nhị phân – Binary search. Ảnh: GeeksforGeeks

Đây là một giải thuật tìm kiếm nhanh độ phức tạp là O(logN).

Giải thuật O(logN) được xem là có tính hiệu quả cao vì tỷ lệ giữa số lượng hoạt động so với kích thước của input giảm và có xu hướng bằng không khi N tăng lên. (N là kích thước input tính bằng đơn vị bit cần để đại diện cho input đó).

Việc thu thập dữ liệu phải ở dạng được sắp xếp để giải thuật này hoạt động chính xác.

Cách tìm kiếm nhị phân hoạt động

Tìm kiếm nhị phân tìm kiếm một phần tử cụ thể bằng cách so sánh với phần tử nằm ở ngay chính giữa của mảng.

Nếu kết quả tìm kiếm khớp, thì index của phần tử này sẽ được trả về. Nếu kết quả không khớp, nó sẽ kiểm tra xem phần tử ở giữa có lớn hơn item này hay không, sau đó nó sẽ tìm kiếm phần tử này trong mảng con bên trái của phần tử ở giữa.

Trường hợp phần tử ở giữa nhỏ hơn, nó sẽ tìm kiếm phần tử trong mảng con ở bên phải của phần tử ở giữa. Cho đến khi kích thước mảng con giảm xuống còn 0, quá trình này sẽ tiếp tục tại mảng con.

Để tìm kiếm nhị phân hoạt động, mảng phải được sắp xếp trước.

Giải thuật

Giả sử ta muốn tìm giá trị x trong mảng A đã sắp xếp.

Cách tìm kiếm nhị phân hoạt động
Cách tìm kiếm nhị phân hoạt động

Pseudocode

Tìm kiếm nhị phân - Pseudocode
Tìm kiếm nhị phân – Pseudocode

Java code

Tìm kiếm nhị phân - Jave code
Tìm kiếm nhị phân – Jave code

Đây là hai giải thuật tìm kiếm được sử dụng phổ biến nhất. Hãy cùng theo dõi các bài viết tiếp theo và thảo luận cùng Gambaru các giải thuật hữu ích khác.

Theo Pulsara Sandeepa