RubyConf Taiwan 2016 - Large scale Rails applicationsFlorian Dutey
This document discusses strategies for scaling large Rails applications. It advocates separating applications into thin controllers, fat models, and following principles like single responsibility and stateless objects. The document also recommends separating applications into layers like services, forms, policies, queries, adapters, and models. Services describe processes, forms convert inputs, policies describe permissions, queries access data, adapters translate between languages, and models manage data. It argues this architecture makes applications more flexible, testable, and debuggable while allowing for easier migration between providers.
RubyConf China 2015 - Rails off assets pipelineFlorian Dutey
Asset pipeline is dead. FrontEnd world has much better tools to handle their needs. Here's some solutions to get rid of it and move into modern Rich Client development era.
This document discusses integrating Ember.js frontend applications with Rails backends. It provides a brief introduction to Ember.js and its history alongside Rails. It then introduces the EmberCLI Rails gem, which aims to bridge EmberCLI and Rails by handling shared responsibilities like API testing generators and asset compilation/serving to provide a unified development experience. The goals of the gem are to avoid issues of complete separation between frontend and backend while maintaining their separation of concerns.
You want to start an app It was going to be a simple Rails app, but you'd like to use something like React to build the front end. So do you deploy two apps? Maybe, but that seems like overkill sometimes. In this presentation we look into adding a JS app in a way that works with the rails asset pipeline, not against it.
CI/CD and Asset Serving for Single Page AppsMike North
This document discusses modern CI/CD and asset serving practices. It defines continuous integration as running automated tests on code changes to provide quick feedback. Continuous deployment automates releasing code to production without human intervention. The document recommends keeping the CI/CD pipeline fast through practices like modular code and fast tests. It also discusses asset serving techniques like versioning assets, maintaining canary environments, and notifying users of new releases. Overall, the document promotes CI/CD and advanced asset serving practices to increase velocity, reliability and user experience for modern web applications.
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...CodeOps Technologies LLP
Deep Learning is enabling a wide range of computer vision applications from advanced driver assistance systems to sophisticated medical diagnostic devices. However, designing and deploying these applications involve a lot of challenges like handling large datasets, developing optimized models, effectively performing GPU computing and efficiently deploying deep learning models to embedded boards like NVIDIA Jetson. This session illustrates how MATLAB supports all phases of this workflow starting with algorithm design to automatically generating portable and optimized CUDA code helping engineers and scientists address the commonly observed challenges in deep learning workflow
This document provides an overview of Angular 2 and related reactive programming concepts:
- It discusses fundamentals like reactive programming, functional reactive programming (FRP), and the observer design pattern.
- Related concepts like promises, Object.observe, and RxJS observables are explained.
- Angular 2 uses observables for forms, HTTP requests, the async pipe for change detection, and more. Pipes and change detection are also covered.
- The document compares promises and observables, and how RxJS implements observables for use in Angular 2. Bridging between different async patterns and observables is discussed.
- Questions are invited at the end regarding Angular 2 and related reactive
RubyConf Taiwan 2016 - Large scale Rails applicationsFlorian Dutey
This document discusses strategies for scaling large Rails applications. It advocates separating applications into thin controllers, fat models, and following principles like single responsibility and stateless objects. The document also recommends separating applications into layers like services, forms, policies, queries, adapters, and models. Services describe processes, forms convert inputs, policies describe permissions, queries access data, adapters translate between languages, and models manage data. It argues this architecture makes applications more flexible, testable, and debuggable while allowing for easier migration between providers.
RubyConf China 2015 - Rails off assets pipelineFlorian Dutey
Asset pipeline is dead. FrontEnd world has much better tools to handle their needs. Here's some solutions to get rid of it and move into modern Rich Client development era.
This document discusses integrating Ember.js frontend applications with Rails backends. It provides a brief introduction to Ember.js and its history alongside Rails. It then introduces the EmberCLI Rails gem, which aims to bridge EmberCLI and Rails by handling shared responsibilities like API testing generators and asset compilation/serving to provide a unified development experience. The goals of the gem are to avoid issues of complete separation between frontend and backend while maintaining their separation of concerns.
You want to start an app It was going to be a simple Rails app, but you'd like to use something like React to build the front end. So do you deploy two apps? Maybe, but that seems like overkill sometimes. In this presentation we look into adding a JS app in a way that works with the rails asset pipeline, not against it.
CI/CD and Asset Serving for Single Page AppsMike North
This document discusses modern CI/CD and asset serving practices. It defines continuous integration as running automated tests on code changes to provide quick feedback. Continuous deployment automates releasing code to production without human intervention. The document recommends keeping the CI/CD pipeline fast through practices like modular code and fast tests. It also discusses asset serving techniques like versioning assets, maintaining canary environments, and notifying users of new releases. Overall, the document promotes CI/CD and advanced asset serving practices to increase velocity, reliability and user experience for modern web applications.
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...CodeOps Technologies LLP
Deep Learning is enabling a wide range of computer vision applications from advanced driver assistance systems to sophisticated medical diagnostic devices. However, designing and deploying these applications involve a lot of challenges like handling large datasets, developing optimized models, effectively performing GPU computing and efficiently deploying deep learning models to embedded boards like NVIDIA Jetson. This session illustrates how MATLAB supports all phases of this workflow starting with algorithm design to automatically generating portable and optimized CUDA code helping engineers and scientists address the commonly observed challenges in deep learning workflow
This document provides an overview of Angular 2 and related reactive programming concepts:
- It discusses fundamentals like reactive programming, functional reactive programming (FRP), and the observer design pattern.
- Related concepts like promises, Object.observe, and RxJS observables are explained.
- Angular 2 uses observables for forms, HTTP requests, the async pipe for change detection, and more. Pipes and change detection are also covered.
- The document compares promises and observables, and how RxJS implements observables for use in Angular 2. Bridging between different async patterns and observables is discussed.
- Questions are invited at the end regarding Angular 2 and related reactive
The document discusses microservices and their advantages over monolithic architectures. Microservices break applications into small, independent components that can be developed, deployed and scaled independently. This allows for faster development and easier continuous delivery. The document recommends using Spring Boot to implement microservices and Docker to deploy and manage the microservices as independent components. It provides an example of implementing an ELK stack as Dockerized microservices.
IaC? VSTS to the rescue! Abbreviations explainedJeroen Niesen
This document discusses DevOps and infrastructure as code (IaC) using Azure Resource Manager. It begins with an overview of how Agile development processes led to the need for immutable infrastructure and DevOps. Infrastructure is now defined as code using ARM templates to ensure consistency and deployability. The document then outlines how IaC, DevOps tools like VSTS, and a continuous delivery pipeline can be used together for automated deployments in a production environment every sprint. It concludes by advertising an upcoming session on continuous delivery for IT professionals.
As an organization grows, the body of code that needs to be regression tested constantly increases. However, to maintain high velocity and deliver new features, teams need to minimize the amount of manual regression testing. Eric Smith shares his lessons learned in automating RESTful API tests using JMeter, RSpec, and Spock. Gain insights into the pros and cons of each tool, take back practical knowledge about the tools available, and explore reasons why your shop should require RESTful automation as part of its acceptance test criteria. Many decisions must be made to automate API tests: choosing the platform; how to integrate with the current build and deploy process; and how to integrate with reporting tools to keep key stakeholders informed. Although the initial transition caused his teams to bend their traditional roles, Eric says that ultimately the team became more cross-functionally aligned and developed a greater sense of ownership for delivering a quality product.
Hey, let's talk about the future! Frameworks are moving fast, delivering new features, improving performance, and expanding the boundaries of what's possible to do with the web today. Sometimes it's hard to keep up. We'll talk about what the future holds for all of us and how to write your applications today to be prepared for it.
Kotlin is a language from the tool gurus at JetBrains. In 2016, after about six years of development, Kotlin reached version 1.0. In 2017 it won the hearts of developers and became an officially supported language for Android.
Kotlin, like Java, is for more than creating Android applications. It can replace or enhance Java most places it is used today including on AWS. AWS Lambda functions sometimes called Serverless Computing, is a service which lets us developers build web services without worrying about configuring servers.
In this session, we will create a lambda service on AWS using Kotlin. Along the way, we will learn what a makes Kotlin an excellent replacement for Java and how simple it is to construct an AWS Lambda function.
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum
In this talk, we’ll show you our development process at Infinum. We'll talk about Continuous integration, MVP, Git flow, static code analysis, Unit tests, multi-environment support and a few more.
This document discusses building a web API using REST architecture. It introduces REST and compares it to SOAP web services. It then proposes building a RESTful web API that follows REST constraints like being stateless and cacheable. It outlines the software design process using UML diagrams and tools like ASP.NET and Entity Framework for implementation. Finally, it presents experimental results and conclusions.
1. Algolia started as a beta with two machines in 2013 and has since expanded to 15 regions across 50 data centers, serving over 2600 customers globally.
2. Early challenges included risky deployments without easy rollbacks and intermittent slowness caused by DNS issues.
3. Algolia now has a distributed search network for worldwide synchronization and spreads clusters across independent providers and datacenters for high reliability.
Serverless Application Model - Executing Lambdas LocallyAlex
This document discusses using the Serverless Application Model (SAM) to develop serverless applications locally. It describes how SAM templates allow defining Lambda functions and APIs that can then be run locally using the SAM CLI. This avoids needing an internet connection to test functions and allows using local tools like debuggers. Examples are provided for local development workflows involving APIs, Lambda functions, DynamoDB, and S3 event processing. Key links are also provided to learn more about SAM templates, the SAM CLI, and running DynamoDB locally.
Life Beyond Rails: Creating Cross Platform Ruby AppsTristan Gomez
This document discusses building cross-platform applications. It argues that cross-platform support allows reuse of significant portions of code across multiple platforms. Common tools can operate on different things through techniques like encapsulation and polymorphism. While object-oriented programming is about organizing a program with objects, cross-platform development focuses on connecting elements in a modular way to manage complexity.
The document provides an overview of Alfresco's mobile SDKs for Android and iOS. It discusses why the SDKs were created, including to simplify access to Alfresco from mobile devices and enable third party app integration. For Android, it summarizes the key components of the SDK, including services, asynchronous APIs, UI libraries and sample apps. It also discusses how the SDK provides object-oriented access to Alfresco repositories and handles asynchronous calls. For iOS, it summarizes the included mobile API library, Objective CMIS library, and sample app, and discusses how the SDK uses blocks to handle asynchronous requests and errors.
Android Clean Architecture for DummiesKengo Suzuki
Brief tutorial of implementing very primitive app(single list view) using Android Clean Architecture. It won't describe what and why, but rather, how to use it.
The idea is to show more complex test automation architecture which goes beyond the ordinary arrange->act->assert or set-up->run tests->tear-down workflow.
Spring Boot makes it easier to create Java web applications. It provides sensible defaults and infrastructure so developers don't need to spend time wiring applications together. Spring Boot applications are also easier to develop, test, and deploy. The document demonstrates how to create a basic web application with Spring Boot, add Spring Data JPA for database access, and use features for development and operations.
Micro Service – The New Architecture ParadigmEberhard Wolff
The document discusses microservices as a new software architecture paradigm. It defines microservices as small, independent processes that work together to form an application. The key benefits of microservices are that they allow for easier, faster deployment of features since each service is its own deployment unit and teams can deploy independently without integration. However, the document also notes challenges of microservices such as increased communication overhead, difficulty of code reuse across services, and managing dependencies between many different services. It concludes that microservices are best for projects where time to market is important and continuous delivery is a priority.
Angular 2 offers significant improvements over Angular 1 including better performance, more powerful templates, dependency injection with lazy loading, and support for server-side rendering and web workers. The document outlines the key differences in directives, data binding, dependency injection and other areas between Angular 1 and 2. It recommends upgrading to Angular 2 due to the benefits, though notes it requires rewriting Angular 1 apps to use Angular 2's component-based structure.
Eberhard Wolff discusses several factors that contribute to creating changeable software beyond just architecture. He emphasizes that automated testing, following a test pyramid approach, continuous delivery practices like automated deployment, and understanding the customer's priorities are all important. While architecture is a factor, there are no universal rules and the architect's job is to understand each project's unique needs.
This document introduces Phoenix, a web framework for building scalable and fault-tolerant distributed systems with Elixir and Erlang. It discusses how Moore's Law has led to more multi-core machines requiring better support for concurrency. Phoenix provides productivity benefits like Rails while enabling applications to handle massive concurrency through Elixir and Erlang's actor model and lightweight processes. The document demonstrates building basic and real-time web apps with Phoenix as well as using it as the web layer for distributed systems.
The document discusses using technology to enhance literacy education. It provides examples of how students can create docudramas, photo essays, simulated settings, character journals, and multimedia experiences to demonstrate comprehension. It also shares links to websites about using technology in literacy and provides contact information for someone interested in discussing ideas.
Galaxy Bags offers a line of bags for 2015. Their website features photos of the bags available that year. The photos provide customers a visual to see the styles and designs of bags Galaxy Bags produced for 2015.
The document discusses microservices and their advantages over monolithic architectures. Microservices break applications into small, independent components that can be developed, deployed and scaled independently. This allows for faster development and easier continuous delivery. The document recommends using Spring Boot to implement microservices and Docker to deploy and manage the microservices as independent components. It provides an example of implementing an ELK stack as Dockerized microservices.
IaC? VSTS to the rescue! Abbreviations explainedJeroen Niesen
This document discusses DevOps and infrastructure as code (IaC) using Azure Resource Manager. It begins with an overview of how Agile development processes led to the need for immutable infrastructure and DevOps. Infrastructure is now defined as code using ARM templates to ensure consistency and deployability. The document then outlines how IaC, DevOps tools like VSTS, and a continuous delivery pipeline can be used together for automated deployments in a production environment every sprint. It concludes by advertising an upcoming session on continuous delivery for IT professionals.
As an organization grows, the body of code that needs to be regression tested constantly increases. However, to maintain high velocity and deliver new features, teams need to minimize the amount of manual regression testing. Eric Smith shares his lessons learned in automating RESTful API tests using JMeter, RSpec, and Spock. Gain insights into the pros and cons of each tool, take back practical knowledge about the tools available, and explore reasons why your shop should require RESTful automation as part of its acceptance test criteria. Many decisions must be made to automate API tests: choosing the platform; how to integrate with the current build and deploy process; and how to integrate with reporting tools to keep key stakeholders informed. Although the initial transition caused his teams to bend their traditional roles, Eric says that ultimately the team became more cross-functionally aligned and developed a greater sense of ownership for delivering a quality product.
Hey, let's talk about the future! Frameworks are moving fast, delivering new features, improving performance, and expanding the boundaries of what's possible to do with the web today. Sometimes it's hard to keep up. We'll talk about what the future holds for all of us and how to write your applications today to be prepared for it.
Kotlin is a language from the tool gurus at JetBrains. In 2016, after about six years of development, Kotlin reached version 1.0. In 2017 it won the hearts of developers and became an officially supported language for Android.
Kotlin, like Java, is for more than creating Android applications. It can replace or enhance Java most places it is used today including on AWS. AWS Lambda functions sometimes called Serverless Computing, is a service which lets us developers build web services without worrying about configuring servers.
In this session, we will create a lambda service on AWS using Kotlin. Along the way, we will learn what a makes Kotlin an excellent replacement for Java and how simple it is to construct an AWS Lambda function.
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum
In this talk, we’ll show you our development process at Infinum. We'll talk about Continuous integration, MVP, Git flow, static code analysis, Unit tests, multi-environment support and a few more.
This document discusses building a web API using REST architecture. It introduces REST and compares it to SOAP web services. It then proposes building a RESTful web API that follows REST constraints like being stateless and cacheable. It outlines the software design process using UML diagrams and tools like ASP.NET and Entity Framework for implementation. Finally, it presents experimental results and conclusions.
1. Algolia started as a beta with two machines in 2013 and has since expanded to 15 regions across 50 data centers, serving over 2600 customers globally.
2. Early challenges included risky deployments without easy rollbacks and intermittent slowness caused by DNS issues.
3. Algolia now has a distributed search network for worldwide synchronization and spreads clusters across independent providers and datacenters for high reliability.
Serverless Application Model - Executing Lambdas LocallyAlex
This document discusses using the Serverless Application Model (SAM) to develop serverless applications locally. It describes how SAM templates allow defining Lambda functions and APIs that can then be run locally using the SAM CLI. This avoids needing an internet connection to test functions and allows using local tools like debuggers. Examples are provided for local development workflows involving APIs, Lambda functions, DynamoDB, and S3 event processing. Key links are also provided to learn more about SAM templates, the SAM CLI, and running DynamoDB locally.
Life Beyond Rails: Creating Cross Platform Ruby AppsTristan Gomez
This document discusses building cross-platform applications. It argues that cross-platform support allows reuse of significant portions of code across multiple platforms. Common tools can operate on different things through techniques like encapsulation and polymorphism. While object-oriented programming is about organizing a program with objects, cross-platform development focuses on connecting elements in a modular way to manage complexity.
The document provides an overview of Alfresco's mobile SDKs for Android and iOS. It discusses why the SDKs were created, including to simplify access to Alfresco from mobile devices and enable third party app integration. For Android, it summarizes the key components of the SDK, including services, asynchronous APIs, UI libraries and sample apps. It also discusses how the SDK provides object-oriented access to Alfresco repositories and handles asynchronous calls. For iOS, it summarizes the included mobile API library, Objective CMIS library, and sample app, and discusses how the SDK uses blocks to handle asynchronous requests and errors.
Android Clean Architecture for DummiesKengo Suzuki
Brief tutorial of implementing very primitive app(single list view) using Android Clean Architecture. It won't describe what and why, but rather, how to use it.
The idea is to show more complex test automation architecture which goes beyond the ordinary arrange->act->assert or set-up->run tests->tear-down workflow.
Spring Boot makes it easier to create Java web applications. It provides sensible defaults and infrastructure so developers don't need to spend time wiring applications together. Spring Boot applications are also easier to develop, test, and deploy. The document demonstrates how to create a basic web application with Spring Boot, add Spring Data JPA for database access, and use features for development and operations.
Micro Service – The New Architecture ParadigmEberhard Wolff
The document discusses microservices as a new software architecture paradigm. It defines microservices as small, independent processes that work together to form an application. The key benefits of microservices are that they allow for easier, faster deployment of features since each service is its own deployment unit and teams can deploy independently without integration. However, the document also notes challenges of microservices such as increased communication overhead, difficulty of code reuse across services, and managing dependencies between many different services. It concludes that microservices are best for projects where time to market is important and continuous delivery is a priority.
Angular 2 offers significant improvements over Angular 1 including better performance, more powerful templates, dependency injection with lazy loading, and support for server-side rendering and web workers. The document outlines the key differences in directives, data binding, dependency injection and other areas between Angular 1 and 2. It recommends upgrading to Angular 2 due to the benefits, though notes it requires rewriting Angular 1 apps to use Angular 2's component-based structure.
Eberhard Wolff discusses several factors that contribute to creating changeable software beyond just architecture. He emphasizes that automated testing, following a test pyramid approach, continuous delivery practices like automated deployment, and understanding the customer's priorities are all important. While architecture is a factor, there are no universal rules and the architect's job is to understand each project's unique needs.
This document introduces Phoenix, a web framework for building scalable and fault-tolerant distributed systems with Elixir and Erlang. It discusses how Moore's Law has led to more multi-core machines requiring better support for concurrency. Phoenix provides productivity benefits like Rails while enabling applications to handle massive concurrency through Elixir and Erlang's actor model and lightweight processes. The document demonstrates building basic and real-time web apps with Phoenix as well as using it as the web layer for distributed systems.
The document discusses using technology to enhance literacy education. It provides examples of how students can create docudramas, photo essays, simulated settings, character journals, and multimedia experiences to demonstrate comprehension. It also shares links to websites about using technology in literacy and provides contact information for someone interested in discussing ideas.
Galaxy Bags offers a line of bags for 2015. Their website features photos of the bags available that year. The photos provide customers a visual to see the styles and designs of bags Galaxy Bags produced for 2015.
Juan fernando gonzales gerardo ramirez zuluaga 8 aGerardo Ramirez
El documento lista diferentes artículos de oficina junto con sus precios unitarios y cantidades, calculando los valores totales y el 10% de descuento sobre los subtotales para cada artículo y en total.
Instala VirtualBox en el sistema operativo anfitrión y luego instala Ubuntu como sistema operativo huésped dentro de VirtualBox. Finalmente, instala XAMPP o LAMPP en Ubuntu para habilitar el desarrollo web local en la máquina virtual.
Himanshu Gola, the cleanliness monitor of class 10-B, wrote a letter to the principal informing him about some students who throw waste anywhere in the classroom instead of the dustbin. Himanshu mentioned that students like Anshul, Aman Singh, Krishna, Ankur Pawar, Akshat, and Shalu throw waste around the classroom instead of using the dustbin. Himanshu requested the principal to take action against these students as he is trying his best to maintain cleanliness in the classroom but is facing issues due to their actions.
The Selection of Apps for Young Learners - Considerations, Criteria, and Exem...Gail Lovely
This document provides guidelines for selecting apps for young learners using tablets. It recommends choosing apps that are interactive, developmentally appropriate for the child's age, and promote skills like digital literacy. Specific apps are highlighted as examples, such as Sago Mini Soundbox for early learning music and Letterschool to help with writing. Factors to consider include whether the app is for individual or group use, and what content children can create and save with the app. Teacher blogs are also shared as examples of successfully using iPads in the classroom.
La gestión de Imagen como factor de posicionamientocarloshuertad87
Este documento discute la importancia de la gestión de la imagen para el posicionamiento de una marca. Explica que la imagen se refiere a todos los aspectos comunicacionales de una entidad, incluidos aspectos visuales como el logotipo y aspectos intangibles como las relaciones humanas. Una marca exitosa se diferencia de la competencia a través de una imagen atractiva. La imagen opera de forma inconsciente en la mente del público y ayuda a una organización a establecer su identidad y posicionamiento en el mercado. Gestionar la imagen de manera estr
SHCR Review 2015 - Appendix 1 Literature ReviewHorizons NHS
Appendix 1. Literature review - This section of the School evaluation presents a literature review exploring existing thinking and evidence on social learning and organisational change that underlie the focus, principles and methods of the evaluation, and the impact model.
Further information and links can be found on the link below;
http://theedge.nhsiq.nhs.uk/school/school-evaluation/
Proposal Masjid Baitul Ummah Oma Batam CenterAlexander Chan
(1) Proposal ini mengajak masyarakat untuk berdonasi dalam rangka pembangunan pengembangan Masjid Baitul Ummah di Perumahan OMA Batam Centre. (2) Masjid ini membutuhkan perluasan agar dapat menampung jemaah yang semakin banyak dan menunjang kegiatan pendidikan agama. (3) Rencana pembangunan meliputi perluasan bangunan masjid, penambahan fasilitas, dan diperkirakan membutuhkan dana Rp5,9 miliar.
Rebecca Grant - DH research data: identification and challenges (DH2016)dri_ireland
Presentation made by Rebecca Grant as part of the panel session “Digital data sharing: the opportunities and challenges of opening research” at the Digital Humanities conference, Krakow, 15 July 2016. This paper “DH research data: identification and challenges” provided an introduction to concepts of research data in the digital humanities, including accepted definitions of what constitutes research data in a DH context.
The document summarizes food and lifestyle special editions published by various media brands. It provides an editorial calendar for 2016 special editions from Cooking Light, Food & Wine, People, Real Simple, Southern Living, and Sunset. The special editions target audiences interested in cooking, food, wine, and entertaining. They offer advertisers opportunities to connect with readers through relevant content placement, special units like recipes and shopping lists, and coupon programs.
Building Front-End Web Apps that Scale talk from FED London at Yahoo! London.
Concepts and practices that fed into the workflows and application architecture that was core to the BladeRunnerJS toolkit.
Patterns and practices for building enterprise-scale HTML5 appsPhil Leggetter
Developing large apps is difficult. Ensuring that code is consistent, maintainable, testable and has an architecture that enables change is essential. As is ensuring that multiple developers – across multiple teams – can efficiently contribute to the same application. When it comes to large server-focused apps, solutions to some of these challenges have been tried and tested. But, how do you achieve this when building HTML5 single-page apps?
In this session, Phil will cover the experiences his team have had when building HTML5 apps consisting of more than 250k lines of JavaScript (plus HTML templates, CSS, image, config etc) that are contributed to by multiple teams across multiple companies. He will highlight signs to watch out for as your HTML5 SPA grows, and a set of patterns and practices that help you avoid problems. He will also explain the simple yet powerful application architecture that their HTML5 apps have that is core to ensuring they scale.
Finally, Phil will demonstrate how tooling can be used to support these patterns and practices, and enable a productive developer workflow where the first line of code is feature code, features can be developed and tested in isolation, code conflicts are avoided by grouping assets by feature, and features are composed into apps.
Reactive Micro Services with Java seminarGal Marder
Abstract –
Micro services is the current architectural trend. In this seminar, we'll go over the concepts behind a good micro-service implementation and see how to implement it with available Java frameworks.
Target Audience
Java developers, team leaders, project managers.
Prerequisites
Java knowledge
Contents:
Overview of Micro-service architecture principles.
- Technical stacks:
- The Spring Stack (Spring Boot & Cloud)
- Lagom
- Akka and Play
- Vertx
- Complementaries
- Discovery
- Configuration
- Monitoring
How to Build Front-End Web Apps that Scale - FutureJSPhil 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, with the ongoing dramatic shift of functionality into the browser, how do you achieve this when building Front-End Web 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 the BladeRunnerJS open source developer toolkit, but the concepts are widely applicable.
The document describes an architecture for building web and mobile apps with a shared core. It discusses breaking the core into small services, abstracting connections, using model factories, and protecting the core through unit testing, dependency management, and code reviews. Controllers interact with sub-services to update views. The connection manager handles API calls. Dependency management with Bower ensures apps get the right core version. Unit testing with Karma and code reviews catch bugs. Override modules and decorators allow customizing the core.
Building front-end apps that Scale - FOSDEM 2014Phil Leggetter
This document discusses how to build large-scale front-end apps that can scale effectively. It defines large-scale apps as having significant codebases and complexity. Some signs that an app needs scaling solutions are long development setup times, apps not loading properly, difficulty finding code, and long test runs. The document recommends streamlining the developer workflow, building features in isolation, using a loosely coupled architecture with services, and extensive testing to improve maintainability for large teams.
AWS Lambda from the trenches (Serverless London)Yan Cui
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
Serverless in production, an experience report (BuildStuff)Yan Cui
This document provides a summary of best practices for deploying and managing applications on AWS Lambda. It discusses strategies for testing Lambda functions, including unit, integration and acceptance testing. It also covers logging, monitoring, distributed tracing, configuration management, avoiding cold starts, and other operational considerations like partial failures and hot Kinesis streams. The goal is to help developers build serverless applications on Lambda that are performant, robust, and cost-effective to operate at scale.
Learn how to build apps using Angular JS with Firebase(backend-as-a-service)!!
Room 6 (2nd Floor Conference Room)
In this presentation, we'll be using Angular JS and Firebase to create a simple web application from scratch and explore the awesome real-time syncing features provided by firebase. Combining Bootstrap, Angular JS with Firebase and Azure, we can build and deploy cross-platform HTML5 apps.
This document discusses different architectures for event-driven serverless workflows using AWS services. It begins by describing a sample use case of downloading Facebook profiles to perform machine learning tasks. It then evaluates six different architectural ideas:
1. Orchestrating Lambda functions with a single orchestrator function.
2. Using DynamoDB to decouple jobs and invoking Lambda functions asynchronously via DynamoDB streams.
3. Adding Kinesis to post jobs after orchestration and check completion in DynamoDB.
4. Improving state management using Step Functions to trigger Lambdas and defer to Kinesis.
5. Implementing event sourcing using S3 as the event store and Step Functions to check processing
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
If you have ever played with LEGO®, you will know that adding, removing or changing features of a completed castle isn’t as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldn’t it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly couple code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: you’ll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because… ‘it depends’.
The document discusses how to approach crafting ColdFusion applications like an architect. It begins by introducing the presenter and then outlines topics to be covered including comparing a software architect to a building architect and how an architect's work relates to code. It discusses questions to consider when starting a project and designing entities and infrastructure. It also contrasts the roles of a software architect and code, explaining concepts like object-oriented programming, services, and user interfaces. Finally, it discusses different application server architectures.
Serverless in production, an experience report (microservices london)Yan Cui
AWS Lambda has changed the way we deploy and run software, but the serverless paradigm has created new challenges to old problems: How do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
Yan Cui shares solutions to these challenges, drawing on his experience running Lambda in production and migrating from an existing monolithic architecture.
Serverless in production, an experience report (London js community)Yan Cui
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan and Diana will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
This document discusses deploying microservices on AWS. It begins by explaining what microservices are and then discusses hosting options on AWS including EC2, ECS, and Lambda. ECS is identified as the preferred option since it allows hosting containers with Docker. The document then covers deployment aspects like using source control with Git for multiple environments, building and testing code, deploying single services or entire clusters, live testing, and monitoring with alerts.
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Phil Leggetter
Developing large apps is difficult. Ensuring that code is consistent, well structured, tested and has an architecture that encourages enhancement and maintainability is essential. When it comes to building large server-focused apps the solutions to this problem have been tried and tested. But, how do you achieve this when building HTML5 single page apps?
BladeRunnerJS is an open source developer toolkit and lightweight front-end framework that has helped Caplin Systems ensure that a 200k LoC JavaScript codebase hasn’t become a tangled mess of unstable spaghetti code. This codebase is packaged and delivered to customers as an SDK. Additionally customers receive a getting started application of around 50k LoC for them to build upon, and they’re expected not to turn that into a tangled … you get the idea.
In this talk you’ll learn the main concepts to apply when building a front-end app that scales and how BladeRunnerJS can support the development process.
Building a [micro]services platform on AWSShaun Pearce
Gousto built a monolithic application on AWS but was experiencing slow deployment times and other issues as the business grew rapidly. They rebuilt their application as a microservices architecture on AWS using a common platform approach. This standardized infrastructure, deployment processes, and APIs. It allowed them to increase deployment frequency, split the monolith into smaller independently deployable services, and scale their engineering team and development velocity. They also discussed areas like API design, asynchronous communication, and log management that they continued improving.
The document discusses microservice architecture and compares it to monolithic architecture. It describes microservices as small, discrete, isolated services that can be deployed separately. A monolith is a single application combining all business logic and data access. The document outlines characteristics of microservices such as single responsibility, statelessness, independent data management and communication through APIs or message queues. It also covers deployment, testing, monitoring, metrics and the need for automation and a culture open to change when using microservice architecture.
[CocoaHeads Tricity] Michał Tuszyński - Modern iOS AppsCocoaHeads Tricity
This document discusses modern iOS app architecture, including:
1. Using silent notifications instead of continuous polling for real-time apps.
2. Using asynchronous Core Data with separate contexts for writing and fetching to improve performance.
3. Embedding frameworks instead of static libraries to modularize code and allow dynamic loading on iOS 7 and above.
The document discusses APIs and best practices for consuming them. It recommends using libraries to avoid reinventing the wheel and addresses common issues like authorization, error handling, and data serialization. The document also presents alternatives for parsing JSON like KZPropertyMapper, Mantle, and JSONModel. It advocates for abstraction and network engines that are independent, easy to use, and extensible. Categories and libraries like Alamofire and Moya are presented as solutions for consuming APIs in a clean, reusable manner in both Objective-C and Swift.
[CocoaHeads Tricity] Maciej Burda - Working as an iOS developer Interview Cas...CocoaHeads Tricity
The document provides tips and guidance for an iOS developer seeking a new job. It discusses signs that it may be time to change jobs, how often programmers typically change jobs (1.5-2 years in the US), where to look for jobs (websites and networking), how to prepare by understanding the recruitment process and defining your level of experience. It also offers suggestions for how to showcase your skills as a strong iOS developer, including through clean, well-designed code; use of Git; strong UI/UX skills; theoretical knowledge; collaboration skills; and demonstrating language features and design patterns. The document closes by suggesting technical questions you may be asked during an interview.
This document discusses how to use threads and concurrency in iOS development to take advantage of multi-core processors. It notes that as processors have increased cores, iOS devices now have dual-core or quad-core CPUs. The document recommends using threads and concurrency through Grand Central Dispatch or operation queues to perform tasks in parallel without freezing the user interface. It provides examples of animations, network requests, and long-running tasks that can benefit from threads. It also warns that some UI-related tasks must remain on the main thread.
This document provides tips and tools for iOS indie developers for planning, designing, developing, testing, publishing, and analyzing mobile applications. It recommends tools for wireframing apps, generating icon files, resizing images, using Git source control, testing web services, optimizing code, distributing beta builds, integrating analytics, tracking installation sources and sales, generating press kits, and more.
This document provides guidance on user experience design for mobile apps. It emphasizes identifying the target audience and context of use. Designs should be simple, safe, and follow conventions. Interactions need to be efficient and optimized for touchscreens. The most important task should be made very simple. Iterative testing is key to improving the design.
This document discusses testing in iOS applications. It explains why testing is important for reliability, preventing regressions, and allowing confidence during refactoring. Some challenges to testing include heavy dependence on UI code and non-testable code. The document recommends separating UI and service interaction code to make it more testable. It introduces the Kiwi and OCMock testing frameworks for iOS and provides examples of writing tests using these frameworks. It also discusses how to test private and static methods as well as isolate dependencies through mocking. The document emphasizes that best practices for testing apply to mobile development as well.
This document discusses several tools that can help speed up iOS development including AppCode, CocoaPods, PonyDebugger, Charles Proxy, and Cupertino. It provides brief descriptions of each tool's functionality such as AppCode's refactoring, code analysis, and debugging capabilities. CocoaPods is described as an easy to use iOS dependencies manager. Charles Proxy and PonyDebugger allow debugging network traffic and core data. Real demonstrations are provided for several of the tools.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
DDS Security Version 1.2 was adopted in 2024. This revision strengthens support for long runnings systems adding new cryptographic algorithms, certificate revocation, and hardness against DoS attacks.
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
9. Why should I make a
wrapper around
CLLocationManager?
10. • seamlessly manages permissions
• smoothens out beacon power fluctuations
• doesn’t require all listeners to duplicate single beacon
filtering code and leaving beacon logic
• enable / disable listening
• saves energy (takes care of switching between
monitoring/ranging automatically)
• takes care of background ranging (☠☠☠)
• it’s listeners actually don’t have to care about
anything, only implement code on beacon events.
11. BeaconManager uses
another services/APIs
• CLLocationManager for permissions and
background ranging (updating location)
• Logger (sends critical logs to back-end)
• Data
• SyncManager
• NSNotificationCenter
21. But if Swift is about to be
super-fast and super-safe,
I wouldn’t count on it.
22. Why Obj-C runtime is so
great in testing?
• Effortless and quick mocks/stubs
• No refactoring needed at all. Just jump into
writing tests.
23. Disadvantages of OCMock
way of testing?
• No compile-time protection
• We can forget to stub some important things
• Encourages a bit to write ugly code (inline mocks /
stubs) which could create problems with duplication
later
• No explicit list of dependencies like in dependency
injection
• Still have to write mocks / stubs :(
31. Advantages of SL
• compile-time
• quite quick to implement (actually,
sharedInstance properties could be overwritten
so that they call Service Locator themselves).
• Service protocols are a beautiful way to
investigate app architecture without going too
deep into implementation details
32. Disadvantages of SL
• We need to complicate architecture (is that really
bad thing?)
• We can forget to stub some libs
• No explicit list of dependencies (like in DI)
• Still have to write our stubs :(
39. We could use some
automation for initialising
services.
40. Advantages of DI
• compile-time
• explicit list of dependencies (nice app
architecture guard)
• we won’t forget to stub anything
• service protocols are a beautiful way to
investigate app architecture without going too
deep into implementation details
41. Disadvantages of DI
• Quite not-so-fast to implement
• Architecture gets more complicated (like in SL)
• We still need to write stubs
42. SL vs. DI
• http://www.martinfowler.com/articles/
injection.html
• http://bayou.io/draft/
In_Defense_of_Service_Locator.html
• rest of the Internet
53. Summary
• method / class swizzling is probably not what you want
in Swift
• service locator is quickest way to get legacy code
tested
• typhoon and swinject are 3rd party libs for Swift testing
• swinject seems to be nice
• unfortunately, there are no libraries which out of the
box give developers stubs / mocks for Apple APIs.