A "Best of the Best Practices" (BOBP) guide to developing in Python.
- "Build tools for others that you want to be built for you." - Kenneth Reitz
- "Simplicity is alway better than functionality." - Pieter Hintjens
When working with Git, there are two prevailing workflows are [Gitflow][gitflow] and [feature branches][feature]. IMHO, being more of a subscriber to continuous integration, I feel that the feature branch workflow is better suited, and the focus of this article.
If you are new to Git and Git-workflows, I suggest reading the [atlassian.com Git Workflow][article] article in addition to this as there is more detail there than presented here.
I admit, using Bash in the command line with the standard configuration leaves a bit to be desired when it comes to awareness of state. A tool that I suggest using follows these instructions on [setting up GIT Bash autocompletion][git-auto]. This tool will assist you to better visualize the state of a branch in regards to changes and being in sync with the remote repo.
Technology Stack: | |
1. Java | |
2. Glassfish | |
3. Hibernate | |
4. Spring | |
5. Camel | |
6. MySQL | |
7. ActiveMQ | |
8. Maven | |
9. Brocade Virtual Traffic Manager |
#!/bin/sh | |
MYIP=$(/sbin/ifconfig eth0|grep 'inet addr'|awk -F: '{print $2}'| awk '{print $1}'); | |
COUNT=0 | |
while true; do | |
OUTPUT_STR="Welcome to $MYIP connection $COUNT\r" | |
OUTPUT_LEN=${#OUTPUT_STR} | |
echo -e "HTTP/1.0 200 OK\r\nContent-Length: ${OUTPUT_LEN}\r\n\r\n${OUTPUT_STR}" | sudo nc -l -p 80 | |
if [ $? == 0 ]; then | |
let "COUNT++" |
# Paramiko SSH Object with batch commands and stdin | |
# Blake VandeMerwe July 2014 | |
# | |
# Adapted from Joe Linoff's code at http://joelinoff.com/blog/?p=905 | |
# his did not work for me, so I fixed it and added some features. | |
# | |
import re | |
import string | |
import logging | |
import socket |
#!/bin/bash | |
# Set up the packages we need | |
apt-get update | |
apt-get install git vim -y | |
# Clone the devstack repo | |
git clone https://github.com/openstack-dev/devstack.git /tmp/devstack | |
cat <<EOF > /tmp/devstack/localrc |
#!/bin/bash | |
# Set up the packages we need | |
apt-get update | |
apt-get install libffi-dev libssl-dev git vim libxml2-dev libsqlite3-dev libxslt1-dev -y | |
# Clone the repos we need | |
git clone https://github.com/openstack/barbican.git /tmp/barbican | |
git clone https://github.com/openstack-dev/devstack.git /tmp/devstack |
(by @andrestaltz)
So you're curious in learning this new thing called (Functional) Reactive Programming (FRP).
Learning it is hard, even harder by the lack of good material. When I started, I tried looking for tutorials. I found only a handful of practical guides, but they just scratched the surface and never tackled the challenge of building the whole architecture around it. Library documentations often don't help when you're trying to understand some function. I mean, honestly, look at this:
Rx.Observable.prototype.flatMapLatest(selector, [thisArg])
Projects each element of an observable sequence into a new sequence of observable sequences by incorporating the element's index and then transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.