marți, 31 martie 2009

UML

UML Free Tool : http://bouml.free.fr/index.html

Some more uml tools : http://plg.uwaterloo.ca/~migod/uml.html

miercuri, 25 martie 2009

Free Icons

Un site care ofera icon-uri free, fara a mentiona de restrictii de licenta :http://www.freeicons.dk/

El Grande Comandante


Criptarea parolelor in php

Criptarea in php este necesara pentru ca nu este indicat s afie tinute in bazele de date (spre exemplu MySql) parole in clar. In cazul unei brese de securitate, o persoana neautorizata ar putea sa citeasca bazele de date (si parolele retinute in clar).
Linkuri unde se poate citi despre metode de criptare:

Retinerea in baza de date a nuei parole care este criptata (printr-un algoritm ireversibil, aventual, sau foarte apropiat de asta), implica faptul ca atunci cand un user ar cere sa reprimeasca o parola uitata, singura posibilitate a administratorului ar fi sa schimbe parola si sa trimita noua parola.

miercuri, 18 martie 2009

Cateva functii php interesante

Pentru a modifica din cod fisierul PHP.ini :

ini_set("SMTP","your.Smtp.Server");

ini_set("smtp_port","25");

marți, 10 martie 2009

Java Hibernate

Home site : http://www.hibernate.org/
Hibernate este o librarie ORM()Object-Relational Mapping) pentru limlajul Java, folosind la maparea modelului orientat pe obiecte peste bazele de date relationale.
Aceasta tehnologie este gratuita si open source, distribuita sub licenta GNU Lesser General Public License.
Principala caracteristica a Hibernate este maparea intre clasele Java si tabelele bazelor de date precum si intre tipurile de date Java si SQL. Hibernate pune la dispozitie posibilitatea redactarii de query-uri si data-retrieval. Salvarea datelor (reprezentate prin clase) intr-un spatiu de storare se numeste persistenta.



Pentru mai multe informatii privind aceasta tehnologie (mapare, presistenta, HQL, integrare si aplicatii), consultati http://en.wikipedia.org/wiki/Hibernate_(Java).

Un exemplu simplu pentru inceperea acomodarii cu Hibernate puteti gasi la http://www.javaworld.com/javaworld/jw-10-2004/jw-1018-hibernate.html.

Inca un prim exemplu de hibernate, impreuna cu explicatii suplimentare, se poate gasi la adresa : http://www.laliluna.de/first-hibernate-example-tutorial.html

luni, 9 martie 2009

Secure PHP login script

Iar pentru a fi atent la ce Nu trebuie sa faci, citeste mai multe despre SQL injection:

miercuri, 18 februarie 2009

Cum sa procesezi fisiere Word si Excel in Java

Ceea ce am vrut sa realizez este extragerea unor informatii aflate intr-un tabel Excel si crearea pe baza lor a unui fisier Word cu un rezumat al acestora.

