There are many ways to start a new Neos-based project and there is a multitude of tools involved. These slides introduce a "perfect" way to set up a Neos project. A recording of the presentation is available at https://youtu.be/hWJSK0pE1H0
Why Your Selenium Tests are so Dang Brittle, and What to Do About ItJay Aho
If you are writing automated through-the-GUI tests for a web application, you are in danger of creating tests that are more expensive to maintain than they are worth. With well-factored Selenium RC tests running in Junit or TestNG, you can keep your abstraction layers or "Lingos" -- small bounded bits of slang for discrete parts of the object model -- separate, thereby reducing the maintenance costs of your tests, and improving your sanity.
This presentation is from a technical track webinar on:
•How and why automated web app code gets so dang brittle
•Why the expressiveness, readability, and fluency of your test code is so important to its maintenance cost
•Some basic, useful OOD patterns for writing very expressive web app tests using Selenium RC, in Java and in C#/.NET
•Some useful OOD principles to guide your design decisions, like keeping modules small, the SRP, DRY, "Lingos", and "Lingual Design"
•Some OOD principles worth violating, frequently, when writing automated test code, because it's just very different from application code
•How and why to prefer element locators like Id and Value attributes to xPath; how to keep xPath least brittle
•An introduction to Domain Specific Languages (DSLs) built on top of Selenium RC, using FitNesse
•An introduction to "fluent" Selenium RC testing using Scala
Prerequisites include experience with Java or C#, and ideally some basic OOD familiarity (inheritance, composition, encapsulation, polymorphism).
To view or download a replay of the event (WMV format), which included live demonstrations, please visit: http://www.pillartechnology.com/content/webinardetail/id/16
Observation: Automated testing is not used with legacy projects.
My goal is to encourage you to start testing. Today I will present you the HOW TO part using CasperJS.
Why Your Selenium Tests are so Dang Brittle, and What to Do About ItJay Aho
If you are writing automated through-the-GUI tests for a web application, you are in danger of creating tests that are more expensive to maintain than they are worth. With well-factored Selenium RC tests running in Junit or TestNG, you can keep your abstraction layers or "Lingos" -- small bounded bits of slang for discrete parts of the object model -- separate, thereby reducing the maintenance costs of your tests, and improving your sanity.
This presentation is from a technical track webinar on:
•How and why automated web app code gets so dang brittle
•Why the expressiveness, readability, and fluency of your test code is so important to its maintenance cost
•Some basic, useful OOD patterns for writing very expressive web app tests using Selenium RC, in Java and in C#/.NET
•Some useful OOD principles to guide your design decisions, like keeping modules small, the SRP, DRY, "Lingos", and "Lingual Design"
•Some OOD principles worth violating, frequently, when writing automated test code, because it's just very different from application code
•How and why to prefer element locators like Id and Value attributes to xPath; how to keep xPath least brittle
•An introduction to Domain Specific Languages (DSLs) built on top of Selenium RC, using FitNesse
•An introduction to "fluent" Selenium RC testing using Scala
Prerequisites include experience with Java or C#, and ideally some basic OOD familiarity (inheritance, composition, encapsulation, polymorphism).
To view or download a replay of the event (WMV format), which included live demonstrations, please visit: http://www.pillartechnology.com/content/webinardetail/id/16
Observation: Automated testing is not used with legacy projects.
My goal is to encourage you to start testing. Today I will present you the HOW TO part using CasperJS.
What Visual Studio Code can do for Java DevelopmentEd Burns
Visual Studio Code has come a long way to become the preferred text editor of polyglot developers thanks to the ecosystem of extensions that enhance and enrich the experience, turning it into a super smart editor with IDE-ish capabilities while remaining ludicrously fast and lightweight. Extensions for editing, running, debugging and deploying Java applications are well stable and supporting latest releases of several components, tools and frameworks, like JDKs, Maven, JUnit and Spring. Other extensions take the experience to the next level: remote development environments through SSH, local or remote Docker containers, or even through the Windows Subsystem for Linux. In this presentation, we will take a look at the core capabilities for Cloud Native Java development and how Java developers can take advantage of them to really focus on what matters most: Java code.
There are tons of awesome new tools produced by terrific companies and developers that get everyone excited about using their fancy new tool-set by essentially starting from scratch. This talk is not about using a fancy new framework and rewriting your entire application. As a developer who has spent the majority of his time working in legacy codebases where the first commits pre-date jQuery, it's hard not to get wrapped up in the "I want to rewrite the whole app with X" mentality. But in reality, time constraints or just the legacy framework you're building your apps with doesn't allow for that. Or, more realistically, it just needs to work and there is no business case for a rewrite. What this talk will show you how you can still enhance your front-end operation within an existing legacy codebase. I'll talk about first steps to modularizing a monolith, or simply taking a portion of a legacy app and modernizing it with a new toolset. This not only helps you as a developer to succeed with new tools, it makes you feel like you aren't being left behind in the modern world. Whether you're using legacy jQuery, or just some crammed together JavaScript, you shouldn't lose the ability to modernize your application, just because you can't buy in 100% to a modern framework.
Tips on how to break apart your monolithic JavaScript
Building an extension method to modularize your application
Creating backcompat methods for legacy code modernization
Using a modern framework for a portion of your app, and integrating that with your existing code.
Other considerations (minification, module loaders, tests, etc)
Scala Days Chicago 2017: Building a Company on ScalaNatalie Vegel
Tapad co-founder and CTO, Dag Liodden, shares best practices on how companies can embrace Scala to spur growth and use the language to help deliver high quality code at high velocity.
An intro to Test Driven Development for Developers and Non-Developers - covering some basics of TDD and ATDD. Presented to UXPA Cleveland at OverDrive on February 27, 2014
PVS-Studio and CppCat: An Interview with Andrey Karpov, the Project CTO and D...Andrey Karpov
The developers of PVS-Studio analyzer regularly publish new articles about their tool (and sometimes about other analyzers as well) where they share the analysis results of various software projects produced by the analyzer and demonstrate code samples in which defects were found. Quite recently, a new product, CppCat, was released, which is a lightweight version of PVS-Studio at a low cost - compared to that of its heavier counterpart. You can find a brief description of the PVS-Studio project for Visual C++ here and here, and for a description of the new product see the article "An Alternative to PVS-Studio at $250".
What Visual Studio Code can do for Java DevelopmentEd Burns
Visual Studio Code has come a long way to become the preferred text editor of polyglot developers thanks to the ecosystem of extensions that enhance and enrich the experience, turning it into a super smart editor with IDE-ish capabilities while remaining ludicrously fast and lightweight. Extensions for editing, running, debugging and deploying Java applications are well stable and supporting latest releases of several components, tools and frameworks, like JDKs, Maven, JUnit and Spring. Other extensions take the experience to the next level: remote development environments through SSH, local or remote Docker containers, or even through the Windows Subsystem for Linux. In this presentation, we will take a look at the core capabilities for Cloud Native Java development and how Java developers can take advantage of them to really focus on what matters most: Java code.
There are tons of awesome new tools produced by terrific companies and developers that get everyone excited about using their fancy new tool-set by essentially starting from scratch. This talk is not about using a fancy new framework and rewriting your entire application. As a developer who has spent the majority of his time working in legacy codebases where the first commits pre-date jQuery, it's hard not to get wrapped up in the "I want to rewrite the whole app with X" mentality. But in reality, time constraints or just the legacy framework you're building your apps with doesn't allow for that. Or, more realistically, it just needs to work and there is no business case for a rewrite. What this talk will show you how you can still enhance your front-end operation within an existing legacy codebase. I'll talk about first steps to modularizing a monolith, or simply taking a portion of a legacy app and modernizing it with a new toolset. This not only helps you as a developer to succeed with new tools, it makes you feel like you aren't being left behind in the modern world. Whether you're using legacy jQuery, or just some crammed together JavaScript, you shouldn't lose the ability to modernize your application, just because you can't buy in 100% to a modern framework.
Tips on how to break apart your monolithic JavaScript
Building an extension method to modularize your application
Creating backcompat methods for legacy code modernization
Using a modern framework for a portion of your app, and integrating that with your existing code.
Other considerations (minification, module loaders, tests, etc)
Scala Days Chicago 2017: Building a Company on ScalaNatalie Vegel
Tapad co-founder and CTO, Dag Liodden, shares best practices on how companies can embrace Scala to spur growth and use the language to help deliver high quality code at high velocity.
An intro to Test Driven Development for Developers and Non-Developers - covering some basics of TDD and ATDD. Presented to UXPA Cleveland at OverDrive on February 27, 2014
PVS-Studio and CppCat: An Interview with Andrey Karpov, the Project CTO and D...Andrey Karpov
The developers of PVS-Studio analyzer regularly publish new articles about their tool (and sometimes about other analyzers as well) where they share the analysis results of various software projects produced by the analyzer and demonstrate code samples in which defects were found. Quite recently, a new product, CppCat, was released, which is a lightweight version of PVS-Studio at a low cost - compared to that of its heavier counterpart. You can find a brief description of the PVS-Studio project for Visual C++ here and here, and for a description of the new product see the article "An Alternative to PVS-Studio at $250".
War of the Machines: PVS-Studio vs. TensorFlowPVS-Studio
"I'll be back" (c). I think everybody knows this phrase. Although, today we aren't going to talk about the return of the terminator, the topic of the article is similar in some way. We'll discuss the analysis of the the machine learning library TensorFlow and will try to find out, if we can sleep peacefully or Skynet is already coming...
This post is about love. About the love of the static code analyzer PVS-Studio, for the great open source Linux operating system. This love is young, touching and fragile. It needs help and care. You will help greatly if you volunteer to help testing the beta-version of PVS-Studio for Linux.
Lean Software Development by DeKnowledge.net
-----------------------------------------------------------------------------
DeKnowledge is the leading provider of project management certifications training workshops and consultancy. In addition to our open enrollment certifications training workshops, we also offer a wide range of management, leadership and technical based courses that can be tailored to fit your organization's needs.
With offices in the USA, The Netherlands and India, we work with clients in USA, Europe, South Africa and Asia. Our mission is to help companies manage their projects/programs more effortlessly and efficiently. We do this by collaborating with our clients in the areas of portfolio/program and project management training workshops and consultancy.
Static Analysis: From Getting Started to IntegrationAndrey Karpov
Sometimes, tired of endless code review and debugging, you start wondering if there are ways to make your life easier. After some googling or merely by accident, you stumble upon the phrase, "static analysis". Let's find out what it is and how it can be used in your project.
PHP Mega Meetup, Sep, 2020, Anti patterns in phpAhmed Abdou
PHP is one of the easiest programming languages to use ever and powers more than half of the internet.
With this ease of use, certain common patterns emerge that become harmful. This is especially true when your product or service is not expected to die soon. Some anti-patterns are coding, others are related to operating your service, especially with new docker stacks. We will go over some of the most common pitfalls with a focus on enterprise development.
During the Neos Conference 2024 I talked – again – about updating Neos. Next to why, when and how you should be updating I talked about going to Neos 9…
The presentation explains how multi-language websites can be built with Neos. But it doesn't stop there, since Neos allows for arbitrary content dimensions - be it for country-specific content, targeting different customer segments, personalization, …
This presentation was given during Inspiring Conference in Kolbermoor on March 28th, 2015.
FLOW3 spearheaded a move towards Git adoption within the TYPO3 project, and we are more pleased every day with the decision to turn away from Subversion and toward GIt.
In this session I explain the workflow we adopted using Git and the code review system Gerrit. I will show how it makes collaborative development more productive and improves code quality at the same time.
Ein Überblick über die Mittel zu Kommunikation und Kollaboration in der TYPO3 Community. Vorgestellt beim 15. "Wissensmanagement Stammtisch Braunschweig" im Mai 2007.
Introduction to what Unicode support in PHP6 means and how it will change the way PHP developers work. Presented at the 3rd International TYPO3 Conference 2007 in Karlsruhe, Germany.
How we plan to implement a Content Repository in pure PHP for use with TYPO3 5.0. Presented at 3rd International TYPO3 Conference 2007 in Karlsruhe, Germany.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
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.
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.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
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.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
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.
In the ever-evolving landscape of technology, enterprise software development is undergoing a significant transformation. Traditional coding methods are being challenged by innovative no-code solutions, which promise to streamline and democratize the software development process.
This shift is particularly impactful for enterprises, which require robust, scalable, and efficient software to manage their operations. In this article, we will explore the various facets of enterprise software development with no-code solutions, examining their benefits, challenges, and the future potential they hold.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
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.
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
8. Disclaimer
The term "best practice" along with "perfect" is very misleading.
There is never the best solution, only a solution that is the best fit in
a given situation.
Keep your brain moving, question what you have and try something
new every now and then.
Take everything you are going to hear as something to think about,
never as a rule.
There is no silver bullet.
14. Some truths
Doing development in sprints is not SCRUM.
Kanban does not magically finish your project.
Not giving a fixed price (or even an estimate) to your
client might be hard.
But spending days or even weeks to come up with a
plan that will inevitably change anyway would be
waste.
38. Think about Fusion.
It seems intimidating at first, then you
start to get the hang of it.
And think "Ah, that's how it works!”
Except it doesn’t.
And then things start to feel awkward.
39. Keep learning. Adopt new
things. Question your own
best practice.
Take the time, it's worth it.
48. Neos plugin
by Christian Vette
https://github.com/cvette/intellij-neos
Fluid plugin
by Stefan Galinski
https://www.sgalinski.de/typo3-produkte-webentwicklung/typo3-fluid-phpstorm-intellij/
61. Check security
Consider using a service like Symfony Security
Monitoring or implement something using the
SensioLabs Security Checker or roave/security-
advisories.
67. Running things locally
For ages all I had was a local setup
of Apache with mod_php and name-
based virtual hosting, combined
with dnsmasq.
68. Just clone any Flow-based project
into a directory and it's available
through the web server. 🙂
69. Must switch globally between PHP
versions if needed, every project
has the same environment (PHP
modules, settings, …), specific tools
a project needs would need to be
installed on my machine, … 🙁
70.
71. With Docker every project can be
run in an environment that can
closely match the production
environment.
95. Repository of
test/distribution and
test/a and test/b
Need to commit in one
repositories
Must update composer.lock
only after changes to
dependencies in test/a or
test/b
96. • Use path repository for
composer
• Exclude source folder from IDE
• Ignore Packages in VCS
• Composer will “install” via
symbolic links
• Dependencies are resolved as
expected
• One repository to rule them all
122. You have a managed server, but the hoster is inflexible.
You must not change server settings yourself, but the
admin is in a meeting. No access to log files, but the
support sends the logs except the interesting line at the
end. SSH is possible, but permissions don’t match. You
need PHP 7, but are stuck at version 5.3, because of other
customers on the same server.
Every developer at some point in history