Showing posts from 2015

Build React Native App (4) - Redux, Jest, and NativeBase

From this blog, typescript feature will be added. There are couple of ways to implement static type checking like; flow from facebook, PropTypes and Typescript.Typescript is well integrated with Visual Studio Code and supports better linter, error messages, and intellisense.Reference siteGithub Sample Ex4Currnet versionD:\GitRepo\reactnative>npm --version 6.3.0 D:\GitRepo\reactnative>react-native --version react-native-cli: 2.0.1 react-native: n/a - not inside a React Native project directory D:\GitRepo\reactnative>yarn --version 1.9.4 Creating React Native App$ react-native init ex4 If you want to specify the version, add "--version 0.57.3" at the end.Add NativeBase to React Native$ npm install native-base --save ... + native-base@2.8.1 added 71 packages from 42 contributors, removed 50 packages, updated 829 packages and audited 34989 packages in 138.542s found 0 vulnerabilities $ $ yarn yarn install v1.9.4 warning package-lock.json found. Your project contains l…

Developing SPA app with AngularJS, Spring, Spring Boot, REST, and MyBatis - 2. Unit Testing

Developing SPA app with AngularJS, Spring, SpringBoot, REST, and MyBatis - 2. Unit Testing Introduction From the first posting, we just created simple application and run the application using maven and SpringBoot. From this tutorial, we will try to figure out how to do the unit testing with SpringBoot
Recommend Syntax and UI for atomseti-uiseti-syntaxor monaki theme
To find out best theme downloads from atom, please visit Atom theme download site Folder structure root/pom.xml
Setting up the Unit Testing When you add spring-boot-starter-test into the POM file, following 4 libraries will be added;
Spring Test — integration test support for Spring applications.JUnit — The de-facto standard for unit testing Java applications.Hamcrest — A library of matcher objects (also known as constraints or predicates) allowing assertThat style JUnit assertions.Mockito — A Java mocking framework.pom.xml
<?xml version…

Developing app with AngularJS, Spring, Spring Boot, REST, and MyBatis

Developing SPA app with Atom, AngularJS, Spring, SpringBoot, REST, and MyBatis - 1. Setup Environment Introduction I believe the SPA(Single Page Application) will be the direction of future software development and this will be my first small project to develop SPA using following major components; AngularJS for the front-end, Spring REST for the back-end, Spring Boot for running environment, and MyBatis for the database persistence layer. I am a big fan of MyBatis because of flexibility, performance, and easy way to implement MVVM framework.
One of main reason to develop this sample is to understand the structure of AngularJS and Spring framework. If you develop applications with STS or Eclipse, these IDEs will do everything for you, but sometimes it is hard to understand what happening behind scene.
If you are not familiar with Spring Boot project, I strongly recommend to read Official SpringBoot Start Document
Reference articleShould You Use Spring Boot in Your Next Project?

Upgrading graylog from 1.2 to 1.3

Upgrading graylog from 1.2 to 1.3

Dec 10, 2015

Recently version 1.3 was released and this is the instruction to upgrade from 1.2 to 1.3 from ubuntu 14.04

sudo wget
sudo dpkg -i graylog-1.3-repository-ubuntu14.04_latest.deb
sudo apt-get update
sudo apt-get dist-upgrade
  You will see the following packages for graylog
  The following packages will be upgraded:
  graylog-server graylog-web liboxideqt-qmlplugin liboxideqtcore0
  liboxideqtquick0 oxideqt-codecs

During installation, please select No for the question about changing the server.conf file. If you overwrite this configuration file, you will need to update the server.conf file again. For the detail, please review the my previous posting about installing icinga, graylog, and cacti.

  Written with StackEdit.

Installing Icinga 2.4.1, Graylog 1.2.2, and Cacti 0.8.8 on Ubuntu 14.04

Installing Icinga 2.4.1, Graylog 1.2.2, and Cacti 0.8.8 Date: Dec 7, 2015
Overview Before investing to commercial monitoring software, I decided to use open source product and final choice is Icinga for monitoring, Graylog for log collection, and Cacti for graph. The MySQL is the choice because of the Cacti. The Cacti doesn’t support the Postgresql.
- Ubuntu: 14.04
- Icinga: 2.4.1
- Icinga Web: 2.1.0
- Graylog Server: 1.2.2
- Graylog web: 1.2.2
- Java: 7.x
- MongoDB: 2.6.11
- ElasticSearch: 1.7
- Cacti: 0.8.8 Useful command Checking contents in the package Using dpkg alex@monitoring:~$ sudo dpkg -l icinga2
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
ii icinga2 2.4.1-1~…

Installing Icinga, graylog, Cacti on Ubuntu 14.04

Installing Icinga, graylog, Cacti on Ubuntu 14.04As part of monitoring project in our company, we’ve reviewed multiple options, but we decided to use Icinga for general monitoring, cacti for network trend monitoring, and graylog for logging solutionI’ve looked at DB option and I choosed the MySql because of Cacti.1. Installing Icinga2 and Icingaweb2I am one of big fan on Icinga because of their decent UI and flexibility as nagiosIcinga will have three databases after installation, Icinga: This will be created manually by using mysql importIcingaweb: Automatically created from web installationIcingaido: Automatically create from web installationInstalling Icingasudo add-apt-repository ppa:formorer/icinga
sudo apt-get install icinga2
sudo apt-get install mysql-server mysql-client
During installation, it will ask MySQL admin password. Creating database for icinga
mysql -u root -p

