Posted by artodeto on Wednesday, February 10. 2016
Following some notes about my the last php usergroup meetup.
By Judith Andresen
what is the leadtime?
time between adding the ticket and releasing it as a feature
what is a cycletime?
time between someone has an idea and releaseing it as a feature
we are currently in a time of digital transformation to the "first mover"
first idea try/test is the one who owns the bigges marked share
try to not be perfect
remove bottlenecks
try to scale vertical (microservice, duplicated data)
one team and service per business value/topic
search (including frontend, backend, customer data etc.)
product page
"community of practice" is a team (per vertical cut/team) that try
to keep the big architecture picture in mind
to share knowledge, approach and libraries
try to add a decision-maker into the team (extend the team in the value chain)
try to bring people together, also on an emotional level (increase the "we" feeling)
you can argue always with a decreased leadtime / small time to market
typical "facts" against
we have never done that this way
my discipline is better, information silos, no talk between departments (typically between 20 and 80 peoples)
there is no "we"
how?
talk to each other
major goal: deliver fast
create room for improvment or options
Posted by artodeto on Wednesday, February 10. 2016
Following some notes about my the last php usergroup meetup.
By Sebastian Heuer
docker is not one tool but a whole ecosystem
machine (provisioning)
swarm (clustering and container scheduling)
compose (multi container application)
registry (image distribution)
engine (the container)
ktematic (gui)
pretty small compared to virtual box/full virtual machines
updating means, building a new container
theoretically, you can use all the images from the hub
always ask yourself if you want to use them in production
are they maintained
how secure are they
docker compose
builds and pulls images
runs containers
enables networking between containers
aggregates STDOUT and STDERR output
FROM php:7.0.2-fpm
RUN docker-php-ext-install pdo pdo_mysql
COPY php/php.ini /usr/local/etc/php/
# copy the content of the source code into the image
# you can ship this code version now
COPY . /srv/meetup-service
# the date in the container is not persistent
# if ypu change something in it, it will bill lost afterwards
CMD ["php-fpm"]
webserver:
build: ./nginx #path to the docker file and configuration etc
links:
- application
ports:
- "80:80" #from port 80 to port 80
volumes_from:
- application
application:
build: ./meetup-service #your project
links:
- database
ports:
- "9000:9000"
volumes:
- ./meetup-service:/srv/meetup-service #mounting local source code into the container
environment:
- MYSQL_HOST=database
- MYSQL_DATABASE=application
- MYSQL_USER=root
- MYSQL_PASSWORD=parola
database:
image: mysql:5.7 #no build path, instead an image is used
volumes:
- /var/lib/mysql
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=docker
- MYSQL_DATABASE=app
Posted by artodeto on Tuesday, March 11. 2014
Where
Social Human Architecture for Beginners
General
By Sebastian Schürmann (@sschuermann) (scrum master)
PHP Benelux
Works at mytaxi.de
People
introversion vs extroversion (thinking is internal or externalized)
nobody is one at all (just introvert for thinking or feeling)
talk to you team about it (try to express everybody on a scale to get better understanding)
take a look to "Maslows hierarchy of needs"
self actualization
esteem
love/belonging
safety
physiological
internet ;-)
try to create your own needs of hierarchy
use "non-violent communication" (Marshall Rosenberg)
observation (just the facts)
feelings (just feeling good or bad won't cut it, try to express yourself)
needs (we all have them, feeling bad? need is not fulfilled)
honest request
Groups
psychology of programming by Gerald Weinberg
egoless programming
stages of group development
forming
storming
norming
performing
storming [...]
Motivation
engagement can be reached by
let people get into the flow state
try a fed-ex day (people can do what they want)
The Flip Side of Dependency Injection
General
Do Not
do not add to much dependecies (thing is doing to much)
do not hide dependencies by using a container (it's like throwing in "the config")
Do
all dependencies must be in code
separate object creation from usage
there must be the ability to choose the actual implementation on runtime
How to Get There
use a factory with explicite API (instead of "get('Foo')", do "getFoo()")
avoid injecting factories, try to use locators (locators are returning "FooInterface" and using factories for instance creation)