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 site Github Sample Ex4 Currnet version D:\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. You

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 atom seti-ui seti-syntax or monaki theme To find out best theme downloads from atom, please visit Atom theme download site Folder structure root/pom.xml root/src/main/java/ root/src/main/test/ 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 fram

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 article Should You Use Spring Boot in Your Next Proje

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. Version - 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 Desired=Unknown/Install/Remove/Purge/Hold | 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

Installing Icinga, graylog, Cacti on Ubuntu 14.04

Installing Icinga, graylog, Cacti on Ubuntu 14.04 As 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 solution I’ve looked at DB option and I choosed the MySql because of Cacti. 1. Installing Icinga2 and Icingaweb2 I am one of big fan on Icinga because of their decent UI and flexibility as nagios Icinga will have three databases after installation, Icinga: This will be created manually by using mysql import Icingaweb: Automatically created from web installation Icingaido: Automatically create from web installation Installing Icinga sudo 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 CREATE DATABASE icinga; GRANT SELECT, INSERT, UPDATE, DELET

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

Introduction I 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 Query select * 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 statement If 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 Where (@includeICL=1 or isnull(gbkmut.debnr,0) not in (100989,100990,100991,100992))

SAP #2: Connect to SAP EPH4

SAP #2: Connect SAP EPH4 Introduction From 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 Instance After 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. Prerequisites SAP 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
SAP #1: How to install SAP ECC 6.0 EPH3 with orcacle from VMWare workstation I 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. Prerequistics Harddisk 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 program SAP 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
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].[Ab

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

Introduction I'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"        <