Tuesday, June 2, 2015

Git for release management


1. Check your branch is from master to be sure no commits would be missed from previous build
git branch --merged your_branch

git branch --no-merged master

2. Make code review via patch file
git diff master your_branch > diff.patch
Очень удобно проверить через GitExtensions






Wednesday, May 20, 2015

Junit vs TestNG

http://www.techwars.io/fight/testng/junit4/
http://www.mkyong.com/unittest/junit-4-vs-testng-comparison/


1. @BeforeClass в Junit static
2. Неудобное использование @DataProvider
3. Порядок выполнения

Использование @DataProvider в Junit с либой junit-dataprovider

junit
junit 1.4.12 test

com.tngtech.java
junit-dataprovider 1.9.2 test
@RunWith(DataProviderRunner.class)
public class DataProviderTest {

    @DataProvider
    public static Object[][] dataProviderAdd() {
        return new Object[][] {
                { 0, 0, 0 },
                { 1, 1, 2 },
        };
    }

    @Test
    @UseDataProvider("dataProviderAdd")
    public void testAdd(int a, int b, int expected) {
        int result = a + b;
        assertEquals(expected, result);
    }
}    

Thursday, March 12, 2015

Multiple readers from JMS topic on Websphere MQ

If I were to do this in WebSphere MQ the solution would be to create an administrative subscription which would result in a single copy of each message on the given topic to be placed onto a queue. Then your multiple subscribers could compete for messages on that queue. 

This way your app could have multiple threads among which the messages are distributed, and at the same time other subscribers independent of this application could dynamically (un)subscribe to the same topic.

Rabbit MQ solution
http://www.rabbitmq.com/tutorials/tutorial-two-java.html

http://support.sas.com/rnd/itech/doc9/dev_guide/messageq/confmult.html

Sunday, February 22, 2015

IS SOA DEAD

http://martinfowler.com/articles/microservices.html

http://www.kai-waehner.de/files/graphics/Apache_Camel_When_to_Use.jpg
http://www.infoworld.com/article/2611494/paas/soa-dead--not-if-you-re-using-paas-for-app-dev.html
http://stackoverflow.com/questions/936400/if-soa-is-dead-whats-replacing-it

Wednesday, February 11, 2015

DB2 partitioning

ALTER TABLE SCHEMA.TABLENAME
ADD PARTITION PART_15 STARTING FROM ('2015-01-02 12:00:00.0') EXCLUSIVE ENDING AT ('2016-01-01 12:00:00.0') EXCLUSIVE

Wednesday, June 4, 2014

Adam Bien webinar

IEA
http://camel.apache.org/enterprise-integration-patterns.html

JPA Multi-Tenancy & Extensibility
http://www.parleys.com/play/514892290364bc17fc56c4b0/chapter22/about

Cloud Patterns
http://www.cloudcomputingpatterns.org/

Deployment
https://www.docker.io/gettingstarted/

Seo for Angular.js
http://www.brombone.com/

FLP and CAP
http://the-paper-trail.org/blog/flp-and-cap-arent-the-same-thing/

BASE vs ACID
http://queue.acm.org/detail.cfm?id=1394128

Implementation components used by various Java EE servers
http://arjan-tijms.blogspot.ru/

The fully transactional, cloud-ready, immutable database.
http://www.datomic.com/

Imperative computer programming
http://en.wikipedia.org/wiki/Command–query_separation

Cargo cult programming
http://en.wikipedia.org/wiki/Cargo_cult_programming#Cargo_cult_software_engineering

Database migrationa and versioning
http://flywaydb.org/getstarted/
http://www.liquibase.org/

Team Colloboration
http://www.etgroup.ca/is-true-collaboration-a-2-pizza-team-rule

Management - Parkinson's law
http://en.wikipedia.org/wiki/Parkinson's_law_of_triviality

State charts
http://commons.apache.org/proper/commons-scxml/

SOAP vulnarability
http://hackmageddon.com/2011/10/23/xml-encryption-cracked/

Reverse engeneering
http://www.hello2morrow.com/products/sonarj/sonar
http://structure101.com/resources/#resources=0