La parabole des aveugles et de l'éléphant

Rédigé par Sozezzo - - Aucun commentaire

J'ai trouvé cette parabole des aveugles extrêmement intéressante à propos de la vérité...

 

La parabole des aveugles et de l'éléphant
Recherche par Arduinna

Il y avait jadis un roi nommé Face de Miroir, qui réunit une fois des aveugles de naissance et leur dis: " Ô aveugles de naissance, connaissez-vous les éléphants?" Il répondirent;" Ô grand roi, nous ne les connaissons pas, nous n'en avons aucune notion." Le roi leur dit encore:" Désirez-vous connaître leur forme?"-Nous désirons certes la connaître." Aussiôt, le roi ordonna à ses serviteurs
d'amener un éléphant et aux aveugles de toucher eux-mêmes l'animal avec leurs mains. Parmis ceux-ci, certains en tâtant l'éléphant, prirent la trompe et le roi leur dit:" Ceci est l'éléphant." Les autres, en tâtant l'éléphant, saisirent soit l'oreille, soit les défense, soit la tête, soit le dos, soit le flanc, soit la cuisse, soit la queue etc..
À tous, le roi dit: "Ceci est l'éléphant." Alors le roi Face de Miroir fit écarter l'éléphant et demanda aux aveugles:" De quelle nature est l'éléphant?" Les aveugles qui avaient prit la trompe dirent:"L'éléphant est semblable à un timon courbé." Ceux qui avaient pris l'oreil dirent:" L'éléphant est semblable à un van." Ceux qui avaient pris une défense dirent:" L'éléphant est semblable à un pilon." Ceux qui avaient pris la tête dirent:" L'éléphant est semblable à un chaudron." Ceux qui avaient pris le dos dirent:" L'éléphant est semblable à un monticule." Ceux qui avaient pris le flanc dirent:" L'éléphant est semblable à un mur." Ceux qui avaient pris la cuisse dirent:" L'éléphant est semblable à un arbre." Ceux qui avaient pris la queue dirent:" L'éléphant est semblable à une corde." Ils s'accusèrent tous mutuellement d'avoir tort. Les uns disaient:" C'est ainsi." Les autres répliquaient:" Non, ce n'est pas ainsi." Au lieu de s'apaiser, leur discussion devint une querelle. Quand le roi vit cela, il ne put s'empêcher de rire, puis il prononça cette stance: "Les aveugles ici réunis se disputent et se querellent. Le corps de l'éléphant est naturellement unique, ce sont les perceptions différentes qui on produit ces erreurs divergentes."

Le Bouddha dit:" Ô moines, il en est de même des doctrines diverses des hétérodoxes. Ils ne connaissent ni la vérité de la douleur, ni la vérité de l'origine, ni la vérité de la cessation, ni la vérité de la Voie. Chacun d'eux produit une opinion différente de celles des autres et ils se critiquent mutuellement. Chacun prétend avoir raison et cela fait naître les disputes et les querelles.

Lire la suite de La parabole des aveugles et de l'éléphant

Classé dans : Follow - Mots clés : aucun

Pi Day

Rédigé par Sozezzo - - Aucun commentaire

Le 14 mars 2015 est une journée exceptionnelle. C'est le pi day aujourd'hui! Happy birthday PI ! 

À 9 heures 26 minutes et 53 secondes, il était exactement “pi” avec ses neuf premières décimales: 3,141592653...

Kill all SQL Server connections

Rédigé par Sozezzo - - Aucun commentaire

Sometimes I want to have control over a SQL Server database, but always some connection blocks.

We can use this

USE MASTER;
ALTER DATABASE MyDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

 

BUT, sometime, we cannot do it! Well, we have this solution...


