SlideShare a Scribd company logo
CLEAN CODE,
OBJECT CALISTHENICS
& BEST PRACTICES
  -  by#MM17NYC @mhgontijo
Matheus Gontijo
Y-E-E-A-A-H-H, we have a #Brazilian in the house, folks!
So ware Engineer at
Over 6 years of experience with Magento platform
Speaker and attendee to conferences all over the world
on twitter - ping me there   ;- D
Crimson Agility
MCD & MCD+
@mhgontijo
What KILLS So ware Developers
so badly?
uhmm... there are
 PLENTY  some guys still writing code
in our community like that...
Poorly written code equals...
💩💩💩
countless hours of energy being drained
HUGE amount of time wasted === MONEY wasted
...it's unpleseant... it discourages the entire team to work
with that mess
How can we improve our code?
EXERCISING!
Object Calisthenics!
btw has anybody ever heard about it?
Cal • is • then • ics
/ˌkaləsˈTHeniks/
Greek word that means
gymnastic exercises.
The concept was created by Jeff Bay in his
book The ThoughtWorks Anthology
A collection of exercises to focus on
maintainability, readability, testability, and
comprehensibility of your code.
PHP Community?
Rafael Dohms -
Keynode Speaker, Evangelist, and founder of PHPSP &
PHPAmsterdam... which are awesome!
Guilherme Blanco -
Core Committer at Doctrine, Symfony and Zend Framework
@rdohms
@guilhermeblanco
THAT SHOULDN'T BE EXTREMELY...
COMPLEX!!!
9 simple rules
to write code...
WAY BETTER ✌
9 simple rules advices
to write code...
WAY BETTER ✌
BUT don't follow them blindly....
It's NOT binary: RIGHT or WRONG
There is not one-size-fits-all
No Silver Bullet
Don't take what I'm saying as absolute truth   :- P
the main goal is to challenge yourself...
to make you RE-think the way you code...
30 minutes only
just going through quickly    ; )
the examples are very simple just for the sake of easy
understanding
#01 ADVICE
Only One Level Of Indentation Per
Method
Example:
Let's say you are creating a
process to update description
Benefits:
Easy to understand!
Single Responsibility Principle ("S" in S.O.L.I.D.)
Encourages Re-use
#02 ADVICE
Don't Use The ELSE Keyword
Example:
Let's create a class in order to
subscribe emails to a newsletter
group called VIP.
Rules:
It has to be a valid email.
The email can not be registered again, if it already is.
The email has to have a customer assigned the same email.
The customer assigned to that email needs to be assigned
to VIP Group also.
Benefits:
Decreases Cyclomatic Complexity
Prevents Code Duplication
Legibility (Single Path)
#03 ADVICE
Wrap All Primitives Types And Strings,
If It Has Behavior
When?
When your type needs validations, business rules or
behaviors
Email
Zipcode
Phone Number
IP Address
IBAN, ISBN
URL
List of status as Pending, Denied, Approved
...
Example:
Let's say you are creating a class to
send emails.
Benefits:
Type Hinting
Encapsulation of business rules
Prevents Code Duplication
Implements Value Objects of DDD
#04 ADVICE
First Class Collections
Benefits:
Single Responsibility Principle ("S" in S.O.L.I.D.)
Implements SPL Interfaces
Class for Filtering, Mapping, Ordering & other
#05 ADVICE
One Dot Per Line
#05 ADVICE
One Dot "->" Per Line
Law of Demeter
*** EXCEPT ***
for Fluent Interfaces/Method Chaining
since it was designed to work that way
Benefits:
Law of Demeter
Legibility
#06 ADVICE
Don't Abbreviate
Benefits:
Legibility
Maintainability
#07 ADVICE
Keep All Entities Small
Long files are hard to read... so...
No methods with over 20 lines
No namespaces over 15 files
Class with 200 lines maximum
Very challenging!
Benefits:
Legibility
Maintainability
#08 ADVICE
No Classes With More Than Two Five
Instance Variables
Benefits:
Higher Cohesion
Lower Coupling
Shorter Dependency list
Maintainability
#09 ADVICE
No Getters and Setters!
just my favorite ❤ ❤ ❤
Example:
Let's create a approval process for
comments.
It's very important to the system to
track the following:
Previous Status
New Status
User that made the change
Date
John is creating the a new approval record...
Status: PENDING
Mary is creating the a new approval record...
Status: PENDING ---> FIX_TYPO
David is creating the a new approval record...
Status: FIX_TYPO ---> APPROVED
h4ck3r is creating the a new approval record...
Status: APPROVED ---> APPROVED
h4ck3r is creating the a new approval record...
Status: DENIED ---> DENIED
Solution?
ENCAPSULATION!
We have to HIDE business logic!
BTW it's not something new... it's just encapsulation... basic concept of OOP
Now nobody will no longer be able
to mess up the process    ;- D
That's it!
✌ ✌ ✌ ✌
Recap
1. Only One Level Of Indentation Per Method
2. Don't Use The ELSE Keyword
3. Wrap All Primitives Types And Strings, If It Has Behavior
4. First Class Collections
5. One Dot "->" Per Line
6. Don't Abbreviate
7. Keep All Entities Small
8. No Classes With More Than Two Five Instance Variables
9. No Getters and Setters!
and the most important thing is...
You should give
Object Calisthenics a try!
Take a month and see how good that is!
Questions?
@mhgontijo

