Tuesday, 24 October 2017

quick graphql implementation for grape gem Raw

About gRPC

gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services.



https://grpc.io/about/

Wednesday, 18 October 2017

PRINCIPLES OF CHAOS ENGINEERING

CHAOS IN PRACTICE

To specifically address the uncertainty of distributed systems at scale, Chaos Engineering can be thought of as the facilitation of experiments to uncover systemic weaknesses.  These experiments follow four steps:
  1. Start by defining ‘steady state’ as some measurable output of a system that indicates normal behavior.
  2. Hypothesize that this steady state will continue in both the control group and the experimental group.
  3. Introduce variables that reflect real world events like servers that crash, hard drives that malfunction, network connections that are severed, etc.
  4. Try to disprove the hypothesis by looking for a difference in steady state between the control group and the experimental group.
The harder it is to disrupt the steady state, the more confidence we have in the behavior of the system.  If a weakness is uncovered, we now have a target for improvement before that behavior manifests in the system at large.


http://principlesofchaos.org/

Tuesday, 3 October 2017

ruby

  • $! - latest error message
  • $@ - location of error
  • $_ - string last read by gets
  • $. - line number last read by interpreter
  • $& - string last matched by regexp
  • $~ - the last regexp match, as an array of subexpressions
  • $n - the nth subexpression in the last match (same as $~[n])
  • $= - case-insensitivity flag
  • $/ - input record separator
  • $\ - output record separator
  • $0 - the name of the ruby script file
  • $* (or ARGV) - the command line arguments
  • $$ - interpreter’s process ID
  • $? - exit status of last executed child process
  • $-i $-l $-p $-v - Command line switches
  • $-v (or $VERBOSE) - verbose mode