SET NOCOUNT ON;
DECLARE @ToKill AS NVARCHAR(max);
SET @ToKill = '';
--SELECT @toKill = @ToKill + 'kill ' + cast(spid AS NVARCHAR(10)) + ';'
SELECT @toKill = @ToKill + 'begin try kill ' + cast(spid AS NVARCHAR(10)) + '; print ''Ok   to kill : ' + cast(spid AS NVARCHAR(10)) + '''; end try begin catch print ''Fail to kill : ' + cast(spid AS NVARCHAR(10)) + '''; end catch;'
FROM master..sysprocesses WHERE
spid <> @@spid -- Not my self
AND dbid = DB_ID(db_name()) -- only my database
--print @tokill;
EXEC (@tokill);

 

Solution without "DECLARE", it's useful when many times you need to kill connections.


exec('PRINT ''Kill connection of database: '' + db_name();DECLARE @kill AS NVARCHAR (MAX);SET @kill = '''';SELECT @kill = @kill + ''begin try  kill '' + CAST (spid AS NVARCHAR (10)) + ''; print ''''Kill spid: '' + CAST (spid AS NVARCHAR (10)) + '' ('' + RTRIM(ISNULL(hostname, ''*NULL*'')) + ''|'' + RTRIM(ISNULL(nt_username, ''*NULL*'')) + '')'''' ; end try begin catch print ''''Fail to kill : '' + CAST (spid AS NVARCHAR (10)) + ''''''; end catch;'' FROM master..sysprocesses WHERE dbid = DB_ID(db_name()) AND spid <> @@spid AND hostprocess <> '''';PRINT (@kill);');

Command Line Arguments Parser

Rédigé par Sozezzo - - Aucun commentaire

Chaque fois que je dois créer une application du type console, c'est le même problème.

Alors, je publie la version que je vais utiliser sur toutes mes applications.
Effet, j'ai analysé plusieurs solutions, et détails techniques de chaque solution et j'ai fini pour choisir une solution publiée sur CodeProject.

Ma version de la solution est normalisée selon le standard du Reshaper, et il y a un *petit* changement de l'expression régulier.


using System;

namespace MyConsoleApplication
{
    class Program
    {
        #region Private Static Methods

        private static void HowToUse()
        {
            Console.WriteLine("--------------------");
            Console.WriteLine("Syntax : ");
            Console.WriteLine("");
            Console.WriteLine("MyConsoleApplication /myparam1=value1 /myparamBool /mypar2 /myvalueX=C:\\temp\\");
            Console.WriteLine("");
            Console.WriteLine("--------------------");
        }

        static void Main(string[] args)
        {
            Arguments commandLine;
            commandLine = new Arguments(args);

            //commandLine line : /myparam1=TestValue1   /myparamBool
            if (commandLine["myparam1"].HasValue)
            {
                Console.WriteLine(commandLine["myparam1"].Value);
            }
            Console.WriteLine(commandLine["myparamBool"].ValueBool ? "has parameter" : "no parameter");

            ShowArguments(commandLine);
            WaitConfirmation();
        }

        private static void ShowArguments(Arguments commandLine)
        {
            const string message = @"::
            :: Parameters :
            ::";

            Console.WriteLine(message);
            if (commandLine.Parameters.Count == 0)
            {
                Console.WriteLine("** No parameters **");
                HowToUse();
            }

            foreach (var c in commandLine.Parameters)
            {
                Console.WriteLine("      " + (c.HasValue ? string.Format("/{0}={1}", c.Name, c.Value) : string.Format("/{0}", c.Name)));
            }
            Console.WriteLine("");
        }

        private static void WaitConfirmation()
        {
            Console.WriteLine("\r\nPress a key to continue: ");
            ConsoleKeyInfo cki = Console.ReadKey(true);
        }

        #endregion Private Static Methods
    }
}




Link de la solution:
http://www.codeproject.com/Articles/3111/C-NET-Command-Line-Arguments-Parser

Reshaper:
https://www.jetbrains.com/resharper/

 

Lire la suite de Command Line Arguments Parser

Send email by sql

