12 April, 2019

TIL #16 - Debugging Symfony, unix nagivation, being bound

Notes taken between: 8-12 April 2019


Symfony apps

For debugging if you want to so see whats compiled look at php/example/var/cache/test/appTestDebugProjectContainer.xml

sometimes an issue could be resolved by simply removing the cache rm -rf app/cache/

php kernel

Docker cleanup

https://docs.docker.com/engine/reference/run/#clean-up---rm If you’d like Docker to automatically clean up the container and remove the file system when the container exits, you can add the --rm flag. docker run -v $(pwd):/<your_app> --rm -it golang:1.12-alpine sh

ag also known as The Silver Searcher If your search query is an all small caps query, it does a case insensitive search. If it contains an uppercase letter is will be case sensitive.

ag <file>js> grep utilities has the -A option for lines after a match and a -B option for lines before a match. you can use -C to show N lines before and after the match.

js>ag <file> -A4 ag ApiAuthenticator vendor ll php/example

Being Bound

CPU Bound
CPU Bound means the rate at which process progresses is limited by the speed of the CPU. A task that performs calculations on a small set of numbers, for example multiplying small matrices, is likely to be CPU bound.
I/O Bound
I/O Bound means the rate at which a process progresses is limited by the speed of the I/O subsystem. A task that processes data from disk, for example, counting the number of lines in a file is likely to be I/O bound.
Memory bound
Memory bound means the rate at which a process progresses is limited by the amount memory available and the speed of that memory access. A task that processes large amounts of in memory data, for example multiplying large matrices, is likely to be Memory Bound.
Cache bound
Cache bound means the rate at which a process progress is limited by the amount and speed of the cache available. A task that simply processes more data than fits in the cache will be cache bound.
I/O Bound
I/O Bound would be slower than Memory Bound would be slower than Cache Bound would be slower than CPU Bound.The solution to being I/O bound isn't necessarily to get more Memory. In some situations, the access algorithm could be designed around the I/O, Memory or Cache limitations. See Cache Oblivious Algorithms.

Feeds

An approach to for microservices to subscribe to data between themsevles is via feeds. a multi master feed has the con of timing issue which can cause issues when services are replicating.

microservices need to also take into accounts the bounradires they are seperated by. eg. api boundaries if api driven.