The document discusses the importance of code analysis and style guidelines for maintaining consistent and readable code. It provides examples of inconsistencies that can arise without standards and recommends using tools like plone.recipe.codeanalysis to enforce guidelines. Style guides help reduce cognitive load on developers by standardizing formatting and structures.
The document discusses improving quality assurance (QA) practices for software development. It recommends using tools like flake8, continuous integration (CI), and plone.recipe.codeanalysis to automate QA checks. Automating as many checks as possible through tools reduces manual effort and ensures quality is considered from the first commit. The goal is to enable refactoring and make it easier for newcomers to contribute, with the overall takeaway being that quality should be part of every development action through rigorous but not overly burdensome automated testing and linting.
This document introduces plone.api, which provides a simple Python API for common Plone development tasks. It aims to cover 20% of tasks developers do 80% of the time through clear and discoverable API methods. The goals are to keep everything in one place, stay introspectable and discoverable, and be Pythonic. It was developed using test-driven development, sprint sessions helped contribute. Examples show how it can get the portal root or check permissions in a cleaner way than before. Future work may include more methods to make additional common tasks simpler.
The document discusses recurring issues seen in production systems that were originally developed by freelance developers for proofs-of-concept. It then provides a "10 trivial commandments" list of best practices for developers to follow when building production-ready systems, including thinking through requirements before coding, avoiding unnecessary code, removing duplication, following separation of concerns principles, and using version control. The author is a project manager at Sergata, a software company that provides full-stack development solutions.
Moving to Git opens up a whole new level of agility for software teams. Freed from the clunky code freezes and monolithic mega-merges that plague centralized version control, developers can isolate work in progress and build in narrow vertical slices with ease. Branching is so painless with Git that many teams are making new branches for each user story or bug fix they implement. This model is quickly becoming the new gold standard for agile teams – and for good reason!
Git is not just a version control system. Git can change the way you interact with your team members. Lot’s of teams don’t think about reflecting their development workflow in Git and just use it out-of-the-box. Git, however, can be much more powerful, giving your team a boost in productivity, protecting your delivery pipeline and helping you to work better together.
In this session we will start with a central workflow that is used by a lot of Subversion teams. You will learn how to practically integrate ALM solutions like continuous deployment, code reviews, change tracking and much more into your individual workflow. You will find out how to protect your master branch from accidental commits, broken builds and unreviewed code. This presentation will help you discover the best way to work together as a team – whether you’re yet to migrate to Git or even an experienced Git user.
Waste Driven Development - Agile Coaching Serbia MeetupLemi Orhan Ergin
This document discusses lean thinking and waste-driven development for software developers. It argues that traditional software development practices lead to a lot of waste, including defects, rework, slow development cycles, and lack of value delivery to customers. It promotes applying lean principles from manufacturing to software development, such as focusing on value delivery, eliminating waste, keeping codebases small and modular, automating everything, having high transparency, and challenging common paradigms. Documentation is identified as a particular type of waste.
The document discusses the importance of code analysis and style guidelines for maintaining consistent and readable code. It provides examples of inconsistencies that can arise without standards and recommends using tools like plone.recipe.codeanalysis to enforce guidelines. Style guides help reduce cognitive load on developers by standardizing formatting and structures.
The document discusses improving quality assurance (QA) practices for software development. It recommends using tools like flake8, continuous integration (CI), and plone.recipe.codeanalysis to automate QA checks. Automating as many checks as possible through tools reduces manual effort and ensures quality is considered from the first commit. The goal is to enable refactoring and make it easier for newcomers to contribute, with the overall takeaway being that quality should be part of every development action through rigorous but not overly burdensome automated testing and linting.
This document introduces plone.api, which provides a simple Python API for common Plone development tasks. It aims to cover 20% of tasks developers do 80% of the time through clear and discoverable API methods. The goals are to keep everything in one place, stay introspectable and discoverable, and be Pythonic. It was developed using test-driven development, sprint sessions helped contribute. Examples show how it can get the portal root or check permissions in a cleaner way than before. Future work may include more methods to make additional common tasks simpler.
The document discusses recurring issues seen in production systems that were originally developed by freelance developers for proofs-of-concept. It then provides a "10 trivial commandments" list of best practices for developers to follow when building production-ready systems, including thinking through requirements before coding, avoiding unnecessary code, removing duplication, following separation of concerns principles, and using version control. The author is a project manager at Sergata, a software company that provides full-stack development solutions.
Moving to Git opens up a whole new level of agility for software teams. Freed from the clunky code freezes and monolithic mega-merges that plague centralized version control, developers can isolate work in progress and build in narrow vertical slices with ease. Branching is so painless with Git that many teams are making new branches for each user story or bug fix they implement. This model is quickly becoming the new gold standard for agile teams – and for good reason!
Git is not just a version control system. Git can change the way you interact with your team members. Lot’s of teams don’t think about reflecting their development workflow in Git and just use it out-of-the-box. Git, however, can be much more powerful, giving your team a boost in productivity, protecting your delivery pipeline and helping you to work better together.
In this session we will start with a central workflow that is used by a lot of Subversion teams. You will learn how to practically integrate ALM solutions like continuous deployment, code reviews, change tracking and much more into your individual workflow. You will find out how to protect your master branch from accidental commits, broken builds and unreviewed code. This presentation will help you discover the best way to work together as a team – whether you’re yet to migrate to Git or even an experienced Git user.
Waste Driven Development - Agile Coaching Serbia MeetupLemi Orhan Ergin
This document discusses lean thinking and waste-driven development for software developers. It argues that traditional software development practices lead to a lot of waste, including defects, rework, slow development cycles, and lack of value delivery to customers. It promotes applying lean principles from manufacturing to software development, such as focusing on value delivery, eliminating waste, keeping codebases small and modular, automating everything, having high transparency, and challenging common paradigms. Documentation is identified as a particular type of waste.
Building Enterprise IoT Projects Iteratively - Vui NguyenWithTheBest
The document discusses how to build enterprise IoT projects iteratively using an example water pipe monitoring system. It describes how the system started as a proof of concept at a hackathon using basic sensors (Phase 1) and was iteratively improved by adding a web interface (Phase 2) and scaling to monitor multiple pipes (Phase 3). The key lessons are to start small, prove concepts work, and scale features over time while maintaining scope and deadlines. Iterative development allows projects to grow from initial prototypes to full enterprise solutions.
Efi Merdler Kravitz - 7 things you should know before going serverlessAWSCOMSUM
This document provides recommendations for developing serverless applications. It discusses 7 key areas to consider:
1. Design - Address cold starts through techniques like keeping lambdas warm and reducing package size. Estimate concurrency needs and load test.
2. Development Environment - Consider shared vs individual environments and maintain a visual architecture map.
3. Testing - Test applications in the cloud rather than locally.
4. Deployment - Use gradual deployments and infrastructure as code. Allow individual environments.
5. Monitoring - Consider log aggregation and define CloudWatch alerts. Monitor costs.
6. Tracing - Understand application flows.
7. Learning - Follow serverless experts on Twitter like Yan C
It's all about feedback - code review as a great tool in the agile toolboxStefan Lay
This document discusses how code review can be a valuable tool for agile teams. It provides arguments for how code review complements pair programming by allowing for asynchronous feedback from multiple reviewers. It also describes best practices for code review, such as keeping changes small and focused. The document advocates for using Git and Gerrit to facilitate code review at scale across large projects and multiple teams. Standardization of infrastructure and processes like contributor guides are highlighted as important for collaboration.
Continuous Delivery is considered a holy grail of a software company. This practice allows to ship product to millions of users in a matter of minutes. Tooling is an important part of process, but when the company is growing, there's more to the story.
This talk discusses engineering practices, values, and engineering culture of the company. They enable the company to ship code on the high pace.
OpenTuesday: Aktuelle Standards der agilen SoftwareentwicklungDigicomp Academy AG
Dieses OpenTuesday-Referat von Michael Palotas ging gezielt auf die sogenannten «Agile Engineering Practices» ein und zeigte anhand praktischer Beispiele auf, wie die Anwendung dieser Praktiken als Enabler für agile Softwareentwicklung fungieren.
Es gibt wohl kaum eine Firma, bei der agile Softwareentwicklung kein Thema ist. Viele Organisationen haben sich schon auf den Weg begeben, agil zu werden. Im ersten Schritt bedeutet dies in der Regel, die Prozesse auf eine agile Methodik wie z.B. SCRUM zu ändern.
Auf der Strecke bleiben jedoch oft die (agilen) Entwicklungs-, Test- und Liefermethoden wie Continuous Integration, Test-Automatisierung, Test Driven Development, Pair Programming etc., die eine agile Vorgehensweise erst richtig ermöglichen.
Atlassian - The Latest & Greatest April 2014Sven Peters
Sven Peters provides an overview of upcoming Atlassian events in September, June, and April-May in various cities. The document also summarizes new features for Confluence, including improved task management with the ability to mention people, add tasks to lists from different sources, and generate task reports. It notes that some slides contain restricted content and are not for public discussion.
Will this work for some Social posts? Brandon Powell gives insight on how to debug your deployments. Learn how to make "unhappy pipelines" happy. Watch It Now.
Join the Developer workshop to learn about the many options there are for developers to extend and integrate with the Splunk platform by using our various language SDKs, the Web Framework , creating custom components such as Search Commands and Modular Inputs and ultimately understanding the potential opportunity for you in creating your own Splunk Apps.
This document provides information for developers about using Splunk. It discusses how Splunk can help with development workflows by providing visibility across the development toolchain. It explains what types of data can be analyzed in Splunk, including code review logs, version control logs and APIs, build logs, and task tracking logs. The document then discusses building Splunk apps, noting that anyone can be a Splunk app developer. It outlines the various ways developers can build apps, including using the REST API, SDKs, and XML. The document walks through building a sample app that finds data, gets it into Splunk, searches it, and visualizes it. It concludes by providing resources for developers to learn more about building apps with Splunk
How To Do Kick-Ass Software DevelopmentSven Peters
With Kick-Ass Software Development you actually get stuff done. Feedback cycles are short, code quality is awesome and customers get the features they lust after. Less mangers managing, less testers testing and less IT-operators operating. The developers take the power back, making them much happier. Sound like paradise? It is! This session will show you how we do Kick-Ass Software Development at Atlassian.
I talk about how we: use pull requests for better code quality; collaborate fast to develop ideas; avoid meetings to get more stuff done; tighten our feedback loops to fail faster; shorten our release cycles; and work together happily on different continents. It's a great way to develop software and we think it can work in your company, too.
Watch the video if this talk: http://vimeo.com/70102926
This document discusses pair programming and provides guidance on how to effectively implement it. It begins by explaining the purpose of pair programming is to produce high quality software. It then discusses various pairing techniques like ping-pong pairing and mob programming. The document also identifies benefits like higher quality code and faster defect removal, as well as challenges like being tiring. Finally, it provides tips for making pairing work well such as starting with a defined task, switching roles frequently, and not forcing people who strongly dislike pairing.
TDC2016POA | Trilha UX Design - Teste de usabilidade na Sprint; Entrega contí...tdc-globalcode
The document discusses user experience (UX) testing in an agile development process. It recommends conducting various UX design activities like creating personas, wireframes, and low-fidelity prototypes during sprints. Usability testing should involve tasks with 5 users to identify 85% of UX problems. The results help improve the product and ensure the minimum viable product delivers value to users. Continuous collaboration between teams is important to achieve continuous innovation.
The document discusses OSGi versioning and testing. It covers:
1) The importance of versioning software and maintaining backwards compatibility when evolving APIs. OSGi version numbers encode compatibility at the bundle and package level.
2) Best practices for OSGi development including writing decoupled code, using mocks for dependencies, and employing test-driven development.
3) The challenges of testing OSGi applications and approaches for testing bundles in isolation while still testing integration and the full system.
TDD is the elengant way of designing software. People scares from it so much, because software design is hard and it requires discipline. In this talk, I tried to describe what TDD is from software design perspective.
This document summarizes an agenda for a talk on TypeScript and test-driven development. It introduces TypeScript, discusses test-driven development principles and code katas. It then outlines doing a string calculator kata with TypeScript, Visual Studio and Jasmine as an example. The speaker is introduced as a technical lead who enjoys test-driven development, software architecture and TypeScript.
Tobias Leisgang presented at Agile 2012 on applying agile principles to integrated circuit development. Some key points:
1) Agile development approaches promote close, frequent collaboration between business and technical teams to deliver working software in short iterations, from a few weeks to a few months.
2) An analogy was drawn between agile software development and a soccer team, where a project is broken into short "steps" or sprints and flexibility and adaptation are valued over rigid plans.
3) Applying agile principles like iterative development, adaptive planning, frequent working software delivery, and collaborative self-organizing teams can help effectively manage uncertainty in integrated circuit development projects.
Google has developed the programming language called Go. Go is a freedom-respecting and open source programming language and it is designed by Robert Griesemer, Rob Pike, and Ken Thompson in the year 2007. Go language was released in 2009. The syntax of the Go language resembles the C programming language and Go language is a statically typed programming language which is often called golang. Go language is detailed understood by golang online course.
This talk has been given at iOSDevUK Conference 2018 about DevOps for iOS apps. iOSDevUK 8 has been organised by Aberystwyth University. This talks covers tips and tricks of speeding of Swift build, test and release process. It also covers App Store Connect API.
For creating great software products it is key to have a good set of developing practices. In this talk I go over some of the most important patterns and strategies for developing products in Python.
The talk was given at Imperial College London in June 2018.
Building Enterprise IoT Projects Iteratively - Vui NguyenWithTheBest
The document discusses how to build enterprise IoT projects iteratively using an example water pipe monitoring system. It describes how the system started as a proof of concept at a hackathon using basic sensors (Phase 1) and was iteratively improved by adding a web interface (Phase 2) and scaling to monitor multiple pipes (Phase 3). The key lessons are to start small, prove concepts work, and scale features over time while maintaining scope and deadlines. Iterative development allows projects to grow from initial prototypes to full enterprise solutions.
Efi Merdler Kravitz - 7 things you should know before going serverlessAWSCOMSUM
This document provides recommendations for developing serverless applications. It discusses 7 key areas to consider:
1. Design - Address cold starts through techniques like keeping lambdas warm and reducing package size. Estimate concurrency needs and load test.
2. Development Environment - Consider shared vs individual environments and maintain a visual architecture map.
3. Testing - Test applications in the cloud rather than locally.
4. Deployment - Use gradual deployments and infrastructure as code. Allow individual environments.
5. Monitoring - Consider log aggregation and define CloudWatch alerts. Monitor costs.
6. Tracing - Understand application flows.
7. Learning - Follow serverless experts on Twitter like Yan C
It's all about feedback - code review as a great tool in the agile toolboxStefan Lay
This document discusses how code review can be a valuable tool for agile teams. It provides arguments for how code review complements pair programming by allowing for asynchronous feedback from multiple reviewers. It also describes best practices for code review, such as keeping changes small and focused. The document advocates for using Git and Gerrit to facilitate code review at scale across large projects and multiple teams. Standardization of infrastructure and processes like contributor guides are highlighted as important for collaboration.
Continuous Delivery is considered a holy grail of a software company. This practice allows to ship product to millions of users in a matter of minutes. Tooling is an important part of process, but when the company is growing, there's more to the story.
This talk discusses engineering practices, values, and engineering culture of the company. They enable the company to ship code on the high pace.
OpenTuesday: Aktuelle Standards der agilen SoftwareentwicklungDigicomp Academy AG
Dieses OpenTuesday-Referat von Michael Palotas ging gezielt auf die sogenannten «Agile Engineering Practices» ein und zeigte anhand praktischer Beispiele auf, wie die Anwendung dieser Praktiken als Enabler für agile Softwareentwicklung fungieren.
Es gibt wohl kaum eine Firma, bei der agile Softwareentwicklung kein Thema ist. Viele Organisationen haben sich schon auf den Weg begeben, agil zu werden. Im ersten Schritt bedeutet dies in der Regel, die Prozesse auf eine agile Methodik wie z.B. SCRUM zu ändern.
Auf der Strecke bleiben jedoch oft die (agilen) Entwicklungs-, Test- und Liefermethoden wie Continuous Integration, Test-Automatisierung, Test Driven Development, Pair Programming etc., die eine agile Vorgehensweise erst richtig ermöglichen.
Atlassian - The Latest & Greatest April 2014Sven Peters
Sven Peters provides an overview of upcoming Atlassian events in September, June, and April-May in various cities. The document also summarizes new features for Confluence, including improved task management with the ability to mention people, add tasks to lists from different sources, and generate task reports. It notes that some slides contain restricted content and are not for public discussion.
Will this work for some Social posts? Brandon Powell gives insight on how to debug your deployments. Learn how to make "unhappy pipelines" happy. Watch It Now.
Join the Developer workshop to learn about the many options there are for developers to extend and integrate with the Splunk platform by using our various language SDKs, the Web Framework , creating custom components such as Search Commands and Modular Inputs and ultimately understanding the potential opportunity for you in creating your own Splunk Apps.
This document provides information for developers about using Splunk. It discusses how Splunk can help with development workflows by providing visibility across the development toolchain. It explains what types of data can be analyzed in Splunk, including code review logs, version control logs and APIs, build logs, and task tracking logs. The document then discusses building Splunk apps, noting that anyone can be a Splunk app developer. It outlines the various ways developers can build apps, including using the REST API, SDKs, and XML. The document walks through building a sample app that finds data, gets it into Splunk, searches it, and visualizes it. It concludes by providing resources for developers to learn more about building apps with Splunk
How To Do Kick-Ass Software DevelopmentSven Peters
With Kick-Ass Software Development you actually get stuff done. Feedback cycles are short, code quality is awesome and customers get the features they lust after. Less mangers managing, less testers testing and less IT-operators operating. The developers take the power back, making them much happier. Sound like paradise? It is! This session will show you how we do Kick-Ass Software Development at Atlassian.
I talk about how we: use pull requests for better code quality; collaborate fast to develop ideas; avoid meetings to get more stuff done; tighten our feedback loops to fail faster; shorten our release cycles; and work together happily on different continents. It's a great way to develop software and we think it can work in your company, too.
Watch the video if this talk: http://vimeo.com/70102926
This document discusses pair programming and provides guidance on how to effectively implement it. It begins by explaining the purpose of pair programming is to produce high quality software. It then discusses various pairing techniques like ping-pong pairing and mob programming. The document also identifies benefits like higher quality code and faster defect removal, as well as challenges like being tiring. Finally, it provides tips for making pairing work well such as starting with a defined task, switching roles frequently, and not forcing people who strongly dislike pairing.
TDC2016POA | Trilha UX Design - Teste de usabilidade na Sprint; Entrega contí...tdc-globalcode
The document discusses user experience (UX) testing in an agile development process. It recommends conducting various UX design activities like creating personas, wireframes, and low-fidelity prototypes during sprints. Usability testing should involve tasks with 5 users to identify 85% of UX problems. The results help improve the product and ensure the minimum viable product delivers value to users. Continuous collaboration between teams is important to achieve continuous innovation.
The document discusses OSGi versioning and testing. It covers:
1) The importance of versioning software and maintaining backwards compatibility when evolving APIs. OSGi version numbers encode compatibility at the bundle and package level.
2) Best practices for OSGi development including writing decoupled code, using mocks for dependencies, and employing test-driven development.
3) The challenges of testing OSGi applications and approaches for testing bundles in isolation while still testing integration and the full system.
TDD is the elengant way of designing software. People scares from it so much, because software design is hard and it requires discipline. In this talk, I tried to describe what TDD is from software design perspective.
This document summarizes an agenda for a talk on TypeScript and test-driven development. It introduces TypeScript, discusses test-driven development principles and code katas. It then outlines doing a string calculator kata with TypeScript, Visual Studio and Jasmine as an example. The speaker is introduced as a technical lead who enjoys test-driven development, software architecture and TypeScript.
Tobias Leisgang presented at Agile 2012 on applying agile principles to integrated circuit development. Some key points:
1) Agile development approaches promote close, frequent collaboration between business and technical teams to deliver working software in short iterations, from a few weeks to a few months.
2) An analogy was drawn between agile software development and a soccer team, where a project is broken into short "steps" or sprints and flexibility and adaptation are valued over rigid plans.
3) Applying agile principles like iterative development, adaptive planning, frequent working software delivery, and collaborative self-organizing teams can help effectively manage uncertainty in integrated circuit development projects.
Google has developed the programming language called Go. Go is a freedom-respecting and open source programming language and it is designed by Robert Griesemer, Rob Pike, and Ken Thompson in the year 2007. Go language was released in 2009. The syntax of the Go language resembles the C programming language and Go language is a statically typed programming language which is often called golang. Go language is detailed understood by golang online course.
This talk has been given at iOSDevUK Conference 2018 about DevOps for iOS apps. iOSDevUK 8 has been organised by Aberystwyth University. This talks covers tips and tricks of speeding of Swift build, test and release process. It also covers App Store Connect API.
For creating great software products it is key to have a good set of developing practices. In this talk I go over some of the most important patterns and strategies for developing products in Python.
The talk was given at Imperial College London in June 2018.
Continuous Delivery for Python Developers – PyCon OttoPeter Bittner
Peter Bittner presented on continuous delivery for Python developers. He defined continuous delivery as building, testing, and releasing software faster and more frequently to put release schedules in the hands of business rather than IT. He discussed that continuous delivery requires version control, code reviews, build servers, artifact storage, hosting, and monitoring. He provided Python-specific examples of using tools like Tox, pytest, Docker, Travis CI, and README files to implement continuous delivery for a Python project.
The document discusses best practices for test-driven development (TDD) and API contract testing. It introduces TDD foundations like writing tests before code and the red-green-refactor cycle. Tools for TDD like mocking frameworks and behavior-driven development are presented. The concepts of stubs, mocks, and service virtualization are explained. An API contract-first approach is advocated to facilitate automated testing. The key benefits of TDD and resources for further learning are summarized.
This document provides information about Ippon, a consulting agency that specializes in digital, cloud, and data services. Some key details:
- Ippon has been in business since 2002 and has grown to include 360 collaborators across 4 continents.
- In 2018, Ippon's annual sales were 38 million euros.
- The document discusses JHipster, an open source development platform that Ippon uses to generate, develop, and deploy web applications using technologies like Spring Boot, Angular, React, and Vue.js.
- It provides an overview of how JHipster can help with modern web app requirements, developer productivity, and building production-ready and scalable software.
Test-driven Development (TDD) is still a subject all developers agree is a great thing, but never get around to actually doing it for many reasons. In this workshop, I use real-world business requirements on legacy code for which we need to fix bugs and add features, but we’re doing it in a TDD way.
My presentation at Arvato Systems about TDD. This presentation is based on my own knowledge and experience. I go through two full TDD cycles programmed in Eclipse presenting the written code in the presentation.
The document discusses Test Driven Development (TDD) in PHP. It provides an overview of TDD, the benefits it provides like high cohesion and loose coupling, and some drawbacks. It then demonstrates a live coding example of TDD in PHP by building a simple integer calculator using PHPUnit for a math tutor application. Resources for learning more about TDD, PHPUnit, and Xdebug are also included.
How to Upgrade to the Newest Shiniest Django VersionSusan Tan
This document summarizes Susan's presentation on upgrading Django projects. The presentation covered:
- Why upgrades are important for getting new features, fixes and security updates.
- The steps involved in upgrading include running tests, fixing broken tests one by one, checking that fewer tests fail with each new version, verifying the UI still works, and editing deployment files.
- Challenges include dependencies breaking, release notes documenting changes that require code updates, and the repetitive nature of fixing tests across multiple versions.
- The key takeaways are to upgrade one version at a time, run and fix tests with each version, read release notes, break tasks into small steps, and use checklists to track progress
Accelerate Your Delivery Pipeline with Continuous TestingSmartBear
The document discusses continuous testing in a DevOps pipeline. It describes a 4 step process: 1) Testing the idea by defining user stories and assumptions with BDD, 2) Testing the code by automating tests and integrating them into CI/CD, 3) Testing in production by monitoring metrics and performance, and 4) Iterating based on usage data and completing the test/deploy cycle. The benefits are validating value, incremental quality improvements, and an environment suitable for experiments.
The document provides an overview of agile principles and practices. It discusses what agile is, principles behind the agile manifesto like satisfying customers through early delivery, welcoming changing requirements, having business and developers work together daily, and using face-to-face conversation. It also covers agile practices like Scrum, Kanban, and product backlogs. Challenges of adopting agile like managing projects and contracting are addressed as well as common causes of failed agile projects like lack of management support and understanding of agile.
Stanislav Khorunzhyi, "Front-end it like a PRO"Sigma Software
This document provides 12 tips for front-end developers to code like a pro, including always using form tags for forms, adding labels for inputs, configuring linters from the beginning, adding Git hooks to run linters on commit/push, understanding transpilation processes, using modern array methods, and optimizing final bundles through lazy loading and bundle analysis. Key recommendations are to focus on semantics, accessibility, best practices for code quality and performance.
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...Institut Lean France
This is the true story of a software creation team who wanted to double its productivity. See how a PDCA-like approach led to implement Dojo and Mob programming practices, what worked and what could be improved.
Agile teams who want to increase their skills and efficiency through a standardized way of sharing knowledge amongst team members will learn a lot here. More about Lean in IT on www.lean-it-summit.com
This document outlines an introductory workshop on JavaScript. It introduces the instructor and TAs, discusses Thinkful's approach to learning, and covers key JavaScript concepts like variables, functions, if/else statements, and parameters. The agenda includes learning JavaScript concepts, completing assignments with support, and reviewing answers. It also provides context on the history and modern use of JavaScript, and how the web works with clients and servers. Suggestions are given for continuing to learn JavaScript after the workshop.
This document summarizes steps for installing and configuring Jenkins for continuous integration of Python projects, including installing Jenkins, cloning a sample Python project, installing requirements, and listing some useful testing commands like pytest, pyflakes, and pep8.
TDD BDD PHP - Sviluppo guidato dai test in PHP con phpspecPatrick Luca Fazzi
Phpspec è uno strumento che può aiutarci a scrivere codice pulito e funzionante facilitandoci nell'adottare delle pratiche di Behaviour-Driven Development (BDD). Ma cos’è il BDD? Qual è la differenza tra il BDD e il Test-Driven Development (TDD)? Quali sono le differenze tra le famiglie di tool xSpec e xUnit? Quali strumenti mette a disposizione l’ecosistema PHP per praticare il TDD?
xUnit and TDD: Why and How in Enterprise Software, August 2012Justin Gordon
“A comprehensive suite of JUnit tests is one of the most import aspects of a software project because it reduces bugs, facilitates adding new developers, and enables refactoring and performance tuning with confidence. Test-driven development (TDD) is the best way to build a suite of tests. And the Dependent Object Framework is the best way to test against database objects.” This presentation covers the benefits of TDD along with practical advice on how to implement TDD in complex projects.
How to feature flag and run experiments in iOS and AndroidOptimizely
Join Tom Zurkan and Kody O’Connell from Optimizely’s Engineering and Developer Relations teams to learn about the developer experience for the iOS and Android SDKs.
In this webinar, you’ll learn:
- How feature flagging sets a strong foundation for app development
- How the iOS and Android SDKs work
- What to expect when implementing and maintaining Full Stack in your app
- The steps to create feature flags and experiments in your app
- How to get started for free with Optimizely Rollouts
Similar to JHipster conf : craftsmanship & tdd (20)
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.
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
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
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
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
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
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.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
When it is all about ERP solutions, companies typically meet their needs with common ERP solutions like SAP, Oracle, and Microsoft Dynamics. These big players have demonstrated that ERP systems can be either simple or highly comprehensive. This remains true today, but there are new factors to consider, including a promising new contender in the market that’s Odoo. This blog compares Odoo ERP with traditional ERP systems and explains why many companies now see Odoo ERP as the best choice.
What are ERP Systems?
An ERP, or Enterprise Resource Planning, system provides your company with valuable information to help you make better decisions and boost your ROI. You should choose an ERP system based on your company’s specific needs. For instance, if you run a manufacturing or retail business, you will need an ERP system that efficiently manages inventory. A consulting firm, on the other hand, would benefit from an ERP system that enhances daily operations. Similarly, eCommerce stores would select an ERP system tailored to their needs.
Because different businesses have different requirements, ERP system functionalities can vary. Among the various ERP systems available, Odoo ERP is considered one of the best in the ERp market with more than 12 million global users today.
Odoo is an open-source ERP system initially designed for small to medium-sized businesses but now suitable for a wide range of companies. Odoo offers a scalable and configurable point-of-sale management solution and allows you to create customised modules for specific industries. Odoo is gaining more popularity because it is built in a way that allows easy customisation, has a user-friendly interface, and is affordable. Here, you will cover the main differences and get to know why Odoo is gaining attention despite the many other ERP systems available in the market.
4. Test pyramid.
Integration
End to End
Granularity of automated tests
Jest
ProtractorProtractor
Unit
Jest
“Embedded” database
Spring Boot Test
JUnit
5. What is TDD?
2
I make the simplest
implementation
I create a new test,
it fails
I refactor my code to make it more
elegant and maintainable
TDD
1
3
Development guided by tests
9. What is TDD?
2
I make the simplest
implementation
I create a new test,
it fails
I refactor my code to make it more
elegant and maintainable
TDD
1
3
Development guided by tests
10. How to apply TDD to a JHipster webapp?
implementation
new e2e failing test
code refactor
TDD
1
3
Development guided by tests
new unit
failing test
TDD
code refactor
3 2
implementation1