sâmbătă, 13 ianuarie 2018

Programare - Secvențe și Exemple


Installing Python 3 on Linux


This document describes how to install Python 3.6 on Ubuntu Linux machines.
To see which version of Python 3 you have installed, open a command prompt and run
$ python3 --version
If you are using Ubuntu 16.10 or newer, then you can easily install Python 3.6 with the following commands:
$ sudo apt-get update
$ sudo apt-get install python3.6
If you’re using another version of Ubuntu (e.g. the latest LTS release), we recommend using the deadsnakes PPA to install Python 3.6:
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.6
If you are using other Linux distribution, chances are you already have Python 3 pre-installed as well. If not, use your distribution’s package manager. For example on Fedora, you would use dnf:
$ sudo dnf install python3
Note that if the version of the python3 package is not recent enough for you, there may be ways of installing more recent versions as well, depending on you distribution. For example installing the python36 package on Fedora 25 to get Python 3.6. If you are a Fedora user, you might want to read about multiple Python versions available in Fedora.

Working with Python 3

At this point, you may have system Python 2.7 available as well.
$ python
This will launch the Python 2 interpreter.
$ python3
This will launch the Python 3 interpreter.
Python 2.7.9 and later (on the python2 series), and Python 3.4 and later include pip by default.
To see if pip is installed, open a command prompt and run
$ command -v pip
To install pip, follow the official pip installation guide - this will automatically install the latest version of setuptools.
Note that on some Linux distributions including Ubuntu and Fedora the pip command is meant for Python 2, while the pip3 command is meant for Python 3.
$ command -v pip3


How to Download and Install Python 3.6 on Windows 10 

Cum se instalează Python pe Windows

Python nu vine preambalat cu Windows, dar asta nu înseamnă că utilizatorii Windows nu vor găsi limbajul de programare flexibil util. Nu este chiar atât de simplu ca instalarea celei mai noi versiuni, deci asigurați-vă că obțineți instrumentele potrivite pentru sarcina la îndemână.
Primul lansat în 1991, Python este un popular limbaj de programare la nivel înalt utilizat pentru programarea generală. Datorită unei filozofii de design care accentuează lizibilitatea, aceasta a fost mult timp un favorit al programatorilor de hobby și al programatorilor grave. Nu numai că este un limbaj ușor (comparativ vorbind, că este) de a ridica, dar veți găsi mii de proiecte online care necesită ai instalat Python pentru a utiliza programul.
Versiunea pe care o doriți depinde de scopul final. Să spunem, de exemplu, că ați citit articolul despre extinderea lumii Minecraft cu MCDungeon  și suntețiîncântați să adăugați lucruri reci în lumile voastre. Proiectul este codificat în Python și necesită Python 2.7 - nu puteți rula proiectul MCDungeon cu Python 3.6. De fapt, dacă explorați proiecte de hobby ca MCDungeon, veți găsi că aproape toți aceștia utilizează 2.7. Dacă obiectivul dvs. este să obțineți un proiect care se termină într-o extensie ".py", atunci există o   sansă foarte bună, veți avea nevoie de 2.7 pentru aceasta.


NCURSES Programming HOWTO 

A Word about Windows

 Before we plunge into the myriad ncurses functions, let me clear few things about windows. Windows are explained in detail in following sections . A Window is an imaginary screen defined by curses system. A window does not mean a bordered window which you usually see on Win9X platforms. When curses is initialized, it creates a default window named stdscr which represents your 80x25 (or the size of window in which you are running) screen. If you are doing simple tasks like printing few strings, reading input etc., you can safely use this single window for all of your purposes. You can also create windows and call functions which explicitly work on the specified window.  For example, if you call

    printw("Hi There !!!");
    refresh();
It prints the string on stdscr at the present cursor position. Similarly the call to refresh(), works on stdscr only.
Say you have created windows then you have to call a function with a 'w' added to the usual function.

    wprintw(win, "Hi There !!!");
    wrefresh(win);
As you will see in the rest of the document, naming of functions follow the same convention. For each function there usually are three more functions.

    printw(string);        /* Print on stdscr at present cursor position */
    mvprintw(y, x, string);/* Move to (y, x) then print string     */
    wprintw(win, string);  /* Print on window win at present cursor position */
                           /* in the window */
    mvwprintw(win, y, x, string);   /* Move to (y, x) relative to window */
                                    /* co-ordinates and then print         */
Usually the w-less functions are macros which expand to corresponding w-function with stdscr as the window parameter.


