Copiar entrada de text al porta-papers

script

function copiarAlPortaRetalls() {
            var text = document.getElementById("entrada").value;
            console.log("Text a copiar:", text); 
            navigator.clipboard.writeText(text).then(function() {
                alert("Text copiat al porta-retalls!"); });
        }    

function copiarAlPortaRetalls() {
// Declara una funció anomenada copiarAlPortaRetalls.

var text = document.getElementById("entrada").value;
// Obté el valor de l'element HTML amb l'ID "entrada" i l'emmagatzema a la variable 'text'.

console.log("Text a copiar:", text);
// Mostra el text a copiar a la consola del navegador per a depuració.

navigator.clipboard.writeText(text).then(function() {
    // Utilitza l'API del porta-retalls per copiar el text. Si la còpia és exitosa, executa la funció dins del 'then'.

    alert("Text copiat al porta-retalls!");
    // Mostra una alerta a l'usuari indicant que el text s'ha copiat correctament al porta-retalls.
});

}

Variables d’entorn

Clic inici esquerro i cerca “Variables d’entorn” o escriu “Editar variables d’entorn del sistema” i selecciona l’opció. A la finestra Propietats del sistema, fes clic al botó Variables d’entorn… (a la part inferior). A la secció de Variables del sistema, busca i selecciona la variable anomenada ‘Path‘ i fes clic a Editar. A la nova finestra, fes clic a Nou i afegeix la següent ruta:

Les variables d’entorn en un sistema com Windows són valors que poden afectar el comportament dels programes i aplicacions. Aquestes variables són essencials per al sistema operatiu i permeten que les aplicacions es comuniquin entre elles i amb el sistema.

Alguns exemples de variables d’entorn són:

  • %USERNAME%: retorna el nom de l’usuari actualment connectat al sistema.
  • %COMPUTERNAME%: retorna el nom de l’equip.
  • %WINDIR% o %SYSTEMROOT%: directoris d’instal·lació de Windows (generalment “C:\Windows”).

Aquestes variables es poden utilitzar per a tasques de manteniment, creació de scripts o automatització de tasques. També és possible crear les teves pròpies variables d’entorn per personalitzar el sistema segons les teves necessitats.

Publicat dins de DOS

Activar Synology Driver Clent

  1. Configura Synology Drive Client:
    • Obre l’aplicació Synology Drive Client.
    • Fes clic a “Iniciar sessió” i introdueix el QuickConnect ID, l’adreça IP o el nom de domini del teu NAS.
    • Introdueix el teu nom d’usuari i contrasenya del NAS i fes clic a “Següent”.

Vaig a fer una prova: carrego una script

PIP (Python Package Installer)

En el context de Synology, PIP fa referència a “Python Package Installer”. És una eina utilitzada per instal·lar i gestionar paquets de Python.

Per instal·lar el paquet PIP, s’ha de crear en un entorn virtual al directori d’instal·lació, ja que en el directori principal de Synology podria entrar en conflicte. Un entorn virtual és una eina que permet crear un espai aïllat dins del teu sistema on pots instal·lar paquets i dependències específiques per a un projecte de Python, sense afectar altres projectes o el sistema global. Això és especialment útil per gestionar diferents versions de paquets i evitar conflictes entre projectes.

Crear entorn virtual:

  • cd /volume1/web/0-python
  • sudo python3 -m venv ent_virt_mut
  • source ent_virt_mut/bin/activate
  • Si estas al directori

La comanda dependències

crea un entorn virtual, però no instal·la dependències per si mateixa

python3 -m venv ent_virt_mut

Si hi ha, problemes aquesta comanda sebla que ho pot arreglar.

Si ens convingues esborra un espai virtual:

  • sudo rm -rf ent_virtual_mut. Assegura’t que estàs en el directori correcte abans d’executar la comanda.

Ara ja podem instal·lar el modul PIP:

  • sudo pip install requests (instal·la)
  • pip list
  • deactivate
  • Actualitzacio: /volume1/web/0-python/ent_virt_mut/bin/python3 -m pip install –upgrade pip
urqtejmi@syn_beseit:/volume1/web/0-python$ python3 --version
Python 3.8.15
urqtejmi@syn_beseit:/volume1/web/0-python$

