The document discusses LinkedIn's adoption of the Dust templating language in 2011. Some key points:
- LinkedIn needed a unified view layer as different teams were using different templating technologies like JSP, GSP, ERB.
- They evaluated 26 templating options and selected Dust as it best met their criteria like performance, i18n support, and being logic-less.
- Dust templates are compiled to JavaScript for client-side rendering and to Java for server-side rendering (SSR) through Google's V8 engine, allowing templates to work on both client and server.
- SSR addresses challenges like SEO, supporting clients without JavaScript, and i18n by rendering
The document describes a capstone project to develop a car racing game called "Survival of the Fastest" using Unity and Android Studio. It was created by three students - Ravijot Singh, Koti Reddy, and Sunil Kumar - under the guidance of their lecturer Mr. Makul Mahajan. The game's objective is to survive as long as possible by avoiding obstacles on the track while getting to high scores quickly. The document outlines the various sections and features that will be included in the project such as introduction, existing applications, framework, design, testing, implementation, project legacy, and source code.
This document provides an introduction to ReactJS, including what it is, why people use it, and some basic concepts. It discusses how React is a declarative, efficient JavaScript library for building user interfaces. It also highlights some common use cases for React like building presentations, virtual reality experiences, shopping carts, online editors, and mobile apps. The document then covers prerequisites for learning React and introduces some of the main components that make up the React ecosystem like JSX, Babel, and module bundlers. It concludes with a quick "Hello World" example and outlines further topics to explore like components, state management, and other advanced React patterns.
“Progressive Web Apps (PWAs) are web applications that load like regular web pages or websites but can offer the user functionality such as working offline, push notifications, and device hardware access traditionally available only to native mobile applications. PWAs are an emerging technology that combine the open standards of the web offered by modern browsers to provide benefits of a rich mobile experience”
Presentation covers the concept of hybrid mobile application development as well the examples, A better way to start developing applications for all platform in amount of just one, The future of application development.
The document outlines the components and workings of the LAMP web development stack, including Linux, Apache, MySQL, and PHP. It discusses how Linux provides the base operating system, Apache is the web server, MySQL stores and retrieves data, and PHP is used to manipulate and display information. The document also covers advantages like cost-effectiveness, limitations for transient data loads, and how to secure each component of the LAMP stack.
The document discusses JavaScript and Node.js. It includes quotes about JavaScript's growing use and influence. It also discusses Node.js features like non-blocking I/O and core modules. Key aspects of the Node.js module system and asynchronous code are explained through examples. Common Node.js APIs, utilities, and the ecosystem are briefly outlined.
The Benefits of Using React JS for Web Development!Baharika Sopori
React JS is a popular library for building user interfaces that was created by Facebook in 2011. It allows developers to create reusable components to build dynamic and interactive applications. React uses a virtual DOM for rendering to improve performance and make code more consistent and stable. It also supports code reuse through components that can be built upon and manipulated through their internal logic.
Electron is an open-source framework developed by GitHub. It allows for the development of desktop GUI applications using the popular Node.js runtime. Electron is the main framework behind two notable open-source source code editors: GitHub's Atom and Microsoft's Visual Studio Code.
This document discusses building scalable network applications using Node.js. It begins with an introduction to Node.js, describing it as a software platform built on the Chrome V8 engine for building scalable applications using JavaScript on the server side. It then discusses why to use Node.js, noting that its single-threaded and event-driven model avoids issues with memory usage that can occur in multi-threaded models. The document proceeds to explain event loops and non-blocking I/O in Node.js. It then provides an example of building a simple web server with Node.js. Finally, it introduces Express.js and provides an overview of how to structure an Express application using MVC patterns with models, views,
This document provides a technical and financial proposal for a web-based construction project monitoring application for LGED-DANIDA. It outlines Optimal IT Limited's expertise and proposes an 8 module system including project management, document management, data transfer, and Google Earth integration. The proposal estimates the cost and timeline, with payment terms, to develop the application using technologies like PHP, MySQL, and Google Maps API. It introduces Optimal IT as an experienced software development company ready to complete the project on schedule and within budget.
This document summarizes an 8-week online training in web development from Internshala that took place from May 14th to July 14th. It covered topics like front-end development using HTML, CSS, and Bootstrap, back-end development using SQL and PHP, and the trainee's final project of building a Spotify clone using HTML, CSS, and JavaScript. The trainee concluded that the training provided valuable technical skills and personal benefits, and that web development is a field with growing job opportunities.
How to Use Your Product Roadmap as a Communication ToolJanna Bastow
Find out how making this one small change at your company can completely shift the way you communicate with your customers for the better.
In this webinar, ProdPad co-founder Janna Bastow will talk about how companies have successfully gone public with their product roadmaps - and share exactly what steps you’ll need to take to launch yours.
You’ll see two dramatic changes when you open the door to your product roadmap to your customers:
- Your customers will know your product vision and your priorities as a company
- Your support team will be able to confidently take customer feedback and answer questions about feature requests.
Even among companies that claim to be committed to transparency, product roadmaps have generally been shrouded in secrecy - the result of a fear of backing out on commitments or missing release dates.
The reality is that companies that share their roadmaps are able to set practical expectations with their customers, communicate priorities and the future of their products clearly and retain their strongest customers.
This document introduces ReactJS, a JavaScript library for building user interfaces. It discusses key React concepts like the virtual DOM, which is a JavaScript representation of real DOM elements that allows React to efficiently update the real DOM by comparing it to a new virtual DOM. It also covers one-way data binding in React, where data flows from parent to child components through props, while events flow in the opposite direction. Finally, it emphasizes that in React, everything is a component, and components manage their own state and receive immutable props from parent components.
This project report describes the development of a computer game zone called "Mind Game Zone". It includes 5 games: digital trainer simulator, snake man, snake & ladder, battle pong, and tic tac toe. The report discusses the purpose, scope, technologies used, and system requirements of the project. It provides descriptions of each game and includes entity relationship diagrams, class diagrams, and data flow diagrams to model the system. The project management section discusses the incremental software process model, democratic decentralized team structure, and plans for risk management and project scheduling.
This document introduces various concepts of web development including different platforms like desktop and mobile, frontend and backend development, HTML, CSS, JavaScript, frameworks like React and Angular, libraries like jQuery, and best practices. It covers the basics of HTML as the markup language, CSS for styling, JavaScript for behavior, and how frameworks like React are used. Popular IDEs like VS Code and resources for learning are also mentioned.
The document outlines the 11 phases of a web developer's career, including learning HTML, CSS, JavaScript, PHP, MySQL and frameworks like jQuery, AngularJS, and Laravel. It provides recommended resources for learning each technology, such as Codecademy for HTML and CSS and Tutsplus for PHP. Tools like text editors, web browsers, and development environments like XAMPP are also listed.
JSFest 2019: Technology agnostic microservices at SPA frontendVlad Fedosov
We'll go through the possible ways to bring technology agnostic microservice architecture to the frontend, review pros/cons of each of them. We also will check the "ultimate solution" that handles microservices with SSR in SPA manner.
This talk will be interesting for ones who have multiple teams working on the same frontend application.
We'll go through the possible ways to bring technology agnostic microservice architecture to the frontend, review pros/cons of each of them. We also will check the "ultimate solution" that handles microservices with SSR in SPA manner.
This talk will be interesting for ones who have multiple teams working on the same frontend application.
90-minute October 2015 Los Angeles CTO Forum presentation on AngularJS, other JavaScript frameworks including ReactJS, and the state of web development in 2015.
Topics covered:
- State of web development in 2015
- AngularJS code examples
- Analysis of JavaScript MVC frameworks suitable for 2015-2019 development
- AngularJS pros/cons
- ReactJS
- Hybrid mobile apps
Angular (v2 and up) - Morning to understand - LinagoraLINAGORA
Slides of the talk about Angular, at the "Matinée Pour Comprendre" organized by Linagora the 22/03/17.
Discover what's new in Angular, why is it more than just a framework (platform) and how to manage your data with RxJs and Redux.
Company Visitor Management System Report.docxfantabulous2024
The document provides an overview of a Company Visitor Management System project. It includes sections on the project introduction, modules, requirements, analysis and design, database tables, implementation, evaluation, and conclusion. The system is a web-based application built with Python, Django, and MySQL to more effectively manage and track company visitors through features like adding visitors, generating reports, and password recovery/management. UML diagrams including use cases, classes, entities, and data flow are included to visualize the system design.
This document provides an overview of server-side JavaScript using Node.js in 3 sentences or less:
Node.js allows for the development of server-side applications using JavaScript and non-blocking I/O. It introduces some theory around event loops and asynchronous programming in JavaScript. The document includes examples of building HTTP and TCP servers in Node.js and connecting to MongoDB, as well as when Node.js may and may not be suitable.
What are the basic key points to focus on while learning Full-stack web devel...kzayra69
Mastering full-stack web development with Django involves Python fundamentals, HTML/CSS/JavaScript, Django basics, database management, and deployment, with Django's template language simplifying dynamic content rendering and promoting code maintainability.
Frontend APIs powering fast paced product iterationsKarthik Ramgopal
LinkedIn evolved their frontend APIs over two years to improve developer velocity and scale. They moved to a single flagship API using strongly typed schemas. New view template APIs allow rendering notifications across clients without code changes. TextViewModels and ImageViewModels standardize entity mentions to maintain backward compatibility while improving performance. These changes reduced code size by 80% and increased feature velocity over 3x.
This document discusses how to avoid getting lost in the current JavaScript landscape. It begins by looking at modern web development trends like HTML5, CSS3, ES6, and expectations of fast page loads. It then examines traditional page lifecycles versus single page applications and various JavaScript frameworks. The document advocates for progressive enhancement and outlines strategies like "Hijax" and using the HTML5 History API to improve traditional approaches. It also discusses issues like code duplication, the benefits of isomorphic JavaScript, and tools for frontend development including Grunt, Gulp, asset bundlers, and test runners. It concludes by providing recommendations on technologies to adopt, consider, or stop using to develop with a progressive enhancement approach.
Developing high performance and responsive web apps using web workerSuresh Patidar
A brief talk on web application performance and responsiveness. Why it is important and how web worker can help achieve it. It also covers a simple example implementing web workers.
GWT - Building Rich Internet Applications Using OO Toolsbarciszewski
Google Web Toolkit (GWT) allows developers to build rich web applications using Java instead of JavaScript. It compiles Java code into optimized JavaScript and HTML that runs across browsers. GWT provides widgets, remote procedure calls, internationalization and other tools. It allows code reuse on both the client-side and server-side. While the compile can be slow, GWT offers advantages like full Java tooling, one codebase, and optimized browser code. The speaker demonstrates a sample GWT application and discusses how StudyBlue uses it.
Introduction to web development🌐: HTML, CSS, and JavaScript
Problems with traditional approaches to web development 🤔
Introduction to ReactJS ⚛️: What is React, and why use it for modern web development?
Building a simple web application with React🧑🏻💻👩🏻💻
Node.js is a server-side JavaScript environment that allows building scalable network applications. It uses Google Chrome's V8 JavaScript engine and runs on a single thread without blocking I/O operations. Node.js is optimized for non-blocking event-driven operations and has a large ecosystem of reusable modules. Some common uses of Node.js include real-time web applications, REST APIs, streaming data applications, and networking servers.
This document discusses web application architecture and frameworks. It argues that frameworks should not dictate project structure, and that the code should separate domain logic from infrastructure logic. This allows focusing on the core problem domain without concerning itself with technical details like databases or web requests. It also advocates splitting code into ports that define intentions like persistence, and adapters that provide framework-specific implementations, allowing for independence of the domain logic from any particular framework or technology. This architecture, known as hexagonal or ports and adapters, facilitates testing, replacement of parts, and future-proofing of the application.
Viktor Turskyi "Effective NodeJS Application Development"Fwdays
For 15 years in development, I managed to take part in the creation of a large number of various projects. I have already made a number of talks on the working architecture of Web applications, but this is only part of the efficient development puzzle. We will consider the whole process from the start of the project to its launch in production. I’ll tell you how we approach the ideas of the “12 Factor App”, how we use the docker, discuss environment deployment issues, security issues, testing issues, discuss the nuances of SDLC and much more.
AngularJS is an open source JavaScript framework maintained by Google and the community. It aims to make developing simple single-page applications easier by extending HTML. The framework guides developers to decouple DOM manipulation from application logic and client/server code. It promotes declarative programming and two-way data binding between views and models. While powerful for CRUD apps, it takes longer to fully learn and provides less flexibility than some alternatives. Overall, AngularJS is well-designed for quickly building quality dynamic web applications, especially those following its model-view conventions.
This document provides an overview and comparison of Angular and React frameworks from the perspective of an experienced AngularJS and React developer. Key points of comparison addressed include React being more lightweight and modular while Angular provides more out-of-the-box functionality. Performance benchmarks generally show React as faster while Angular's testing and routing capabilities are more robust. The document avoids making definitive conclusions and emphasizes choosing based on individual needs and preferences.
Cloud adoption fails - 5 ways deployments go wrong and 5 solutionsYevgeniy Brikman
"All happy cloud deployments are alike; each unhappy cloud deployment is unhappy in its own way." — Leo Tolstoy, Site Reliability Engineer
At Gruntwork, I've had the chance to see the cloud adoption journeys of hundreds of companies, from tiny startups to Fortune 50 giants. I've seen those journeys go well. I've seen those journeys go poorly. In this talk, I discuss a few of the ways cloud adoption can go horribly wrong (massive cost overruns, endless death marches, security disasters), and more importantly, how you can get it right.
To help you get it right, we looked at the cloud journeys that were successful and extracted from them the patterns they had in common. We distilled all this experience down into something called the Gruntwork Production Framework, which defines five concrete steps you can follow to adopt the cloud at your own company—and hopefully, to end up with your very own happy cloud deployment.
How to test infrastructure code: automated testing for Terraform, Kubernetes,...Yevgeniy Brikman
This talk is a step-by-step, live-coding class on how to write automated tests for infrastructure code, including the code you write for use with tools such as Terraform, Kubernetes, Docker, and Packer. Topics covered include unit tests, integration tests, end-to-end tests, test parallelism, retries, error handling, static analysis, and more.
Lessons learned from writing over 300,000 lines of infrastructure codeYevgeniy Brikman
This talk is a concise masterclass on how to write infrastructure code. I share key lessons from the “Infrastructure Cookbook” we developed at Gruntwork while creating and maintaining a library of over 300,000 lines of infrastructure code that’s used in production by hundreds of companies. Come and hear our war stories, laugh about all the mistakes we’ve made along the way, and learn what Terraform, Packer, Docker, and Go look like in the wild.
A brief overview of what we do at Gruntwork. Learn what we mean by "DevOps as a Service" and how you can get your entire infrastructure, defined as code, in about a day. https://www.gruntwork.io/
Listen up, developers. You are not special. Your infrastructure is not a beautiful and unique snowflake. You have the same tech debt as everyone else. This is a talk about a better way to build and manage infrastructure: Terraform Modules. It goes over how to build infrastructure as code, package that code into reusable modules, design clean and flexible APIs for those modules, write automated tests for the modules, and combine multiple modules into an end-to-end techs tack in minutes.
You can find the video here: https://www.youtube.com/watch?v=LVgP63BkhKQ
The Truth About Startups: What I wish someone had told me about entrepreneurs...Yevgeniy Brikman
This is the talk I gave at MIT's Martin Center for Entrepreneurship. It's a talk I wish someone gave me when I was in college to help me think about the role of entrepreneurship and startups in my career.
You can find the video of the talk here: https://www.youtube.com/watch?v=Rus32iR_Ag0
This talk is a very quick intro to Docker, Terraform, and Amazon's EC2 Container Service (ECS). In just 15 minutes, you'll see how to take two apps (a Rails frontend and a Sinatra backend), package them as Docker containers, run them using Amazon ECS, and to define all of the infrastructure-as-code using Terraform.
A comprehensive walkthrough of how to manage infrastructure-as-code using Terraform. This presentation includes an introduction to Terraform, a discussion of how to manage Terraform state, how to use Terraform modules, an overview of best practices (e.g. isolation, versioning, loops, if-statements), and a list of gotchas to look out for.
For a written and more in-depth version of this presentation, check out the "Comprehensive Guide to Terraform" blog post series: https://blog.gruntwork.io/a-comprehensive-guide-to-terraform-b3d32832baca
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Yevgeniy Brikman
This is a talk about managing your software and infrastructure-as-code that walks through a real-world example of deploying microservices on AWS using Docker, Terraform, and ECS.
To go faster in a car, you need not only a powerful engine, but also safety mechanisms like brakes, air bags, and seat belts. This is a talk about the safety mechanisms that allow you to build software faster. It's based on the book "Hello, Startup" (http://www.hello-startup.net/). You can find the video of the talk here: https://www.youtube.com/watch?v=4fKm6ImKml8
Every startup begins with an idea. This is a talk on how to come up with startup ideas and how to use validation to pick the ones worth working on. It's based on the book "Hello, Startup" (http://www.hello-startup.net/). You can find the video of the talk here: https://www.youtube.com/watch?v=GkmiE8d_5Pw
A guide to hiring based on my book, "Hello, Startup". Learn who to hire, where to find them, how to interview them, and how to make an offer they can't refuse.
Recording: https://www.youtube.com/watch?v=jaSmYLymc0U
Book: http://www.hello-startup.net
This is an excerpt from my talk "Startup DNA" (http://www.slideshare.net/brikis98/startup-dna) that just focuses on the "Speed Wins" concept. For more info, check out my book "Hello, Startup: A Programmer's Guide to Building Products, Technologies, and Teams" at http://www.hello-startup.net.
Node.js vs Play Framework (with Japanese subtitles)Yevgeniy Brikman
Video: http://www.nicovideo.jp/watch/1410857293
Here's the showdown you've been waiting for: Node.js vs Play Framework. Both are popular open source web frameworks that are built for developer productivity, asynchronous I/O, and the real time web. But which one is easier to learn, test, deploy, debug, and scale? Should you pick Javascript or Scala? The Google v8 engine or the JVM? NPM or Ivy? Grunt or SBT? Two frameworks enter, one framework leaves.
This version of the presentation has Japanese subtitles. For the English only version, see http://www.slideshare.net/brikis98/nodejs-vs-play-framework
Video: https://www.youtube.com/watch?v=b6yLwvNSDck
Here's the showdown you've been waiting for: Node.js vs Play Framework. Both are popular open source web frameworks that are built for developer productivity, asynchronous I/O, and the real time web. But which one is easier to learn, test, deploy, debug, and scale? Should you pick Javascript or Scala? The Google v8 engine or the JVM? NPM or Ivy? Grunt or SBT? Two frameworks enter, one framework leaves.
This is the English version of the presentation. For the version with Japanese subtitles, see http://www.slideshare.net/brikis98/nodejs-vs-play-framework-with-japanese-subtitles
This document discusses rapid prototyping techniques for quickly building products from ideas. Rapid prototyping allows developers to build products faster through instant feedback on code changes and leveraging existing open source libraries. It is suggested that dynamic languages, interactive development environments, and pushing code to the browser can provide very fast feedback. While prototypes may be thrown away, the rapid trial and error process of prototyping can lead to higher quality products and better engineers through continuously improving ideas.
Web pages can get very complex and slow. In this talk, I share how we solve some of these problems at LinkedIn by leveraging composition and streaming in the Play Framework. This was my keynote for Ping Conference 2014 ( http://www.ping-conf.com/ ): the video is on ustream ( http://www.ustream.tv/recorded/42801129 ) and the sample code is on github ( https://github.com/brikis98/ping-play ).
This document discusses asynchronous I/O in Java and Scala using the Play Framework. It describes how LinkedIn uses a service-oriented architecture with hundreds of services making requests to each other. It then covers how Play supports non-blocking I/O using asynchronous code, promises, and futures to allow parallel requests without blocking threads. Key points covered include using map and flatMap to transform promises and futures, handling errors and timeouts, and the benefits of non-blocking I/O for scalability.
Video of the presentation: http://www.youtube.com/watch?v=8z3h4Uv9YbE
At LinkedIn, we have started to use the Play Framework to build front-end and back-end services at massive scale. Play does things a little differently: it's a Java and Scala web framework, but it doesn't follow the servlet spec; it's fairly new, but it runs on top of robust technologies like Akka and Netty; it uses a thread pool, but it's built for non-blocking I/O and reactive programming; most importantly, it's high performance, but also high productivity. We've found that the Play Framework is one of the few frameworks that is able to maintain the delicate balance of performance, reliability, and developer productivity. In the Java and Scala world, nothing even comes close. In this talk, I'll share what we've learned so far, including details of rapid iteration with Java and Scala, the story behind async I/O on the JVM, support for real time web apps (comet, WebSockets), and integrating Play into a large existing codebase.
Types of Weaving loom machine & it's technologyldtexsolbl
Welcome to the presentation on the types of weaving loom machines, brought to you by LD Texsol, a leading manufacturer of electronic Jacquard machines. Weaving looms are pivotal in textile production, enabling the interlacing of warp and weft threads to create diverse fabrics. Our exploration begins with traditional handlooms, which have been in use since ancient times, preserving artisanal craftsmanship. We then move to frame and pit looms, simple yet effective tools for small-scale and traditional weaving.
Advancing to modern industrial applications, we discuss power looms, the backbone of high-speed textile manufacturing. These looms, integral to LD Texsol's product range, offer unmatched productivity and consistent quality, essential for large-scale apparel, home textiles, and technical fabrics. Rapier looms, another modern marvel, use rapier rods for versatile and rapid weaving of complex patterns.
Next, we explore air and water jet looms, known for their efficiency in lightweight fabric production. LD Texsol's state-of-the-art electronic Jacquard machines exemplify technological advancements, enabling intricate designs and patterns with precision control. Lastly, we examine dobby looms, ideal for medium-complexity patterns and versatile fabric production.
This presentation will deepen your understanding of weaving looms, their applications, and the innovations LD Texsol brings to the textile industry. Join us as we weave through the history, technology, and future of textile production. Visit our website www.ldtexsol.com for more information.
Discovery Series - Zero to Hero - Task Mining Session 1DianaGray10
This session is focused on providing you with an introduction to task mining. We will go over different types of task mining and provide you with a real-world demo on each type of task mining in detail.
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...alexjohnson7307
In recent years, the integration of artificial intelligence (AI) in various sectors has revolutionized traditional practices, and healthcare is no exception. AI agents for healthcare have emerged as powerful tools, enhancing the efficiency, accuracy, and accessibility of medical services. This article explores the multifaceted role of AI agents in healthcare, shedding light on their applications, benefits, and the future they herald.
Improving Learning Content Efficiency with Reusable Learning ContentEnterprise Knowledge
Enterprise Knowledge’s Emily Crockett, Content Engineering Consultant, presented “Improve Learning Content Efficiency with Reusable Learning Content” at the Learning Ideas conference on June 13th, 2024.
This presentation explored the basics of reusable learning content, including the types of reuse and the key benefits of reuse such as improved content maintenance efficiency, reduced organizational risk, and scalable differentiated instruction & personalization. After this primer on reuse, Crockett laid out the basic steps to start building reusable learning content alongside a real-life example and the technology stack needed to support dynamic content. Key objectives included:
- Be able to explain the difference between reusable learning content and duplicate content
- Explore how a well-designed learning content model can reduce duplicate content and improve your team’s efficiency
- Identify key tasks and steps in creating a learning content model
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesSAI KAILASH R
Explore the advantages and disadvantages of blockchain technology in this comprehensive SlideShare presentation. Blockchain, the backbone of cryptocurrencies like Bitcoin, is revolutionizing various industries by offering enhanced security, transparency, and efficiency. However, it also comes with challenges such as scalability issues and energy consumption. This presentation provides an in-depth analysis of the key benefits and drawbacks of blockchain, helping you understand its potential impact on the future of technology and business.
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...alexjohnson7307
Generative AI stands apart from traditional AI systems by its ability to autonomously produce content such as images, text, music, and more. Unlike other AI approaches that rely on supervised learning from labeled datasets, generative AI employs techniques like neural networks and deep learning to generate entirely new data based on patterns and examples it has been trained on. This ability to create rather than just analyze data opens up a plethora of applications across industries, making it a cornerstone of innovation in today’s AI landscape.
kk vathada _digital transformation frameworks_2024.pdfKIRAN KV
I'm excited to share my latest presentation on digital transformation frameworks from industry leaders like PwC, Cognizant, Gartner, McKinsey, Capgemini, MIT, and DXO. These frameworks are crucial for driving innovation and success in today's digital age. Whether you're a consultant, director, or head of digital transformation, these insights are tailored to help you lead your organization to new heights.
🔍 Featured Frameworks:
PwC's Framework: Grounded in Industry 4.0 with a focus on data and analytics, and digitizing product and service offerings.
Cognizant's Framework: Enhancing customer experience, incorporating new pricing models, and leveraging customer insights.
Gartner's Framework: Emphasizing shared understanding, leadership, and support teams for digital excellence.
McKinsey's 4D Framework: Discover, Design, Deliver, and De-risk to navigate digital change effectively.
Capgemini's Framework: Focus on customer experience, operational excellence, and business model innovation.
MIT’s Framework: Customer experience, operational processes, business models, digital capabilities, and leadership culture.
DXO's Framework: Business model innovation, digital customer experience, and digital organization & process transformation.
The History of Embeddings & Multimodal EmbeddingsZilliz
Frank Liu will walk through the history of embeddings and how we got to the cool embedding models used today. He'll end with a demo on how multimodal RAG is used.
It's your unstructured data: How to get your GenAI app to production (and spe...Zilliz
So you've successfully built a GenAI app POC for your company -- now comes the hard part: bringing it to production. Aparavi addresses the challenges of AI projects while addressing data privacy and PII. Our Service for RAG helps AI developers and data scientists to scale their app to 1000s to millions of users using corporate unstructured data. Aparavi’s AI Data Loader cleans, prepares and then loads only the relevant unstructured data for each AI project/app, enabling you to operationalize the creation of GenAI apps easily and accurately while giving you the time to focus on what you really want to do - building a great AI application with useful and relevant context. All within your environment and never having to share private corporate data with anyone - not even Aparavi.
Keynote : AI & Future Of Offensive SecurityPriyanka Aash
In the presentation, the focus is on the transformative impact of artificial intelligence (AI) in cybersecurity, particularly in the context of malware generation and adversarial attacks. AI promises to revolutionize the field by enabling scalable solutions to historically challenging problems such as continuous threat simulation, autonomous attack path generation, and the creation of sophisticated attack payloads. The discussions underscore how AI-powered tools like AI-based penetration testing can outpace traditional methods, enhancing security posture by efficiently identifying and mitigating vulnerabilities across complex attack surfaces. The use of AI in red teaming further amplifies these capabilities, allowing organizations to validate security controls effectively against diverse adversarial scenarios. These advancements not only streamline testing processes but also bolster defense strategies, ensuring readiness against evolving cyber threats.
Communications Mining Series - Zero to Hero - Session 3DianaGray10
This is a continuation to previous session focused on Model usage and adapting for Analytics and Automation usecases. We will understand how to use the Model for automation usecase with a demo.
• Model Usage and Maintenance
• Analytics Vs Automation Usecases
• Demo of Model usage
• Q/A
7. About me
Presentation Infrastructure Team
(also Hackdays, [in]cubator, Engineering Blog, Open Source)
8. Outline
1. A little LinkedIn history
2. A new direction: client side rendering
3. Picking a templating technology
4. Take dust for a spin
5. Challenges: SEO, i18n, logic
6. The Future
9. Outline
1. A little LinkedIn history
2. A new direction: client side rendering
3. Picking a templating technology
4. Take dust for a spin
5. Challenges: SEO, i18n, logic
6. The Future
11. LinkedIn in 2010
New web frameworks to boost productivity:
Grails/GSPs, JRuby/ERBs, plus others
12. Fragmentation
● Each tech stack used a different templating
technology (JSP, GSP, ERB, etc)
● No easy way to share UI code for common
components (e.g. profile, the feed)
● The "global" nav had to be rewritten in
multiple languages/technologies. Updating it
was very time consuming.
14. Outline
1. A little LinkedIn history
2. A new direction: client side rendering
3. Picking a templating technology
4. Take dust for a spin
5. Challenges: SEO, i18n, logic
6. The Future
16. Traditional server side rendering
All page content is rendered as HTML and sent to the browser
17. Client side rendering (simplified)
Server sends JSON. The template is fetched from the CDN and
rendered in browser.
18. Client side rendering (full)
Server sends JSON embedded in an HTML skeleton. The skeleton
has JavaScript code that fetches and renders the template.
19. Client side MVC
Client side MVC makes client side rendering even more important.
20. Client side rendering (with MVC)
Once a page has loaded, the client side MVC takes over, fetching
JSON from the server and rendering it with client side templates
21. Client side rendering benefits
● DRY: works with any server side stack plus
client side
● Performance: bandwidth, latency, caching
● Productivity: fast iteration, mock JSON
● Rich apps: client side MVC
22. Outline
1. A little LinkedIn history
2. A new direction: client side rendering
3. Picking a templating technology
4. Take dust for a spin
5. Challenges: SEO, i18n, logic
6. The Future
23. Decisions, decisions
We evaluated 26 different options. They tended to fall into one of
two groups: Embedded JavaScript and Logic Less.
24. Embedded JavaScript Templates
<ul>
<% for(var i = 0; i < supplies.length; i ++) { %>
<li><%= supplies[i] %> </li>
<% } %>
</ul>
Normal JavaScript code directly in the template.
29. The rules
● Produce this HTML output
● Use this profile JSON as input
● The same template should render on the server-side
and client-side
● Properly handle profile data display rules
● Format numbers and dates correctly
30. The criteria
● DRY
● i18n
● Hot reload
● Performance
● Ramp-up time
● Ramped-up productivity
● Server/client support
● Community
● Library agnostic
● Testable
● Debuggable
● Editor support
● Maturity
● Documentation
● Code documentation
33. Google Closure Templates
Pros
● Templates are compiled into JavaScript for client-side and Java for server-
side.
● Good built-in functionality: loops, conditionals, partials, i18n.
● Documentation is enforced by the template.
Cons
● Very little usage outside of Google. No plans to push new versions or
accept new contributions.
● Some functionality is missing, such as being able to loop over maps.
● Not DRY: adding new functionality requires implementing plugins in both
Java and JavaScript.
34. Mustache
Pros
● Very popular choice with a large, active community.
● Server side support in many languages, including Java.
● Logic-less templates do a great job of forcing you to separate presentation
from logic.
● Clean syntax leads to templates that are easy to build, read, and maintain.
Cons
● A little too logic-less: basic tasks (e.g. label alternate rows with different
CSS classes) are difficult.
● View logic is often pushed back to the server or implemented as a
"lambda" (callable function).
● For lambdas to work on client and server, you must write them in
JavaScript.
● Slow, interpreted templates
35. Handlebars
Pros
● Logic-less templates do a great job of forcing you to separate presentation
from logic.
● Clean syntax leads to templates that are easy to build, read, and maintain.
● Compiled rather than interpreted templates.
● Better support for paths than mustache (ie, reaching deep into a context
object).
● Better support for global helpers than mustache.
Cons
● Requires server-side JavaScript to render on the server.
36. Dust.js
Pros
● Logic-less templates do a great job of forcing you to separate presentation
from logic.
● Clean syntax leads to templates that are easy to build, read, and maintain.
● Compiled rather than interpreted templates.
● Better support for paths than mustache (ie, reaching deep into a context
object).
● Better support for global helpers than mustache.
● Inline parameters.
● Blocks & inline partials.
● Overriding contexts.
● Support for asynchronous rendering and streaming.
● Composable templates.
Cons
● Requires server-side JavaScript to render on the server.
● Maintainer of github repo is not responsive.
39. Takeaways
● Based on how we weighed our criteria, Dust
fit our needs the best
● Use real use cases and identify the most
important criteria to you
● For non-trivial views, no templating option
works on client and server, unless your
server executes JavaScript (v8, Rhino)
40. Outline
1. A little LinkedIn history
2. A new direction: client side rendering
3. Picking a templating technology
4. Take dust for a spin
5. Challenges: SEO, i18n, logic
6. The Future
41. The LinkedIn Fork
● The original maintainer abandoned dust
● The LinkedIn fork is now the most active
● We've added bug fixes, perf improvements,
and helpers
42. Try it out
● Homepage:
http://linkedin.github.com/dustjs/
● Try it in the browser: http://linkedin.github.
com/dustjs/test/test.html
● Source code: https://github.
com/linkedin/dustjs
44. Outline
1. A little LinkedIn history
2. A new direction: client side rendering
3. Picking a templating technology
4. Take dust for a spin
5. Challenges: SEO, i18n, logic
6. The Future
49. Helpers to the rescue: @eq, @ne
{@eq key="foo" value="foo"}The key and value are equal!{/ eq}
{@ne key="foo" value="bar"}The key and value are not equal!{/ ne}
50. Helpers to the rescue: @gt, @lt
{@gt key="22" value="3"}22 is greater than 3{/ gt}
{@lt key="0" value="500"}0 is less than 500{/ lt}
51. Helpers to the rescue: @select
{@select key=age}
{@eq value="1"}Baby{/eq}
{@lt value="10"}Child{/lt}
{@lt value="18"}Teen{/lt}
{@default}Adult{/default}
{/select}
52. Helpers to the rescue: @size, @math
You have {@ size key=list/} new messages
{@math key="16" method="add" operand="4"/}
53. Full library of helpers is available at:
https://github.com/linkedin/dustjs-helpers
54. How do we handled clients without
JavaScript? What about SEO?
55. SSR: Server Side Rendering
● Google V8 engine
● A plugin for Apache Traffic Server
● Executes arbitrary JavaScript server side,
including rendering dust templates
● Often nicknamed Unified Server Side
Rendering... aka, USSR
56. Client side rendering (full, SSR)
The HTML Skeleton is written in dust. SSR renders it as HTML.
57. SSR uses
● Render dust skeleton into HTML skeleton
● Render everything server side for:
○ Crawlers/bots/search engines
○ Clients without JavaScript
○ Slow clients (IE < 8)
● Logic less templates help ensure that
everything renders correctly server-side. No
DOM dependencies!
59. Server side templates
<p>
<a href="${url.link( 'home-page' }">$!{i18n('hello-world' )}</a>
</p>
In JSPs, Java libraries did i18n, text formatting, URL generation
60. Sending an entire i18n dictionary,
URL dictionary, and all formatting
code to the browser is expensive
61. Option #1: everything server side
Java controller
json.put("name", "Jim");
json.put("home-page-link" , Url.link("home-page" ));
json.put("hello-world-text" , I18n.get("hello-world" ));
render("profile-page" , json);
profile-page dust template
<p>
<a href="{home-page-link} ">{hello-world-text} </a>
</p>
All i18n, text formatting, and URL generation is done server side
and added to the JSON payload
62. Option #1: everything server side
Pros
● Simple, easy to understand
● Clean templates
Cons
● Controller code cluttered with view logic
63. Option #2: dynamic pre-processing
Original profile-page dust template
<p>
<a href="{@pre.link key="home-page"}
">{@pre.i18n key="hello-world"}
</a>
</p>
Pre-processed profile-page dust template
<p>
<a href="{link-123}">{i18n-456}</a>
</p>
Step 1: the @pre helper tags get replaced at build time with
references to unique keys in the JSON
64. Option #2: dynamic pre-processing
Java controller
json.put("name", "Jim");
render("profile-page" , json);
Pre-processed JSON
{
"name": "Jim",
"link-123" : "http://www.linkedin.com" ,
"i18n-456" : "Hello World"
}
Step 2: whenever profile-page is rendered, automatically
"enhance" the JSON with the requested i18n and URL values
65. Option #2: dynamic pre-processing
Pros
● All view logic is in the templates
● Clean server side code
Cons
● Complicated, hard to debug
● Tight coupling: need special server and build
logic to use templates
● Performance: increased JSON payload
and/or more server processing time
66. Option #3: static pre-processing
Original profile-page dust template
<p>
<a href="{home-page-link}">{@i18n}Hello World{/i18n}</a>
</p>
Pre-processed profile-page dust template (one per language)
<p>
<a href="{home-page-link}">Hello World</a>
</p>
<p>
<a href="{home-page-link}">Bonjour monde</a>
</p>
Generate one template per language with translated text already
filled in. Link generation and formatting still happen server-side.
67. Option #3: static pre-processing
Pros
● Hybrid approach: i18n is in the templates,
only formatting/link generation is in controller
● Simpler, easier to debug than dynamic pre-
processing
Cons
● Custom build process
● Increased template payload, but i18n strings
now cached with template
68. Outline
1. A little LinkedIn history
2. A new direction: client side rendering
3. Picking a templating technology
4. Take dust for a spin
5. Challenges: SEO, i18n, logic
6. The Future
69. LinkedIn in 2013
We now many services using client side rendering and
many using server-side rendering
72. Fizzy
Fizzy is an ATS plugin that reads the HTML (skeleton or
full) returned by webapps
73. Fizzy
<html>
<body>
<h1>Composable UI </h1>
<script type="fs/embed" fs-uri="/news-feed/top" ></script>
<script type="fs/embed" fs-uri="/pymk"></script>
<script type="fs/embed" fs-uri="/ad"></script>
</body>
</html>
If Fizzy finds an fs/embed in the HTML, it calls the URI and injects
the response into the page.
74. Fizzy
HTML skeleton
Embed
Embed
Embed
A page now consists of a skeleton with a bunch of Fizzy-
processed embeds.
77. Typical page
HTML Skeleton
Dust
template
Dust template
Dust
The fold template
Dust template Dust
template
Dust template
On initial page load, the user doesn't see anything below the fold
78. Typical page
HTML Skeleton
Dust
template
Dust template
Dust
The fold template
Dust template Dust
template
No need
to render Dust template
No need to fetch
data or render
79. Deferred rendering
● Dramatically improve performance by not
rendering anything below the fold
● Improve it even further by not fetching the
data for things far out of view
● The challenge: the fold is at different
positions on different devices
80. Outline
1. A little LinkedIn history
2. A new direction: client side rendering
3. Picking a templating technology
4. Take dust for a spin
5. Challenges: SEO, i18n, logic
6. The Future
81. Final thoughts
● Dust.js has improved developer productivity and code
sharing at LinkedIn
● Client side templating offers powerful new capabilities
and benefits
● It also introduces tough new challenges
● It's an evolving technology; now is a good time to get
involved