Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[cli-automation] Add intro #49

Open
wants to merge 2 commits into
base: cli-automation
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions chapters/cli-automation/gmail-templates.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
.. _gmail_templates:

Automatizarea scrierii emailurilor
==================================

Mailul este o formă de comunicare omniprezentă în viața profesională de astăzi.
Putem împărți mailurile pe care le scriem în două categorii:

#. nestructurate: sunt obiective, adresează o problemă, o acțiune specifică și nu respectă un șablon anume
#. generice: promovăm un eveniment, un program de internship, mulțumim celor care ne-au ajutat în organizarea unui eveniment, anunțăm un examen, etc.

Pentru mailurile generice ne putem defini șabloane care au un conținut predefinit pe care apoi putem să îl reutilizăm.
Toți clienții de email oferă această funcționalitate.
Pentru simplicate, în cele ce urmează vom folosi ca exemplu serviciul ``GMail``.

Accesăm serviciul GMail navigând pe adresa ``mail.google.com``.

.. image:: img/gmail-landing.PNG
:align: center
:alt: Pagina principală mail.google.com

Pentru a putea folosi șabloane, mai întâi trebuie să activăm funcționalitatea.
Accesăm *Setările* făcând click pe imaginea "roții dințate".
Aceasta ne va afișa setările rapide.

.. image:: img/gmail-quick-settings.PNG
:align: center
:alt: Pagina principală mail.google.com: setări rapide

Dăm click pe butonul *Vezi toate setările*.

.. image:: img/gmail-all-settings.PNG
:align: center
:alt: Pagina setărilor mail.google.com

Funcția șabloanelor se găsește în tabul setărilor avansate.
Dăm click pe butonul *Avansate*.

.. image:: img/gmail-adv-settings.PNG
:align: center
:alt: Pagina setărilor avansate mail.google.com

În dreptul categoriei *Șabloane* dăm click pe butonul *Activați* și apoi dăm click pe butonul *Salvează modificările*.

.. image:: img/gmail-activate-templates.PNG
:align: center
:alt: Pagina principală mail.google.com

Acum putem salva șabloane, pe care apoi să le refolosim.
Să presupunem că am promovat un eveniment și avem o listă cu adresele de email ale oamenilor care s-au arătat interesați de acest eveniment.
Vrem să dăm un email în care să le cerem oamenilor să acceseze un link pentru a confirma participarea.
Începem prin a compune emailul.

.. image:: img/gmail-compose-template.PNG
:align: center
:alt: Pagina principală mail.google.com

Folosim sintaxa **[Nume]**, **[evenimentul X]**, etc pe post de placeholder; astfel ne va fi mai ușor să identificăm textul pe care vrem să-l completăm cu detaliile specifice evenimentului.
Pentru a salva șablonul dăm click pe cele trei puncte (mai multe opțiuni) din colțul dreapta-jos, click pe *Șabloane*, apoi *Salvează ciorna ca șablon* și în final *Salvează ca șablon nou*.

.. image:: img/gmail-save-template.PNG
:align: center
:alt: Pagina principală mail.google.com

Dăm un nume intuitiv șablonului a.î. să îl putem identifica cu ușurință pe viitor.

.. image:: img/gmail-save-template-name.PNG
:align: center
:alt: Pagina principală mail.google.com

Pentru a folosi șablonul salvat compunem un email nou, dăm click pe cele trei puncte (mai multe opțiuni) din colțul dreapta-jos, click pe *Șabloane*, apoi selectăm șablonul dorit (în acest exemplu: *confirmare-eveniment*).

.. image:: img/gmail-use-template.PNG
:align: center
:alt: Pagina principală mail.google.com

Textul predefinit va fi introdus în corpul emailului, iar numele șablonului va fi folosit ca **Subiectul** emailului.

.. image:: img/gmail-use-template-final.PNG
:align: center
:alt: Pagina principală mail.google.com