Introduction
In the olden days of teletype terminals, terminals were away from computers and were connected to them through serial cables. The terminals could be configured by sending a series of bytes. All the capabilities (such as moving the cursor to a new location, erasing part of the screen, scrolling the screen, changing modes etc.) of terminals could be accessed through these series of bytes. These control seeuqnces are usually called escape sequences, because they start with an escape(0x1B) character. Even today, with proper emulation, we can send escape sequences to the emulator and achieve the same effect on a terminal window.

Suppose you wanted to print a line in color. Try typing this on your console.
echo "^[[0;31;40mIn Color"

The first character is an escape character, which looks like two characters ^ and [. To be able to print it, you have to press CTRL+V and then the ESC key. All the others are normal printable characters. You should be able to see the string "In Color" in red. It stays that way and to revert back to the original mode type this.
echo "^[[0;37;40m"

Now, what do these magic characters mean? Difficult to comprehend? They might even be different for different terminals. So the designers of UNIX invented a mechanism named termcap. It is a file that lists all the capabilities of a particular terminal, along with the escape sequences needed to achieve a particular effect. In the later years, this was replaced by terminfo. Without delving too much into details, this mechanism allows application programs to query the terminfo database and obtain the control characters to be sent to a terminal or terminal emulator.

Compiling With the NCURSES Library

To use ncurses library functions, you have to include ncurses.h in your programs. To link the program with ncurses the flag -lncurses should be added.

    #include <ncurses.h>
    .
    .
    .

    compile and link: gcc <program file> -lncurses
Example 1. The Hello World !!! Program

#include <ncurses.h>

int main()
{ 
 initscr();   /* Start curses mode     */
 printw("Hello World !!!"); /* Print Hello World    */
 refresh();   /* Print it on to the real screen */
 getch();   /* Wait for user input */
 endwin();   /* End curses mode    */

 return 0;
}

An Example
Let's write a program which will clarify the usage of these functions.
Example 2. Initialization Function Usage example


#include <ncurses.h>

int main()
{ int ch;

 initscr();   /* Start curses mode   */
 raw();    /* Line buffering disabled */
 keypad(stdscr, TRUE);  /* We get F1, F2 etc..  */
 noecho();   /* Don't echo() while we do getch */

     printw("Type any character to see it in bold\n");
 ch = getch();   /* If raw() hadn't been called
      * we have to press enter before it
      * gets to the program   */
 if(ch == KEY_F(1))  /* Without keypad enabled this will */
  printw("F1 Key pressed");/*  not get to us either */
     /* Without noecho() some ugly escape
      * charachters might have been printed
      * on screen   */
 else
 { printw("The pressed key is ");
  attron(A_BOLD);
  printw("%c", ch);
  attroff(A_BOLD);
 }
 refresh();   /* Print it on to the real screen */
     getch();   /* Wait for user input */
 endwin();   /* End curses mode    */

 return 0;
}
This program is self-explanatory. But I used functions which aren't explained yet. The function getch() is used to get a character from user. It is equivalent to normal getchar() except that we can disable the line buffering to avoid <enter> after input. Look for more about getch()and reading keys in the key management section . The functions attron and attroff are used to switch some attributes on and off respectively. In the example I used them to print the character in bold. These functions are explained in detail later.

NCURSES Programming HOWTO


Table of Contents
1. Introduction
1.1. What is NCURSES?
1.2. What we can do with NCURSES
1.3. Where to get it
1.4. Purpose/Scope of the document
1.5. About the Programs
1.6. Other Formats of the document
1.7. Credits
1.8. Wish List
1.9. Copyright
2. Hello World !!!
2.1. Compiling With the NCURSES Library
2.2. Dissection
3. The Gory Details
4. Initialization
4.1. Initialization functions
4.2. raw() and cbreak()
4.3. echo() and noecho()
4.4. keypad()
4.5. halfdelay()
4.6. Miscellaneous Initialization functions
4.7. An Example
5. A Word about Windows
6. Output functions
6.1. addch() class of functions
6.2. mvaddch(), waddch() and mvwaddch()
6.3. printw() class of functions
6.4. addstr() class of functions
6.5. A word of caution
7. Input functions
7.1. getch() class of functions
7.2. scanw() class of functions
7.3. getstr() class of functions
7.4. Some examples
8. Attributes
8.1. The details
8.2. attron() vs attrset()
8.3. attr_get()
8.4. attr_ functions
8.5. wattr functions
8.6. chgat() functions
9. Windows
9.1. The basics
9.2. Let there be a Window !!!
9.3. Explanation
9.4. The other stuff in the example
9.5. Other Border functions
10. Colors
10.1. The basics
10.2. Changing Color Definitions
10.3. Color Content
11. Interfacing with the key board
11.1. The Basics
11.2. A Simple Key Usage example
12. Interfacing with the mouse
12.1. The Basics
12.2. Getting the events
12.3. Putting it all Together
12.4. Miscellaneous Functions
13. Screen Manipulation
13.1. getyx() functions
13.2. Screen Dumping
13.3. Window Dumping
14. Miscellaneous features
14.1. curs_set()
14.2. Temporarily Leaving Curses mode
14.3. ACS_ variables
15. Other libraries
16. Panel Library
16.1. The Basics
16.2. Compiling With the Panels Library
16.3. Panel Window Browsing
16.4. Using User Pointers
16.5. Moving and Resizing Panels
16.6. Hiding and Showing Panels
16.7. panel_above() and panel_below() Functions
17. Menus Library
17.1. The Basics
17.2. Compiling With the Menu Library
17.3. Menu Driver: The work horse of the menu system
17.4. Menu Windows
17.5. Scrolling Menus
17.6. Multi Columnar Menus
17.7. Multi Valued Menus
17.8. Menu Options
17.9. The useful User Pointer
18. Forms Library
18.1. The Basics
18.2. Compiling With the Forms Library
18.3. Playing with Fields
18.4. Form Windows
18.5. Field Validation
18.6. Form Driver: The work horse of the forms system
19. Tools and Widget Libraries
19.1. CDK (Curses Development Kit)
19.2. The dialog
19.3. Perl Curses Modules CURSES::FORM and CURSES::WIDGETS
20. Just For Fun !!!
20.1. The Game of Life
20.2. Magic Square
20.3. Towers of Hanoi
20.4. Queens Puzzle
20.5. Shuffle
20.6. Typing Tutor
21. References



Un alt mod în care puteți folosi Python în Linux este prin IDLE (mediul de dezvoltare integrat Python), o interfață grafică de utilizator pentru scrierea codului Python. Înainte de instalare, este o idee bună să efectuați o căutare pentru a afla care sunt versiunile disponibile pentru distribuția dvs.:
# aptitude search idle     [Debian and derivatives]
# yum search idle          [CentOS and Fedora]
# dnf search idle          [Fedora 23+ version]
$ sudo aptitude install idle-python3.2     # Folosesc Linux Mint 13
După instalare, veți vedea următorul ecran după lansarea IDLE . În timp ce seamănă cu shell-ul Python, puteți face mai mult cu IDLE decât cu shell-ul.

python-parrot 1.0.0

Parrot este un server HTTP simplu care răspunde la cererile cu un nume de fișier specificat
Ultima versiune: 1.0.2
parrot este un server HTTP simplu care răspunde la orice solicitare GET validă cu fișierul specificat pe linia de comandă.
Este utilă în timpul testelor (de exemplu, pentru a șterge o aplicație de server) sau pentru a efectua testarea clientului. Atât fișierele text cât și fișierele binare sunt difuzate corect.
Singura ei dependență este biblioteca excelentă de magie python pentru ghicitul de tip mime. Funcționează pe Python 3.
$ pip install python-parrot

Usage

$ parrot port filename
The following arguments are required:
  • port: Port to listen on
  • filename: Filename of the data to send in response to all requests










MathJax / mhchem Manual

Mhchem este un instrument de scriere a ecuațiilor chimice frumoase cu ușurință.
Acesta este manualul pentru sintaxa de intrare a lui mhchem.
Acesta acoperă versiunea 3.2.x a lui MathJax / mhchem.
mhchem este o extensie terță parte pentru MathJax . Pentru informații despre cum să încărcați extensia și să faceți \cecomanda disponibilă, consultați documentele oficiale MathJax . Pe scurt, utilizați această config:



MathJax.Ajax.config.path["mhchem"] =
  "https://cdnjs.cloudflare.com/ajax/libs/mathjax-mhchem/3.2.0";
MathJax.Hub.Config({
  TeX: {
    extensions: ["[mhchem]/mhchem.js"]
  }
});

ecuațiile chimice (ce)
C O 2+C⟶2C OCOX2+C⟶2CO
$\ce{CO2 + C -> 2 CO}$

H g 2 +-→I -H g I 2-→I -[ H g I - amI 4] 2 -HgX2+→euX-HgeuX2→euX-[HgXeueueuX4]X2-
$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$





duminică, 7 octombrie 2012

SEO - OPTIMIZAREA PAGINII WEB


Optimizarea on-site sau on-page este una dintre cele mai importante parti ale optimizarii pentru motoarele de cautare si trebuie sa fie facuta ok atat pentru motoarele de cautare, cat si pentru oamenii ce va vor citi site-ul. Bineinteles ca in functie de tipul site-ului (e-commerce, blog, site de prezentare etc…) , structura acestuia va fi diferita, insa va trebui sa aiba multe din urmatoarele elemente prezente.

    Motoarele de căutare sînt programate să utilizeze în mod optim baza de date obţinută de roboţii tîrîtori (indexatori) care analizează conţinutul paginilor de pe internet. Scopul lor este să prezinte foarte rapid internauţilor liste cu pagini web în care primele locuri să fie ocupate de pagini cu un conţinut informativ şi util pentru tema căutată. Deci algoritmul de sortare a paginilor trebuie să fie foarte bine conceput, pentru că el are rolul de a sorta mii sau zeci de mii de pagini într-un timp foarte scurt şi cu un rezultat care să fie pe placul internauţilor.
    Un robot tîrîtor nu vede paginile web aşa cum le văd oamenii, el acordă o importanţă covîrşitoare textului unei pagini, fără a fi impresionat deloc de aspectul ei grafic. Ca urmare, bazele de date ale motoarelor de căutare conţin pagini indexate după conţinutul lor scris şi nu după cel grafic. Acest conţinut scris este cel care dă 70% din relevanţa unei pagini web, restul de 30% fiind dat de optimizarea ("cosmetizarea") paginii web.
    Sarcina lingviştilor şi a matematicienilor implicaţi în dezvoltarea motoarelor de căutare a stat tocmai în crearea şi optimizarea unui algoritm care să poată să ordoneze un număr mare de pagini web în funcţie de utilitatea conţinutului lor scris. În mod evident, unele din caracteristicile algoritmului nu sînt uşor de sesizat de către persoanele care nu au lucrat la el. Alte caracteristici pot fi însă deduse analizînd paginile web care apar în mod constant pe primele locuri ale listelor generate de motoarele de căutare.
    Este uşor de intuit faptul că algoritmul favorizează paginile web care au un conţinut mai mare de text, pentru că se consideră că aceste pagini conţin multă informaţie, iar internauţii caută în mod special această caracteristică a paginilor web. Nu se ştie precis cum este evaluat de către un anumit algoritm conţinutul de text al unei pagini, dar este foarte posibil să fie luat în calcul numărul de caractere (litere) din pagină, aşa cum a fost calculat de robotul tîrîtor care a indexat pagina. Asta nu înseamnă că paginile umplute cu text pînă la refuz au un succes garantat în ce priveşte aprecierea lor de către motoarele de căutare. Trebuie să ţinem cont şi de alte aspecte, cum este de exemplu calitatea expunerii informaţiilor din textul respectiv.
    Paginile cu mult text sînt pe placul algoritmilor de căutare, dar oamenii sînt mai rafinaţi, ei preferă de cele mai multe ori o cantitate rezonabilă de text şi care în plus trebuie să fie interesant, util, bine scris şi formatat în aşa fel încît să fie plăcut de citit. Un alt aspect care nu trebuie neglijat este actualizarea periodică a conţinutului sitului şi adăugarea de noi materiale.
    Atunci cînd scriem textul dintr-o pagină trebuie să ne asigurăm că folosim inclusiv sinonime pentru cuvintele-cheie şi de asemenea că folosim şi variante mai puţin folosite ale acestora. De exemplu într-o pagină web care tratează un subiect despre siturile web (găzduire de ex.) trebuie folosit în principal cuvîntul "sit", dar trebuie pusă în paranteză şi varianta "site", încă destul de folosită, deşi este incorectă. În acest fel dacă un internaut va căuta paginile care conţin sintagma "găzduire site web", avem toate şansele ca şi pagina noastră care tratează acest subiect să fie luată în seamă de motorul de căutare pentru includerea pe lista rezultatelor căutării.

sâmbătă, 6 octombrie 2012

PROMOVARE SITE


PROMOVAREA UNUI SIT WEB
 
Orice webmaster vrea, fie că o recunoaşte deschis sau nu, ca situl său să fie vizitat de cît mai mulţi internauţi şi dacă se poate, cît mai des. Această dorinţă (care ţine de considerente financiare sau de ego) nu este însă realizabilă decît dacă webmasterul şi toţi ceilalţi implicaţi în administrarea sitului depun un efort constant pentru a menţine conţinutul şi aspectul sitului cît mai aproape de cerinţele internauţilor. Succesul unui sit, ca de altfel al oricărui produs, se datorează în mare măsură şi modului în care este promovat, cu alte cuvinte marketingul este aproape la fel de important ca şi calitatea unui produs.

   În această lume a internetului încă foarte tînără, experţii în crearea de situri Web sau redactorii de articole interesante nu sînt de obicei şi experţi în marketing. Tocmai din această cauză promovarea eficientă a unui sit web este făcută de cele mai multe ori de către profesionişti. Aceştia îşi oferă serviciile contra cost şi la ei apelează companiile care vor să-şi construiască o prezentă importantă pe internet. Sumele investite în marketingul profesional sînt impresionante şi în permanentă creştere de la an la an.

   O caracteristică a Internetului este că acesta, în calitatea sa de spaţiu virtual permite oricărui internaut să-şi construiască un sit web, existînd, spre deosebire de spaţiul real, destul loc pentru toată lumea. Mai mult, internautul respectiv nu trebuie să aibă cunoştinţe avansate de limbaj HTML sau să plătească vreun ban pentru locul de pe Internet unde vrea să-şi construiască situl (se exclud bineînţeles cheltuielile legate de conectare şi cele datorate operatorului de telefonie). Există în momentul de faţă poate zeci de milioane de situri în toată lumea, cele mai multe dintre ele aparţinînd unor internauţi obişnuiţi şi nu unor companii sau instituţii.

   Siturile mici sînt însă potenţiale surse de cîştig material pentru proprietari, pentru că există companii interesate să cumpere spaţiu publicitar chiar şi pe siturile mici, cu condiţia ca acestea să fie vizitate des. Un sit bine făcut şi care şi-a dobîndit deja o "clientelă" de internauţi constantă poate fi la un moment dat cumpărat pentru o sumă importantă de către o companie mult mai mare, existînd în plus posibilitatea ca administratorii sitului să-şi păstreze locurile de muncă pentru a continua să menţină şi să îmbunătăţească situl.

   Ţinînd cont de faptul că internauţii romani care sînt în acelaşi timp şi webmasteri vor să le fie vizitate siturile, ei trebuie să înveţe să-şi facă singuri activitatea de marketing, pentru că nu au mijloacele financiare necesare pentru apelarea la specialişti. Multe firme rumîneşti care vor să aibă situri web de succes sînt în aceeaşi situaţie, din cauza dificultăţilor financiare neputînd fi luată în discuţie cumpărarea de spaţiu publicitar pe internet sau angajarea unor specialişti în marketing. Greul promovării sitului cade astfel pe umerii webmasterului, transformat peste noapte şi în responsabil cu marketingul.

   În cele ce urmează vor fi prezentate metodele prin care orice internaut poate să-şi promoveze situl, fără a fi nevoit să apeleze la profesionişti.
    Metodele cele mai eficiente de promovare a unui sit sînt următoarele:
  • 1) Optimizarea sitului web pentru indexarea adecvată de către motoarele de căutare
  • 2) Înscrierea sitului în cataloagele de adrese ale portalurilor internaţionale şi rumîneşti
  • 3) Promovarea sitului pe forumurile on-line sau în grupurile de discuţii
  • 4) Participarea la clasamentele siturilor care fac topuri
