Support

Forums

Contact Me

Posts Tagged 'development'

Development

Development may refer to: [http://en.wikipedia.org/wiki/Development]

Eclipse shared install on a Windows Server 2003/2008

maven-logo-2 eclipse

I did develop this solution at work for our internal purpose at www.innoveo.com. Going away from the paradigm “As a developer I run everything locally” isn’t easy to accept but in some rare cases, it make sense. Below I list what I consider to be the main advantages and drawbacks.

Stability

  • Not everybody is changing the developer environment as you need admin right to be able to do changes, more stability.
  • The developer environment is standardized: convention over configuration always pays like in Apache Maven.

Sharing

  • you can work from anywhere as long as you have an internet/VPN connection
  • You can move your working place around, show your workspace to a colleague, reduce your coupling to Windows, use Linux, use a Mac!

Security

  • The source code stay on the server, if someone steal notebooks you don’t loose your software assets.

Efficiency

  • Somebody maintains the developer environment and settings for you, some developers can still beta test a new eclipse version before till it is considered stable.
  • Rollout is limited to a minimum loss of time, as you will see below 
  • Setting up a new developer account is basically settings up a new account on the shared server, running 3 lines of shell.
  • The server  is not full of unwanted applications running in background, only java.exe. eclipse.exe, databases can still run on another server (MYSQL, Oracle), runtime environment (Tomcat).

Speed, speed and speed

  • A server is cheap compare to one big notebook for every developer.
  • Server is most of the time fully 64bits, may have up to 8 cores, RAID 5 typically  output 350Mb/s read (a good notebook: 32 bits, 2 cores and 80Mb/s without SSD)

Drawbacks

  • A shared developer environment is a Single point of failure –> you need a very good backup, and eventually hardware fallback machine in hot standby!
  • You can not work if developer have no or limited internet access, in train for example.
  • It required a bit of initial engineering, hence this article.

Read more: Eclipse shared install on a Windows Server 2003/2008

Getting started with test-driven development

In this article, an excerpt from Test-Driven Development: A J2EE Example (Apress, 2004), author Thomas Hammell helps you select the right tools for getting started with test-driven development (TDD)
...
Following the Keep It Simple, Stupid (KISS) and You Aren't Gonna Need It (YAGNI) rules of extreme programming (XP), each tool listed in the following sections fits into the TDD process ...
more Here

Builder

Separate the construction of a complex object from its representation so that the same construction process can create different representations.



Source Code

/**
 * The interface Product defines interface to create parts of the
 * Product.
 */
public interface Builder {

    /**
     * Construct part of the complex Product.
     */
    public void buildPart();

    /**
     * Construct the Product.
     *
     * @return the constructed product
     */
    public Product getProduct();
}

/**
 * The ConcreteBuilder is the product of a concrete builder.
 *
 */
public class ConcreteBuilder implements Product {
}


/**
 * The ConcreteBuilderBuilder creates and assembles parts of
 * the Product.
 *
 */
public class ConcreteBuilderBuilder implements Builder {

    /**
     * Reference to Product being constructed
     */
    private ConcreteBuilder concreteBuilder;

    /**
     * Construct part of the complex Product.
     */
    public void buildPart() {
        // put your code here
    }

    /**
     * Construct the Product.
     *
     * @return the constructed product
     */
    public Product getProduct() {
        return concreteBuilder;
    }
}


/**
 * The ConcreteBuilderClient initialized the Director with a
 * Concrete Bulder to create the Product and gets result from the Builder.
 *
 */
public class ConcreteBuilderClient {

    /**
     * Use the Builder to create the Product.
     */
    public void createProduct() {
        ConcreteBuilderBuilder builder = new ConcreteBuilderBuilder();
        new Director(builder).construct();
        Product product = builder.getProduct();
    }
}


/**
* The class Director manages Product creation using Builder.
*/
public class Director {

    /**
     * Reference to Builder currently used
     */
    private Builder builder;

    /**
     * Create a new Director instance.
     *
     * @param builder the builder which will create the product
     */
    public Director(Builder builder) {
        this.builder = builder;
    }

    /**
     * Construct the Product using the Builder.
     */
    public void construct() {
        builder.buildPart();
    }
}


/**
 * The interface Product defines a complex object that is
 * constructed part-by-part with Builder.

 */
public interface Product {
}






Chain of responsability

Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it.



Source code

/**
 * Handles request it is responsible to.
 */
public class ConcreteHandler extends Handler {
        /**
  * Handle request or delegate it.
  */
        public void handleRequest() {
                boolean canProcessThisRequest = false;                if (canProcessThisRequest) {
                        // handle request if possible
                } else {
                        // pass it to the next in chain
                        super.handleRequest();                }
        }

}

/**
 * Defines interface for request handling
 * @role __Handler
 */
public class Handler {
        private Handler successor;        /** Default request handling */
        public void handleRequest() {
                if (successor != null) {
                        successor.handleRequest();                }
        }

        public Handler getSuccessor() {
                return this.successor;        }

        public void setSuccessor(Handler successor) {
                this.successor = successor;        }

}




Announcing Project: SolarJoomla

When Eclipse meet Joomla!...from 0 to Joomla! in 3 minutes

 

The easiest way to develop component, modules, plugin for Joomla! using best of the breed open source software. 
In order to speed up development of Joomla software, I did develop a developer package "start and ready to work". So basically nothing special for any experienced developer, just a gain of time. Less experienced developer will enjoy the package!  Just unpack the big ZIP file on any drive, start 2 program and you have a running Eclipse and Joomla! environment for developing

Read more in the WIKI

To be release in a few hours from now

Read more: Announcing Project: SolarJoomla

cedTag 2.6.2 for J2.5 released for Joomla 2.5

cedTag provide a useful way to group related posts together and to quickly tell readers what a post is about. Tags also make it easier for people to find your content. Tags are similar to, but more specific than, Joomla categories.

Read more: cedTag 2.6.2 for J2.5 released for Joomla 2.5

Metrics and Models in Software Quality Engineering book - Adisson Westley

"For more than 50 years software has been a troublesome discipline. Software's problems are numerous and include cancelations, litigation, cost overruns, schedule overruns, high maintenance costs, and low levels of user satisfaction. The problems with software occur more often than not. My company's research indicates that more than half of large software projects will encounter some kind of delay, overrun, or failure to perform when deployed. But software does not have to be as troublesome as it has been.

Read more: Metrics and Models in Software Quality Engineering book - Adisson Westley

SableVM running Eclipse 3.1

SableVM is a highly-portable Java virtual machine written in C, and implementing the Java virtual machine specification, second edition.
I ti s currently able to start and use Eclipse 3.1
On the JVM side, Java on BeOs is making huge steps

developing in PHP for Mambo?

I use previously Jedit (www.jedit.org) and reach the limit very fast (no versionning, no helper, nothing...)  I recommend to  any serious developer to install:
  1. Eclipse from www.eclipse.org free
  2. PHPEclipse plugin from phpeclipse free
  3. A concurent versionning system: CVS fro windows CVSNT  free
  4. A runnable Mambo environment like EasyPHP free

ISO Code 8859-1 (ISO-Latin 1)

 
 Character   XML ISO code   HTML entity    Character   XML ISO code   HTML entity 
À À À  Ã à à
Ã? Á Á  Ã¡ á á
    Ã¢ â â
à à à  Ã£ ã ã
Ä Ä Ä  ä ä ä
Å Å Å  Ã¥ å å
Æ Æ &Aelig;  Ã¦ æ æ
Ç Ç Ç  Ã§ ç ç
È È È  Ã¨ è è
É É É  Ã© é é
Ê Ê Ê  Ãª ê ê
Ë Ë Ë  Ã« ë ë
Ì Ì Ì  Ã¬ ì ì
Ã? Í Í  Ã­ í í
Î Î Î  Ã® î î
Ã? Ï Ï  Ã¯ ï ï
Ã? Ð Ð  Ã° ð ð
Ñ Ñ Ñ  Ã± ñ ñ
Ò Ò Ò  Ã² ò ò
Ó Ó Ó  Ã³ ó ó
Ô Ô Ô  Ã´ ô ô
Õ Õ Õ  Ãµ õ õ
Ö Ö Ö  ö ö ö
× × ×  Ã· ÷ ÷
Ø Ø Ø  Ã¸ ø ø
Ù Ù Ù  Ã¹ ù ù
Ú Ú Ú  Ãº ú ú
Û Û Û  Ã» û û
Ü Ü Ü  ü ü ü
Ã? Ý Ý  Ã½ ý ý
Þ Þ Þ  Ã¾ þ þ
ß ß ß  Ã¿ ÿ ÿ
      Â¡ ¡ ¡
‚ ‚    Â¢ ¢ ¢
ƒ ƒ    Â£ £ £
„ „    Â¤ ¤ ¤
… …    Â¥ ¥ ¥
††    Â¦ ¦ ¦
‡ ‡    Â§ § §
ˆ ˆ    Â¨ ¨ ¨
‰ ‰    Â© © ©
Å Š    Âª ª ª
‹ ‹    Â« « «
Œ Œ    Â¬ ¬ ¬
      Â­ ­ ­
Ž Ž    Â® ® ®
      Â¯ ¯ &masr;
      Â° ° °
‘ ‘    Â± ± ±
’ ’    Â² ² ²
“ “    Â³ ³ ³
â€? ”    Â´ ´ ´
• •    Âµ µ µ
– –    Â¶ ¶ ¶
— —    Â· · ·
˜ ˜    Â¸ ¸ ¸
™ ™    Â¹ ¹ &supl;
Å¡ š    Âº º º
› ›    Â» » »
œ œ    Â¼ ¼ ¼
      Â½ ½ ½
ž ž    Â¾ ¾ ¾
Ÿ Ÿ    Â¿ ¿ ¿
Space           

Donations

Thank You for supporting my work