Day 72 Building simple web application with GoIt's been a busy week with full of dilemma. This is because I got a job offer where the renumeration package is slightly below my expectation but it's one of the way into the open source tech world. So for the past week, I have been spending time on preparation for interview as well as thinking after getting the job offer, whether to accept or reject. At the end of the day, I have accepted it. It's not Golang but I will not stop learning Golang and build this towards my idea.For the past 2-3 days, I have worked on the list of company invitations, re-sending invitation email and delete of the invitation. When I was working on the pagination for the list of company invitations, I read some articles on how bad it is to use OFFSET in SQL because it will have performance issues if there are a lot of records (you can refer But I have not changed the codes yet (will be looking into it soon).
Things I've done/learnt:- Added functionality of list of company invitations, re-sending invitation email and delete of the invitationWhat's next:- To look into SQL on pagination for optimized usage- To add permission on the functionality on create/edit/delete of company- To allow users to join company- To build notification system- To further explore CodeDeploy, Route 53, S3 on AWSFor the source codes, please refer to the link in my profile ? - 3 days ago. Day 70 Building simple web application with GoLately, I stumbled upon Redis and Memcached when I was looking at requirements of some job postings. (Technologies are really changing very fast, there are so much that I do not know!) Wondering what they are, I Googled them up and studied a little bit about them.
Basically, they are tools to store data in memory that can assist to speed up the application. For example, after querying the database, the data is stored in memory for the subsequent request, thus frequency of pinging the database can be greatly reduced and hence save the network time / cost.I did some learning on Redis with Laravel and I hosted a separate repo in my Github account. Feel free to have a look.The other day, I showed my friend my code on using goroutine and he told me that the codes can be further optimized by having worker pool.
Coincidentally, I came across this worker pool example on and I have modified it to have goroutine worker pool.Things I've done/learnt:- Changed the invite multiple emails code to use goroutine worker pool- Had a read up on Redis and tried Redis on LaravelWhat's next:- To add permission on the functionality on create/edit/delete of company- To have a list of company invitation requests- To allow users to join company- To build notification system- To further explore CodeDeploy, Route 53, S3 on AWSFor the source codes, please refer to the link in my profile ? - 9 days ago. Day 68 Building simple web application with GoFinally, I put my hands on goroutine and channels when building the functionality to invite users to join company.
![Membuat aplikasi sederhana Membuat aplikasi sederhana](/uploads/1/2/4/1/124110469/898247784.png)
Source Code Aplikasi Penjualan dengan CodeIgniter (Kasir) – Aplikasi penjualan adalah sebuah aplikasi yang mempunyai keunggulan untuk mencatat hasil stok barang dan mencatat transaksi kepada konsumen usaha kita secara akurat dan terkontrol. Aplikasi penjualan ini mempunyai hasil rekap penjualan dan stok barang yang akurat, mudah, dan tidak rumit dalam menjalankannya. Jun 9, 2015 - Hai All ketemu lagi sama saya portgastea, tutorial kali ini adalah membuat mp3 player mengunakan tampilan boostrap. Ok langsung saja kita.
This is how it works. The admin is able to invite multiple email to join the company. I have used goroutine to create the data for each email and collect the data using channel.Last few days, I got called by a recruiter, sharing about a software house which I often stumble upon on job vacancy platform and it's quite a decent size company. Having dilemma when got contacted as on one end, I was thinking that I should put in my 100% into the interview but on the other end, my company will be giving out one month contractual bonus if I only quit the company end of the year.
We shall see what happens next.Things I've done/learnt:- First attempt of using goroutine and channels. It is used when creating the records when inviting multiple emails to join the company, channel is then used to retrieve the data to check if it is successful.What's next:- To add permission on the functionality on create/edit/delete of company- To build functionality to invite people on board as well as to join company- To build notification system- To further explore CodeDeploy, Route 53, S3 on AWSFor the source codes, please refer to the link in my profile ? - 15 days ago. Project baru, techstacks baru, Laravel Framework. Sebenernya framework ini ga baru sih, gw aja yang selama ini ga bisa move on dari CodeIgniter dan Slim.Fitur emang lebih powerful dari CI dan Slim.
Tapi karena gw baru pake ini kali ya, jadi ribetnya masyaa Allah! Tiga jam coding baru nyampe login page dan tiga menu yang di request dari user. Login page yang dibuat udah bisa enkripsi password pake blowfish encryption, dan menggunakan API Token dan Session selama login. Jadi udah bisa masuk standarisasi untuk test web security lah seenggaknya.Sayang, gw gabisa dokumentasi hasil untuk publik, karena seluruh properti milik kantor, haha. Jadi gw timelapse aja videonya.- 17 days ago. Day 66 Building simple web application with GoThings I've done/learnt:- Added functionality to delete profile picture and remove the file from the directoryWhat's next:- To add permission on the functionality on create/edit/delete of company- To build functionality to invite people on board as well as to join company- To build notification system- To further explore CodeDeploy, Route 53, S3 on AWS- To try with goroutine and channelsFor the source codes, please refer to the link in my profile ? - 19 days ago. Day 60 Building simple web application with GoThe updates here will be less frequent as I will try to achieve more before posting here.
Since I managed to host the website on AWS, I shifted my focus back to developing the web application.The idea for the web application is to have an internal portal for companies that enable seamless communication between the employees and this will be a multi-tenanted web application.Things I've done/learnt:- Added the objects such as Company, Role (there will be either Admin or User for the time being), CompanyUser- Added functionality to create company, which then create roles and link the current active user to the company. Managed to achieve that using GORM transaction which can be rolled back if there's error- Added functionality to list all the companies that the current active user is inWhat's next:- To build functionality on the company, such as edit, delete, view company- To build functionality to invite people on board- To further explore CodeDeploy, Route 53, S3 on AWS- To try with goroutine and channelsFor the source codes, please refer to the link in my profile ? - 1 month ago. Dev life has taught me much over the past 1.5 years. Primarily that folks have a tendency to think that code is abstract and takes a special breed of human to understand.Devs are not a special race of human with secret schools for digital wizards. We aren't 'machine whisperers'. We don't lock ourselves in basements with six monitors in every direction.We walk among you.
We're just as social as you. We watch Netflix, longboard, and dance. We're just as creative as the artist who did the mural two blocks from your workplace. Maybe one of us IS that artist.We aren't robots. We're developers.
The only thing that separates us from anyone else is time, and unrelenting patience (bugs don't find themselves, right?). Have a similar experience? I wanna hear pls ⌨️ ⤵️ - 1 month ago. Day 55 Building simple web application with GoYES! Finally I have my entire application (both frontend and backend) hosted on AWS. I have managed to link the application with RDS as well. The next thing is to get a domain.
This is AWESOME!With all these done, I will focus on developing the application further next.Things I've done/learnt:- Explored, configured and ran RDS on the AWS- Created a simple welcome pageWhat's next:- To further explore CodeDeploy, Route 53, S3 on AWS- To further develop the application (details to be laid out later)- To try with goroutine and channelsFor the source codes, please refer to the link in my profile ? - 1 month ago. Day 54 Building simple web application with GoAfter spending some time on AWS, I have finally managed to host my Golang application on AWS. The following is what I have done:1. Launched an EC2 instance and installed Go2. Installed and configured Nginx to transfer from port 80 which it's listening to port 9000 which I ran the application on3. Installed tmux and ran Go server on it so that it wouldn't get killed once I closed the sessionI'm putting a rest to it and going back to building my application.
I have added CSRF token to the form to prevent CSRF attack.Things I've done/learnt:- Installed Nginx and tmux on AWS and managed to run Go application on it- Added CSRF token to formsWhat's next:- To further explore CodeDeploy, Route 53, RDS on AWS- To add beautiful welcome/landing page- To try with goroutine and channels on upload of profile pictureFor the source codes, please refer to the link in my profile ? - 1 month ago. Day 52 Building simple web application with GoThese past few days, I have been learning about deploying Go application on AWS. While I managed to host the project (only the frontend) online, it's not without sweat and tears.And of course, there are many more things to configure on the AWS. Currently, I have created an EC2 instance (linux) and then installed Go and configured the environment variables accordingly. (You can refer to I then copied all the files to the EC2 instance.There are many things that I would like to continue to explore on:1.
To setup Nginx to listen to other ports2. To configure the Route 533.
Use CodeDeploy and link up with GitHub to allow continuous deployment (CD)4. To setup RDS to connect to the applicationThings I've done/learnt:- Setup EC2 instance and deployed the frontend application on AWSWhat's next:- To further explore Nginx, Route 53, RDS on AWS- To find out and probably implement CSRF in the form- To try with goroutine and channels on upload of profile pictureFor the source codes, please refer to the link in my profile ? - 1 month ago. Day 48 Building simple web application with GoIt's been few days since I last updated this space. I'm still working on this and I'm currently exploring AWS in order to host this project online.I have tried using Heroku but thinking that learning AWS is probably good for my future, I ditched the idea. Anyhow, I have managed to added several fields in the edit profile page to use different elements, such as date selector and dropdown.Things I've done/learnt:- Completed edit profile page by adding several fields- Still in the midst of exploring AWSWhat's next:- To host the project online in AWS- To find out and probably implement CSRF in the form- To try with goroutine and channels on upload of profile pictureFor the source codes, please refer to the link in my profile ? - 2 months ago.
Day 43 Building simple web application with GoI have thought of some ideas to add more functionalities to this web application. I'm thinking of building something like a intranet for companies with chat functionality. In this way, I will learn to build a real-time web application.Other the other hand, I spent some time looking at the algorithm and learnt a bit more about dynamic programming. It's quite fun but I still can't apply that on any problem I encounter yet.Things I've done/learnt:- Added expiry duration of 2 hours to the JWT token to prevent illegal usage of the token.What's next:- To host the project online- To add upload picture functionalityFor the source codes, please refer to the link in my profile ? - 2 months ago.