Tuesday, January 28, 2014

5 EXEMPLES AVEC LA COMMANDE GREP SUR LINUX

La commande Linux grep est une commande très utile et fort puissante  voici un lien qui présente une série de 5 exemples courants pour bien se familiariser :

Rechercher une expression dans un fichier
grep iTx index.html

Rechercher une expression dans repertoire
grep -i iTx public_html/

Rechercher une expression dans plusieurs répertoires récursivement
grep -i -r iTx public_html/*

Mettre les résultats en couleur
export GREP_OPTIONS='--color=auto' GREP_COLOR='100;8' grep iTx index.html

Rechercher une expression REGEX
grep  "expressions?"  index.html

http://itx-technologies.com/blog/1521-5-exemples-avec-la-commande-grep-sur-linux

Thursday, January 23, 2014

Parcourir un fichier par ligne dans un script shell

#! /bin/bash
while read ligne 
do   
   echo -e $ligne
#creer repertoire
   mkdir $ligne
done < monfichier.txt

Tuesday, January 14, 2014

Description des fichiers PDB

Le format de fichier Program database ( Base de données de programmes plus couramment nommé sous l'acronyme PDB) est un format de fichier contenant des informations de débogage (numéro de ligne, StackTrace, ect...) pour les modules exécutables (.exe ou .dll). L'extension de nom de fichier des Program database est .pdb. Ce format de fichier est un format propriétaire à Microsoft et seul l'éditeur de lien de Microsoft est apte à créer ce type de fichier.

Il n'est pas nécessaire à l’exécution et peut être ignorer lors d'une release. Il faut garder à l'esprit que ces fichiers sont à destinateur du debugger.

Pour les plus curieux, il existe des outils sur le web capable de lire son contenu comme par exemple :
pdbexplorer

Pour plus de lecture : http://www.wintellect.com/blogs/jrobbins/pdb-files-what-every-developer-must-know

Monday, January 13, 2014

Comment utiliser ILDASM ?

Un tutoriel nous expliquant le fonctionnement de l'outil ILDASM.exe qui permet  de voir le contenu d'un assembly pour chacune des classes, méthodes du framework .NET

http://www.rapidprogramming.com/tutorial/How-to-Use-ILDASM--450


Friday, January 3, 2014

Port 80 utilisé par Microsoft-HTTPAPI/2.0

Wamp ne démarre pas et testant votre port 80, vous avez ce message d'erreur :

Votre port 80 est occupé par Microsoft-HTTPAPI/2.0
Il vous faut donc arrêter le service ReportServer - SQL Server Reporting Services (MSSQLSERVER) afin de résoudre ce problème. En ligne de commande, exécuter :

NET STOP ReportServer

Thursday, January 2, 2014

Comment télécharger un fichier à partir d'un tableau de byte en C#

Page.aspx

<asp:GridView ID="GridViewTest" runat="server" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:BoundField DataField="Key" AccessibleHeaderText="Key" HeaderText="Key"/>
<asp:BoundField DataField="Value" AccessibleHeaderText="Value" HeaderText="Value" />
<asp:ButtonField AccessibleHeaderText="Test" HeaderText="Bouton" Text="Bouton" CommandName="DownloadFile" ButtonType="Button" />
</Columns>
</asp:GridView>

Page.aspx.cs

Le rôle de l'objet Response est de permettre de créer la réponse HTTP qui va être envoyée au navigateur, c'est-à-dire la page Web demandée par le client.

 protected void Page_Load(object sender, EventArgs e)
 {
    List<string> names = new List<string>();
    Dictionary<string,string> dico = new     Dictionary<string,string>();
    dico.Add("libelle","exemplelibelle");
    GridViewTest.DataSource = dico;
    GridViewTest.DataBind(); 
 }

 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
 {
    if (e.CommandName == "DownloadFile")
       {
         Response.ClearHeaders();
         Response.Clear();
         Response.Expires = 0;
         Response.Buffer = true;

         Response.AddHeader("Content-Disposition", "attachment; filename=download.txt");
         Response.ContentType = "text/plain";
                
Response.BinaryWrite(getImageByte("C:\\test\\file.txt"));
         Response.End();
        }
 }

 private byte[] getImageByte(String filename)
 {
    byte[] buffer = null;
    try
    {
       FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
       BinaryReader binaryreader = new BinaryReader(fs);
       long totalbytes = new FileInfo(filename).Length;
       buffer = binaryreader.ReadBytes((Int32)totalbytes);
       fs.Close();
       fs.Dispose();
       binaryreader.Close();

       return buffer;
     }
    catch (Exception e)
     {
       log.Error("ERREUR : " + e.ToString());
     }

       return null;
 }