More Related Content

Similar to Object Calisthenics for Magento - Meet Magento New York 2017

Hubstaff Time Tracking Software
Hubstaff Time Tracking SoftwareHubstaff Time Tracking Software
Hubstaff Time Tracking SoftwareDavid Nevogt
 
Joel Klettke - Engage 2020 (Positiong, Branding, and Conversions)
Joel Klettke - Engage 2020 (Positiong, Branding, and Conversions)Joel Klettke - Engage 2020 (Positiong, Branding, and Conversions)
Joel Klettke - Engage 2020 (Positiong, Branding, and Conversions)
Joel Klettke
 
Kanban India 2023 | Sudipta Lahiri | Deliver MVV from your Kanban System.ppsm...
Kanban India 2023 | Sudipta Lahiri | Deliver MVV from your Kanban System.ppsm...Kanban India 2023 | Sudipta Lahiri | Deliver MVV from your Kanban System.ppsm...
Kanban India 2023 | Sudipta Lahiri | Deliver MVV from your Kanban System.ppsm...
LeanKanbanIndia
 
Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)
Ben Hall
 
So You Want to Rewrite That...
So You Want to Rewrite That...So You Want to Rewrite That...
So You Want to Rewrite That...
Camille Fournier
 
Kindergarten Writing Paper With Picture Box Mrs E Vi
Kindergarten Writing Paper With Picture Box  Mrs E ViKindergarten Writing Paper With Picture Box  Mrs E Vi
Kindergarten Writing Paper With Picture Box Mrs E Vi
Tiffany Carpenter
 
2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc
Eric Ries
 
A geek sifts through the bullshit
A geek sifts through the bullshitA geek sifts through the bullshit
A geek sifts through the bullshit
Webstock
 
The Growth Marketing Secrets of Top Software Houses in Poland - SODA Meetup -...
The Growth Marketing Secrets of Top Software Houses in Poland - SODA Meetup -...The Growth Marketing Secrets of Top Software Houses in Poland - SODA Meetup -...
The Growth Marketing Secrets of Top Software Houses in Poland - SODA Meetup -...
MAN Digital
 
Organisation Hacking
Organisation HackingOrganisation Hacking
Organisation Hacking
Jono Alderson
 
Code Quality Makes Your Job Easier
Code Quality Makes Your Job EasierCode Quality Makes Your Job Easier
Code Quality Makes Your Job Easier
Tonya Mork
 
