Category Archives: Software Development

How to contribute to naukri engineering open source projects

open-source  Open Source Culture is one of the best things that came up in the software industry so far. We are seamlessly growing much faster in the field just because high end software like apache, mysql, nginx, nodejs, linux, etc. are available to use and reprogram as per our needs for free. But the thing is, it works only when people like us contribute to the community. Most of the programmers want to contribute to open source but they think it as difficult and time consuming. They assume that to make an effective contribution they need a big project and unlimited free time. This is not true at... Read More

Apple Push Notification Service in Naukri

Having a job or career determines your self worth.  Yes, you heard it right! Knowing  you   can   do   something well and earn something for your skills is a great feeling. That’s  the   main motto of Naukri. To abridge the gap between job seekers and recruiters.   And  to   follow this, Apple Push Notification Service is one of the several services used in Naukri   ios   app.   It   is   a   service   provided   by   apple to send the push notifications to apple  devices.   Push notifications are a way to send the information to users and to bring them on board.  ... Read More

Tech Talks @ Naukri.com

We, at Naukri.com, believe in continuous learning along with the product development. While working on similar projects, an engineer, at some point of time feels his knowledge is limited, that there is not enough technology information in his life. The tech talks are small informal presentations that help us stay updated with existing and new engineering trends and implement new things in the right way. And as they are internal, the experience that comes from speakers aligns directly with projects.     Why we need Tech Talks 1. Stay Updated - We need to stay updated with emerging... Read More

array_merge behaving differently on 32-bit and 64-bit architecture

PHP has a large number of functions one of which commonly used is array_merge. It basically merges 'n' number of arrays. We have used it quite often in my code and found out that it does not preserve keys when moved from 32-bit architecture to 64-bit. Let's figure out why this happened ? Recently We moved our ubuntu servers from 32-bit to 64-bit. Then suddenly some of arrays started losing their indexes which were working on previous server. Then we figured out it was an issue with array_merge. Code was using big numbers as indexes in multiple arrays which needs to be merged. Here... Read More

Agile : Retrospective

Retrospective : (Dictionary meaning) the action of looking back on or reviewing past events or situations, especially those in one's own life.   Let us start with a very simple example. Say someone is trying to lose weight for last 6 months and nothing works out for her. Then her friend suggests that running 3 miles/day for a month will do the trick. So she started running as suggested. Now should she keep on running for months or observe the results for the activity for last one month?   If your answer lies in second half of the question Welcome to agile Retrospective.   In... Read More

Restful WebServices (Microservices) in Phalcon Framework

About Phalcon:   Phalcon is a full-stack framework. It promotes the MVC architecture and offers features like an ORM, a Request object library, a templating engine, caching, pagination. In short Phalcon: Is a PHP C-extension based framework. Is a C-Extensions are loaded together with PHP one time on the web server’s daemon start process Is a classes and functions provided by the extension are ready to use for any application Is a the code is compiled and isn’t interpreted because is already compiled to a specific platform and processor   The preliminary... Read More

How naukri made pages faster using PUSH STATE API

Some time back, here at Naukri we had a scenario: There were three pages with almost similar structure, a common navigation bar, a common right widget and a common footer (all summing upto 90% content of the page), with only few different descriptive lines(only 10% of the total content on the page) . The general requirements of the pages were: SEO was important for all of them All of them had to be assigned to different urls , title and meta tags The pages had to be bookmarkable and their urls could be shared. This may sound very simple, but… The challenge was Just... Read More

Using php constants and static functions directly in smarty template of Symfony2

The Symfony Framework is well-known for being really flexible and is used to build micro-sites, enterprise applications that handle billions of connections and even as the basis for other frameworks. Some time back we started using Symfony2 for our new projects. Symfony2 comes with twig as the default templating engine but we chose to use smarty as the templating engine using the SmartyBundle of Symfony2. Smarty is great, but for maintainability reasons, they have deprecated the possibility of adding php tags in the template. This means we will not be able to use php class constants... Read More

Career Timeline

What is the most important thing a recruiter looks into a Resume? The answer is past employments and experience of the candidate. Challenges It’s painful for the recruiters to look at the past employments of a jobseeker as he needs to scroll down and find the work experience section of the resume preview page. During project revamp, we took the challenge to build a feature which will help recruiters to look at employment details without spending much time. Solution Why not show the entire career of the jobseeker graphically in a single line and place it strategically in the CV... Read More

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