Konrad Moskal's blog more info

Konrad Moskal's personal website and a blog about front end development more info

To NoSQL or not to NoSQL? by Ben Rossi

With the emergence of mass amounts of data, the popularity of the NoSQL database architecture has increased along with its more efficient processing architecture that is commonly associated with big data.

Now, in the instance that you are looking to store and analyse high volumes of that data, younger developers may quickly opt for Open Source NoSQL, claiming it is the database architecture of the future, and some among the Silicon Valley startup culture may even proclaim that the relational database architecture of SQL is no longer relevant.

While on the other hand, seasoned database administrators – and developers with more than a few gray hairs – refer to high-profile examples where NoSQL weaknesses led to the demise of Flexcoin and Poloniex, two Bitcoin exchanges that failed when hackers exploited weaknesses in their respective NoSQL architectures. The more opinionated among these long-time database pros may even proclaim that NoSQL is not suitable for mission critical applications at all.

source: link

8 Tips To Become A Better Front End Developer by Petr Tichy

Should I use this plugin or that library? Should I plan this project or dive straight into coding? Should I ask for help or figure it out myself?

Sounds familiar?

I know how you feel. I felt the same way. That all changed when I started implementing the below points into my routine.

Whether you are a newbie or professional, chances are that some of these points will help you to bring your front-end development career to the next level.

Here are 8 tips to help you to become a better front-end developer.

source: link

Seven JavaScript Quirks I Wish I’d Known About by Jim Cowart

If you are new to JavaScript or it has only been a minor part of your development effort until recently, you may be feeling frustrated. All languages have their quirks – but the paradigm shift from strongly typed server-side languages to JavaScript can feel especially confusing at times. I’ve been there! A few years ago, when I was thrust into full time JavaScript development, there were many things I wish I’d known going into it. In this article, I’ll share a few of these quirks in hopes that I might spare you some of the headaches I endured. This isn’t an exhaustive list – just a sampling – but hopefully it will shed some light on the language as well as show how powerful it can be once you get past these kinds of hurdles.

The Quirks We’ll look at:

  • Equality
  • Dot Notation vs Bracket Notation
  • Function Context
  • Function Declarations vs Function Expressions
  • Named vs Anonymous Functions
  • Immediately Invoked Function Expressions
  • typeof vs Object.prototype.toString
source: link

How To Safely Store A Password by Coda Hale

Use bcrypt

Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt. Use bcrypt.

Why Not {MD5, SHA1, SHA256, SHA512, SHA-3, etc}?

These are all general purpose hash functions, designed to calculate a digest of huge amounts of data in as short a time as possible. This means that they are fantastic for ensuring the integrity of data and utterly rubbish for storing passwords.

A modern server can calculate the MD5 hash of about 330MB every second. If your users have passwords which are lowercase, alphanumeric, and 6 characters long, you can try every single possible password of that size in around 40 seconds.

And that’s without investing anything.

If you’re willing to spend about 2,000 USD and a week or two picking up CUDA, you can put together your own little supercomputer cluster which will let you try around 700,000,000 passwords a second. And that rate you’ll be cracking those passwords at the rate of more than one per second.

source: link

rozliczenia-roczne.co.uk website

Here’s another website I’ve developed (web design + logo design + code). It’s responsive and running on WordPress. I’m fairly happy with overall outcome. Have a look:

Nothing special I’d say, some content and a couple forms. I just feel the customer is not really going to take advantage of WordPress editing abilities, so the whole CMS wasn’t really necessary. Anyway, I’ll go back to my HTML5 game now.

The JavaScript!


If you check the date of my last post you’d find out it was posted over four months ago, let me explain why. On my journey to the front end development world I went through CSS, HTML, Responsive Web Design and many other things. I’ve subscribed to various mailing lists and I follow plenty extraordinary people on Twitter so I could stay up to date. Everything was going great except of a one thing, the JS, I couldn’t call myself a front end developer without knowing it.

When I finally started learning I got totally sucked in. I’ve almost forgot about the blog. My head was only focused on JavaScript and the idea that I’m about to grasp all the knowledge and the ideas that grew around the language in almost 20 years of its lifetime. I just stopped filtering the stuff I read about and stopped thinking if I should put it on the blog or not. This pretty much explains why I haven’t been publishing.

I’m back writing and I know Javascript now.

