Topic: Kiến trúc hệ thống E-commerce yêu cầu ổn định & khả năng mở rộng

Tác giả: Lê Minh Nghĩa - Solution Architect | Tiki.vn

Tóm tắt:

  • Đối với dịch vụ của Tiki hiện tại thì có trên hàng trăm các services khác nhau.
  • Các service phải giao tiếp với nhau để có thể vận hành hệ thống nhưng vẫn dảm bảo nghiệp vụ, tính chính xác của dữ liệu, update realtime các thay đổi, đảm bảo hiệu năng.
  • Từ mô hình sao truyền thống, Tiki đã áp dụng mô hình Message Bus để giải quyết vấn đề giao tiếp giữa các service.

Phương pháp cũ

  • Sử dụng mô hình ngôi sao (Star Model) trong thiết kế để thiết lập giao tiếp giữa các thành phần với nhau.
  • Tuy nhiên, độ phức tạp của phương pháp này quá lớn O(n^2).
  • Các service bắt buộc phải luôn trong trạng thái sẵn sàng ở cùng một thời điểm để có thể giao tiếp với nhau. Nếu 1 service bị lỗi, hệ thống, không thể chạy được.

Giải pháp: Message Bus

  • Các service nói chuyện với nhau thông qua 1 service chung là Message Bus.
  • Độ phức tạp là O(n).
  • Các service không nhất thiết phải đều sẵn sàng tại cùng một thời điểm.
  • Đơn giản khi sử dụng
Lưu ý:
  • Đảm bảo thứ tự các message gửi đi trong Message bus.
  • Đảm bảo gửi đúng 1 cái duy nhất.
  • Đảm bảo dữ liệu gửi đi
  • Đối với MySQL, có thể sử dụng Kafka để đảm bảo quá trình gửi đi các message đúng thứ tự.

Topic: React Các vấn đề về SEO - Optimize Code - Share Code

Tác giả: Phan Thanh Tùng - Cofounder | tungtung.vn

Tóm tắt:

  • Diễn giả nêu lên các vấn đề khó khăn khi làm SEO cho các Single Page Application, giới thiệu thư viện làm SEO cho React.
  • Các lưu ý cần quan tâm để tối ưu Performance cho hệ thống khi render trong React.
  • Giới thiệu thư viện giúp Share code giữa các group một cách tối ưu.

SEO cho Single Page Application

  • Single Page Application (SPA) đang ngày càng phổ biến, được người dùng ưu chuộng do đem lại trải nghiệm nhanh, thoải mái cho người dùng.
  • Tuy nhiên, các SPA lại chỉ có thể hoạt động khi Javascript được bật. Hơn nữa, các SPA chưa tương thích hoàn toàn với các công cụ tìm kiếm (Google, Bing, ...). Việc này làm giảm khả năng tiếp cận của ứng dụng đối với các người dùng tự nhiên.
  • Giới thiệu về framework NEXT.js giúp đỡ trong việc SEO cho các ứng dụng React với các ưu điểm: Tương thích tốt với các browser; Tương thích với GraphQL

Optimize Performance

  • Giới thiệu thư viện để đo performance hệ thống: react-addons-perf
  • Giới thiệu thưu viện để do Benchmarking hệ thống; react-perf-tool
  • Lưu ý việc sử dụng PureComponent, hoặc hàm shouldComponentUpdate để tối ưu hóa hệ thống, hạn chế những render không cần thiết.
  • Sử dụng eslint-plugin-react

React Shared Code

  • Giới thiệu thư viện bitsrc.io hỗ trợ việc share code.

Topic: Giải pháp cuối cùng cho Web Layout

Slide

Tác giả: Trần Trọng Thanh - CTO | Nau Studio

Tóm tắt

  • Web Layout đã thay đổi khá nhiều, từ No Layout, đến Table Layout, Float, Inline, Flex box,... Cho đến bây giờ, mọi người đều sử dụng thư viện boostrap.
  • Thư viện boostrap tui tiện lợi, hữu ích nhưng lại đang gây ra 1 hậu quả là hàng loạt trang web có giao diện khá giống nhau về bố cục, dễ gây nhàm chán, thiếu tính đổi mới boostrap

Giới thiệu CSS Grid

  • Là cách thức mới để layout giao diện web trên Mobile cũng như Web.
  • Giao diện sẽ được chia thành các ô như bàn cờ vua, chúng ta sẽ có thể sử dụng các ô tùy vào nhu cầu của bản thân.
  • Bao gồm các thành phần: Grid Container, Grid Item, Grid Line, Grid Track, Grid Cell, Grid Area, Grid Gap, ...
  • CSS Grid đem lại các lợi ích:
    • Layout theo chiều, hoặc theo cột, theo dòng.
    • Đơn giản hóa các HTML, loại bỏ các warpper thừa
    • Đảm bảo tính Responsive cho Web.
  • Các trình duyệt hiện tại đa phần đã hỗ trợ CSS Grid.

Topic: Tạo một ICO trong vòng 1 phút với Ethereum

  • Diễn giả: Yen-Thanh LE
  • Nội dung:
    • Trình bày khái niệm cơ bản về Blockchain, Ethereum và Cryptocurrency (tiền ảo) . Cách tạo một Smart Contract và deploy lên blockchain. Demo với một smart contract gửi ethereum đến một địa chỉ khác.
    • Ngôn ngữ: Solidity
    • Ethereum Blockchain Tool: Mist (https://github.com/ethereum/mist/releases)

Topic: Tiền ảo đã ký sinh trên web của bạn như thế nào?

  • Diễn giả: Quan Minh Tâ
  • Nội dung:
    • Khi bạn sử dụng dịch vụ internet miễn phí thì có thể bạn là người "chi trả" cho dịch vụ đó. . Giới thiệu thị trường tiền điện tử (tiền ảo) .
    • Một số kỹ thuật đào tiền ảo .
    • Lỗ hỏng trên máy tính, website giúp hacker tấn công .
    • Cáchphòngtránhvàphát hiện hacker tấncông

Topic: All about Email Marketing

  • Diễngiả: LạiTuấnCường
  • Nội Dung:
    • Bạn muốn tăng doanh thu? Bạn muốn kiếm nhiều khách hàng hơn? Bạn gửi mail giới thiệu sản phẩm công ty, thông tin khuyến mại và mail của bạn bị người xem vứt vào sọt rác. Vì sao? Vì bạn không hiểu được đối tượng mà bạn muốn gửi mail đến. .
    • Tìm hiểu tổng quan về Email Marketing là gì .
    • Chiến lược sử dụng Email Marketing trong Digital Marketing .
    • Quy trình để thực hiện Email Marketing hiệu quả