React.js fundamentals

Posted by & filed under Javascript, Work.

Yesterday I did my first ever technical presentation at Code District meetup on fundamentals of React.js library, which my team have been using in production for about 14 months now. Below is the slideshow for my presentation: I appreciate Phillip North for inviting me to speak at this meetup.

Automating building RequireJS modules with Grunt

Posted by & filed under Javascript.

In a previous post Building React.js with Grunt I have shown how we used Grunt to build our React files. But our issues were not over. We have a total of ~ 250 Javascript files in our project, not counting vendor libraries. Approximately 2/3 of these files are React views, while the rest are our… Read more »

Building React.js with Grunt

Posted by & filed under Javascript, Work.

About two months ago our Core team at Teradek has switched front-end to a single-page application on a new stack. Previous stack included server-side templates, Require.js, Underscore, Backbone, Handlebars for JavaScript and HTML, and Compass for CSS. Current stack is a little different: one static HTML file, Require.js, Lodash, Backbone + Chaplin + React for JS and HTML, and Stylus… Read more »

Dispatcher

Posted by & filed under Javascript, Node.js, Work.

In our application architecture we have multiple servers that handle different types of connections, namely: Requests from web clients (www and REST) over HTTPS Socket.io connections from web clients over HTTPS Socket.io connections from devices TCP connections from proxy servers for devices over TLS Above servers are spawned as processes by a manager app, and… Read more »

Another abstraction error

Posted by & filed under Abstraction errors, Javascript, Node.js.

Yesterday and today I’ve spent a couple hours debugging an issue with Prometheus ODM. Problem was, while testing by refreshing a page generated by an ODM model, I noticed that events inside current model are fired on all models created prior. Sample log output was like this: about to emit “fobidden” to model_5 403 forbidden…… Read more »

Adding permissions to models in my ODM #2

Posted by & filed under Javascript, Node.js, Work.

I’ve spent about a day working on adding permissions to the model. Here are intermediary conclusions: We need to pass user session to model’s permission checker method is_allowed() in order to know session user roles and other data (e.g. company ID). We need to check permissions and cache results at the same time we initialize model… Read more »

Adding permissions to models in my ODM #1

Posted by & filed under Javascript, Node.js, Work.

I just started working on adding permissions to models in my WIP Prometheus ODM. The idea is that I, a developer, want to describe granular access rules to resources. I am going to deal with the most common access types: CRUD (Create, Read, Update, Destroy) + Transfer. In a typical system there also most generic role… Read more »

Node.js ORM: work in progress

Posted by & filed under Javascript, Node.js, Work.

This is about a WIP project of making an ORM for Node.js with pluggable adapters, with code name “Prometheus”: https://github.com/shubik/prometheus The idea was to make a simple ORM with a fairly standard API (get, set, save, destroy, etc.) with adapters for different databases which pretty much offer CRUD and a couple extra convenience methods. We… Read more »

3 months and counting…

Posted by & filed under Javascript, Node.js, Work.

As mentioned in my “Hello world” post, I’d like to share my experiences, challenges, solutions and abstraction errors related to my software development work. I can’t add them retroactively, so I will start with my current project: a web app I am building for Teradek, where I’ve been for 3 months so far. Leaving aside… Read more »