Să presupunem că dorim să construim un sit pentru firma pe care o deţinem. Aceasta pune în vînzare biciclete (noi şi la mîna a doua) şi piese de schimb, dar în acelaşi timp oferă şi servicii de reparare a unor biciclete care au fost vîndute sau nu de firmă. Dorim să alcătuim un sit care să fie mixt, adică să aibă o parte comercială şi una de informare.

   Primul pas este să alegem un domeniu pentru situl firmei. Este indicat să cumpărăm un domeniu cu nume sugestiv, de exemplu putem folosi cuvîntul "biciclete" şi să alegem unul din domeniile  http://www.biciclete.ro sau http://www.biciclete.com. Dacă acestea au fost deja cumpărate, putem alege un domeniu care se termină în NET (http://www.biciclete.net), BIZ, etc. În cazul puţin probabil în care toate domeniile au fost deja cumpărate, putem încerca diverse variante de cuvinte compuse, de exemplu "super-biciclete". Numele unui domeniu nu trebuie să conţină spaţii, de aceea dacă vom folosi un cuvînt compus va trebui să folosim o liniuţă pentru a lega părţile sale componente. Al doilea pas care trebuie făcut este să găzduim situl pe un server.

   Pentru ambele iniţiative expuse mai sus (înregistrarea domeniului şi găzduirea sitului), cel mai indicat este să apelăm la serviciile unei companii specializate. În general furnizorii de servicii internet (cei care oferă acces la internet) propun şi servicii de înregistrare şi găzduire de situri. Dacă dorim să comparăm ofertele mai multor companii, putem să căutăm pe internet pagini care conţin sintagmele: "înregistrare domenii web" şi "găzduire situri web" sau să vizităm secţiunile de legături ale portalurilor rumîneşti sau ale catalogului ODP. De asemenea putem să căutăm sintagmele "web domain registration rumania" şi "web hosting rumania".

  În cazul în care nu dorim să investim mulţi bani în situl web, dar dorim să avem o prezenţă pe internet, putem să apelăm la variantele gratuite de înregistrare a unui domeniu web şi de găzduire de situri. O  astfel de variantă este recomandată într-o primă instanţă, pentru a nu investi mulţi bani în ceva (prezenţă pe internet) de care nu sîntem siguri că ne va aduce un profit pe măsura sumelor investite. Totul se rezumă la a ne înregistra la unul din numeroasele situri care propun astfel de servicii.











