Skip to main content


Showing posts from November, 2017

Getting Started With Google Api client - Golang

google client apis Almost every google api i have integreated with my golang projects have same step. 1. Authroize the user 2. Get the token for user 3. Get the cilent using the token 4. Make furter requset for google api using the client Google api client for golang can be get here here is the example code end of example code Now lets inspect the code what it does. Start from main function where the program starts the exection [line 94] Main function starts [line 96] We are reading the client_id.json file downloaded from the google cloud . It will have information like client_id , project_id, token_id, etc. If you don't have client_id.json create a new one. [line 103] We are reading the json file and adding the permission we want for app on using the ConfigFromJson fucntion.  [line 107] We are getting the http client for the further google api requests using the getClient function. Here This function calls subfunctions [line 24] tokenCach

How To Configure Sendy on Ubuntu 16.04 with nginx

How To Configure Sendy on Ubuntu 16.04 with nginx Introduction Sendy is a self hosted email newsletter application that lets you send trackable emails via Amazon Simple Email Service (SES). You can host it on your vps. We are going to see how to host the Sendy on Ubuntu server having installed php , mysql and nginx Prerequisites Before you begin this guide you'll need the following: VPS with ubuntu 16.04 PHP MySQL nginx Step 1 — Get the licenced copy of sendy Sendy is a commercial product. You have to purchase it before using it. You can purchase it from After purchasing they will send you a copy of the sendy to your email id. Now transition to the next step by telling the reader what's next. Step 2 — Configer Sendy Extract the zip of sendy you get in the email Update the config.php file You will be able to find  config.php file inside the include folder. Update the varialbes inside config.php Set the App_PATH &

Export enviroment variable in linux

For User & Application There are actully three files from the linux reads the enviroment variable /etc/enviromet  ~/.profile : ~/.bashrc  If your app depened on the enviroment variable then you have to store that variable inside this files otherwise those variable lost as soon as the terminal exits. To export enviroment variable permanatly in linux follow this commands : $ echo export variablename='path/value' >> ~/.profile This will store the variable in the ~./profile $ echo export variablename='path/value' >> ~/.bashrc This will store the variable in the ~./bashrc Now to make this change working you have to run this commands $ source ~/.profile  This will evaluate ~/.profile file $ source ~/.bashrc This will evaluate ~/.bashrc file You can locate this files in you users Home folder bashrc and profile files If you want to go GUI way you can find this files in your /home/[user] folder bashrc file For CronJo

golang intellij community setup

I have used the phpstorm for 2 years. So intellj platform is now first need for development. There are many options available as golang development ide. like Sublime and Atom etc. If you are reading this means i don't have to give reasons why to use intellj for development. ( But if you are not familier with intellj platform you can check it out here. ) Intellj Community Version as Golang IDE I am assuming that you now how to setup the golang on your own spacific platform. After you setup the golang you need to download install intellj community version. ( Note that Community version is open source and free while other versions are commercial . Here is the comparision of Intellj Community version with commercial versions ) Intellj Community version Here is the spacific link for the intellj communiy verions. I would sugget to use the link provided here because i have felt early that golang plugin (which is essential to use golang inside the comm

Easy way deploy and manage mysql database to linux server

Let assume that you have setup the linux server with mysql. Now you want to deploy the database to the server you have created on your developement enviroment.  You development enviroment may be windows or mac or linux with the gui but server are run only cli. So it is necessary to know the easy way to deploy database to the server with just cli Importing the mysql database to mysql using the cli 1) Export the sql file of the database from your development enviroment. 2) Copy the sql file to the serve using the sftp. 3) Now import the sql file to you mysql using this comman snippet     $ mysql -u [username] -p < [path/to/your/sql/file]      $ password : [your password ] [will be invisible on screen]     $  After sucessfull import of sql file your database will ready to be used. Note that if there is any error during the import than it will print the error on the screen but in case of successful import it will not generate any response. Now to access the

golang secure api with jwt

Jwt + Golang For Secured Api For jwt authnetication i am using the  dgrijalva/jwt-go package with my golang project.  First of all fetch packge from repository go get Now you are ready to use the jwt I am sharing here  my basic code to create secure routes using jwt Here you can see that we have used jwtcheck function as middleware. It processes the request before passing it forward. If request has a valid jwt token than that request get forwarded to the intended function otherwise that request does not forwarded. Hope you find it usefull. If you have any question just ask in comments.