SEARCH KEYWORD -- Save



  OpenLDAP Proxy -- Installation and configuration

After understanding what the configuration would be for an OpenLDAP proxy, it's time to explain the installation of OpenLDAP proxy and how to make it run. In this post, we will cover how to install OpenLDAP proxy both locally and using docker. Local installation The installation is quite easy, there are a few packages to be installed including the ldap server, ldap client and some utilities. Below steps are for CentOS, the instructions for other platforms should be similar with minor differ...

   INSTALLATION,CENTOS,DOCKER,OPENLDAP,OPENLDAP PROXY     2017-11-03 20:26:41

  How does PHP session work?

This article is about how PHP session works internally. Below are the steps : 1. Session in PHP is loaded into PHP core as an extension, we can understand it as an extension. When session extension is loaded, PHP will call core functions to get the session save_handler, i.e interface or functions for reading and writing session data. By default, PHP will handle session data by writing and reading files on the server. But PHP also supplies custom methods for handling session data, we can use sess...

   PHP, session, mechanism     2012-12-28 13:36:49

  Generate certificate with cRLDistributionPoints extension using OpenSSL

In an X509 certificate, the cRLDistributionPoints extension provides a mechanism for the certificate validator to retrieve a CRL(Certificate Revocation List) which can be used to verify whether the given certificate is revoked.   A cRLDistributionPoints extension can contain one or more DistributionPoints where the CRL can be retrieved from. Each DistributionPoint consists of three fields,each of which is optional: distributionPoint : it contains either a SEQUENCE of general...

   X509,OPENSSL,CERTIFICATE,CRLDISTRIBUTIONPOINT,EXTENSION     2015-10-22 03:41:11

  Push docker image to remote AWS ECR

With the popularity of distributed and large-scale systems, there are more and more adoptions of cloud services. One of the most popular container in the market is Docker and one of the most popular cloud service provider is AWS. From development perspective, there is frequent need to push local docker image to remote ECR for debugging or testing purpose. Normally when a code change is done and the committed change would go through a series of process like code review, push to remote repo, merge...

   CLOUD,AWS,DOCKER,AWS ECR     2020-12-13 04:12:26

  Commonly used AJAX frameworks

Have you ever wondered to design your website like desktop applications? Fortunately, with AJAX we can achieve this. By using AJAX, we no need to refresh the whole page when we just want to update a portion of a website such as the weather information or news panel. This makes our web apps look like desktop applications and bring good user experience to our visitors. You can create an XMLHttpRequest object every time when you want to initialize an AJAX call, unfortunately you may need repeat eve...

   AJAX,framework,jQuery,Dojo,YUI     2012-06-27 04:40:05

  WireGuard VPN: Setup WG_VPN client App on Android phone and connect to local WG_VPN server on VM

We will show the detail steps about how to setup the WireGuard VPN client on an Android phone/pad and configure the VPN client to connect a WG_VPN server in local network. The setup process contents three main steps: Install WireGuard and create a key-pair in WireGuard client. Add the Android client peer information in the WireGuard server’s config file. Config the Android WireGuard client to connect to the server. The test environment network configuration:  Step 1. Install Wire...

   WIREGUARD,VPN,TUTORIAL     2020-10-24 08:46:42

  Understanding JavaScript closure and where it can be used

Closure The official definition of closure is: an expression (usually a function) that has many variables and is bound to an environment that includes those variables. In JavaScript, closure refers to the ability of a function to access the lexical scope in which it was defined, even after the function has been executed and left that scope. This ability is due to the fact that when a function is created, it generates a closure that includes a reference to the definition environment of the curr...

   CLOSURE,JAVASCRIPT,USAGE     2023-03-05 02:17:08

  Learn these technical skills within one day

It takes days and days reading books, practicing and involving in real project if you want to learn a programming language well. It's just like a marathon, you will get more if you can insist longer. During this long and boring period, there are always something you can learn within a short period of time, like within one day. These skills can bring your big satisfaction. Below are a list of technical skills which you can pick up within one single day, they are advocated by Jacob Jensen, a Googl...

   Technical skill     2014-06-12 09:33:15

  Using htpasswd to protect your website in Nginx

We need to build a password protected website frequently such as an internal website within the team, demo website. Here what we are talking about is password protection in Nginx server level instead of application level registration and login. We are going to use Nginx server configuration and htpasswd file to achieve password authentication. The final result looks like below(Different browsers may have different interfaces): If the authentication fails, it will report a HTTP error: 401 Author...

   Nginx,Password protected,htpasswd     2013-06-07 21:35:27

  How Kafka achieves high throughput low latency

Kafka is a message streaming system with high throughput and low latency. It is widely adopted in lots of big companies. A well configured Kafka cluster can achieve super high throughput with millions of concurrent writes. How Kafka can achieve this? This post will try to explain some technologies used by Kafka. Page cache + Disk sequential write Every time when Kafka receives a record, it will write it to disk file eventually. But if it writes to disk every time it receives a record, it would ...

   BIG DATA,KAFKA     2019-03-08 09:42:57