Serverul - un sistem de gazduire


Ce inseamna server

Toata lumea stie, probabil, ce inseamna Internet: acea colectie uriasa de echipamente legate intre ele in scopul schimbului de informatii sau al furnizarii de servicii. Daca ar fi sa simplificam mult ideea de internet, am putea considera ca acesta este o retea de calculatoare in care fiecare nod (calculator) gazduieste informatii sau servicii ce pot fi accesate de publicul larg. Aceste calculatoare din internet poarta numele de servere.
In sens larg, un server este un dispozitiv (combinatie de hardware si software) care ofera servicii si/sau informatii utilizatorilor (clientilor).
Odata cu notiunea de server apare si cea de arhitectura client-server, care se refera la un ansamblu format dintr-un dispozitiv server (furnizor de informatii) si un dispozitiv (calculator) client, conectate prin intermediul unei retele si care fac schimb de informatii. Cel mai comun exemplu al acestui ansamblu este dat de functionalitatea de partajare a fisierelor in retea (File Sharing). Spre exemplu, un calculator contine un folder partajat (share-uit) si un alt calculator copiaza folderul prin retea. In aceasta situatie, calculatorul care ofera folderul are functia de server iar cel care preia folderul - pe cea de client. Rolul de client/server nu este statornic in acest scenariu, oricare din cele doua calculatoare putand oricand sa detine oricare din functii. Asadar notiunea de server se aplica in momentul in care dispozitivul din retea (calculatorul) ofera informatii sau servicii.

  1.   Ce să mai citim?

  2. Ce să mai citim?

  3. Tatăl fondator al Uniunii Europene.            

  4. Colonizarea de pe Marte !

  5.   Ne pregătim pentru Marte

  6. Colonizarea Marte poate determina umanitatea să-și modifice ADN-ul ?

  7. Cine mai urăște să poarte mască?

