Category - Web Development

Web development is a very broad topic. Web projects can range from simple corporate sites to complex web based applications and social network solutions. We have great experience in building various web projects, and we are willing to share our knowledge with you.

Meeting Electron.js

What is Electron.js?

Hi. I’m a junior web-developer and in this article I’ll tell you about my meeting with Electron.js, describe a couple of challenges I struggled with and share my opinion about the future of this technology.

Electron is a platform with an open source code that helps developer to create pseudo-native applications using already known technologies such as JavaScript, HTML, and CSS with Node.js runtime environment as a back-end and Chromium as a front-end. The developer of it is GitHub Inc.

Read More

IoC container isolation

Sometimes developers discuss which framework or library is better. It depends on the performance, usability, flexibility or just a taste. Likely, my opinion won’t be new, however, I think that with the help of modern technologies it is always possible to write clean and beautiful code.

It doesn’t depend on the library or framework, there aren’t any perfect solutions, everything has advantages and disadvantages, however any widely used technologies allow to achieve a good result.

The most difficult thing in the code design is the maintenance of dependencies. You should consider dependencies of classes, third party components, libraries, etc.
Read More

Predicting product item category in 10 lines of code

Why on earth?

If you somehow deal with storing or processing any kinds of goods – than a problem of assigning a category set to your product items will arise sooner or later, and the problems may be the following:

  • You are running a web-store, and you want to facilitate a user to navigate your site and search items with help of categories.
  • You have a dataset with items that miss categories mapping, and you want to do some research on aggregated clusters of products.
  • You are going to introduce a recommendation system in your online-store, and you want it to take categories into account for more precise predictions.
  • All other cases when you need categories, but don’t have them.

Of course – the most straightforward solution is to develop your own categories classification and assign a category to each product item manually, but that’s not always the case – because you may not have a ready-to-use inventory of categories, and you need to do the following:

  • create a set of categories by yourself
  • assign a suitable category to each item, predicting it from its name.

Gonna do the stuff? Quite hard, isn’t it? But fortunately we have a plan:

Read More

How to Improve Performance of AWS Java Cloud App? Try ElastiCache

Usually startup projects grow gradually starting as prototypes. The load increase unnoticed, so at one point your server might lay down, because it didn’t manage to handle the number of incoming requests. Fine. We can hide a web application behind an http-server/servers to optimize work with static content. Additionally, we can create several instances of our web application for load balancing and fault tolerance. Some more options to improve performance of AWS Java cloud app is described in my colleague’s article. But what to do if your database is a bottleneck? If you have a lot of information frequently asked, which can be cached in the memory, then it’s worthwhile to try Memcached.

Read More

How to Reach Performance Optimization in the Cloud

The cloud is becoming more and more important, so organizations need to make sure they reach performance optimization. This article shares some challenges with the cloud and offers solutions.

More and more companies are embracing the flexibility, low barrier-to-entry, and collaboration that the cloud offers. The Infrastructure as a Service market has been growing by more than 40% in revenue every year since 2011, according to Gartner. This trend is only expected to continue to grow more than 25% per year through 2019.

The cloud, which has been dismissed as a fad, is quickly becoming the default method for delivering IT solutions. Everything from infrastructure design to Java application development needs to take the cloud into account.

Read More

Comprehensive object enumeration in JavaScript

This cool JS snippet implements enumerations for JS:

function makeEnum(idField, indexField) {
  idField = idField || 'id';
  indexField = indexField || 'index';

  var enumeration = [];

  // Standalone object is useful for Underscore collection method usage,
  // for example:
  // _.keys(MyEnum.dict);
  var dict = {};
  enumeration.dict = dict;

  // This method can be used as a callback of map method:
  // var objects = ids.map(MyEnum.get);
  enumeration.get = function(id) {
    return enumeration[id];
  };

  // Registers a new enumeration item.
  enumeration.register = function(instance) {
    instance[indexField] = enumeration.length;
    enumeration[instance[idField]] = instance;
    dict[instance[idField]] = instance;
    enumeration.push(instance);
    return enumeration;
  };

  // Maps enumeration as dictionary:
  // MyEnum.mapDict(function(value, key) { return ...; });
  //
  // This is a shorthand for the next Underscore expression:
  // _.chain(MyEnum.dict).map(function(value, key) {
  //   return [key, ...];
  // }).object().value();
  enumeration.mapDict = function(iteratee, context) {
    var result = {};
    for (var id in dict) {
      if (dict.hasOwnProperty(id)) {
        result[id] = iteratee.call(context || this, dict[id], id, dict);
      }
    }
    return result;
  };

  return enumeration;
}

Read More

SaaS Application Development Java

Reasons for SaaS:

So you’ve decided your software product needs to be a SaaS application development Java. You’ve no doubt picked SaaS because your customers would like a cloud based application that they can access from the web anywhere they need it. This also implies your customer base has no interest in maintaining an IT staff to maintain software and equipment in-house. They are also interested in the low cost of ownership, on demand scalability, tailored Service Level Agreements, and the fact that “someone else” is worrying about upgrades, feature development, security, and all the other responsibilities that come from in-house development.

SaaS application development Java community ecosystem

SaaS Strengths (courtesy of Rishabh Software)

Read More

High Load Java App Server: Things to consider when building

Focusing on the front end demand is where many developers start scoping a project. This coupled with the backend requirements often point to the most obvious choices for the application architecture. As we’ll see it’s often useful to do a bit more digging and mining before settling on a particular design plan. There are many pitfalls that can be avoided when the proper time and consideration is put in to technology and architecture selection. Some questions worth asking include: “What do we mean by high load?”, “Will we ever need to scale?”, “Are there predetermined hardware and/or operating system requirements?”, “What demands are being placed on the backend?”, “Is code base maintenance a priority?”, “Will the code base ever need to be ported to new platforms?”, “Is this a one off deployment? While your gut may be screaming high load javaapplication server a little preliminary consideration will pay off big time in the long run to validating your decision and/or help you defend a different path.

Read More

New IT Trends

IT and programming are changing every day. Not all the changes lead to the revolution in the industry but I would like to mention some really significant things, which came to IT projects.

Read More