Exerciții
"""""""""

#. Numele unui șablon este folosit, în mod automat, pentru câmpul **Subiect**.
Numele folosit anterior (*confirmare-eveniment*) nu este potrivit.
Un nume mai potrivit este *Confirmare participare eveniment*.
Modificați numele șablonului.

#. Textul șablonului de mai devreme începe cu formularea "Salutare, [nume]".
Aceasta presupune că vom trimite câte un email fiecărei persoane în parte, urmând să modificăm *[nume]* cu numele acesteia.
Această abordare ne-ar consuma foarte mult timp.
Preferăm să trimitem un mail mai generic către toți participanții.
Modificați textul șablonului astfel încât acesta să înceapă doar cu "Salutare.".

**Notă:** o greșeală frecventă, atunci când sunt trimise emailuri către liste de oameni, este ca emailul să conțină în câmpul **To:** întreaga listă.
Această abordare nu este O.K. deoarece participantul X a fost de acord să împărtășească adresa lui de email doar cu organizatorii, nu și cu ceilalți participanți.
Modul corect în care trimitem un email către un grup de persoane este folosind câmpul **BCC** (Blind Carbon Copy): persoanele incluse în BCC vor primi emailul, dar nu vor vedea celelalte adrese de email incluse în BCC.

#. Utilizarea șabloanelor este o metodă bună de automatizare a scrierii emailurilor.
O altă metodă utilă este definirea unei semnături.
Aceasta va fi inclusă în mod automat la finalul fiecărui email, ex. "Crunch it, Echipa USO!".
Pentru a creea o semnătură accesați (1) *Setări*, (2) *Vezi toate setările*, (3) în categoria *General* există câmpul *Semnătură*.
Definiți-vă o semnătură folosind butonul *Creează o etichetă nouă*.

#. Atunci când suntem plecați în vacanță, putem activa funcția de *Răspuns automat* a serviciului de email.
Pentru a defini un răspuns automat accesați (1) *Setări*, (2) *Vezi toate setările*, (3) în categoria *General* există câmpul *Răspuns automat*.
Definiți-vă un răspuns automat pentru ziua de astăzi și rugați un coleg să vă dea un email pentru a testa comportamentul.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added chapters/cli-automation/img/gmail-landing.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions chapters/cli-automation/intro.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
.. _cli_automation_intro:

Perspective pentru automatizare
===============================

În acest capitol vom folosi comenzi și noțiuni prezentate în capitolele de până acum, în special :ref:`improve_cli`.
Vor fi puține comenzi nou introduse; cel mai mult ne va interesa cum, dându-se o situație practică, vom putea folosi shell-ul pentru automatizare.

**Automatizarea sarcinilor** se referă la delegarea / degrevarea acțiunilor utilizatorilor către programe în sistemul de calcul.
Un program va face automat, de sine stătător, acțiuni pe care le-ar face utilizatorul, rezultând în timp mai puțin consumat de utilizator.

Acțiunile care sunt candidate pentru automatizare sunt în general acțiuni repetitive, nu foarte simple și neinteractive.
Automatizarea acestora va elibera utilizatorul de la executarea repetată, plictisitoare, manuală a acestora.

Automatizarea sarcinilor urmărește eficiența, în special temporală.
Cu cât face mai rapid acțiuni repetitive, cu atât este mai bine.
Acțiunile repetitive necesită interacțiune minimă cu utilizatorul, pentru a eficientiza timpul.

Când automatizăm, folosim scripting și folosim funcționalități existente.
Un principiu esențial al automatizării este *don't repeat yourself* (**DRY** - nu reinventăm roata).
Dacă există comenzi sau funcționalități existente, le folosim pe acelea.
Altfel spus, urmărim atât eficiența execuției cât și eficiența dezvoltării.

Eficiența execuției o putem realiza nu doar prin scripting ci și prin acțiuni precum:

* folosirea de scurtături de taste
* folosirea funcționalităților de tipul command completion sau history search
* folosirea de alias-uri de comenzi
* folosirea de șabloane pentru căutare de text: globbing sau expresii regulate (regular expressions)
* folosirea de șabloane pentru generare de text: scrierea emailurilor sau scrierea codului (code snippets)
1 change: 1 addition & 0 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ USO lab book
:caption: Automatizarea în linia de comandă

chapters/cli-automation/intro.rst
chapters/cli-automation/gmail-templates.rst
chapters/cli-automation/regex.rst
chapters/cli-automation/scripting-intro.rst
chapters/cli-automation/scripting-advanced.rst
Expand Down