Spectory Blog

MobX with React Introduction

By Amitai B, Mar 2 2018

MobX is a simple state management solution, that can be used very easily for ReactJS. ReactJS is a render a JavaScript library for building user interfaces, but it doesn’t have a built-in state management or two way binding like Angular (In version 16.3 it has changed by introducing the new Context API).

Read More

Angular 2 with Rails and Webpacker

By Amitai B, Nov 19 2017

I love Rails, I think it’s the best web development platform, at least from a developer point of view (DX). But it is not perfect. One of its major disadvantages is when you try to use it with one of new modern JavaScript framework (React, Angular, Vue…). There is no “Rails” way to do it. You need to start messing with configurations and settings, all the things that Rails trying to avoid. Writing a web application in Rails traditional way would be using ActiveViews, and add a little JQuery when you need JavaScript in the client. But when You want to write a single page application (SPA), it’s just not good enough.

Read More

Let your job do your job

By Tomer S, Nov 16 2017

We live in a busy world.

Read More

Test Doubles For Dummies

By Guy Y, Nov 15 2017

Test Doubles is a generic term for any kind of pretend object used in place of a real object for testing purposes.

Read More

Congratulations, It's a Chrome Extension!

By Tomer S, Jul 31 2017

As a young parents for our little one, my wife and I are learning the "debugging life cycle" of babies.

Read More

It's time to discover Redux Dev Tools

By Tomer S, Apr 3 2017

"The washing machine" is a familiar syndrome. This syndrome is about peoples' preferences while choosing the functionality of the program in their washing machine.  Most people choose the same program they are used to, and it is usually the standard program. This syndrome happens in many subjects, one of them  in my opinion is redux dev tools.    As a SW developer and especially as a full-stack developer,  one major professionality is the ability to debug the state of your application. In this article, I will try to touch not only the "30-40 degrees" program of redux dev tools, but also the other functions including the "100 degree-cotton". The adds-on of 'redux dev tools' is a great tool for interpreting and debugging the application state. I will explain about the chrome extension, but it is also available on Firefox and electron, and can be used as a remote for other browsers and non-browser environments. The review of adds-on features will be top to bottom.  

Read More

ES6 Generators

By Amitai B, Feb 4 2017

One of the more complicated notions presented in ES6 is generators. This is a feature with a lot of power that enhance the JavaScript language, especially in areas such as asynchronous programing.

Read More

Dynamic Data visualization with D3 and Rx part 1

By Amitai B, Dec 23 2016

D3 is a javascript library for data visualization. RxJs is a reactive programing model that allows to compose asynchronous stream of data. Anyone of those library are is very powerful. Together their power twice itself and can be used to build incredible things.

Read More

Dynamic Data visualization with D3 and Rx part 2

By Amitai B, Dec 23 2016

In part 1 I introduced D3. in this part I will show how to dynamically update the graph with Rx.

Read More

Using this in react

By Amitai B, Dec 1 2016

JavaScript is great, but comparing to other programing languages it has many confusing parts. One of them is the use of this.

Read More

React and Redux Tutorial

By Amitai B, Nov 18 2016

What is React? React is a JS library for rendering web pages. That’s it. The closest equivalent is Angular with only directives without the other features such as services, controllers etc.

Read More

Async tests with mocha in node

By Amitai B, Nov 3 2016

Node JS is Asynchronous. It's a pain. It’s a pain developing this way and it’s a pain writing tests for this framework.

Read More

Factory girl the Story of Goldilocks and the Three Bears

By Tomer S, Sep 29 2016

Just like in the story of Goldilocks and the Three Bears, in our code- guests are welcome, mystery guests aren't.   While we are testing our application , we need to challenge the logic and design of our code. In order to do so efficiently we will increase the power of our unitests by making it faster and by testing all parts of the code. Testing is an integral part of code writing. Unitests of Web applications need to test both the server side and the client side. The challenge of testing the server side is the decrease in performance speed due to the writing to database. As a Full Stack developer it is very important to conduct the tests in a convenient way, without compromising on quality. This is the main goal of FactoryGirl.      

Read More

Why React-Native is Awesome

By Noam B, Sep 22 2016

Basically it’s just React but for mobile. That’s it.

Read More

Improve your web application security

By Amitai B, Sep 5 2016

If you want your web application to be bullet proof with no vulnerabilities at all, do not write it. There is no software that cannot be hacked, it is just a matter of resources and time, as proved many times.

Read More

Diving into JavaScript Closures

By Amitai B, Jul 27 2016

JavaScript is an amazing programing language, it has beautiful parts. But it also contains very confusing and complex parts. Closures and scopes are probably two of the them. In his book JavaScript: The Good Parts (a must read for every web developer!) Douglas Crockford regrads the JavaScript Scope as one of the awfull parts. I couldn’t agree more. As a software developer that started his programming with languages such as C/C++, I had hard times getting used to it and prevent bugs and errors in my programs. But where there’s a pitfall, there is also a challenge, and one of the best way to handle this challenge is using Closures. On the contrary to scopes, Closures are one of the best features in JavaScript that adds a lot of depth and opportunities to develop clean and good code. But Closures are not easy to grasp and understand. In this blog post I will explain what is a closure, how and when to use it.

Read More

An Introduction to RxJS

By Amitai B, Jun 28 2016

RxJS is an open source JavaScript library originally created at Microsoft. RxJS is an implementation of the of the Reactive Extensions (Rx) in javascript. Rx is a reactive programming model that allows developers to easily compose asynchronous streams of data. It provides a common interface to combine and transform data from wildly different sources.

Read More

Asyncronous Client-Side Javascript Primer

By Amitai B, Apr 6 2016

Asynchronous development is very important for application performance and responsiveness. An application that is written synchronously will feel stuck every time it needs to perform a long running operation such as network operations, file access, etc.

Read More