Server web

Un tip particular de server, este server-ul web. Un server web este un sistem care gazduieste si ofera pagini web prin intermediul unei retele. De cele mai multe ori, termenul de server web desemneaza a aplicatie, un program care ruleaza pe calculatorul-server si care este responsabil cu primirea cerintelor de la utilizatori si transferarea paginilor web catre ei.

Ce inseamna site?

Paginile stocate pe un calculator-server si oferite publicului larg sunt grupate sub denumirea generica de site. Un site (denumit si website) este, asadar, o colectie de pagini web, interconectate, stocate pe un server web.

Deservirea paginilor

In momentul in care un server web primeste o cerinta de la un utilizator pentru o pagina, se verifica mai intai existenta acesteia. Daca pagina exista fizic pe server atunci este transmisa catre utilizator. Paginile returnate de un server web sunt de obicei in format HTML. Navigatoarele web (browserele) sunt capabile sa interpreteze codul HTML si sa afiseze informatiile intr-un mod usor de citit.
In imaginea de mai jos este reprezentata o comunicare tipica intre un server web si un client.
deservirea paginilor statice
Deservirea unei pagini statice, fara interventia interpretorului
PHP
In lumea reala, paginile deservite de un server web sunt de cele mai multe ori modificate inainte de a fi transmise catre clienti. Exista situatii cand paginile cerute nici nu exista fizic pe calculatorul server si cu toate astea ele sunt construite si deservite la cerere.
Acest lucru este posibil gratie unor module sau aplicatii aditionale care functioneaza impreuna cu aplicatia de server web. Unul din aceste module este PHP.

