NYC Camp - Drupal Conference
I ♥ NYC (camp)
NYC Camp was a phenomenal conference and an excellent opportunity to learn more from the heart of the big apple.
Vagrant & Chef, for Drupal Developers
Alex Dergachev found of the Evolving Web
What is Vagrant?
- A wrapper on VBoxManage
- A workflow
- A way of life ?
Why use a virtualization for development?
Snapshotting is awesome, rebuilding and imitating the prod environment.
Puppet / Chef will make provisioning easiers. Vagrant is a wrapper for vbox manage, which is poorly written. This creates a vm and provide the base instance.
Installing Vagrant
Run these GUI installers
Download virtualbox, then the vagrant installer, (no longer a gem)
Vagrant Docs
Beautiful just like this beautifully simple tool.
Base Boxes
- Just a VM images with vagrant user & ssh keys
- Virtualbox guest additions
- Installed chef, ruby & puppet
Vewee can help build a basebox.
Don't be STUPID, Grasp SOLID
Blog: Don't be STUPID, Grasp SOLID!
What is object oriented programming?
You don't necessairly need classes and objects. We can create OOP projects using an API, analogy of
STUPID
Singleton
Single purpose code.
Tight Coupling
You would have to rebuild the app since the code is specific and not modular.
Untestable Code
House of cards code, changing the code in one place can cause global issues.
Premature Optimization
Indescriptive Naming
If the other developers that use your code need to think, you need to rethink your naming.
Duplication
The Rule of Three, if I need to copy and past it twice, then you should refactor.
SOLID
Single Responsibility
Do one thing and do it well. Keep your objects, methods narrow
Open/Close Principle
Code should be open for extension but closed for modification.
Liskov substitution principle
Parent type is left then we extend the parent type. The children add but never limit.
Interface Segregation Principle
Dependency inversion principle
Law of Demeter
Principle of Least Knwoldege. Your code should never assume to know more than the first degree.
Principle of Least Astonishment
Your code should not surprise, it should be obvious and self document. It should be as intuititve as possible.
Getting Acquanted with MongoDB
MONGODB: THE GOOD PARTS
- Document model
- Flexible schemas
- Scalability and performance
- Features (aggregation, geo, GridFS)
Server architecture for High Performance Drupal
Exploring the world of Search & The Future of Search and SEO
- Knowledge Graph
- Schema.org Module for Drupal
- Rich Snippets