(ent_virt_mut) urqtejmi@syn_beseit:/volume1/web/0-python/ent_virt_mut$
pip --version                                                                                                                                                          
pip 24.2 from /volume1/web/0-python/ent_virt_mut/lib/python3.8/site-packages/pip   

Aplicació web “Hello, Flask!”. Guia

HELLO, FLASK

Quan combines Flask amb Gunicorn en un entorn virtual, estàs creant una aplicació web que pot gestionar múltiples peticions de manera eficient, cosa que és essencial per a aplicacions en producció. Això implica configurar el servidor, gestionar les dependències i assegurar-te que l’aplicació funcioni correctament en un entorn controlat.

1. Crear un Entorn Virtual

Comença creant un entorn virtual per a la teva aplicació. Això aïlla les dependències de la teva aplicació del sistema global de Python.

python3 -m venv /volume2/web/0-python/ent_virt_mut/

2. Activar l’Entorn Virtual

Activa l’entorn virtual.

3. Instal·lar les Dependències

  • Linux/MacOS: source /volume2/web/0-python/ent_virt_mut/bin/activate

3. Instal·lar dependenciències

Instal·la Flask i gunicorn dins de l’entorn virtual.

pip install flask gunicorn

(ent_virt_mut2) urqtejmi@synology_vall:/volume2/web/0-python$ pip install flask gunicorn
Collecting flask
Using cached flask-3.0.3-py3-none-any.whl (101 kB)
Collecting gunicorn
Downloading gunicorn-23.0.0-py3-none-any.whl (85 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 85.0/85.0 KB 406.6 kB/s eta 0:00:00
Collecting importlib-metadata>=3.6.0
Using cached importlib_metadata-8.4.0-py3-none-any.whl (26 kB)
Collecting Jinja2>=3.1.2
Using cached jinja2-3.1.4-py3-none-any.whl (133 kB)
Collecting Werkzeug>=3.0.0
Using cached werkzeug-3.0.4-py3-none-any.whl (227 kB)
Collecting itsdangerous>=2.1.2
Using cached itsdangerous-2.2.0-py3-none-any.whl (16 kB)
Collecting blinker>=1.6.2
Using cached blinker-1.8.2-py3-none-any.whl (9.5 kB)
Collecting click>=8.1.3
Using cached click-8.1.7-py3-none-any.whl (97 kB)
Collecting packaging
Downloading packaging-24.1-py3-none-any.whl (53 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.0/54.0 KB 490.7 kB/s eta 0:00:00
Collecting zipp>=0.5
Using cached zipp-3.20.1-py3-none-any.whl (9.0 kB)
Collecting MarkupSafe>=2.0
Using cached MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26 kB)
Installing collected packages: zipp, packaging, MarkupSafe, itsdangerous, click, blinker, Werkzeug, Jinja2, importlib-metadata, gunicorn, flask
Successfully installed Jinja2-3.1.4 MarkupSafe-2.1.5 Werkzeug-3.0.4 blinker-1.8.2 click-8.1.7 flask-3.0.3 gunicorn-23.0.0 importlib-metadata-8.4.0 itsdangerous-2.2.0 packaging-24.1 zipp-3.20.1
WARNING: You are using pip version 22.0.4; however, version 24.2 is available.
You should consider upgrading via the ‘/volume2/web/0-python/ent_virt_mut2/bin/python3 -m pip install –upgrade pip’ command.
(ent_virt_mut2) urqtejmi@synology_vall:/volume2/web/0-python$

Per actualitzar pip a la versió més recent, pots fer-ho amb la següent comanda:

/volume2/web/0-python/ent_virt_mut/bin/python3 -m pip install –upgrade pip

4. Instalar les llibreries Necessàries: pip install flask

5. Desactivar l’Entorn Virtual: deactivate

Verifica que l’entorn virtual s’ha creat correctament: ls /volume2/web/0-python/ent_virt_mut2

urqtejmi@synology_vall:/volume2/web/0-python$ ls /volume2/web/0-python/ent_virt_mut2 on hi ha els fitxers o directoris: bin, include, lib, lib64, pyvenv.cfg

ComandesComandes WSL, UNIX, LINUX..Comandes

Aquí es fa una mostra de comandes que es van usant

  1. sudo chmod -R 777 /volume2. La comanda sudo és una abreviació de “superuser do” o “switch user do”. Es tracta d’una comanda que permet als usuaris executar tasques amb privilegis d’administrador o superusuari (root) en sistemes Unix i Linux.Quan utilitzes sudo, introdueixes la teva contrasenya per demostrar que tens permisos per realitzar una acció específica. Això és útil per a tasques que requereixen permisos especials, com instal·lar paquets, modificar fitxers de sistema o executar comandes que afecten tot el sistema. La comanda chmod -R 777 és una comanda que s’utilitza per canviar els permisos d’un fitxer o directori en sistemes Unix i Linux.
  2. ———–
  3. Canviar el nom d’un fitxer: mv /volume2/dateutil_env/wsgi.py /volume2/dateutil_env/wsgi-old.py
  4. ——————-
  5. Moure el fitxer: mv /volume2/web/0-python/test_app.py /volume2/dateutil_env/

ASGI vs. WSGI (Enllaç)

2. Trobar on és un fitxer per exemple apache2.4-> ls -la /var/packages/Apache2.4/

urqtejmi@synology_vall:/volume2/dateutil_env$ ls -la /var/packages/Apache2.4/
total 64

  • Entrar en un entorn virtual: Navega fins al directori de l’entorn virtual:cd /volume2/dateutil_env (per exemple poden haver molts entorns virtuals)
  • Activa l’entorn virtual:source bin/activate Després d’activar l’entorn, el prompt de la línia de comandes hauria de canviar per indicar que estàs dins de l’entorn virtual, per exemple: urqtejmi@synology_vall:/volume2/dateutil_env$ source bin/activate
  • (dateutil_env) urqtejmi@synology_vall:/volume2/dateutil_env$ i per sortir :(dateutil_env) urqtejmi@synology_vall:/volume2/dateutil_env$ deactivate urqtejmi@synology_vall:/volume2/dateutil_env
  • ——————————————————————————
  • Cerca un fitxer: Un cop connectat, utilitza la comanda find per buscar el fitxer o la carpeta dateutil_env. Per exemple: find / -name "dateutil_env" es pot delimitar la recerca find /volume2. Si hi ha problemes amb els permisos: sudo find /volume2 -name "dateutil_env"
  • Què es un entorn Virtual? Un entorn virtual és un espai digital simulat on els usuaris poden interactuar amb objectes, eines i informació, sovint de manera remota o a través de dispositius electrònics1. En el context de la programació, un entorn virtual de Python és una eina que ajuda a mantenir les dependències necessàries per a un projecte en un lloc aïllat, evitant conflictes amb altres projectes.

IDE

Un IDE (Entorn de Desenvolupament Integrat) és una aplicació de programari que proporciona als desenvolupadors d’aplicacions un conjunt d’eines per escriure, editar, depurar i provar codi de manera eficient. Un IDE integra diverses eines de desenvolupament en una única interfície, cosa que facilita i agilita el procés de desenvolupament de programari.

Components típics d’un IDE:

  1. Editor de codi: Un editor de text avançat on els desenvolupadors escriuen el codi. A diferència d’un editor de text senzill, l’editor de codi d’un IDE sovint inclou funcions com l’autocompletat de codi, el ressaltat de sintaxi, i la identificació d’errors en temps real.
  2. Depurador (Debugger): Una eina que permet als desenvolupadors executar el seu codi pas a pas per identificar i corregir errors. El depurador permet pausar l’execució del codi, inspeccionar variables, i veure el flux del programa.
  3. Compilador o intèrpret: Si es tracta d’un llenguatge de programació compilat, l’IDE inclou un compilador per convertir el codi font en codi executable. Si el llenguatge és interpretat (com Python), l’IDE utilitza un intèrpret per executar el codi.
  4. Gestió de projectes: Una funcionalitat per organitzar fitxers i carpetes relacionades amb un projecte de programació. Això inclou la gestió de dependències, biblioteques i recursos.
  5. Integració amb sistemes de control de versions: L’IDE sovint inclou eines per treballar amb sistemes de control de versions com Git, permetent als desenvolupadors gestionar el codi font, fer seguiment de canvis i col·laborar amb altres programadors.
  6. Suport per a proves (Testing): Eines per executar proves automàtiques per garantir que el codi funciona com s’espera.
  7. Emuladors o entorns d’execució: Alguns IDEs inclouen emuladors per provar aplicacions en diferents entorns, com ara aplicacions mòbils en dispositius virtuals.

Avantatges d’utilitzar un IDE:

  • Eficiència: Un IDE agrupa totes les eines necessàries en una única interfície, la qual cosa estalvia temps i millora la productivitat.
  • Facilitat d’ús: Molts IDEs ofereixen assistència per al desenvolupament, com l’autocompletat de codi, suggeriments de funcions i documentació integrada.
  • Depuració avançada: Les eines de depuració d’un IDE permeten trobar i corregir errors de manera més ràpida i precisa.
  • Organització: L’IDE ajuda a mantenir els projectes organitzats, cosa que és especialment útil en projectes grans.

PyCharm, com hem comentat abans, és un exemple d’IDE específic per al desenvolupament en Python, però hi ha molts altres IDEs per a diferents llenguatges i plataformes, com ara Visual Studio per a C# o IntelliJ IDEA per a Java.

Resum de “Programación en Python Desbloqueada para Principiantes”

  • Instal·lar Python al teu sistema. en el cas de Synology només cal instal·lar el paquet y comprovar la instal·lació

urqtejmi@synology_vall:~$ python –version
Python 3.8.15
urqtejmi@synology_vall:~$


  • A continuació, passarem a la instal·lació de PyCharm. tinc instal·lada al windows 11 la versio PyCharm

PyCharm 2023.1.3 (Professional Edition)
Build #PY-231.9161.41, built on June 20, 2023

Què és PyCharm?

PyCharm és un dels IDEs més populars per al desenvolupament en Python. Ofereix una gran varietat de funcionalitats que ajuden els desenvolupadors a escriure, executar, i depurar codi de manera eficient. Algunes de les seves característiques clau inclouen:

  • Autocompletat de codi: Suggeriments intel·ligents mentre escrius codi.
  • Depuració: Eines per trobar i corregir errors en el codi de manera visual.
  • Integració amb sistemes de control de versions: Suport per a Git, Mercurial, etc.
  • Entorn de proves: Suport per a frameworks de proves com unittest, pytest, etc.
  • Refactorització: Eines per reorganitzar codi sense canviar la seva funcionalitat.
  • Suport per a frameworks web: Com Django, Flask, etc.
  • Gestió de paquets: Integració amb pip i altres eines de gestió de paquets.

Si tens algun dubte sobre PyCharm o necessites més informació sobre un tema relacionat, estaré encantat d’ajudar-te!

PYTHON a Windows 11 i synology

I found the location of Apache 2.4 conf file (/var/packages/Apache2.4/target/usr/local/etc/apache24/conf/httpd24.conf).

Ha funcionat a la primera fen la instal·lació des de Microsoft Store

No oblidar de comprobar que s’ha instal·lat: cmd: python –version

Microsoft Windows [Versión 10.0.22631.4037]
(c) Microsoft Corporation. Todos los derechos reservados.

C:\Users\urqte>python –version
Python 3.12.5

C:\Users\urqte>python
Python 3.12.5 (tags/v3.12.5:ff3bc82, Aug 6 2024, 20:45:27) [MSC v.1940 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.

print(“Hola, món!”)
Hola, món!

La resposta a si és millor Sublime Text o PyCharm com a eina per treballar amb Python depèn de les teves necessitats específiques, preferències personals i el tipus de projectes amb què treballes. Aquí tens una comparació que t’ajudarà a decidir:

Sublime Text

  • Lleuger i ràpid: Sublime Text és molt lleuger i ràpid. Es carrega ràpidament i no consumeix molts recursos, la qual cosa el fa ideal per a màquines amb especificacions baixes o si necessites un editor ràpid.
  • Altament personalitzable: Disposa de nombrosos plugins i paquets que pots instal·lar per adaptar-lo a les teves necessitats. Per a Python, pots afegir suport per a la sintaxi, l’execució de scripts, depuració bàsica, etc., però has de configurar manualment aquestes eines.
  • Editor de text pur: És un editor de text molt potent amb funcionalitats bàsiques de codificació, però no és un entorn de desenvolupament integrat (IDE). Això significa que algunes funcionalitats avançades, com la depuració o l’exploració de projectes, poden ser limitades en comparació amb un IDE complet.
  • Versatilitat: Sublime Text no està centrat en un sol llenguatge de programació, per la qual cosa és útil si treballes amb diversos llenguatges de codificació.

PyCharm

  • IDE complet: PyCharm és un entorn de desenvolupament integrat (IDE) específic per a Python, amb totes les funcionalitats necessàries per a la programació avançada. Inclou eines de depuració, proves, integració amb sistemes de control de versions (com Git), i moltes altres característiques integrades.
  • Facilitats per a Python: PyCharm ofereix suport excel·lent per a Python, amb completat de codi avançat, refactorització automàtica, navegació ràpida pel codi, i molt més. Això el fa molt potent per a projectes grans i complexes en Python.
  • Configuració mínima: PyCharm ve preconfigurat per treballar amb Python de manera eficient, sense la necessitat de buscar plugins o configurar l’entorn manualment.
  • Consells i ajudes: A més de suportar frameworks populars com Django i Flask, PyCharm ofereix guies, consells, i suggeriments que faciliten la programació, especialment útil per a principiants.
  • Més pesat: A diferència de Sublime Text, PyCharm és més pesat i pot consumir més recursos, per la qual cosa podria no ser la millor opció en màquines amb menys potència.

Conclusió

  • Si prefereixes un editor de text lleuger i ràpid, que pots personalitzar segons les teves necessitats, i estàs còmode configurant el teu entorn de desenvolupament, Sublime Text pot ser l’opció adequada.
  • Si busques un IDE complet amb totes les eines necessàries per al desenvolupament avançat en Python, i valores tenir-ho tot integrat en una sola eina, PyCharm és la millor elecció.

Si estàs treballant en projectes Python complexos o a gran escala, PyCharm probablement t’oferirà una millor experiència. Però si prefereixes una eina més senzilla i ràpida, Sublime Text és una opció excel·lent.

—————————————————-

Es pot executar des del terminal de Synology habilitant el servei SSH i accedint des del Windows 11 amb puTTY amb la comanda python3 hola-mon.py

Windows Subsystem for Linux (WSL):
WSL et permet executar un entorn Linux directament dins de Windows, incloent Bash.
Per accedir-hi:
Assegura’t que tens WSL instal·lat. Si no, pots instal·lar-lo seguint les instruccions de Microsoft.
Després d’instal·lar WSL, obre el terminal de WSL escrivint wsl al menú d’inici de Windows o des del CMD.
Un cop dins de WSL, estaràs en un entorn Bash completament funcional.

Instalat


iframe

Un iframe és un element HTML que conté un altre document HTML dins d’ell. Això permet incrustar contingut d’altres llocs dins d’una pàgina web. Aquí tens més detalls:

  • Per a què serveix un iframe? Els llocs web sovint utilitzen iframes per incloure elements externs. Per exemple, vídeos. Si incrustes un vídeo de YouTube a la teva pàgina, no cal que emmagatzemis el vídeo al teu servidor; simplement el pots incrustar al teu codi HTML. Això millora l’experiència de navegació dels visitants. Cada iframe té el seu propi historial de sessió i el seu propi objecte Document. Això significa que pots tenir múltiples iframes a la mateixa pàgina, cadascun amb el seu contingut independent¹².
  • Diferències entre iframe i elements incrustats: A més dels iframes, hi ha altres elements HTML5 coneguts com a “elements incrustats” (o “embed”). Aquests s’utilitzen per inserir altres tipus de contingut, com ara PDF, plugins i automatitzacions. Tot i que els elements incrustats poden incloure recursos de vídeo o imatges, és millor utilitzar iframes per a això. Els elements incrustats funcionen només per a tecnologies web antigues, mentre que els iframes són més comuns i sempre funcionen bé¹. 😊
  • Exemple:
<iframe width="560" height="315" src="https://www.youtube.com/embed/TU_ID_DEL_VÍDEO" frameborder="0" allowfullscreen></iframe>

En aquest codi:

  • L’atribut width i height defineixen les dimensions de l’iframe.
  • L’atribut src conté la URL del vídeo de YouTube que vols incrustar. Hauries de substituir TU_ID_DEL_VÍDEO per l’ID real del vídeo que vulguis mostrar.
  • L’atribut frameborder estableix si es mostra o no el marc del vídeo.
  • L’atribut allowfullscreen permet que el vídeo es pugui veure a pantalla completa.
Publicat dins de HTML