Applets are small java programs which have no main method. You can see applets in a browser or applet viewer.
Life cycle of applets
1. init(): Calls only ones in an applet's lifecycle when the browser window opens.
2.start(): Calls after init() when the applet becomes active.
3. paint(): Invoke immediately after start().
4. stop(): Applet becomes temporarily inactive.
5. destroy(): Calls once in applets lifecycle when the browser window shuts down.
Swing is a lightweight component compare to applets.
Applets need HTML code to run but swings are stand alone applications.
Applets need a browser for execution but in swings, there is no need of browser for the execution.
Now to answer, “What is Testing?” we can go by the famous definition of Myers, which says, “Testing is the process of executing a program with the intent of finding errors”
Applets are small java programs which have no main method. You can see applets in a browser or applet viewer.
Life cycle of applets
1. init(): Calls only ones in an applet's lifecycle when the browser window opens.
2.start(): Calls after init() when the applet becomes active.
3. paint(): Invoke immediately after start().
4. stop(): Applet becomes temporarily inactive.
5. destroy(): Calls once in applets lifecycle when the browser window shuts down.
Swing is a lightweight component compare to applets.
Applets need HTML code to run but swings are stand alone applications.
Applets need a browser for execution but in swings, there is no need of browser for the execution.
Now to answer, “What is Testing?” we can go by the famous definition of Myers, which says, “Testing is the process of executing a program with the intent of finding errors”
The 7 software testing principles briefly explained. Everyone who works in software development company should know these principles.
It happens frequently that testers or qa people are not taken into account as part of the process in the software development lifecycle and this happens expecially when the principles are not known.
TOPS Technologies offer Professional Software Testing Training in Ahmedabad.
Ahmedabad Office (C G Road)
903 Samedh Complex,
Next to Associated Petrol Pump,
CG Road,
Ahmedabad 380009.
http://www.tops-int.com/live-project-training-software-testing.html
Most experienced IT Training Institute in Ahmedabad known for providing software testing course as per Industry Standards and Requirement.
Here are the preparation slides for chapter 1 from ISTQB Foundation Level Certification syllabus. Hope it is useful.
Here is link to my complete course ISTQB - Foundation Level Certification (CTFL) Training Udemy with 40% discount.
https://www.udemy.com/istqb-foundation-level-certification-ctfl-training/?couponCode=SAGARREF
Coupon code: SAGARREF
** Software Testing Certification Courses: https://www.edureka.co/software-testi... **
This Edureka PPT on Types of Software Testing covers the various types of functional and non-functional testing. Below topics are covered in this PPT:
What is Software Testing
Why need Testing?
Software Testing Life Cycle
Types of Software Testing
Unit Testing
Integration Testing
System Testing
Interface Testing
Regression Testing
Acceptance Testing
Documentation Testing
Installation Testing
Performance Testing
Reliability Testing
Security Testing
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Manual testing interview questions and answersTestbytes
Manual tester jobs are in plenty out there. The skill is greatly in demand owing to the sudden rise in the importance of QA/software testing in software development there will be a sustained demand for the job. When it comes to manual tester jobs, interviews might be happening as you read this. To be a part of a prestigious company, you need to first crack the interview which often has a verbal section where you have to answer manual testing interview questions.
SO when have compiled the most probable manual testing interview questions in this blog so that you can ace the next manual tester interview with ease.
You can find all of them here also--> https://www.testbytes.net/blog/manual-testing-interview-questions-answers/
An introduction to unit testing using Visual Studio, C#, xUnit.net, and Moq. What it is, what is isn't, why we don't do it, how to design for testability, what to test, test driven development, unit testing frameworks, mocking libraries, how to get started.
The 7 software testing principles briefly explained. Everyone who works in software development company should know these principles.
It happens frequently that testers or qa people are not taken into account as part of the process in the software development lifecycle and this happens expecially when the principles are not known.
TOPS Technologies offer Professional Software Testing Training in Ahmedabad.
Ahmedabad Office (C G Road)
903 Samedh Complex,
Next to Associated Petrol Pump,
CG Road,
Ahmedabad 380009.
http://www.tops-int.com/live-project-training-software-testing.html
Most experienced IT Training Institute in Ahmedabad known for providing software testing course as per Industry Standards and Requirement.
Here are the preparation slides for chapter 1 from ISTQB Foundation Level Certification syllabus. Hope it is useful.
Here is link to my complete course ISTQB - Foundation Level Certification (CTFL) Training Udemy with 40% discount.
https://www.udemy.com/istqb-foundation-level-certification-ctfl-training/?couponCode=SAGARREF
Coupon code: SAGARREF
** Software Testing Certification Courses: https://www.edureka.co/software-testi... **
This Edureka PPT on Types of Software Testing covers the various types of functional and non-functional testing. Below topics are covered in this PPT:
What is Software Testing
Why need Testing?
Software Testing Life Cycle
Types of Software Testing
Unit Testing
Integration Testing
System Testing
Interface Testing
Regression Testing
Acceptance Testing
Documentation Testing
Installation Testing
Performance Testing
Reliability Testing
Security Testing
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Manual testing interview questions and answersTestbytes
Manual tester jobs are in plenty out there. The skill is greatly in demand owing to the sudden rise in the importance of QA/software testing in software development there will be a sustained demand for the job. When it comes to manual tester jobs, interviews might be happening as you read this. To be a part of a prestigious company, you need to first crack the interview which often has a verbal section where you have to answer manual testing interview questions.
SO when have compiled the most probable manual testing interview questions in this blog so that you can ace the next manual tester interview with ease.
You can find all of them here also--> https://www.testbytes.net/blog/manual-testing-interview-questions-answers/
An introduction to unit testing using Visual Studio, C#, xUnit.net, and Moq. What it is, what is isn't, why we don't do it, how to design for testability, what to test, test driven development, unit testing frameworks, mocking libraries, how to get started.
A brief introduction about the art of unit test, how to test a class, mock a collaborator and use a fake database. TDD is introduced. Code for exercises is available on github along with a detailed explanation. Examples and exercises are written in Java.
Why Johnny Can't Unit Test His Legacy Code - And What You Can Do About ItHoward Deiner
Back in 1955, Rudolf Flesch wrote his seminal book “Why Johnny Can’t Read”. The book became a flash point about how American education was depriving children of the joys of knowledge by not properly training them in the correct way to learn to read, by phonics, rather than the "whole word” guessing that was popular at the time. The book was a bellwether about the “crisis in education” at the time. Today’s session will not be about education, reading, or whether phonics are desirable or not. But the session today does address a serious problem that just about everyone in the IT industry faces. We suffer because our legacy code is not unit tested.
Actually, lack of unit testing in legacy code (which is really a tautology) is just an easily observed symptom of the real issue, which is lack of quality and lack of knowledge in the code that we depend on, day after day. When the code shows a defect, most organisations expect a quick resolution to the problem and hope for the best. The same tack is taken when the code needs to be extended. This technique, called “code and pray”, rarely ends well.
Organizations that try to do the right thing will give their development team the additional responsibility to unit test their code. Everyone knows that unit testing will go a long way in addressing the quality issue. The bet is that the time and effort taken to unit test the code will fix the quality problem. And they’re right. There are many studies that show this result.
But there is one fatal flaw in these best intentions. Unit testing legacy code is hard. Really hard. And many times, this one fact torpedoes the entire effort that was supposed to make things better.
This is the first part of a two part series on Johnny (the other being “Why Johnny STILL Can’t Unit Test His Legacy Code”). In this session, we will look at the technical issues surrounding refactoring legacy code.
Seaside is a web application framework that is written in Smalltalk. Smalltalk has been hugely influential on the development of computer languages but realistically how many people have ever used it? Seaside is a practical application of Smalltalk to the web sphere.
The main agenda of this talk is to look at a web application from architecture level. Do some brainstorming and come up with various types of testing that can be performed by looking at the complete ecosystem.
By: Ruchika Rawat & Raman Kansal
Everyone who wasn't writing JavaScript, probably is now. Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.
That's great, but how do we test it? In ColdFusion we have CFCs, most languages have classes... but JavaScript doesn't have classes (yet).
So how do I write unit tests, what units are there, and how do I make my code look like that? JavaScript is a flexible language, and with great flexibility comes great complexity and responsibility. Take your JavaScript spaghetti and make it unit testable.
Attendees should have some exposure to JavaScript, but this is for the Professional Newbie... who always needs to learn and adapt.
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016Gavin Pickin
Everyone who wasn't writing JavaScript, probably is now. Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.
That's great, but how do we test it? In ColdFusion we have CFCs, most languages have classes... but JavaScript doesn't have classes (yet).
So how do I write unit tests, what units are there, and how do I make my code look like that? JavaScript is a flexible language, and with great flexibility comes great complexity and responsibility. Take your JavaScript spaghetti and make it unit testable.
Attendees should have some exposure to JavaScript, but this is for the Professional Newbie... who always needs to learn and adapt.
Poster presented at the Loyola Marymount University 8th Annual Undergraduate Research Symposium on March 19, 2016 and at the Experimental Biology Conference held in San Diego, California on April 4, 2016. Abstract: GRNsight is an open source web application and service for visualizing models of gene regulatory networks (GRNs). A gene regulatory network consists of genes, transcription factors, and the regulatory connections between them which govern the level of expression of mRNA and protein from genes. GRNmap, a MATLAB program that performs parameter estimation and forward simulation of a differential equations model of a GRN, can mathematically model the dynamics of GRNs. GRNsight automatically lays out the network graph based on GRNmap output spreadsheets. GRNsight uses pointed and blunt arrowheads, and colors the edges and adjusts their thicknesses based on the sign (activation or repression) and magnitude of the GRNmap weight parameter. Visualizations can be modified through manual node dragging and sliders that adjust the force graph parameters. We have now implemented an exhaustive unit testing framework using Mocha and the Chai assertion library to perform test-driven development where unit tests are written before new functionality is coded. This framework consists of over 160 automated unit tests that examine over 450 test files to ensure that the program is running as expected. Error and warning messages inform the user what happened, the source of the problem, and possible solutions. The completion of the testing framework marks the close of development for version 1 (the current release stands at version 1.12). In version 2.0 of GRNsight, a new feature will be implemented that colors the nodes (genes) based on expression data provided by GRNmap. GRNsight is available at http://dondi.github.io/GRNsight/.
Javascript testing (Javascript unit test) is an essential part when your developer is using logic in his code. Like hundreds of other things in the world of JavaScript , there are many choices for how to unit test the code. Here we compare some best javascript testing unit tools like karma, jasmine, Qunit, Mocha etc.
Slides cover how to get started testing your web application. Technologies and concepts explained:
- Unit tests (mocha, jasmine, karma)
- System tests (Selenium)
- Code coverage (istanbul)
- CI servers
We investigate one of the most popular approaches to creating software: test driven development. From the basic understanding why tests are important to a new software development paradigm, where you start with tests and them do the implementation. We glance over different areas of testing and see how one should really do the software testing in different situation.
This session will focus on a Agile Testing and provide you with practical examples and techniques to help your team understand what is behind this approach.
An example of the integration of Standard Program Management Workflows with Agile Methodology using MicroSoft's Visual Studios. (Along with some personal observations)
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...TEST Huddle
We often claim the purpose of testing is to verify that software meets a desired level of quality. Frequently, the term “testing” is associated with checking for functional correctness. However, in large, complex software systems with an established user-base, it is also important to verify system constraints such as backward compatibility, reliability, security, accessibility, usability. Kim Herzig from Microsoft explores these issues with the latest webinar on test Huddle.
Slides from Software Testing Techniques course offered at Kansas State University in Spring'16 and Spring'17. Entire course material can be found at https://github.com/rvprasad/software-testing-course.
This is collection of question & answer in software testing interview job. Part 2 with 10 questions and answers.
This is designed by Khoa Bui, which owner of http://www.testing.com.vn site
Pay pal paypal continuous performance as a self-service with fully-automated...Dynatrace
PayPal's ongoing leadership as an industry innovator requires faster development cycles and increased adoption of continuous testing practices. For special efforts, the development teams needed more frequent feedback about application performance, scalability limitations and variances between builds. Accelerating the frequency of performance simulations would help increase the rate of innovation and improve the quality of code delivered to production.
In this session we'll review some the automation techniques that helped PayPal Credit increase testing feedback from a monthly effort to a nearly-continuous daily activity. We'll spend time looking at the benefits of a fully-automated, actionable performance feedback loop that delivers performance feedback to developers in hours rather than weeks or months. Additionally, we will take a closer look at how these changes impacted the culture of development and operations, improving both the quality of critical thinking about performance and the value delivered back to the business.
This "Secret Sauce" session will include conceptual learnings and hands-on demonstration:
- What a continuous performance environment looks like and the benefits it brings to your DevOps team
- How to create a parallel pipeline for on-demand performance feedback using JIRA, Rundeck, JMeter and Dynatrace
- Where and how to leverage performance feedback to optimize flow
- How to get engineers on-board and excited about building better performant code
Experimenting on Humans’ (or, ‘everything you want from an a/b testing system’).
How do you know what 100 millions users like? Wix.com is conducting hundreds of experiments per month on production to understand which features our users like and which hurt or improve our business. At Wix we have developed our 3rd generation experiment system called Petri, which was open sourced. Petri helps us maintain some order in a chaotic system that keeps changing. We will also explain how it works and what are the patterns in conducting experiments that have a minimal effect on performance and user experience.
Intelliware’s Chief Technologist, BC Holmes, provides a pragmatic overview of Agile testing. Complete with many examples, this presentation is ideal for those looking for a practical take on software testing in an Agile environment.
Similar to Unit Test + Functional Programming = Love (20)
Scaling applications with RabbitMQ at SunshinePHPAlvaro Videla
Do you need to process thousands of images in the background for your web app?
Do you need to share data across multiple applications, probably written in different languages and sitting at different servers?
Your real time data feed is becoming slow because you are polling the database constantly for new data updates?
Do you need to scale information processing during peek times?
What about deploying new features with zero downtime? If any of these problems sound familiar then you probably need to use messaging in your application.
In this talk I will introduce RabbitMQ, a messaging and queue server that can help us tackle those problems. We will learn the benefits of a Queue Server and see how to integrate messaging into our applications. With this talk we hope that the term 'decoupling' gets a new, broader, meaning.
We've been told many times that we should write unit tests for our code. We have read the theory and we have applied automatic testing to our projects, sometimes successfully but often times not so.
Why it seems to be so hard to test our code? However we look at it, automatic testing doesn't work like a "plug & play" peripheral. It just doesn't seem to fit with our project. A dependency is missing here; we have a hard to mock object there; and so on.
What is _that_ thing we might be doing wrong but we fail to notice?
In this talk we will argue that the problem lays in our code, in its structure, in the way we pass data around and even how we write for loops!
This won't be your everyday "code quality" tech talk, since we are going to attack the problem of code quality from different points of view and paradigms like Functional Programming and the Unix philosophy of simplicity and reuse.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
8. Unit Testing
The goal of unit testing is to
isolate each part of the
program and show that the
individual parts are correct
http://en.wikipedia.org/wiki/Unit_testing
9. Unit Testing
[…] unit testing by definition only tests
the functionality of the units themselves.
http://en.wikipedia.org/wiki/Unit_testing
10. Unit Testing
[…] Therefore, it will not catch
integration errors or broader systemlevel errors (such as functions performed
across multiple units, or non-functional
test areas such as performance)
http://en.wikipedia.org/wiki/Unit_testing
12. Test procedures:
A new approach to software verification
David J. Panzl
http://dl.acm.org/citation.cfm?id=807721&dl=ACM&coll=DL&CFID=290373956&CFTOKEN=26471516
13. Test Procedures
We propose a new medium for software
verification tests. Tests described in this
medium are complete, compact and fully
self-contained
http://dl.acm.org/citation.cfm?id=807721&dl=ACM&coll=DL&CFID=290373956&CFTOKEN=26471516
14. Test Procedures
No additional materials, instructions or
knowledge about the target program are
required to apply these tests.
http://dl.acm.org/citation.cfm?id=807721&dl=ACM&coll=DL&CFID=290373956&CFTOKEN=26471516
24. “I get paid for code that works, not for
tests, so my philosophy is to test as
little as possible to reach a given level
of confidence”
– Kent Beck
http://stackoverflow.com/questions/153234/how-deep-are-your-unit-tests/153565#153565
51. “Many UNIX programs do quite trivial
tasks in isolation, but, combined with
other programs, become general and
useful tools.”
http://math.albany.edu/math/pers/hammond/unixphil.html
52. Number of open connections per IP
netstat -ntu | awk '{print $5}' |
cut -d: -f1 | sort | uniq -c | sort -n
http://www.commandlinefu.com/commands/view/1767/number-of-open-connections-per-ip.
56. “Writing unit tests is reinventing
functional programming
in non-functional languages”
http://noss.github.io/2009/02/25/writing-unit-tests-is-reinventing-functional-programming-in-non-functional-languages.html
57. What can we learn from
Functional Programming?