Web Development Day: finalmente in Campania!

by Gianluca 16 gennaio 2010 17.35

 

5 febbraio 201nella Sala Byte di Città della Scienza, in via Coroglio 104 (NA), prendi nota! DotNetCampania, in collaborazione con Computer Foren­sic di Lorenzo Laurato e il patrocinio di Microsoft, organizza il primo evento campano sullo sviluppo web con tecnologie Microsoft. Durante la giornata saranno analizzati gli strumenti Microsoft per lo sviluppo di client web per applicazioni enterprise, lo sviluppo di controlli AJAX, si vedrà come implementare architetture SOA con WCF, come realizzare layout web con Expression Studio e come sia possibile, grazie a Mono, fare il deploy delle applicazi­oni su Linux. Da non perdere!

Per partecipare è necessario registrarsi a questo indirizzo. Qui invece è disponibile l'agenda completa.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Vota questo post per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Eventi

Strani comportamenti di IE7 con jQuery

by Gianluca 10 settembre 2009 00.51

Da diverso tempo avevo notato che la funzione anti-aliasing di Internet Explorer 7 aveva un malfunzionamento nel rendering dei testi, quando questi venivano "nascosti" usando metodi jQuery come hide o fadeOut, poi visualizzati con chiamate a show o fadeIn. Beh, fino ad oggi non mi ero interessato poi così tanto alla cosa, stanco dell'ennesimo pelo nell'uovo diverso tra i vari IE, Firefox, Chrome e chi più ne ha più ne metta. Ma stasera ho deciso di voler approfondire il discorso. Ho trovato un grandioso articolo di Benjamin Michael Novakovic (http://blog.bmn.name/2008/03/jquery-fadeinfadeout-ie-cleartype-glitch/), che a quanto pare sembra essere l'unico depositario della soluzione al problema.

Ebbene, il Novakovic sostiene che causa di tutto sia l'attributo di stile filter, il quale, dichiarato o no nei propri fogli di stile, causa questo malfunzionamento del motore di anti-aliasing di IE7 sui testi processati tramite jQuery. Quindi la soluzione consiste nel trasformare eventuali chiamate a show o fadeIn, che originariamente appararianno come

$('#sample1').show('slow');

$('#sample1').fadeIn('slow');

in


$('#sample1').show('slow', function() {
   this.style.removeAttribute('filter');
});

$('#sample1').fadeIn('slow', function() {
   this.style.removeAttribute('filter');
});

Ho fatto diversi test (tra l'altro sputtanando per l'eternità il mio IE8 nel tentativo di installare una versione standalone di IE7...):

Effettivamente il codice del Novakovic sembra risolvere il problema. Sembra che con IE8 il problema non sussista, mentre con IE7 la differenza è palese.

UPDATE 13/09/2009

Dopo aver effettuato ulteriori test ho notato che applicando la soluzione di Novakovic, FireFox, ma soprattutto FireBug, si incazza di brutto, segnalando un errore Javascript e smettendo di rivolgerti la parola per l'intera giornata. Giustamente FireBug segnala la mancata definizione del metodo removeAttribute. Per questo motivo il codice corretto deve prevedere un controllo preliminare sul tipo di browser che sta eseguendo il codice. Il codice corretto diventerebbe quindi:


$('#sample1').show('slow', function() {
   if (jQuery.browser.msie)
		this.style.removeAttribute('filter');
});

$('#sample1').fadeIn('slow', function() {
   if (jQuery.browser.msie) 
		this.style.removeAttribute('filter');
});

Un "tester" interessante, che tra l'altro propone una versione più completa della soluzione, l'ho trovato qui: jQuery IE Fade Test

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Vota questo post per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Web

Un metodo infallibile per il Superenalotto

by Gianluca 13 agosto 2009 14.49

Il jackpot del Superenalotto ha superato i 130 milioni di euro,lorda o netta che sia è una cifra assurda che chiunque vorrebbemettersi in tasca. Ebbene, ho un metodo infallibile per vincere: io cimetto il codice, voi ci mettete il culo, perchè è solo edesclusivamente una questione di culo.

Ecco qui il codice:

using System;
using System.Collections.Generic;
using System.Text;

namespace questionediculo
{
    class Program
    {
        private const int MIN_VALUE = 1;
        private const int MAX_VALUE = 90;

        static void Main(string[] args)
        {
            List<int> numbers = GenerateSeries(7);
            int jolly = ExtractFromSeries(numbers);
            numbers.Remove(jolly);

            Console.Write("Sestina fortunata: ");
            foreach (int number in numbers)
            {
                Console.Write(number + " ");
            }
            Console.WriteLine();
            Console.WriteLine("Numero jolly: " + jolly);
        }       

        private static List<int> GenerateSeries(int length)
        {
            List<int> retCol = new List<int>();
            object rand = new object();
            lock (rand)
            {
                Random random = new Random();
                while (retCol.Count < length)
                {
                    int number = random.Next(MIN_VALUE, MAX_VALUE);
                    if (!retCol.Contains(number)) retCol.Add(number);

                }
            }
            retCol.Sort();
            return retCol;
        }

        private static int ExtractFromSeries(List<int> series)
        {
            object rand = new object();
            lock (rand)
            {
                Random random = new Random();
                int index = random.Next(1, series.Count);
                return series[index];
            }
        }
    }
}

Per i più pigri, ecco l'eseguibile questionediculo.zip (9,72 kb)

In caso di vincita, ricordatevi di me ;)

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Vota questo post per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Blogging | C#