The document summarizes Pablo Luciano Villar's presentation on writing a REST interconnection library in Swift. The presentation covered the motivation for such a library, proposed an architectural concept using repositories and backends to abstract network calls, and provided an implementation example in Swift using protocols, generics, enums, and other features. Key aspects included defining a common API for CRUD operations across different entities, handling asynchronous network requests with Futures, and enhancing error handling and data parsing. The full implementation is available as an open source library called Jayme.
Slides of the talk we made with David Delabasee (@delabassee) at Devoxx 2015. A list of Java SE 8 patterns that you can use in Java EE 7 applications, thanks to the support of the major app servers.
Functional Thinking - Programming with Lambdas in Java 8Ganesh Samarthyam
Functional programming is on the rise. Almost all major and mainstream languages support functional programming features, including C++, Java, Swift, and Python, and Visual Basic. With Java 8’s lambda functions, Java now supports functional programming. Moving to functional programming can result in significantly better code and productivity gains. However, it requires a paradigm shift: you need to move away from imperative and object-oriented thinking to start thinking functionally. That’s what this workshop will help you achieve: it will help you make your shift towards functional programming. The workshop will introduce lambda functions in Java with examples from Java library itself. Presented in OSI Days 2015 workshop - http://osidays.com/osidays/shifting-to-functional-programming-lambdas-for-java-developers/
3 things you must know to think reactive - Geecon Kraków 2015Manuel Bernhardt
Over the past few years, web-applications have started to play an increasingly important role in our lives. We expect them to be always available and the data to be always fresh. This shift into the realm of real-time data processing is now transitioning to physical devices, and Gartner predicts that the Internet of Things will grow to an installed base of 26 billion units by 2020.
As reactive architectures gain in popularity, more and more developers find themselves faced with the challenge of "thinking reactive". To leave behind the well-known concepts of mutable, object-oriented, imperative and synchronous programming in favour of immutable, functional, declarative and asynchronous programming requires quite a mind shift and it isn't obvious to take the plunge.
In this talk we will explore three concepts from the world of functional programming that are at the core of building reactive applications: immutability, higher-order functions and manipulating immutable collections. We will first see how the "traditional" mutable, object-oriented approach of doing things can be problematic when it comes to multi-core programming, and then how to apply them to asynchronous systems.
Modern Programming in Java 8 - Lambdas, Streams and Date Time APIGanesh Samarthyam
This presentation provides a comprehensive overview of modern programming in Java. It focuses only on Java 8 features: Lambdas, Streams and Date Time API. It also briefly covers refactoring legacy Java code to Java 8.
Connect.Tech- Level Up Your Game With TravisCIstable|kernel
TravisCI, Xcode Bots, Fastlane, TestFlight, HockeyApp are only a few of the many tools that are available and highly used to optimize workflows and improve your product. But where do you start? "Level Up Your Game With TravisCI: From Zero To Hero In 45 Minutes" helps you jump start into CI with your iOS projects. No matter if you have never heard about CI before or if you only want to refine your tools.
A brief introduction to using Apache Solr for implementing search for your website.
Download the ppt to see comments which add more detail.
Presented at eBig Java SIG, Oakland, CA. June 2008
Slides of the talk we made with David Delabasee (@delabassee) at Devoxx 2015. A list of Java SE 8 patterns that you can use in Java EE 7 applications, thanks to the support of the major app servers.
Functional Thinking - Programming with Lambdas in Java 8Ganesh Samarthyam
Functional programming is on the rise. Almost all major and mainstream languages support functional programming features, including C++, Java, Swift, and Python, and Visual Basic. With Java 8’s lambda functions, Java now supports functional programming. Moving to functional programming can result in significantly better code and productivity gains. However, it requires a paradigm shift: you need to move away from imperative and object-oriented thinking to start thinking functionally. That’s what this workshop will help you achieve: it will help you make your shift towards functional programming. The workshop will introduce lambda functions in Java with examples from Java library itself. Presented in OSI Days 2015 workshop - http://osidays.com/osidays/shifting-to-functional-programming-lambdas-for-java-developers/
3 things you must know to think reactive - Geecon Kraków 2015Manuel Bernhardt
Over the past few years, web-applications have started to play an increasingly important role in our lives. We expect them to be always available and the data to be always fresh. This shift into the realm of real-time data processing is now transitioning to physical devices, and Gartner predicts that the Internet of Things will grow to an installed base of 26 billion units by 2020.
As reactive architectures gain in popularity, more and more developers find themselves faced with the challenge of "thinking reactive". To leave behind the well-known concepts of mutable, object-oriented, imperative and synchronous programming in favour of immutable, functional, declarative and asynchronous programming requires quite a mind shift and it isn't obvious to take the plunge.
In this talk we will explore three concepts from the world of functional programming that are at the core of building reactive applications: immutability, higher-order functions and manipulating immutable collections. We will first see how the "traditional" mutable, object-oriented approach of doing things can be problematic when it comes to multi-core programming, and then how to apply them to asynchronous systems.
Modern Programming in Java 8 - Lambdas, Streams and Date Time APIGanesh Samarthyam
This presentation provides a comprehensive overview of modern programming in Java. It focuses only on Java 8 features: Lambdas, Streams and Date Time API. It also briefly covers refactoring legacy Java code to Java 8.
Connect.Tech- Level Up Your Game With TravisCIstable|kernel
TravisCI, Xcode Bots, Fastlane, TestFlight, HockeyApp are only a few of the many tools that are available and highly used to optimize workflows and improve your product. But where do you start? "Level Up Your Game With TravisCI: From Zero To Hero In 45 Minutes" helps you jump start into CI with your iOS projects. No matter if you have never heard about CI before or if you only want to refine your tools.
A brief introduction to using Apache Solr for implementing search for your website.
Download the ppt to see comments which add more detail.
Presented at eBig Java SIG, Oakland, CA. June 2008
Fullstack Conference - Proxies before proxies: The hidden gems of Javascript...Tim Chaplin
Tired of console.logging your way through applications? Want a way to slice through your application without adding complexity? AOP has been the answer to these questions for object oriented languages, such as Java and C#, but is not available in Javascript. ScarletJS(https://github.com/scarletjs/scarlet) is a project that tackles AOP using a clean, fluent, performant interface.
The ScarletJS project provides Javascript developers a different way of thinking about traditional javascript problems. The project is still growing and looking into the future of what ES6 proxies will open up to the Javascript community.
The talk will highlight the problems that javascript developers face with logging application behavior, security, and more. It will discuss the benefits of identifying a cross cutting concern, and programming using aspects. The talk will highlight how thinking about a project and cross cutting concerns can lead to cleaner more SOLID code. It will also discuss the future of ES6 proxies and the benefits that they will bring.
Presented at BJUG, 6/12/2012 by Roger Brinkley
This talk is on 55 new features in Java 7 you (probably) didn't hear about in an ignite format of one per minute. No stopping, no going back....Questions, sure but only if time remains (otherwise save for later).
BUILDING MODERN PYTHON WEB FRAMEWORKS USING FLASK WITH NEIL GREYCodeCore
How to get up and running in minutes with the lean, scalable, and easy to maintain Python web framework, Flask. Attendees will get to see how Flask acts as the sturdy glue between your database framework, front-end templates and operating system. Keep an eye out for tips/tricks using SQLite, Jinja2, and Werkzeug.
Neil is a software developer with a background in 3D graphics programming and management information systems. Presently he's working with Image Engine on feature-film visual effects projects like Teenage Mutant Ninja Turtles, Elysium, Fast & Furious. He's also a co-founder of ComboMash Entertainment, an independent game studio based in Vancouver.
What's new and changed in PHP 8.
- Major new changes in PHP 8
- New functions and classes
- OOP improvements
- Type system improvements
- Error handling improvements
- Resource to Object migration
- String related changes
- Removed functionality
https://php.watch/versions/8.0
In this session, you will learn about typical best practices and idioms for building continuously running, extensible and maintainable code generators with Xtend. We think Xtend is the best language for code generation available today.
ECMAScript is the name of the international standard that defines JavaScript. ES6 → ECMAScript 2015. Latest ECMAScript version is ES7 which is ECMAScript 2016.
Basically it is a superset of es5
Actor based approach in practice for Swift developersBartosz Polaczyk
Actor based programming is an alternative way to write your code in a way it is by design asynchronous-friendly to write and test. Proposed in 70's, recently receives more and more popularity in many different programming areas.
If you ever heard about actors but wasn't sure about benefit of using it in iOS apps, this presentation is for you! I will guide you through main concepts and demonstrate practical approach to implement it in Swift.
Python RESTful webservices with Python: Flask and Django solutionsSolution4Future
Slides contain RESTful solutions based on Python frameworks like Flask and Django. The presentation introduce in REST concept, presents benchmarks and research for best solutions, analyzes performance problems and shows how to simple get better results. Finally presents soruce code in Flask and Django how to make your own RESTful API in 15 minutes.
Djangocon 2014 - Django REST Framework - So Easy You Can Learn it in 25 MinutesNina Zakharenko
An introduction to the Django REST Framework, given at Djangocon US 2014.
The video for the talk is available here: https://www.youtube.com/watch?v=cqP758k1BaQ
Awareness of design smells - indicators of common design problems - helps developers or software engineers understand mistakes made while designing and apply design principles for creating high-quality designs. This workshop provides insights gained from performing refactoring in real-world projects to improve refactoring and reduce the time and costs of managing software projects. The workshop also presents insightful anecdotes and case studies drawn from the trenches of real-world projects. By attending this workshop, you will know pragmatic techniques for refactoring design smells to manage technical debt and to create and maintain high-quality software in practice.
Contents overview:
* Why care about design principles, design quality, or design smells?
* Refactoring as the primary means for repaying technical debt
* Smells that violate abstraction, encapsulation, modularisation, or hierarchy
* Tools and techniques for refactoring
Lightening Talk I gave at Inaka in May 2014.
This is sort of the continuation of my previous iOS TDD talk.
Since TDD and DI go quite hand in hand and they are both extend concepts to learn in one shot, I had to prepare a completely separated talk for spreading to my fellows the DI knowledge I had acquired.
Lightening Talk I gave at Inaka in April 2014.
I was in charge of investigating test-driven development for our iOS mobile team. Since I realized it was such a big concept, after having gathered enough information and having played with it enough, I decided to introduce my fellows on the topic by presenting it in a formal talk with slides. The aim was teaching them a different way of developing, which, for us, at that moment, was completely new and controversial.
Fullstack Conference - Proxies before proxies: The hidden gems of Javascript...Tim Chaplin
Tired of console.logging your way through applications? Want a way to slice through your application without adding complexity? AOP has been the answer to these questions for object oriented languages, such as Java and C#, but is not available in Javascript. ScarletJS(https://github.com/scarletjs/scarlet) is a project that tackles AOP using a clean, fluent, performant interface.
The ScarletJS project provides Javascript developers a different way of thinking about traditional javascript problems. The project is still growing and looking into the future of what ES6 proxies will open up to the Javascript community.
The talk will highlight the problems that javascript developers face with logging application behavior, security, and more. It will discuss the benefits of identifying a cross cutting concern, and programming using aspects. The talk will highlight how thinking about a project and cross cutting concerns can lead to cleaner more SOLID code. It will also discuss the future of ES6 proxies and the benefits that they will bring.
Presented at BJUG, 6/12/2012 by Roger Brinkley
This talk is on 55 new features in Java 7 you (probably) didn't hear about in an ignite format of one per minute. No stopping, no going back....Questions, sure but only if time remains (otherwise save for later).
BUILDING MODERN PYTHON WEB FRAMEWORKS USING FLASK WITH NEIL GREYCodeCore
How to get up and running in minutes with the lean, scalable, and easy to maintain Python web framework, Flask. Attendees will get to see how Flask acts as the sturdy glue between your database framework, front-end templates and operating system. Keep an eye out for tips/tricks using SQLite, Jinja2, and Werkzeug.
Neil is a software developer with a background in 3D graphics programming and management information systems. Presently he's working with Image Engine on feature-film visual effects projects like Teenage Mutant Ninja Turtles, Elysium, Fast & Furious. He's also a co-founder of ComboMash Entertainment, an independent game studio based in Vancouver.
What's new and changed in PHP 8.
- Major new changes in PHP 8
- New functions and classes
- OOP improvements
- Type system improvements
- Error handling improvements
- Resource to Object migration
- String related changes
- Removed functionality
https://php.watch/versions/8.0
In this session, you will learn about typical best practices and idioms for building continuously running, extensible and maintainable code generators with Xtend. We think Xtend is the best language for code generation available today.
ECMAScript is the name of the international standard that defines JavaScript. ES6 → ECMAScript 2015. Latest ECMAScript version is ES7 which is ECMAScript 2016.
Basically it is a superset of es5
Actor based approach in practice for Swift developersBartosz Polaczyk
Actor based programming is an alternative way to write your code in a way it is by design asynchronous-friendly to write and test. Proposed in 70's, recently receives more and more popularity in many different programming areas.
If you ever heard about actors but wasn't sure about benefit of using it in iOS apps, this presentation is for you! I will guide you through main concepts and demonstrate practical approach to implement it in Swift.
Python RESTful webservices with Python: Flask and Django solutionsSolution4Future
Slides contain RESTful solutions based on Python frameworks like Flask and Django. The presentation introduce in REST concept, presents benchmarks and research for best solutions, analyzes performance problems and shows how to simple get better results. Finally presents soruce code in Flask and Django how to make your own RESTful API in 15 minutes.
Djangocon 2014 - Django REST Framework - So Easy You Can Learn it in 25 MinutesNina Zakharenko
An introduction to the Django REST Framework, given at Djangocon US 2014.
The video for the talk is available here: https://www.youtube.com/watch?v=cqP758k1BaQ
Awareness of design smells - indicators of common design problems - helps developers or software engineers understand mistakes made while designing and apply design principles for creating high-quality designs. This workshop provides insights gained from performing refactoring in real-world projects to improve refactoring and reduce the time and costs of managing software projects. The workshop also presents insightful anecdotes and case studies drawn from the trenches of real-world projects. By attending this workshop, you will know pragmatic techniques for refactoring design smells to manage technical debt and to create and maintain high-quality software in practice.
Contents overview:
* Why care about design principles, design quality, or design smells?
* Refactoring as the primary means for repaying technical debt
* Smells that violate abstraction, encapsulation, modularisation, or hierarchy
* Tools and techniques for refactoring
Lightening Talk I gave at Inaka in May 2014.
This is sort of the continuation of my previous iOS TDD talk.
Since TDD and DI go quite hand in hand and they are both extend concepts to learn in one shot, I had to prepare a completely separated talk for spreading to my fellows the DI knowledge I had acquired.
Lightening Talk I gave at Inaka in April 2014.
I was in charge of investigating test-driven development for our iOS mobile team. Since I realized it was such a big concept, after having gathered enough information and having played with it enough, I decided to introduce my fellows on the topic by presenting it in a formal talk with slides. The aim was teaching them a different way of developing, which, for us, at that moment, was completely new and controversial.
A brief summary of eight Swift features that have, in particular, affected our lives as iOS developers.
I gave this talk in a ESL-Inaka Get Together event on April 30th, 2016. The talk was mostly spoken, the slides themselves only show a summary of all the items I spoke about.
Developing Swift - Moving towards the futurePablo Villar
This is a talk I gave at Ciudad Universitaria de Buenos Aires on July 23rd, 2015.
The idea was expressing how it felt for me (and my co-worker fellows at Inaka) start using Swift in our projects.
The talk has three aims:
- Speaking a bit about Swift's history.
- Communicating how our mindset as iOS developers has changed from an attitude point of view, rather than technical.
- Speaking briefly about one of Swift's features (optionals) and showing some code.
SEO pro eshopy a jejich majitele/správce - Eshopvíkend 2015 :-)Jakub Kašparů
Tématem prezentace je popsat nejčastější chyby, které stále vidím na eshopech z pohledu SEO. Nabídnout řešení. Ukázat, jaké jsou možnosti z pohledu analýzy konkurence a odkazových příležitostí pro majitele eshopů.
Александр Демченко, CEO Lazy Ants выступил на конференции CODEiD – PHP Odessa Conf #4 с темой «Graphql + Symfony».
• Что такое GraphQL на пальцах для PHP-разработчика.
• Почему GraphQL это глобальный скачек в написании API.
• Почему такие монстры как Facebook, GitHub активно используют GraphQL для своих API.
«Мы рассмотрим основные преимущества использования GraphQL для вашего проекта, как создать свое GraphQL API с помощью Symfony framework и набором доступных библиотек.»
CODEiD – это всеукраинское сообщество PHP-разработчиков. Наша цель — создать сильное сообщество всех, кто увлечен PHP-разработкой, и принимать в нашем уютном приморском городе коллег со всей Украины и мира.
Understanding Framework Architecture using Eclipseanshunjain
Talk on Framework architectures given at SAP Labs India for Eclipse Day India 2011 - Code attached Here: https://sites.google.com/site/anshunjain/eclipse-presentations
Given at TechMaine's Java Users Group on Feb 26 2008
Why do we need another build tool when we already have Ant? By focusing on convention over configuration, Maven allows you to declaratively define how your project is built, which reduces a lot of the procedural code that you'd need to implement in every build file if you were using Ant. This, along with Maven's built-in management of repositories for project dependencies, allows you to streamline your build process. Ultimately Maven can reduce the amount of time that would otherwise be wasted hunting down jar files and fiddling with boilerplate build scripts.
This presentation covers Maven's core concepts. It introduces the Plugin architecture, and explain how the most popular plugins are used. It also covers the POM concept and how it relates to dependency tracking and repositories.
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Claus Ibsen
In this session, we'll focus on:
Camel 3: Demos of how Camel 3, Camel K and Camel Quarkus all work together, and will provide insights into Camel’s role in the next major release of Red Hat Integration products.
Camel K: This serverless integration platform provides low-code/no-code capabilities, where integrations can be snapped together quickly using the powers from integration patterns and Camel’s extensive set of connectors.
Camel Quarkus: Using Knative (the fast runtime of Quarkus) and Camel K brings awesome serverless features, such as auto-scaling, scaling to zero, and event-based communication, with great integration capabilities from Apache Camel.
You will also hear about the latest Camel sub-project Camel Kafka Connectors which makes it possible to use all the Camel components as Kafka Connect connectors.
Finally we bring details of the roadmap for what is coming up in the Camel projects.
A talk about the current state of java enterprise development, evaluation of the available alternatives to conventional enterprise solutions, tools and languages for the JVM, and possibly beyond.
JUG-Roma meeting 16 Sept 2014
ASTs are an incredibly powerful tool for understanding and manipulating JavaScript. We'll explore this topic by looking at examples from ESLint, a pluggable static analysis tool, and Browserify, a client-side module bundler. Through these examples we'll see how ASTs can be great for analyzing and even for modifying your JavaScript. This talk should be interesting to anyone that regularly builds apps in JavaScript either on the client-side or on the server-side.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Strategies for Successful Data Migration Tools.pptxvarshanayak241
Data migration is a complex but essential task for organizations aiming to modernize their IT infrastructure and leverage new technologies. By understanding common challenges and implementing these strategies, businesses can achieve a successful migration with minimal disruption. Data Migration Tool like Ask On Data play a pivotal role in this journey, offering features that streamline the process, ensure data integrity, and maintain security. With the right approach and tools, organizations can turn the challenge of data migration into an opportunity for growth and innovation.
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Your Digital Assistant.
Making complex approach simple. Straightforward process saves time. No more waiting to connect with people that matter to you. Safety first is not a cliché - Securely protect information in cloud storage to prevent any third party from accessing data.
Would you rather make your visitors feel burdened by making them wait? Or choose VizMan for a stress-free experience? VizMan is an automated visitor management system that works for any industries not limited to factories, societies, government institutes, and warehouses. A new age contactless way of logging information of visitors, employees, packages, and vehicles. VizMan is a digital logbook so it deters unnecessary use of paper or space since there is no requirement of bundles of registers that is left to collect dust in a corner of a room. Visitor’s essential details, helps in scheduling meetings for visitors and employees, and assists in supervising the attendance of the employees. With VizMan, visitors don’t need to wait for hours in long queues. VizMan handles visitors with the value they deserve because we know time is important to you.
Feasible Features
One Subscription, Four Modules – Admin, Employee, Receptionist, and Gatekeeper ensures confidentiality and prevents data from being manipulated
User Friendly – can be easily used on Android, iOS, and Web Interface
Multiple Accessibility – Log in through any device from any place at any time
One app for all industries – a Visitor Management System that works for any organisation.
Stress-free Sign-up
Visitor is registered and checked-in by the Receptionist
Host gets a notification, where they opt to Approve the meeting
Host notifies the Receptionist of the end of the meeting
Visitor is checked-out by the Receptionist
Host enters notes and remarks of the meeting
Customizable Components
Scheduling Meetings – Host can invite visitors for meetings and also approve, reject and reschedule meetings
Single/Bulk invites – Invitations can be sent individually to a visitor or collectively to many visitors
VIP Visitors – Additional security of data for VIP visitors to avoid misuse of information
Courier Management – Keeps a check on deliveries like commodities being delivered in and out of establishments
Alerts & Notifications – Get notified on SMS, email, and application
Parking Management – Manage availability of parking space
Individual log-in – Every user has their own log-in id
Visitor/Meeting Analytics – Evaluate notes and remarks of the meeting stored in the system
Visitor Management System is a secure and user friendly database manager that records, filters, tracks the visitors to your organization.
"Secure Your Premises with VizMan (VMS) – Get It Now"
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
7. www.erlang-solutions.com
Why would we need a REST
interconnection library?
Our App
Server
Backend
Give me a list with all the users
200: Success, returns
JSON array with users
8. www.erlang-solutions.com
Why would we need a REST
interconnection library?
Create a user with this info: [...]
200: Success,
user created
Our App
Server
Backend
9. www.erlang-solutions.com
Why would we need a REST
interconnection library?
Update some info for this user:
[...]
200: Success, returns
user updated
Our App
Server
Backend
15. www.erlang-solutions.com
Premises:
● Find a good place to put our networking
code.
● Define a proper way to architecture our
REST layer.
● Avoid duplicated code from common
CRUD operations.
● Come up with a concise API that we can
use across all of our projects.
18. www.erlang-solutions.com
Let's find out common paths...
"Give me a list with all the users" GET /users
"Give me the details for this user" GET /users/:id
"Create a user with this data" POST /users
"Update this user with this data" PUT /users/:id
"Delete this user" DELETE /users/:id
19. www.erlang-solutions.com
Let's find out common paths...
"Give me a list with all the users" GET /users
"Give me the details for this user" GET /users/:id
"Create a user with this data" POST /users
"Update this user with this data" PUT /users/:id
"Delete this user" DELETE /users/:id
20. www.erlang-solutions.com
Let's find out common paths...
"Give me a list with all the posts" GET /posts
"Give me the details for this post" GET /posts/:id
"Create a post with this data" POST /posts
"Update this post with this data" PUT /posts/:id
"Delete this post" DELETE /posts/:id
22. www.erlang-solutions.com
"Give me a list with all the entities" GET /:name
"Give me the details for this entity" GET /:name/:id
"Create an entity with this data" POST /:name
"Update this entity with this data" PUT /:name/:id
"Delete this entity" DELETE /:name/:id
Let's introduce the entity concept...
23. www.erlang-solutions.com
"Give me a list with all the entities" GET /:name
"Give me the details for this entity" GET /:name/:id
"Create an entity with this data" POST /:name
"Update this entity with this data" PUT /:name/:id
"Delete this entity" DELETE /:name/:id
Notice that any entity needs an id to work
30. www.erlang-solutions.com
This one has the issue that every repository you
create will come with all these basic CRUD
methods by default, even if any particular
repository doesn't need all of them.
That breaks the YAGNI principle.
But still, it's a very convenient approach for us.
* There are many ways to approach the
Repository pattern.
31. www.erlang-solutions.com
name
Our Repository needs a name to work
Repository
Entity
findAll() → [Entity]
findByID(id) → Entity
create(Entity)
update(Entity)
delete(Entity)
GET /:name/
GET /:name/:id
POST /:name
PUT /:name/:id
DELETE /:name/:id
33. www.erlang-solutions.com
Last, but not least…
We still need to define a place where
our networking code will fall into.
Let's introduce the concept of…
BACKEND
43. www.erlang-solutions.com
✔ Protocol composition
✔ Generics
- Prefer composition over inheritance whenever
possible.
- This way, you end up having a more flexible and
extendable architecture.
- By using generics, you lead your models to
become more adaptive and customizable.
- The final user is going to be happier.
45. www.erlang-solutions.com
● Result
- It's an enum that we're going to use to represent
a result.
- It can be either:
- Success (and hold a relevant result value)
- Failure (and hold a relevant error)
47. www.erlang-solutions.com
● Future
- You should definitely check out this talk:
- https://realm.io/news/swift-summit-javier-soto-futures/
- Anyway, roughly speaking, a Future is a struct
that we're going to use to represent the
computation of an asynchronous task.
53. www.erlang-solutions.com
✔ Static typing / Type inference
✔ Enums with associated values
- Compiler enforces you to use the types you're
expected to use.
- Write less, know more.
- We're getting all the juice from Swift enums by
using them with associated values.
- This allows us to define powerful structures to
represent discrete values containing relevant
information in a proper way.
58. www.erlang-solutions.com
Let's define a Backend:
Associated type: String
Means that any case will
have a .rawValue of type
String.
"GET" "POST" "PUT" "DELETE"
come by default
69. www.erlang-solutions.com
We can use constructor injection in
our NSURLSessionBackend...
With default values
Remember: Using dependency injection helps unit-testing.
70. www.erlang-solutions.com
✔ Dependency Injection
✔ Enums with raw values
- Initializers with default values in their
parameters encourage constructor injection.
- Once again, Swift eases unit-testing.
- Enums can be associated to a type so that their
cases hold a .rawValue of that type.
- You can define their raw values by your own, or let
the compiler do its magic and use the defaults.
73. www.erlang-solutions.com
Let's enhance our error handling...
All of these do not appear as errors in the
networking process...
We usually get a success response with a status code that WE should
interpret as an error, depending on the code (e.g. a 500).
78. www.erlang-solutions.com
From dictionary / To dictionary
In case there's a parsing error (e.g. a missing field).
Remember: You should NEVER initialize an invalid object.
81. www.erlang-solutions.com
✔ ErrorType
✔ Throws
- Error handling has been enhanced in Swift.
- Now you can define your own errors, which
combined with the power of enums and pattern
matching allow you to work in a cleaner way.
- Throwable initializers encourage better exceptions
handling mechanisms, such as try/catch.
- As we saw, you can make your initializers throw any
discrete ErrorType that you define.
82. www.erlang-solutions.com
https://github.com/inaka/JaymeMeet Jayme
✓ Open Source
✓ Issues are welcome
✓ So are Pull Requests
Jayme is basically what we just built, with some other
enhancements that I haven't talked about because of time, for
example:
● Pagination support (PagedRepository)
● More generalization (Backend is more abstract)