Archivi tag: Programming

Google Chrome Developer Tools

Non potete fare a meno di firebug ma amate google chrome, allora non potete non provare “Google Chrome Developer Tools”  (basta cliccare ctrl+shift+j).

Via : Alessage

Fletto i muscoli e sono nel vuoto.

Usare Quartz con Spring

Ipotiziamo ad avere il seguente Job

package sample;

public class ExampleJob {

  // properties and collaborators

  public void doIt() {
    // do the actual work
  }
}

Di cui vogliamo eseguire il metodo doIt, ogni tot secondi.
Basta configurare il nostro xml di spring nel seguente modo.

    
   
  
 
  
  
      
      
  

  
  
      
      
      
        
	
        
    
 
   
    
        
            
                
            
            
            
                applicationContext
        
    

Fletto i muscoli e sono nel vuoto.

What’s new in DWR version 3

Fonte: www.slideshare.net

Fletto i muscoli e sono nel vuoto.

CompanionJS

In mancanza di firebug per IExplorer ho trovato questo buon tool

CompanionJS

Fletto i muscoli e sono nel vuoto.

Dividere il log in base al livello di errore con log4j

Con log4j è possibile creare più file di log a seconda del livello di errore. Ecco un esempio:





        
                
                     
                
        

        
      
      
      
      
                
                     
                
                
                        
                        
                
        

        
      
      
      
      
                
                     
                
                
                        
                        
                
   

        
      
      
      
      
                
                     
                
                
                        
                        
                
   

        
      
      
      
      
                
                     
                
                
                        
                        
                
   

        
                
        
        
        
        
        
        


Fonte: mail-archive

Fletto i muscoli e sono nel vuoto.

Ordinare un HashMap

E’ possibile ordine una hashmap in java utilizzando il seguente pezzo di codice:

Map yourMap= new HashMap();
// put some tuples in yourMap ...
Map sortedMap = new TreeMap(yourMap);

Fonte: Sun Java Forum

Fletto i muscoli e sono nel vuoto.

[Jboss MySQLValidConnectionChecker] Unexpected error in ping

Mi capitato di dover fare il deploy di un applicazione funzionante da tomcat a jboss.

Una volta configurato l’ambiente, l’applicazione parte, ma sembra molto lenta ed il log è pieno di eccezioni come la seguente:

[org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker] Unexpected error in ping

Girando un poi su google, ho letto un po’ di forum a cui si accennava all’errore. Si parlava di problema dovuto ad un bug di jconnector di mysql. Quindi ho aggiornato il driver passando dalla 5.0.5 alla 5.1.5. Risultato: l’applicazione va meglio e non ho più l’eccezione sopracitata.

Fletto i muscoli e sono nel vuoto.

Modellazione UML gratis per Visual Studio.NET

La Tangible Architect ha deciso di mettere a disposizione gratuitamente il proprio tool di modellazione UML integrabile in Visual Studio.

fonte: www.programmazione.it

VS 2005 Design.ExceptionCollection

Se aprendo una form a design time si apre una popup con la scritta:

Generata eccezione tipo

‘System.ComponentModel.Design. ExceptionCollection’.

Per scoprire la causa dell’eccezione aprite una nuova istanza di visual studio ed utilizzate la funzione “Connetti a processo” presente nel menu “Strumenti”.

Una volta eseguita l’operazione “Connetti a processo”. Provate a riaprire in design la form che ha generato l’errore e troverete il punto che ha generato l’eccezione.

Fletto i muscoli e sono nel vuoto.

