Welcome

This is the generic homepage (aka Aggregate Blog) for a Subtext community website. It aggregates posts from every blog installed in this server. To modify this page, edit the default.aspx page in your Subtext installation.

To learn more about the application, check out the Subtext Project Website.

Powered By:

Blog Stats

  • Blogs - 715
  • Posts - 31029
  • Articles - 310
  • Comments - 105200
  • Trackbacks - 591192

Bloggers (posts, last update)

Latest Posts

bigpicture

bigpicture.js is a library that allows infinite panning and infinite zooming in HTML pages.
https://github.com/josephernest/bigpicture.js

posted @ 19/12/2014 0.15 by Alessandro Gervasoni

www.buildmystring.com

ok non è mai bello inserire complessi script sql direttamente nel codice ma per quando è necessario questo tool ti aiuta a formattare il codice in un stringa o in uno stringbuilder
www.buildmystring.com

posted @ 11/12/2014 10.12 by Alessandro Gervasoni

sourcetreeapp : A free Git & Mercurial client for Windows or Mac.



http://www.sourcetreeapp.com/

posted @ 10/12/2014 9.16 by Alessandro Gervasoni

Beauty & Dignity

Beauty: what pleases the senses, what enlightens the mind, what is righteous, what is just, what is truthful, what is good.

Dignity: the idea that each and every human being without distinction of any kind, by the mere fact of being born into this world, has innate equal rights such as the right to freedom and to the pursuit of happiness, and is worthy of honour, esteem, consideration and respect.


 

posted @ 06/12/2014 16.03 by Luca Minudel

Verificare se un evento è già registrato

Problema

Verificare se un evento "incapsulato" ( public event ... ) è già registrato dato l'oggetto origine che genera ed incapsula l'evento, l'oggetto di destinazione che ha registrato l'evento e il nome dell'evento.

Soluzione

Code Snippet
  1. public static bool IsEventAlreadyRegistered<T>(T source, object target, string eventName) where T : class
  2. {
  3.     if (source == null)
  4.         throw new ArgumentNullException("source");
  5.     if (target == null)
  6.         throw new ArgumentNullException("target");
  7.  
  8.     return (typeof (T)
  9.         .GetEvents()
  10.         .Where(@event => @event.Name == eventName)
  11.         .Select(@event => source.GetType().GetField(@event.Name, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance))
  12.         .Select(fi => fi.GetValue(source)))
  13.         .OfType<MulticastDelegate>()
  14.         .Any(@delegate => @delegate.GetInvocationList()
  15.             .Any(_delegate => _delegate.Target == target));
  16. }

Esempio

Code Snippet
  1. [Test]
  2. public void WhenEventIsMappedIsEventAlreadyRegisteredReturnTrue()
  3. {
  4.     var source = new EventSourceStub();
  5.     source.SomeEvent += ReflectionExtensionsEventTest_MyEvent;
  6.     Assert.IsTrue(ReflectionExtensions.IsEventAlreadyRegistered(source, this, "SomeEvent"));
  7. }
  8.  
  9. void ReflectionExtensionsEventTest_MyEvent(object sender, EventArgs e)
  10. {
  11. }

Vedi progetto FxCommon sorgente ReflectionExtensions.cs test ReflectionExtensionsTest

posted @ 03/12/2014 16.44 by Marco Baldessari

Datejs

datejs.com

posted @ 03/12/2014 0.59 by Alessandro Gervasoni

microjs

http://microjs.com/

posted @ 03/12/2014 0.46 by Alessandro Gervasoni