Initiere microcontrolere

Sistemul de dezvoltare EasyPIC6


MikroElektronika oferă o gamă largă de instrumente de dezvoltare şi produse conexe şi care sigur vor face ca ingineri, studenţi şi alţi utilizatori începători de microcontrolere PIC® să-şi examineze portofelele, economiile sau bugetul — preţul este atractiv! Suntem mândri să vă prezentăm EasyPIC™6, unul dintre kit-urile de dezvoltare de marcă de la MikroElektronika.

DESCRIERE GENERALÃ EASYPIC™6
EasyPIC™6 este un sistem de dezvoltare complet pentru dezvoltarea şi testarea de aplicaţii pentru microcontrolerul PIC®. Acest instrument furnizează o platformă de dezvoltare completă de calitate ridicată care suportă dispozitive PIC® (P10, P12, P16 şi P18). Dispunând de circuite electronice integrate precum: programator USB2.0 cu suport mikroICD, controler Touch Panel, Tastatură, Port Expander, afişaj Serial COG, suport DS1820 şi multe altele, Placa EasyPIC™6 oferă multe funcţii practice pentru ca utilizatorii să dezvolte diverse aplicaţii embedded utilizând cele mai populare componente în produse electronice.

PROGRAMATOR ON-BOARD USB 2.0 CU DEPANATOR IN-CIRCUIT
EasyPIC™6 dispune de un programator PIC® care se poate conecta prin cablu USB la PC-ul dumneavoastră. Circuitul programatorului beneficiază de funcţia importantă de a comuta complet pinii MCLR, PGC şi PGD, astfel ca aceştia să mai poată fi utilizaţi în proiectul dumneavoastră.
Acesta este un sistem excelent care permite utilizarea completă a TUTUROR pinilor PIC® în orice moment, programatorul preluând controlul lor doar în timpul progra­mării, iar totul este complet automat. Programatorul dispune de asemenea un depanator hardware ICD integrat care rulează sub acelaşi conector USB şi este inclus ca standard în toate compilatoarele MikroElektronika pentru PIC.
Programatorul este foarte uşor de utilizat pentru începători. Vă scrieţi codul sursă într-unul din compilatoarele Mikro Elektronika (compilatorul mikroC, mikroBasic sau mikro Pascal PRO) de pe PC-ul dumneavoastră, şi vă progra­maţi PIC® utilizând EasyPIC®6 (în aproximativ 10 se­cunde!!) apoi programul dumneavoastră începe să func­ţioneze instantaneu. Acest lucru permite construirea şi modificarea foarte rapidă a proiectelor.
Notă: Puteţi utiliza orice compilator sau asamblor care produce format hex intel standard şi foloseşte doar softul Windows PICFlash™ gratuit pentru a încărca fişierul .HEX în EasyPIC™6.

  1.   Ce să mai citim?

  2. Ce să mai citim?

  3. Tatăl fondator al Uniunii Europene.            

  4. Colonizarea de pe Marte !

  5.   Ne pregătim pentru Marte

  6. Colonizarea Marte poate determina umanitatea să-și modifice ADN-ul ?

  7. Cine mai urăște să poarte mască?


