Category Archives: Software Development

Naukri Gulf optimizations – using base64 encoded images

Optimization and Performance budgeting is the most focused area @ Naukri Engineering, for better User Experience and more user retention. Earlier we already have implemented some of the techniques to improve page optimization. You can refer the link to check them out. Performance Optimization of Web Pages: NaukriGulf  & Optimizing CSS & background images using WebP Now this time we have implemented and automated base64 encoded technique through grunt for page optimization. Why did we do that? We have reduced multiple image request and free our browser resource for... Read More

MAILER AUTOMATION THROUGH JAVAMAIL API

MAILER AUTOMATION THROUGH JAVAMAIL API “Discovering the unexpected is more important than confirming the known.” Owing to the large number of mails that are a part of the daily user interactions, it becomes imperative that the mails that reach the users are bug free. This system is developed as an initiative to continuously validate the mails that the end user is receiving for accuracy, without manually testing the mails each and every day. Problem Statement: In Naukri, automating mailers was considered unfruitful mainly due to the low ROI yielded when tackled with conventional... Read More

Lessons learned in productivity and time management working as a Technaukrat

We all have 24 hours with us. Some wish they had more because of their piled up work, whereas some manage to check off all the items in their check list. All that makes the difference is time management. Management of time is a skill we all need to excel to be able to stay satisfied in our lives and maintain a healthy work-life balance. As a Technaukrat, that's what we call ourselves at Naukri, we have learnt a few skills to improve productivity and time management skills, and would like to share the same with you. Here are a few tips that will help one use time judicially and live a... Read More

Continuous Integration of the Naukri India iOS with Jenkins

Continuous Integration (CI) is a valuable addition to our workflow. Running the test cases manually is tedious. Here’s when CI comes into picture. CI tools execute test cases automatically and sends notifications to the developers. This helps increase the performance and product quality. Jenkins is a popular Continuous Integration tool. It is a Java application that monitors and configures Jobs and can be used for Backend and Mobile end. Jenkins is responsible for the following: Pulls the source code using Source Code Management (SCM). Compiles the code. Creation of the... Read More

WEB WORKER – MULTI THREADING WITH JAVASCRIPT

A few iterations back, we got a task to develop a page with few graphs and data listing, but processing data received from server to the data format required by charting library for 5 charts was taking time as it was a heavy computation. You all know, JavaScript is single threaded in nature, so any heavy computation or long running JavaScript code blocks UI thread and freeze the window. You must have seen sometime browsers shows a warning pop up like below:- This is the protection mechanism browsers implement when a long running JavaScript occurs and blocks the UI thread. But by this, we... Read More

Performance Optimization of Web Pages: NaukriGulf

New Naukrigulf English Desktop Homepage is designed with the goal of providing better interface to our users. Of course, the new site comes with eye-pleasing aesthetics, enhanced usability and is simply faster. Lets first look at some speed-metrics to see really how fast our homepage has become. Benchmark report of Previous Homepage vs New Homepage Old Homepage New Homepage Homepage TTFB = 1.17 TTFB = 1.02 *TTFB : Time To First byte   Let us see what we did to achieve this Low Resolution Images Before Page Load and High Resolution Image After Page... Read More

DNS Resolution in PERL

DNS Resolver in Perl DNS, which stands for domain name system, controls your domain name's website and email settings. When visitors go to your domain name, its DNS settings control which company's server it reaches out to. Benefits of DNS: Domain Names are alphabetic, they're easier to remember. Capable of providing security. Companies that make use of DNS server are able to protect the company related data from being accessed by unwanted people. DNS servers are quite flexible to use. A single DNS server is capable of managing multiple Internet sub domains and domains. How DNS resolver... Read More

Basics of Restructuring and Refactoring

The code that seems clean and fresh today, will someday begin to smell... Thats when you rewrite it!!! WHAT IS IT? A passionate developer always tries to write clean and quality code. Contrary to that, we often find messy and unstructured code. The transformation from a clean code to a messy code is a natural process where the code 'ages' with time. With time the code gets modified by the same or a different programmer. These later additions to the code are primarily tweaks and fixes. These additions often do not fit with the existing code design and thus are placed with less emphasis... Read More

How we converted Latin1 encoding to UTF8 in Mysql DB

The problem statement of converting latin 1 encoding to UTF-8 encoding in mysql  database is something similar to upgrading your linguistic skills from english to any other language in the world. Sounds impractical!! Correct, you may find it difficult to learn all the languages in the world as it is practically impossible to learn the rules of so many languages. But machines can do it easily. You just need to feed it with character set of that language and rules i.e. in technical term collation. We at naukrigulf deal with middle east countries so our system needs to understand ARABIC... Read More

Speeding up writing Unit Tests

Unit Tests writing, contrary to popular coding humour, is an important aspect of the development process. The process of writing Unit Tests reveals setbacks in one's code. It helps us identify complicated logic, magical functions, magic inside functions and non testable pieces of code (ex: - an if condition which is impossible to execute). Most of the programmers find writing Unit Tests tedious and cumbersome. But at Naukri we transform it into a fun way of learning more about the code base we are working on. Creating a test file is initially a repetitive process. It involves... Read More