How To Create Technical Startup
How To Create Technical StartupHow To Create Technical Startup
How To Create Technical Startup
Benjamin Scherrey
 
Growth Mindset 2.0
Growth Mindset 2.0Growth Mindset 2.0
Growth Mindset 2.0
Daphne Tideman
 
Business Process Management Advanced concepts
Business Process Management Advanced conceptsBusiness Process Management Advanced concepts
Business Process Management Advanced concepts
Steve Towers, CEO and CPP Champion
 
Scale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conferenceScale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conference
Fabrice Bernhard
 
DigitalOcean SaaS Webinar - Jake Levirne
DigitalOcean SaaS Webinar - Jake LevirneDigitalOcean SaaS Webinar - Jake Levirne
DigitalOcean SaaS Webinar - Jake Levirne
Jake Levirne
 
Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
Gervais Johnson, Advisor
 
Test driven-development
Test driven-developmentTest driven-development
Test driven-development
David Paluy
 
Legis pactum building high performance teams
Legis pactum   building high performance teamsLegis pactum   building high performance teams
Legis pactum building high performance teams
Miguel Pinto
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
Michael Denomy
 

Similar to Object Calisthenics for Magento - Meet Magento New York 2017 (20)

Hubstaff Time Tracking Software
Hubstaff Time Tracking SoftwareHubstaff Time Tracking Software
Hubstaff Time Tracking Software
 
Joel Klettke - Engage 2020 (Positiong, Branding, and Conversions)
Joel Klettke - Engage 2020 (Positiong, Branding, and Conversions)Joel Klettke - Engage 2020 (Positiong, Branding, and Conversions)
Joel Klettke - Engage 2020 (Positiong, Branding, and Conversions)
 
Kanban India 2023 | Sudipta Lahiri | Deliver MVV from your Kanban System.ppsm...
Kanban India 2023 | Sudipta Lahiri | Deliver MVV from your Kanban System.ppsm...Kanban India 2023 | Sudipta Lahiri | Deliver MVV from your Kanban System.ppsm...
Kanban India 2023 | Sudipta Lahiri | Deliver MVV from your Kanban System.ppsm...
 
Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)
 
So You Want to Rewrite That...
So You Want to Rewrite That...So You Want to Rewrite That...
So You Want to Rewrite That...
 
Kindergarten Writing Paper With Picture Box Mrs E Vi
Kindergarten Writing Paper With Picture Box  Mrs E ViKindergarten Writing Paper With Picture Box  Mrs E Vi
Kindergarten Writing Paper With Picture Box Mrs E Vi
 
2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc
 
A geek sifts through the bullshit
A geek sifts through the bullshitA geek sifts through the bullshit
A geek sifts through the bullshit
 
The Growth Marketing Secrets of Top Software Houses in Poland - SODA Meetup -...
The Growth Marketing Secrets of Top Software Houses in Poland - SODA Meetup -...The Growth Marketing Secrets of Top Software Houses in Poland - SODA Meetup -...
The Growth Marketing Secrets of Top Software Houses in Poland - SODA Meetup -...
 
Organisation Hacking
Organisation HackingOrganisation Hacking
Organisation Hacking
 
Code Quality Makes Your Job Easier
Code Quality Makes Your Job EasierCode Quality Makes Your Job Easier
Code Quality Makes Your Job Easier
 
How To Create Technical Startup
How To Create Technical StartupHow To Create Technical Startup
How To Create Technical Startup
 
Growth Mindset 2.0
Growth Mindset 2.0Growth Mindset 2.0
Growth Mindset 2.0
 
Business Process Management Advanced concepts
Business Process Management Advanced conceptsBusiness Process Management Advanced concepts
Business Process Management Advanced concepts
 
Scale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conferenceScale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conference
 
DigitalOcean SaaS Webinar - Jake Levirne
DigitalOcean SaaS Webinar - Jake LevirneDigitalOcean SaaS Webinar - Jake Levirne
DigitalOcean SaaS Webinar - Jake Levirne
 
Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
 
