You are viewing our old blog site. For latest posts, please visit us at the new space. Follow our publication there to stay updated with tech articles, tutorials, events & more.

Recent Posts

Better Practices in PHP – Speed up your code

“There's ALWAYS a way to fix something.” --Steven Wolff And when you are using PHP, there are multiple ways to fix something. What we need to determine is, that which way is the best. Computation is not like solving a maths problem, where simplicity can be determined by the number of lines. Computation requires resources, for example CPU Cycles and memory. Now when we have got multiple ways to solve a problem, we need to think in terms of computation and how much resources it will take. The objective is to accomplish the task in minimal number of steps, but different functions in... Read More

Implementing Pushdown on Naukri.com mobile site

Presenting quality jobseeker profiles to our recruiters is most important for us at naukri.com. There was always a need of a system which can poke our jobseekers to keep their profile updated without disturbing them in their normal flow. To address this need, we implemented pushdown a layer based profile completion system at naukri.com. And here is what we achieved: 10-15% increase in profile updates. Secure profile updates in small chunks. Pushdown is “made once integrate anywhere” Open sourced drawer.js a core plugin used in pushdown layers. Successfully made... Read More

Bootstrapping an AngularJs application

AngularJS is a JavaScript MVC framework developed by Google that lets you build well structured, easily testable, and maintainable front-end applications. And Why Should I Use It? The framework consists of a tightly coupled toolset that will help you build well structured, rich client-side applications in a modular fashion—with less code and more flexibility. AngularJS extends HTML by providing directives that add functionality to your mark-up and allow you to create powerful dynamic templates. You can also create your own directives, using reusable components that fill your... Read More

Android Auto Complete with Real time suggestions

In an android app, when we attach an AutoCompleteTextView to display suggestions while a user is typing, we can fetch the list of suggestions in two ways. One way is to store the data in a local database and fetch it using a search query on the search keyword entered by the user. Another way is to fetch list of suggestions in real time, by generating a search url with the search keyword and hitting the web service. In the second approach, we fetch data directly from server, so whenever the list of suggestions changes, it gets reflected immediately in the app. Whereas in the first one, we... Read More

Hackathon 3.0 @Naukri.com

What happens when productivity, talent and innovation come together, bounded under a time limit?   Answer is “Hackathon”. The word seems all exciting by itself. It means ‘hacking’ and ‘marathon’ combined. And the fun part is, by ‘hacking’, we don’t actually mean performing illegal activities, but to construct a useful piece of software that enhances productivity. So, did we achieve it this time? Yes, this time as well. Every year we conduct Hackathon at Naukri where our entire technology team participates in it. This year we conducted our 3rd Hackathon for... Read More

Google Cloud Messaging and its use for pushing notifications on Android App

Naukri.com android mobile app for jobseekers enables users to get notifications anytime anywhere using Google Cloud Messaging or GCM service. In this post we will walk you through the details of GCM. GCM.. What is it? Google Cloud Messaging (GCM 3.0) is a free service that helps developers send messages across multiple platforms: Android, iOS, and Chrome. A server can send messages directly to single devices, groups of devices, or devices subscribed to particular topics. Using this service you can send data to your application whenever new data is available instead of making... Read More

Measuring Non User Initiated Events in Android Apps

We use Google Analytics to measure events like button clicks and generation of notifications etc... in our apps. With the help of this data we get to know how people are using our product, which enables us to identify areas of improvement and maximize the success of product in market.  Post publishing a version of the android app, we saw a spike in both the number of active users and sessions (in Google Analytics). However, at the same time we witnessed a decrease in the screen views/session. On investigating further, we found that since we are logging (in Google Analytics) some events... Read More

A smarter way to deal with icons: Font Icons

While working on the User Interface of a website, we, the Frontend Engineers @naukri are always focused on the performance of a web page. There are many factors which affect the same, and one of them is the usage of icons and images. Few decades back, all icons were used as individual images, leading to multiple server requests for each icon/image, which considerably affected the performance of a website. Then came image ‘sprites’ into picture. An image sprite is a collection of icons put into a single image. It automatically reduces the number of server requests, hence saving the... Read More

MySQL Data Sharding

Over the time with increased traffic and user base, data increases enormously. Large number of operations on Huge MySQL table becomes a bottleneck for an application.   Problems At Naukri, there was a case where a single myISAM MySQL table had more than 46 million records. Table size on disk was more than 250GB. Operations (select/insert/update/delete) on that table had become a bottleneck due to table locks and having to update large column indexes. With increasing traffic, scalability had become a serious concern.   Another major risk involved in having a single large table is data... Read More

Tools we use to build India’s No. 1 Jobs site – Naukri.com

  Give me a lever long enough and a fulcrum on which to place it, and I shall move the world. - Archimedes   As Archimedes rightly pointed out, to do anything  worthwhile, one needs right tools. We are no exception. Building Naukri.com as India’s No. 1 job site, does require lot of tools. Our engineering teams on a daily basis rely on lot of tools for communication, design, development, deployment and monitoring of our applications.   In this article we will walk you through some of the applications that we use across all teams.   Jenkins - Jenkins is an open source... Read More