PERIFERICE ELECTRONICE INTEGRATE
La baza plăcii EasyPIC™6 stă PIC16F887 în capsula sa DIP cu 40 de căi.
Totuşi aceasta se poate înlătura — în afara soclului DIP40, sunt disponibile pe placă şi soclurile DIP20, DIP18, DIP14 şi DIP8 pentru PIC-uri cu număr mai mic de pini. PIC-ul este total accesibil cu toate porturile sale legate nu numai la conectori şi grilele de comutare DIP, dar şi la LED-uri pentru vizualizarea facilă a stărilor logice în timpul rulării programului. Intrarea porturilor digitale este uşor de simulat cu ajutorul a 36 de butoane etichetate cu numele pinilor porturilor. Intrările pot de asemenea fi simulate prin Tastatură 4×4 şi Tastatură Meniu. Măsurarea analogică poate fi realizată cu pinii PIC RA0-RA4 pe capul de pin şi potenţiometrul de pe placă pentru a simula niveluri analogice discrete între 0 şi 5V. Pentru o conectivitate mai mare, placa are conectori RS232, PS/2, USB şi un ICD Extern.

SUPORT PENTRU DIVERSE DISPLAY-URI
În scopul afişării de mesaje vizuale, placa conţine un display serial COG, capabil să afişeze mesaje text. În plus, placa suportă display de caractere LCD 2 × 16 standard. Pentru mesaje vizuale avansate poate fi plasat un LCD Grafic 128 × 64 on-board.
Ca dispozitiv de intrare poate fi utilizat un display LCD Grafic combinat cu panou tactil.

DOCUMENTAÞIE COLOR CUPRINZÃTOARE
Documentaţia color, prezintă toate secţiunile EasyPIC™6 clar explicate cu diagrame color. Există de asemenea şi alte manuale: manuale asupra secţiunii programatorului PICFlash™, a depanatorului şi o diagramă schematică completă. Aceste manuale furnizează o sursă de informaţie care este precisă, clară, cu demonstraţii şi exemple care pot fi puse într-un context de proiecte în viaţa reală, ceea ce face această documentaţie comprehensivă şi uşor de folosit.



