Speaker: Nhan Nguyen - Software Architect @ FPT IS
Bio: Author of HtmlJs Be fluent in C# and JavaScript. Software architect at FPT IS
Description:
Kiến trúc của HtmlJs
Cách thiết kế web app với HtmlJs
Demo (code 1 số app đơn giản + performance demo)
Mô hình lập trình three-way binding (điểm mới so với buổi trước)
The talk cover concepts and internal mechanisms of how PostgreSQL, a popular open-source database, operates. While doing so, I'll also draw similarities to other RDBMS like Oracle, MySQL or SQL Server.
Some topics to touch during this presentation:
- PostgreSQL internal concepts: table, index, page, heap, vacuum, toast, etc.
- MVCC and relational transactions
- Indexes and how they affect performance
- Discuss on Uber's blog post about moving from PostgreSQL to MySQL
The talk is suitable for technical audience who has worked with databases before (software engineers/data analysts) and want to learn about its internal mechanism.
Speaker: Huy Nguyen, CTO & Cofounder, Holistics Software
Huy's currently CTO of Holistics, a Business Intelligence (BI) and Data Infrastructure product. Holistics helps customers generate reports and insights from their data. Holistics customers include tech companies like Grab, Traveloka, The Coffee House, Tech In Asia and e27.
Before Holistics, Huy worked at Viki, helping build their end-to-end data platform that scale to over 100M records a day. Previously, Huy spent a year writing medical simulation in Europe, and did an internship with Facebook HQ working for their growth team.
Huy's proudest achievement is 251 scores on Flappy Bird.
Language: Vietnamese, with slides in English.
Grokking TechTalk #33: Architecture of AI-First Systems - Engineering for Big...Grokking VN
- Speaker: Hervé Vũ Roussel - CEO & Co-founder @ QuodAI
- Vài nét về speaker: Hervé Vũ Roussel trước đây đã từng là CTO của một công ty phần mềm ở Silicon Valley Mỹ. Anh đã và đang là advisor và mentor cho nhiều tổ chức như IBM AI XPRIZE, PlatoHQ (YC'16), RMIT, AngelHack, ... Anh cũng là một trong các diễn giả thường xuyên cho chủ đề AI và Software engineer cũng như đã tư vấn cho nhiều trường đại học, công ty về các chương trình đào tạo khoa học máy tính và kỹ sư phần mềm. Hiện tại, Hervé đang là CEO của Quod AI, một nền tảng giúp giải thích source code bằng ngôn ngữ tự nhiên.
Đến với talk lần này anh sẽ chia sẻ kinh nghiệm của mình trong việc thiết kế một kiến trúc chịu tải cao và dễ mở rộng (highly scalable architecture) cho các nền tảng AI bao gồm:
- Những nguyên tắc nền tảng trong xây dựng kiến trúc phần mềm
- Cách lựa chọn công nghệ lưu trữ dữ liệu
- Xây dựng data pipelines bất đồng bộ
Grokking TechTalk 9 - Building a realtime & offline editing service from scra...Grokking VN
https://www.youtube.com/watch?v=_Wqy1B8PXD4&feature=youtu.be
Talk presented by Vu Nguyen, CTO @ Liti Book (Vietnamese)
Brief intro: In this talk, I would like to share how we build a system for LitiBook that can handle (1) real-time editing, (2) offline editing, (3) synchronizing between devices and (4) conflict between different editing sessions. There are not many applications out there can do all these above things. (Evernote does not resolve conflict. Hackpad, Trello and Asana do not support offline). So the challenge is really interesting.
About speaker: Vu Nguyen is a young and passionate engineer who founded Liti Book with his friend. Liti Book aimed to develp the next generation of productivity tool which is support more collaboratoin, more real-time editing, ...
www.grokking.org
Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...Grokking VN
Khi những background job queues hiện có trên thị trường đã rất phổ biến và chất lượng cao (Sidekiq, Celery, Faktory, vv), việc thiết kế lại (reinvent the wheel) thường không được khuyến khích.
Tuy vậy, team Engineering của Holistics đã tự thiết kế lại một hệ thống background job queue riêng trên nền tảng Ruby + PostgreSQL để phục vụ đặc thù riêng của hệ thống B2B của công ty.
Cùng đến với bài talk này để nghe anh Huy Nguyen, CTO của Holistics, chia sẻ về cách team Holistics đã thiết kế hệ thống background job queue này như thế nào, tại sao lại viết lại, tại sao dùng Ruby + PostgreSQL.
Speaker: Huy Nguyen
- Cofounder & CTO of Holistics Software
- Cofounder of Grokking
Grokking Techtalk #37: Data intensive problemGrokking VN
At some point in your software engineer career, you will have to deal with data and your success depends on how big the data that your software can deal with. From a simple problem that requires processing a large amount of data, this talk will present to you how to approach this kind of issue and how to design and choose an efficient solution.
About speaker:
Hồ is Senior Software Engineer at AXON where he helps design and develops complex distributed systems, including image and video encoding, distributed file conversion system. Besides coding, Ho likes to read manga and meet friends in his free time.
TechTalk #15 Grokking: The data processing journey at AhaMoveGrokking VN
Thuc Nguyen - Lead Operation Engineer, AhaMove
Thuc Nguyen is working at AhaMove - an 1.5 year old instant delivery startup - as Lead Operation Engineer.
The topic is to share data problems which AhaMove had to deal with on early days, and how our engineering culture and philosophy affected our decisions and actions on handling these issues with detailed showcases on geospatial analytics and data pipeline.
The talk cover concepts and internal mechanisms of how PostgreSQL, a popular open-source database, operates. While doing so, I'll also draw similarities to other RDBMS like Oracle, MySQL or SQL Server.
Some topics to touch during this presentation:
- PostgreSQL internal concepts: table, index, page, heap, vacuum, toast, etc.
- MVCC and relational transactions
- Indexes and how they affect performance
- Discuss on Uber's blog post about moving from PostgreSQL to MySQL
The talk is suitable for technical audience who has worked with databases before (software engineers/data analysts) and want to learn about its internal mechanism.
Speaker: Huy Nguyen, CTO & Cofounder, Holistics Software
Huy's currently CTO of Holistics, a Business Intelligence (BI) and Data Infrastructure product. Holistics helps customers generate reports and insights from their data. Holistics customers include tech companies like Grab, Traveloka, The Coffee House, Tech In Asia and e27.
Before Holistics, Huy worked at Viki, helping build their end-to-end data platform that scale to over 100M records a day. Previously, Huy spent a year writing medical simulation in Europe, and did an internship with Facebook HQ working for their growth team.
Huy's proudest achievement is 251 scores on Flappy Bird.
Language: Vietnamese, with slides in English.
Grokking TechTalk #33: Architecture of AI-First Systems - Engineering for Big...Grokking VN
- Speaker: Hervé Vũ Roussel - CEO & Co-founder @ QuodAI
- Vài nét về speaker: Hervé Vũ Roussel trước đây đã từng là CTO của một công ty phần mềm ở Silicon Valley Mỹ. Anh đã và đang là advisor và mentor cho nhiều tổ chức như IBM AI XPRIZE, PlatoHQ (YC'16), RMIT, AngelHack, ... Anh cũng là một trong các diễn giả thường xuyên cho chủ đề AI và Software engineer cũng như đã tư vấn cho nhiều trường đại học, công ty về các chương trình đào tạo khoa học máy tính và kỹ sư phần mềm. Hiện tại, Hervé đang là CEO của Quod AI, một nền tảng giúp giải thích source code bằng ngôn ngữ tự nhiên.
Đến với talk lần này anh sẽ chia sẻ kinh nghiệm của mình trong việc thiết kế một kiến trúc chịu tải cao và dễ mở rộng (highly scalable architecture) cho các nền tảng AI bao gồm:
- Những nguyên tắc nền tảng trong xây dựng kiến trúc phần mềm
- Cách lựa chọn công nghệ lưu trữ dữ liệu
- Xây dựng data pipelines bất đồng bộ
Grokking TechTalk 9 - Building a realtime & offline editing service from scra...Grokking VN
https://www.youtube.com/watch?v=_Wqy1B8PXD4&feature=youtu.be
Talk presented by Vu Nguyen, CTO @ Liti Book (Vietnamese)
Brief intro: In this talk, I would like to share how we build a system for LitiBook that can handle (1) real-time editing, (2) offline editing, (3) synchronizing between devices and (4) conflict between different editing sessions. There are not many applications out there can do all these above things. (Evernote does not resolve conflict. Hackpad, Trello and Asana do not support offline). So the challenge is really interesting.
About speaker: Vu Nguyen is a young and passionate engineer who founded Liti Book with his friend. Liti Book aimed to develp the next generation of productivity tool which is support more collaboratoin, more real-time editing, ...
www.grokking.org
Grokking TechTalk #24: Thiết kế hệ thống Background Job Queue bằng Ruby & Pos...Grokking VN
Khi những background job queues hiện có trên thị trường đã rất phổ biến và chất lượng cao (Sidekiq, Celery, Faktory, vv), việc thiết kế lại (reinvent the wheel) thường không được khuyến khích.
Tuy vậy, team Engineering của Holistics đã tự thiết kế lại một hệ thống background job queue riêng trên nền tảng Ruby + PostgreSQL để phục vụ đặc thù riêng của hệ thống B2B của công ty.
Cùng đến với bài talk này để nghe anh Huy Nguyen, CTO của Holistics, chia sẻ về cách team Holistics đã thiết kế hệ thống background job queue này như thế nào, tại sao lại viết lại, tại sao dùng Ruby + PostgreSQL.
Speaker: Huy Nguyen
- Cofounder & CTO of Holistics Software
- Cofounder of Grokking
Grokking Techtalk #37: Data intensive problemGrokking VN
At some point in your software engineer career, you will have to deal with data and your success depends on how big the data that your software can deal with. From a simple problem that requires processing a large amount of data, this talk will present to you how to approach this kind of issue and how to design and choose an efficient solution.
About speaker:
Hồ is Senior Software Engineer at AXON where he helps design and develops complex distributed systems, including image and video encoding, distributed file conversion system. Besides coding, Ho likes to read manga and meet friends in his free time.
TechTalk #15 Grokking: The data processing journey at AhaMoveGrokking VN
Thuc Nguyen - Lead Operation Engineer, AhaMove
Thuc Nguyen is working at AhaMove - an 1.5 year old instant delivery startup - as Lead Operation Engineer.
The topic is to share data problems which AhaMove had to deal with on early days, and how our engineering culture and philosophy affected our decisions and actions on handling these issues with detailed showcases on geospatial analytics and data pipeline.
Dennis Wittekind, Confluent, Senior Customer Success Engineer
Perhaps you have heard of Kafka Connect and think it would be a great fit in your application's architecture, but you like to know how things work before you propose them to your team? Perhaps you know enough Connect to be dangerous, but you haven't had the time to really understand all the moving pieces? This meetup talk is for you! We'll briefly introduce Connect to the uninitiated, and then jump in to underlying concepts and considerations you should make when running Connect in production! We'll even run a live demo! What could go wrong!?
https://www.meetup.com/Saint-Louis-Kafka-meetup-group/events/272687113/
Just because you can, doesn’t mean you should. But in this case, you definitely should! Learn how this one weird trick (Jinja templating) will supercharge your analytics workflows and help you do more, better, faster with SQL.
Productionizing Machine Learning with a Microservices ArchitectureDatabricks
Deploying machine learning models from training to production requires companies to deal with the complexity of moving workloads through different pipelines and re-writing code from scratch.
Modern Machine Learning (ML) represents everything as vectors, from documents, to videos, to user behavior. This representation makes it possible to accurately search, retrieve, rank, and classify different items by similarity and relevance.
Running real-time applications that rely on large numbers of such high dimensional vectors requires a new kind of data infrastructure. In this talk we will discuss the need for such infrastructure, the algorithmic and engineering challenges in working with vector data at scale, and open problems we still have no adequate solutions for.
Time permitting, I will introduce Pinecone as a solution to some of these challenges.
Zipline - A Declarative Feature Engineering FrameworkDatabricks
Zipline is Airbnb’s data management platform specifically designed for ML use cases. Previously, ML practitioners at Airbnb spent roughly 60% of their time on collecting and writing transformations for machine learning tasks.
Presentation given on the 15th July 2021 at the Airflow Summit 2021
Conference website: https://airflowsummit.org/sessions/2021/clearing-airflow-obstructions/
Recording: https://www.crowdcast.io/e/airflowsummit2021/40
Realizing the promise of portability with Apache BeamJ On The Beach
The world of big data involves an ever changing field of players. Much as SQL stands as a lingua franca for declarative data analysis, Apache Beam (incubating) aims to provide a portable standard for expressing robust, out-of-order data processing pipelines in a variety of languages across a variety of platforms.
In this talk, I will:
Cover briefly the capabilities of the Beam model for data processing and integration with IOs, as well as the current state of the Beam ecosystem.
Discuss the benefits Beam provides regarding portability and ease-of-use.
Demo the same Beam pipeline running on multiple runners in multiple deployment scenarios (e.g. Apache Flink on Google Cloud, Apache Spark on AWS, Apache Apex on-premise).
Give a glimpse at some of the challenges Beam aims to address in the future.
Lessons PostgreSQL learned from commercial databases, and didn’tPGConf APAC
This is the ppt used by Illay for his presentation at pgDay Asia 2016 - "Lessons PostgreSQL learned from commercial
databases, and didn’t". The talk takes you through some of the really good things that PostgreSQL has done really well and somethings that PostgreSQL can learn from other databases
Consolidating MLOps at One of Europe’s Biggest AirportsDatabricks
At Schiphol airport we run a lot of mission critical machine learning models in production, ranging from models that predict passenger flow to computer vision models that analyze what is happening around the aircraft. Especially now in times of Covid it is paramount for us to be able to quickly iterate on these models by implementing new features, retraining them to match the new dynamics and above all to monitor them actively to see if they still fit the current state of affairs.
To achieve those needs we rely on MLFlow but have also integrated that with many of our other systems. So have we written Airflow operators for MLFlow to ease the retraining of our models, have we integrated MLFlow deeply with our CI pipelines and have we integrated it with our model monitoring tooling.
In this talk we will take you through the way we rely on MLFlow and how that enables us to release (sometimes) multiple versions of a model per week in a controlled fashion. With this set-up we are achieving the same benefits and speed as you have with a traditional software CI pipeline.
A stream processing platform is not an island unto itself; it must be connected to all of your existing data systems, applications, and sources. In this talk we will provide different options for integrating systems and applications with Apache Kafka, with a focus on the Kafka Connect framework and the ecosystem of Kafka connectors. We will discuss the intended use cases for Kafka Connect and share our experience and best practices for building large-scale data pipelines using Apache Kafka.
The workshop tells about HBase data model, architecture and schema design principles.
Source code demo:
https://github.com/moisieienko-valerii/hbase-workshop
Dennis Wittekind, Confluent, Senior Customer Success Engineer
Perhaps you have heard of Kafka Connect and think it would be a great fit in your application's architecture, but you like to know how things work before you propose them to your team? Perhaps you know enough Connect to be dangerous, but you haven't had the time to really understand all the moving pieces? This meetup talk is for you! We'll briefly introduce Connect to the uninitiated, and then jump in to underlying concepts and considerations you should make when running Connect in production! We'll even run a live demo! What could go wrong!?
https://www.meetup.com/Saint-Louis-Kafka-meetup-group/events/272687113/
Just because you can, doesn’t mean you should. But in this case, you definitely should! Learn how this one weird trick (Jinja templating) will supercharge your analytics workflows and help you do more, better, faster with SQL.
Productionizing Machine Learning with a Microservices ArchitectureDatabricks
Deploying machine learning models from training to production requires companies to deal with the complexity of moving workloads through different pipelines and re-writing code from scratch.
Modern Machine Learning (ML) represents everything as vectors, from documents, to videos, to user behavior. This representation makes it possible to accurately search, retrieve, rank, and classify different items by similarity and relevance.
Running real-time applications that rely on large numbers of such high dimensional vectors requires a new kind of data infrastructure. In this talk we will discuss the need for such infrastructure, the algorithmic and engineering challenges in working with vector data at scale, and open problems we still have no adequate solutions for.
Time permitting, I will introduce Pinecone as a solution to some of these challenges.
Zipline - A Declarative Feature Engineering FrameworkDatabricks
Zipline is Airbnb’s data management platform specifically designed for ML use cases. Previously, ML practitioners at Airbnb spent roughly 60% of their time on collecting and writing transformations for machine learning tasks.
Presentation given on the 15th July 2021 at the Airflow Summit 2021
Conference website: https://airflowsummit.org/sessions/2021/clearing-airflow-obstructions/
Recording: https://www.crowdcast.io/e/airflowsummit2021/40
Realizing the promise of portability with Apache BeamJ On The Beach
The world of big data involves an ever changing field of players. Much as SQL stands as a lingua franca for declarative data analysis, Apache Beam (incubating) aims to provide a portable standard for expressing robust, out-of-order data processing pipelines in a variety of languages across a variety of platforms.
In this talk, I will:
Cover briefly the capabilities of the Beam model for data processing and integration with IOs, as well as the current state of the Beam ecosystem.
Discuss the benefits Beam provides regarding portability and ease-of-use.
Demo the same Beam pipeline running on multiple runners in multiple deployment scenarios (e.g. Apache Flink on Google Cloud, Apache Spark on AWS, Apache Apex on-premise).
Give a glimpse at some of the challenges Beam aims to address in the future.
Lessons PostgreSQL learned from commercial databases, and didn’tPGConf APAC
This is the ppt used by Illay for his presentation at pgDay Asia 2016 - "Lessons PostgreSQL learned from commercial
databases, and didn’t". The talk takes you through some of the really good things that PostgreSQL has done really well and somethings that PostgreSQL can learn from other databases
Consolidating MLOps at One of Europe’s Biggest AirportsDatabricks
At Schiphol airport we run a lot of mission critical machine learning models in production, ranging from models that predict passenger flow to computer vision models that analyze what is happening around the aircraft. Especially now in times of Covid it is paramount for us to be able to quickly iterate on these models by implementing new features, retraining them to match the new dynamics and above all to monitor them actively to see if they still fit the current state of affairs.
To achieve those needs we rely on MLFlow but have also integrated that with many of our other systems. So have we written Airflow operators for MLFlow to ease the retraining of our models, have we integrated MLFlow deeply with our CI pipelines and have we integrated it with our model monitoring tooling.
In this talk we will take you through the way we rely on MLFlow and how that enables us to release (sometimes) multiple versions of a model per week in a controlled fashion. With this set-up we are achieving the same benefits and speed as you have with a traditional software CI pipeline.
A stream processing platform is not an island unto itself; it must be connected to all of your existing data systems, applications, and sources. In this talk we will provide different options for integrating systems and applications with Apache Kafka, with a focus on the Kafka Connect framework and the ecosystem of Kafka connectors. We will discuss the intended use cases for Kafka Connect and share our experience and best practices for building large-scale data pipelines using Apache Kafka.
The workshop tells about HBase data model, architecture and schema design principles.
Source code demo:
https://github.com/moisieienko-valerii/hbase-workshop
In this presentation, I presented how to build an angular JS Application with SPA in mind and also make sure you use up all the available concepts to create versatile and creative web application with less boilerplate javascript code.
How to Build Single Page HTML5 Apps that ScalePhil Leggetter
Developing large apps is difficult. Ensuring that code is consistent, well structured, tested, maintainable and has an architecture that encourages enhancement is essential. When it comes to large server-focused apps, solutions to this problem have been tried and tested.
But, how do you achieve this when building HTML5 single page apps?
In this talk we’ll cover the signs to watch out for as your HTML5 SPA grows and provide examples of some of the tooling types that can contribute-to as well as ease the growing pains. Finally, we’ll demonstrate how tooling can be used to support a set of conventions, practices and principles that enable a productive developer workflow where the first line of code is feature code, features can be developed in isolation, code conflicts are avoided by grouping assets by feature and features are composed into apps.
The demonstrations will use BladeRunnerJS, an open source developer toolkit written in Java, but the concepts are widely applicable.
Grokking Techtalk #46: Lessons from years hacking and defending Vietnamese banksGrokking VN
Trong những năm gần đây, Việt Nam luôn là một trong những quốc gia có tỉ lệ nhiễm mã độc và hứng chịu các cuộc tấn công mạng thuộc nhóm cao trên thế giới. Bên cạnh đó, mức độ sử dụng máy tính và các thiết bị thông minh tại Việt Nam tăng đột biến do ảnh hưởng của COVID-19, và đây cũng chính là môi trường lý tưởng để virus bùng phát, lây lan mạnh. Điều nay làm dấy lên mối lo ngại về an ninh trên không gian mạng, một vấn đề mà ít người Việt quan tâm đến nhưng lại có tầm quan trọng cao và sức ảnh hưởng lớn.
Chính vì lí do đó, ở số Techtalk #46 này, Grokking Việt Nam xin giới thiệu với các bạn chủ đề “Những bài học về xâm nhập và bảo vệ hệ thống mạng Việt Nam” do anh Dương Ngọc Thái trình bày. Anh Thái hiện đang làm việc tại Google, anh thường được biết đến thông qua blog cá nhân vnhacker@blogspot.
"Từ năm 2016, cùng với vài người bạn, tôi đã xâm nhập vào hệ thống mạng máy tính của nhiều ngân hàng, bệnh viện, startup ở Việt Nam (với sự đồng ý của họ). Đối với các ngân hàng, chúng tôi đã có thể đánh cắp được lượng tiền lớn và nhiều dữ liệu nhạy cảm. Đối với các bệnh viện, chúng tôi đã có thể đánh cắp toàn bộ dữ liệu khách hàng và thậm chí có thể thay đổi hồ sơ bệnh án.
Trong bài nói chuyện này, tôi chia sẻ những gì chúng tôi đã học được, cung cấp thông tin về hiện trạng an ninh mạng ở Việt Nam. Tôi cũng đưa ra một cẩm nang giúp các doanh nghiệp và tổ chức bảo vệ tài sản và dữ liệu, tạo ra những sản phẩm được khách hàng tin tưởng." - Anh Thái chia sẻ về mục đích của bài talk.
Grokking Techtalk #45: First Principles ThinkingGrokking VN
Bạn có từng nghe ai đó nói về First Principles Thinking? Nó là gì và engineers chúng ta có thể sử dụng như thế nào cho công việc của mình?
---
First Principles Thinking là một trong những phương pháp mà chúng ta có thể vận dụng để phân chia những vấn đề phức tạp thành những vấn đề nhỏ và cơ bản hơn có thể giải quyết được, cuối cùng tổng hợp lại thành một giải pháp có thể giải quyết được vấn đề phức tạp ban đầu.
Nối tiếp về chủ đề Problem Solving, trong Techtalk lần này, Grokking Vietnam cùng Gambaru sẽ mang đến cho các bạn thêm một góc nhìn về tư duy giải quyết vấn đề. Chúng ta sẽ cùng gặp gỡ anh Hùng Đoàn - exFacebook và hiện đang là Software Engineer tại Coda và cùng nhau thảo luận sâu hơn về chủ đề First Principles Thinking này nhé.
Nội dung bài talk:
* Analogy thinking
* Breaking a problem space down to its building blocks
* Techniques to arrive at first principles thinking
* Application in Programming
---
Ngôn ngữ: Tiếng Việt
---
Speaker:
- Hùng Đoàn - Software Engineer @ Coda.io, Ex-Facebook SWE
Anh Hùng có nhiều năm kinh nghiệm trong các lĩnh vực thuộc software engineering. Anh từng thi quốc gia tin học quốc tế và đoạt huy chương vào 2007
Grokking Techtalk #42: Engineering challenges on building data platform for M...Grokking VN
Đến với Techtalk #42, các bạn sẽ được chia sẻ về cách thiết kế và hiện thực một platform phục vụ các bài toán về machine learning thông qua một case study về việc phân tích các bình luận của người dùng.
Nội dung chủ đề lần này sẽ xoay quanh một số thách thức trong quá trình xây dựng bao gồm các khó khăn về mặt kỹ thuật và phân tích khi:
+ Cần phải thu thập lượng lớn bình luận của người dùng
+ Tổ chức lưu trữ và xử lý dữ liệu để dễ dàng mở rộng, thuận tiện cho việc giám sát, vận hành
+ Thiết kế các thành phần trong hệ thống đảm báo tính tái sử dụng cao, tránh lãng phí tài nguyên
Ngôn ngữ: Tiếng Việt
---
Speakers:
- Anh Hiền Hoàng - Principal Big Data Engineer & TPP
- Anh Hiếu Hoàng - Data Scientist & TPP
Đối với các hệ thống thương mại điện tử, việc tích hợp với một cổng thanh toán trực tuyến (payment gateway) sẽ là yêu cầu cơ bản nhất, dịch vụ thanh toán này ngoài việc cần phải chính xác, chúng còn phải mang lại trải nghiệm tốt cho người sử dụng, xử lý được những sự cố có thể xảy ra trong quá trình thực hiện và đặc biệt là phải bảo mật. Đây là một bài toán khó về mặt kỹ thuật để có thể thiết kế và xây dựng một cách hiệu quả!
Trong Techtalk #43 này, các bạn tham gia sẽ được chia sẻ về những thành phần của một payment gateway, quá trình xử lý một transaction, cách thức lưu trữ thông tin thanh toán, xử lý hoàn tiền,.. và những vấn đề gặp phải khác khi xây dựng một cổng thanh toán trực tuyến. Chủ đề sẽ đi qua các nội dung sau:
- Payment Domain Knowledge
- Payment Gateway Integration
+ Create Order
+ Check Order Amount (Optional)
+ Browser Redirect
+ Instant Payment Notification (IPN)
+ Payment Query (QueryDR)
- Advance Concept
+ Tokenization
+ Credit Card Authorization/Reversal/Settle
---
Ngôn ngữ: Tiếng Việt
---
Speakers:
- Nguyễn Văn Lợi - Technical Architect @ Vexere
Anh Nguyễn Văn Lợi là một kỹ sư phần mềm với hơn 10 năm kinh nghiệm thực tế từ các công ty có hệ thống lớn trong các mảng VoIP, Ecommerce, Big Data, Logistics. Tại Vexere, anh luôn đề cao tinh thần tự học hỏi, phát triển và chia sẻ để team member liên tục tích lũy kiến thức, kỹ năng, nhằm tăng hiệu quả công việc và mang lại sản phẩm có trải nghiệm tốt nhất cho người dùng
Grokking Techtalk #40: Consistency and Availability tradeoff in database clusterGrokking VN
Những năm gần đây, cùng với sự bùng nổ của các startup cùng các loại công nghệ như máy học, lượng dữ liệu phát sinh cần thu thập và xử lý trong các hệ thống ngày càng tăng cao.
Chính vì vậy, đối với các hệ thống lớn thì việc lưu trữ và xử lý dữ liệu trên một node database đã không đáp ứng được nữa, đòi hỏi phải sử dụng nhiều node kết nối với nhau để hình thành database cluster.
Đối với các database cluster nói riêng và hệ thống Distributed System nói chung, có khá nhiều chủ đề thú vị để đào sâu. Trong buổi thảo luận này, chúng ta sẽ giới hạn trong việc khảo sát về cách ba hệ thống Redis, Elastic Search và Cassandra tổ chức cluster cũng như sự trade-off giữa tính nhất quán (consistency) và khả năng đáp ứng (availability) của ba hệ thống này.
- Speaker: Lộc Võ - Lead Software Engineer @ Grab
Grokking Techtalk #40: AWS’s philosophy on designing MLOps platformGrokking VN
Máy học (Machine learning) đang trở thành một trong những xu hướng lớn nhất trong phát triển hệ thống hiện đại, với khả năng đem đến những hiểu biết chiến lược, các dự đoán & cái nhìn chuyên sâu cho doanh nghiệp. Tuy nhiên, xây dựng & tích hợp 1 hệ thống máy học không phải lúc nào cũng dễ dàng, đặc biệt với những hệ thống lớn & hệ thống phân tán - khi mà các khuôn phép về phát triển máy học còn chưa đạt đến độ phát triển bằng hệ thống phần mềm.
Trong buổi thảo luận này, chúng ta sẽ cùng tìm hiểu cách Amazon Web Services (AWS) đã thiết kế & xây dựng 1 trong những nền tảng MLOps được ứng dụng rộng rãi nhất trên thế giới - Amazon SageMaker.
- Về diễn giả: My Nguyễn hiện là Kiến trúc sư giải pháp tại AWS Việt Nam, chuyên sâu vào hỗ trợ các giải pháp xây dựng hệ thống Máy học.
Grokking Techtalk #39: Gossip protocol and applicationsGrokking VN
Gossip là một giao thức trao đổi thông tin phổ biến trong các hệ thống phân tán giúp cho các máy chủ duy trì trạng thái đồng nhất với nhau cũng như thực hiện các nhiệm vụ có chủ đích. Điểm mạnh của nó là khả năng phát tán thông tin ở tốc độ cao cũng như không hề có single point of failure. Trong bài talk này, Anh Nguyễn Anh Tú, thành viên của Grokking sẽ chia sẻ một số thông tin về giao thức Gossip cũng như điểm qua một vài ứng dụng thực tiễn của nó.
- Về diễn giả: Anh Nguyễn Anh Tú hiện đang là Staff Software Engineer tại Axon Vietnam, đồng thời là thành viên của Grokking Vietnam.
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...Grokking VN
Bài talk chia sẻ về quá trình 2 năm ứng dụng Kafka và Kafka Connect để chuyển đổi mô hình hệ thống của Vexere từ Monolithic thành Microservice, Event Driven:
+ Event driven architecture là gì?
+ Làm thế nào để xây dựng 1 hệ thống event driven architecture một cách hiệu qủa bằng Kafka và Kafka Connect
+ Các use case hữu ích với Kafka & Kafka Connect
+ Kinh nghiệm thực tế và các bài học rút ra
- Về diễn giả: Anh Nguyễn Văn Lợi là một kỹ sư phần mềm với hơn 9 năm kinh nghiệm thực tế từ các công ty có hệ thống lớn trong các mảng VoIP, Ecommerce, Big Data, Logistics. Tại Vexere, anh luôn đề cao tinh thần tự học hỏi, phát triển và chia sẻ để team member liên tục tích lũy kiến thức, kỹ năng, nhằm tăng hiệu quả công việc và mang lại sản phẩm có trải nghiệm tốt nhất cho người dùng.
Grokking Techtalk #38: Escape Analysis in Go compilerGrokking VN
Trong quá trình phân tích hiệu năng, hiểu và nắm vững ngôn ngữ lập trình cũng như cách thiết kế của nó là rất hữu ích. Go là một trong những ngôn ngữ được sử dụng phổ biến trong các hệ thống phân tán có hiệu năng cao. Để hiểu rõ hơn cách mà Go compiler phân tích cách cấp phát bộ nhớ khi biên dịch chương trình, hãy nghe những chia sẻ của anh Cường về Escape Analysis trong Go compiler.
Về diễn giả:
Anh Lê Mạnh Cường là một kĩ sư phần mềm có 8 năm kinh nghiệm chuyên sâu trong backend và Quản trị hệ thống Linux. Là một OSS contributor tích cực, anh Cường đã có nhiều cống hiến vào cộng đồng mã nguồn mở, đặc biệt là Go và ecosystem của Go.
Grokking Techtalk #37: Software design and refactoringGrokking VN
Even though software engineering has been around for decades, there is still no clear ways to assess the strengths and weaknesses of software design.
This talk introduces a framework to assess the strength of any specific software design and steps to refactor and improve it. Both object-oriented and functional programming will be discussed as ways to improve the design.
In the talk, the speaker also proposes a software architecture that incorporates all the ideas presented as the conclusion.
About speaker:
Thành currently works at Holistics Software as Co-founder and Chief Engineer architecting the next generation DataOps driven BI platform.
Before joining Holistics as co-founder, Thanh had 8 years of experience as a software engineer and big-data consultant from multiple companies, notably Revolution Analytics which was acquired by Microsoft in 2015.
Thanh graduated from National University of Singapore in 2009 majoring in Computer Engineering with a minor in Technopreneurship.
- Speaker: Servey Bochenkov - Head of Search @ TIKI
Search là một trong những feature quan trọng nhất đối với các website thương mại điện tử giúp khách hàng có thể dễ dàng tìm kiếm được sản phẩm mà mình mong muốn. Nhưng việc xây dựng một hệ thống search chất lượng nhưng vẫn đảm bảo tối ưu performance, resource sử dụng như RAM, CPU là một thách thức không hề nhỏ.
Đến với TechTalk #35 lần này, anh Sergey Bochenkov - với hơn 7 năm làm việc tại Cốc Cốc, hiện đang là Head of Search @ Tiki - sẽ chia sẻ cho chúng ta những ý tưởng cũng như khó khăn khi xây dựng language model dựa trên dữ liệu sản phẩm và search queries của Tiki cùng những dữ liệu khác được crawl từ các website để xây dựng Tiki spellchecker và autocorrection với một số nội dung nổi bật như:
- Quality optimizations idea
- Performance optimizations problems
- Giúp tăng 3-9% lượng mua hàng.
Speaker: Châu Nguyễn Nhật Thanh - Head of MEP @ ZaloPay
Khi phát triển hệ thống dựa trên kiến trúc monolithic, chúng ta thường gặp phải những khó khăn ảnh hưởng đến tốc độ delivery features, scaling những resources như databases,.. và những rủi ro khi thay đổi, nâng cấp sản phẩm.
Microservice là một trong những lựa chọn phổ biến hiện nay để giải quyết những khó khăn trên kiến trúc monolithic khi hệ thống scale phức tạp hơn, cần tốc độ delivery nhanh hơn, dễ dàng lựa chọn, triển khai nhiều technologies khác nhau cùng lúc,...
Nhưng có phải khi triển khai Microservice là chúng ta có thể tránh được những vấn đề trên?
- Chúng ta thường nghe nói đến việc scale API (compute) bằng cách sử dụng microservice dùng docker on k8s, nhưng làm thế nào để scale databases (storage) tránh SPOF?
- Làm thế nào để triển khai microservice trên hệ thống máy vật lý (on-premise) trên hạ tầng sẵn có?
- Làm thế nào để triển khai CI/CD cho hệ thống một cách hiệu quả?
- Làm sao để tracing/debug khi gặp sự cố?
- Và làm thế nào để monitor hệ thống đã triển khai?
Đến với Grokking TechTalk #34, các bạn sẽ được anh Châu Nguyễn Nhật Thanh - Head of MEP @ ZaloPay - chia sẻ về những kinh nghiệm và những vấn đề cũng như đau thương khi sử dụng microservices cho hệ thống ZaloPay Merchant Platform sử dụng Kubernetes on-premise.
Grokking TechTalk #33: High Concurrency Architecture at TIKIGrokking VN
- Speaker: Nguyễn Hoàng Bách - Senior Principal Engineer @ TIKI
Trải qua 9 năm xây dựng và phát triển hệ thống, đội ngũ engineer TIKI lần lượt phải giải quyết từng bài toán kỹ thuật khó khăn để hệ thống phát triển theo kịp tốc độ tăng trưởng của business. Đặc thù của hệ thống Ecommerce có một thách thức lớn là phải đảm bảo tính chính xác của dữ liệu nhưng đồng thời vẫn phải đáp ứng lượng truy cập lớn. Do đó High Concurrency Architecture có vai trò quan trọng trong kiến trúc tổng thể của TIKI. Nó cũng là bước tiến lớn của các kỹ sư TIKI trong 6 tháng qua.
Design patterns là một đề tài "khó nuốt" với đa số lập trình viên ở buổi đầu tìm hiểu. Lý do là vì design patterns được xây dựng trên những khái niệm trừu tượng cũng như phải tuân thủ các nguyên tắc lập trình hướng đối tượng.
Đến với TechTalk #32: SOLID & Design Patterns, các bạn sẽ được giới thiệu những nguyên tắc cần phải tuân thủ này và cách thức áp dụng những design patterns quen thuộc vào giải quyết các bài toán một các ngắn gọn, xúc tích và hiệu quả thông qua các ví dụ thực tế.
Speaker: Khôi Nguyễn - Senior Software Engineer @ KMS Technology
Trong talk lần này của Grokking, anh Huy sẽ chia sẻ về điểm hay và tác hại của văn hoá chat ở công sở, và đưa ra thêm những lựa chọn khác phù hợp hơn cho từng trường hợp cụ thể. Đối tượng là dành cho các team khi gặp các vấn đề sau:
1. Bạn cảm thấy bỏ rất nhiều thời gian, nhưng lại không làm được gì nhiều vì luôn bị đồng nghiệp nhờ/hỏi khi có công việc gấp
2. Cuối ngày nhìn lại bạn chả nhớ mình làm được gì quan trọng
3. Bạn dành thời gian trao đổi với team rất hăng hái để đưa ra quyết định, nhưng 3 tháng sau lại quên mất tại sao hồi đó quyết định như vậy..
Bài talk sẽ nói về thói quen giao tiếp bất đồng bộ, thói quen ghi lại những gì mình cần nói & cách xây dựng wiki cho team của mình nhằm mục tiêu hạn chế những ảnh hưởng không tốt của việc sử dụng chat.
Speaker: Huy Nguyen - CTO @ Holistics
Grokking TechTalk #30: From App to Ecosystem: Lessons Learned at ScaleGrokking VN
When we were faced with the challenge of going from one to multiple apps, we had to make significant changes to the way we did frontend development. Learn about the tooling and architecture we use to manage a suite of apps, and how you can apply the same principles to your own frontend.
Speaker: Kristian Randall - Frontend Engineering Manager @ Axon
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedInGrokking VN
Bài techtalk của anh Khải Trần nói về hệ thống data pipeline của LinkedIn được dùng để thu thập hàng chục tỷ messages mỗi ngày, và cách họ chạy hệ thống real-time processing để thống kê lượng dữ liệu này cho mục đính metrics monitoring.
1 số điểm bài talk sẽ chia sẻ:
- Giới thiệu về hệ thống unified metrics platform của LinkedIn
- Cách LinkedIn setup hệ thống BigData pipeline dùng Kafka, HDFS, Apache Calcite và Apache Samza.
- Khái niệm nearline storage, và cách LinkedIn chuyển từ offline architecture sang nearline architecture.
Speaker: Khai Tran, Staff Software Engineer - LinkedIn.
- Hiện đang là staff software engineer ở LinkedIn, phụ trách hệ thống metrics monitoring system. Trước đây từng làm ở Amazon AWS và Oracle.
- PhD, University of Wisconsin-Madison, nghiên cứu về Database Systems.
Cây nhị phân tìm kiếm là 1 cấu trúc dữ liệu quen thuộc với chúng ta. Có rất nhiều nghiên cứu và các thuật toán xoay quanh cấu trúc dữ liệu này. Trong talk này, xin giới thiệu một kỹ thuật giúp tối ưu cây nhị phân tìm kiếm dựa trên tần suất tìm kiếm, qua đó giúp giảm chi phí tìm kiếm xuống mức thấp nhất.
- Speaker: Phong Vu - Software Engineer
Grokking TechTalk #26: Kotlin, Understand the MagicGrokking VN
- Discuss and understand how Kotlin's core feature works, compare with its ancestor.
Speaker: Ngô Minh Hiền
- Senior Android Developer
- Android Mobile Team lead @ Wizeline
Grokking TechTalk #26: Compare ios and android platformGrokking VN
- It's quite popular these days for one mobile app to be built in both platform iOS and Android. Despites the fact that the hybrid technology is becoming more popular these days, these hybrid technologies are still built based on the core components of each platform, which is why understanding core components of each platform is a required for building mobile app these days.
- In this talk, I will discuss about the similarities and differences between these two platforms in some aspects: Application life cycles, Views animation mechanism, Security, Push Notification mechanism,...
Speaker: Lộc Võ
- Freelance Mobile Developer
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
6. PRINCIPLES OF DESIGNARCHITECTURE
OOP 1. Encapsulation
2. Inheritance
3. Polymorphism
Real world problem
1. You have autocomplete that display search result in flat list items. You
want to have another one displaying search result in tree
2. You have a normal table. You have to create another component that
display row group, column group
3. You want to override some feature of a component, e.g localize text,
searching algorithm,...
11. THREE-WAY BINDING
Every business code should be put in ViewModel
Focus on business logic than DOM/CSS …
Less code, fewer bugs
Easy to write unit tests as ViewModel only
work with data flow
12. HOW DOES IT WORK?THREE-WAY BINDING
• The main purpose is to left developer work
only with data in server side
• Every single changes will be sent to client
and updated to View automatically
Only data manipulation
13. HOW DOES IT WORK?THREE-WAY BINDING
Can be generated from
server side
Data from server
14. HOW DOES IT WORK?THREE-WAY BINDING
No more DOM manipulation after ajax
FullName displayed
15. HOW DOES IT WORK?THREE-WAY BINDING
No more DOM manipulation after ajax
FullName displayed
18. 5ms – 15ms per request/response without
database access
1KB – 10KB per response
Average time to develop a new screen: 1 - 2
weeks/dev
Derived screens: 30
Derived controls: 10
OOP has saved our lives
SOME NUMBERSTHREE-WAY BINDING
19.
20.
21.
22. SUMMARYHTMLJS
1. 9 times faster than ReactJs, 5 times faster than Angular 2
2. Three-way binding is data binding from client to server side
3. OOP can save our lives
Editor's Notes
3 three years develop Htmljs.
Began from a fun project that I want to know how KnockoutJs works.
I dev the fw fỏ a year and release 1.0.3
HtmlJs is applied into core-ehos project, an enterprise level project. It is used for the whole project to design even a new architecture called three-way binding. The architecture helps us separate Web GUI from business logic, all we need to do is develop components for GUI. Now we even don’t need front end dev in our project.
It is the first Javascript fw of Viet Nam that fully supports OOP, component and MVVM. It is also the fastest MVVM in the world. I'll show the evidence later
- Fluent API
- HTML like
Everything is OOP(Ajax, Pormise, Obsevable)
Everything is OOP(Ajax, Pormise, Obsevable)
Show evedences
HtmlJs:
https://jsfiddle.net/5hwp2q7o/
ReactJs
https://jsfiddle.net/w0m945hs/
AngularJs
https://jsfiddle.net/xkkoxnwm/1/