How to make a Chatbot with Artificial Intelligence (AI)?
The world is slowly moving towards intelligent business systems that can make important decisions or perform vital actions on behalf of humans while offering a personalized experience. AI Chatbots are the latest rage in the current business technology scene ranging from E-commerce systems to ...
Chapter 2: Protocols
Ở chapter 1 chúng ta đã cùng tìm hiểu về sự liên quan của 2 mặt của API, client và server. Để các bạn nắm bắt được chắc chắn hơn cách thức chúng giao tiếp với nhau, chúng ta sẽ nhìn sâu hơn vào cách client và server tương tác với nhau trong nội dung bài viết này. Trước tiên chúng ta nhìn vào mô ...
Early Testing là gì: Test Early và Test Often nhưng bằng cách nào?
Việc kiểm thử phần mềm nên bắt đầu sớm trong vòng đời phát triển phần mềm (Software Development Life Cycle - SDLC). Việc này giúp nắm bắt được và triệt tiêu sớm những rủi ro và nhược điểm trong phase lấy requirement và phase design trong vòng đời phát triển phần mềm. Việc kiểm thử sớm sẽ giúp giảm ...
Dev hiện đại phần 2: Chạy ứng dụng trên... localhost
Nghe thì đơn giản nhở, ai là dev mà chả chạy được ứng dụng trên localhost rồi, sao phải hướng dẫn phức tạp loằng ngoằng làm gì? Nhưng nếu bạn đã ở vào hoàn cảnh chạy trên máy mình được mà máy đồng nghiệp không được, hay là máy mình được mà lên server lại tịt ngóm,... thì bạn nên tiếp tục đọc ...
Tại sao chúng ta nên dùng Interface Builder (XIB) thay vì Storyboard?
Tôi rất thích sử dụng Interface Builder (IB) khi lập trình iOS. Nó giúp tôi làm giảm bớt rất nhiều dòng code mà có thể xuất hiện trên các view layer. Nhưng sử dụng storyboards cũng mang lại rất nhiều vấn đề. Bài viết này tôi sẽ giải thích cho các bạn vì sao sử dụng file xib riêng biệt giúp hiệu ...
The Complete Guide to Create a Copy of an Object in Ruby: Part I
Tại sao chúng ta lại cần copy các Object? Nhu cầu này xuất hiện khi chúng ta muốn thay đổi hoặc di chuyển chúng mà vẫn phải đảm bảo được tính nguyên bản của các Object này. Trong bài viết này, chúng ta cùng nhau tìm hiểu các chủ đề sau: shallow copy và deep copy dup và clone trong ruby so ...
4 lợi ích của việc sử dụng Test Automation với Espresso
Nếu bạn là một Android dev, có lẽ bạn cũng không còn lạ lẫm với framework Espresso của Google sử dụng cho automation test. Là một công cụ nguồn mở, nó rất dễ dàng cho các nhà phát triển sử dụng cũng như là tuỳ biến cho việc thực hiện automation test. Nhưng trước khi thảo luận về lợi ích của ...
SQL Series: Vì sao bạn nên xài SQL CTEs
CTE cho phép bạn lưu trữ một query để xài trong script khi có dịp cần thiết. Tuy vậy, chúng thường bị đánh giá thấp hơn subquery, vốn được xài bởi rất nhiều người. Bài viết này sẽ giải thích lí do vì sao tôi lại thích xài CTE để tạo các SQL query. Cách chúng hoạt động Trong ví dụ ...
System Recovery - Giới thiệu về khôi phục cơ sở dữ liệu
Như trong phần trước, chúng ta sử dụng thuật ngữ quản lý dữ liệu thay vì quản lý tài nguyên chung chung. Loại quản lý dữ liệu phổ biến nhất là một hệ thống cơ sở dữ liệu. Tuy nhiên, các nguyên tắc áp dụng cho bất kỳ trình quản lý tài nguyên giao dịch nào, chẳng hạn như trình quản lý hàng đợi và các ...
Cách tạo custom templates trong Android
Hê-lô 501 anh chị em Mỗi khi chúng ta làm việc trong một dự án mới, chúng ta phải viết rất nhiều code liên tục và trong một khoảng thời gian, nó trở nên rất tẻ nhạt. Tôi đã trải nghiệm nó trong khi tạo Ứng dụng Android nơi tôi phải viết quá nhiều code template bất cứ khi nào tôi tạo một ...
Express Framework
Trong bài này mình sẽ giới thiệu về ExpressJS, một web framework của NodeJS cung cấp cho bạn các công cụ đơn giản nhất, giúp bạn xây dựng một website, hoặc ứng dụng web (web apps) và phần back-end của một hệ thống. Với ExpressJs bạn không cần lo lắng về những phương thức, quy trình xử lý cấp thấp ...
“Đùa nghịch” với Docker trong 5 phút
Người viết: Codeaholicguy Cảnh báo: Bài viết có nội dung cực kì đơn giản dành cho bạn nào chưa sử dụng Docker bao giờ! Các bạn nào đã sử dụng Docker thành thạo rồi có thể tắt luôn tab ngay khi đọc hết dòng này, còn nếu các bạn muốn đọc tiếp thì cũng cứ thoải mái, và nhớ giữ tư tưởng ...
9 mẹo và thủ thuật cho Chrome Dev Tools
Chrome không chỉ ngày càng trở thành một trình duyệt được nhiều người lựa chọn, mà còn là một tool phát triển mạnh mẽ theo hướng riêng của nó. Các tính năng mới được giới thiệu thường xuyên, và có một số tính năng tôi thấy sử dụng thấy dễ dàng hơn các tính năng khác Dưới đây là ...
Tổng hợp các lỗi thường gặp khi lập trình viên khởi nghiệp và giải pháp
Người viết: Lê Tất Tùng Vốn là một lập trình viên khởi nghiệp với nhiều thất bại, tôi tổng hợp những thất bại thường gặp ở đây với mong muốn các lập trình viên, kỹ sư sẽ không lặp lại vết xe đổ đó. (Vẫn tiếp tục cập nhật) Những chia sẻ này hẳn sẽ có ích không chỉ với lập trình viên ...
Tìm hiểu Transition trong css
TRANSITION Một sự cải tiến mới trong css3 là khả năng viết các hiệu ứng (transition). Các nhà phát triển giao diện người dùng đã tìm ra khả năng thiết kế các tương tác này trong html và css mà không cần Javascript. Với các CSS3 transitions bạn có thể thay đổi diện mạo hành vi của ...
Xây dựng ứng dụng web với Python + Flask Framework + Angular2 + DynamoDB – Phần 2
Ở bài viết trước mình đã hướng dẫn xong thiết lập cho cả front và server(tại đây). Để chuẩn bị tiếp cho các phần hay ho như xử lý authentication, sessions… thì ở bài viết này mình xin hướng dẫn cách kết nối và liên lạc giữa front-server bằng cách tạo trang CRUD đơn giản. Tương ...
19 tip cho các kỹ sư phần mềm trong năm 2019
Sắp bước qua năm 2019 và thế giới lập trình sẽ có nhiều điều tuyệt vời xuất hiện. Nhưng đối với nhiều developer mới, triển vọng bước vào sự nghiệp coding có thể gặp nhiều khó khăn. Có rất nhiều công nghệ để học và rất nhiều ngôn ngữ để lựa chọn. Do đó, tôi đã soạn ra một danh sách ...
Xây dựng ứng dụng web với Python + Flask Framework + Angular2 + DynamoDB – Phần 1
Kết thúc chuỗi bài viết về chủ đề Xây dựng ứng dụng web với NodeJS + Express FrameWork + AngularJS thì hôm nay mình xin triển khai 1 chủ đề mới đó là Xây dựng ứng dụng web với Python + Flask Framework + Angular2 + DynamoDB. Có lẽ vì thời gian tồn tại và hỗ trợ quá ngắn của angular2 nên ...
Tin Hot: Skype vừa cho ra mắt tính năng real-time code editor cho lập trình viên.
Skype vừa ra mắt một tính năng cho cho phép các lập trình viên có thể tạo cuộc gọi ngay phía trên phần code editor thông qua Microsoft Edge hoặc Chrome Browser. Điều đó có nghĩa rằng lập trình viên có thể luân chuyển dễ dàng từ cuộc gọi sang code editor trong các buổi demo kỹ thuật ...
Giới thiệu về kiến trúc Microservices
Một vài năm trở lại đây, khái niệm kiến trúc Microservices hiện là chủ đề rất hot trong cộng động lập trình viên. Thật không khó để có thể tìm thấy một bài viết, một bản báo cáo hay một bài thuyết trình về chủ đề này. Vậy Microservices là gì? Ưu điểm và nhược điểm của kiến trúc ...