Browsed by
Category: Programming Notes

[WP] How to Add SSL and HTTPS in WordPress?

[WP] How to Add SSL and HTTPS in WordPress?

SSL plays an important role in website, because in the last year Google announced that they will be using HTTPS and SSL as a ranking signal in their search results. This means that using HTTPS and SSL will help improve your site’s SEO.

Using an SSL certificate for your WordPress site means that your data, as well as your users’ data, remains safe from prying eyes. Since WordPress is a particularly large target for hackers due to its popularity and transparency, it’s important to take all the appropriate steps toward securing your site.

If you host a wordpress website by yourself, you may need to install SSL certificate on your website. I found a simple way to install SSL certificate through commands and the most important thing is this SSL certificate is free. Oh yes, you need to have the basic knowledge of SSH, Linux and Bash.

Read More Read More

Facebooktwittergoogle_plusredditpinterestlinkedinmail
[Android] How to solve the annoyed toolbar stretching issue?

[Android] How to solve the annoyed toolbar stretching issue?

I’ve been developing an Android application recently, and I use Android v7 toolbar in my app instead of ActionBar. When I opened some views with EditText, the toolbar stretched and occupied the whole view. It’s really annoyed, because users cannot see anything when they open this view, unless they close the keyboard.

Screenshot_20160913-223903

Read More Read More

Facebooktwittergoogle_plusredditpinterestlinkedinmail
[Java] 支付寶(alipay) 境內支付API介接與實作

[Java] 支付寶(alipay) 境內支付API介接與實作

最近因為公司業務拓展需求,需要將公司的平台導入支付寶(alipay)的API,讓買家可以直接使用支付寶付款。原本以為這是一個很簡單的任務,沒想到因為對支付寶API的不熟悉,來來回回折騰了將近兩週才將支付功能開發完成。

支付寶的支付接口分為境內支付以及國際支付兩種。所謂的境內支付指的是買家用人民幣付款,賣家用人民幣取款。而國際支付則是買家用人民幣付款,賣家可以用指定幣種取款。因為我的公司是紐西蘭公司,當然就是用紐幣取款了。

這兩種支付接口所使用的API以及傳入的參數是完全不一樣的,但因為一開始不知道兩種支付方式使用不同的API,一直在螞蟻金服開放平台上的官方文件糾結了很久。且網路上的資訊新舊交雜,導致程式都寫完了才發現螞蟻金服開放平台上演示的API只能用於境內支付。恍然大悟之後改去用國際支付的API,程式重新撰寫配置才將此支付功能完成。

Read More Read More

Facebooktwittergoogle_plusredditpinterestlinkedinmail
[AWS] How to tackle with the AWS Certified Developer Associate Level?

[AWS] How to tackle with the AWS Certified Developer Associate Level?

I attended the AWS Certified Developer – Associate exam on 4th March 2016, and eventually got this certification. I would like to tell you what the AWS Certified Developer – Associate is, and how I prepared for the examination.

What is AWS Certified Developer – Associate?

AWS Certified Developer – Associate is one of the AWS Certifications. AWS offers three categories of certification: Solutions Architect, SysOps Administrator and Developer. Each of these is currently available on an Associate or Professional level. Right now, there are five exams in total, since one exam covers both the Developer and SysOps Administrator on the Professional Level.

certification_roadmap

The roadmap of AWS certification

Read More Read More

Facebooktwittergoogle_plusredditpinterestlinkedinmail
How to find the longest possible quasi-constant subsequence of array?

How to find the longest possible quasi-constant subsequence of array?

This is my task2 challenge. I’ve tried to solve this question, but my result wasn’t good. Although there was no error after testing, I only got 33% score.😰

The summary of question shows as below:

I was given a non-empty unsorted array such as: A = [6, 10, 6, 9, 7, 8]. The amplitude of a subsequence of array A is the difference between the largest and the smallest element in this subsequence. The amplitude of the empty subsequence is assumed to be 0.

These are some of the subsequences of array A and their amplitudes:
[6, 6, 7] has amplitude 1;
[6, 10, 6, 9, 7, 8] has amplitude 4;
[6, 6, 7, 8] has amplitude 2.

If this subsequence of array is called quasi-constant, it means its amplitude does not exceed 1. In the example above, subsequence [6, 6, 7] is the longest possible quasi-constant subsequence of array A.

Now, you are expected to provide a method that takes in an array and returns the maximum number of quasi-constant subsequence of array. In above example, the function should return 3.

Read More Read More

Facebooktwittergoogle_plusredditpinterestlinkedinmail
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

Facebooktwittergoogle_plusredditpinterestlinkedinmail
[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

Facebooktwittergoogle_plusredditpinterestlinkedinmail
[Ubuntu] Install Spark1.6.0 on Ubuntu 14.04

[Ubuntu] Install Spark1.6.0 on Ubuntu 14.04

What is Spark?

Apache Spark is a fast and general-purpose cluster computing system. It provides high-level APIs in Java, Scala, Python and R, and an optimized engine that supports general execution graphs. It also supports a rich set of higher-level tools including Spark SQL for SQL and structured data processing, MLlib for machine learning, GraphX for graph processing, and Spark Streaming.

You can download Spark from here, or follow the below command to download and install Spark1.6.0.

Read More Read More

Facebooktwittergoogle_plusredditpinterestlinkedinmail
[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

Facebooktwittergoogle_plusredditpinterestlinkedinmail