Il mio primo progetto OpenSource (GitHub & NuGet)

  • Ho creato il repository del progetto GIT su GitHub applicando la licenza Apache 2.0

  • Ho quindi clonato il nuovo repository in locale con SourceTree


  • Ho effettuato il merge da un precedente repository git dei progetti FxCommon e FxCommonTest da cartelle diverse
  • Sono partito da questo post Git: Copy a file or directory from another repository preserving the history
  • Merge progetto FxCommon
        mkdir /c/temp/mergepatchs
        export reposrc=/c/Sviluppo/Libreria/FxCommon
        git format-patch -o /temp/mergepatchs $(git log $reposrc|grep ^commit|tail -1|awk '{print $2}')^..HEAD $reposrc
        cd /c/Sviluppo/FxCommon
        git am /temp/mergepatchs/*.patch
        
    Merge progetto FxCommon
        mkdir /c/temp/mergepatchs
        export reposrc=/c/Sviluppo/Tests/FxCommonTest
        git format-patch -o /c/temp/mergepatchs $(git log $reposrc|grep ^commit|tail -1|awk '{print $2}')^..HEAD $reposrc
        cd /c/Sviluppo/FxCommon
        git am /temp/mergepatchs/*.patch
        
  • Ho creato la soluzione VS.2013 vuota e aggiunti i due progetti di Sviluppo e Test
  • Ho preparato una build rudimentale del pacchetto NuGet
    1. Ho configurato le proprieta' del nuovo progetto (Properties/AssemblyInfo.cs)
    2. Ho creato la cartella /Build sotto la root ed aggiunto il file NuGet FxCommon.nuspec
                  <?xml version="1.0" encoding="utf-8" ?>
                  <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
                      <metadata>
                          <id>MBaldessari.FxCommon</id>
                          <version>0.0.1</version>
                          <title>FxCommon</title>
                          <description>.NET core library used by FxXXX projects</description>
                          <authors>Marco Baldessari</authors>
                          <language>en-US</language>
                          <projecturl>https://github.com/waldrix/FxCommon</projecturl>
                          <tags>fx</tags>
                      </metadata>
                  </package> 
          
    3. Ho quindi creato un batch denominato Build.bat
                  mkdir .\bin
                  del .\bin\*.nupkg
                  ..\.nuget\nuget.exe pack ..\FxCommon\FxCommon.csproj -Build -Properties Configuration=Release -OutputDirectory .\bin\
                  pause        
              
  • Effettuato l'upload su NuGet (triviale) da Upload Your Package


    Nota: Non ha preso l'url del progetto dal pacchetto (mi chiedo il perche'??), ma e' stato possibile modificare le proprieta' prima di confermare il pacchetto

  • Il gioco e' fatto! ... ecco il mio pacchetto visibile su NuGet, e' solo una libreria di base con pochissima roba ma comunque "testata", più avanti vorrei pubblicare una libreria più significativa! :)

posted @ 01/12/2014 21.57 by Marco Baldessari

ASP.NET 5 e AzureTableStorage

Riprendiamo l’esempio del post precedente per testare l’integrazione tra EF7 e lo storage di Azure. Apriamo NuGet ed installiamo il package “EntityFramework.AzureTableStorage” (sempre in beta):

image

Modifichiamo il codice della classe ItemDB in questo modo:

1 public class ItemDB : DbContext 2 { 3 public DbSet<Item> Items { get; set; } 4 5 protected override void OnConfiguring(DbContextOptions options) 6 { 7 options.UseAzureTableStorage("[Storage_Name]", "[Secret_Key"); 8 } 9 10 protected override void OnModelCreating(ModelBuilder modelBuilder) 11 { 12 modelBuilder.Entity<Item>().ForAzureTableStorage() 13 .PartitionAndRowKey(a => a.CategoryId, a => a.Id) 14 .Table("Items"); 15 } 16 }

Rispetto all’esempio precedente è stato rimosso il metodo di estensione UseSqlServer ed aggiunto un degli overload di UseAzureTableStorage che accetta in ingresso due parametri: accountName ed accountKey. Tramite l’override di OnModelCreating andiamo ad istruire il runtime sulle propietà della classe Item che rappresentato rispettivamente la PartitionKey e la RowKey del Table Storage su Azure. Modifichiamo il file Project.json commentando la voce aspnetcore50 nella sezione frameworks:

image

La classe Item modificata è la seguente:

1 public class Item 2 { 3 public int Id { get; set; } 4 public int CategoryId { get; set; } 5 public string Code { get; set; } 6 public string Description { get; set; } 7 }

Infine modifichiamo la classe Program.cs:

1 public void Main(string[] args) 2 { 3 using (ItemDB db = new ItemDB()) 4 { 5 int nextId = new Random().Next(100000); 6 7 db.Items.Add(new Item() 8 { 9 Id = nextId, 10 Code = "Item #" + nextId, 11 Description = "Description #" + nextId 12 }); 13 14 db.SaveChanges(); 15 } 16 17 using (ItemDB db = new ItemDB()) 18 { 19 foreach (Item item in db.Items) 20 { 21 Console.WriteLine("Item Id: {0}, Code: {1}, Description : {2}", 22 item.Id, item.Code, item.Description); 23 } 24 } 25 26 Console.ReadLine(); 27 }

Proviamo quindi ad eseguire l’applicazione:

image

Ulteriore prova che tutto funzioni correttamente si puo’ avere utizzando l’”Azure Storage Explorer”:

image

posted @ 30/11/2014 22.48 by Pietro Libro

ASP.NET 5 e Entity Framework 7 (beta)

Vediamo in questo post come iniziare a giocare con Entity Framework 7 “beta” (in “beta” solo per uniformità con in rilascio della preview di VS 2015, cosi come descritto in questo post). Partiamo con aprire VS 2015 e creare un progetto di tipo “ASP.NET 5 Console Application”:

image

Per utilizzare Entity Framework 7, apriamo il file Project.json e aggiungiamo nella sezione dependencies le tre dipendenze seguenti:

  1. "EntityFramework": "7.0.0-beta1"
  2. "EntityFramework.Commands" : "7.0.0-beta1"
  3. "EntityFramework.SqlServer": "7.0.0-beta1"

Le dipendenze 1 e 3 ci servono per integrare EF nel nostro progetto ed “informare” che andremo a lavorare utilizzando EF per SQL Server (dato che nella nuova versione, il provider di EF puo’ essere utilzzato nativamente per interagire con SqlServer, SqlLite, AzureTableStorage e InMemory, quindi non solo database relazionali), la dipendenza 3 ci serve per utilizzare i comandi di DB Migration all’interno del nostro progetto.

Sempre in Project.json aggiungiamo la sezione Commands con la relativa voce “EF”:

"commands": {
    "ef": "EntityFramework.Commands"
},

 

Cosi’ che alla fine delle modifiche il file Project.json sia simile a quanto illustrato nella figura seguente:

image


Aggiungiamo al progetto un file di tipo “ASP.NET Configuration file” (Config.json):

image

Il quale di Default si presenta in questo modo:

image

Nella sezione “Data\DefaultConnection” modifichiamo la voce ConnectionString editando la propietà Database oppure cambiando l’intera stringa di connessione, secondo di dove vogliamo ospitare il nostro database (Istanza di SQL Server Express piuttosto che LocalDB ad esempio). Tramite “NuGet Package Manager” (molto piu’ carino graficamente di quello precedente), aggiungiamo un riferimento al Package “Microsoft.Framework.ConfigurationModel.Json” :

image

Aggiungiamo al progetto il file Startup.cs:

image

E modifichiamolo come segue:

1 public class Startup 2 { 3 public static Microsoft.Framework.ConfigurationModel.IConfiguration Configuration { get; set; } 4 5 static Startup() 6 { 7 Configuration = new Microsoft.Framework.ConfigurationModel.Configuration() 8 .AddJsonFile("config.json").AddEnvironmentVariables(); 9 } 10 }

Aggiungiamo al progetto due nuovi classi C#, “Item” e “ItemDB”, dove “ItemDB” è la classe derivata da System.Data.Entity.DbContext ed “Item” il Data Model:

1 public class Item 2 { 3 public int Id { get; set; } 4 public string Code { get; set; } 5 public string Description { get; set; } 6 } 7 8 public class ItemDB : DbContext 9 { 10 public DbSet<Item> Items { get; set; } 11 12 protected override void OnConfiguring(DbContextOptions options) 13 { 14 options.UseSqlServer(Startup.Configuration.Get("Data:DefaultConnection:ConnectionString")); 15 } 16 }

Il nuovo metodo OnConfigure di cui abbiamo eseguito l’override ci permette di specificare quale Data Provider (nel nostro caso SqlServer) lavorerà con il nostro DbContext. UseSqlServer accetta come parametro  una stringa di connessione che recuperiamo dal file Config.json tramite la proprietà Configuration (Microsoft.Framework.ConfigurationModel.IConfiguration) presente nella classe Startup.cs.

Per utilizzare EF Migrations, non è ancora finita, in quanto è necessario installare e configurare KVM (K Version Manager), sul sito è presente una piccola guida all’installazione.

Apriamo un’istanza di Windows PowerShell (o Command Prompt secondo le preferenze) e ci spostiamo nella directory del nostro progetto, dopo digitiamo il comando “K ef migration add initial”:

image

Se tutto è stato eseguito correttamente, nel nostro progetto viene aggiunta la classica cartella “Migrations” con tutti i file necessari:

image

Applichiamo quindi il nostro “piano di migrazione” tramite il comando “migration apply”:

image

Ora possiamo testare che tutto l’Ambaradan (Smile) funzioni, modificando la classe Programs.cs in questo modo:

1 public void Main(string[] args) 2 { 3 ////Save data. 4 using (ItemDB db = new ItemDB()) 5 { 6 db.Items.Add(new Item() 7 { 8 Code = "Item #1", 9 Description = "Description #1" 10 }); 11 12 db.SaveChanges(); 13 } 14 15 ////Load data. 16 using (ItemDB db = new ItemDB()) 17 { 18 foreach (Item item in db.Items) 19 { 20 Console.WriteLine("Item Id: {0}, Code: {1}, Description : {2}", 21 item.Id, item.Code, item.Description); 22 } 23 } 24 25 Console.ReadLine(); 26 }

E poi avviando il tutto con un bel F5:

image

Sicuramente la versione 7 di EF è ancora “poco” matura per essere utiizzata in progetti reali, ma questo esempio vuole essere un punto di partenza per scoprire quali novità ci attendono Smile

posted @ 30/11/2014 12.21 by Pietro Libro

10 anni.

Cominciavo esattamente 10 anni fa a quest’ora. Però :-) non male.

.m

posted @ 30/11/2014 11.15 by Mauro Servienti

ASP.NET AngularJS seed

Quando iniziai (un po’ di tempo fa a dire il vero) a voler provare/utilizzare AngularJS su alcuni progetti web, mi sono scontrato contro alcuni problemi tra i quali:

  • Non voler cambiare “troppo” le tecnologie utilizzate e conosciute dal team (asp.net, webapi, sql server… e quindi niente node, mongo, php, gruntjs…),
  • Utilizzare Visual Studio e avere una struttura chiara della solution,
  • Creare una SPA, e non solo il motore di binding di ng per le singole view asp.net.

Poichè ai tempi (mesi e mesi fa) non trovai un esempio/template che mi soddisfacesse appieno, in quanto:

  • o veniva usato nodejs e niente vs
  • o l’organizzazione dell’applicazione ng era a cura del developer
  • o gli script ng erano separati dalle view (e per me è una cosa fastidiosa dopo un paio di esperienze tra cui anche la struttura di default di durandaljs)

Ho creato un progetto su github, https://github.com/sierrodc/ASP.NET-MVC-AngularJs-Seed, dove:

  • viene utilizzato nuget solo per le libraries .net; ho scelto di non usarlo per i package js perchè altrimenti non avrei potuto organizzarli come segue
    image
    ovvero una sorta di struttura a strati con le librerie senza dipendenze in Ring0, e con Ring(N) dipendente da Ring(N-1)
  • è configurato angularjs e una semplice SPA con alcune features con la seguente struttura:
    image 
    dove:
    1. emixApp.js definisce l’applicazione angularjs, impostando tutte le dipendenze e le regole di routing (forse lo estrarrò da qui),
    2. la cartella directives contiene tutte le directive custom,
    3. la cartella services contiene i servizi angular, in questo caso solo un proxy alle chiamate verso webapi
    4. la cartella pages che contiene le pagine che costituiscono la SPA, ogni pagina definita tramite coppia #pagina.html, pagina.js#
  • tutte le librerie che ritengo utili (anche per una demo veloce) sono già incluse, configurate e utilizzabili;
    Per una lista completa di librerie incluse faccio riferimento al file readme.md presente su repository (cercherò ti mantenerle il più possibile aggiornate).

E dopo questa condivisione, ogni domanda, suggerimento  o critica è ben accetta.

posted @ 28/11/2014 0.38 by Roberto Sarati

La sanità, il muratore e la cattedrale

In Italia non esiste una classe dirigente che capisca l'importanza del software. Questa classe dirigente--a cominciare dal piu tennologico e italiota dei primi ministri--si riempie la bocca di cose-da-cominciare-a-fare e di cose-da-smettere-di-fare ma non va mai oltre il paroleggio. E le parole, anche quelle dorate di uno "ubiquitous language" perfetto, restano parole e non diventano quasi mai implementazione. La mia riflessione è che questo accada certamente perché la politica è un mestiere con forti tradizioni di famiglia. Ma andando oltre, provando ad avvicinarsi al cuore del problema, io mi azzarderei a dire che accade perché nessuno sa bene cosa sia il software e a cosa serva. E nessuno ha idea di quanto sia vitale. E nessuno si azzarda a dotarsi di advisor giusti. Gli advisor ci sono ma sono pescati tra coloro che non sono riusciti a fare politica. Se già un politico è scarso, l'advisor di un politico è ancora più scarso. Entri in un ospedale--almeno un grande ospedale--e ti rendi conto che le procedure ci sono; che gli operatori seguono delle regole di business chiare e definite. Ti rendi pure conto che quelle regole determinano processi che funzionano. E quando ci sono storture e brutture è soprattutto per l'ossessione burocratica e numerica dei costi. E ti rendi conto, però, che queste regole di business e questi processi sono implementati come se fossimo fermi al 1980. E' tutto di carta--ed è un costo. E' tutto un tracciare di carta--ed un doppio costo. E' tutto di una lentezza esasperante e burocratica--ed un costo. Così finisce che la burocrazia ritarda l'intervento se per caso il nome del medico curante non è scritto a penna sulla cartella di carta. E però non ti fanno entrare se non hai la tessera sanitaria. E la tessera sanitaria viene usata, udite udite, solo per fare una fotocopia. Follia. C'è sulla gazzetta ufficiale firmata da monti (!!!) l'istituzione della cartella clinica elettronica. Ma nessuno al ministero ha mai fatto un passo per capire come implementarla. Cioè monti (o chi per lui) si limita a dire dal 1. gennaio entra in vigore la cartella elettronica. Cazzi vostri. E comimcia un "cazzi vostri" burocratico che prima o poi raggiunge la foglia del grafo. Ma la foglia non può fare nulla. E nulla si fa. Sono stati fatti timidi tentativi di implementazione, ma ciascuna ASL ha chiamato la sua software house di fiducia e si sono arenati per manifesta incapacità di gestire un progetto "così complesso". Ma come "ciascuna ASL"? Già, proprio così: niente centralizzazione. Eppure il software complesso nel mondo reale esiste e viene scritto; e avviene anche in Italia. Basta prendere le persone giuste, con skills reali e misurabili, prenderli dal mondo reale e non dal sottobosco della politica e pagarli come si deve per fargli elaborare un progetto. I costi? Follia. Giusto per dare un'idea: le mie tariffe (altissime per gli standard italiani, ma nella media europea) produrrebbero un costo di gran lunga inferiore (!!!) a quanto si paga normalmente nel sottobosco della politica; per il nulla. Si vede che siamo un paese di letterati: tutti devono aver letto i pilastri della terra di Ken Follett. Dove un muratore, Tom, pagato da un priore costruisce una cattedrale. A dire il vero, Tom costruisce mezza cattedrale. E la cattedrale poi crolla. Ecco, appunto. Ma quello era il medioevo; noi saremmo nel 2015.

posted @ 27/11/2014 11.01 by Dino Esposito

Registrazione: Essere uno sviluppatore software in Red Gate (UK).

 

Ecco la registrazione dell’evento “Essere uno sviluppatore software in Red Gate (UK)”.

Se sei interessato ad applicare scrivi una mail ad andrea . angella (at) red-gate . com

https://www.youtube.com/watch?v=UTdEdPT25tk

posted @ 24/11/2014 10.19 by Andrea Angella

Lean-Agile Coach self-assessment radars


These slides show 3 self-assessment radars for Lean-Agile Coaches.


The first slide is based on the Agile-Coach Competency Framework by Michael K. Spayd and Lyssa Adkins.
The second and third slide come from a blog post by Esther Derby.


Feels free to comment and to question the skills, the traits, and the levels.



Lean-Agile Coach self-assessment radars from Luca Minudel

posted @ 23/11/2014 11.54 by Luca Minudel

Asp.Net 5, MVC 6 e Web Api

E’ qualche mese che non scrivo nulla sul blog, ma gli studi, come la vita, sono andata avanti. Ora eccoci qui a fare qualche test con le nuove versioni delle ultime tecnologie\framework web del mondo Microsoft, che ci regala ogni giorno qualcosa di tecnlogicamente fantastico…alla faccia dei soliti criticoni Smile. Torniamo con i piedi per terra e proviamo ad utilizzare le Web Api in un progetto MVC 6 (attualmente in versione beta, ASP.NET 5 fonde i framework MCV e Web Api). Apriamo il nostro VS 2015 preview (scaricabile nella versione ultimate a questo indirizzo: ) e creiamo un nuovo progetto “ASP.NET Web Application”:

image

Poi selezioniamo il template ASP.NET 5 Empty:

image

Attendiamo qualche secondo che Visual Studio crei l’alberatura della soluzione con tutti i relativi file:

image

Notiamo due file in formato “.json”, global.json e project.json, che possiamo editare rispettivamente per i settings e per le references a livello globale (solution) o di singolo progetto. La classe Startup.cs ed in particolare il metodo Configure(…) definisce l’entry point della pipeline di ASP.NET, ed è qui che andremo ad aggiungere il codice necessario all’esecuzione dell’applicazione. Prima, apriamo il file project.json, e nella sezione dependencies aggiungiamo la riga seguente:

"Microsoft.AspNet.Mvc": "6.0.0-beta1"

Notare come l’editor sia completo di IntelliSense che ci permette di scegliere dinamicamente package e versione (tra quelle disponibili):

image

Inizializziamo MVC nella classe Startup.cs, aggiungendo il metodo ConfigureServices:

1 public void ConfigureServices(IServiceCollection services) 2 { 3 services.AddMvc(); 4 }

il quale aggiunge tutte le dipendenze di cui MVC 6 ha bisogno. Utilizziamo il metodo d’estensione UseMvc nel metodo Configure:

1 public void Configure(IApplicationBuilder app) 2 { 3 app.UseMvc(); 4 }

Aggiungiamo una classe ItemsController (“Web Api Controller Class”) nella classica cartella di progetto Controllers:

image

1 [Route("api/[controller]")] 2 public class ItemsController : Controller 3 { 4 // GET: api/values 5 [HttpGet] 6 public IEnumerable<Item> Get() 7 { 8 return new List<Item>( 9 new Item[]{ 10 new Item() { Code= "Item#1", Description= "Item_Description#1" }, 11 new Item() { Code = "Item2", Description = "Item_Description#2"} }); 12 } 13 }

Poi aggiungiamo la classe Item:

1 public class Item 2 { 3 public string Code { get; set; } 4 public string Description { get; set; } 5 }

Avviamo il progetto ed invochiamo via browser il servizio:

image

Il servizio dovrebbe restituire il seguente json :

1 [{"Code":"Item#1","Description":"Item_Description#1"} 2 ,{"Code":"Item2","Description":"Item_Description#2"}]

Notiamo come la classe ItemsController a differenza delle versioni precedenti, non derivi piu’ dalla classe ApiController, ma direttamente da Controller. Se proviamo ad utilizzare uno strumento come Fiddler per analizzare le request e le response delle nostre Api, possiamo scoprire qualcosa di interessante, se ad esempio, modifichiamo la nostra Web Api in modo da tornare null, con l’attuale versione di ASP.NET Web Api otterremmo:

image

Ovvero una response con status 200 e corpo del messaggio vuoto, con la versione MVC 6 invece:

image

Una response con status 204 (No Content), che logicamente parlando IMHO è piu’ corretta (la risposta è OK, ma il contenuto del body è vuoto). Ulteriori dettagli sui Formatters in MVC6 possono essere trovati in questo post di Filip W. Per ritornare ad avere un comportamento Old Style è sufficiente agire a livello di configurazione, in ConfigureServices:

1 public void ConfigureServices(IServiceCollection services) 2 { 3 services.AddMvc().Configure<MvcOptions>(o => o.OutputFormatters 4 .RemoveAll(f => f.Instance.GetType() == typeof(HttpNoContentOutputFormatter))); 5 }

Ovviamente di novità ci sono e tante, ma almeno sappiamo da dove iniziare Smile .

posted @ 23/11/2014 9.17 by Pietro Libro

Dati di accesso: Essere uno sviluppatore software in Red Gate (UK)


Red Gate Ingeniously Simple

Giovedi' 13 Novembre 2014


Sede: evento online
Ora: 17:30 - 18:30
Speaker: Andrea Angella
Q/A: Jodie Pinkowski

Accedi al webcast oggi alle ore 17:30 italiane usando questo indirizzo:
https://www.livemeeting.com/cc/mvp/join?id=SJ33B7&role=attend&pw=jKxft%2F%289R

Andrea Angella e' un italiano che lavora in UK da 5 anni e presentera' tutti i vantaggi di lavorare in Red Gate dando risposta a molte delle domande che un italiano si pone prima di compiere il grande passo. Durante l'intero webcast, la responsabile delle risorse umane, Jodie Pinkowski, sara' a disposizione per rispondere direttamente alle vostre domande (Only In English).

  • Ti sei mai chiesto come possa essere l'esperienza di uno sviluppatore software in UK?
  • Sei alla ricerca di un ambiente di lavoro piu' stimolante e gratificante che possa veramente farti crescere professionalmente?
  • Sei alla ricerca di un migliore bilanciamento tra lavoro e vita privata?
  • Stai considerando la possibilita' di fare una esperienza all'estero?

Vi aspettiamo numerosi!

Iscriviti all'evento

posted @ 13/11/2014 13.17 by Andrea Angella

Microsoft news

La giornata di oggi è stata particolarmente ricca di news per noi sviluppatori:

  1. E’ disponibile l’update 4 di Visual Studio 2013 (non ancora segnalato in VS2013 ma scaricabile qui Download Visual Studio 2013 Update 4 (2013.4) RTM)
    La lista delle novità e delle correzioni è disponibile alla seguente pagina: http://www.visualstudio.com/news/vs2013-update4-rtm-vs
  2. E’ stata rilasciata una nuova edizione di VS ovvero la Visual Studio 2013 Community, che include gli ultimi updates, e che supporta sviluppo web, cloud, mobile, Kinect, Unity… permettendo inoltre di installare estensioni. Un cambio di rotta rispetto all’ultima tornata di VS express frammentato in più versioni e con estensioni bloccate.
    Interessante notare la seguente frase presente su sito microsoft:
    ”For all other usage scenarios: In non-enterprise organizations, up to 5 users can use Visual Studio Community. In enterprise organizations (meaning those with >250 PCs or > $1MM in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above”
    Questo significa che in piccole aziende è possibile utilizzare VS Community senza oneri anche per fini commerciali (correggetemi se sbaglio).
  3. Disponibile Visual Studio 2015 preview (http://www.visualstudio.com/news/vs2015-preview-vs#Net) con EF7, Rosylin, .net4.6, asp.net 5 e chi più ne ha più ne metta
  4. L’apertura sempre più consistente da parte di Microsoft verso il mondo opensource e sistemi “non-windows”:
    1. sono stati rilasciati parti importanti di .net framework su github (http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx)
    2. si è (forse) presa consapevolezza di ciò che molti avrebbero voluto da .NET, ovvero la multipiattaforma (forse dovuto anche al successo di Xamarin [che tra parentesi, tra le altre cose, prevede di aggiungere il supporto a VS anche nella versione free]). ScottGu ha infatti annunciato la volontà di rilasciare una versione ufficiale e supportata di .net core per linux e osx (http://weblogs.asp.net/scottgu/announcing-open-source-of-net-core-framework-net-core-distribution-for-linux-osx-and-free-visual-studio-community-edition)

Che dire… senza parole.

posted @ 13/11/2014 2.22 by Roberto Sarati

SharePoint Hosted App - Ribbon Custom Action Icons

Dovendo realizzare una ribbon custom action su uno SharePoint online ho dovuto affrontare il problema di come caricare l'icona da mostrare sul bottone.

Chiaramente si può caricare sulla hosted app e far puntare il ribbon alla nostra immagine esterna, ma era una soluzione che non mi piaceva molto.

Ho trovato così un articolo che mostrava una soluzione più interessante, che sfruttava sostanzialmente la tecnica del Data Uri

Technorati Tags:

posted @ 07/11/2014 11.40 by Daniele Proietti

Libro Su Windows 8.1

Windows 8.1 è l’ultimo sistema operativo rilasciato da Microsoft. Vista la sua nuova veste grafica e le modifiche fatte al core può risultare di difficile utilizzo per l’utente medio

MANUALE WINDOWS 8.1per imparare a usare Windows 8 e sfruttarne tutte le potenzialità in ambito lavorativo e in ambito IT.

Windows 8.1. Reti, sicurezza, tecniche avanzate

di Adriano Arrigo (Autore), Marco Maltraversi (Autore)

LIBRO WINDOWS 8.1

Buona lettura.

posted @ 04/11/2014 12.03 by Marco Maltraversi

Latest Images

From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Immagini
From Foto
From Foto
From Foto
From Immagini
From Immagini
From Immagini
From PrivateImage