Tags » Software Engineering

Software Modernization – modernize or move out of the way!

During my career, I’ve had to work on the challenge of modernizing several software products. As explained in my article, “Balancing Technical Debt,” we should develop a plan for moving forward, taking into account the actual  1,426 more words

Software Development

Difference between Coder and Programmer

Coder .
You tell me what to do .
I copy whatever code to finish my job (make the run or fix error) .
Patterns ?Best Practice ? 253 more words

Software Engineering

Software Modernization – modernize or move out of the way!

During my career, I’ve had to work on the challenge of modernizing several software products. As explained in my article, “Balancing Technical Debt,” we should develop a plan for moving forward, taking into account the actual  1,426 more words

Software Development

Complex Project Delay

I run large complex software projects.  A naive understanding of complex project management can be more dangerous than not knowing anything about it.  This is a recent experience. 1,978 more words

Software

QA Engineer: see also Wizard, a magician!

This is not an image which has been created with my own idea, I only saw this during surfing through Facebook :) After that, I thought my first blog post would be better to be a post about understanding the role of the QA Engineer before going into deeper technical stuff. 489 more words

QA

A simple Javascript Shopping Cart built using the browser's Local Storage

Javascript code for creating a simple shopping cart using the browser’s Local Storage.


class LineItem {
    constructor(product, qty){
        this.product = product;
        this.qty = qty;
    }

    setQty( qty ) {
        this.qty = qty;
    }

    getQty(){
        return this.qty;
    }
}

class Cart {

    constructor(){}

    getItems() {
        var items = localStorage.getItem("items");
        if ( items == null ){
            items = new Array();
        }else{
            items = JSON.parse(items);
        }
        return items;
    }

    getTotalItems(){
        var count = 0;
        var items = this.getItems();
        items.forEach((item, index, array) => {
            count += item.qty;
        });

        return count;
    }

    remove ( item ){
        var newList = new Array();
        var items = this.getItems();

        items.forEach( (lineItem, index, array) => {
            if ( lineItem.product.id !== item.product.id ){
                newList.push ( lineItem );
            }
        });
        localStorage.setItem( 'items', JSON.stringify( newList ) );
    }

    add ( product, qty ) {

        var items = this.getItems();
        var found = false;
        items.forEach( (lineItem, index, array) => {

            if ( lineItem.product.id === product.id ){
                var newQty = qty + lineItem.qty;
                lineItem.qty = newQty;
                found = true;
            }
       });

       if(!found){

            var lineItem = new LineItem(product, qty);
            items.push(lineItem);

       }

       localStorage.setItem("items", JSON.stringify(items));
    }

}

var cart = new Cart();

Software Engineering

Video & Slides: How Fast is it Really? Benchmarking in Practice (Ruby)

My slides & video from visiting the excellent WRUG (Warsaw Ruby Users Group). The talk is a variation of the similarly named elixir talk, but it is ever evolving and here more focused on Ruby. 128 more words

Software Engineering