Obviously I’m no master or ninja but hell yes I’ve learnt a lot of stuff. I have to send huge acknowledgements to Mr. Richard Bovell from www.javascriptissexy.com. I started learning from his post: “How to Learn JavaScript Properly” and then I successfully followed the path he suggests on his amazing blog. Once again, thank you!

In just a little bit over four months I went from almost nothing to developing a single page web applications build with Backbone, Marionette, Node and Mongo! I didn’t have much experience in programming; I knew just enough of PHP to put together a WordPress website. Although I was familiar with CSS and HTML and I had a concept of where is the place of JS in the world of web development I didn’t know much about the language itself. I had to learn from basically nothing.

I’ve just developed a prototype of a HTML5 game and I want to spend couple weeks to get it into an alpha state. Maybe one day I’ll finish it. I’ll also soon write a post about another website I developed some time ago. At the very end I have to point out that it’s just a matter of days for me to start looking for a job. Hopefully, I’ll begin my new career in very near future.

Callback Functions in JavaScript by Louis Lazaris

If you’re fairly inexperienced with JavaScript but you’ve used jQuery, then its likely you’ve used callback functions. But maybe you don’t fully understand how they work or how they’re implemented.

In this post, which is based on what I’ve learned about callback functions, I’ll try to enlighten you on this fairly common JavaScript technique. And maybe some of our JavaScript experts can chime in and let me know what I’ve omitted or oversimplified. What is a Callback Function?

The above-linked Wikipedia article defines it nicely:

A reference to executable code, or a piece of executable code, that is passed as an argument to other code.

Here’s a simple example that’s probably quite familiar to everyone, taken from jQuery:

$('#element').fadeIn('slow', function() {  
    // callback function  

This is a call to jQuery’s fadeIn() method. This method accepts two arguments: The speed of the fade-in and an optional callback function. In that function you can put whatever you want.

When the fadeIn() method is completed, then the callback function (if present) will be executed. So, depending on the speed chosen, there could be a noticeable delay before the callback function code is executed. You can read more about jQuery’s callback functions here.

source: link

Journey Through The JavaScript MVC Jungle by Addy Osmani

When writing a Web application from scratch, it’s easy to feel like we can get by simply by relying on a DOM manipulation library (like jQuery) and a handful of utility plugins. The problem with this is that it doesn’t take long to get lost in a nested pile of jQuery callbacks and DOM elements without any real structure in place for our applications.

In short, we’re stuck with spaghetti code. Fortunately there are modern JavaScript frameworks that can assist with bringing structure and organization to our projects, improving how easily maintainable they are in the long-run.

What Is MVC, Or Rather MV*?

These modern frameworks provide developers an easy path to organizing their code using variations of a pattern known as MVC (Model-View-Controller). MVC separates the concerns in an application down into three parts:

  • Models represent the domain-specific knowledge and data in an application. Think of this as being a ‘type’ of data you can model — like a User, Photo or Note. Models should notify anyone observing them about their current state (e.g Views).
  • Views are typically considered the User-interface in an application (e.g your markup and templates), but don’t have to be. They should know about the existence of Models in order to observe them, but don’t directly communicate with them.
  • Controllers handle the input (e.g clicks, user actions) in an application and Views can be considered as handling the output. When a Controller updates the state of a model (such as editing the caption on a Photo), it doesn’t directly tell the View. This is what the observing nature of the View and Model relationship is for.

JavaScript ‘MVC’ frameworks that can help us structure our code don’t always strictly follow the above pattern. Some frameworks will include the responsibility of the Controller in the View (e.g Backbone.js) whilst others add their own opinionated components into the mix as they feel this is more effective.

source: link

Handlebars.js Tutorial: Learn Everything About Handlebars.js JavaScript Templating by Richard Bovell

(This is a Handlebars.js Tutorial and a Handlebars.js Reference)

This is a complete tutorial, and indeed a reference, on Handlebars.js templating and, principally, JavaScript templating. Handlebars.js is a client-side (it can be used on the server, too) templating engine for JavaScript. It is a JavaScript library that you include in your page just as you would include any .js files. And with it, you can add templates to your HTML page that will be parsed and interpolated (values of properties inserted in place) with the values from the data you passed to the Handlebars.js function.

How it works: Handlebars.js is a compiler built with JavaScript that takes any HTML and Handlebars expression and compiles them to a JavaScript function. This derived JavaScript function then takes one parameter, an object—your data—and it returns a string with the HTML and the object properties’ values inserted into the HTML. So, you end up with a string (HTML) that has the values from the object properties inserted in the relevant places, and you insert the string on a page.

source: link