Browsed by
分類:Programming Notes

My first Codility test experience

My first Codility test experience

Last week, I received an email from a recruiter who asked me to do Codility assessment. I had to answer three questions within 245 minutes. Although I’ve heard about Codility, this was my first Codility test experience. To be honest, it was really difficult to me.

These questions were not easy to understand, so it took me some time to understand each question. Then I tried to answer the questions by Java or Python programming language. Even though I eventually found the solutions and summited the answers, my average score was not good enough. When I finished this assessment, I was very disappointed about myself. I even thought whether I should keep a programmer job.😂😂😂

It seems that more and more companies like to use Codility assessments to evaluate developers, but I don’t think it is a best way to test a programmer’s coding/programmer abilities.

Read More Read More

[Java] How to use SSL and Google Protobuf on Netty?

[Java] How to use SSL and Google Protobuf on Netty?

Recently, I tried to use Netty framework dealing with message transferring between different virtual machines which are including one server and some clients. Meanwhile, I need to use SSL mutual authentication and Google protobuf when these VMs do communication cross the internet. Although I had already encountered the term “SSL” a lot of times, I soon realised that I had never fully understood how it really works and how it could be implemented in Java.

I would like to share my experience about implementing SSL plus Google Protobuf on Netty. But I wouldn’t exactly tell you what Netty, SSL and Google protobuf are.

Read More Read More

[Ubuntu] Install chef-server, chef management console on Ubuntu 14.04

[Ubuntu] Install chef-server, chef management console on Ubuntu 14.04

What is Chef?

Chef is a systems and cloud infrastructure automation framework that makes it easy to deploy servers and applications to any physical, virtual, or cloud location, no matter the size of the infrastructure. Each organization is comprised of one (or more) workstations, a single server, and every node that will be configured and maintained by the chef-client. Cookbooks (and recipes) are used to tell the chef-client how each node in your organization should be configured. The chef-client (which is installed on every node) does the actual configuration.

Read More Read More

[Ubuntu] Install OpenStack on Ubuntu 14.04 LTS

[Ubuntu] Install OpenStack on Ubuntu 14.04 LTS

OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. If you’ve used Amazon Web Service, OpenStack is just a bit like AWS.

openstack-software-diagram


Read More Read More

[Linux] Install PostgreSQL 9.4 on CentOS 7

[Linux] Install PostgreSQL 9.4 on CentOS 7

postgresql-logo

About
PostgreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. It runs on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows.

Read More Read More

[Java] Install/uninstall Oracle/Open JDK, Maven, Ant, Tomcat on Ubuntu14.04

[Java] Install/uninstall Oracle/Open JDK, Maven, Ant, Tomcat on Ubuntu14.04

I used the following command to install Java tools on Ubuntu14.04 , and it also works for old Ubuntu version.

Install Oracle JDK6, JDK7, JDK8

$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java6-installer

or

$ sudo apt-get install oracle-java7-installer

or 

$ sudo apt-get install oracle-java8-installer

Read More Read More

[Java] Create a Simple Report by Jaspersoft Studio 6.1

[Java] Create a Simple Report by Jaspersoft Studio 6.1

Jaspersoft Studio is an Eclipse-based report designer for JasperReports Library and JasperReports Server; it’s available as an Eclipse plug-in or as a stand-alone application. Jaspersoft Studio allows you to create sophisticated layouts containing charts, images, subreports, crosstabs, and more. You can access your data through a variety of sources including JDBC, TableModels, JavaBeans, XML, Hibernate, Big Data (such as Hive), CSV, XML/A, as well as custom sources, then publish your reports as PDF, RTF, XML, XLS, CSV, HTML, XHTML, text, DOCX, or OpenOffice. But my focus is on how to create a simple report and simple code.

Read More Read More

[Linux] The command lines for network setting

[Linux] The command lines for network setting

1. IP and Subnet Mask setting

  • Assign IPv4 addresses to Network Interface
    $ ifconfig *interface* *IPv4 address*
    
    e.g:
    $ ifconfig eth0 192.168.10.91
    
  • Assign IPv6 address to Network Interface
    $ ifconfig *interface* inet6 add *IPv6 6Address*/*IPv6 Prefix Length*
    
    e.g: 
    $ ifconfig eth0 inet6 add 2001:b030:7015:ff01::1/64
    
  • Assign a IPv4 Subnet Mask to Network Interface
    $ ifconfig *interface* netmask *IPv4 Subnet Mask"
    
    e.g: 
    $ ifconfig eth0 netmask 255.255.255.0
    
  • 2. default gateway setting:
  • Assign IPv4 Gateway to Network Interface
    $ route add default gw *IPv4 Gateway* *interface*
    
    e.g:
    $ route add default gw 192.168.10.254 eth0
    
  • Assign IPv6 gateway
    $ route -A inet6 add default gw *IPv6 gateway*
    
    e.g: 
    $ route -A inet6 add default gw 2001:b030:7015:ff01::ffff
    
  • DNS setting:
    $ vim /etc/resolv.conf
    
    nameserver *ip adress*
    
    e.g:
    nameserver 8.8.8.8