SQL Performance Tip #1: Avoid Case or isnull function from where clause

IntroductionI have performance issue with our query and if a query is not designed carefully, the performance will see the big difference.The query having performance has two issues; 1. case statement from “where” clause to implement dynamic query and 2. null data handling.Original Queryselect * from tablename
where CASE WHEN @includeICL=1 THEN 1 ELSE isnull(gbkmut.debnr,0) END not in (100989,100990,100991,100992) When this query was run, it took 4 secs to complete this query no matter what the value of @includeICL.Removing case statementIf you try to search about dynamic query performance issue, you will see lots of recommendation. In general, my recommendation is “Don’t use case statement for conditional filter”. There are couple of good articles how to replace case statement with boolean operation. In this case, the case statement can be replace with following statement
(@includeICL=1 or isnull(gbkmut.debnr,0) not in (100989,100990,100991,100992)) Good thing for this quer…

SAP #2: Connect to SAP EPH4

SAP #2: Connect SAP EPH4 IntroductionFrom the previous post, we completed the SAP EPH4 installation on the VMWare. This article will show you how you can run the SAP instance and how to connect to the system.Running SAP InstanceAfter completing installation, log off from the current user and login with SAP admin account. In my case, “devadm” account was created with the master password which I entered during installation time.After logging with “devadm” account, “SAP Management Console” will be shown on the Desktop.
Run “SAP Management Console”

Click “Start”
Enter Master Password

Wait until turning light to green on the SAPSRV 0 icon. If the icon color is not green, need to troubleshooting about installation.PrerequisitesSAP GUI 7.1 or 7.2. I tested with 7.3, but no luck. I couldn’t find any 7.1 version, so I installed 7.2 on my computer.Office 2007. As far as I know, SAPGUI will need office product and supporting up to 2007.Connecting to SAPAfter starting the SAP, select logon
SAP #1: How to install SAP ECC 6.0 EPH3 with orcacle from VMWare workstationI am going to start my journey to the SAP ERP system and I am so excited to have an opportunity to learn SAP and starting from the ground. To complete the installation into VMWare, I spent almost two weeks of time to complete the installation. However, I have experience with the Exact ERP and Sage from the implementation and supporting. I hope all of the articles which I am going to write for the ERP help anyone who want to know about ERP and fundamental concept of the system.PrerequisticsHarddisk Space: This will be depend on the database engine. I recommend at least 300 GB for MS SQL Server and 400 GB for Oracle. In generally, I recommend to have hardware space at least 500 GB or 1TB for any future update or adding more module into this programSAP ECC 6.0 IDES EPH3: This is the only version which I can find from torrent and as far as I know, latest release is EHP7. EPH stands for **E**nc**H**anced Packages. …
SQL Query to show new record from duplicate There are so many ways to implement this, but I am going to explain two methods for this topic. One is using with Partition and the another is using Group by
Using Partition SELECT * FROM  (     SELECT  itemcode, HID, CASE  FreeTextField_02  WHEN 'Block' THEN 'B'  WHEN 'Unblock' THEN 'A'   END as ItemStatus ,          ROW_NUMBER() OVER (PARTITION BY itemcode ORDER BY syscreated DESC) AS RowNo     FROM [Synergy].[dbo].[Absences]     WHERE TYPE=1017 and  syscreated >= CONVERT(DATE, Getdate()) ) x WHERE x.RowNo = 1
One of drawback of this implementation is that if you want to create this as view, there will be complaining due to "Order By" clause. 
Using Group By
SELECT  itemcode, HID, CASE  FreeTextField_02  WHEN 'Block' THEN 'B'  WHEN 'Unblock' THEN 'A'   END as ItemStatus FROM [Synergy].[dbo].[Absences]     WHERE HID in (select max(HID) from [Synergy].[dbo].[Absences] w…

Sample application for Active Directory SSO with Spring Security 4 and Waffle

IntroductionI've developed quotation program with Mybatis, Spring MVC, and SQL Server, but I had a request of integrating this module with Spring Security and Active Directory. I've researched about possible solutions and I've spent quite bit of time with Waffle and SAML. SAML is more ideal, but I found out that the entire implementation is too complicated and I decided to use Waffle for this purpose. One of drawback of Waffle is that the Tomcat server must be runned from Windows platform.
I tried to find out spring security example with Waffle, but it is hard to find out the sample from Internet. It took so many hours to create this simple example.
Tools Spring STS: 3.6.4 Spring Security : 4.0.1 Spring framework: 4.x.x Waffle: 1.7.4
Implementation Creating Spring MVC Project Create New Project -> Spring Project -> Spring MVC Updating POM To make easy of managing version, added two versions under "properties"
<properties> <java-version>1.6</java-version&g…