Home Blog Page 12

Từ Sao Chép đến Lãnh Đạo: Khám Phá 6 Năm Kinh Nghiệm Thiết Kế và Quản Lý Sản Phẩm

Ngành công nghệ phát triển dựa trên sự đổi mới, nhưng hành trình từ ý tưởng đến một sản phẩm thành công hiếm khi là tuyến tính. Nó được lát bằng những thách thức, những bước ngoặt và những bài học khó khăn mà cuối cùng không chỉ định hình nên những sản phẩm chúng ta sử dụng mà còn cả những chuyên gia mà chúng ta trở thành. Tony Lê, một chuyên gia UX/UI và Quản lý Sản phẩm dày dạn kinh nghiệm với bề dày lịch sử trong lĩnh vực công nghệ Việt Nam, đã chia sẻ những hiểu biết sâu sắc của mình trong bài thuyết trình “6-Year Journey Lessons Learned” (Bài học kinh nghiệm 6 năm). Trong bài phân tích chuyên sâu này, chúng ta sẽ đi sâu vào những thông điệp cốt lõi từ bài thuyết trình của anh, khám phá những kinh nghiệm và kiến thức anh thu thập được khi điều hướng thế giới năng động của phát triển sản phẩm kỹ thuật số.

Hành trình Xuyên Suốt Nhiều Lĩnh vực

Hành trình của Tony không chỉ giới hạn trong một lĩnh vực duy nhất; nó là minh chứng cho sức mạnh của khả năng thích ứng và chuyên môn đa lĩnh vực. Kinh nghiệm của anh trải dài trên một loạt các ngành:

  • Thương mại điện tử: Từ những đơn vị tiên phong như 6ix và Vatgia đến những cái tên thành danh như Adayroi và Websosanh, Tony đã chứng kiến tận mắt sự phát triển của mua sắm trực tuyến tại Việt Nam. Công việc của anh với các nền tảng như Haravan đã cung cấp cho anh những hiểu biết sâu sắc về các công cụ và cơ sở hạ tầng hỗ trợ cho các doanh nghiệp thương mại điện tử.

  • Công nghệ Tài chính (Fintech): Khi lĩnh vực công nghệ tài chính bùng nổ, Tony đã đi tiên phong, góp phần vào thành công của ví điện tử Momo, ngân hàng số Cake by VPBank và nền tảng blockchain Chainfund. Kinh nghiệm này đã cho anh tiếp xúc với thế giới phức tạp của trải nghiệm người dùng trong lĩnh vực tài chính, bảo mật và công nghệ mới nổi.

  • Đặt Chỗ Trực tuyến (OTA) và Dịch vụ Theo Yêu cầu: Việc tham gia vào VNTrip, một công ty du lịch trực tuyến hàng đầu, và nền tảng dịch vụ theo yêu cầu ‘be’ đã cung cấp cho anh những hiểu biết vô giá về hành vi người dùng trong ngành du lịch và dịch vụ. Hiểu được những sắc thái của những lĩnh vực này là rất quan trọng trong việc tạo ra những trải nghiệm kỹ thuật số liền mạch và thân thiện với người dùng.

  • Mua hàng Trong ứng dụng (IAP) và Ngành Công nghiệp Trò chơi: Công việc của Tony với Silverios, một nhà cung cấp IAP, đã cho anh cái nhìn thoáng qua về các chiến lược kiếm tiền và chiến thuật thu hút người dùng được sử dụng trong ngành công nghiệp trò chơi, một lĩnh vực được biết đến với sự đổi mới nhanh chóng và bối cảnh cạnh tranh khốc liệt.

Danh mục đầu tư đa dạng này nhấn mạnh một khía cạnh quan trọng trong hành trình của Tony: khả năng thích ứng, học hỏi và phát triển mạnh mẽ trong các lĩnh vực khác nhau. Mỗi trải nghiệm đều mang đến những thách thức và cơ hội học hỏi riêng biệt, cuối cùng định hình anh trở thành một chuyên gia phát triển sản phẩm toàn diện.

Từ sao chép đến lãnh đạo

Vượt ra ngoài Danh mục Đầu tư: Hé lộ Những Bài học Then chốt

Bài thuyết trình của Tony không chỉ đơn thuần là liệt kê các dự án; nó là kho tàng trí tuệ được chắt lọc thành những bài học thực tiễn. Hãy cùng đi sâu hơn vào sáu thông điệp chính:

1. Coi Sao chép như Bước đệm cho Đổi mới:

Bài học đầu tiên bắt nguồn từ công việc của anh ấy trên ứng dụng ‘be’. Anh thách thức quan niệm thông thường rằng sao chép là xấu, đặc biệt là trong giai đoạn đầu phát triển sản phẩm. Nhận thức được rằng những đơn vị tiên phong thường cung cấp những khuôn mẫu đã được chứng minh cho sự thành công, Tony ủng hộ việc sao chép có chọn lọc.

Tuy nhiên, anh nhấn mạnh sự khác biệt quan trọng: đưa ra những nét riêng biệt ý nghĩa. Không phải là sao chép trắng trợn, mà là hiểu điều gì hiệu quả, điều chỉnh nó cho phù hợp với bối cảnh của bạn và thêm vào đó giá trị độc đáo của riêng bạn. Cách tiếp cận này cho phép các sản phẩm mới nổi nhanh chóng đạt được sức hút trong khi vẫn tạo dựng được chỗ đứng riêng trên thị trường.

2. Thiết kế UX: Bản giao hưởng của Sự cộng tác:

Việc phát triển ứng dụng ‘be’ cũng mang đến một bài học quan trọng về bản chất của trải nghiệm người dùng. Khi ứng dụng gặp sự cố về định vị và định tuyến, nó đã nhấn mạnh một điểm quan trọng: Thiết kế UX không phải là trách nhiệm duy nhất của bộ phận UX/UI. Nó đòi hỏi sự hiểu biết và cam kết trên toàn công ty để ưu tiên hành trình của người dùng.

Từ các nhà phát triển đảm bảo chức năng hoạt động trơn tru cho đến các nhóm tiếp thị truyền tải chính xác giá trị của sản phẩm, mọi bộ phận đều đóng một vai trò trong việc định hình trải nghiệm người dùng. Cách tiếp cận toàn diện này thúc đẩy văn hóa lấy người dùng làm trung tâm trong tổ chức, dẫn đến các sản phẩm thực sự gây tiếng vang với đối tượng mục tiêu của họ.

3. Bước ra khỏi Vùng an toàn: Chất xúc tác cho Sự phát triển:

Việc Tony chuyển đổi từ Trưởng nhóm UX/UI sang vai trò kết hợp bao gồm cả trách nhiệm Quản lý Sản phẩm cấp cao là minh chứng cho sức mạnh của việc đón nhận thách thức. Bước ra khỏi vùng an toàn của mình đã thúc đẩy anh ấy tiếp thu những kỹ năng mới, mở rộng quan điểm và cuối cùng trở thành một tài sản linh hoạt và giá trị hơn.

Bài học này đúng với các chuyên gia ở mọi cấp độ: chủ động tìm kiếm những trách nhiệm mới, ngay cả khi chúng có vẻ khó khăn lúc ban đầu, là điều cần thiết cho sự phát triển cá nhân và nghề nghiệp. Việc nắm bắt tư duy này sẽ thúc đẩy văn hóa học tập liên tục và khả năng thích ứng, những đặc điểm cần thiết trong bối cảnh công nghệ luôn thay đổi.

4. Dấu hiệu của một Nhà lãnh đạo thực thụ: Luôn khao khát Học hỏi:

Dẫn dắt nhóm sản phẩm cho ra mắt Ngân hàng số Cake đã mang đến một bài học lãnh đạo quý báu. Tony nhận ra rằng là một nhà lãnh đạo không nhất thiết phải là người thông minh nhất trong phòng. Thay vào đó, nó đòi hỏi một điều gì đó quan trọng hơn: khả năng học hỏi và thích ứng nhanh chóng.

Trong thế giới công nghệ phát triển nhanh chóng, nơi thay đổi là điều không thể tránh khỏi, các nhà lãnh đạo cần tiếp thu thông tin mới, điều chỉnh chiến lược và dẫn dắt nhóm của họ vượt qua những vùng đất mới. Điều này nhấn mạnh tầm quan trọng của sự khiêm tốn, tính tò mò và sự sẵn sàng liên tục cập nhật kiến thức của bản thân.

5. Lắng nghe sâu sắc: Khám phá Gốc rễ của Vấn đề:

Vấn đề về tên người dùng Cake đã nêu bật một cạm bẫy phổ biến trong phát triển sản phẩm: xu hướng tìm kiếm giải pháp trước khi hiểu rõ vấn đề. Tony nhấn mạnh tầm quan trọng của việc lắng nghe tích cực và đặt câu hỏi thấu đáo. Thay vì ngay lập tức tìm kiếm giải pháp, điều quan trọng là phải đi sâu hơn, đặt câu hỏi làm rõ và thực sự hiểu được những điểm khó khăn và động lực của người dùng.

Cách tiếp cận này cho phép phát triển các giải pháp hiệu quả hơn và lấy người dùng làm trung tâm, vì nó giải quyết nguyên nhân gốc rễ thay vì chỉ giải quyết các triệu chứng bề mặt.

6. Phát triển: Thuốc giải độc cho Sự lỗi thời:

Bài học cuối cùng vượt ra ngoài các dự án cụ thể và nổi lên như một nguyên tắc chỉ đạo cho một sự nghiệp lâu dài trong lĩnh vực công nghệ: theo đuổi sự phát triển không ngừng. Tony nhấn mạnh rằng trong một ngành công nghiệp phát triển nhanh chóng, tự mãn không phải là một lựa chọn. Sự phát triển cá nhân và nghề nghiệp liên tục là điều cần thiết để duy trì sự phù hợp, khả năng thích ứng và khả năng cạnh tranh.

Sự phát triển này có thể diễn ra dưới nhiều hình thức: tiếp thu kỹ năng mới, mở rộng mạng lưới của bản thân, cập nhật xu hướng ngành hoặc tìm kiếm cơ hội cố vấn. Điều quan trọng là trau dồi tư duy học hỏi liên tục và chủ động tìm kiếm cách thức để phát triển và mở rộng chuyên môn của bản thân.

Vượt lên trên những Bài học: Nắm bắt Hành trình

Bài thuyết trình “6-Year Journey Lessons Learned” của Tony Lê mang đến cái nhìn thẳng thắn và sâu sắc về thực tế của thiết kế và phát triển sản phẩm. Câu chuyện của anh ấy nhấn mạnh rằng thành công trong lĩnh vực này không phải là tránh mắc sai lầm mà là học hỏi từ chúng, coi những thách thức là cơ hội để phát triển và thúc đẩy cách tiếp cận hợp tác và lấy người dùng làm trung tâm.

Khi chúng ta điều hướng thế giới công nghệ ngày càng phức tạp, những kinh nghiệm của Tony là kim chỉ nam quý giá, nhắc nhở chúng ta rằng bản thân hành trình, với những chông gai và thắng lợi không thể tránh khỏi, cũng quan trọng như đích đến. Bằng cách nắm bắt tư duy học hỏi liên tục, cộng tác và đồng cảm với người dùng, chúng ta có thể tạo ra những sản phẩm không chỉ đáp ứng mà còn vượt quá mong đợi của người dùng, để lại dấu ấn lâu dài trên bối cảnh kỹ thuật số.

Bài viết được tổng hợp và điều chỉnh bằng AI. Nội dung từ buổi thuyết trình của anh Tony Lê tại Vietnam Mobile Summit 2024

Cách sử dụng cookie trong PHP

Cách sử dụng cookie trong PHP

Bài viết được sự cho phép của tác giả Thầy Long Web

PHP và cookie nói về việc sử dụng các biến cookie với PHP: Tác dụng của cookie, Tạo biến cookie, lấy giá trị để dùng, xóa biến cookie…

Cookie là nơi lưu các giá trị trong trình duyệt. Các giá trị được lưu trong cookie có thể dùng chung giữa nhiều trang web trong website của bạn. Nghĩa là trong một trang web nào đó bạn lưu một giá trị vào cookie thì các trang web khác cũng có thể truy xuất được giá trị này.

Vùng Cookie nằm trong trình duyệt. Các giá trị được lưu vào cookie được gọi là biến cookie. Vùng Cookie  là nơi rất lý tưởng để lưu các giá trị mang lại tiện ích cho người xem web.

cookie-trong-php-1

Ví dụ một user nọ lần đầu vào trang của bạn. Bạn mời họ chọn ngôn ngữ để hiển thị, lần sau họ vào thì không hỏi nữa mà hiện đúng ngôn ngữ họ đã chọn trước đó. Do bạn đã lưu ngôn ngữ họ chọn vào cookie, giờ lấy ra dùng không hỏi gì nữa.

Cookie khác với session ở chỗ vị trí của nó là “ở client”. Nơi lưu trữ lâu dài các thông tin riêng của user trong quá trình sử dụng website.

Để tạo một biến cookie lưu trong trình duyệt thì dùng hàm setcookie. Tham số đầu tiên là tên biến, , tham số thứ hai là giá trị, tham số thứ ba là thời điểm mà biến cookie quá hạn. Nếu tham số thứ ba không có thì thời điểm quá hạn là khi user đóng tag trình duyệt. Ví dụ:

<?php
setcookie("tôngmàu", "xanh", time()+ 3600 ); //hết hạn sau 1 giờ
setcookie('username', 'teonv', time()+ 3600*24);//quá hạn sau 1 ngày
setcookie("đãlogin", 1); //hết hạn khi user đóng tab browser
?>

Sau khi response xong, biến cookie sẽ được tạo ra và lưu trong trình duyệt. Khi quá hạn trình duyệt sẽ tự động xóa biến cookie.

  Session, Cookie, Storage đơn giản mà dễ hiểu

  LocalStorage và Cookies - chọn cái nào để lưu JWT Tokens hiệu quả và an toàn?

Mảng $_COOKIE thứ quan trọng nhất cần biết trong chủ đề PHP và cookie. Vì mảng $_COOKIE là nơi chứa các biến cookie để bạn lấy ra dùng.

Lấy ra giá trị của 1 biến cookie , dùng cú pháp $_COOKIE[‘tên’];  Ví dụ:

<?php
  $un = $_COOKIE['username'];
  $mau = $_COOKIE['tôngmàu'];
  echo "$un  , $mau"; //teonv , xanh
?>

Nếu mể xóa 1 biến cookie trong trình duyệt dùng php thì Bạn dùng hàm setcookie nhưng chỉ định thời điểm quá hạn là số âm.  Ví dụ:

<?php
setcookie("username","",-1 ); //c3.php
?>

Tham khảo việc làm PHP lương cao tại TopDev

Muốn xem các biến cookie trong trình duyệt trình mở Developer Toolbox => vào tab Aplication => chọn mục Cookies bên cột trái => chọn domain website của bạn. Các biến cookie chưa hết hạn sẽ hiện hết ở đây. Và nếu muốn thì bạn có thể xóa hoặc chỉnh sửa giá trị của 1 biến cookue cũng được.

PHP và cookie

Mỗi lần user request lên server , trình duyệt sẽ gửi tất cả các biến cookie mà website bạn đã tạo lên server. Trên server, các biến cookie này được lưu vào mảng $_COOKIE , cho nên bạn mới có mà dùng.

Trình duyệt gửi cookie lên server

Các biến cookie có thể tồn tại trong trình duyệt 1 thời gian rất dài. Vài ngày vài tháng chẳng hạn. Khi các biến cookie quá hạn thì sao? Trình duyệt tự động xóa chúng. Bạn không cần phải lo.

Bài viết gốc được đăng tải tại longnv.name.vn

Xem thêm:

Xem thêm Việc làm IT hấp dẫn trên TopDev

Giải nghĩa các thuật ngữ phổ biến trong wordpress

Giải nghĩa các thuật ngữ phổ biến trong wordpress

Bài viết được sự cho phép của tác giả Thầy Long Web

Các thuật ngữ wordpress cần biết là bài viết cần thiết cho người mới làm quen với wordpress, giải thích những khái niệm cơ bản quan trọng.

Category trong wordpress

Trong wordpress, category là danh mục hay chuyên mục, hay một kiểu phân loại nội dung (taxonomy) để chứa nhiều item. Ví dụ post category (danh mục tin tức), product category (danh mục sản phẩm), room category (loại phòng)…

Widget trong wordpress

Widget là các box hiển thị nội dung gì đó bổ sung thêm ngoài thông tin chính của trang web. Các widget được đặt trong các thanh Sidebar.

Mặc định WordPress có sẵn các widget Recent Posts, Recent Comments, Meta (các liên kết quản trị), Archive (mục lưu trữ theo ngày tháng năm của post),… Website của bạn sẽ được bổ sung cá widget mới khi bạn cài plugin có hỗ trợ tạo widget, hoặc khi bạn cài theme.

Thanh sidebar

Sidebar là thanh nội dung phụ đặt bên cạnh nội dung chính ở phía trái hoặc phải. Sidebar có chiều rộng nhỏ hơn nội dung chính. Mỗi thanh sidebar chứa nhiều widget. Nhờ sidebar mà bạn có thể nhóm các widget lại thành từng nhóm và sắp thứ tự chúng.

Post type

Thành phần nào trong WordPress mà nó có chứa nội dung được gọi là Post Type. Mặc định WordPress đã có sẵn 5 post type là: Post, Page, Attachment, Revision, Nav Menu.

Trong đó, post type có tên Post và Page được dùng để đăng nội dung lên website như bài viết, trang giới thiệu,… Chúng ta cũng có thể tự tạo post type phù hợp với yêu cầu của mình.

Post trong wordpress

