Git Product home page Git Product logo

various-problems's Introduction

Various Coding Problems and My Solutions

Most of the various problem solutions are located at: [ https://github.com/iizrailevsky/various-problems/tree/develop/modules/main/src/main/java/com/ilya/coding ]

Steps to build the project

##Prerequisites

On Mac

# install home brew
% ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
% brew doctor
% brew update

# install git
% brew install git
% brew install git-flow-avh

# install maven
% brew install maven

# install fpm
% brew install libxml2 libxslt
% brew link --force libxml2 libxslt
% brew install rpm
% sudo gem install fpm
# workaround for ruby find issue. comment out line 40 in:
% vi /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/find.rb

On Windows

# install cygwin [ http://www.cygwin.com/install.html ], including packages in sections:
# 	Devel: git, git-completion, git-gui, gut-review, gitk
#	Utils: util-linux
#	Web: wget
# in cygwin, do:
% git clone git://github.com/petervanderdoes/gitflow.git
% cd gitflow/contrib
% chmod +x gitflow-installer.sh
% ./gitflow-installer.sh install stable
# install maven to C: drive [ http://mirror.ibcp.fr/pub/apache/maven/binaries/apache-maven-3.2.1-bin.zip ]
% vi .bash_profile
# add: export PATH=$PATH:/cygdrive/c/apache-maven-3.2.1/bin
% which mvn

Continue (Platform-independent)

# install  java [ http://www.oracle.com/technetwork/java/javase/downloads ]
# [optional] SourceTree
% open http://www.sourcetreeapp.com

##Checkout out project working copy

% git clone https://github.com/iizrailevsky/hello-world.git
% cd hello-world
# initialize git branches. set 1st (production) to master, 2nd (next release) develop, use defaults for rest
% git flow init
# report change status
% git status
# revert changed file
% git checkout -- <filename>

##Build/develop/run project

working with branches provides significant benefits. as such, if you are interested in working with branches then consider the following optional steps:

# [optional] initialize a local feature branch
% git flow feature start [NAME]
# report change status
% git status
% mvn clean package
% java -jar modules/main/target/proto-main-*-SNAPSHOT-all.jar

##Package

# generate package
% ./bin/fpm.sh

##Deploy

Test your rpm on your machine's Linux VM:

# copy your generated rpm to the share data directory
cp modules/main/*.rpm ~/[ws]/data
# on your Linux VM, install the rpm
sudo yum -y install /data/hello-word-main*.rpm

##Verify or change branch

# check your current branch
% git branch
# switch branches (e.g. to develop)
% git checkout develop

##Check-in your changes locally

# get latest updates from others
% git pull origin develop
# report change status
% git status
# register changes
% git add ...
% git commit
# report change status
% git status

##Push your changes to main Git repository

if you're working with branches, then apply the following steps:

# [optional] publish changesets for review
% git flow feature publish
% git flow feature finish

if you're working on default (develop) branch, then do:

% git push origin develop

##Release milestone build

# create milestone release
% ./bin/release.sh

##Store your Git login credentials (on Mac)

# save my icode credentials in the osx keychain
% git config --global credential.helper osxkeychain
# verify it worked afterwards
% git config -l

various-problems's People

Contributors

iizrailevsky avatar dependabot[bot] avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.