Closures (in JavaScript)

If you return a function (instead of a value or object), you will have to think about closures. You are not just returning the function definition but also the all the variables in scope at the time of creation of the function! This is called a closure. A read a nice Medium article with some very detailed step-to-step explanation, I’d like to recommend.

Continue reading “Closures (in JavaScript)”

Prioritization of Product Backlog Items

Every single feature in the backlog should answer following questions:

  • Are the users going to buy this?
  • Is it going to solve a problem our customers face?
  • How do you structure the problem so when you speak about it with your users, they are thinking about it in the same way?
  • Is it going to improve the overall experience?
  • Is it going to highlight our strong parts of the product?
  • Does this bring closer to our product vision?
  • How can we measure the success of this feature?
  • Can our stakeholders support this?
  • What are the risks and problems we have to overcome?
  • Can our engineers build this?
  • Can a user figure out how to use it?

Developed from input based on https://medium.com/@eugenesanu/the-problem-with-product-roadmaps-fd3a40090f7c and https://uxplanet.org/top-questions-to-ask-before-designing-anything-2141c7f64888

LVM: increase size of existing logical volumes without reboot/new partition

Sometimes it is necessary to increase the size of your logical volume but you cannot/want reboot and/or create a new partition.

  1. Increase the hard disk space by allocating it on the host system to the your virtual machine
  2. echo 1>/sys/class/block/sdaX/device/rescan so that you VM knows the new hard disk capacity
  3. use parted (or your personal preference) to increase the partition size
    • Tip: run unit kb in parted for a more precise aligning of the partitions
    • Tip 2: keep in mind that you have to increase both logical parition and lvm flagged partition. Logical partitions are like containers for the lvm flagged partition.
  4. Increase LVM Physical device: pvresize /dev/sdX
  5. Increase LVM Logical Volume: lvextend -l+100%FREE /dev/mapper/XX
  6. Increase FileSystem: resize2fs /dev/mapper/XX

Done!

Dependency Inversion, Inversion of Control (IoC) and Dependency Injection (DI)

The three keywords from the title Dependency Inversion, Inversion of Control and Dependency Injection are fundamental to be understood by any developer. In this article we will take a close look into them – there are NOT the SAME. At the end, I collected a list of articles recommendations.

Continue reading “Dependency Inversion, Inversion of Control (IoC) and Dependency Injection (DI)”