Star Wars Credits Control [C# porting]

Sulle esempio di Pablo van der Meer, ho fatto il porting del suo codice c++ in c#.

E’ stato fatto un porting molto basilare, può essere sicuramente migliorato.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication3
{
    public partial class AboutScrollText : Control
    {
        private int m_Active = 0;
        const int NUM_STARS = 100;
        private Random r = new Random();
        private int m_nStarsSpeed = 30;
        private int m_nScrollSpeed = 2;
        private int m_nScrollPos;
        private Timer m_Timer;

        CStar[] m_StarArray;
        String[] m_TextLines;

        private struct CStar
        {
            public int x;
            public int y;
            public int z;
        };

        public AboutScrollText()
        {
            InitializeComponent();

            this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);

            m_StarArray = new CStar[NUM_STARS];

            m_Timer = new Timer();
            m_Timer.Interval = 75;
            m_Timer.Tick += new EventHandler(m_Timer_Tick);

            m_TextLines = new string[8];
            m_TextLines[0] = "A long time ago";
            m_TextLines[1] = "";
            m_TextLines[2] = "in a galaxy far far away";
            m_TextLines[3] = "";
            m_TextLines[4] = "this application";
            m_TextLines[5] = "was programmed by";
            m_TextLines[6] = "";
            m_TextLines[7] = "...?...";
            // initialize stars
            for (int i = 0; i < NUM_STARS; i++)
            {
                m_StarArray[i].x = r.Next(0, 1024);
                m_StarArray[i].x -= 512;
                m_StarArray[i].y = r.Next(0, 1024);
                m_StarArray[i].y -= 512;
                m_StarArray[i].z = r.Next(0, 512);
                m_StarArray[i].z -= 256;
            }

            m_nScrollSpeed = 2; // (m_nScrollSpeed * 100) / 50;
        }

        void m_Timer_Tick(object sender, EventArgs e)
        {
            if (m_Active == 0)
            {
                m_Active = 1;
                this.Invalidate();
            }
        }

        protected override void OnPaint(PaintEventArgs e)
        {
            if (this.DesignMode)
            {
                base.OnPaint(e);
            }
            else
            {
                Graphics g = e.Graphics;
                DoStars(g);
                DoScrollText(g);
                m_Active = 0;
            }
        }

        void DoScrollText(Graphics g)
        {
            int nPosX = 0;
            int nPosY = 0;
            Bitmap b = new Bitmap(this.Width, this.Height);
            Graphics bitmap = Graphics.FromImage(b);

            // black
            Font f = new Font("Tahoma", 24, FontStyle.Regular);
            // draw Credits on the hidden Picture
            for (int i = 0; i < m_TextLines.Length; i++)
            {
                // set position for this line
                SizeF size = bitmap.MeasureString(m_TextLines[i], f);
                nPosY = m_nScrollPos + (i * (int)size.Height);

                if ((nPosY) > 0)
                {
                    nPosX = (this.Width / 2) - ((int)size.Width / 2);

                    if (nPosY > 255)
                    {
                        bitmap.DrawString(m_TextLines[i], f, new SolidBrush(Color.FromArgb(255, 255, 255)), nPosX, nPosY);
                    }
                    else
                    {
                        // set fade color
                        bitmap.DrawString(m_TextLines[i], f, new SolidBrush(Color.FromArgb(nPosY, nPosY, nPosY)), nPosX, nPosY);
                    }
                }
                else
                {
                    // start all over ...
                    if (i == (m_TextLines.Length - 1))
                    {
                        m_nScrollPos = this.Height;
                    }
                }
            }

            int nWidth = this.Width;
            int nHeight = this.Height;

            //MemoryStream memStream = new MemoryStream();
            //bitmap.Save(memStream, ImageFormat.Gif);
            //bitmap.Flush();

            double nScale;
            int nOffset;
            // shrink text from bottom to top to create Star Wars effect
            Rectangle rDest = new Rectangle();
            Rectangle rSrc = new Rectangle();
            Bitmap s = new Bitmap(this.Width, this.Height);
            Graphics sbitmap = Graphics.FromImage(s);

            for (int y = 0; y < nHeight; y += 3)
            {
                nScale = (double)y / (double)nHeight;
                nOffset = (int)(nWidth - nWidth * nScale) / 2;
                rDest.X = nOffset;
                rDest.Y = y;
                rDest.Width = (int)(nWidth * nScale);
                rDest.Height = 3;

                rSrc.X = 0;
                rSrc.Y = y;
                rSrc.Width = nWidth;
                rSrc.Height = 3;

                sbitmap.DrawImage(b, rDest, rSrc, GraphicsUnit.Pixel);
            }

            g.DrawImageUnscaled(s, 0, 0);
            // move text up one pixel
            m_nScrollPos = m_nScrollPos - m_nScrollSpeed;
        }

        void DoStars(Graphics g)
        {
            g.Clear(Color.Black);

            int nFunFactor = 100;
            int x, y, z;
            for (int i = 0; i < NUM_STARS; i++)
            {
                m_StarArray[i].z = m_StarArray[i].z - m_nStarsSpeed;
                if (m_StarArray[i].z > 255)
                {
                    m_StarArray[i].z = -255;
                }
                if (m_StarArray[i].z < -255)
                {
                    m_StarArray[i].z = 255;
                }

                z = m_StarArray[i].z + 256;
                x = (m_StarArray[i].x * nFunFactor / z) + (this.Width / 2);
                y = (m_StarArray[i].y * nFunFactor / z) + (this.Height / 2);

                // create a white pen which luminosity depends on the z position (for 3D effect!)
                int nColor = 255 - m_StarArray[i].z;
                if (nColor < 0) nColor = 0;
                if (nColor > 255) nColor = 255;
                g.DrawEllipse(new Pen(Color.FromArgb(nColor, nColor, nColor), 1), x, y, 2, 2);
            }
        }

        public void Start()
        {
            m_nScrollPos = this.Height;
            m_Timer.Enabled = true;
        }

        public void Stop()
        {
            m_Timer.Enabled = false;
        }

    }
}

Un esempio in c++ che usa Win32 OpenGL Framework lo trovate qui.

Fletto i muscoli e sono nel vuoto.