Download Visual Studio 2010 Express

aprile 15, 2010 by  
Filed under Software

visual studio 2010
Contestualmente al recentissimo rilascio di Visual Studio 2010 per gli utenti con abbonamento MSDN, Microsoft ha reso disponibile per il download anche la versione gratuita della propria suite di sviluppo, denominata appunto Visual Studio 2010 Express.

Nonostante la versione free non metta a disposizione tutte le funzionalità della suite commerciale, si configura comunque a tutti gli effetti come un ambiente di sviluppo completo in grado di assolvere alla maggior parte delle esigenze di sviluppo di un utente comune. Le limitazioni principali (a mio avviso) rispetto alla versione commerciale sono infatti le seguenti:

  • mancanza del supporto per lo sviluppo di Servizi Windows
  • opzioni di deployment limitate per i software sviluppati
  • supporto database limitato a SQL Server e Access.

Read more

I cheatsheets gratuiti di Refcards: un ottimo riferimento per tutti gli sviluppatori

dicembre 12, 2008 by  
Filed under Internet

refcardz1
Siete degli sviluppatori professionisti o comunque degli appassionati di programmazione? Avete bisogno di valutare velocemente i benefici principali di una nuova tecnologia o di un certo framework di sviluppo, prima di decidere se adottarlo o no?
In caso affemativo, dovete assolutamente registrarvi su Refcardz (una sezione del famoso portale DZone dedicato alla condivisione di risorse relative al mondo della programmazione) per avere accesso al download gratuito di decine di Cheat Sheet (schede sintetiche) che in poche pagine aiutano ad approcciare da zero una nuova tecnologia in maniera veloce ed intuitiva, grazie ad una struttura molto ordinata ed organizzata in brevi paragrafi con molti esempi pratici di codice e di configurazione. Tutte le schede sono in formato PDF ed ottimizzate per essere stampate e raccolte; è particolarmente importante il fatto che gli autori sono sempre tra i massimi esperti dell’argomento trattato, cosa che si nota immediatamente per la loro notevole capacità di focalizzarsi sugli elementi più importanti dell’argomento trattato con un’estrema capacità di sintesi. Read more

Ma le donne sanno programmare ??

febbraio 22, 2007 by  
Filed under Attualità, Risate

A quanto pare sembra di si…

L’anziana signora che vedete nella foto si chiama Frances E. Allen, ha 75 anni, lavora da 40 anni all’IBM e ha vinto il prestigioso premio Turing per il suo lavoro sui “compilatori di codice”.

Mah … Secondo me si sta prendendo il merito del lavoro di 50 programmatori maschi suoi sottoposti 😉

 

Invocare dall’esterno un metodo protetto o privato di una classe java: sicuri che sia impossibile ?

febbraio 7, 2007 by  
Filed under Java

La risposta più corretta è: “dipende dalla presenza o meno di un security manager”.

Infatti attraverso la reflection è effettivamente possibile andare a forzare i vincoli del linguaggio Java senza eccessiva difficoltà, ammenochè appunto non sia presente un security manager, unico attore in grado realmente di gestire ed eventualmente bloccare tali tipologie di forzature.

Ma veniamo subito all’esempio pratico che vale più di molte disquisizioni. Data la seguente classe:


package net.nothing2hide.test;

public class ClassWithMethodsToHack {

  private void sayHello(String name){
      System.out.println("Hello " + name +
          "! You're calling a private method");
  }
}

vogliamo dimostrare come sia facilmente invocabile dall’esterno il metodo privato “sayHello“; come già vi ho anticipato per farlo utilizzeremo pesantemente la reflection:


package net.nothing2hide.test;

public class PrivateMethodInvocationTest {

  /**
  * This sample class demonstrates how to
  * invoke a protected method on another class 
  * 
  * @param args
  */
  public static void main(String[] args) {
    String myName = "Davide";
    Method m;
    try {
      //Let'access the private method
      //by reflection. You could do the same
      //with a protected method
      m = ClassWithMethodsToHack.class.getDeclaredMethod(
      "sayHello", new Class[]{String.class});
      if (m != null) {
        //Let's force the java language access 
        //checks on the reflected method. Note 
        //that if a security manager is defined
        //this workaround could not be permitted 
        //and a SecurityException could be raised
        m.setAccessible(true);
        
        //And finally let's invoke the protected method 
        m.invoke(new ClassWithMethodsToHack(), 
        new Object[]{myName});
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}