Posts

Showing posts from July, 2019

Advantages of using Data Transfer Object in Java

Data Transfer Object A Data Transfer Object is an object that carries data and transferred between different processes. In client-server architecture communication between their different processes calls should be in optimized way otherwise it will be very expensive operation because cost of the calls are related to the round-trip time in between client-server so there is a way to reduce and optimize the number of calls between processes is to use DTO which is Data Transfer Object and is capable to collect the data from all the required objects which will transfer by the several specific calls but served by one call only.   To work with the remote interface each call is very expensive so you should have to reduce the number of calls in between data transfer. So the solution to this problem is to transfer data between processes in that object which can hold all the data in a single unit for which we can use a Data Transfer Object. In Java, DTO should be serializable to travel acros...

DTO vs Value Object vs POCO

Image
In this article, I’d like to clarify the differences in DTO vs Value Object vs POCO where DTO stands for Data Transfer Object, and POCO is Plain Old CLR Object, also known as POJO in Java environment. DTO vs Value Object vs POCO: definitions First of all, I want to make a note regarding Value Object. There’s a similar concept in C#, namely Value Type. It’s just an implementation detail of how objects are being stored in memory and I’m not going to touch this. Value Object, which I’m going to discuss is a DDD concept. Alright, let’s start. You might have noticed that such notions as DTO, Value Object and POCO are often used interchangeably. But are they really synonyms? DTO is a class representing some data with no logic in it . DTO’s are usually used for transferring data between different applications or different layers within a single application. You can look at them as dumb bags of information the sole purpose of which is to just get this i...

4 Reasons Not to Use Programming Loops (and a Few Ways to Avoid Them)

Although they are one of the first constructs that junior programmers learn, loops can pose many potential issues the software development process, and could be avoided in many cases, according to  Marco Emrich , of IT consulting firm  Codecentric , speaking at this year’s  OSCON conference, held earlier this month in Portland . “If you are still writing loops, you’re not a bad person. Just think about whether you need to write loops or if there’s a better alternative,” he advised the crowd. Loops are best executed at the CPU level, well-beneath the concerns of most developers, he noted. So before you start coding up that next do/while loop, consider the potential problems that have plagued writers of loops: 1:  The One-off Problem:  Here the programmer thinks they are having a loop execute something 10 times, when in fact it only executes nine times. Or 11. Think of  “<=” (less than or equal to) instead of “<” (equal to).  It is a subtle but fre...

Luna: A WYSIWYG programming language for data processing

The advent of new programming languages has meant that the older ones need to improve as was revealed in our recent story why developers are switching to Kotlin from Java. A relatively new data processing and visualisation language, Luna offers a versatile environment for tailored data processing tasks. The programming language focuses on domains related to data processing including IoT, bioinformatics, data science, graphic design, and architecture. Luna is more than just a simple framework for data processing. Here is what you can do with Luna: Data flow modelling The data flow modelling whiteboard allows users to draw components and the way data flows between them. The components used in Luna follow a nested data flow graphs, letting users enter into any component or its subsystem. It is also a general purpose language which can offer equivalent representations, both visual and textual. Data processing and visualising Luna is a WYSIWYG programming language capable of helping visuali...

Ways To Brush Up And Stay Sharp On Coding Practices Before Your Next Job

Being able to develop and build things is one of the most empowering feelings for a data scientist. Being able to create something out of nothing is a process that everyone wants to be a part of, but it’s something ML engineers do regularly. Whichever programming language you choose to specialize in, or if you are a jack of all trades, they usually require the same cognitive tasks. After even a short break from coding, these processes and mental shortcuts generally fade away. To continue being an effective coder, it is important to stay sharp, especially in between jobs. There are many ways to brush up on your coding skills before you join a new job. Here are 6 of them. This is one of the cooler sounding methods of keeping your programming skills intact. Derived from the Japanese word kata in reference to martial arts, code katas are short coding challenges to bring back the code way of thinking to your cognitive processes. These are generally short exercises, taking anywhere from 30 m...

R interface to TensorFlow made easy

TensorFlow, a general purpose numerical computing library, was nominally developed for python and has been proving support for approximately 2 years now. This is one of the reasons why Python has always been preferred over R. Rstudio (a free and open-source integrated development environment ) made R Interface with TensorFlow plausible. Rstudio formally announced their work on creating R interfaces to TensorFlow at rstudio::conf on Saturday. Here is JJ Allaire, the CEO of Rstudio, addressing the conference. Interfacing R and TensorFlow has a suite of packages that provides high-level interfaces to deep learning models (Keras) and standard regression and classification models (Estimators). Here we have some interfaces to TensorFlow: Keras, a language for building neural networks as connections between general purpose layers. R interface to Keras focuses on enabling fast experimentation. You can have a look on the documentation for R Interface to Keras. tfestimators package, is an R inte...

Top 10 Applications of Linear Algebra in Data Science

Image
Overview Linear algebra powers various and diverse data science algorithms and applications Here, we present 10 such applications where linear algebra will help you become a better data scientist We have categorized these applications into various fields – Basic Machine Learning, Dimensionality Reduction, Natural Language Processing, and Computer Vision Introduction If Data Science was Batman, Linear Algebra would be Robin. This faithful sidekick is often ignored. But in reality, it powers major areas of Data Science including the hot fields of Natural Language Processing and Computer Vision. I have personally seen a LOT of data science enthusiasts skip this subject because they find the math too difficult to understand. When the programming languages for data science offer a plethora of packages for working with data, people don’t bother much with linear algebra. That’s a mistake. Linear algebra is behind all the powerful machine learning algorithms we are so familiar with. It is a vi...