Jun 24, 2017
Intro Context is available in Go for a long time. But before moving to Go’s standard library, we should access context from /x/net/context package. In my opinion, context is one of the most important package in Go that every Go developer should use. By using context we can do various things, like saving value in context...
Apr 23, 2017
Apache Solr and Elasticsearch are the most popular open source search engines. Both are built on top of the Apache Lucene text search engine library and most of the functionalities are similar. However, there are significant differences in terms of ease of deployment and ease of scalability. Popularity of Elastic Search has risen significantly in recent...
Apr 5, 2017
Source: Unit Test. So it is like test your code with another code. But, do I really need unit test? Is it worth my time? Or when I only support legacy code that does not has unit test, why should I build one? There are many reasons for us not to write unit test. But in...
Apr 1, 2017
Hi, mate! Today we are going to learn about object-oriented programming in Go. These are two interesting aspects, considering Go has been so favoured at the moment and object-oriented is one of the most prominent paradigm in the programming world. Before we start to discuss about this topic, let’s have a look at how Google define...
Sep 28, 2016
Bio Founder of Kurio, a smart news app, an app that help user to find, explore and read the news about travel, national & international news, fashion, technology and any other categories, He started his career in GDP Ventures, a venture capital company, founded in 2010 and since then he involved in beritagar.id, merahputih incubator and...
Sep 21, 2016
In the previous post I introduced how consul is a simple, distributed and fault tolerant system for service discovery and configuration management. Now, a common need is how do we track if someone has changed a key value or added or deleted a key? Solution is consul watch command. We can use consul watch for registering...
Sep 20, 2016
We recently moved some of our services to golang for the sake of performance and maintainability. Our large portion(80%) of application is written in perl. Perl being static language + monolithic style of coding sometimes become concern for us as it leads to slow deployments and vulnerability. We figured out some of our http API which...
Aug 27, 2016
If you have a reasonably growing setup of services then you would already know what kind of hell configuration management becomes. Let me give an example. Suppose there are three services A, B and C which depend on two redis instances 192.168.1.1:6379, 192.168.1.2:6379 and a postgres instance 192.168.1.3:5432 then your configuration for the three services would...
Aug 3, 2016
Recently, we at Tokopedia rearchitected a golang microservice which maps an Image (as in picture, photo, ..) ID to the fully qualified server name that hosts the image. A bit of context is always good.. Historically, we stored images and served images from multiple servers for reasons of scale. The mapping of which image is located...
Jul 31, 2016
Dexter, since its inception in August 2015, has grown significantly and is now offering more from a features perspective. Our small team of automation engineers have worked towards bettering dexter framework and offer seamless test suite executions across platforms by designing a simple web interface. We now call our test automation web interface “Genesis”. Here is...
Jun 13, 2016
During Tech a Break, we had the opportunity to learn from two prominent speakers in the industry. First is Supreet Sethi, a software platform architect from Tokopedia and Marvin Mahadharma Muditajaya, the Commercial Lead for Telkomsel MSIGHT. Marvin showed us how we can obtain many insights from our customers especially with the development of technology adoption...
Apr 2, 2016
When Tokopedia releases a new app, you can rest assured that it goes a rigorous testing process, ensuring the best experience for our users. But no amount of testing in the lab can make it bug-free, and we strive for ways to improve the quality further. Our Bugs Challenge program is a step in that direction....
Apr 1, 2016
Five common fraudulent activities that E-commerce should watch out for. Before we get into common substance of some abusive actions at E-commerce sphere, we should realize that basically internet companies who run E-commerce has both advantages and vulnerabilities. Some advantages are they will simplify shopping method over traditional shopping (faster buying/selling procedure), dramatically change the way...
Mar 18, 2016
Who does not recognize Budi Rahardjo of Indonesia? He’s such a role model among Indonesian hackers. Hackers, in this context, represents a good guy gaining access to a computer without the intention of destroying data or harming the computer. Then, it is a cracker who you might be thinking of–the criminals who destroy and steal. He...
Feb 26, 2016
Last Thursday (18/2), we held our ninth Tech a Break at Tokopedia office, which was another success. In case you don’t know, Tech a Break is our monthly event where tech enthusiasts and practitioners gather together in warm knowledge-sharing meetup with awesome guest speakers from variety of tech backgrounds. Paying attention to the speakers Unlike the...
Jan 29, 2016
How Hazelcast helps Enterprises overcome the challenges of extracting business value from massive scale data. We will get introduced to Distributed Systems and In-Memory Computing with Hazelcast. This talk will cover some familiar distributed data structures like Maps, Lists, Queues etc along with running complex business algorithms in parallel over a Hazelcast cluster by using Distributed...
Jan 25, 2016
Experiences and some solutions on what can be done to combat bad reviews, and get good ratings.
Jan 25, 2016
Databases are the center of today’s enterprise and web applications, storing and protecting an organization’s most valuable assets and running business-critical applications. Just minutes of downtime can often result in significant amounts of lost revenue and unsatisfied customers. Making database applications highly available is therefore a top priority for all organizations. Downtime Planned Downtime Software upgrade...
Jan 23, 2016
We are moving the Tokopedia tech blog to jekyll and github. It was previously hosted on Wordpress, but we guess this is a much better fit. Hopefully, you will see more regular posts as well. Got any suggestions on what we should blog about? File all bugs/feature requests at the source repo. package main import "fmt"...
Oct 13, 2015
It was a once in a lifetime opportunity, an opportunity to learn how to write a Search engine from the ground-up. Working with some of the best and brightest engineers, incubating innovative technologies, to architect, to develop and to finally ship the product to millions of users. It took us about 2 years growing Maguro from...
Oct 6, 2015
You might be thinking, what does “Starting-up within Microsoft” mean? Though it is not very common, at Microsoft we occasionally incubate products or technologies from a ground-up. Typically at any group at Microsoft we do have short-term, mid-term and long-term focus. Incubation of new technologies can happen for different focuses and needs and mostly they are...
Sep 25, 2015
At our company, QA (Quality Assurance) is part of the scrum team which also has developers, product owners, designers collaborating to arrive at a working product at the end of each sprint. Having a core product in an e-commerce space with forever evolving feature set, we, the QA/testing team, have utilized open source test automation libraries...
Aug 5, 2015
Meteor is an open-source JavaScript web application framework written using Node.js. Meteor allows for rapid prototyping and produces cross-platform (web, Android, iOS) code. Meteor Components: Command line tool View layer Livequery Full-stack package system Build system with Phonegap/Cordova Riza Fahmi said Meteor is fun, perfect for startups and it’s the future. Maybe you guys are so...
Aug 5, 2015
Past & Present Deployment at Tokopedia In the early years, William Tanuwijaya and Leontinus Alpha used only a single folder to deliver every features or bug fixing file. But after 9 engineers joined in, Tokopedia started to use a GitLab technologies. Wibi and Louis were in-charge for this. Both of them were not satisfied with GitLab’s...
Aug 5, 2015
Big Data is a technology that capable of handling a massive and complex data, stream of data in (near) real time and works extremely in large infrastructure. Then, Hadoop is a scalable framework for storing and processing big data into running application. Created by Doug Cutting and Mike Cafarella. Yahoo is the first company who has...