This is a short one.
Just got this link on our Slack channel:
https://finishonethingtoday.com/
Simple, but great. It might sound stupid, but I believe it is not only about getting the job done, but sometimes also about leaving your comfort zone. Not to mention delivering results when you have really bad mood. If you do, I keep my fingers crossed that it passes in no time :)
Monday, February 22, 2016
Thursday, February 4, 2016
How working at DocPlanner looks like
This is just a few words about how important it is to give people freedom and engage their passion to achieve your goal. Welcome to DocPlanner.
Of course you will get your desk, MacBook (or anything else that you want), 24" LCD and a comfty chair...
... but sometimes it's better to lay in our fluffiest office ever.
You are not surprised when you open up the fridge and see this one day:
And also not surprised seeing this the day after:
You will get some swag on regular basis!
Or you can play a little with something really classy.
People are always here for you to help with anything they can.
Even if sometimes you will get hit with few dozens of foam balls...
...or have your shoes glued to the roof when you're on vacation...
...at the end of the day, you love them. Some crazy contest? Why not!
Nerf ride at other department's manager? No problem.
You wouldn't believe it but we also have a girl in IT dept. She helps us manage tickets and repairs our weapons during spare time.
HR also takes care of us, see this awesome cake we got at last developer day!
Sometimes we also have some fun outside.
There are also some other perks that no picture will describe:
Want to join Docplanner? Check out our latest offers or hit me directly!
See ya!
The office
Of course you will get your desk, MacBook (or anything else that you want), 24" LCD and a comfty chair...
... but sometimes it's better to lay in our fluffiest office ever.
You are not surprised when you open up the fridge and see this one day:
And also not surprised seeing this the day after:
You will get some swag on regular basis!
Or you can play a little with something really classy.
People
We have a great office. I mean, really great. I haven't seen a better office so far, IRL nor on internet. But what is office without people? People is what matters most!People are always here for you to help with anything they can.
Even if sometimes you will get hit with few dozens of foam balls...
...or have your shoes glued to the roof when you're on vacation...
...at the end of the day, you love them. Some crazy contest? Why not!
Nerf ride at other department's manager? No problem.
You wouldn't believe it but we also have a girl in IT dept. She helps us manage tickets and repairs our weapons during spare time.
HR also takes care of us, see this awesome cake we got at last developer day!
Sometimes we also have some fun outside.
There are also some other perks that no picture will describe:
- Flexible hours.
- Remote on demand.
- Conferences.
- Free coffee, tea, and fresh fruits every wendesday.
- Last, but most important: people really care.
Want to join Docplanner? Check out our latest offers or hit me directly!
See ya!
Wednesday, February 3, 2016
Extending Symfony2 services
Have you ever wondered how could you add some extra functionality to existing symfony2 services, like RequestContext or even override some of it's logic? Here's how!
One of awesome things about Symfony2 container is that you can decorate services. In my opinion it is really awesome and powerful - you can simply change behavior of literally any component of Symfony, like EventDispatcher of HttpKernel. It's not too good to tweak them on daily basis, but sometimes you hit edge case when this trick is a life saver. In the end it's nothing more than:
Here's original dispatch() method definition (as of Symfony 2.8):
We cannot edit this method in place, so let's create our own class that extends CoontainerAwareEventDispatcher and overrides it:
Now the last part, service definition:
Note that you should not worry about changed service id. Symfony will do the work for you and you will get your modified dispatcher when you try to get event_dispatcher from container.
Of course this is not the only usage of service decorators. You can also use it to, for example, pass some extra services to class you extend, or replace some service definitions. It is also possible to add some public methods, but my suggestion is to do this only when really neccesary - this way you change original vendor's API which can change or lead other developers into confusion.
I hope you found above stuff useful. Happy coding!
Powerful decorating
One of awesome things about Symfony2 container is that you can decorate services. In my opinion it is really awesome and powerful - you can simply change behavior of literally any component of Symfony, like EventDispatcher of HttpKernel. It's not too good to tweak them on daily basis, but sometimes you hit edge case when this trick is a life saver. In the end it's nothing more than:
- Extending class of service you want to alter.
- Making changes - adding methods or overriding exisiting ones.
- Writing new service definition.
Here's original dispatch() method definition (as of Symfony 2.8):
We cannot edit this method in place, so let's create our own class that extends CoontainerAwareEventDispatcher and overrides it:
Now the last part, service definition:
Note that you should not worry about changed service id. Symfony will do the work for you and you will get your modified dispatcher when you try to get event_dispatcher from container.
Of course this is not the only usage of service decorators. You can also use it to, for example, pass some extra services to class you extend, or replace some service definitions. It is also possible to add some public methods, but my suggestion is to do this only when really neccesary - this way you change original vendor's API which can change or lead other developers into confusion.
I hope you found above stuff useful. Happy coding!
Subscribe to:
Comments (Atom)