Test driven-development
Test driven-developmentTest driven-development
Test driven-development
 
Legis pactum building high performance teams
Legis pactum   building high performance teamsLegis pactum   building high performance teams
Legis pactum building high performance teams
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 

More from Matheus Gontijo, MBA

Soft-skills: impacto direto na sua jornada como dev
Soft-skills: impacto direto na sua jornada como devSoft-skills: impacto direto na sua jornada como dev
Soft-skills: impacto direto na sua jornada como dev
Matheus Gontijo, MBA
 
Git, essa cara é fera! FTSL 2013 - UTFPR - por Matheus Gontijo
Git, essa cara é fera! FTSL 2013 - UTFPR - por Matheus GontijoGit, essa cara é fera! FTSL 2013 - UTFPR - por Matheus Gontijo
Git, essa cara é fera! FTSL 2013 - UTFPR - por Matheus Gontijo
Matheus Gontijo, MBA
 
Magento: um gigante no mundo do eCommerce! SOLISC 2013
Magento: um gigante no mundo do eCommerce! SOLISC 2013Magento: um gigante no mundo do eCommerce! SOLISC 2013
Magento: um gigante no mundo do eCommerce! SOLISC 2013
Matheus Gontijo, MBA
 
Desenvolvimento Magento: Criando temas para a realidade do Brasil - por Mathe...
Desenvolvimento Magento: Criando temas para a realidade do Brasil - por Mathe...Desenvolvimento Magento: Criando temas para a realidade do Brasil - por Mathe...
Desenvolvimento Magento: Criando temas para a realidade do Brasil - por Mathe...
Matheus Gontijo, MBA
 
PHPDAY - PHP com excelência - Só para os fortes! por Matheus Gontijo
PHPDAY - PHP com excelência - Só para os fortes! por Matheus GontijoPHPDAY - PHP com excelência - Só para os fortes! por Matheus Gontijo
PHPDAY - PHP com excelência - Só para os fortes! por Matheus Gontijo
Matheus Gontijo, MBA
 
FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...
FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...
FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...
Matheus Gontijo, MBA
 

More from Matheus Gontijo, MBA (6)

Soft-skills: impacto direto na sua jornada como dev
Soft-skills: impacto direto na sua jornada como devSoft-skills: impacto direto na sua jornada como dev
Soft-skills: impacto direto na sua jornada como dev
 
Git, essa cara é fera! FTSL 2013 - UTFPR - por Matheus Gontijo
Git, essa cara é fera! FTSL 2013 - UTFPR - por Matheus GontijoGit, essa cara é fera! FTSL 2013 - UTFPR - por Matheus Gontijo
Git, essa cara é fera! FTSL 2013 - UTFPR - por Matheus Gontijo
 
Magento: um gigante no mundo do eCommerce! SOLISC 2013
Magento: um gigante no mundo do eCommerce! SOLISC 2013Magento: um gigante no mundo do eCommerce! SOLISC 2013
Magento: um gigante no mundo do eCommerce! SOLISC 2013
 
Desenvolvimento Magento: Criando temas para a realidade do Brasil - por Mathe...
Desenvolvimento Magento: Criando temas para a realidade do Brasil - por Mathe...Desenvolvimento Magento: Criando temas para a realidade do Brasil - por Mathe...
Desenvolvimento Magento: Criando temas para a realidade do Brasil - por Mathe...
 
PHPDAY - PHP com excelência - Só para os fortes! por Matheus Gontijo
PHPDAY - PHP com excelência - Só para os fortes! por Matheus GontijoPHPDAY - PHP com excelência - Só para os fortes! por Matheus Gontijo
PHPDAY - PHP com excelência - Só para os fortes! por Matheus Gontijo
 
FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...
FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...
FLISOL 2013 - Magento eCommerce, uma plataforma de tirar o fôlego! por Matheu...
 

Recently uploaded

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 

Object Calisthenics for Magento - Meet Magento New York 2017