Welcome!

From the Trenches of the Enterprise Software

Yakov Fain

Subscribe to Yakov Fain: eMailAlertsEmail Alerts
Get Yakov Fain via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories by Yakov Fain

This year I’m planning to run a one-day workshop at a couple of software development conferences and privately for IT shops. The goal is to introduce JavaScript and related technologies to developers who are accustomed to developing in classical object-oriented languages like Java, C++ or C#. Below is the outline of this workshop. Part 1. JavaScript Building blocks Functions, Objects, Prototypal Inheritance,Closures Using Chrome Developer Tools JavaScript in the Web Browser, DOM, CSS. New JavaScript: an overview of selected ECMAScript 6 features. Part 2. Designing Single-Page Web Applications Web app prototyping. Designing a Product page of an online auction using Pure JavaScript and CSS. Responsive Web Design. CSS Media Queries. Redesigning the Product page for smart phones and tablets by adding CSS Media Queries. Our Product page will look like this. Single-Page Ap... (more)

Pushing Data to Multiple WebSocket Clients From a Java Server By @YFain | @ThingsExpo [#IoT]

Pushing Data to Multiple WebSocket Clients From a Java Server Finished writing the WebSocket chapter for the second edition of my Java 24 Hour Trainer. In this blog I’ll show you one of the code samples from lesson 28. Pretty often you need to write a program that publishes the same message to all connected clients. For example, multiple clients of the online auctions have to be notified when a new bid is placed on the product. Another example is when a new stock price quote need to be pushed from the server to all connected clients. With websockets it’s a pretty easy task. I’ll... (more)

Java Is Short For JavaScript. Not! By @YFain | @ThingsExpo [#IoT]

Here’s  is a quote from the About page of the Web site ehow.com: “eHow is your one-stop online resource for life’s challenges. Professionals in every field come together to offer expert advice, backed by the additional support of a can-do eHow community.“ Experts are also human beings and sometimes they make mistakes too. But when I’ve read the following article I was stunned: Guys and girls, I’m not an eHow-grade expert, but I’ve been doing both Java and JavaScript for while. Trust me, the above description is absolutely wrong! Please ignore. Also, if you know any of the 35 peop... (more)

GlassFish, Open MQ, and the Ear-Eye Problem By @YFain

GlassFish, Open MQ, and the Ear-Eye Problem Yesterday I’ve been updating code examples for the messaging chapter for the 2nd edition of my Java book. While doing this, I ran into an issue, then fixed it, but the cause and the solution illustrate the situation that we call “Ear-Eye”, which comes from and old joke popular in the USSR, where TV propaganda was stating that everything is great while people had hard time finding food in store. Here’s the joke: An old lady comes to a medical center saying that she needs to see an Ear-Eye specialist. The receptionist replied, “There is n... (more)

What’s the Difference Between Abstract Classes and Interfaces?

Probably the most popular question during Java technical interviews is “What’s the difference between abstract classes and interfaces”.  In my own three year old book I’ve offered the following answer: “An abstract class may contain code in method bodies, which is not allowed in an interface.With abstract classes you have to inherit your class from the abstract one because Java does not allow multiple inheritance. On the other hand, you can implement multiple interfaces in your class.” But starting from Java 8 this answer is wrong. This is how I’d answered it now: “Both abstract... (more)