Post là bài viết. Khi muốn tạo 1 bài viết mới trong website, bạn sẽ tạo 1 post. Post một trong 5 post type mặc định của WordPress. Trong mỗi website, số lượng post sẽ rất nhiều, cho nên mỗi post sẽ được phân loại (mỗi post bạn sẽ đặt trong 1 category (loại ) nào đó.

Mỗi Post có hai taxonomy giúp phân loại đó là Category (loại ) và Tag (thẻ), giúp phân loại và tìm kiếm dễ dàng.

  Top 7 plugin hay ho cho blog sử dụng wordpress

  So sánh Wordpress và Drupal: Lựa chọn CMS nào sẽ tốt hơn?

Page trong wordpress

Page là trang – một tính năng giúp bạn tạo các trang đặc biệt trong website như trang giới thiệu website, liên hệ, trang hướng dẫn sử dụng.

Số lượng page trong website thường không nhiều, cho nên mỗi page không có phân loại.

Plugin trong wordpress

Plugin là thành phần giúp bổ sung thêm tính năng cho wordpress. Mỗi plugin chứa code PHP giúp thêm bớt các chức năng cho wordpress. Nhờ plugin, bạn có thể bổ sung thêm tính năng mới mà wordpress chuẩn không có.

Theme wordpress

Theme là giao diện của website wordpress, bạn có thể cài đặt nhiều theme nhưng tại mỗi thời điểm chỉ sử dụng một theme. Các theme của wordpress nằm trong thư mục wp-content/themes.

Dashboard

Dashboard là trang chủ của phần quản trị website wordpress và thường có đường dẫn là wp-admin.

Permalink là cấu trúc địa chỉ đẹp cho các bài viết, sản phẩm, category… Thường admin sẽ cấu hình để chọn cấu trúc cho permalink để các search engine đánh giá tốt hơn và nâng cao thứ hạng của website của mình.

Tham khảo việc làm WordPress hấp dẫn trên TopDev!

Excerpt

Excerpt là đoạn text mô tả nội dung của bài viết. Nếu trong bài viết chưa có thiết lập Excerpt thì nó sẽ lấy một phần đầu của nội dung làm excerpt.

Featured là hình đại diện cho bài viết, thường được dùng để hiển thị hình ảnh cho bài viết.

functions.php

Functions.php là ột file bắt buộc có trong tất cả các theme của WordPress. File này chứa những code PHP luôn được thực thi mỗi lần có request đến. Nơi đây bạn có thể khai báo các cấu hình, hay bổ sung thêm các tính năng mới trong website của bạn.

Responsive

Responsevive dùng để chỉ các giao diện được thiết kế theo chuẩn Responsive, nghĩa là giao diện có thể hiển thị tốt trên nhiều kích thước màn hình khác nhau, như điện thoại, máy tính bảng, desktop.

Shortcode trong wordpress

Shortcode là mã đặt biệt đại diện cho một nội dung nào đó. Một shortcode trông giống như một thẻ HTML, nhưng bao quanh là dấu ngoặc vuông. Mã này được thay thế khi trang được thực sự request từ user. Ví dụ shortcode trong website sau của Thầy Long khi hiện ra trang web sẽ thành 1 bài thi trắc nghiệm.

Slug của bài viết

Với mỗi bài viết, page hay category thì slug là địa chỉ thân thiện hay địa chỉ đẹp. Slug giúp địa chỉ của trang dễ xem hơn, các search engine đánh giá tốt hơn.

Địa chỉ như sau là không thân thiện:

https://www.google.com/search?q=viet+nam&sxsrf=ALeKk01&ei=SF2XYI&oq=viet+nam&gs_lcp=Cgdn&sclient=gws-wiz&ved=0ahUKEwi&uact=5

Địa chỉ như sau là thân thiện, dễ xem :

https://longnv.name.vn/su-dung-wordpress/cac-thuat-ngu-trong-wordpress-can-biet
https://longnv.name.vn/su-dung-wordpress/bat-dau-voi-wordpress

Tag của bài viết

Tag là một trong những thông tin của mỗi bài viết trong WordPress. Nó dùng để diễn tả những keyword chính (quan trọng) của mỗi bài. Khi bạn nhập 1 bài viết, bài đó những từ quan trọng nào mà bạn nghĩ người ta sẽ search để hiệc ra thì gõ vào mục tag này. Mỗi bài viết có thể nhập vào nhiều tag.

Theme options

Mỗi theme của wordpress đều có 1 chỗ để bạn cấu hình nó. Chỗ đó gọi là Theme Options.

Child theme trong wordpress

Chield theme là theme con, nó kế thừa toàn bộ theme cha, bạn có thể chỉnh sửa theme con mà không cần đụng tới theme cha.

Child theme mang lại 2 lợi ích: không chỉnh sửa trên trực tiếp trên theme gốc và không thay đổi khi update theme cha.

Custom field trong wordpress

Custom field là cột thông tin bổ sung thêm tùy ý admin. Đây là tính năng nổi bật trong WordPress giúp bạn có tùy biến cao hơn website của mình. Cụ thể là nó giúp tạo thêm các field mới bổ sung vào trong các post type.

Ví dụ : với các post, bạn bổ sung thêm cột custom field : số lần xem, tác giá… Với các quyển sách, bạn có thể thêm các custom field như số trang, nhà xuất bản, loại giấy…

Revisions của bài viết

Mặc định, wordpress lưu bài viết của bạn thành nhiều revision khi bạn thực hiện lưu trang. Làm như vậy để giúp bạn restore bài viết khi muốn dùng lại nội dung trước đây. Tuy nhiên, đa số website không dùng tính năng này vì nó khá thừa và làm phình to database thêm. Để tắt tính năng này bạn thêm vào file wp-config.php dòng sau:

define('WP_POST_REVISIONS', false );

RSS

RSS (Really Simple Syndication) là kỹ thuật được sử dụng để chia sẻ nội dung web theo chuẩn XML. User dùng các chương trình đọc tin RSS để xem nhanh các tin mới nhất từ các website chia sẻ RSS.

Bài viết gốc được đăng tải tại longnv.name.vn

Xem thêm:

Dev đừng bỏ lỡ Top tin tuyển dụng IT tại TopDev nhé!

Chiến lược thành công cho doanh nghiệp: Agile vs OKR

OKR thumbnail

Trong kỷ nguyên bùng nổ công nghệ và biến động kinh tế không ngừng, các doanh nghiệp phải đối mặt với vô số thách thức để duy trì vị thế cạnh tranh và phát triển bền vững. Để vượt qua những thử thách này, việc áp dụng các chiến lược và kỹ năng quản lý tiên tiến là điều vô cùng quan trọng. Agile và OKR (Objectives and Key Results) nổi lên như hai phương pháp hiệu quả giúp doanh nghiệp thích nghi nhanh chóng, tăng cường hiệu quả hoạt động và đạt được mục tiêu đề ra.

Agile: Linh Hoạt và Hiệu Quả

Agile là phương pháp quản lý dự án và phát triển phần mềm đề cao sự linh hoạt, thích ứng và hợp tác. Thay vì tuân theo quy trình cố định, Agile chia nhỏ dự án thành các giai đoạn ngắn (sprint) và liên tục thu thập phản hồi để điều chỉnh và cải tiến sản phẩm. Nhờ vậy, Agile giúp doanh nghiệp:

  • Tăng cường sự tập trung vào khách hàng: Nhu cầu của khách hàng luôn được ưu tiên hàng đầu, đảm bảo sản phẩm đáp ứng đúng thị hiếu và mong muốn.
  • Nâng cao hiệu quả và chất lượng: Phát triển sản phẩm theo từng phần nhỏ giúp kiểm soát tốt chất lượng, giảm thiểu rủi ro và tối ưu hóa nguồn lực.
  • Thúc đẩy sự hợp tác và đổi mới: Môi trường làm việc cởi mở khuyến khích chia sẻ ý tưởng, sáng tạo và giải quyết vấn đề hiệu quả.
  • Tăng cường khả năng thích ứng: Dễ dàng điều chỉnh kế hoạch và quy trình theo thay đổi của thị trường hoặc yêu cầu của khách hàng.

OKR: Quản Lý Mục Tiêu Hiệu Quả

OKR là hệ thống quản lý mục tiêu giúp doanh nghiệp xác định và đạt được những mục tiêu quan trọng. OKR bao gồm:

  • Mục tiêu (Objectives): Mô tả những thành tựu mà doanh nghiệp mong muốn đạt được, thường mang tính định tính và truyền cảm hứng.
  • Kết quả chính (Key Results): Là những chỉ số cụ thể, định lượng và có thể đo lường được để đánh giá mức độ hoàn thành mục tiêu.

OKR mang lại nhiều lợi ích cho doanh nghiệp:

  • Liên kết mục tiêu cá nhân và tập thể: Tạo sự đồng thuận và tập trung chung vào các mục tiêu quan trọng của tổ chức.
  • Tăng cường sự tập trung vào kết quả: Đánh giá hiệu suất dựa trên kết quả thực tế, thúc đẩy sự nỗ lực và trách nhiệm của cá nhân.
  • Nâng cao khả năng theo dõi và đo lường: Theo dõi tiến độ liên tục và điều chỉnh mục tiêu khi cần thiết.

agile vs okr

Vai Trò và Kỹ Năng Mới Trong Môi Trường Agile và OKR

Môi trường làm việc Agile và OKR đòi hỏi những vai trò và kỹ năng mới để đáp ứng nhu cầu thay đổi:

  • Scrum Master: Điều phối và hướng dẫn nhóm thực hiện dự án theo phương pháp Scrum, đảm bảo quy trình hoạt động hiệu quả.
  • Product Owner: Chịu trách nhiệm về tầm nhìn sản phẩm, quản lý backlog sản phẩm và làm cầu nối giữa khách hàng và đội phát triển.
  • OKR Champion: Lãnh đạo triển khai OKR trong tổ chức, hỗ trợ các đội nhóm thiết lập và theo dõi mục tiêu.
  • Chief of Staff: Hỗ trợ lãnh đạo và quản lý các dự án chiến lược, đảm bảo chiến lược được thực hiện hiệu quả.
  • Agile Lead: Dẫn dắt và triển khai văn hóa Agile trong tổ chức, thúc đẩy sự linh hoạt và cải tiến liên tục.
  • Agile Coach: Đào tạo và hỗ trợ các đội nhóm áp dụng phương pháp Agile, giải quyết các vấn đề và thách thức trong quá trình chuyển đổi.
  • Product Designer: Thiết kế sản phẩm đáp ứng nhu cầu của khách hàng và thị trường, tạo ra trải nghiệm người dùng tốt nhất.

Nhu cầu học tập và các loại chứng chỉ

Nhu cầu về các kỹ năng mới đòi hỏi nhân viên phải không ngừng học tập và phát triển. Các khóa học và chứng chỉ uy tín về Agile và OKR giúp nâng cao kiến thức và năng lực cho nhân viên, bao gồm:

  • ChiefofStaffAcademy.com: Cung cấp các khóa học chuyên sâu về Agile, OKR và quản lý dự án.
  • Asia PMO: Tổ chức các sự kiện và khóa học về quản lý dự án và OKR, cung cấp kiến thức thực tiễn và ứng dụng hiệu quả.
  • OKR Champ: Chương trình chứng nhận OKR dành cho Việt Nam, giúp tổ chức và cá nhân triển khai thành công OKR.

Các loại kỹ năng mềm quan trọng bạn nên học:

Bên cạnh kỹ năng chuyên môn, các kỹ năng mềm cũng đóng vai trò quan trọng trong môi trường làm việc Agile và OKR:

  • Sáng tạo và độc đáo: Khả năng đưa ra ý tưởng mới mẻ, giải quyết vấn đề hiệu quả và tạo ra lợi thế cạnh tranh.
  • Trí tuệ cảm xúc và đồng cảm: Hiểu rõ cảm xúc bản thân và người khác, xây dựng mối quan hệ tốt đẹp và thúc đẩy hợp tác hiệu quả.
  • Tư duy phản biện và tư duy logic: Phân tích thông tin khách quan, đưa ra quyết định sáng suốt và giải quyết vấn đề phức tạp.
  • Giải quyết vấn đề phức tạp: Khả năng phân tích, đánh giá và đưa ra giải pháp sáng tạo cho các vấn đề khó khăn.
  • Khả năng thích nghi và linh hoạt: Dễ dàng thích nghi với thay đổi, duy trì hiệu quả công việc và phát triển trong môi trường biến động.
  • Đạo đức và tự nhận thức: Hiểu rõ giá trị đạo đức và trách nhiệm cá nhân, xây dựng uy tín và thúc đẩy văn hóa doanh nghiệp lành mạnh.

Lời khuyên chân thành:

  • Doanh nghiệp nên xây dựng lộ trình chuyển đổi Agile và OKR phù hợp với văn hóa và đặc thù của tổ chức.
  • Lãnh đạo cần cam kết và tạo điều kiện cho việc áp dụng Agile và OKR thành công.
  • Cần truyền thông hiệu quả để nhân viên hiểu rõ mục tiêu, lợi ích và cách thức áp dụng Agile và OKR.
  • Đầu tư vào đào tạo và phát triển kỹ năng cho nhân viên để họ có thể làm việc hiệu quả trong môi trường Agile và OKR.
  • Theo dõi và đánh giá hiệu quả triển khai Agile và OKR để điều chỉnh và cải tiến khi cần thiết.

Kết hợp Agile và OKR một cách hiệu quả sẽ giúp doanh nghiệp:

  • Tăng cường sự linh hoạt và khả năng thích ứng với thay đổi.
  • Nâng cao hiệu quả hoạt động và năng suất làm việc.
  • Thúc đẩy sáng tạo và đổi mới.
  • Tăng cường sự tập trung vào mục tiêu và kết quả.
  • Nâng cao tinh thần trách nhiệm và cam kết của nhân viên.
  • Tạo ra lợi thế cạnh tranh và thúc đẩy tăng trưởng bền vững.

Bằng cách áp dụng Agile và OKR, doanh nghiệp có thể nâng tầm quản lý, vận hành và phát triển trong kỷ nguyên số đầy biến động, từ đó gặt hái thành công và tạo dựng vị thế vững chắc trên thị trường.

Ứng dụng của AI vào ngành nhân sự

ai in human resource

Như một làn sóng mạnh mẽ, Trí tuệ nhân tạo (AI) đang len lỏi vào mọi ngóc ngách của đời sống, từ sản xuất, y tế, tài chính đến bán lẻ, và ngành Nhân sự cũng không ngoại lệ. Thay vì chỉ đơn thuần hỗ trợ các công việc hành chính, AI mang đến tiềm năng to lớn trong việc nâng cao hiệu quả hoạt động, tối ưu hóa chi phí, và tạo dựng môi trường làm việc sáng tạo cho doanh nghiệp.

Sức mạnh của AI: Nâng tầm quản lý nhân sự

AI bước vào đời sống và mở ra khả năng xử lý dữ liệu khổng lồ một cách nhanh chóng và chính xác, từ đó thổi bùng sức sống vào các quy trình nhân sự vốn thường tẻ nhạt và tốn nhiều thời gian. Nhờ AI, chúng ta có thể:

  • Tự động hóa các tác vụ thủ công: AI giải phóng nhân viên khỏi gánh nặng của những công việc lặp đi lặp lại như quản lý hồ sơ, chấm công, hay sàng lọc ứng viên. Nhờ vậy, họ có thể dành thời gian cho những công việc sáng tạo và mang lại giá trị cao hơn cho doanh nghiệp.
  • Nâng cao hiệu quả tuyển dụng: AI hỗ trợ nhà tuyển dụng tìm kiếm ứng viên phù hợp một cách nhanh chóng và chính xác hơn, dựa trên kỹ năng, kinh nghiệm và sở thích cá nhân. Việc này giúp tiết kiệm chi phí và thời gian cho tuyển dụng, đồng thời nâng cao chất lượng ứng viên.
  • Phát triển nhân tài: AI cung cấp cho nhà quản lý những đánh giá chi tiết về hiệu suất làm việc và tiềm năng phát triển của từng nhân viên. Nhờ vậy, họ có thể xây dựng kế hoạch đào tạo và phát triển phù hợp, giúp nhân viên phát huy tối đa năng lực và gắn bó lâu dài với doanh nghiệp.
  • Tăng cường trải nghiệm nhân viên: AI mang đến cho nhân viên những trải nghiệm tự phục vụ, dễ dàng truy cập thông tin và hỗ trợ họ giải quyết các vấn đề một cách nhanh chóng. Điều này góp phần nâng cao sự hài lòng và gắn kết của nhân viên với doanh nghiệp.

ai in human resource

Giải pháp toàn diện cho mọi nhu cầu nhân sự

Với những ứng dụng đa dạng của AI, một số nhà cung cấp đã có giải pháp toàn diện cho mọi nhu cầu nhân sự của doanh nghiệp, từ tuyển dụng, đào tạo, quản lý hiệu suất đến chấm công, quản lý khen thưởng và kế hoạch kế thừa. Nổi bật trong số đó là:

  • Hệ thống chấm công tự động qua Camera AI: Nhờ công nghệ nhận diện khuôn mặt tiên tiến, giúp chấm công chính xác, loại bỏ gian lận và tiết kiệm thời gian cho cả nhân viên và nhà quản lý.
  • Hệ thống sàng lọc hồ sơ tự động: AI tự động phân loại hồ sơ ứng viên dựa trên tiêu chí tuyển dụng, giúp nhà tuyển dụng nhanh chóng tìm kiếm những ứng viên phù hợp nhất.
  • Hệ thống đề xuất kế hoạch phát triển cá nhân: AI phân tích dữ liệu về hiệu suất làm việc và kỹ năng của nhân viên, đề xuất kế hoạch phát triển phù hợp để họ nâng cao năng lực và phát huy tiềm năng.
  • Hệ thống quản lý khen thưởng và phúc lợi: giúp tự động hóa việc tính toán lương thưởng, khen thưởng và phúc lợi cho nhân viên, đảm bảo tính minh bạch và công bằng.

Bức tranh tương lai: AI định hình ngành nhân sự

Nhìn về tương lai, AI sẽ đóng vai trò ngày càng quan trọng trong việc định hình ngành nhân sự. Với đà tăng trưởng hiện, các nhà cung cấp sẽ tiếp tục tiên phong trong việc ứng dụng AI, mang đến những giải pháp sáng tạo và hiệu quả hơn nữa, giúp các doanh nghiệp:

  • Xây dựng môi trường làm việc thông minh: AI sẽ giúp cá nhân hóa trải nghiệm làm việc, tự động hóa các quy trình và cung cấp cho nhân viên những công cụ cần thiết để họ làm việc hiệu quả nhất.
  • Quản lý nhân tài hiệu quả: AI sẽ hỗ trợ nhà quản lý trong việc tuyển dụng, đào tạo, phát triển và giữ chân nhân tài, đảm bảo nguồn nhân lực chất lượng cao cho doanh nghiệp.
  • Đưa ra quyết định dựa trên dữ liệu: AI cung cấp cho nhà quản lý những thông tin chi tiết và chính xác để họ đưa ra quyết định sáng suốt, hiệu quả hơn.
  • Tăng cường khả năng thích ứng: AI giúp doanh nghiệp nhanh chóng thích ứng với những thay đổi của thị trường và nhu cầu của nhân viên, đảm bảo sự linh hoạt và cạnh tranh trong môi trường kinh doanh đầy biến động.

Kết luận:

Bằng việc sử dụng AI và ứng dụng nó vào trong làm việc, các doanh nghiệp sẽ có thể tối ưu hóa quy trình quản lý nhân sự, nâng cao hiệu quả hoạt động, tạo ra môi trường làm việc thông minh và thu hút, giữ chân nhân tài, từ đó đạt được lợi thế cạnh tranh và thành công trong tương lai.

Top 7 trường đào tạo Công nghệ thông tin tốt tại TPHCM

Top 7 trường đào tạo công nghệ thông tin tốt nhất TP.HCM
Top 7 trường đào tạo công nghệ thông tin tốt nhất TP.HCM

Trong bối cảnh phát triển mạnh mẽ của công nghệ, ngành Công nghệ Thông tin (CNTT) trở thành một trong những ngành học được nhiều bạn trẻ lựa chọn. TP.HCM là trung tâm kinh tế, giáo dục lớn của Việt Nam, nơi tập trung nhiều trường đại học đào tạo CNTT chất lượng cao. Dưới đây là danh sách 7 trường đại học hàng đầu tại TP.HCM đào tạo ngành CNTT, giúp bạn có cái nhìn tổng quan và lựa chọn phù hợp cho tương lai.

Trường Đại học Bách khoa – Đại học Quốc gia TP.HCM

Trường Đại học Bách khoa – Đại học Quốc gia TP.HCM là một trong những trường đại học hàng đầu tại Việt Nam, đặc biệt nổi tiếng trong lĩnh vực kỹ thuật và công nghệ. Trường đào tạo ngành Công nghệ Thông tin (CNTT) với nhiều chuyên ngành như Khoa học Máy tính và Kỹ thuật Máy tính. Chương trình đào tạo của trường được thiết kế theo tiêu chuẩn quốc tế, cung cấp kiến thức nền tảng vững chắc và kỹ năng thực hành chuyên sâu.

Top trường CNTT TPHCM - Trường Đại học Bách khoa - Đại học Quốc gia TP.HCM
Trường Đại học Bách khoa – Đại học Quốc gia TP.HCM

Theo thông báo từ Trường Đại học Bách khoa TP. Hồ Chí Minh, từ năm 2023 điểm chuẩn được tính theo công thức:

Điểm chuẩn của trường trong ba năm gần nhất dao động từ 25 đến 28 điểm. Năm 2023 với sự thay đổi điểm xét tuyển, điểm hai ngành Khoa học Máy tính, Kỹ thuật Máy tính lần lượt là 86.9 và 85.7

Trường Đại học Bách khoa TP.HCM có mức học phí cho từng chương trình đào tạo áp dụng cho năm học 2023-2024 như sau:

  • Đối với chương trình tiêu chuẩn giảng dạy bằng tiếng Việt, học phí là khoảng 15 triệu đồng mỗi học kỳ, tương đương khoảng 30 triệu đồng mỗi năm (2 học kỳ).
  • Chương trình tài năng, cũng giảng dạy bằng tiếng Việt, có mức học phí tương tự là khoảng 15 triệu đồng mỗi học kỳ, tương đương khoảng 30 triệu đồng mỗi năm (2 học kỳ).
  • Chương trình tiên tiến, giảng dạy hoàn toàn bằng tiếng Anh, có học phí khoảng 40 triệu đồng mỗi học kỳ, tương đương khoảng 80 triệu đồng mỗi năm (2 học kỳ).

Ngoài ra trường còn có các hệ đào tạo liên kết quốc tế, mức học phí tham khảo thêm tại đây.

>> Xem thêm: Không biết gì về tin học có học được CNTT không?

Trường Đại học Khoa học Tự nhiên – Đại học Quốc gia TP.HCM

Trường Đại học Khoa học Tự nhiên – Đại học Quốc gia TP.HCM là một trong những cơ sở giáo dục hàng đầu tại Việt Nam, đặc biệt nổi tiếng trong lĩnh vực khoa học và công nghệ. Thành lập từ năm 1996, trường đã không ngừng phát triển và trở thành trung tâm nghiên cứu và đào tạo chất lượng cao, thu hút đông đảo sinh viên tài năng từ khắp nơi trên cả nước.

Trường Đại học Khoa học Tự nhiên - Đại học Quốc gia TP.HCM
Trường Đại học Khoa học Tự nhiên – Đại học Quốc gia TP.HCM

Ngành Công nghệ Thông tin (CNTT) tại Trường Đại học Khoa học Tự nhiên là một trong những ngành mũi nhọn, được đầu tư mạnh mẽ về cả nhân lực và cơ sở vật chất. Chương trình đào tạo CNTT của trường bao gồm 2 chuyên ngành chính như:

  1. Công nghệ Thông tin: Chương trình này cung cấp kiến thức toàn diện về lập trình, phát triển phần mềm, quản trị hệ thống và cơ sở dữ liệu. Sinh viên được trang bị kỹ năng thực hành vững vàng, sẵn sàng tham gia vào thị trường lao động ngay sau khi tốt nghiệp.
  2. Khoa học Dữ liệu: Đây là một trong những lĩnh vực mới nhưng đầy triển vọng, cung cấp kiến thức về phân tích dữ liệu, học máy và trí tuệ nhân tạo. Chương trình giúp sinh viên nắm bắt các kỹ thuật và công cụ hiện đại để xử lý và phân tích khối lượng lớn dữ liệu.

Tham khảo điểm chuẩn 2023 của các nhóm ngành CNTT tại trường Khoa học Tự nhiên TPHCM:

Mã ngành Tên ngành Điểm chuẩn
7460108 Khoa học dữ liệu 26,40
7480101_TT Khoa học máy tính (Chương trình Tiên tiến) 28,05
7480201_NN Nhóm ngành máy tính và Công nghệ thông tin 26,50

Học phí dự kiến cho năm 2024 là khoảng 30 triệu đồng/năm, tương xứng với các trang thiết bị và điều kiện học tập hiện đại.

Trường Đại học Sư phạm Kỹ thuật TP.HCM

Trường Đại học Sư phạm Kỹ thuật TP.HCM cũng là một trong các trường đại học đi đầu trong ngành CNTT. Chương trình học được thiết kế để cân bằng giữa lý thuyết và thực hành, giúp sinh viên dễ dàng thích nghi với môi trường làm việc sau khi tốt nghiệp.

Trường Đại học Sư phạm Kỹ thuật TP.HCM - Dẫn đầu ngành CNTT
Trường Đại học Sư phạm Kỹ thuật TP.HCM

Các chuyên ngành trong khối ngành CNTT tại trường bao gồm Công nghệ thông tin, Kỹ thuật dữ liệu và Kỹ thuật máy tính. Mỗi chuyên ngành đều được xây dựng với mục tiêu đáp ứng nhu cầu ngày càng cao của thị trường lao động và xu hướng phát triển công nghệ. Đặc biệt, trường thường xuyên cập nhật và đổi mới chương trình giảng dạy, đảm bảo rằng sinh viên luôn được tiếp cận với những kiến thức và công nghệ mới nhất.

Sau đây là điểm chuẩn các ngành thuộc nhóm ngành CNTT hệ đại trà của trường ĐH SPKT TPHCM năm 2023:

Khối thi Tên ngành Điểm chuẩn
A00, A01, D01, D90 Công nghệ thông tin (đại trà) 26.64
A00, A01, D01, D90 Công nghệ kỹ thuật máy tính 26.15
A00, A01, D01, D90 Kỹ thuật dữ liệu 26.81

Học phí năm 2023 – 2024 đã được trường công bố chính thức tại đây, các ngành học có học phí dao động từ 30-40tr/năm tùy vào chương trình đào tạo.

Trường Đại học Công nghệ Thông tin TP.HCM

Trường Đại học Công nghệ Thông tin TP.HCM được thành lập vào năm 2006, được tách từ khoa Công nghệ thông tin của trường KHTN, vì vậy đây là một trong những trường uy tín trong đào tạo ngành CNTT. UIT được thành lập với mục tiêu đào tạo nguồn nhân lực chất lượng cao trong các lĩnh vực liên quan đến công nghệ thông tin và truyền thông, đáp ứng nhu cầu ngày càng tăng của thị trường lao động.

Các chuyên ngành đào tạo chính tại UIT bao gồm Khoa học Máy tính, Kỹ thuật phần mềm, An ninh thông tin, Mạng máy tính và Truyền thông. Chương trình học tại UIT được thiết kế theo chuẩn quốc tế, chú trọng vào việc phát triển kỹ năng thực hành và khả năng nghiên cứu. Sinh viên tại UIT được học tập trong môi trường hiện đại, với các phòng thí nghiệm và trang thiết bị tiên tiến.

Tham khảo điểm chuẩn các ngành CNTT năm 2023 của UIT:

Học phí dự kiến cho năm 2024 là khoảng 24 triệu đồng/năm

Mức học phí thấp nhất tại trường Đại học Công Nghệ thông tin TPHCM là 30tr/năm cho hệ đại trà và cao nhất là 150tr/năm cho hệ đào tạo liên kết nước ngoài.

>> Có thể bạn quan tâm: Học phí ngành công nghệ thông tin 2024 – 2025

Trường Đại học Công nghiệp TP.HCM

Trường Đại học Công nghiệp TP.HCM đào tạo ngành cntt
Trường Đại học Công nghiệp TP.HCM

Trường Đại học Công nghiệp TP.HCM (IUH) là một trong những trường đại học uy tín trong việc đào tạo ngành Công nghệ Thông tin, khác với những trường thuộc khối Đại học quốc gia TPHCM, ĐH Công nghiệp có địa chỉ tại Gò Vấp, trung tâm TPHCM. IUH nổi tiếng với chương trình đào tạo ứng dụng thực tiễn cao, giúp sinh viên dễ dàng thích nghi với môi trường làm việc sau khi tốt nghiệp.

Các chuyên ngành chính trong lĩnh vực CNTT tại IUH bao gồm Công nghệ phần mềm, Hệ thống thông tin và Khoa học máy tính. Chương trình đào tạo của trường kết hợp giữa lý thuyết và thực hành, với nhiều cơ hội thực tập tại các doanh nghiệp công nghệ lớn. Trường cũng đặc biệt chú trọng đến việc phát triển các kỹ năng mềm và kỹ năng làm việc nhóm cho sinh viên.

Điểm chuẩn của IUH trong ba năm gần đây dao động từ 21 đến 25 điểm. Học phí dự kiến cho năm 2024 là khoảng 22 triệu đồng/năm, mức học phí tương thấp hơn một chút so với mặt bằng chung nhưng vẫn đảm bảo cơ sở vật chất và điều kiện giảng dạy tốt nhất cho sinh viên.

>> Xem thêm: Top 10 trường có ngành CNTT tốt nhất cả nước

Đại Học Quốc Tế – Đại Học Quốc Gia TP.HCM

Trường đào tạo IT tại TPHCM - Đại Học Quốc Tế – Đại Học Quốc Gia TP.HCM
Đại Học Quốc Tế – Đại Học Quốc Gia TP.HCM

Đại Học Quốc Tế – Đại Học Quốc Gia TP.HCM (HCMIU) là trường đại học công lập đầu tiên tại Việt Nam sử dụng tiếng Anh làm ngôn ngữ giảng dạy chính trong tất cả các chương trình đào tạo. HCMIU nổi bật với các chương trình đào tạo theo tiêu chuẩn quốc tế, đặc biệt trong lĩnh vực CNTT.

Các chuyên ngành CNTT tại HCMIU bao gồm Khoa học Máy tính, Kỹ thuật Máy tính và Kỹ thuật phần mềm. Chương trình học được xây dựng với sự hợp tác chặt chẽ với các trường đại học và tổ chức quốc tế, đảm bảo sinh viên được tiếp cận với những công nghệ và phương pháp giảng dạy tiên tiến nhất. Sinh viên tại HCMIU cũng có nhiều cơ hội tham gia các chương trình trao đổi và thực tập quốc tế.

Điểm chuẩn trong ba năm gần nhất của HCMIU thường từ 24 đến 28 điểm, cho thấy yêu cầu cao về chất lượng đầu vào. Học phí dự kiến cho năm 2024:

  • Chương trình do trường Đại học Quốc tế cấp bằng: khoảng 50.000.000 VNĐ/năm (học phí này có thể thay đổi dựa trên số tín chỉ thực đăng ký mỗi học kỳ).
  • Các chương trình liên kết: Học phí 2 năm đầu tại Việt Nam khoảng 63.000.000 đến 67.000.000 VNĐ/năm, các năm sau học tại các trường đại học nước ngoài sẽ có mức học phí theo yêu cầu của trường theo học.

Trường Đại học Sài Gòn

Trường Đại học Sài Gòn (SGU) là một trong những trường đại học uy tín tại TP.HCM với nhiều ngành đào tạo đa dạng, trong đó ngành CNTT là một trong những ngành mũi nhọn. SGU chú trọng vào việc cung cấp kiến thức nền tảng vững chắc cùng kỹ năng thực hành cho sinh viên.

Trường Đại học Sài Gòn
Trường Đại học Sài Gòn

Các chuyên ngành CNTT tại SGU bao gồm Công nghệ Thông tin, Khoa học Máy tính và Hệ thống Thông tin. Chương trình đào tạo của SGU được thiết kế để đáp ứng nhu cầu thực tế của thị trường lao động, với nhiều cơ hội thực hành và tham gia các dự án thực tế. Trường cũng thường xuyên tổ chức các hội thảo, hội nghị chuyên ngành để sinh viên có cơ hội học hỏi và trao đổi kinh nghiệm.

Điểm chuẩn trong ba năm qua của SGU thường từ 20 đến 24 điểm, phản ánh mức độ cạnh tranh vừa phải nhưng vẫn đảm bảo chất lượng đầu vào. Học phí dự kiến cho năm 2024 là khoảng 20 triệu đồng/năm, phù hợp với điều kiện kinh tế của nhiều sinh viên và gia đình.

Những trường đại học trên đều là những lựa chọn hàng đầu cho các bạn sinh viên mong muốn theo đuổi ngành CNTT tại TP.HCM. Mỗi trường đều có những điểm mạnh riêng về chương trình đào tạo, cơ sở vật chất và học phí, giúp các bạn có nhiều sự lựa chọn phù hợp với nhu cầu và điều kiện cá nhân. Việc lựa chọn trường phù hợp sẽ là bước khởi đầu quan trọng cho sự nghiệp tương lai trong lĩnh vực công nghệ thông tin.

Việc làm fresher tại TP.HCM

5 lỗi sai cơ bản thường gặp trong C#

lỗi sai cơ bản trong C#

Bài viết được sự cho phép bởi tác giả Vũ Thành Nam

#1 Sử dụng kiểu dữ liệu tham chiếu như một kiểu nguyên thuỷ hay kiểu giá trị

Trong lập trình C++ hay nhiều ngôn ngữ khác có sử dụng kiểu dữ liệu tham chiếu, tức là các giá trị cửa kiểu dữ liệu đó tham chiều tới cùng một vùng nhớ. Để hiểu về kiểu dữ liệu nguyên thuỷ (value type hay primitive type) hay kiểu dữ liệu tham chiếu (reference type) bạn cần hiểu đôi chút về vùng nhớ trong đó có heap và stack. Kiểu dữ liệu tham chiếu tuy các giá trị được lưu trên stack nhưng để truy vấn nó thì lại gọi theo heap. Hay tưởng tượng 1 ngôi nhà có địa chỉ và khi gửi thư ta thưởng gửi tới địa chỉ 123/4 chẳng hạn.

Các kiểu int, long, bool, float là kiểu dữ liệu nguyên thuỷ hay kiểu giá trị. Còn object là một loại kiểu dữ liệu tham chiếu nên khi bạn gán giá trị hãy chú ý đến sự tham chiếu của nó nhé. Nhưng Nhưng Nhưng! Đừng tưởng cứ object là tất tần tật như nhau…

Ví dụ:

  Point point1 = new Point(20, 30);
  Point point2 = point1;
  point2.X = 50;
  Console.WriteLine(point1.X);       // 20 (does this surprise you?)
  Console.WriteLine(point2.X);       // 50
  
  Pen pen1 = new Pen(Color.Black);
  Pen pen2 = pen1;
  pen2.Color = Color.Blue;
  Console.WriteLine(pen1.Color);     // Blue (or does this surprise you?)
  Console.WriteLine(pen2.Color);     // Blue

Ví dụ trên thì Point và Pen là object được tạo ra bằng cùng 1 cách, nhưng giá trị của point1 không đổi khi gán một giá trị mới từ point2, trong khi giá trị pen1 lại bị thay đổi khi gán giá trị color mới được gán từ pen2. Chúng ta có thể nhận thấy, point1 và point2 chứa giá trị sao chép đối tượng Point, trong khi pen1 và pen2 lại chỉ chứa tham chiểu tương đồng của đổi tượng Pen.

Đi sâu hơn (f12 sẽ thấy) thì Point là struct (kiểu giá trị) còn Pen là class (kiểu tham chiếu chính gốc đấy nhé).

#2 Hiểu sai về giá trị mặc định khi biến không được khởi tạo giá trị ban đầu

Trong C# kiểu dữ liệu nguyên thuỷ hay kiểu giá trị không thể null. Nhớ nhé khi khai báo 1 object chưa được gán giá trị khởi tạo thì nó là null, nhưng đổi với kiểu giá trị thì nó không null đâu đừng có mà check null biến có kiểu giá trị làm gì.

class Program 
{
      static Point point1;
      static Pen pen1;
      static void Main(string[] args) 
      {
          Console.WriteLine(pen1 == null);      // True
          Console.WriteLine(point1 == null);    // False (huh?)
      }
}

Như đề cập ở trên Point là struct nó không có giá trị mặc định là null mà là (0,0)

Các đạik C# thường dùng hàm extension IsEmpty để check cho các đa số (không phải tất cả) biến kiểu giá trị nhé.

  So sánh C# và C++ - Nên học ngôn ngữ nào?

  Học gì để trở thành C# developer? Những kiến thức quan trọng

#3 Sử dụng sai hay hiểu sai hàm string comparison

Có nhiều cách để so sánh chuỗi string trong C# và đa số khi so sánh lại sử dụng toán tử == Nó thực sự là một phương thức không hề an toàn một chút nào chính bỏi vì nó không hề tường minh khi bạn muốn so sánh chuỗi đi kèm type. Đào sau hơn xem thử có 2 cách so sánh chuỗi trong C# với Equals.

public bool Equals(string value);
public bool Equals(string value, StringComparison comparisonType);

Dấu == chính là ngầm định của kiểu so sánh Equals đầu tiên không sử dụng StringComparison. Thật chẳng có gì xảy ra khi so sánh chuỗi cơ bản các ký tự alphabet, số hay ký tự đặc biệt thông dụng. Tuy nhiên nếu bạn cần dựa trên ngôn ngữ cài đặt trên môi trường chạy (hệ điều hành chẳng hạn) thì một số ký tự sẽ được coi là khác nhau nếu chuyển đổi môi trường khác nhau (CurrentCultrure) nó khác nhau. Chính vì vậy khi so sánh chuỗi sẽ an toàn hơn nếu sử dụng hàm Equals bao gồm comparisonType. Ví dụ dưới đây cho thấy giá trị so sánh sẽ khác nhau tuỳ thuộc vào option của comparisonType.

string s = "strasse";

// outputs False:
Console.WriteLine(s == "straße");
Console.WriteLine(s.Equals("straße"));
Console.WriteLine(s.Equals("straße", StringComparison.Ordinal));
Console.WriteLine(s.Equals("Straße", StringComparison.CurrentCulture));        
Console.WriteLine(s.Equals("straße", StringComparison.OrdinalIgnoreCase));

// outputs True:
Console.WriteLine(s.Equals("straße", StringComparison.CurrentCulture));
Console.WriteLine(s.Equals("Straße", StringComparison.CurrentCultureIgnoreCase));

Không chỉ có phương thức Equals, ngay cả phương thức Compare cũng nên dùng comparisonType nhé. Chỉ dùng ==, >, <, <=, >= đối với so sánh chuỗi khá có thể sẽ gặp rủi ro vào một ngày đẹp trời đó.

Tham khảo việc làm lập trình C hấp dẫn trên TopDev!

#4 Sử dụng vòng lặp thay vì khai báo liệt kê (LINQ) trong collections (kiểu tập hợp)

C# 3.0 mang đến cho chúng ta LINQ (Language Integrated Query) với rất nhiều tiện ích khi làm việc với tập hợp khi truy vấn (queries) và liệt kê chúng. Nhưng đừng nên lạm dụng chúng nhé. LINQ được sinh ra với ý nghĩa đơn giản hoá và làm tương đồng với các hình thức truy vấn database và nó chỉ nên làm việc khi truy vấn database.

Có người cho rằng chúng chẳng làm sai kết quả mà lại gọn gàng dễ hiểu (theo mình cũng chẳng dễ hiểu đâu). Ví dụ:

decimal total = 0;
foreach (Account account in myAccounts) 
{
	if (account.Status == "active") 
	{
		total += account.Balance;
	}
}

//Or

decimal total = (from account in myAccounts
				where account.Status == "active"
				select account.Balance).Sum();

Rồi để xem nhé, với LINQ kìa nó lấy lên 1 danh sách các balance (1 lần lặp) sau đó duyệt chung và tính tổng (1 lần lặp trong Sum á) vậỵ là 2 lần lặp rồi nhá. Code ngắn vậy thôi nhưng sao nó đang làm tăng độ phức tạp lên kìa, trong khi bên trên ta chỉ có mỗi vòng lặp xử lý. Thêm vào đó LINQ không thể (đúng hơn là rất khó) debug khi gắn logic vào nó. Không tin hả! thử cộng trừ nhân chia trong LINQ và trace kết quả coi. Hãy đơn giản hoá nó và trả nó về với mục đích chính của nó nhé. Đáng cân nhắc phải không?

#5 Những lỗi cơ bản cần cân nhắc trước khi làm việc với LINQ

LINQ làm việc rất tốt đối với việc xử lý đa tiến trình (task) trong tập hợp (collections) liệu rằng chúng có lưu trên bộ nhớ của các đối tượng (objects) bảng cơ sở dữ liệu (database tables) hay xml… Đời không phải lúc nào cũng hoàn hảo, nếu có lỗi trong quá trình truy vấn thì sao, liệu rằng nó sẽ văng (throw) ra exception hay trả về một kết quả khác sai hoàn toàn. Chẳng phải bạn luôn thích try catch trong mọi hàm hay sao 😀

decimal total = (from account in myAccounts
                       where account.Status == "active"
                       select account.Balance).Sum();

Điều gì xảy ra nếu account.Status là “Active” (chữ A lại viết hoa mới đểu), vâng thật tuyệt vời khi myAccounts được lưu trong đối tượng DbSet (phía hạ tầng database) sau khi truy vấn thông qua biểu thức sẽ vẫn khớp với phần tử đó. Tuy nhiên nếu myAccounts lại được lưu trong bộ nhớ đệm của mảng, nó sẽ trả về một giá trị khác đi. Khoan đã nào, ở đây có 2 vấn đề cần được làm rõ. Thứ nhất tại sao không dùng Equals với comparisonType như ở trên nói mà lại dùng ==. Thứ 2, nếu dùng một hàm extension methods ở chỗ điều kiện kia (ví dụ account.Status.LowerCase()  == “active”) và trong hàm đó nó lăn ra chết 😀 (tức là throw exception đó) thì điều gì xảy ra đối với hàm Sum.

Câu trả lời cho điều thứ nhất là do LINQ là ngôn ngữ translate thành câu lệnh TSQL nên việc dùng == ở trường hợp này lại là một cách chính xác. Và cũng chính do nó tuân theo toán tử TSQL nên mọi Extension method đều không dùng được trong LINQ. Nên điều thứ 2 ở trên không thực hiện được đâu trừ khi đổi sang dạng lambda với extension mà .Net hỗ trợ sẵn khi đó nó mới tuân theo C# rule. Tham khảo tại đây: https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable?redirectedfrom=MSDN&view=netframework-4.7.2  và https://www.c-sharpcorner.com/article/linq-extension-methods/

Nói tóm lại là LINQ là ngôn ngữ chuyển đổi thành TSQL nó tuân theo luật rừng của TSQL nên khi đúng cần chú ý nhé!

Bài viết gốc được đăng tải tại ntechdevelopers.com

Xem thêm:

Tham khảo ngay việc làm IT mọi cấp độ trên TopDev!

Tổng hợp 100+ công cụ AI hữu ích cho mọi ngành nghề (P3)

công cụ AI hữu ích

Với tiềm năng vượt trội, AI đang dần thay đổi cách chúng ta làm việc, giao tiếp và phát triển. Trong bài viết này, chúng ta sẽ tiếp tục khám phá hơn 100 công cụ AI hữu ích, hứa hẹn sẽ mang đến những công cụ và phương pháp tiên tiến, phục vụ cho mọi ngành nghề một cách hiệu quả.

Sản xuất và Công nghiệp 4.0

41. Bảo trì dự đoán

AI dự đoán hỏng hóc máy móc, giảm thiểu thời gian ngừng hoạt động và chi phí bảo trì. Một số công cụ và nền tảng sử dụng AI cho Bảo trì dự đoán:

  • IBM Watson IoT Predictive Maintenance: IBM Watson cung cấp một nền tảng IoT dựa trên AI giúp các doanh nghiệp dự đoán hỏng hóc thiết bị bằng cách phân tích dữ liệu cảm biến. Nền tảng này cung cấp các thông tin và đề xuất bảo trì có giá trị.
  • Microsoft Azure IoT: Azure IoT sử dụng AI và học máy để phân tích dữ liệu từ các thiết bị và thiết bị kết nối. Nền tảng này cung cấp các giải pháp bảo trì dự đoán giúp các tổ chức xử lý các vấn đề về thiết bị một cách chủ động.
  • SAP Predictive Maintenance and Service: Giải pháp bảo trì dự đoán của SAP kết hợp AI và IoT để phân tích dữ liệu thiết bị theo thời gian thực. Nền tảng này cung cấp phân tích dự đoán và đề xuất bảo trì để cải thiện độ tin cậy của tài sản.
  • GE Digital’s Predix: Nền tảng Predix của GE Digital sử dụng AI và IoT để dự đoán hỏng hóc máy móc và tối ưu hóa lịch trình bảo trì. Nền tảng này được thiết kế cho các ngành công nghiệp như sản xuất, năng lượng và y tế.
Microsoft Azure IoT
Microsoft Azure IoT

42. Kiểm soát chất lượng

Hệ thống AI kiểm tra sản phẩm để phát hiện lỗi và đảm bảo tiêu chuẩn chất lượng. Một số công cụ và nền tảng sử dụng AI cho Kiểm soát chất lượng:

  • Cognex: Cognex cung cấp một loạt các hệ thống thị giác máy và phần mềm dựa trên AI cho kiểm soát chất lượng công nghiệp. Nền tảng này chuyên về thị giác máy và phân tích hình ảnh để nhận diện lỗi và đảm bảo chất lượng sản phẩm.
  • Inspekto S70: Inspekto’s S70 là một hệ thống thị giác máy tự động dựa trên AI được thiết kế cho kiểm tra chất lượng trong sản xuất. Nền tảng này có thể được triển khai dễ dàng trên dây chuyền sản xuất để nhận diện lỗi theo thời gian thực.
  • Sight Machine: Sight Machine cung cấp một nền tảng phân tích sản xuất dựa trên AI. Nền tảng này cung cấp phân tích dữ liệu theo thời gian thực để giám sát quy trình sản xuất và đảm bảo chất lượng sản phẩm.

43. Thiết kế sản phẩm sáng tạo

AI hỗ trợ trong việc thiết kế sản phẩm bằng cách tạo ra các khái niệm và nguyên mẫu thiết kế. Một số công cụ và nền tảng sử dụng AI cho Thiết kế sản phẩm sáng tạo:

  • Autodesk Generative Design: Autodesk cung cấp một công cụ thiết kế sáng tạo sử dụng thuật toán AI để khám phá hàng nghìn khả năng thiết kế, giúp các kỹ sư và nhà thiết kế tạo ra các thiết kế sản phẩm tối ưu và sáng tạo.
  • SolidWorks xDesign: SolidWorks cung cấp một nền tảng CAD dựa trên đám mây với khả năng thiết kế sáng tạo sử dụng AI. Nền tảng này giúp người dùng tạo ra các mô hình 3D tham số và khám phá các biến thể thiết kế một cách nhanh chóng.
  • Siemens NX Generative Design: Siemens NX cung cấp phần mềm thiết kế sáng tạo sử dụng AI để tối ưu hóa thiết kế sản phẩm cho các ngành công nghiệp khác nhau, từ ô tô đến hàng không, bằng cách xem xét các vật liệu, hiệu suất và ràng buộc sản xuất.

44. Tối ưu hóa chuỗi cung ứng

AI tối ưu hóa logistics chuỗi cung ứng, giảm thiểu chi phí và cải thiện hiệu quả. Một số công cụ và nền tảng sử dụng AI cho Tối ưu hóa chuỗi cung ứng:

  • IBM Sterling Supply Chain Suite: IBM’s Sterling Supply Chain Suite sử dụng AI và công nghệ blockchain để cung cấp khả năng kiểm soát và tầm nhìn toàn diện đối với hoạt động chuỗi cung ứng. Nền tảng này cung cấp các giải pháp tối ưu hóa hàng tồn kho, quản lý đơn hàng và lập kế hoạch logistics.
  • SAP Integrated Business Planning: Giải pháp SAP Integrated Business Planning (IBP) sử dụng AI và học máy để nâng cao dự báo nhu cầu, tối ưu hóa mức tồn kho và cải thiện khả năng đáp ứng chuỗi cung ứng. Nền tảng này giúp các tổ chức điều chỉnh chuỗi cung ứng của họ với các mục tiêu kinh doanh.
  • Llamasoft Supply Chain Guru: Llamasoft’s Supply Chain Guru là một nền tảng thiết kế và mô hình chuỗi cung ứng sử dụng AI để phân tích các kịch bản khác nhau và tối ưu hóa thiết kế mạng lưới chuỗi cung ứng. Nền tảng này giúp đưa ra các quyết định thông minh về vị trí kho, cơ sở sản xuất và tuyến đường vận chuyển.
  • Oracle Cloud SCM: Oracle Cloud Supply Chain Management (SCM) cung cấp các giải pháp dựa trên AI cho dự báo nhu cầu, quản lý hàng tồn kho và mua sắm. Nền tảng này giúp các tổ chức tối ưu hóa quy trình chuỗi cung ứng và giảm thiểu chi phí.

45. Quản lý hàng tồn kho

AI quản lý mức hàng tồn kho, tối ưu hóa kho và giảm thiểu các vấn đề thừa hàng/thấp hàng. Một số công cụ và nền tảng sử dụng AI cho Quản lý hàng tồn kho:

  • Oracle Inventory Management Cloud: Oracle’s Inventory Management Cloud sử dụng AI và học máy để cung cấp thông tin chi tiết theo thời gian thực về mức tồn kho và dự báo nhu cầu. Nền tảng này giúp các tổ chức tối ưu hóa mức tồn kho, giảm chi phí lưu kho và ngăn ngừa tình trạng hết hàng hoặc thừa hàng.
  • Infor Nexus: Infor Nexus cung cấp một nền tảng quản lý chuỗi cung ứng dựa trên AI bao gồm các tính năng tối ưu hóa hàng tồn kho. Nền tảng này cung cấp tầm nhìn về hàng tồn kho trên toàn bộ chuỗi cung ứng và sử dụng các thuật toán AI để cân bằng mức tồn kho, giảm thiểu hàng tồn kho dư thừa và cải thiện khả năng hoàn thành đơn hàng.
Oracle Inventory Management Cloud
Oracle Inventory Management Cloud

46. Tối ưu hóa quy trình

AI tối ưu hóa quy trình sản xuất để đạt hiệu quả và sử dụng tài nguyên tối đa. Một số công cụ và nền tảng sử dụng AI cho Tối ưu hóa quy trình:

  • Siemens Opcenter: Siemens Opcenter cung cấp một bộ giải pháp quản lý hoạt động sản xuất toàn diện sử dụng AI và phân tích. Nền tảng này cung cấp tầm nhìn theo thời gian thực về các quy trình sản xuất, giúp xác định các nút thắt cổ chai và tối ưu hóa các hoạt động sản xuất.
  • Rockwell Automation FactoryTalk Analytics: FactoryTalk Analytics của Rockwell Automation sử dụng AI và học máy để cải thiện các quy trình sản xuất. Nền tảng này cung cấp khả năng bảo trì dự đoán, kiểm soát chất lượng và tối ưu hóa quy trình để giảm thiểu thời gian ngừng hoạt động và cải thiện việc sử dụng tài nguyên.

47. Phát hiện lỗi

AI nhận diện các lỗi trong máy móc và thiết bị, ngăn ngừa tai nạn và hỏng hóc. Một số công cụ và nền tảng sử dụng AI cho Phát hiện lỗi:

  • Bosch IoT Insights: Bosch IoT Insights là một nền tảng IoT công nghiệp sử dụng AI và học máy để giám sát tình trạng thiết bị và phát hiện lỗi. Nền tảng này cung cấp phân tích theo thời gian thực và khả năng bảo trì dự đoán để ngăn ngừa sự cố.
  • Schneider Electric EcoStruxure Machine Advisor: EcoStruxure Machine Advisor của Schneider Electric cung cấp bảo trì dự đoán dựa trên AI cho máy móc công nghiệp. Nền tảng này sử dụng dữ liệu cảm biến và các thuật toán AI để phát hiện các bất thường và dự đoán hỏng hóc thiết bị.
  • GE Digital Predix APM: GE Digital’s Predix Asset Performance Management (APM) sử dụng AI và phân tích công nghiệp để giám sát tình trạng của tài sản và thiết bị. Nền tảng này cung cấp phát hiện lỗi sớm, phân tích nguyên nhân gốc rễ và cải thiện độ tin cậy của tài sản.

  Sự khác nhau giữa AI, Machine Learning và Deep Learning

  5 công cụ AI hữu ích trong năm 2024 dành cho Developer

48. Lập lịch sản xuất

AI tạo ra lịch sản xuất để tối đa hóa sản lượng và đáp ứng nhu cầu. Một số công cụ và nền tảng sử dụng AI cho Lập lịch sản xuất:

  • PLEX Systems Manufacturing Execution: PLEX Systems cung cấp một hệ thống điều hành sản xuất (MES) dựa trên AI bao gồm các khả năng lập lịch sản xuất. Nền tảng này sử dụng AI và học máy để tối ưu hóa lịch sản xuất dựa trên dữ liệu thời gian thực, dự báo nhu cầu và các ràng buộc tài nguyên.
  • GAINSystems: GAINSystems cung cấp phần mềm tối ưu hóa nhu cầu và tồn kho dựa trên AI với các tính năng lập lịch sản xuất. Nền tảng này tối ưu hóa lịch sản xuất để phù hợp với nhu cầu và mục tiêu tồn kho trong khi xem xét các ràng buộc khác nhau.

49. Hiệu suất năng lượng

AI tối ưu hóa việc sử dụng năng lượng, giảm chi phí và bảo vệ môi trường. Một số công cụ và nền tảng sử dụng AI cho Hiệu suất năng lượng:

  • Siemens EnergyIP: Siemens EnergyIP sử dụng AI và phân tích để tối ưu hóa quản lý năng lượng công nghiệp. Nền tảng này cung cấp tầm nhìn về tiêu thụ năng lượng, tối ưu hóa sử dụng tài nguyên năng lượng và giảm chi phí năng lượng.
  • Schneider Electric EcoStruxure Energy Management: EcoStruxure của Schneider Electric là một nền tảng quản lý năng lượng dựa trên AI giúp các tổ chức tối ưu hóa sử dụng năng lượng, cải thiện hiệu quả và giảm lượng khí thải carbon. Nền tảng này cung cấp khả năng giám sát năng lượng theo thời gian thực và phân tích tiên đoán.

50. Hợp tác robot – người (Cobots)

Robot AI làm việc cùng con người trong dây chuyền sản xuất để tăng cường năng suất. Một số công cụ và nền tảng sử dụng AI cho Hợp tác robot – người (Cobots):

  • Universal Robots: Universal Robots cung cấp các cobot có thể lập trình và sử dụng dễ dàng để làm việc cùng con người trong các môi trường sản xuất. Các cobot của Universal Robots có khả năng cảm nhận và điều chỉnh chuyển động để đảm bảo an toàn và hiệu quả.
  • ABB Robotics: ABB Robotics cung cấp các giải pháp cobot sử dụng AI để làm việc cùng con người trong sản xuất và lắp ráp. Các cobot của ABB được thiết kế để dễ dàng lập trình và triển khai, giúp tăng cường hiệu suất và năng suất.
  • Fanuc CRX: Fanuc cung cấp dòng cobot CRX có khả năng làm việc an toàn và hiệu quả cùng con người. Các cobot CRX của Fanuc sử dụng công nghệ cảm biến và AI để đảm bảo an toàn và tối ưu hóa quy trình sản xuất.

Bền vững về môi trường

51. Mô hình hóa khí hậu

AI giúp dự đoán các biến đổi khí hậu và tác động của chúng. Một số công cụ và nền tảng sử dụng AI cho Mô hình hóa khí hậu:

  • The Weather Company by IBM: The Weather Company của IBM cung cấp các giải pháp mô hình hóa thời tiết và khí hậu được tăng cường bằng AI. Nền tảng này kết hợp AI và học máy với dữ liệu khí hậu rộng lớn để cung cấp các dự đoán khí hậu chính xác cho nhiều ngành công nghiệp, bao gồm nông nghiệp và năng lượng.
  • Climate.ai: Climate.ai là một nền tảng sử dụng AI để mô hình hóa và dự đoán các tác động của biến đổi khí hậu ở quy mô khu vực và toàn cầu. Nền tảng này hỗ trợ các nhà nghiên cứu, nhà hoạch định chính sách và tổ chức hiểu các xu hướng khí hậu và phát triển các chiến lược giảm thiểu và thích ứng.
  • Earth-Now by NASA: Nền tảng Earth-Now của NASA kết hợp AI và dữ liệu vệ tinh để giám sát và mô hình hóa các biến đổi khí hậu. Nền tảng này cung cấp quyền truy cập vào dữ liệu khí hậu theo thời gian thực và các công cụ trực quan hóa cho các nhà nghiên cứu và công chúng để hiểu các tác động khí hậu.

The Weather Company by IBM

52. Bảo tồn đa dạng sinh học

AI hỗ trợ giám sát và bảo tồn các loài có nguy cơ tuyệt chủng. Một số công cụ và nền tảng sử dụng AI cho Bảo tồn đa dạng sinh học:

  • Wildbook: Wildbook là một nền tảng dựa trên AI tập trung vào giám sát và bảo tồn động vật hoang dã. Nó sử dụng thị giác máy tính và học máy để nhận dạng và theo dõi các cá thể động vật dựa trên dấu vết và đặc điểm riêng của chúng. Các nhà nghiên cứu và bảo tồn có thể sử dụng Wildbook để thu thập dữ liệu về các loài có nguy cơ tuyệt chủng và đánh giá xu hướng dân số.
  • Instant Wild: Instant Wild là một ứng dụng di động và nền tảng cho phép người dùng đóng góp vào giám sát động vật hoang dã. Nền tảng này sử dụng các thuật toán AI để phân tích ảnh được người dùng chụp trong tự nhiên. Ứng dụng giúp nhận dạng và tài liệu hóa các loài, cung cấp dữ liệu có giá trị cho các nỗ lực bảo tồn.

53. Giảm thiểu lượng khí thải carbon

AI nhận diện các cơ hội để giảm lượng khí thải carbon trong các ngành công nghiệp khác nhau. Một số công cụ và nền tảng sử dụng AI cho Giảm thiểu lượng khí thải carbon:

  • Ecolane: Ecolane là một nền tảng tối ưu hóa giao thông sử dụng AI. Nó hỗ trợ các cơ quan và tổ chức vận tải tối ưu hóa tuyến đường, lịch trình và bảo trì phương tiện để giảm lượng khí thải từ các đội xe của họ. Nền tảng sử dụng các thuật toán AI để cải thiện hiệu quả vận tải và giảm thiểu lượng khí thải carbon.
  • CarbonCure: CarbonCure là một giải pháp dựa trên AI cho ngành xây dựng. Nó sử dụng AI để tối ưu hóa quy trình sản xuất bê tông, giảm lượng khí thải carbon bằng cách tiêm carbon dioxide (CO2) đã được thu giữ vào hỗn hợp bê tông. Cách tiếp cận sáng tạo này giúp các công ty xây dựng giảm thiểu lượng khí thải carbon của họ.

54. Dự đoán thảm họa thiên nhiên

AI dự đoán và theo dõi các thảm họa thiên nhiên, hỗ trợ cảnh báo sớm và ứng phó. Một số công cụ và nền tảng sử dụng AI cho Dự đoán thảm họa thiên nhiên:

  • Earth Networks: Earth Networks cung cấp các giải pháp phát hiện thời tiết và sét tiên tiến được hỗ trợ bởi AI. Công nghệ của họ bao gồm mạng lưới toàn cầu các trạm thời tiết và cảm biến, cung cấp dữ liệu cho các thuật toán AI, cho phép dự đoán và theo dõi các sự kiện thời tiết khắc nghiệt, bao gồm cả giông bão và lốc xoáy.
  • RapidSOS: RapidSOS cung cấp một nền tảng ứng phó khẩn cấp dựa trên AI tích hợp với các hệ thống 911. Nó sử dụng các thuật toán AI để cung cấp thông tin vị trí chính xác trong các tình huống khẩn cấp, chẳng hạn như thảm họa thiên nhiên. Điều này hỗ trợ các nhân viên ứng phó nhanh chóng đến các khu vực bị ảnh hưởng.

55. Giám sát ô nhiễm

AI giám sát chất lượng không khí và nước, giúp giảm thiểu ô nhiễm. Một số công cụ và nền tảng sử dụng AI cho Giám sát ô nhiễm:

  • PollutionTracker: PollutionTracker là một nền tảng AI tập trung vào giám sát khí thải công nghiệp. Nó sử dụng các thuật toán AI để phân tích dữ liệu khí thải từ các nhà máy và khu công nghiệp. Điều này giúp các ngành công nghiệp tối ưu hóa quy trình của họ để giảm ô nhiễm và tuân thủ các quy định môi trường.
  • WaterBot: WaterBot là một hệ thống giám sát chất lượng nước sử dụng AI cho các nguồn nước như hồ và sông. Nó sử dụng AI để phân tích dữ liệu nước và xác định các nguồn ô nhiễm. Điều này hỗ trợ các cơ quan và tổ chức môi trường thực hiện các biện pháp cải thiện chất lượng nước.

56. Theo dõi động vật hoang dã

AI theo dõi chuyển động và hành vi của động vật hoang dã để hỗ trợ các nỗ lực bảo tồn. Một số công cụ và nền tảng sử dụng AI cho Theo dõi động vật hoang dã:

  • Movebank: Movebank là một nền tảng toàn cầu sử dụng AI để theo dõi chuyển động của động vật hoang dã, bao gồm chim, động vật có vú và các loài biển. Các nhà nghiên cứu có thể tải lên và phân tích dữ liệu theo dõi từ các thiết bị khác nhau, cho phép nghiên cứu các mô hình di cư, hành vi và nhu cầu bảo tồn.
  • eMammal: eMammal là một nền tảng được hỗ trợ bởi AI cho việc theo dõi các loài động vật có vú trên cạn. Các nhà nghiên cứu triển khai các bẫy camera trong tự nhiên và AI giúp nhận dạng và theo dõi các loài động vật dựa trên hình ảnh được chụp. Điều này hỗ trợ nghiên cứu về dân số và hành vi của động vật có vú.

57. Tối ưu hóa năng lượng

AI tối ưu hóa tiêu thụ năng lượng trong các tòa nhà và quy trình công nghiệp. Một số công cụ và nền tảng sử dụng AI cho Tối ưu hóa năng lượng:

  • GridPoint: GridPoint cung cấp một nền tảng quản lý năng lượng thương mại và công nghiệp dựa trên AI. Nó sử dụng phân tích dữ liệu theo thời gian thực và các thuật toán AI để tối ưu hóa tiêu thụ năng lượng, giảm chi phí và tăng cường bền vững. GridPoint cung cấp thông tin chi tiết về việc sử dụng năng lượng trên các cơ sở, giúp dễ dàng xác định và thực hiện các biện pháp tiết kiệm năng lượng.
  • BuildingIQ: BuildingIQ cung cấp một nền tảng quản lý năng lượng dựa trên AI cho các tòa nhà thương mại. Nó liên tục phân tích dữ liệu tòa nhà, dự báo thời tiết và mô hình sử dụng để tối ưu hóa các hệ thống HVAC. Điều này giúp tiết kiệm năng lượng mà không ảnh hưởng đến sự thoải mái.

58. Dự báo chất lượng không khí

AI dự báo chất lượng không khí, hỗ trợ quy hoạch đô thị và các sáng kiến y tế. Một số công cụ và nền tảng sử dụng AI cho Dự báo chất lượng không khí:

  • Plume Labs’ Air Report: Plume Labs cung cấp ứng dụng Air Report, sử dụng AI để cung cấp dự báo chất lượng không khí và dữ liệu theo thời gian thực cho các thành phố trên toàn thế giới. Người dùng có thể nhận thông báo và khuyến nghị dựa trên điều kiện chất lượng không khí hiện tại và dự báo. Ứng dụng cũng giúp cá nhân lập kế hoạch cho các hoạt động ngoài trời và giảm tiếp xúc với ô nhiễm.
  • IBM Watson Environmental Insights: IBM’s Watson Environmental Insights sử dụng AI và các cảm biến IoT để giám sát và dự báo chất lượng không khí trong các thành phố. Nó cung cấp thông tin chi tiết cho các nhà quy hoạch đô thị, giúp họ tối ưu hóa quản lý giao thông, các dự án xây dựng và giao thông công cộng để giảm thiểu khí thải và cải thiện chất lượng không khí.

59. Quản lý tài nguyên nước

AI quản lý tài nguyên nước và dự đoán các vấn đề liên quan đến nước. Một số công cụ và nền tảng sử dụng AI cho Quản lý tài nguyên nước:

  • WaterSmart Software: WaterSmart Software cung cấp các giải pháp dựa trên AI cho các tiện ích nước và người tiêu dùng. Nền tảng của họ sử dụng học máy để phân tích các mô hình tiêu thụ nước và phát hiện các bất thường. Nó cung cấp các tiện ích nước với thông tin chi tiết để cải thiện quản lý tài nguyên và giúp người tiêu dùng tiết kiệm nước.
  • IBM Watson Decision Platform for Agriculture: Mặc dù chủ yếu tập trung vào nông nghiệp, IBM’s Watson Decision Platform có thể được điều chỉnh cho quản lý tài nguyên nước. Nền tảng này kết hợp AI, dữ liệu thời tiết, cảm biến IoT và thông tin lịch sử để cung cấp thông tin chi tiết về sử dụng nước và thực hành tưới tiêu. Nó giúp tối ưu hóa tài nguyên nước trong nông nghiệp, giảm lãng phí nước.

60. Phân tích đất

AI phân tích thành phần và chất lượng đất cho nông nghiệp và nghiên cứu môi trường. Một số công cụ và nền tảng sử dụng AI cho Phân tích đất:

  • Agrible’s Morning Farm Report: Agrible’s Morning Farm Report là một nền tảng dựa trên AI được thiết kế cho nông nghiệp chính xác. Nó sử dụng học máy để phân tích dữ liệu đất, điều kiện thời tiết và thông tin cây trồng để cung cấp các thông tin có thể hành động cho nông dân. Nền tảng giúp tối ưu hóa lịch trình trồng, tưới tiêu và sử dụng phân bón dựa trên điều kiện đất.
  • Terralytic’s Soil Testing Sensors: Terralytic cung cấp dịch vụ kiểm tra đất bao gồm các cảm biến đất sử dụng AI. Các cảm biến này được đặt trong đất và liên tục giám sát các điều kiện đất, cung cấp dữ liệu theo thời gian thực về độ ẩm, nhiệt độ và dinh dưỡng. Các thuật toán AI phân tích dữ liệu này để tạo ra các báo cáo chi tiết về đất cho nông dân và các nhà nghiên cứu.
  • SoilCares Scanner: SoilCares cung cấp một máy quét đất dựa trên AI có thể phân tích mẫu đất tại chỗ. Nông dân và các nhà nghiên cứu có thể sử dụng thiết bị cầm tay này để nhanh chóng đánh giá các điều kiện đất, bao gồm mức độ dinh dưỡng, pH và hàm lượng chất hữu cơ. Phần mềm AI giải thích kết quả quét và cung cấp các khuyến nghị cho quản lý đất.
Xem thêm tuyển dụng IT mới nhất tại TopDev

Pagination là gì? Các loại phân trang thường gặp

Phân trang là gì

Bài viết được sự cho phép của tác giả Duy Phan

Phân trang – một thành phần không thể thiếu trong các ứng dụng có lượng dữ liệu lớn. Tuy nhiên, bạn hiểu được bao nhiêu về nó?

Phân trang là gì?

Đơn giản nó là cách chúng ta chunk dữ liệu thành từng page nhỏ trong trường hợp lượng dữ liệu lớn và hầu như không thể hiển thị hết trên một trang.

Về phía backend, khi có quá nhiều mục cần tải sẽ làm quá tải hệ thống, gây ảnh hưởng tới kết nối của những người dùng khác. Đây là một vấn đề lớn về hiệu suất.

Các loại phân trang thường gặp

Theo kinh nghiệm sử dụng của mình thì mình chia pagination thành 3 loại.

1. Numbered pages

Hay còn gọi là phân trang có đánh số. Google Search đang sử dụng cách phân trang này.

Numbered pages

Phân trang đánh số này thường được sử dụng trong trường hợp các dữ liệu thường không có sự thay đổi quá thường xuyên.

Khi bạn nói với ai đó “Ồ, tôi đang mở trang thứ 3” thì bạn đang mong muốn dữ liệu ở trang thứ 3 này nhất quán ở cả phía bạn và người khác.

Hình thức phân trang này cũng có cái lợi là người dùng sẽ biết được trang cuối cùng là bao nhiêu (mặc dù mình nghĩ chẳng bao giờ họ navigate tới tận trang cuối đó).

2. Sequential pages

Hay còn gọi là phân trang tuần tự.

Sequential pages

Thường sử dụng cho các trang web hay ứng dụng trên điện thoại do không gian nhỏ, hoặc khi mà dữ liệu người dùng thay đổi nhanh đến mức việc đánh số trang chẳng có ý nghĩa gì nữa.

  Kỹ thuật phân trang với PHP và MySQL

  Thư viện Driver.js tạo hướng dẫn tương tác trang web

3. Infinite scroll

Cuộn, cuộn, cuộn và cuộn.

Hình thức này kết hợp với Loading Skeleton tạo ảo giác trang của bạn rất dài, và nội dung được hiển thị liên tục.

Lúc này, người dùng không còn quan tâm tới việc đang ở trang nào, họ chỉ cần cuộn để có thêm nội dung.

Ví dụ đơn giản nhất là các trang Twitter, Facebook, Reddit, Tiktok…

Infinite scroll

Có vẻ như hầu hết các ứng dụng hiện đại ngày nay đều sử dụng cách 2 hoặc 3 (đôi khi kết hợp chúng với nhau) khi mà có càng nhiều thuật toán render dữ liệu người dùng thay đổi liên tục, điều này khiến cho việc đánh số trang càng ngày càng mất ý nghĩa.

Mặc dù cách phân trang đánh số thứ tự thường không hữu dụng mấy cho các ứng dụng hiện đại so với các mô hình phân trang còn lại, tuy nhiên nó lại là cách dễ triển khai nhất trong các hệ thống cơ sở dữ liệu 😀

Xem thêm tuyển dụng PHP lương cao trên TopDev

Numbered pages

Ai đã dùng SQL trước đây đều biết cách implement nó một cách đơn giản như sau:

// Chúng ta muốn load nội dung cho page thứ 3, giới hạn mỗi page 100 phần tử
// ==> Chúng ta cần load 100 phần tử, bắt đầu từ sau phần tử thứ 200
SELECT * FROM users ORDER BY id DESC LIMIT 100 OFFSET 200;

Khi bạn muốn biết tổng số phần tử của các trang, bạn có thể thực hiện thêm một câu truy vấn khác:

SELECT COUNT(*) AS total_items FROM users;

Khá là đơn giản đúng không 😀

Nhiều ứng dụng vẫn sử dụng cách phân trang này cho dù nó không có bao nhiêu ý nghĩa. Thử nghĩ mà xem, bạn chỉ cần cung cấp 2 tham số skip và limit là xong chuyện.

Để triển khai với REST, bạn chỉ cần thêm 1 tham số page vào query params là xong (mặc định Laravel dùng cách này).

GET http://localhost:3008/users?page=2

Để triển khai với GraphQL cũng khá đơn giản:

{
  users(page: 2) {
    id
    name
    roles {
      id
      name
    }
  }
}

Hạn chế của việc đánh số trang

Đối với các nội dung tĩnh hoặc ít khi thay đổi, đánh số trang là phương pháp tuyệt vời. Nhưng đối với các ứng dụng hiện đại ngày nay, việc đánh số trang đã không còn phù hợp. Các items đôi khi được thêm vào hoặc dịch chuyển đi mất trong khi người dùng đang nhảy tới các trang khác nhau.

  • Bỏ qua một vài items quan trọng: đôi khi người dùng sẽ bỏ qua mất một vài mục quan trọng khi mà chúng được thêm vào hoặc chuyển đi trong khi người dùng đang nhảy qua các trang.
  • Hiển thị một mục 2 lần: tương tự, do nội dung giữa các trang có thể bị thay đổi khi chúng ta thêm vào hoặc xóa đi một vài items, người dùng có thể thường xuyên gặp tình trang nhìn thấy một số items nhiều lần.

Có một giải pháp nào tốt nhất không?

Thực ra, không có cách nào là tốt nhất cả. Cái bạn cần quan tâm là đối tượng sử dụng ứng dụng của bạn là ai, và lúc này bạn sẽ lựa chọn hướng xử lý tốt nhất về UX cho các đối tượng đó.

Như blog này của mình, dữ liệu đâu được bao nhiêu, vậy nên mình vẫn sử dụng cách đơn giản nhất là phân trang có đánh số :D.

Trên tất cả, cần có một sự cân bằng giữa việc đơn giản hoá quá trình thực hiện – cải thiện hiệu suất – cũng như UX đẹp mắt, dễ sử dụng.

Bài viết gốc được đăng tải tại duypt.dev

Xem thêm:

Tìm việc làm IT mới nhất trên TopDev

Không biết gì về máy tính có nên học CNTT (Giải đáp chi tiết)

Không biết gì về máy tính có nên học CNTT

Hiện nay, ngành Công nghệ Thông tin (CNTT) đang trở thành một trong những lĩnh vực được quan tâm hàng đầu. Với sự phát triển nhanh chóng của công nghệ, nhiều người – đặc biệt là các bạn trẻ đang cân nhắc về việc học CNTT, kể cả những người chưa có kiến thức nền tảng về máy tính. Câu hỏi “Không biết gì về máy tính có nên học CNTT?” ngày càng xuất hiện nhiều trên các diễn đàn và cộng đồng trực tuyến.

Đây là một quyết định quan trọng, đòi hỏi sự cân nhắc kỹ lưỡng. Bài viết này sẽ đi sâu vào phân tích các khía cạnh của vấn đề, từ cơ hội và thách thức trong ngành CNTT, đến những lợi thế và khó khăn khi bắt đầu từ con số 0. Chúng ta sẽ cùng tìm hiểu xem liệu việc thiếu kiến thức về máy tính có thực sự là rào cản, hay đó có thể là một cơ hội để bắt đầu một hành trình mới đầy hứa hẹn trong thế giới công nghệ.

Không biết gì về máy tính có nên học CNTT

Những cơ hội cho người theo học CNTT

Ngành Công nghệ thông tin (CNTT) đang là một trong những ngành học nóng hổi và thu hút đông đảo sinh viên theo học bởi những tiềm năng phát triển và cơ hội việc làm rộng mở. Nếu bạn đang quan tâm đến ngành học này, hãy cùng khám phá những cơ hội tuyệt vời mà CNTT mang lại:

Cơ hội nghề nghiệp đa dạng

Ngành CNTT mang đến cho bạn nhiều lựa chọn nghề nghiệp phong phú. Nếu bạn yêu thích phát triển phần mềm, bạn có thể trở thành lập trình viên, kỹ sư phần mềm hoặc kiểm thử phần mềm. Trong lĩnh vực quản trị hệ thống và mạng, bạn có thể trở thành quản trị hệ thống, quản trị mạng hoặc chuyên viên an ninh mạng. Những ai đam mê dữ liệu có thể theo đuổi các vị trí như chuyên viên phân tích dữ liệu hay kỹ sư dữ liệu. Thiết kế và phát triển web cũng là một lĩnh vực hứa hẹn với các vị trí lập trình viên web, chuyên viên UI/UX, và game design. Ngoài ra, còn rất nhiều cơ hội khác trong quản lý dự án CNTT, tư vấn CNTT, giảng dạy và nghiên cứu.

Mức lương hấp dẫn

Một trong những yếu tố hấp dẫn nhất của ngành CNTT là mức lương cạnh tranh. Ngay cả đối với những vị trí entry-level, mức lương khởi điểm thường cao hơn đáng kể so với nhiều ngành nghề khác. Hơn nữa, với sự phát triển của kỹ năng và kinh nghiệm, mức lương có thể tăng nhanh chóng. Các chuyên gia CNTT có kinh nghiệm và kỹ năng cao thường nhận được những gói đãi ngộ rất hấp dẫn, bao gồm cả lương thưởng và các phúc lợi khác.

NHU CẦU NHÂN LỰC IT TẠI VIỆT NAM 2018 - 2025(NGÀNH PHẦN MỀM)
NHU CẦU NHÂN LỰC IT TẠI VIỆT NAM 2018 – 2025 (NGÀNH PHẦN MỀM)

Nhu cầu nhân lực cao

Theo báo cáo thị trường IT Việt Nam năm 2023 do TopDev phát hành, Việt Nam sẽ thiếu hụt khoảng 200.000 nhân lực trong ngành CNTT vào năm 2025. Điều này cho thấy nhu cầu tuyển dụng nhân lực cho ngành CNTT trong thời gian tới là rất cao, mở ra nhiều cơ hội việc làm cho những người theo học ngành này.

Cơ hội làm việc toàn cầu

CNTT là một ngành có tính quốc tế cao. Kỹ năng trong lĩnh vực này có thể áp dụng ở bất kỳ đâu trên thế giới, mở ra cơ hội làm việc tại nước ngoài hoặc làm việc từ xa cho các công ty quốc tế. Điều này không chỉ mang lại trải nghiệm văn hóa đa dạng mà còn tạo cơ hội phát triển sự nghiệp trên phạm vi toàn cầu. Nhiều chuyên gia CNTT có thể làm việc cho các dự án quốc tế mà không cần rời khỏi đất nước của mình.

Khả năng làm việc từ xa

Ngành CNTT đặc thù với tính linh hoạt, đặc biệt là khả năng làm việc từ xa. Với sự hỗ trợ của công nghệ, bạn có thể làm việc từ bất cứ đâu trên thế giới mà không cần phải đến văn phòng. Điều này không chỉ giúp bạn tiết kiệm thời gian di chuyển mà còn tạo ra sự cân bằng tốt hơn giữa cuộc sống cá nhân và công việc. Khả năng làm việc từ xa cũng mở ra nhiều cơ hội làm việc cho các công ty quốc tế mà không cần phải di chuyển.

Cơ hội khởi nghiệp

Ngành CNTT cung cấp nhiều cơ hội khởi nghiệp cho những ai có ý tưởng sáng tạo và muốn tự lập. Bạn có thể tạo ra các sản phẩm công nghệ mới, từ ứng dụng di động, phần mềm đến các dịch vụ công nghệ đột phá. Khởi nghiệp trong lĩnh vực CNTT không chỉ mang lại cơ hội tài chính lớn mà còn giúp bạn thỏa sức sáng tạo và phát triển cá nhân.

  Học IT có khó không? 6 khó khăn khi theo học ngành CNTT

  Lộ trình học công nghệ thông tin hiệu quả cho người mới bắt đầu

Những thách thức khi theo đuổi ngành CNTT

Bên cạnh những cơ hội hấp dẫn, ngành Công nghệ thông tin (CNTT) cũng đặt ra một số thách thức cho người theo học. Dưới đây là một số thách thức phổ biến nhất:

Cạnh tranh khốc liệt

Ngành CNTT luôn thu hút nhiều người, từ sinh viên mới ra trường đến những chuyên gia đã có kinh nghiệm. Điều này tạo ra môi trường cạnh tranh rất cao. Để nổi bật và có cơ hội thăng tiến, bạn cần phải không ngừng nâng cao kỹ năng, tích lũy kinh nghiệm thực tế và chứng tỏ khả năng của mình. Việc này đôi khi có thể gây áp lực lớn và yêu cầu bạn phải nỗ lực hết mình.

Những thách thức khi theo đuổi ngành CNTT

Yêu cầu học hỏi liên tục

Ngành CNTT phát triển với tốc độ chóng mặt, đòi hỏi người làm việc phải không ngừng cập nhật kiến thức và kỹ năng mới. Công nghệ, ngôn ngữ lập trình, và xu hướng mới xuất hiện thường xuyên, có thể khiến kiến thức hiện tại nhanh chóng trở nên lỗi thời. Việc phải liên tục học hỏi có thể gây áp lực và đôi khi cảm giác quá tải cho nhiều người.

Áp lực công việc cao

Dự án CNTT thường có deadline gấp gáp và yêu cầu kỹ thuật phức tạp. Nhiều chuyên gia phải làm việc ngoài giờ để hoàn thành dự án đúng hạn. Áp lực này có thể dẫn đến stress và ảnh hưởng đến cân bằng giữa công việc và cuộc sống cá nhân.

Yêu cầu kỹ năng mềm cao

Mặc dù kỹ năng chuyên môn rất quan trọng, nhưng các kỹ năng mềm cũng không thể thiếu khi làm việc trong ngành CNTT. Bạn cần phải có khả năng làm việc nhóm, giao tiếp hiệu quả, quản lý thời gian và giải quyết vấn đề nhanh chóng. Việc phát triển các kỹ năng này đôi khi gặp khó khăn, đặc biệt đối với những người có xu hướng làm việc độc lập hoặc ít kinh nghiệm làm việc nhóm.

Việc làm IT Fresher dành cho bạn

Không biết gì về máy tính có nên học CNTT không?

Câu trả lời là hoàn toàn có thể! Ngành Công nghệ thông tin (CNTT) chào đón tất cả những ai đam mê với công nghệ, mong muốn học hỏi và phát triển bản thân, bất kể bạn có nền tảng về máy tính hay không.

Trong quá trình học tập bạn sẽ được đào tạo từ cơ bản đến nâng cao, thông qua nhiều bài học khác nhau giúp bạn nhanh chóng làm quen và thành thạo. Quan trọng hơn hết, CNTT là một lĩnh vực khác hoàn toàn với tin học văn phòng bạn được dạy ở trường, nên việc bạn không biết gì về máy tính sẽ không thành vấn đề.

Không biết gì về máy tính có nên học CNTT không?

Tuy nhiên, để thành công trong lĩnh vực này, bạn cần lưu ý một số điều sau:

Xác định đam mê và sự quyết tâm: Điều quan trọng nhất là bạn phải có niềm đam mê thực sự với CNTT. Nếu bạn không thực sự yêu thích lĩnh vực này, bạn sẽ khó có thể vượt qua những khó khăn và thử thách trong quá trình học tập và làm việc.

  • Sẵn sàng học hỏi: Ngành CNTT luôn thay đổi và phát triển không ngừng, vì vậy bạn cần có tinh thần học hỏi suốt đời. Hãy luôn chủ động tìm kiếm kiến thức mới, cập nhật xu hướng công nghệ mới nhất và trau dồi kỹ năng của bản thân.
  • Thực hành là chìa khóa: Lý thuyết là quan trọng, nhưng thực hành còn quan trọng hơn. Hãy tham gia các dự án thực tế, làm bài tập, và thực hành viết mã hàng ngày. Thực hành không chỉ giúp bạn củng cố kiến thức mà còn giúp bạn phát hiện ra các vấn đề thực tiễn và cách giải quyết chúng.
  • Tận dụng tài nguyên học tập: Có rất nhiều tài nguyên học tập miễn phí và trả phí dành cho người học CNTT. Các nền tảng như Coursera, Udemy, edX, Khan Academy, và Codecademy cung cấp các khóa học từ cơ bản đến nâng cao. Hãy tận dụng những tài nguyên này để học tập và nâng cao kiến thức của mình.
  • Kiên nhẫn và không bỏ cuộc: Học CNTT có thể rất khó khăn và đòi hỏi nhiều thời gian, công sức. Đừng nản lòng khi gặp phải những thử thách ban đầu. Hãy kiên nhẫn, cố gắng vượt qua khó khăn và không ngừng học hỏi. Thành công sẽ đến với những ai không bỏ cuộc.

Kết luận

“Không biết gì về máy tính có nên học CNTT?” câu trả lời chắc chắn là “CÓ” nếu bạn có đam mê và quyết tâm theo đuổi ngành CNTT. Mặc dù bạn sẽ đối mặt với nhiều thử thách, nhưng cơ hội và tiềm năng phát triển trong lĩnh vực này là rất lớn. Từ việc phát triển các kỹ năng tư duy logic, khả năng giải quyết vấn đề, đến việc tiếp cận với những cơ hội nghề nghiệp hấp dẫn và môi trường làm việc đa dạng, CNTT mang lại cho bạn một tương lai đầy hứa hẹn. Với sự nỗ lực và đam mê, bạn hoàn toàn có thể thành công trong lĩnh vực CNTT, bất kể điểm xuất phát của mình là gì.

Xem thêm:

Xem thêm việc làm IT hấp dẫn tại TopDev

Tuyển tập 25 câu hỏi phỏng vấn PostgreSQL thường gặp

Tuyển tập 25 câu hỏi phỏng vấn PostgreSQL thường gặp

Bài viết được sự cho phép của tác giả Nguyễn Thành Nam

I. Giới thiệu PostgreSQL

PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ và đối tượng (object-relational database management system) miễn phí và nguồn mở (RDBMS) tiên tiến nhất hiện nay, khả năng mở rộng cao và tuân thủ các tiêu chuẩn kỹ thuật. Nó được thiết kế để xử lý một loạt các khối lượng công việc lớn, từ các máy tính cá nhân đến kho dữ liệu hoặc dịch vụ Web có nhiều người dùng đồng thời.

PostgreSQL được phát triển dựa trên POSTGRES 4.2 tại phòng khoa học máy tính Berkeley, Đại học California.

PostgreSQL được thiết kế để chạy trên các nền tảng tương tự UNIX. Tuy nhiên, PostgreSQL sau đó cũng được điều chỉnh linh động để có thể chạy được trên nhiều nền tảng khác nhau như Mac OS X, Solaris và Windows.

PostgreSQL là một phần mềm mã nguồn mở miễn phí. Mã nguồn của phần mềm khả dụng theo license của PostgreSQL, một license nguồn mở tự do. Theo đó, bạn sẽ được tự do sử dụng, sửa đổi và phân phối PostgreSQL dưới mọi hình thức.

PostgreSQL không yêu cầu quá nhiều công tác bảo trì bởi có tính ổn định cao. Do đó, nếu bạn phát triển các ứng dụng dựa trên PostgreSQL, chi phí sở hữu sẽ thấp hơn so với các hệ thống quản trị dữ liệu khác.

II. Câu hỏi phỏng vấn về PostgreSQL

1. Các tính năng trong PostgreSQL?

  • Toàn vẹn dữ liệu: Là ràng buộc loại từ, khóa khuyến nghị, Primary Keys, Foreign Keys,…
  • Kiểu dữ liệu: cấu trúc, nguyên hàm, hình học và tùy chỉnh
  • Hiệu suất, đồng quy: Những tính năng lập danh mục, lập danh mục nâng cao và trình lập kế hoạch,… chúng đều được thực hiện một cách tự động.
  • Các chức năng bảo mật: Bảo mật, xác thực, hệ thống kiểm soát truy cập mạnh mẽ, bảo mật cấp độ cột và hàng.
  • Khả năng tìm kiếm văn bản: Tìm kiếm đầy đủ những văn bản, hệ thống bao gồm các kỳ tự quốc tế thông qua ICU collations.
  • Khả năng mở rộng: PostgreSQL có phương pháp lưu trữ, ngôn ngữ thủ tục, tính năng kết nối cơ sở dữ liệu hoặc luồng khác với giao diện SQL chuẩn cùng với nhiều tính năng mở rộng vượt trội khác.

2. Multi-version Concurrency Control trong Postgres là gì?

Một trong những tính năng nổi bật của Postgres đó là cách mà nó thực hiện điều khiển tương tranh giữa các transaction, nghĩa là read sẽ không bao giờ chặn write và ngược lại. Nói một cách dễ hình dung hơn, nếu hai transaction thực thi cùng một lúc thì nguyên tắc thực thi là thực thi độc lập, Postgres thực hiện được điều này là nhờ một cơ chế gọi là Multi Version Concurrency Control (MVCC).

3. Làm thế nào để đánh chỉ mục trong Postgres?

Chỉ mục (Indexex) là các hàm có sẵn trong Postgres được sử dụng cho các truy vấn tìm kiếm để đạt hiệu quả cao hơn đối với một bảng trong cơ sở dữ liệu. Giả sữ rằng bạn có một bảng với hàng ngìn bản ghi và câu truy vấn của bạn thì chỉ có vài bản ghi là phù hợp với điều kiện, như vậy sẽ mất rất nhiều thời gian để tìm và trả về nững hàng thoả mã điều kiện này vì nó phải thực hiện hoạt động tìm kiếm trên từng hàng đơn lẻ.

Điều này chắc chắn không hiệu quả đối với một hệ thống xử lý dữ liệu khổng lồ. Bây giờ nếu hệ thống này có một chỉ mục trên cột mà chúng ta đang áp dụng tìm kiếm, nó có thể sử dụng một phương pháp hiệu quả để xác định các hàng phù hợp bằng cách chỉ đi qua một vài cấp độ. Đây được gọi là lập chỉ mục (indexing).

SELECT * FROM some_table WHERE table_col=120

4. Làm thế nào để thay đổi kiểu dữ liệu của cột?

Có thể sử dụng lệnh ALTER TABLE như bên dưới

ALTER TABLE tname
ALTER COLUMN col_name [SET DATA] TYPE new_data_type;

5. Tạo cơ sở dữ liệu trong Postgres?

Cú pháp tạo cơ sở dữ liệu trong Postgres trong psql là:

CREATE DATABASE db_name;

6. Cách để khởi động, dừng và khởi động lại trong PostgreSQL Server?

  • Để khởi động Postgres server:
service postgresql start
  • Sau khi server khởi động thành công, sẽ có thông báo như sau:
Starting PostgreSQL: ok
  • Để khởi động lại Postgres server:
service postgresql restart
  • Nếu khởi động lại thành công:
Restarting PostgreSQL: server stopped
ok
  • Để dừng server, ta chạy lệnh:
service postgresql stop
  • Nếu dừng thành công:
Stopping PostgreSQL: server stopped
ok

7. Các kiểu partioned table?

Partitioned table là một cấu trúc logic được dùng cho chia một bảng lớn thành các cấu trúc nhỏ hơn gọi là partition. Cách tiếp cận này được dùng để tăng hiệu suất truy vấn khi làm việc với bảng cơ sở dữ liệu lớn. Để tạo một partition, một khoá gọi là khoá phân vùng được dùng cho các cột hoặc biểu thức, và một phương thức phân vùng cần định nghĩa. Có 3 kiểu phương thức phân vùng có sẵn được cung cấp bởi Postgres:

  • Range Partitioning: Phương pháp này được thực hiện bằng cách phân vùng dựa trên một loạt các giá trị. Phương pháp này được sử dụng phổ biến nhất dựa trên các trường ngày tháng để lấy dữ liệu hàng tháng, hàng tuần hoặc hàng năm. Trong trường hợp như giá trị thuộc phần cuối của phạm vi, ví dụ: nếu phạm vi của phân vùng 1 là 10-20 và phạm vi của phân vùng 2 là 20-30 và giá trị đã cho là 10, thì 10 thuộc về đến phân vùng thứ hai chứ không phải phân vùng đầu tiên.
  • List Partitioning: Phương pháp này được sử dụng để phân vùng dựa trên danh sách các giá trị đã biết. Thường được sử dụng nhất khi chúng ta có key có giá trị phân loại. Ví dụ: nhận dữ liệu bán hàng dựa trên các khu vực được chia thành quốc gia, thành phố hoặc tiểu bang.
  • Hash Partitioning: Phương pháp này sử dụng một hàm băm trên khoá phân vùng. Điều này được thực hiện khi không có yêu cầu cụ thể nào đối với việc phân chia dữ liệu và được sử dụng để truy cập dữ liệu riêng lẻ. Ví dụ: bạn muốn truy cập dữ liệu dựa trên một sản phẩm cụ thể, thì việc sử dụng phân vùng băm sẽ dẫn đến tập dữ liệu đã yêu cầu.

Loại khoá phân vùng và loại phương pháp được sử dụng để phân vùng xác định mức độ tích cực của hiệu suất và mức độ quản lý của bảng được phân vùng.

  Dùng Python viết hàm xử lý dữ liệu dưới tầng database cho PostgreSQL

  So sánh RDBMS và NoSQL. Nên sử dụng loại CSDL nào cho dự án của bạn?

8. Token trong Postgres?

Token trong Postgres là một từ khoá, tên định danh, hằng, hay bất kỳ ký hiệu nào cho tính riêng biệt. Nó có thể được phân chia (hoặc không) bằng khoảng trắng, tab hay xuống dòng. Nếu token là từ khoá, nó thường là một lệnh hữu ích. Token có thể được tạo bằng bất kỳ code PostgreSQL nào.

9. Câu lệnh TRUNCATE là gì?

Lệnh TRUNCATE TABLE name_of_table xoá dữ liệu một cách hiệu quả và nhanh chóng khỏi bảng.

TRUNCATE TABLE name_of_table
RESTART IDENTITY;

Ta còn có thể dùng lệnh cho xoá nhiều bảng cùng lúc như sau:

TRUNCATE TABLE
   table_1,
   table_2,
   table_3;

10. Dung lượng của một bảng trong Postgres?

Kích cỡ lớn nhất cho một bản là 32TB.

Tham khảo việc làm MySQL Hồ Chí Minh hấp dẫn

11. Sequence trong Postgres?

Sequence là một đối tượng dữ liệu trong PostgreSQL, được sử dụng để tạo ra chuỗi các số tự nhiên (integer) theo 1 quy tắc nhất định. Để tạo 1 Sequece chúng ta sử dụng câu lệnh SQL là: CREATE SEQUENCE

CREATE SEQUENCE serial_num START 100;

Để lấy số 101 trong sequence, ta sử dụng phương thức nextval():

SELECT nextval('serial_num');

Ta cũng có thể dùng sequence trong khi chèn bản ghi:

INSERT INTO ib_table_name VALUES (nextval('serial_num'), 'interview');

12. Chuỗi trong Postgres?

Nó là một chuỗi ký tự nằm trong dấu nháy đơn. Nó được dùng trong suốt quá trình thêm hay cập nhật ký tự trong cơ sở dữ liệu.

Chuỗi hằng nằm trong dấu dollar. Cú pháp $tag$<string_constant>$tag$. Thẻ trong hằng là tuỳ chọn và có thể không cần chỉ định, hằng còn được gọi là một vòng lặp chuỗi dollar kép.

13. Hiện thị tất cả cơ sở dữ liệu trong Postgres?

Trong psql dùng lệnh \l để xem tất cả cơ sở dữ liệu.

14. Xoá cơ sở dữ liệu trong Postgres?

Cú pháp xoá cơ sở dữ liệu như sau:

DROP DATABASE database_name;

15. Thuộc tính ACID là gì?

ACID (viết tắt của Atomicity, Consistency, Isolation, Durability) là tính chất trong đó bao gồm tập hợp của 4 đặc tính khác nhau áp dụng cho một database transaction.

  • Atomicity quy định rằng tất các hành động của một transaction cần được thực hiện thành công hoặc ngược lại nếu có một hành động không được thực hiện thì sẽ không có bất cứ hành động nào khác được thực hiện thành công.
  • Consistency quy định tại bất kỳ thời điểm nào, trước hoặc sau một transaction được thực hiện dù lỗi hay không lỗi, thì cơ sở dữ liệu vẫn phải được giữ ở trạng thái hợp lệ (ví dụ dữ liệu phải phù hợp với các quy định được định nghĩa cho cơ sở dữ liệu).
  • Isolation quy định từng transaction khác nhau cần phải được thực hiện trong một môi trường độc lập, nếu có 2 transaction diễn ra tại cùng một thời điểm thì cần một cơ chế đảm bảo transaction này không ảnh hưởng tới transaction khác.
  • Durability quy định rằng khi transaction được diễn ra (thành công hoặc rollback lại khi có lỗi) thì sau đó dù có bất cứ sự cố nào diễn ra với cơ sở dữ liệu (mất điện, server tràn bộ nhớ…) thì khi được khôi phục lại thì dữ liệu được khôi phục sẽ giữ nguyên trạng thái trước khi có sự cố (đảm bảo không có bất cứ transaction trước đó không bị mất).

PostgreSQL tuân theo các thuộc tính ACID.

Thuộc tính ACID

16. Giải thích kiến trúc của Postgres?

  • Kiến trúc Postgres theo mô hình client-server.
  • Phía server bao gồm process manager (đơn vị quản lý tiến trình nền), query processer (trình xử lý truy vấn), utilities processer (trình xử lý đơn vị) và bộ nhớ chung, cùng nhay tạo nên thực thể Postgres cho phép truy cập dữ liệu. Ứng dụng client thực hiện việc kết nối với thực thể này và gửi yêu cầu xử lý dữ liệu đến dịch vụ. Client có thể là GUI hoặc ứng dụng web. Ứng dụng client phổ biến với Postgres là pgAdmin.

kiến trúc của Postgres

17. Lệnh enable-debug là gì?

Lệnh enable-debug được dùng để cho pehsp biên dịch toàn bộ thư viện và ứng dụng. Khi nó được kích hoạt, các tiến trình hệ thống bị cản trở và làm file nhị phân tăng kích thước lên. Do đó, không nên bật nó trong môi trường production. Nó chủ yếu được dùng để debug cho các dev phát hiện ra vấn đề của họ.

18. Cách kiểm tra các hàng bị ảnh hưởng từ transactions trước đó?

Các tiêu chuẩn SQL nêu rõ rằng ba hiện tượng sau nên được ngăn chặn trong khi thực hiện các transactions đồng thời:

  • Dirty Reads điều này xảy ra khi một transaction tiến hành đọc dữ liệu mà chưa được commited. Ví dụ: transaction A cập nhập 1 dữ liệu, transaction B đọc dữ liệu sau khi A cập nhật xong. Nhưng vì lý do nào đó A không commit thành công, dự liệu quay trở lại trạng thái ban đầu, khi đó dữ liệu của B trở thành Dirty.
  • Nonrepeatable reads xảy ra khi một transaction đọc cùng 1 dữ liệu 2 lần nhưng lại nhận được giá trị khác nhau. Ví dụ: transaction A đọc 1 dữ liệu, transaction B cập nhật xóa dữ liệu đó. Nếu A đọc lại dữ liệu đó nó sẽ lấy các giá trị là khác nhau.
  • Phantom reads là rủi ro xảy ra với lệnh read có điều kiện. Ví dụ: giả sử transaction A đọc một tập hợp các dữ liệu đáp ứng một số điều kiện tìm kiếm, transaction B tạo ra một dữ liệu mới khớp với điều kiện được tìm kiếm cho transaction A. Nếu A thực hiện lại với điều kiện như vậy thì nó sẽ nhận dc một tập hợp các dữ liệu là không đồng nhất.

Các tiêu chuẩn SQL xác định 4 cấp độ độc lập transactions để ứng phó với những hiện tượng này. 4 cấp độ theo tiêu chuẩn SQL là:

  • Read uncommitted: khi transaction thực hiện ở mức này, các truy vấn vẫn có thể truy nhập vào các bản ghi đang được cập nhật bởi một transaction khác và nhận được dữ liệu tại thời điểm đó mặc dù dữ liệu đó chưa được commit. Nếu vì lý do nào đó transaction ban đầu rollback lại những cập nhật, dữ liệu sẽ trở lại giá trị cũ. Khi đó transaction thứ hai nhận được dữ liệu sai.
  • Read committed: transaction sẽ không đọc được dữ liệu đang được cập nhật mà phải đợi đến khi việc cập nhật thực hiện xong. Vì thế nó tránh được dirty read như ở mức trên.
  • Repeatable read: mức isolation này hoạt động nhứ mức read commit nhưng nâng thêm một nấc nữa bằng cách ngăn không cho transaction ghi vào dữ liệu đang được đọc bởi một transaction khác cho đến khi transaction khác đó hoàn tất.
  • Serializable: đây là mức cao nhất của isolation levels, đảm bảo read và write locks. Trong trường hợp phép read có mệnh đề điều kiện, Serializable cũng cần đòi hỏi range lock để tránh phantom reads.

Bảng dưới đây mô tả rõ hơn:

Isolation level Dirty Read Phantom Read Non-repeatable read
Read Uncommitted Có thể xảy ra Có thể xảy ra Có thể xảy ra
Read Committed Không thể xảy ra Có thể xảy ra Có thể xảy ra
Repeatable Read Không thể xảy ra Có thể xảy ra Không thể xảy ra
Serializable Không thể xảy ra Không thể xảy ra Không thể xảy ra

19. WAL là gì?

Write Ahead Logging là một tính năng làm tăng độ tin cậy của cơ sở dữ liệu bằng cách ghi log các thay đổi trước khi thực hiện bất kỳ thay đổi nào đối với cơ sở dữ liệu. Điều này đảm bảo rằng ta có đủ thông tin để khi sự cố cơ sở dữ liệu xảy ra (mất điện, process postmaster bị kill) ta có thể xác định xem công việc đã hoàn thành ở điểm nào và đưa ra điểm bắt đầu từ thời điểm nó bị ngừng hoạt động.

20. Hạn chế của lệnh DROP TABLE?

Lệnh DROP TABLE xoá hoàn toàn dữ liệu một bảng cùng với cấu trúc của bảng đó. Trong trường hợp ta chỉ muốn xoá dữ liệu và dùng lại cấu trúc bảng để lưu trữ thì nó rất bất tiện, lời khuyền là dùng TRUNCATE cho những trường hợp này.

21. Tìm kiếm không phân biệt hoa thường trong Postgres?

Để thực hiện tìm kiếm không phân biệt hoá thường với các biểu thức chính thống trong Postgres, ta có thể dùng biểu thức POSIX (~*). Ví dụ:

'interview' ~* '.*INTervIew.*'

22. Backup cơ sở dữ liệu trong Postgres?

Ta có thể thực hiện bằng công cụ pg_dump để kết xuất tất cả nội dụng từ cơ sở dữ liệu vào một file duy nhất. Các bước bao gồm:

Bước 1: Vào thư mục gốc của Postgres:

C:\>cd C:\Program Files\PostgreSQL\10.0\bin

Bước 2: Thực thi chương trình pg_dump để kết xuất dữ liệu:

pg_dump -U postgres -W -F t sample_data > C:\Users\admin\pgbackup\sample_data.tar

Cơ sở dữ liệu được kết xuất sẽ được lưu trữ ở file sample_data.tar ở vị trí cụ thể.

Full-text search (FTS) là một kỹ thuật tìm kiếm kết quả trên cơ sở dữ liệu chứa “toàn bộ” các kí tự (text) của một hoặc một số tài liệu, bài báo,…(document), hoặc là của website. Nó được hỗ trợ trong các hệ thống cơ sở dữ liệu nâng cao như SOLR hoặc ElasticSearch. Tuy nhiên, hiện tại Postgres cũng hỗ trợ khá cơ bản tính năng này.

24. Truy vấn song song trong Postgres?

Là một tính năng được cung cấp trong PostgreSQL để đưa ra các kế hoạch truy vấn có khả năng khai thác nhiều bộ xử lý CPU để thực hiện các truy vấn nhanh hơn.

Truy vấn song song trong Postgres

25. Giải thích về Triggers?

Trigger là một thủ tục SQL được thực thi ở phía server khi có một sự kiện như Insert, Delete, hay Update. Trigger là một loại stored procedure đặc biệt (không có tham số) được thực thi (execute) một cách tự động khi có một sự kiện thay đổi dữ liệu (data modification). Trigger được lưu trữ và quản lý trong Server DB, được dùng trong trường hợp ta muốn kiểm tra các ràng buộc toàn vẹn trong DB.

26. Sự khác biệt giữa commit và checkpoint?

Hành động commit đảm bảo sự nhất quán dữ liệu của transaction được duy trì và nó kết thúc transaction hiện tại. Commit thêm một bản ghi vào log và mô tả là COMMIT trong bộ nhớ. Trong khi đó, checkpoint là cơ chế đồng bộ dữ liệu cập nhật (đã commit) từ bộ nhớ đệm xuống dưới đĩa cứng.

Bài viết gốc được đăng tải tại blog.thanhnamnguyen.dev

Xem thêm:

Đừng bỏ lỡ nhiều việc làm IT hấp dẫn trên TopDev nhé!

.env và những hệ lụy khi sử dụng

.env và những hệ lụy khi sử dụng

Bài viết được sự cho phép của tác giả Tống Xuân Hoài

Vấn đề

Có một lời khuyên là cấu hình nào có thể thay đổi tùy theo môi trường triển khai (deploy) thì nên đưa nó ra thành biến môi trường (Os Environment). Như vậy thì thông thường, chúng ta sẽ có một file .env để lưu trữ lại những biến đó, .env thường được nằm trong .gitignore và nó chỉ được tạo ra khi triển khai ứng dụng lên môi trường Internet hoặc khởi chạy trên máy local. Một tệp .env có thể trông giống như sau:

DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=password
...

Sau này, chúng ta cần .env linh hoạt hơn, có thể thay đổi tùy theo một biến môi trường truyền vào. Ví dụ như nó có thể thay đổi thông qua biến NODE_ENV. Lúc đó ta lại có .env.local, .env.development, .env.production… Mà khi khởi chạy, chỉ cần NODE_ENV=local node index.js thì .env.local sẽ tự động được sử dụng.

Một giải pháp khác so với cách dùng .env là lưu trữ lại cấu hình trong bất kì một tệp nào như là JavaScript, JSON, yml… cách dùng nó cũng tương tự như .env, có điều nó cho phép các cấu hình lồng nhau để dễ dàng phân vùng cấu hình một cách rõ ràng hơn. Nhưng chung quy lại, cả 2 vẫn là tạo ra các tệp lưu trữ biến môi trường.

Hiện tại, tôi vẫn đang sử dụng .env trong một số dự án mình tham gia, không thể phủ nhận được sự tiện lợi của .env. Tuy nhiên .env không phải là không có bất cập.

Đầu tiên là tính bảo mật. Các tệp .env không khác gì một file văn bản không mã hóa, vì thế bất kì ai cũng có thể đọc nó. Thậm chí mọi người thường hay sao chép hoặc gửi trực tiếp .env cho nhau thông qua một ứng dụng nhắn tin nào đó, khiến nội dung có thể bị lộ hoặc cố ý đẩy ra bên ngoài.

Các tệp .env không có phân quyền, nghĩa là bất kì ai cũng có thể truy cập vào được nếu xin phép, điều đó cũng vô tình tiết lộ tất cả nội dụng của tất cả các biến. Ví dụ, một bạn developer xin quyền khởi động project ở dưới máy local trỏ vào môi trường stagging, có thể chúng ta phải gửi toàn bộ nội dung .env ở môi trường stagging cho bạn ấy.

Vì .env là bí mật nên nó thường không được commit vào git. Nghĩa là lịch sử thay đổi các biến trong .env sẽ rất khó để có thể theo dõi thông qua công cụ này được. Hầu hết cách làm của chúng ta sẽ thêm một tệp gì đó như là .env.example để lưu lại những giá trị có thể có trong .env. Tuy nhiên cách làm này chỉ để biết được .env có gì chứ không quản lý được nội dung của .env. Nhiều lúc thêm một biến mới nhưng lại quên cập nhật trong các tệp môi trường khác lại khiến ứng dụng bị lỗi.

Thật tệ hại nếu như chúng ta lỡ tay commit .env vào trong dự án, hoặc quên mất trong .dockerignore… Đây là sai sót có yếu tố con người tuy nhiên lại là một trong những vấn đề gây ra rò rỉ thông tin bảo mật nếu không phát hiện sớm.

Vậy chúng ta có giải pháp nào tốt hơn không?

  Giới thiệu về RedisJSON - Mảnh ghép hoàn hảo cho RediSearch

  Bảo vệ thông tin nhạy cảm trong dự án sử dụng .env

Giải pháp thay thế .env truyền thống

Với những khuyến điểm tồn tại như ở trên, dĩ nhiên chúng ta sẽ có nhiều giải pháp thay thế để quản lý được các biến môi trường một cách hiệu quả hơn. Một trong số đó có thể kể đến như Azure Secrets Manager hay Vault. Tuy nhiên, các công cụ đó có vẻ phù hợp với cấu hình phức tạp và mở rộng hơn sau này. Nếu bạn cần một công cụ đơn giản hơn, chỉ đơn giản tập trung vào quản lý các biến bảo mật thì Infisical là một giải pháp dễ dàng mà tiết kiệm hơn nhiều.

Infisical là một giải pháp mã hóa đầu cuối mã nguồn mở, có thể sử dụng để đồng bộ hóa các biến môi trường trong nhóm và cơ sở hạ tầng. Bằng cách sử dụng Infisical, chúng ta có thể giải quyết được hầu hết các vấn đề nêu ra ở đầu bài viết.

Mã nguồn của Infisical có thể được tìm thấy tại Infisical Github, chúng ta có thể tự triển khai một máy chủ cho riêng mình bằng nhiều cách như sử dụng Docker, AWS, DigitalOcean… Hoặc nếu không, Infisical cung cấp dịch vụ Cloud hoàn toàn miễn phí với một số giới hạn. Bạn đọc quan tâm có thể đăng kí tại Infisical Signup.

Infisical

Infisical hỗ trợ rất nhiều dịch vụ Cloud như AWS, Vercel, Netlify… hoặc các Framework/Library như React, Vue, SvelteKit…

Ví dụ sử dụng trong Node: Sau khi thêm các biến môi trường vào Infisical, bạn có thể khởi động dự án Node.js bằng cách:

$ infisical init
$ infisical run -- npm start

Lúc này các biến môi trường sẽ được truyền vào trong ứng dụng Node.

Để xem đầy đủ các cách tích hợp cũng như sử dụng trong các Project khác, bạn đọc có thể xem tại Infisical Integrations.

Tổng kết

.env là một trong những cách giúp chúng ta quản lý biến môi trường trong triển khai ứng dụng lên nhiều môi trường khác nhau. Tuy nhiên, cách tiếp cận thông qua .env có phần lỗi thời và gây ra nhiều vấn đề cần phải được giải quyết. Infisical có thể được coi là một giải pháp đơn giản mà hiệu quả hơn so với Vault hay Azure Secrets Manager.

Bài viết gốc được đăng tải tại 2coffee.dev

Xem thêm:

Xem thêm việc làm CNTT hấp dẫn trên TopDev

Kinh nghiệm truy xuất giá trị trong object lồng nhau trong Javascript

Kinh nghiệm truy xuất giá trị trong object lồng nhau trong Javascript

Bài viết được sự cho phép của tác giả Sơn Dương

Chắc hẳn bạn đã từng rất nhiều lần phải truy xuất giá trị thuộc tính của object để lấy dữ liệu đúng không?

Đặc biệt là làm việc với Javascript, bạn càng thao tác với Object nhiều hơn, từ việc lấy dữ liệu từ server qua API, lưu trữ dữ liệu vào localstorage… đều dùng JSON, mà JSON thì cũng được convert về Object hết.

Vậy, chắc hẳn bạn đã từng gặp trường hợp các object lồng nhau chưa?

Truy xuất giá trị thuộc tính của một Object

Để minh họa cho bài viết, mình giả sử chương trình lấy dữ liệu từ server qua một API. Trong đó, server sẽ trả về dữ liệu JSON có cấu trúc như sau:

let response = {
  data: {
    options: {
      name: "Dương Anh Sơn",
      website: "https://vntalking.com"
    }
  }
};

Giờ bạn cần lấy giá trị website ra để thực hiện công việc nào đó trong Object JSON trên. Bạn sẽ làm thế này phải không?

const website = response.data.options.website;
console.log(website);
// output: https://vntalking.com

Ok, cách làm như này là đúng rồi! Chắc ai cũng phải làm như vậy thôi 😊

Tuy nhiên! Vì một lý do nào đó mà đối tượng response kia không còn đúng với cấu trúc đó nữa. Ví dụ, response không còn tồn thuộc tính options, chỉ còn thế này:

let response = {
  data: {}
};

Lập tức, chương trình sẽ bị crash.

access-undefined-object

Nguyên nhân là bạn truy cập vào thuộc tính undefined. Giờ phải làm sao để xử lý lỗi này cho vẹn toàn nhỉ?

  Đôi điều về Object Reference trong Javascript. Nhiều lúc quên thật phiền toái!

  Deep Clone Objects trong Javascript – Giới thiệu một biện pháp cực mạnh

Cách lấy dữ liệu trong Object kèm kiểm tra Undefined

Thông thường, để tránh bị lỗi crash do truy cập vào thuộc tính bị undefined như ở trên, chúng ta nên kiểm tra thuộc tính đó có bị undefined không, trước khi truy xuất lấy dữ liệu.

Nếu thuộc tính đó bị undefined thì trả về một giá trị mặc định nào đó.

Cách làm “nông dân” nhất là:

const website = "Không biết";
if(response.data && response.data.options && response.data.options.website) {
   website = response.data.options.website;
}

console.log(website);
// output: https://vntalking.com

Nhưng mà nhìn câu điều kiện if(...) lại thấy chán 😊

Dưới đây là hai cách làm hiện đại, “sang xịn mịn” hơn!

Tham khảo tuyển dụng javascript lương cao trên TopDev

Sử dụng Lodash

Nếu bạn chưa biết lodash là gì, mời bạn đọc bài viết này nhé: Lodash – Tiện ích dắt túi của dân lập trình Javascript

Với lodash, họ cung cấp sẵn một hàm lấy giá trị của một thuộc tính, tất nhiên là họ đã check choác các kiểu để không bị crash.

const website = _.get(response, 'data.options.website');
console.log(website);
// output: https://vntalking.com

Sử dụng Optional Chaining có sẵn của JS

Từ phiên bản ES6, bạn không cần dùng tới lodash luôn, chỉ cần optional chaining là đủ. Dưới đây là một cách mà mình hay sử dụng.

const website = response?.data?.options?.website ?? 'Không biết';
console.log(website);
// output: https://vntalking.com

Toán tử ? cho phép một thuộc tính có thể null. Do đó, bạn có thể truy xuất thoải mái, kể cả nó bị null/undefined.

Còn toán tử ?? tương tự như câu điều kiện kiểm tra null và trả về giá

Trên đây là hai cách truy xuất giá trị của object hay dùng nhất, đảm bảo ứng dụng không bị crash dù object có thay đổi cấu trúc bất thình lình đi chăng nữa (điều mà rất hay xảy ra khi chương trình lấy dữ liệu từ server).

Bạn còn giải pháp nào hay hơn không? Chia sẻ cùng mọi người đi nhé.

Bài viết gốc được đăng tải tại vntalking.com

Xem thêm:

Tìm việc làm IT mới nhất trên TopDev

Tổng hợp 100+ công cụ AI hữu ích cho mọi ngành nghề (P2)

công cụ AI hữu ích

Trong kỷ nguyên số hóa hiện nay, trí tuệ nhân tạo (AI) đã trở thành một phần không thể thiếu trong nhiều lĩnh vực của cuộc sống. Từ y tế, giáo dục, tài chính đến nông nghiệp, AI không chỉ giúp tối ưu hóa quy trình làm việc mà còn mang lại những giải pháp sáng tạo, nâng cao hiệu suất và chất lượng công việc.

Với tiềm năng vượt trội, AI đang dần thay đổi cách chúng ta làm việc, giao tiếp và phát triển. Trong bài viết này, chúng ta sẽ tiếp tục khám phá hơn 100 công cụ AI hữu ích, hứa hẹn sẽ mang đến những công cụ và phương pháp tiên tiến, phục vụ cho mọi ngành nghề một cách hiệu quả.

Chatbot và hỗ trợ khách hàng

21. Chatbot Dịch vụ Khách hàng

Chatbots được điều khiển bởi AI cung cấp hỗ trợ khách hàng tức thì, trả lời các câu hỏi thường gặp (FAQs), và xử lý các yêu cầu thường xuyên.

Một số công cụ và nền tảng AI cho Chatbot Dịch vụ Khách hàng:

  • IBM Watson Assistant: IBM Watson Assistant là nền tảng Chatbot mạnh mẽ cho phép doanh nghiệp tạo và triển khai Chatbots trên nhiều kênh khác nhau. Nền tảng này cung cấp khả năng hiểu ngôn ngữ tự nhiên và học máy để tạo ra các tương tác khách hàng cá nhân hóa.
  • Chatfuel: Chatfuel là nền tảng xây dựng Chatbot dễ sử dụng chuyên về tạo Chatbots cho Facebook Messenger. Nó lý tưởng cho các doanh nghiệp muốn tự động hóa hỗ trợ khách hàng và tương tác với khách hàng trên mạng xã hội.

Chatfuel

22. Trợ lý Ảo

Trợ lý ảo được điều khiển bởi AI giúp người dùng với các nhiệm vụ như lên lịch, nhắc nhở và truy xuất thông tin.

Một số công cụ và nền tảng AI cho Trợ lý Ảo:

  • Google Assistant: Google Assistant là trợ lý ảo được sử dụng rộng rãi trên các thiết bị di động và loa thông minh. Nó có thể thực hiện các nhiệm vụ như thiết lập nhắc nhở, trả lời câu hỏi và cung cấp thông tin thời gian thực như cập nhật thời tiết và tin tức.
  • Amazon Alexa: Alexa, trợ lý ảo của các thiết bị Amazon Echo, giúp người dùng thực hiện các nhiệm vụ như tạo danh sách công việc, thiết lập báo thức và điều khiển các thiết bị thông minh trong nhà. Nó cũng hỗ trợ một loạt các kỹ năng bên thứ ba để tăng cường chức năng.

23. Chatbot FAQ

Chatbots có thể tự động hóa phản hồi cho các câu hỏi thường gặp, cải thiện hiệu quả dịch vụ khách hàng.

Một số công cụ và nền tảng AI cho Chatbot FAQ:

  • Intercom Resolution Bot: Intercom’s Resolution Bot được thiết kế để tự động hóa phản hồi cho các câu hỏi khách hàng thường gặp. Nó có thể cung cấp câu trả lời tức thì và chuyển các vấn đề phức tạp cho các nhân viên hỗ trợ khi cần thiết.
  • Chatfuel: Chatfuel là công cụ xây dựng Chatbot dễ sử dụng cho phép doanh nghiệp tạo Chatbots AI cho Facebook Messenger. Nó phù hợp để tự động hóa phản hồi cho các câu hỏi thường gặp và tương tác với khách hàng trên mạng xã hội.

24. Hỗ trợ Đặt chỗ và Đặt phòng

Chatbots hỗ trợ việc đặt chuyến bay, khách sạn, nhà hàng và các dịch vụ khác.

Một số công cụ và nền tảng AI cho Hỗ trợ Đặt chỗ và Đặt phòng:

  • Booking.com: Chatbot của Booking.com hỗ trợ người dùng tìm và đặt chỗ lưu trú, chuyến bay và thuê xe. Nó cung cấp các gợi ý cá nhân hóa dựa trên sở thích của người dùng và cung cấp các tùy chọn đặt chỗ liền mạch.
  • Expedia: Chatbot của Expedia hỗ trợ người dùng đặt chuyến bay, khách sạn và các gói kỳ nghỉ. Nó cung cấp các gợi ý du lịch, chi tiết giá cả và quản lý hành trình thông qua các tương tác ngôn ngữ tự nhiên.

Expedia

25. Giải quyết Khiếu nại

Chatbots điều khiển bởi AI có thể xử lý khiếu nại và các vấn đề của khách hàng một cách nhanh chóng.

Một số công cụ và nền tảng AI cho Giải quyết Khiếu nại:

  • Freshdesk: Freshdesk cung cấp các Chatbots và tính năng tự động hóa được điều khiển bởi AI cho hỗ trợ khách hàng. Nó có thể xử lý các khiếu nại khách hàng thường gặp, hỗ trợ giải quyết vấn đề và chuyển các yêu cầu phức tạp cho các nhân viên hỗ trợ khi cần thiết.
  • Drift Chatbots: Drift cung cấp các Chatbots được điều khiển bởi AI cho bán hàng và hỗ trợ khách hàng. Nó có thể hỗ trợ xử lý khiếu nại của khách hàng và giải quyết các vấn đề bằng cách cung cấp thông tin chính xác và chuyển các yêu cầu đến các đội phù hợp.

26. Hỗ trợ Đa Ngôn ngữ

Chatbots được trang bị mô hình ngôn ngữ có thể giao tiếp với khách hàng bằng nhiều ngôn ngữ.

Một số công cụ và nền tảng AI cho Hỗ trợ Đa Ngôn ngữ:

  • IBM Watson Language Translator: IBM Watson Language Translator là công cụ mạnh mẽ có thể tích hợp vào Chatbots để cung cấp dịch ngôn ngữ thời gian thực. Nó hỗ trợ một loạt ngôn ngữ và có khả năng dịch cả văn bản và ngôn ngữ nói.
  • Google Cloud Translation: Google Cloud Translation cung cấp dịch vụ dịch máy có thể tích hợp vào Chatbots và ứng dụng. Nó hỗ trợ rất nhiều ngôn ngữ và cung cấp các bản dịch chất lượng cao.

  Sự khác nhau giữa AI, Machine Learning và Deep Learning

  5 công cụ AI hữu ích trong năm 2024 dành cho Developer

27. Hỗ trợ Bán hàng

Chatbots AI có thể hỗ trợ các đội bán hàng bằng cách cung cấp thông tin sản phẩm và xử lý các yêu cầu ban đầu.

Một số công cụ và nền tảng AI cho Hỗ trợ Bán hàng:

  • Salesforce Einstein: Salesforce Einstein là nền tảng AI cung cấp khả năng Chatbot cho các đội bán hàng. Nó có thể giúp tự động hóa quá trình đánh giá khách hàng tiềm năng, trả lời các câu hỏi thường gặp của khách hàng và cung cấp thông tin chi tiết cho các đại diện bán hàng.
  • HubSpot Chatbot: HubSpot cung cấp công cụ xây dựng Chatbot tích hợp với hệ thống CRM và công cụ tiếp thị của nó. Nó hỗ trợ các đội bán hàng bằng cách thu thập thông tin khách hàng tiềm năng, chăm sóc khách hàng tiềm năng và cung cấp thông tin sản phẩm cho khách hàng tiềm năng.

28. Tạo Khách hàng Tiềm năng

Chatbots có thể thu thập thông tin từ khách hàng tiềm năng, tạo ra các khách hàng tiềm năng cho doanh nghiệp.

Một số công cụ và nền tảng AI cho Tạo Khách hàng Tiềm năng:

  • Drift: Nền tảng Chatbot của Drift cung cấp khả năng tạo khách hàng tiềm năng bằng cách tương tác với khách truy cập trang web và thu thập thông tin khách hàng tiềm năng, như tên và địa chỉ email. Nó tích hợp liền mạch với các hệ thống tự động hóa tiếp thị.
  • Intercom: Chatbot của Intercom có thể tương tác với khách truy cập trang web và thu thập thông tin khách hàng tiềm năng. Nó cung cấp các tính năng như đánh giá và chăm sóc khách hàng tiềm năng, giúp doanh nghiệp chuyển đổi khách truy cập thành khách hàng tiềm năng.

Intercom

29. Tạo Cơ sở Kiến thức

AI tạo ra các bài viết và tài liệu cơ sở kiến thức để khách hàng tự phục vụ.

Một số công cụ và nền tảng AI cho Tạo Cơ sở Kiến thức:

  • Zoho Desk: Zoho Desk bao gồm các tính năng điều khiển bởi AI cho việc tạo cơ sở kiến thức. Nó có thể tự động gợi ý các bài viết cho khách hàng dựa trên các yêu cầu của họ và cung cấp phân tích để tối ưu hóa nội dung cơ sở kiến thức.
  • ProProfs Knowledge Base: ProProfs Knowledge Base cung cấp khả năng tạo nội dung điều khiển bởi AI. Nó đơn giản hóa quá trình tạo và duy trì cơ sở kiến thức với các tính năng như gợi ý nội dung tự động.

30. Tương tác giống như con người

Chatbots cố gắng mô phỏng các cuộc trò chuyện giống như con người, nâng cao trải nghiệm người dùng và tương tác.

Một số công cụ và nền tảng AI cho Tương tác giống như con người:

  • Dialogflow: Dialogflow của Google Cloud cung cấp khả năng hiểu ngôn ngữ tự nhiên và quản lý cuộc trò chuyện. Nó cho phép các doanh nghiệp tạo Chatbots có thể tham gia vào các tương tác giống như con người trên nhiều kênh khác nhau.
  • IBM Watson Assistant: IBM Watson Assistant cung cấp các công cụ phát triển Chatbot được điều khiển bởi AI. Nó có thể hiểu và trả lời các câu hỏi của người dùng một cách tự nhiên và giống như con người, làm cho các tương tác trở nên hấp dẫn hơn.

Giáo dục và Đào tạo

31. Tài liệu học tập  được cá nhân hóa

AI điều chỉnh nội dung giáo dục theo nhu cầu cá nhân của từng học sinh, thích nghi với bài học và bài tập.

Một số công cụ và nền tảng sử dụng AI cho tài liệu học tập cá nhân hóa:

  • DreamBox: DreamBox cung cấp một nền tảng toán học dựa trên AI cho học sinh từ mẫu giáo đến lớp 8. Nó cung cấp các bài học toán và hoạt động cá nhân hóa, điều chỉnh mức độ khó để phù hợp với tiến bộ của học sinh.
  • Smart Sparrow: Nền tảng eLearning thích nghi của Smart Sparrow cho phép các nhà giáo tạo ra trải nghiệm học tập cá nhân hóa. Nó điều chỉnh nội dung và đánh giá theo hiệu suất của từng học sinh.
  • Kaltura: Nền tảng video giáo dục của Kaltura sử dụng AI để cá nhân hóa nội dung video. Nó có thể gợi ý các tài nguyên video liên quan đến học sinh dựa trên sở thích và tiến độ học tập của họ.
DreamBox
DreamBox

32. Dịch ngôn ngữ cho giáo dục

AI dịch tài liệu giáo dục, giúp chúng trở nên dễ tiếp cận với khán giả toàn cầu.

Công cụ và nền tảng sử dụng AI cho dịch ngôn ngữ trong giáo dục:

  • DeepL: DeepL được biết đến với dịch thuật chất lượng cao. Nó cung cấp dịch vụ dịch thuật cho nhiều cặp ngôn ngữ và phù hợp để dịch tài liệu giáo dục một cách chính xác.

33. Gia sư và trợ giúp bài tập về nhà

AI hỗ trợ học sinh làm bài tập về nhà, cung cấp giải thích và giải pháp.

Một số công cụ và nền tảng sử dụng AI cho gia sư và trợ giúp bài tập về nhà:

  • Brainly: Brainly là một nền tảng dựa trên cộng đồng nơi học sinh có thể đặt câu hỏi, và các thuật toán AI giúp cung cấp câu trả lời và giải thích. Nó bao gồm nhiều môn học và chủ đề.
  • Chegg Study: Chegg Study cung cấp một bộ công cụ cho học sinh, bao gồm các giải pháp từng bước cho bài tập trong sách giáo khoa và trợ giúp bài tập về nhà dựa trên AI. Nó bao gồm các môn như toán, khoa học và kỹ thuật.
  • Socratic của Google: Socratic là một ứng dụng trợ giúp bài tập về nhà dựa trên AI. Học sinh có thể chụp ảnh câu hỏi hoặc nhập nó, và ứng dụng sẽ cung cấp giải thích và giải pháp, giúp học tập trở nên dễ dàng hơn.

34. Chấm điểm tự động

AI có thể chấm điểm bài tập và bài kiểm tra, giảm bớt gánh nặng cho giáo viên.

Một số công cụ và nền tảng sử dụng AI cho chấm điểm tự động:

  • Turnitin: Turnitin cung cấp các công cụ phát hiện đạo văn và chấm điểm dựa trên AI. Nó có thể đánh giá bài tập viết, cung cấp báo cáo về tính nguyên bản và hỗ trợ chấm điểm.
  • Gradescope: Gradescope cung cấp chấm điểm hỗ trợ AI cho nhiều loại bài tập, bao gồm lập trình, toán và bài viết. Nó giúp tối ưu hóa quy trình chấm điểm và cung cấp đánh giá dựa trên tiêu chí.

35. Đào tạo dựa trên mô phỏng

AI sáng tạo các mô phỏng thực tế cho đào tạo trong các lĩnh vực như hàng không, y tế và quân sự.

Một số công cụ và nền tảng sử dụng AI cho đào tạo dựa trên mô phỏng:

  • Mursion: Mursion cung cấp các mô phỏng dựa trên AI cho đào tạo kỹ năng mềm, như giao tiếp và kỹ năng liên cá nhân. Nó được sử dụng rộng rãi trong các lĩnh vực như giáo dục, y tế và dịch vụ khách hàng.
  • CAE Healthcare: CAE Healthcare cung cấp các giải pháp mô phỏng y tế tăng cường bởi AI. Nó cung cấp cho các nhà giáo dục y tế các mô phỏng bệnh nhân thực tế để đào tạo các chuyên gia y tế.
Mursion
Mursion

36. Tạo nội dung giáo dục

AI tạo ra sách giáo khoa, bảng tính và tài liệu học tập cho các nhà giáo.

Một số công cụ và nền tảng sử dụng AI cho tạo nội dung giáo dục:

  • Articulate Rise: Articulate Rise là một công cụ tạo e-learning sử dụng AI để tối ưu hóa quy trình tạo các mô-đun học tập tương tác và đáp ứng, bao gồm các khóa học và bài thuyết trình.
  • OpenAI GPT-3: GPT-3 của OpenAI có thể tạo ra văn bản giống con người và được các nhà phát triển sử dụng để xây dựng các công cụ tạo nội dung giáo dục. Nó có thể tạo ra các bài tập tùy chỉnh, giải thích và nhiều hơn nữa.

37. Lập kế hoạch bài giảng

AI giúp giáo viên tạo kế hoạch bài giảng, phù hợp với các tiêu chuẩn chương trình giảng dạy.

Một số công cụ và nền tảng sử dụng AI cho lập kế hoạch bài giảng:

  • EdSurge: EdSurge cung cấp một công cụ lập kế hoạch bài giảng dựa trên AI giúp các nhà giáo viên phù hợp kế hoạch bài giảng của họ với các tiêu chuẩn và mục tiêu cụ thể. Nó cung cấp quyền truy cập vào một thư viện rộng lớn các tài nguyên giáo dục.

38. Ứng dụng học ngôn ngữ

Các ứng dụng học ngôn ngữ sử dụng AI cung cấp các bài học và thực hành cá nhân hóa.

Một số công cụ và nền tảng sử dụng AI cho ứng dụng học ngôn ngữ:

  • Duolingo: Duolingo sử dụng AI để tạo các khóa học ngôn ngữ cá nhân hóa. Nó thích nghi với trình độ của người học và cung cấp các bài học và bài tập thực hành ngắn gọn trong một định dạng game hóa.
  • Babbel: Babbel sử dụng AI để cá nhân hóa các bài học ngôn ngữ dựa trên ngôn ngữ mẹ đẻ và mục tiêu của người học. Nó tập trung vào các kỹ năng giao tiếp thực tế và cung cấp các tình huống thực tế.

Duolingo

39. Tạo bài kiểm tra và bài trắc nghiệm

Giáo viên và huấn luyện viên sử dụng AI để tạo các bài kiểm tra và đánh giá.

Một số công cụ và nền tảng sử dụng AI cho tạo bài kiểm tra và bài trắc nghiệm:

  • Quizlet: Quizlet sử dụng AI để giúp các nhà giáo viên tạo các bài kiểm tra và flashcard tùy chỉnh. Nó cũng cung cấp một thư viện rộng lớn của nội dung do người dùng tạo.
  • Edulastic: Edulastic là một nền tảng đánh giá dựa trên AI cho phép giáo viên tạo, chia sẻ và chấm điểm các bài đánh giá. Nó cung cấp nhiều loại câu hỏi và phân tích.

40. Phòng thí nghiệm ảo

AI cung cấp các phòng thí nghiệm ảo cho giáo dục khoa học và kỹ thuật, cho phép các thí nghiệm mà không cần thiết bị vật lý.

Một số công cụ và nền tảng sử dụng AI cho phòng thí nghiệm ảo:

  • Labster: Labster cung cấp một loạt các phòng thí nghiệm ảo dựa trên AI. Các phòng thí nghiệm này bao gồm nhiều ngành khoa học, từ sinh học đến hóa học, và cung cấp các thí nghiệm và mô phỏng tương tác.
  • PhET Interactive Simulations: PhET cung cấp các mô phỏng toán và khoa học tương tác miễn phí. Những mô phỏng này sử dụng AI để tái hiện các thí nghiệm thực tế và cho phép học sinh khám phá các khái niệm trong vật lý, hóa học, sinh học và nhiều hơn nữa.

K-Tech College Job Fair 2024: Code your future in Korea – Ngày hội việc làm do Chính phủ Hàn Quốc tổ chức

K-TECH COLLEGE JOB FAIR 2024

K-TECH COLLEGE JOB FAIR 2024

K-TECH COLLEGE JOB FAIR 2024 là sự kiện việc làm dành cho các lập trình viên trẻ, quy tụ nhiều doanh nghiệp Hàn Quốc do Chính Phủ Hàn Quốc phối hợp với Chính Phủ Việt Nam lần đầu tổ chức. Đây là sự kiện đặc biệt để các doanh nghiệp tìm nguồn nhân lực IT chất lượng và cơ hội để các lập trình viên “chọn mặt gửi vàng”. 

K-Tech College Job Fair 2024 sẽ là nơi để các lập trình viên, sinh viên IT Việt Nam giao lưu, kết nối và tìm kiếm các cơ hội việc làm với mức lương và chính sách đãi ngộ cực hấp dẫn tại các công ty công nghệ Hàn Quốc. Không những thế, đây còn là dịp để tìm hiểu thị trường lao động Hàn Quốc, giúp ứng viên tích lũy kỹ năng phỏng vấn với doanh nghiệp nước ngoài và chuẩn bị hồ sơ xin việc cho các đợt tuyển dụng sắp tới.

  • Thời gian: Thứ Năm, ngày 25/07/2024 từ 09:00 ~ 16:00
  • Địa điểm: Phòng Sapphire Ballroom, Tầng 2 Lotte Hotel Saigon, số 2A-4A Đ. Tôn Đức Thắng, Bến Nghé, Quận 1, Hồ Chí Minh

Các hoạt động chính sẽ diễn ra tại Job Fair

  • Tìm hiểu công ty, vị trí công việc & tham gia phỏng vấn với các doanh nghiệp đến từ Hàn Quốc.
  • Cơ hội nhận được lời mời làm việc (ở Hàn Quốc) ngay sau sự kiện.
  • Nhận tư vấn về cách chuẩn bị hồ sơ, viết CV và kỹ năng phỏng vấn.
  • Kết nối với các chuyên gia công nghệ và lập trình viên khác từ khắp Việt Nam.
  • Nhận nhiều phần quà hấp dẫn ngay tại sự kiện
  • Phiên dịch tiếng Hàn hỗ trợ ngay tại bàn phỏng vấn

Lịch trình sự kiện

Thời gian Hoạt động
8:00 ~ 9:00
  • Đón tiếp khách mời & Tham quan
9:00 ~ 9:45
  • Khai mạc Job Fair
9:45 ~ 12:00
  • Networking & Phỏng vấn
  • Tư vấn việc làm
  • Minigame
12:00 ~ 13:00
  • Nghỉ giải lao
13:00 ~ 15:30
  • Networking & Phỏng vấn
  • Tư vấn việc làm
  • Minigame
16:00
  • Bế mạc

Hướng dẫn tham gia sự kiện

Bước 1: Điền form đăng ký và gửi CV

Bước 2: Nhận mail xác nhận đăng ký thành công 

Bước 3: Nhận mail hướng dẫn đến địa điểm diễn ra sự kiện (2 ngày trước sự kiện)

Bước 4: Đến tham gia sự kiện theo mail hướng dẫn

Sau khi điền form đăng ký, doanh nghiệp có thể xem được thông tin của bạn để đánh giá mức độ phù hợp. Do đó bạn nên đăng ký sớm để tạo lợi thế trước các ứng viên khác và gia tăng cơ hội nhận được các cơ hội việc làm hấp dẫn ngay tại sự kiện.

ĐĂNG KÝ NGAY HÔM NAY

* CV CỦA BẠN SẼ ĐƯỢC SCREENING TRƯỚC KHI SỰ KIỆN DIỄN RA

—————–

Hành trình 10 tháng chinh phục trọn bộ 4 level chứng chỉ AWS

Hành trình 10 tháng chinh phục trọn bộ 4 level chứng chỉ AWS

Bài viết được sự cho phép bởi tác giả Lê Ngọc Hiếu

Trong bài viết này, mình sẽ chia sẻ kinh nghiệm của mình trong việc ôn thi và đạt được trọn bộ 4 Level của chứng chỉ AWS
  • Foundational: AWS Certified Cloud Practitioner (CP)
  • Associate: AWS Certified Solutions Architect – Associate (SAA)
  • Professional: AWS Certified Solutions Architect – Professional (SAP)
  • Specialty: AWS Certified Security – Specialty (SCS)
Mình đã giành tổng cộng 10 tháng để ôn tập cho cả bốn chứng chỉ này, và hy vọng rằng những gì mình chia sẻ có thể giúp các bạn chuẩn bị cho kỳ thi AWS.
CHỨNG CHỈ AWS

I. AWS Certified Solutions Architect – Associate (SAA)

  • Thời gian ôn tập: 3 tháng
  • Mình bắt đầu ôn luyện chứng chỉ SAA trước, theo mình đây là chứng chỉ quan trọng nhất vì nó đánh dấu bước ngoặt đầu tiên với Cloud và khi có SAA các bạn sẽ có nền tảng tốt để đi lên các chứng chỉ cao hơn
  • Đầu tiên, mình tham gia khóa học huyền thoại của thầy Stephane Maarek trên Udemy-Fsoft, sau đó học các khóa giải đề. Học lý thuyết mất khoảng một tháng, sau đó mình dành ra 2 tháng để giải đề và làm Lab

II. AWS Certified Cloud Practitioner (CP)

  • Thời gian ôn tập: 3 ngày
  • CP là một bước khởi đầu tốt để làm quen với nền tảng AWS. Nhưng nếu bạn có kinh nghiệm làm việc nhiều với Cloud rồi thì có thể bỏ qua CP, hoặc thi SAA trước, nếu có thời gian thì lấy luôn CP
  • Đối với CP thì mình cũng lựa chọn khóa học của thầy Stephane Maarek sau đó giải đề cho tới khi kết quả trung bình 80-90% thì đăng ký thi

III. AWS Certified Solutions Architect – Professional (SAP)

  • Thời gian ôn tập: 5 tháng
  • Bản thân mình thấy kiến thức của AWS SAP rất rộng và đòi hiểu hiểu kĩ về các solution, có rất nhiều services, use cases hay và lạ nhưng lại khó có cơ hội được tiếp cận (ví dụ như các service về migration, hybrid cloud,…).
  • Các giá trị mang lại từ AWS SAP:
  • Có khả năng đưa ra hướng dẫn thực hành tốt nhất về thiết kế kiến trúc trên nhiều ứng dụng và dự án
  • Có khả năng vạch ra các mục tiêu đối với yêu cầu về ứng dụng, kiến trúc
  • Có khả năng đánh giá các yêu cầu của ứng dụng đám mây
  • Có khả năng thiết kế một kiến trúc kết hợp bằng các công nghệ chính của AWS
  • Đưa ra được khuyến nghị về kiến trúc cho khâu thực thi, triển khai và cung cấp ứng dụng trên AWS

Quá trình học:

  • Mình dành khoảng 5 tháng để ôn thi, ôn đều đặn mỗi ngày 2-3 tiếng từ thứ 2 tới thứ sáu, riêng thứ bảy chủ nhật mình dành mỗi ngày 4-8 tiếng để ôn luyện
  • Tháng đầu mình dành thời gian để xem các khóa học trên Udemy Fsoft video và đọc bài giảng, document…
  • Tháng tiếp theo mình tập trung làm Lab trên các diễn đàn Cloud, ôn lại kiến thức cũ và xem thêm các CheatSheet
  • 3 tháng tiếp theo là giai đoạn giải đề và ghi chú lại những điểm chưa biết hoặc dễ nhầm lẫn. Hai tháng đầu của giai đoạn này khá khó khăn, lần đầu làm đề sẽ loanh quanh 50-65 %, mình cần giành thời gian để đọc lại tất cả đáp án, xem vì sao câu này lại đúng, vì sao câu kia sai, và làm cách nào để chỉnh lại các câu sai cho đúng… Trung bình làm và sửa một đề sẽ mất một tuần.
  • Tháng cuối mình dành thời gian giải qua các bộ đề lần cuối, ở giai đoạn này mình làm đề trung bình trên 80, có nhiều đề được 90-100%
  • Mình đánh giá bộ đề của Dojo sát với đề thi thật nhất, đề của Stephane khó hơn một chút. Đề của Neal sẽ dàn trải theo từng chuyên đề (Network, Migrate, Computer…)

  AWS Lambda là gì? Cách hoạt động và ứng dụng của Lambda

  So sánh AWS, Google Cloud và Azure năm 2024

IV. AWS Certified Security – Specialty (SCS)

  • Thời gian ôn tập: 2 tháng
  • Về chứng chỉ SCS mình xin phép chia sẻ chi tiết hơn

1. Tổng quan

Bản thân mình thấy kiến thức của AWS Security Specialty đi sâu về mảng bảo mật, làm sao bảo vệ và ngăn chặn tấn công vào infrastructure, application, data, các phương pháp mã hóa data,… không quá nhiều service như AWS Solution Architect Professional nhưng đòi hỏi hiểu sâu về các security service (IAM, Guard Duty, WAF,…), có rất nhiều use cases hay và lạ và khó có cơ hội được tiếp cận thực tế (ví dụ như các kịch bản bảo mật cho Hybrid Cloud, phòng thủ và ngăn chặn tất công DDOS, TOP 10 OWASP,…). Những bạn đã hiểu và nắm chắc về các service security của AWS, hoặc đã có kinh nghiệm security sẽ có lợi thế.

Đề thi SCS gồm 65 câu với điểm pass là 750 điểm, tổng thời gian làm bài 3h30’ (Được cộng 30 phút theo chính sách của AWS), chi phí thi 300$. Lúc làm bài khá căng thẳng, nhất là những câu chọn nhiều đáp án (2 trong 5, 3 trong 6).

Có nhiều câu lạ và dài, kéo tới 2 màn hình vẫn chưa hết đề. Độ lắt léo đánh võng của đề cũng rất cao. Nhất là những câu hỏi Policy cần để ý kĩ từng dấu từng chữ trong đáp án.

2. Đăng ký & Địa điểm thi

Rút kinh nghiệm từ lần trước, sáng thứ 4 thi thì mình đăng ký từ thứ 2. Không đăng ký quá sớm để tránh lo lắng

Địa điểm thì vẫn chọn Công Ty TNHH Tín Bảo Lan, phòng ốc mát mẻ, yên tĩnh. Thủ tục check-in nhanh gọn, trong lúc thi có thể ra ngoài uống nước và đi vệ sinh. Có điều lần này 3 bạn thi cùng một phòng nên thỉnh thoảng mất tập trung vì… tiếng click chuột

3. Cách học

3.1. Quá trình học:

  • Mình dành 2 tháng để ôn thi, ôn đều đặn mỗi ngày 3-4 tiếng buổi tối từ thứ 2 tới thứ sáu, riêng thứ bảy chủ nhật mình dành mỗi ngày 4-8 tiếng để ôn luyện
  • Tháng đầu tập trung học các khóa học trên Udemy Fsoft và đọc bài giảng, document, và làm Lab
  • Tháng hai chuyển sang giai đoạn giải đề và ghi chú lại những điểm chưa biết hoặc dễ nhầm lẫn
  • Nửa tháng đầu tiên khá khó khăn, lần đầu làm đề sẽ loanh quanh 50-60%, sau khi giải đề sẽ đọc lại tất cả đáp án, xem vì đúng, vì sao sai, và làm sao sửa lại các câu sai cho đúng
  • Nửa tháng tiếp theo sẽ giải lại đề lần 2 lần 3,… cho tới khi nào đạt ít nhất 80%, có nhiều đề được 90-95%
  • Đối với các chứng chỉ khác như AWS SAA, AWS SAP thì đề của Dojo sát với đề thi thật nhất (so với đề của Stephane Marrek và Neal Davis), nhưng với đề AWS SCS thì đề của Stephane Maarek sẽ sát với đề thi thật (bám sát với mã đề mới SCS-C02). Đề của Dojo chưa được cập nhật nhiều, phù hợp với mã đề cũ hơn (SCS-C01). Đề của Neal Davis sẽ dàn trải theo từng chuyên đề (Threat Detection and Incident Response, Security Logging and Monitoring,…).

Tham khảo việc làm Cloud cao, hấp dẫn trên TopDev!

3.2. Cách học:

  • Cách học của mình là ” 3W-1H ” What-Why-When-How
  • Kết hợp với việc mindmap lại kiến thức với nhau
  • Sử dụng Document, Whitepaper, Blog, Re:Invent, FAQ để tìm hiểu các thông tin liên quan service, user-case,…
  • So sánh với các service khác để tìm sự khác nhau trong mỗi use-case
  • Mã hóa data chia làm 3 cách client side, mã hóa trên đường truyền (in-transit), server side (at-rest)
  • Client side mã hóa như nào,…. in-transit sử dụng SSL thì sử dụng ACM như nào hay private cert như nào,….. server side thì dùng S3 hay dùng KMS,…..
  • Note lại kiến thức cần ghi nhớ vào file README hoặc Notion

3.3. Tài liệu:

  • Theo mình khóa hay và đầy đủ nhất vẫn là của Stephane Maarek, trọn bộ lý thuyết theo từng chuyên đề (tuy nhiên hầu như không có Lab)
https://fpt-software.udemy.com/…/learn/lecture/35751276…
  • FAQ trên trang tài liệu của AWS
  • AWS Re:Invent là nguồn tài liệu rất rất tốt để hiểu sâu về 1 dịch vụ, cũng như case study nào đó,….
  • Whitepaper, Document của AWS
  • Skillbuilder cũng cung cấp learning path rất chi tiết cho việc luyện thi chứng chỉ này.

3.4. Hands-on lab:

  • Thực sự thì kiếm được Lab của Security khá khó bởi nó liên quan đến rất nhiều thiết bị, đến các team Redteam, Blue Team, riêng về phần giả lập tấn công DDOS thì khá nhạy cảm vì chính sách của AWS không cho phép DDOS. Dưới đây là một số bài Lab mình sưu tầm được
https://aws.amazon.com/…/2021-aws-security-focused…/
https://awssecworkshops.com/builder-sessions/

3.5. Refers

Tham gia vào Các Group lớn, theo dõi các câu hỏi, các bình luận. Vừa là để học hỏi, vừa là có thể giúp đỡ ai đó nếu mình biết.

  • Viet-AWS (AWSUG | Ho Chi Minh Da Nang Hanoi) https://www.facebook.com/groups/866046214213349
  • AWS Study Group (https://www.facebook.com/groups/660548818043427)
  • Exam guide: (https://aws.amazon.com/certification/certification-prep/)
  • Docs: (https://docs.aws.amazon.com/)

4. Review đề

Bên dưới là phần review mình tham khảo từ nhiều nguồn cũng như kinh nghiệm đi thi của bản thân

4.1 Domain 1 – Incident Response

Trả lời cho câu chuyện Security Engineer cần làm gì khi phát hiện IAM Access Key bị expose, EC2 bị compromises và làm gì để tăng cường bảo mật.
  • GuardDuty: Multi-account, add trusted IP Least (Chú ý Public hay Private Route table)
  • Security Hub: Custom-action trigger Eventbridge để remediate
  • Detective: Xem “who” đã disabled Cloudtrail
  • Về Compromised có đủ 2 loại là EC2 & Credentials (Account): Hiểu rõ các steps cần xử lý.
  • Khi EC2 access keys bị exposed thì cần delete ở `~/.ssh/authorized_keys` chứ không phải EC2 key pairs ngoài EC2 console. (Nếu nhiều EC2 thì dùng SSM Run Command)
  • Connect EC2 Linux khi lost SSH key pair
  • Khi nhận “AWS Abuse Report” thì cần explains step-by-step và đưa ra solution để tránh in the future

4.2 Domain 2 – Logging and Monitoring (Khá nhiều questions)

  • Cấu hình hệ thống log tập trung, các giải pháp collect log tập trung, troubleshoot.
  • Flow enable WAF logs phải đi qua Kinesis Data Firehose thay vì Kinesis Data Stream rồi mới tới S3 được
  • SSM System Manager: Chủ yếu là the best secure way to connect to EC2 without SSH, và có thêm enable logging command for audit purpose
  • CW Agent: Troubleshooting khi instance đột nhiên ngừng push logs
  • CW Logs Metric Filter: Để monitor tới những api call nhiều lần mà bị fail, rồi notify về SNS
  • S3 enabled object logs kết hợp vs Athena và Quicksight to visualize lên dashboard (Bản thân Athena có 1 question riêng là thiếu permission cho Quicksight access tới S3 bucket result của Athena push qua)
  • Cloudtrail cho multi-region existing and future luôn.
  • VPC Traffic Mirroring: đề yêu cầu inspect đc cả pkg info (Nếu chỉ VPC Flow Logs chỉ là IP address info)

4.3 Domain 3 – Infrastructure security

  • Cấu hình security cho các giải pháp như ALB, Route53, CloudFront,…. giả định các case tấn công và biện pháp phòng thủ.
  • Có 1 câu liên quan tới Bastion Host: là cấu hình SG (Chú ý port in/out) cho flow ALB -> App Server -> DB và cần thêm Bastion Host để connect tới private App server cũng như là upgrade DB. (Chú ý diff giữa CIDR vs Company IP Address)
  • Cần cấu hình gì để connect EC2 ở PRIVATE subnets via SSM Session Manager (Lúc này cần đủ các VPC Interface Endpoints như ssm, ssmec2messages, etc..).
  • Chú ý về “Create new NACL” thì by default sẽ deny outbound rules nên cần allow Ephemeral Ports.
  • Cloudfront: đề muốn latency-sensitive và ngăn attack như SQL injection, XSS, … thì gắn thêm WAF
  • OAI thì cũ, không có work native với KMS mà cần tới Lambda@Edge, OAC mới hơn thì có native
  • Motitor các CW metric của Shield (Mình nhớ 1 số metric như DDoSDetected, DDoSAttackRequestsPerSecond) để biết đang có DDoss tấn công
  • Thêm 1 câu DDos mitigation dùng tới Shield & WAF (Thật ra service này chỉ giảm thiểu khi dùng tới Rate-limits rule để tránh multi request for the same IP in short time)
  • Route 53 – Enable DNSSEC: Mô tả các steps trước đó, giờ cần “Add thêm DS record vào PARENT host zone”

4.4 Domain 4 – Identity and Access Management

Liên quan đến cấu hình permission cho IAM, cho các federated, Policy, 3rd party

4.5 Domain 5 – Data Protection

Key concept ở đây là Encryption & Decryption. Yêu cầu hiểu được cách hoạt động của KMS, HSM, ACM, các loại mã hóa client/server side, mã hóa trên đường truyền

4.6 Domain 6 – Management and Security Governance

  • Liên quan đến vấn đề bảo mật cho môi trường Multi-account, đánh giá bảo mật trên Cloud
  • Trong hành trình ôn thi chứng chỉ AWS, mình đã gặp nhiều khó khăn và thách thức, nhưng đó cũng là một quá trình học hỏi đầy giá trị. Hy vọng rằng những chia sẻ và kinh nghiệm của mình trong bài viết này có thể giúp các bạn tự tin hơn khi bước vào hành trình ôn thi chứng chỉ AWS

Hãy nhớ rằng, việc ôn thi AWS không chỉ giúp bạn nâng cao kiến thức và kỹ năng, mà còn mở ra cơ hội mới trong sự nghiệp của bạn. Hãy luôn duy trì sự kiên nhẫn và đam mê trong quá trình học tập. Hãy tự tin, học hỏi và chia sẻ kiến thức của bạn với cộng đồng AWS. Chúc các bạn thành công trong việc ôn thi và đạt được những chứng chỉ quý báu của AWS.

Bài viết gốc được đăng tải tại group GenZ làm IT

Xem thêm:

Vietnam Cloud & Datacenter (Ha Noi) Convention 2024: Sự kiện không thể bỏ lỡ

Vietnam Cloud & Datacenter (Ha Noi) Convention 2024

Vietnam Cloud & Datacenter (HaNoi) Convention 2024 sẽ chính thức diễn ra tại Hà Nội vào tháng 8 này. Đây sẽ là sự kiện hội tụ những chuyên gia hàng đầu trong ngành, hứa hẹn mang đến những buổi thảo luận sâu sắc về các xu hướng và giải pháp tiên tiến trong lĩnh vực Cloud & Datacenter.

Vietnam Cloud & Datacenter (Ha Noi) Convention 2024

Thị trường Cloud & Datacenter tại Việt Nam: Tiềm năng và cơ hội cần được khai phá

Trong bối cảnh cuộc cách mạng chuyển đổi số đang diễn ra mạnh mẽ tại Việt Nam, nhu cầu sử dụng dịch vụ đám mây và lưu trữ dữ liệu ngày càng gia tăng đáng kể. Theo dự báo, ngành công nghiệp này dự kiến sẽ đạt mốc 1,03 tỷ USD vào năm 2028. Mặc dù là một trong những thị trường mới nổi trong khu vực, Việt Nam đã và đang khẳng định vị thế của mình như một điểm đến hấp dẫn cho các hoạt động trung tâm dữ liệu.

Hai thành phố lớn nhất cả nước – Hồ Chí Minh và Hà Nội – đóng vai trò then chốt trong việc thu hút các nhà đầu tư và doanh nghiệp công nghệ hàng đầu, nhờ vào nền tảng hạ tầng phát triển vượt bậc và nguồn nhân lực chất lượng cao. Với tiềm năng to lớn chưa được khai phá hết, thị trường Việt Nam hứa hẹn sẽ mang đến nhiều cơ hội mới cho các doanh nghiệp trong lĩnh vực điện toán đám mây và trung tâm dữ liệu.

Hội nghị Vietnam Cloud & Datacenter Convention 2024 sẽ là cơ hội tuyệt vời để khám phá những xu hướng mới nhất, chia sẻ kiến thức chuyên môn và kết nối với các đối tác tiềm năng trong ngành.

25+ diễn giả chất lượng & các chủ đề hấp dẫn tại Vietnam Cloud & Datacenter Convention 2024

Vietnam Cloud & Datacenter (Ha Noi) Convention 2024 sẽ quy tụ hơn 25 diễn giả chất lượng đến từ các công ty hàng đầu trong lĩnh vực Cloud & Datacenter. Hội nghị sẽ tổ chức các cuộc thảo luận sâu sắc, các bài thuyết trình hấp dẫn và tạo ra các cơ hội giao lưu tập trung vào lĩnh vực máy chủ đám mây, trung tâm dữ liệu và các giải pháp kết nối.

Tại sự kiện này, các đại diện từ các tổ chức, doanh nghiệp, và cơ quan chính phủ sẽ tham gia thảo luận và thực hiện những đối thoại tích cực để tạo ra những giải pháp và hướng đi cụ thể nhằm thúc đẩy chuyển đổi số ở Việt Nam. Điều này không chỉ đánh dấu một bước tiến quan trọng trong việc nâng cao vị thế của Việt Nam trong cộng đồng quốc tế về công nghệ thông tin, mà còn mở ra những triển vọng mới cho sự phát triển bền vững của đất nước trong thời kỳ kỹ thuật số.

Hội nghị sẽ xoay quanh nhiều nội dung đa dạng, mới mẻ và không kém phần hấp dẫn như:

  • Expert Industry Analyst Outlook on Demand for Data Centres 2024 – 2027
  • Meeting Growing Demands: Building Sustainable Hyperscale Capacity in Southeast Asia
  • Unlocking Vietnam’s Potential: How Data Centers Can Fuel Economic Growth
  • Vietnam’s Trusted Partner: How Colocation with a Local Partner Drives Business Success
  • From Ancient City to Data Hub: Why Hanoi is Ideal for Modern Data Centers
  • Accelerating Digital Transformation in Vietnam – The Strategic Advantages of Modular Data Centers

Những chủ đề này sẽ được chia sẻ và thảo luận trực tiếp bởi các chuyên gia đầu ngành như: Damon Lim – Regional Director (Asia Pacific), datacenterHawk; Glen Duncan – Head of Data Centre Research – APAC, JLL Asia Pacific; Stephen Higgins – Head of Capital Markets Vietnam, Cushman & Wakefield; Rahul Shinde – CIO, Coca Cola Beverages Vietnam;…

Hình ảnh sự kiện Vietnam Cloud & Datacenter Convention vào tháng 4/2024 tại TP.HCM

Vì sao bạn nên tham gia Vietnam Cloud & Datacenter Convention 2024 (HNCDC2024)?

Những điểm nổi bật tại Vietnam Cloud & Datacenter Convention 2024 khiến bạn không thể bỏ lỡ:

  • Tập trung đối tượng chuyên gia cấp cao: Hội nghị quy tụ các chuyên gia cấp cao với trung bình 60% người tham dự là giám đốc điều hành cấp C, tạo ra một không gian giao lưu đẳng cấp để chia sẻ tầm nhìn chiến lược, định hướng xu hướng công nghệ và mở ra cơ hội kinh doanh mới.
  • Nội dung tuyển chọn: Các chủ đề trong hội nghị được tuyển chọn một cách tỉ mỉ, tập trung vào những vấn đề mấu chốt và được quan tâm nhất hiện nay. Bạn sẽ được tiếp cận những góc nhìn mới mẻ, giải pháp sáng tạo và kinh nghiệm thực tiễn từ những nhà lãnh đạo tiên phong trong ngành.
  • Cơ hội kết nối: Tại hội nghị, bạn sẽ có cơ hội kết nối với hơn 1000 chuyên gia công nghệ hàng đầu trong lĩnh vực cloud & datacenter, 40% audience quốc tế cùng với cơ hội trải nghiệm sản phẩm và giải pháp mới nhất tại 25+ gian hàng triển lãm.

Vietnam Cloud & Datacenter (Ha Noi) Convention 2024 hứa hẹn sẽ mang đến những buổi thảo luận hữu ích và thú vị, cùng với nhiều cơ hội kết nối với các chuyên gia hàng đầu trong lĩnh vực Cloud & Datacenter. Hãy đăng ký tham gia ngay để không bỏ lỡ sự kiện công nghệ hàng đầu này!

THÔNG TIN SỰ KIỆN

🕛 Thời gian: 15.08.2024 (8:00AM – 3:30PM)

🚦 Địa điểm: Lotte Hotel Hanoi, 54 P. Liễu Giai, Cống Vị, Ba Đình, Hà Nội

📍 Thông tin chi tiết xem tại: https://clouddatacenter.events/events/vietnam-cloud-datacenter-hanoi-convention-2024/

*Đăng ký vé MIỄN PHÍ thông qua kênh của TopDev (số lượng có hạn**): https://meetup.vn/detail/Vietnam-Cloud–Datacenter-Hanoi-Convention2024-443

**Đối tượng tham dự sự kiện: C-level, các cấp quản lý, IT Managers, IT infrastructure and Operations, DevOps, và những nhân sự khác có liên quan đến ngành. Vì số lượng người tham dự có giới hạn, BTC sẽ xem xét thông tin và ưu tiên phản hồi những đăng ký phù hợp với nội dung và mục tiêu của sự kiện.

Cách deploy project của bạn lên Cloudflare Pages

Cách deploy project của bạn lên Cloudflare Pages

Bài viết được sự cho phép của tác giả Nguyễn Thành Nam

Bài viết này sẽ hướng dẫn bạn deploy project lên Cloudflare Pages một cách đơn giản và miễn phí. Bên cạnh đó, mình sẽ chia sẻ những tính năng nổi bật nhất của Cloudflare.

I. Cloudflare là gì?

Cloudflare là một nền tảng mạng phân phối nội dung (CDN) và bảo mật web phổ biến, cung cấp nhiều tính năng hữu ích cho các nhà phát triển web. Một trong những tính năng nổi bật của Cloudflare là Pages, cho phép bạn triển khai dự án web tĩnh của mình một cách nhanh chóng và dễ dàng.

Cloudflare là gì?

1. Giới thiệu

Ngoài vai trò là một CDN và dịch vụ bảo mật web, Cloudflare còn cung cấp Cloudflare Pages – một nền tảng JAMstack cho phép bạn triển khai website tĩnh một cách nhanh chóng và dễ dàng. Nền tảng này được tích hợp sẵn nhiều tính năng mạnh mẽ, giúp tối ưu hóa hiệu suất, bảo mật và trải nghiệm người dùng cho website của bạn.

2. Tính năng của Cloudflare Pages

  • Tích hợp Git: Kết nối trực tiếp với Git repository của bạn, tự động triển khai website mỗi khi có thay đổi code. Hỗ trợ GitHub, GitLab, Bitbucket và GitLab Pages.
  • Tích hợp Analytics: Có thể xem thống kê số lượng user truy cập, băng thông sử dụng…
  • Hiệu suất vượt trội: Tận dụng mạng lưới phân phối nội dung toàn cầu (CDN) của Cloudflare, đảm bảo website tải nhanh chóng cho mọi người dùng trên thế giới.
  • Bảo mật cao: Trang bị các tính năng bảo mật tiên tiến từ Cloudflare, bảo vệ website khỏi các cuộc tấn công DDoS, bot độc hại và các mối đe dọa khác.
  • Hỗ trợ đa dạng: Cung cấp nhiều tính năng hữu ích như redirects, custom domains, environment variables, build hooks, SEO enhancements, và API integrations.
  • Dễ dàng sử dụng: Giao diện trực quan, dễ thao tác, phù hợp cho cả người mới bắt đầu và lập trình viên dày dặn kinh nghiệm.
  • Miễn phí: Gói miễn phí cho phép triển khai website không giới hạn băng thông, static requests và site. Gói trả phí cung cấp nhiều tính năng nâng cao và dung lượng lưu trữ lớn hơn.

Cloudflare là gì?

Cloudflare Pages là lựa chọn lý tưởng cho:

  • Lập trình viên front-end: Triển khai website JAMstack nhanh chóng và dễ dàng.
  • Website cá nhân: Blog, portfolio, landing page, v.v.
  • Website doanh nghiệp nhỏ: Website giới thiệu, website marketing, v.v.
  • Dự án thử nghiệm: Thử nghiệm ý tưởng mới, phát triển prototype nhanh chóng.

Cloudflare là gì?

3. Chi phí hosting

Có 3 gói chính là Free, Pro và Business. Với những dự án cá nhân thì gói Free quá đủ để sử dụng.

Chi phí hosting

II. Hướng dẫn deploy project

1. Điều kiện tiên quyết

Để deploy project của bạn lên Cloudflare Pages, bạn cần có:

  • Một tài khoản Github
  • Một tài khoản Cloudflare
  • Một repository và đã upload project lên github (repo ở chế độ public hoặc private đều được) hoặc các file tĩnh (HTML, CSS, JS) đã build sẵn.

2. Kết nối dự án

Bước 1: ở sidebar bên trái chọn mục Workers & Pages -> Overview -> tick chọn Create application.

Kết nối dự án

Bước 2: nhấn vào Pages -> ở mục này bạn có thể kết nối với Git repository hoặc upload file tĩnh.

Kết nối dự án

Nếu bạn chọn kết nối với Git repository, bạn chỉ cần thêm tài khoản Github của mình vào, sau khi kết nối thành công:

  • Chọn repo bạn muốn deploy.
  • Nhấn begin setup.
  • Cấu hình frameworks cũng như branch.
  • Deploy và chờ hoàn tất.

Kết nối dự án

III. Tổng kết

Hy vọng các thông tin trên giúp bạn hiểu rõ về CloudflareCloudflare Pages cũng như cách deploy project của bạn lên môi trường internet. Cảm ơn bạn đã đọc bài viết này ❤️

Bài viết gốc được đăng tải tại blog.thanhnamnguyen.dev

Xem thêm:

Đừng bỏ lỡ hàng loạt IT job tại TopDev

9 mẹo và thủ thuật CSS hữu ích có thể bạn chưa biết

9 mẹo và thủ thuật CSS hữu ích có thể bạn chưa biết

Bài viết được sự cho phép của tác giả Bùi Thị Huyền

CSS là Cascading Style Sheets và được sử dụng để mô tả cách các phần tử HTML sẽ hiển thị. Đây là một trong những công nghệ đầu tiên được học sớm nhất để phát triển web, các developer tuyệt đối phải biết cơ bản.

Mặc dù có vẻ như CSS không thể làm được gì nhiều ngoài việc cung cấp màu sắc, vị trí, v.v. của HTML, nhưng nó cũng có thể cho phép chúng ta tạo hình động và mang lại sức sống cho các ứng dụng và trang web của chúng ta. Có lẽ bây giờ nhiều người trong chúng ta quan tâm đến việc thành thạo CSS và học nó rất sâu, nhưng hoàn toàn đáng để biết một số mẹo và thủ thuật hữu ích có thể giúp bạn tạo các trang web tuyệt đẹp!

Bạn đã sẵn sàng để xem 9 mẹo và thủ thuật có thể thay đổi cách sử dụng CSS của bạn từ bây giờ chưa?

Hãy bắt đầu!

1. Vertical align với flex

Từ khi Flexible Box Layout Model xuất hiện, nó trở nên rất phổ biến, bởi vì nó làm cho việc định vị và sắp xếp các element dễ dàng hơn. Sử dụng flex (Flexible Box Layout Model sub-property) giúp căn chỉnh dọc nhanh, đẹp và dễ dàng trước khi chúng ta phải thực hiện một chút trong nhiều trường hợp.

Chúng ta hãy xem ví dụ code cho định vị dọc với flex bởi vì nó cho phép thực hiện nhiều việc căn chỉnh.

Như bạn có thể thấy trong đoạn code trên, chúng ta đã sử dụng display: flex và align-items: centerjustify-content: center để đảm bảo phần tử con của chúng ta sẽ nằm chính xác ở giữa phần tử cha.

Dễ chứ nhỉ?

2. Blend modes

Chúng tôi có thể thực hiện nhiều thứ hay ho trong CSS ngay bây giờ và một trong số đó là blend mode (chế độ hòa trộn).

Có hai thuộc tính cho blend mode:

  • mix-blend-mode: xác định hoà trộn giữa phần tử và phần tử phía sau ,
  • background-blend-mode: định nghĩa hoà trộn giữa hình nền và màu nền của phần tử.

Hãy xem cách nó hoạt động:

Trong đoạn code trên, chúng tôi đặt hình ảnh và tiêu đề bằng text. Text là một yếu tố được pha trộn với hình ảnh. Chúng tôi sử dụng giá trị overlay, nhưng có 15 giá trị khác có thể được sử dụng. Bây giờ, hãy kiểm tra ví dụ code background-blend-mode:

Trong trường hợp này, chúng ta có thể thấy hình ảnh nền đã được pha trộn với màu sắc như thế nào. Hình ảnh đầu tiên là trước khi trộn, và hình ảnh thứ hai là sau khi trộn.

Chúng ta có thể làm gì với CSS không?

3. Parallax scrolling

Parallax là một xu hướng rất phổ biến trong thiết kế web hiện đại. Đó là về việc scroll nội dung background ở tốc độ khác với nội dung background trước khi chúng ta cuộn trang.

Chúng ta hãy xem làm thế nào phép thuật này có thể được thực hiện bằng CSS:

Trong ví dụ này, bạn có thể thấy text và hình nền đang di chuyển khác nhau như thế nào. Chúng tôi đã sử dụng TransformZ, để buộc chặt một yếu tố và làm chậm một yếu tố khác. Có vẻ tốt, phải không?

4. Shape outside

Có một tính năng tuyệt vời khác đi kèm với CSS và nó không phổ biến lắm. đó là thuộc tính shape-outside. Nó quyết định cách nội dung sẽ bao quanh phần tử nổi.

Hãy xem cách nó hoạt động:

Trong đoạn code trên, bạn có thể thấy rằng text tràn ra vòng tròn. Chúng tôi đặt giá trị của shape-outside thành circle 50%, nhưng cũng có thể đặt hình ảnh, hình tam giác, hình vuông, v.v. Hãy kiểm tra và chơi với nó!

  CSS Preprocessor là gì? Cách sử dụng có khó không?

  CSS Loader là gì? Cách sử dụng CSS Loader trong trang Web của bạn

5. Clip path

Đôi khi designer sáng tạo hơn một chút, và bây giờ bạn phải đặt một hình ảnh trong một hình dạng cụ thể, như hình tam giác hoặc khác. Đối với điều này, bạn có thể sử dụng thuộc tính clip-path.

Hãy xem nhanh cách thức hoạt động của nó:

Trong ví dụ trên, tôi đã tạo một hình tròn, nhật thực và hình dạng đa giác tùy chỉnh.

6. Image filters

Chơi với hình ảnh có thể mang lại nhiều hiệu ứng tuyệt vời cho layout và giúp tạo ra kết quả tuyệt đẹp. CSS cho phép sử dụng nhiều filter trên hình ảnh để giúp các developer chơi với đồ họa mà không thay đổi nó trong Photoshop.

Chúng ta hãy xem các filter chúng ta có thể sử dụng:

Trong ví dụ trên, bạn có thể thấy 7 filter khác nhau được sử dụng trong cùng một hình ảnh.

7. CSS animations

Animation có thể thu hút sự chú ý của người dùng trên trang web và đây là lý do tại sao nó được sử dụng trong thiết kế web rất thường xuyên. Tạo nó trong CSS làm cho mọi thứ dễ dàng hơn nhiều, hãy xem xét kỹ hơn một hoạt hình mẫu trong CSS:

Trong đoạn code trên, tôi đã tạo một hình tròn nhỏ thay đổi vị trí và độ mờ cứ sau 25% cho đến khi nó nhận được 100% và sau đó bắt đầu lại. Cũng có thể thay đổi màu sắc và các thuộc tính khác của các yếu tố.

Tham khảo Việc làm lập trình CSS hấp dẫn trên TopDev

8. Element rotation

Một loại animation khác có thể được thực hiện trong CSS là rotation, nó có tính năng động hơn một chút và thật tuyệt vời khi thêm một số phần tử vào element loader, logo hoặc hình ảnh trong bộ sưu tập.

Hãy kiểm tra những gì chúng ta có thể làm với rotation:

Trong ví dụ này, chúng ta có thể thấy một ngôi sao quay bốn lần trong một chu kỳ của animation.

9. Mask

Nếu bạn đã từng làm thiết kế đồ họa, có lẽ bạn biết mask hữu ích như thế nào. Nó cũng có thể sử dụng mask hình ảnh trong CSS. Hãy cùng cố gắng làm masks cho hình ảnh:

Trong ví dụ trên, tôi đã tạo mask gradient hình tròn, nhưng bạn cũng có thể sử dụng đồ họa SVG làm mask, bằng cách thêm URL vào file.

Kết luận

Tôi hy vọng bạn sẽ thấy những mẹo và thủ thuật này hữu ích và hữu ích cho việc code trong tương lai của bạn. Nếu bạn biết bất kỳ thủ thuật thú vị nào trong CSS, hãy chia sẻ yêu thích của bạn với tôi trong các bình luận hoặc trên mạng xã hội, tôi thực sự muốn biết.

Bài viết gốc được đăng tải tại viblo

Xem thêm:

Xem thêm Việc làm IT hấp dẫn tại TopDev

Thiết kế cấu trúc folder HMVC cho Laravel

Thiết kế cấu trúc folder HMVC cho Laravel

Bài viết được sự cho phép của tác giả Duy Phan

Ở bài viết này mình sẽ hướng dẫn bạn bắt đầu xây dựng một ứng dụng HMVC với Laravel, và tận dụng sức mạnh của Composer khi quản lí modules.

Tạo mới một dự án Laravel

Khởi tạo một dự án Laravel mới bằng dòng lệnh sau

$ composer create-project --prefer-dist laravel/laravel hmvc-project
$ cd hmvc-project

Lúc này cấu trúc thư mục của chúng ta sẽ có dạng như thế này

|- app/
    |- Console/
    |- Exceptions/
    |- Http/
    |- Providers/
    User.php
|- bootstrap/
|- config/
|- database/
|- public/
|- resources
|- routes/
|- storages/
|- tests/
|- vendor/
...

Khởi tạo thư mục chứa các modules HMVC

Chúng ta sẽ cố gắng không sử dụng cấu trúc thư mục mặc định để tránh tối đa sự xung đột hoặc khó khăn lúc nâng cấp lên các phiên bản cao hơn khi mà Laravel định kỳ release 6 tháng một lần. Điều này cũng giúp bạn đạt được sự thuận tiện tối đa khi tích hợp vào một dự án sẵn có.

Từ thư mục Laravel gốc, bạn tạo các thư mục tương ứng qua các dòng lệnh sau:

$ mkdir platform
$ mkdir platform/core
$ mkdir platform/plugins
$ mkdir platform/themes

Lúc này chúng ta sẽ có cấu trúc thư mục như sau

Khởi tạo thư mục chứa các modules HMVC

Tất cả source code của chúng ta sẽ được gói gọn bên trong folder platform.

  • core: chứa tất cả các modules không thể thiếu để có thể khởi chạy ứng dụng.
  • plugins: chứa các modules được thực thi dưới dạng trình cắm. Khi chúng ta xóa bỏ hoặc vô hiệu hóa chúng ra khỏi composer.json thì chúng sẽ không được khởi chạy, nhưng cũng không ảnh hưởng đến hệ thống hiện tại.
  • themes: chứa danh sách các themes của hệ thống. Một thời điểm chỉ nên có một theme được kích hoạt. Theme sẽ là phần sử dụng các modules core và plugins để hiển thị dữ liệu và thao tác với người dùng.

  Repository Design Pattern và ứng dụng của nó trong Laravel

  Những mẹo nhỏ khi làm việc với Laravel Eloquent

Chỉnh sửa file composer.json

Thêm đoạn khai báo sau vào trong file composer.json từ thư mục gốc của dự án. Đoạn khai báo này giúp composer biết được nơi tìm kiếm các custom module của bạn.

"repositories": [
    {
        "type": "path",
        "url": "./platform/core/*"
    },
    {
        "type": "path",
        "url": "./platform/plugins/*"
    },
    {
        "type": "path",
        "url": "./platform/themes/*"
    }
]

Cấu trúc một module trong dự án sẽ tương tự một Laravel pakage. Bạn có thể tham khảo thêm ở liên kết https://laravel.com/docs/7.x/packages.

Từ thư mục platform/plugins, bạn cần tạo ra cấu trúc thư mục như sau:

cau-truc-package

Việc tạo ra một cấu trúc như vầy khá là tốn công sức, nên mình có viết một Laravel package giúp các bạn thực hiện việc này nhanh chóng ^_^

Bạn mở cửa sổ terminal từ thư mục gốc dự án và thực thi dòng lệnh:

$ composer require duyphan2502/hmvc-tools

Mình có hỗ trợ một số lệnh như:

  • Tạo một module mới
  • Tạo các tập tin thường hay sử dụng, ví dụ như controllerrequestmiddlewaremigrationfacadeview composer

Bạn có thể xem tài liệu hướng dẫn kỹ hơn ở liên kết sau https://github.com/duyphan2502/hmvc-tools.

Để tạo ra module mới, từ cửa sổ terminal bạn thực thi câu lệnh:

$ php artisan module:create test-module

Hệ thống sẽ gợi ý bạn chỉ định loại module mà bạn muốn khởi tạo. Ở đây bạn sẽ chọn plugins.

create-module

Khi mở tập tin composer.json trong thư mục platform/plugins/test-module, bạn sẽ thấy đoạn khai báo sau:

{
    "name": "plugins/test-module",
    "require": {},
    "require-dev": {},
    "autoload": {
        "psr-4": {
            "TestModule\\": "src/"
        }
    },
    "extra": [],
    "minimum-stability": "dev",
    "description": "Test HMVC module"
}

Bạn cũng đừng quên đăng ký provider TestModule\Providers\ModuleServiceProvider:class vào config/app.php trong thư mục gốc.

Nếu bạn không muốn đăng ký một cách thủ công như vậy, bạn có thể đăng ký auto register cho Laravel bằng cách cập nhật lại tập tin platform/plugins/test-module/composer.json.

{
    ...,
    "extra": {
        "laravel": {
            "providers": [
                "TestModule\\Providers\\ModuleServiceProvider"
            ]
        }
    },
}

Tiếp theo, chúng ta sẽ khai báo module này vào composer.json của dự án bằng dòng lệnh:

$ composer require plugins/test-module:*

Khởi tạo một controller mới cho module của chúng ta:

$ php artisan module:make:controller test-module Test --resource

Mở tập tin platform/plugins/test-module/routes/web.php và cập nhật thông tin route:

use Illuminate\Routing\Router;
use Illuminate\Support\Facades\Route;

$moduleRoute = 'test-module';

Route::group(['prefix' => $moduleRoute], function (Router $router) {
    $router->resource('', 'TestController');
});

Tiếp theo, tạo ra một tập tin platform/plugins/test-module/resources/views/index.blade.php và cập nhật nội dung cho nó như sau

code-for-view

Đến đây, mọi thứ cơ bản đã hoàn thành. Chúng ta bắt đầu kiểm tra xem module mới tạo đã hoạt động đúng chưa.

Xem thêm nhiều chương trình tuyển dụng Laravel hấp dẫn trên TopDev

Từ terminal, thực thi câu lệnh:

$ php artisan serve
Laravel development server started: http://127.0.0.1:8000

Mở trình duyệt của bạn lên và truy cập theo đường dẫn http://127.0.0.1:8000/test-module.

module-render-success

Các bạn có thể tải xuống mã nguồn của bản demo này theo link sau https://github.com/duyphan2502/demo-hmvc.

Tổng kết

Bạn có thể thấy rằng, bản chất của module chính là một ứng dụng Laravel thu nhỏ, với đầy đủ các thành phần như ControllerModelProvider,…

Phía trên chỉ là một ví dụ khá đơn giản, khi mà chỉ có một plugin duy nhất.

Bên dưới là cấu trúc mà CMS mà mình đang xây dựng thực tế (Webed CMS).

webed-cms-structure

Đây cũng là CMS mà blog này đang sử dụng.

Tất cả các core modules sẽ được require bởi module core/basecomposer.json ở thư mục gốc chỉ cần require core/base là đủ. Bạn cũng cần đảm bảo việc các plugins được load sau core modules bằng cách require core/base ở các composer.json của plugins.

Do kiến trúc đã được định nghĩa ngay từ đầu, nên khi có lỗi ở đâu đó xảy ra, mình và đồng nghiệp rất dễ dàng debug và tìm ra root cause. Khi dự án lớn dần thì cũng dễ dàng kiểm soát và mở rộng hơn. Việc merge code giữa các team hoặc thành viên trong nhóm cũng trở nên đơn giản nhiều.

Ví dụ như mình cần một bạn trong nhóm phát triển tính năng tích hợp hệ thống với GHN thì bạn đó sẽ làm việc trên một module riêng biệt, không tác động tới những phần khác. Thậm chí việc loại bỏ một module cũng dễ dàng khi chỉ cần xóa nó ra khỏi composer.json.

Kết thúc chương trình truyền hình đến đây là hết 😀 hẹn gặp lại các bạn trong các series chọc phá laravel sắp tới. Nếu các bạn có ý kiến hay đóng góp về bài viết thì để lại bình luận bên dưới nhé.

Cám ơn các bạn đã theo dõi.

Bài viết gốc được đăng tải tại duypt.dev

Xem thêm:

Tham khảo thêm các vị trí tuyển dụng ngành IT tại Topdev