void main() {

Lcd_Init();
Lcd_Cmd(LCD_CLEAR);
Lcd_Cmd(LCD_CURSOR_OFF);
Lcd_Out(1, 1, “Temperature:”);
// Print degree character, ‘C’ for centigrades
Lcd_Chr(2, 13, 223);
Lcd_Chr(2, 14, ‘C’);

//--- main loop

MEDIU DE LUCRU INTUITIV
EasyPIC™6 furnizează un mediu de lucru intuitiv, număr mare de periferice cu multe exemple utile, instrumente adiţionale care cresc productivitatea şi facilitează dezvoltarea, suport rapid de încredere şi manuale. Puteţi compara EasyPIC™6 cu orice alt instrument de dezvoltare prezent pe piaţă şi veţi descoperi că un astfel de instrument pentru dezvoltare uşoară nu poate fi găsit nicăieri altundeva. Kit-ul şi instrumentele software furnizate reuşesc reducerea dificultăţilor hardware ajutând la concentrarea asupra software-ului şi înţelegerii şi optimizării codului PIC®.

PLÃCI ACCESORIU
Plăcile accesoriu permit studenţilor sau inginerilor să practice şi să exploreze uşor capabilităţile microcontrolerelor PIC cu dispozitive periferice cum sunt: ADC, DAC, CAN, Ethernet, IrDA, MP3, RS485 şi multe altele.
Utilizarea acestor plăci este destul de simplă. Trebuie doar conectată placa accesoriu, încărcat un exemplu pe microcontrolerul PIC® şi se începe dezvoltarea dispozitivului.

COMPILATOARE INCLUSE
Versiuni DEMO complet funcţionale ale compilatoarelor mikroC PRO pentru PIC®, mikroBasic PRO pentru PIC® şi mikroPascal PRO pentru PIC® sunt expediate cu placa. În versiunea demo, ieşirea hex este limitată la 2k de cuvinte program. Aceste compilatoare vin cu exemple care vă vor arăta cum să conectaţi uşor microcontrolerul PIC® cu alte componente periferice sau dispo­zitive când vă dezvoltaţi dispozitivele prototip. Fiecare exemplu conţine descriere detaliată şi comentarii asupra programului. Codurile de înregistrare pentru aceste compilatoare pot fi obţinute online de la MikroElektronika.

SUPORT TEHNIC GRATUIT PE VIAÞÃ
Ne gândim întotdeauna cu un pas înaintea utilizatorilor noştri pentru a le prezenta cele mai bune soluţii înainte ca aceştia să lanseze problema. MikroElektronika ştie cât de important este să te poţi baza pe cineva în momente grele ale unui proiect, confruntat cu termene limită sau atunci când se doreşte răs­punsul la o simplă întrebare de bază care blo­chează proiectul o vreme. Înţelegem cât de important este acest lucru pentru oameni şi astfel Departamentul nostru de Suport este unul dintre stâlpii de bază ai companiei. MikroElektronika oferă suport tehnic gratuit pe viaţă, astfel că dacă ceva merge prost, vom fi pregătiţi şi doritori să vă ajutăm!

GAMÃ LARGÃ DE MICROCONTROLERE PIC SUPORTATE
SISTEMUL DE DEZVOLTARE EASYPIC™6 SUPORTÃ O GAMÃ LARGÃ DE MICROCONTROLERE CARE NUMÃRÃ PESTE 120 DE MICROCONTROLERE PIC®. MICROCONTROLERELE PIC® NOI LANSATE VOR FI SUPORTATE CU NOI VERSIUNI DE SOFTWARE PICFLASH™, ACTUALIZAT ÎN MOD REGULAT.

CEA MAI MARE VALOARE A BANILOR
LA $139 (PLUS P&P ŞI OPÞIUNI) EASYPIC™6 DÃ O BUNÃ
VALOARE BANILOR. DE ASEMENEA, DACÃ VEÞI COMANDA PLACA CU UNUL DIN CELE PATRU COMPILATOARE (COMPILATORUL mikroC, mikroBASIC SAU mikroPASCAL PRO),
COMPILATOARELE VÃ VOR COSTA CU PÂNÃ LA 25% MAI PUÞIN. CREDEM CÃ ACEASTA REPREZINTÃ CEA MAI BUNÃ VALOARE BANILOR DE PE PIAÞÃ.

Copyright ©2010 MikroElektronika. Toate drepturile rezervate. MikroElektronika, logo-ul MikroElektronika şi alte mărci comerciale MikroElektronika sunt proprietatea MikroElektronika. Toate celelalte mărci comerciale sunt proprietatea respectivilor deţinători.