Ngày 7/4 vừa qua, Meta đã cho ra mắt một công cụ AI mới có tên là Segment Anything Model (SAM) với khả năng giúp máy tính xác định từng chi tiết cụ thể trong một bức ảnh thuộc về đối tượng nào. Khả năng của SAM kèm theo việc có thể thực thi theo thời gian thực giúp nó trở thành một trong những cải tiến đáng quan tâm nhất hiện nay trong cộng đồng AI. Bài viết hôm nay chúng ta cùng tìm hiểu về Segment Anything Model và những ứng dụng thực tiễn của nó nhé. Image Segmentation Thị giác máy tính (Computer Vision) là 1 lĩnh vực của Trí tuệ nhân tạo (AI - Artificial Intelligence) với bài toán đặt ra là sao chép được khả năng thị giác con người bởi sự nhận diện và hiểu biết một hình ảnh mang tính điện tử. Nó bao gồm các phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng các [...]
Read more →Bài viết đến từ Nguyễn Việt Cường - Quản lý Cao cấp Khoa học dữ liệu Data Science team @Techcombank Giới thiệu Tỷ lệ khách hàng rời bỏ, hay tỷ lệ khách hàng dừng giao dịch với Techcombank, là một chỉ số quan trọng ảnh hưởng đến sự phát triển và lợi nhuận của ngành ngân hàng. Việc dự đoán chính xác khách hàng rời bỏ cho phép Techcombank xác định trước khách hàng có nguy cơ rời bỏ và áp dụng các biện pháp chủ động để giữ chân họ, từ đó tiết kiệm đáng kể chi phí thu hút khách hàng. Trong bối cảnh này, việc sử dụng các mô hình học máy cho việc dự đoán khách hàng rời bỏ đã thu hút được sự chú ý đáng kể. Trong bài viết này, chúng tôi sẽ đi vào giải thích chi tiết về phương pháp phát triển một mô hình dự đoán khách hàng rời bỏ cho khách hàng doanh nghiệp. [...]
Read more →Bài viết đến từ anh Vũ Tuấn Nghĩa - Quản lý cao cấp hoạch định dữ liệu Data Engineering team @Techcombank DynamoDB là một dịch vụ cơ sở dữ liệu NoSQL cung cấp hiệu năng nhanh và nhất quán - có khả năng mở rộng và linh hoạt trong cách sử dụng. Khác với cơ sở dữ liệu quan hệ (RDMS), DynamoDB không sử dụng joins và các cấu trúc quan hệ khác để lưu trữ và truy vấn dữ liệu. Thay vào đó, bạn sẽ thiết kế table của mình theo Single design table - 1 table duy nhất phục vụ toàn bộ application hay service, việc này giúp hiệu suất đọc và ghi nhanh hơn ở scale lớn và giảm chi phí cloud. Trong bài viết này, chúng mình sẽ khám phá các lợi ích và thách thức của việc sử dụng Single design table trong DynamoDB, cũng như cách Datalake ở Techcombank sử dụng để đáp ứng và tối ưu như cầu sử dụng. Single table design Trong tài liệu trang chủ AWS có đề cập: You should maintain as few tables as [...]
Read more →Bài viết được sự cho phép của tác giả Kien Dang Chung Video trong bài viết Laravel được lựa chọn để phát triển ứng dụng web vì có rất nhiều các công cụ, tính năng được tích hợp sẵn, nó giúp cho công việc phát triển thuận lợi hơn, viết ít code hơn và code cũng dễ dàng maintain. Route Model Binding là một trong những hạt cát của sa mạc công cụ, nhưng có thể thấy những cái nhỏ nhất cũng chứa đựng đầy tinh thần Laravel. [irp posts="37639" name="Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream"] [irp posts="6398" name="Cách sử dụng Laravel với Socket.IO"] Xem thêm tuyển dụng Laravel lương cao trên TopDev Route Model Binding là gì? Trước khi đến với định nghĩa Route Model Binding là gì? chúng ta quay trở lại với các phương thức đã viết code trong TodosController ở những bài trước: public function show($todoId) { return view('todos.show')->with('todo', Todo::find($todoId)); } public function edit($todoId) { return view('todos.edit')->with('todo', [...]
Read more →Nghề 3D Artist cũng được xem là họ hàng chung của “Art” trong giới mỹ thuật nhưng khác với “Art”, người nghệ sĩ có thể diễn đạt, trình bày những tác phẩm của họ ở bất cứ đâu thì “3D Artist” chỉ có thể được những người nghệ sĩ thể hiện trên các hình ảnh máy tính, được tạo nên nhờ những công cụ phần mềm hỗ trợ. Có thể nói những tác phẩm của một dân trong “Nghề 3D Artist” được tạo nên từ những dòng thuật toán trên nền tảng dữ liệu. Nghề 3D Artist là gì? 3D Artist là một nhà thiết kế đồ họa chuyên biệt, họ là những người thông thạo công nghệ máy tính và phần mềm thiết kế mới nhất. Với một 3D Artist, trách nhiệm và nghĩa vụ của bạn bao gồm thiết kế và tạo hoạt ảnh 3D cho các ngành khác nhau bao gồm ứng dụng di động, y học, khoa học, trò chơi điện tử và [...]
Read more →Bài viết được sự cho phép của tác giả Kien Dang Chung Có vẻ chúng ta thực hiện hơi ngược quy trình viết code cho ứng dung Todo List, nếu chúng ta thực hiện việc tạo từng bản ghi Todo trước thì không cần đến tạo dữ liệu mẫu cho hiển thị danh sách Todo và chi tiết từng Todo. Bố cục chương trình Khóa học Laravel cơ bản qua ứng dụng Todo List muốn nhắm đến các khái niệm cơ bản về Laravel, do đó theo bố cục này bạn sẽ được học nhiều hơn. Thứ hai, viết code như chúng ta làm từ đầu đến giờ giống với các bước mà người dùng sẽ sử dụng ứng dụng hơn. [irp posts="237" name=" Làm PM, theo anh không cần biết về code, nhưng phải hiểu về SQL, database, những khái niệm cơ bản của code""] [irp posts="11945" name="26 công cụ và kỹ thuật trong Big Data có thể bạn chưa biết"] Hiển thị form tạo bản ghi mới [...]
Read more →Bài viết được sự cho phép của tác giả Edward Thien Hoang Trong bài viết trước, chúng ta đã khảo sát mô hình kiến trúc Model-View-Controller, Kiến trúc MVP chúng ta sẽ bàn dưới đây cũng dựa trên tư tưởng cơ bản của MVC nhưng với cách tiếp cận khác nhằm mục đích khắc phục các khuyết điểm đã có. [irp posts="38681" name="ASP.NET MVC5 #3: Thêm mới View"] [irp posts="39155" name="Database migration sử dụng Liquibase với Spring MVC"] 1. MẪU KIẾN TRÚC DOLPHIN SMALLTALK MODEL-VIEW-PRESENTER TỔNG QUAN Mẫu kiến trúc Dolphin Smalltalk Model-View-Presenter chia ứng dụng thành các phần dữ liệu (data), trình bày (presentation) và các xử lý logic thuộc phần trình bày (presentation logic) thành những thành phần riêng biệt. LỊCH SỬ Phiên bản Dolphin Smalltalk Model-View-Presenter (gọi tắt là Dolphin MVP) là phiên bản của MVP được xây dựng dựa trên phiên bản Taligent MVP xuất hiện trước đó. Dolphin MVP được xây dựng về cơ bản bên ngoài tươ [...]
Read more →MVC được hình thành bởi các nghiên cứu của Trygve Reenskaug vào khoảng các năm 1978-1979. Sau đó nó được điều chỉnh và được cài đặt lần đầu tiên vào các lớp của thư viện Xerox PARC Smalltalk-80. Mô hình MVC cổ điển hiện tại ít được sử dụng trong môi trường lập trình desktop như trước đây nhưng hiện tại nó vẫn được sử dụng cực kì rộng rãi như là kiến trúc cơ bản trong các môi trường lập trình web. Tổng quan mô hình MVC [caption id="attachment_62677" align="aligncenter" width="2277"] Tổng quan mô hình MVC[/caption] MVC là gì? Mô hình MVC - Model-View-Controller là phương pháp chia nhỏ các các thành phần dữ liệu (data), trình bày (output) và dữ liệu nhập từ người dùng (input) thành những thành phần riêng biệt. MVC hoạt động như thế nào? Thông thường, chúng ta biết rằng mô hình MVC gồm 3 thành phần: Model, View và Controller View – Nơi người dùng tương tá [...]
Read more →Bài viết được sự cho phép của tác giả Edward Thien Hoang Trong các nền tảng lập trình hiện đại như .NET, khi mà các công cụ và kĩ thuật hỗ trợ lập trình giao diện người dùng (UI) ngày càng trở nên mạnh mẽ và tiện dụng thì chúng ta thường có xu hướng đưa nhiều xử lý bên ngoài vào các lớp UI. Kết quả là các thành phần UI này chứa nhiều xử lý logic và dữ liệu mà lẽ ra nên tách rời thành những thành phần riêng. Việc tách rời xử lý và trình bày vì những lí do sau: Trong một hệ thống, UI là thành phần có nhiều khả năng thay đổi nhất nên việc tách rời các thành phần UI giúp có thể thay đổi các thành phần UI này một cách độc lập mà không ảnh hưởng đến các thành phần xử lý khác. Đặc biệt việc tách rời các thành [...]
Read more →Bài viết được sự cho phép của tác giả Lê Chí Dũng Mô hình xoắn ốc (Spiral model) có thể được xem là sự kết hợp giữa mô hình thác nước (Waterfall model) và mô hình mẫu (Prototype model) và đồng thời thêm phân tích rủi ro (Risk assessment). [irp posts="14419" name="19 tip cho các kỹ sư phần mềm cho nửa cuối năm 2019"] [irp posts="35284" name="7 lãng phí trong kiểm thử phần mềm"] Trong mô hình xoắn ốc, quy trình phát triển phần mềm được biểu diễn như một vòng xoắn ốc. Các phase trong quy trình phát triển xoắn ốc bao gồm: Thiết lập mục tiêu: xác định mục tiêu cho từng pha của dự án. Đánh giá và giảm thiểu rủi ro: rủi ro được đánh giá và thực hiện các hành động để giảm thiểu rủi ro. Phát triển và đánh giá: sau khi đánh giá rủi ro, một mô hình xây dựng hệ thống sẽ được lựa chọn từ những mô hình chung. Lập kế [...]
Read more →Bài viết được sự cho phép của tác giả Khiêm Lê Entity-relationship Model là gì? Entity-relationship model (tạm dịch là mô hình thực thể – mối quan hệ hay mô hình quan hệ – thực thể, viết tắt là ER model) là mô hình biểu diễn mối quan hệ giữa các thực thể với nhau. Trong thực tế thì hầu như mọi thực thể đều có mối quan hệ với nhau. Ví dụ như một người sở hữu một hoặc nhiều căn nhà, khi đó, người này và căn nhà là vật thể, quan hệ giữa người và nhà là quan hệ sở hữu và được sở hữu bởi. [irp posts="16206" name="Các mô hình phát triển phần mềm"] [irp posts="29432" name="Giải thích mô hình MVC thông qua … cốc trà đá"] Bằng việc sử dụng mô hình ER, chúng ta có thể dễ dàng đặc tả được mối quan hệ giữa các thực thể ngoài đời thực, từ đó thiết kế các cơ sở dữ liệu quan hệ phù hợp để lưu trữ trên máy tính. Bạn nà [...]
Read more →Bài viết được sự cho phép của tác giả Lương Văn Phúc Đây là bài viết cuối trong series về CSS Box Model của mình. Nếu như các bài viết trước tập trung phân tích sâu về một element và các thuộc tính của nó, thì bài viết này sẽ giúp bạn có cái nhìn bao quát hơn về mối quan hệ giữa các element trên trang web, chúng đẩy nhau hay hút lại với nhau như thế nào, từ đó giúp bạn có thể layout được các element tới những vị trí một cách chính xác nhất. Bạn có thể theo dõi bài viết phần 1 và 2 tại đây: Phần 1: CSS Box Model – Cơ bản dành cho người mới bắt đầu Phần 2: CSS Box Model và box-sizing: border-box là gì vậy? Block và Inline Có lẽ hầu hết các bạn đều đã quen với 2 loại box cơ bản này rồi: block và inline. Nếu bạn nào không nhận ra chúng, thì có thể các bạn sẽ [...]
Read more →Bài viết được sự cho phép của tác giả Lương Văn Phúc Bài viết này là phần 2 của series về box model của mình. Bạn có thể theo dõi phần 1 và phần 3 (cuối) tại: Phần 1: CSS Box Model - Cơ bản dành cho người mới bắt đầu Phần 3: CSS Box Model - Các cách hiển thị element với thuộc tính display Lý do mình chọn viết về CSS Box Model Trong thế giới của CSS hay web layout nói chung, có rất nhiều thứ cơ bản mà một lập trình viên giao diện cần nắm vững. Nhưng mình chọn Box Model để giới thiệu đầu tiên vì nó rất cơ bản nhưng lại vô cùng quan trọng trong việc layout. Mình từng thấy các bạn junior khác chỉ layout kiểu đối phó (thử sai), viết css theo bản năng hoặc kinh nghiệm cá nhân, miễn sao kết quả giống design hoặc chạy được là được. Việc này có rất nhiều tác hại: Cá [...]
Read more →Cách viết dùng v-model để tự đồng bộ giá trị khi lồng các component Bạn có component nhận vào prop, muốn sử dụng v-model để nó tự cập nhập giá trị khi có thay đổi // Address.vue <template> <div> <input name="street" v-model="street"> <input name="city" v-model="city"> <input name="state" v-model="state"> <input name="zip" v-model="zip"> </div> </template> <script> export default { props: ['street', 'city', 'state', 'zip'] } </script> Bạn truyền nó vào như thế này, với hy vọng mọi thứ chạy ngon lành // Form.vue <template> <form> <input name="name" v-model="name"> <input name="email" v-model="email"> <mailing-address :street="address.street" :city="address.city" :state="address.state" :zip="address.zip" /> </form> </template> <script> import MailingAddress from './Address.vue'; export default { components: { MailingAddress }, data() { return { address: { street: '', city: '', state: '', zip: '' } } } } </script> Nhưng không 😭 nó sẽ thông báo trong console, “Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. “ Về nguyên tắc, chúng ta ko được thay đổi giá trị của prop, nếu không lúc re-render nó [...]
Read more →Nếu lập trình đủ lâu, bạn sẽ ít nhiều nghe đến khái niệm mental model, và nếu bạn đã và đang viết React, bạn càng thấy thuật ngữ này xuất hiện rất nhiều. Đây là một khái niệm không chỉ trong hữu dụng trong React, mà nó còn là chìa khóa để bạn tự tin khi làm việc với những thư viện như React. Mental model là gì Một chữ rất khó tìm được một từ tiếng việt gói gọn để mô tả nó. Một cách dài dòng thì nó là cách mà chúng ta hình dung một vấn đề trong đầu, một bước mapping một hệ thống ở bên ngoài vào trong đầu trong ta, hình dung nó cách vận hành. Một ví dụ điển hình của mental model là internet: một hệ thống phức tạp gồm nhiều phần kết nối lại với nhau, nhưng hãy nghĩ đến cái mà bạn hình dung về nó. Tôi sẽ nghĩ nó là một hệ thống các máy tính [...]
Read more →