Rédigé par Sozezzo - - Aucun commentaire

How can we send email by sql script ?

 

To enable Database Mail XP

USE msdb;
GO
EXEC sp_configure 'Database Mail XPs'
GO
RECONFIGURE
GO
EXEC sp_configure 'Database Mail XPs', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'Database Mail XPs'
GO

 

To configure database mail


USE msdb
GO

DECLARE @ProfileName VARCHAR(255)
DECLARE @AccountName VARCHAR(255)
DECLARE @SMTPAddress VARCHAR(255)
DECLARE @EmailAddress VARCHAR(128)
DECLARE @DisplayUser VARCHAR(128)

SET @ProfileName = 'DBMailProfile';
SET @AccountName = 'DBMailAccount';
SET @SMTPAddress = 'smtp.server.com';
SET @EmailAddress = 'myemail@email.com';
SET @DisplayUser = 'Myname Noname';

EXECUTE msdb.dbo.sysmail_add_account_sp @account_name = @AccountName, @email_address = @EmailAddress, @display_name = @DisplayUser, @mailserver_name = @SMTPAddress

EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = @ProfileName

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = @ProfileName, @account_name = @AccountName, @sequence_number = 1;

--Now that everything is setup, I will send a test e-mail.
EXEC msdb.dbo.sp_send_dbmail @recipients = N'myemail@email.com', @body = 'Test Email Body', @subject = 'Test Email Subject from SQL', @profile_name = 'DBMailProfile'

ASP.NET Events

Rédigé par Sozezzo - - Aucun commentaire

PreInit

  • Vérifier s’il est la première fois que l’on appelle une page : IsPostBack
  • Créer ou recréer de contrôles dynamiques;
  • Configurer la page « Master »;
  • Configurer le thème dynamiquement;
  • Lire et écrire des values de propriétés;

S’il est un « PostBack »

  • Vérifier les valeurs des contrôles avant le « restore » du « ViewState »;
  • Récrire des valeurs de propriétés;

 

Init

  • L’événement qui est déclenché en premier;
  • Événement est utilisé pour initialiser les propriétés du contrôle;

 

IniComplete 

  • Les changements faits sur le « ViewState »  sont persistés après le prochain « PostBack »;

 

PreLoad

  • L’événement qui fait le traitement  du « PostBack » et aussi du « Request ».

Load

  • Cet événement appelle la méthode « OnLoad »;
  • L’événement « Load » de la page est déclenché avant des contrôles individuels;

ControlEvents

  • Cet événement est utilisé avec des spécifiques évents de contrôles comme « Button » avec l’événement « Click », ou le contrôle « TextBox »avec l’événement « TextChanged »;
  • Dans le cas d’un « PostBack », et si la page contient  validation de contrôles, le « Page.IsValid » et les validations de chaque contrôle sont déclenchés;

 

LoadComplete

  • Cet événement est déclenché après tout « PostBack »and « View-State » sont chargés, et après la méthode « OnLoad » des tous les contrôles ont été déclenchés;

 

PreRender

  • Cet événement est pour effectuer des changements sur un contrôle avant qu’il soit sur la page, mais ces modifications ne sont pas sauvegardées. On peut l’utiliser pour associer un « DataSourceId » à un « DataBind »;

 

PreRenderComplete

  • Cet événement est déclenché après l’événement « PreRender » est fini;

 

SaveStateComplete

  • Cet événement est déclenché après le « View-State » a été sauvegardé de tous les contrôles et la page;
  • Tout le changement ne sont plus sauvegardé;

 

RenderComplete

  • C’est le dernier événement déclenché avant d’affichage de la page;

 

Unload

  • Cet événement est déclenché quand le contrôle est déchargé de la mémoire;
  • Il est utilisé pour finaliser des connexions, fermer des fichiers, effacer de données temporaires.

Lire la suite de ASP.NET Events

Fil RSS des articles