Fisierele Word si Excel sunt salvate in formatul Microsoft numit OLE (Object Linking and Embedding). Ele pot fi accesate din Java in mai multe moduri, insa eu voi vorbi despre biblioteca de functii POI (http://poi.apache.org/).
POI, prescurtarea pentru Poor Obfuscation Implementation, este un proiect startat de apache.

La linkul http://www.apache.org/dyn/closer.cgi/poi/release/ este disponibil spre a fi downloadat ultimul release, care odata inclus in Build-Path-ul proiectului la care lucrati, va furniza accesul la clasele specializate de procesare a fisierelor in formatul specific MS Office.

Terminologia POI:



  • POIFS (Poor Obfuscation Implementation File System): Java APIs for reading and writing
  • OLE (Object Linking and Embedding) 2 compound document formats.
  • HSSF (Horrible Spreadsheet Format): Java API to read Microsoft Excel.
  • HDF (Horrible Document Format): Java API to read and write Microsoft Word 97.
  • HPSF (Horrible Property Set Format): Java API for reading property sets using (only) Java.
Pentru a procesa un document Excel in scopul extragerii informatiilor din mai multe spreadsheeturi, procesand fiecare celula in parte, secventa de cod este :

import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFRow;


...


POIFSFileSystem fs;

HSSFWorkbook wb;

InputStream input;

InputStream input = ExcelReader.class.getResourceAsStream(file );

try {
fs = new POIFSFileSystem( input );
}catch(Exception e){
e.printStackTrace();
System.exit(0);
}


try {
wb = new HSSFWorkbook(fs);
}catch(Exception e){
e.printStackTrace();
System.exit(0);
}


int number_of_sheets = wb.getNumberOfSheets();

for(int i =0; i!=number_of_sheets;i++){

HSSFSheet sheet = wb.getSheetAt(i);

Iterator rows = sheet.rowIterator();

while( rows.hasNext() ) {

HSSFRow row = (HSSFRow) rows.next();

Iterator cells = row.cellIterator();

while( cells.hasNext() ) {

HSSFCell cell = (HSSFCell) cells.next();

switch ( cell.getCellType() ) {

case HSSFCell.CELL_TYPE_NUMERIC:

System.out.println( cell.getNumericCellValue() );
//do something
break;

case HSSFCell.CELL_TYPE_STRING:

System.out.println( cell.getStringCellValue() );
//do something
break;


default:

System.out.println( "unsuported sell type" );
//do something
break;


}//end while cell

}//end while row

}//end for each sheet


...


Pentru exemplul de mai sus am folosit un build-ul poi-2.5.1-final-20040804.jar. Ultima versiune disponibila in acest moment este poi-bin-3.2-FINAL-20081019.tar.


Scrierea textului extras in Word se poate face tot cu ajutorul POI. Exemplul clasic se gaseste la adresa urmatoare: http://mail-archives.apache.org/mod_mbox/poi-dev/200311.mbox/%3C6.0.0.22.2.20031113134659.01e6d680@mail.jahia.com%3E


O alta metoda este folosirea clasei OutputStreamWriter pentru scrierea unui document
:

FileOutputStream fs = new FileOutputStream(file);

OutputStreamWriter out = new OutputStreamWriter(fs);

out.write("Orice propozitie doresti");

O varinata simpla de obtinere a unui document Word formatat fara prea multa bataie de cap (fara a folosi clase speciale), este sa se scrie intr-un fisier cu extensia HTML ca in orice alt fisier text, informatia dorita cu format. Dupa scrierea infoamatiilor formatate HTML, se poate face copy din acest document deschis in browser, intr-un nou document Word. Din ce am observat, formatul se pastreaza. Avantajul este ca formatarea HTML este simpla (de exemplu un tabel se poate crea folosind doar tagurile table, tr sau td

Pentru formatarea HTML, un tutorial gasiti la adresa http://www.w3schools.com/html/default.asp.

Spor!

vineri, 6 februarie 2009

Barcelona, Here we come

Linkuri spre locatii de pe web ce contin harti sau informatii utile dpdv turistic :

joi, 29 ianuarie 2009

harta bucuresti

http://www.norc.ro/ - o harta a bucurestiului cu poze pentru fiecare bucatica

miercuri, 28 ianuarie 2009

save as dialog

http://board.flashkit.com/board/archive/index.php/t-620980.html - forum despre fortarea aparitiei unui save as dialog in php

joi, 15 ianuarie 2009

Documentatie filtre aplicate pe imagini

Adrese:

marți, 13 ianuarie 2009

Program Java pentru manipulat imagini

Loock into:

luni, 12 ianuarie 2009

Test de inteligenta!

Buna,

Am pus pe site un test de inteligenta. Are 10 intrebari, este challenging, cu probleme care verifica mai multe tipuri de inteligenta. Contine intrebari de atentie, perspicacitate sau din tehnica. Rezultatele testului le primiti instantaneu, pe masura ce il rezolvati. Enjoy :) Link aici http://interfete-web.dap.ro/quiz3.html

Aici puteti comenta intrebarile, va stau la dispozitie pentru analizarea raspunsurilor, sugestii, reclamatii

Sysinternals

Sysinternals este o suita extrem de folositoare pentru rezolvarea problemelor de Windows, paleta larga de programe prezenta usureaza munca oricarui administrator de sistem in Windows.
Cititi articolul de pe site si va veti convinge!

JavaScript Highlighting

Nu e nevoie decat de cateva expresii regulate generate dinamic pentru a face o cautare si un highlight pe o pagina html :D . Mai multe detalii aici !

joi, 8 ianuarie 2009

Javascript Libraries

Pentru efecte spectaculoase in pagini web, in lipsa de timp si de dorinta de a scrie calupuri mari de cod care sa faca treaba, puteti alege sa folositi librarii de functii javascript, disponibile pe internet, destinate diferitelor arii de interes. De la manipularea si validarea datelor de intrare ale unei aplicatii web, pana la complicate efecte grafice, totte pot fi disponibile instantaneu si fara un mare efort de programare.
Aici este un exemplu de puzzle javascript construit cu ajutorul unei librarii de javascript destinata siturilor web 2.0, in doar 8 linii de cod : http://wiki.github.com/madrobby/scriptaculous/puzzle-demo.
O alte sugestie este http://mochikit.com/ , "makes javascript suck less :D", dar preferata mea ramane The Yahoo! User Interface Library (YUI). YUI (http://developer.yahoo.com/yui/) este o librarie bogata scrisa in javascript si disponibila pentru download, de la yahoo.Iar partea cea mia buna e ca documentatia este foarte nogata, suplimentata cu exemple si forumuri astefel incat folosirea ei sa fie cat mai usoara si la obiect.
So, have fun cu javascript.

miercuri, 7 ianuarie 2009

Javascript - linkuri folositoare

Exemple de situri cu exemple si tutoriale JavaScript:

vineri, 19 decembrie 2008

Tehnologii Web : Java Applet-ul

Un applet este o suprafata de afisare ce se poate insera intr-o pagina Web si se poate gestionata printr-un program Java.
Un applet este o aplicatie Java. Clasa lui principala extinde clasa Applet. Un exemplu de schelet pentru codul unui Applaet este:



import java.applet.Applet;


import java.awt.*;

import java.awt.event.*;

public class SchletApplet extends Applet {


public void init() { }

public void start() { }

public void stop() { }

public void destroy() { }


public void paint(Graphics g) { }}


Pentru a insera un applet intr-o pagina HTML e nevoie sa se insereze in sectiunea body codul de de includere a unui applet.
Parametrii din pagina HTML se pot accesa din programul Java cu ajutorul functiei getParameter(nume_parametru).

Ciclul de viata a unui applet e constituit din urmatoarele faze:

  • Incarcarea in memorie = crearea instantei Applet
  • Initializarea = Este apelata metoda init rezultand in initializarea variabilelor, citirea unor parametri de intrare, etc.
  • Pornirea = apelarea metodei
  • Executia propriu-zisa = rularea aplicatiei
  • Oprirea temporara = appletul se poate opri temporar cu ajutorul metodelor stop si start
  • Oprirea definitiva = se va apela metoda destroy, apoi stop

Metode (sunt apelate implicit din browser, nu explicit din program)

Linkuri utile :

joi, 18 decembrie 2008

Lisp si Web-ul Semantic






RDF(Resource Description Framework) poate sa se refere la organizarea informatiei de pe web sub forma de graf orientat etichetat(labeled). Exista doua aspecte legate de acest graf :




  • Graph view (“semantic networks”): semi-structured graph data



  • Object-oriented view: objects with properties


Pentru a manevra datele pe net reprezentate in acest mod sau in alte moduri, avem nevoie de un limbaj de programare puternic si flexibil care sa ne faciliteze aceste incercari - LISP .



Părintele său este John McCarthy, iar anul in care a aparut este 1958.


Lisp este considerat ca fiind un limbaj puternic si potrivit temei propuse (inclusiv prelucrari de mari dimensiuni pe grafuri) din urmatoarele motive :




  • este un limbaj functional dens



  • are posibilitetea de a folosi macrouri programabile



  • este interactiv - este un limbaj interpretat



  • permite prelucrări simbolice



  • gestiunea automata a alocării memoriei.



  • permite tehnici elegante de programare : recursivitatea si programarea funcţională



  • este extensibil : s-a folosit un set minimal bine ales de funcţii, cu ajutorul carora limbajul poate fi extins.



  • este universal - se pot exprima şi rezolva toate problemele rezolvate algoritmic.



  • datele şi programele numita expresie simbolica, uniforma



  • este usor de invatat
Aceste avantaje contracareaza limitarile sale (consumul mare de resurse si viteza mica de executie).


Alaturi de Prolog este considerat Limbajul Inteligentei Artificiale si este potrivit pentru dezvoltarea conceptelor din Web-ul Semantic.

Yellow Puppies Blogger Template | Template Design | Elque 2008