domingo, 29 de septiembre de 2019

Los tipos de datos en Python - Strings 2 - Curso de cero a profesional - Capítulo 7

Los tipos de datos en Python - Strings II

Logo Python

En este segundo capítulo de Strings en Python vamos a ver cómo hacer saltos de línea y cómo añadir tabulaciones en los strings.







Cómo escribir saltos de línea en Python

Para hacer un salto de línea, solo tienes que añadir \n dentro de un string.

curso = "Este es el curso de Python en The Hittos Lab. \nSi te gusta el curso, no dudes en dejar un comentario.";

print(curso);

Salto de línea en Python

Cómo escribir tabulaciones dentro de un string en Python





Para hacer tabulaciones dentro de un string solo tienes que escribir \t por cada tabulación que quieras añadir a un string.

frutas = "Naranja\n \tLimón\n \t\tFresa\n \t\t\tPiña\n \t\t\t\tMelón\n";

print(frutas);



En el siguiente capítulo veremos algunas operaciones con números enteros (integers).



sábado, 28 de septiembre de 2019

Cómo crear usuarios y asignarle un directorio en Linux - Manual BASH scripting para principiantes - UBUNTU 18.04

Cómo crear usuarios y asignarle un directorio en Linux - Manual BASH scripting para principiantes - UBUNTU 18.04

crear usuarios en Linux
Para crear usuarios en Linux, bien lo puedes hacer fácilmente desde el entorno gráfico (si la distro que tienes cuenta con él) o lo puedes hacer desde la Terminal.

Puesto que este es un curso para BASH scripting, no voy a explicar como hacerlo desde la GUI.

Vamos a ver como se hace desde la terminal.

Cómo crear usuarios desde la Terminal de Linux


Los comandos a continuación los tienes que ejecutar como root, de modo deberás utilizar sudo.

adduser nombre_usuario

Después de especificarle un nombre al usuario se pedirá información opcional adicional, la puedes rellenar o si no quieres, pulsa intro hasta que te pregunte si la información es correcta e introduce que si. 
Veamos un ejemplo:

adduser linux

Una vez creado el usuario, si queremos listar todos los usuarios del sistema para ver si se ha creado correctamente, lo hacemos con el comando cat, leyendo el fichero /etc/passwd:

cat /etc/passwd

En la imagen aparece el usuario recientemente creado con todos los datos que he introducido al crearlo.

Cómo cambiar de usuarios desde la Terminal de Linux


Gracias al comando su (switch user) se puede cambiar de usuario desde la Terminal.

su nombre_usuario

Fíjate en el ejemplo, el usuario activo en la Terminal es thehittoslab. Al utilizar el comando su seguido del nombre de usuario, me pide su contraseña. Finalmente, el usuario activo cambia a hittos.

switch user Linux Terminal

Cómo crear un directorio y asignárselo a un usuario desde la Terminal de Linux


Para crear carpetas en Linux debemos utilizar el comando mkdir y especificar la ruta (La carpeta /Usuarios de este ejemplo debe existir previamente para poder crear otra dentro de ella).

mkdir /carpeta

La carpeta la puedes crear donde quieras, mira un ejemplo:


Una vez creada, con el comando ls comprobamos si se ha creado (obviamente, si no devuelve error estará creada, pero así aprendes a utilizar más comandos):

ls linux

Ahora, con el parámetro -R, estoy indicando que hittos va a ser el propietario de la carpeta indicada y sus subcarpetas.

chown linux

Para comprobar el propietario de una carpeta, debes utilizar el comando stat.

stat -c %U /nombre_carpeta

Fíjate en el ejemplo, devuelve hittos como propietario de la carpeta. De forma que el comando anterior ha funcionado correctamente.

stat linux

Le asignamos permisos 755 a la carpeta con chmod. Si no sabes lo de los permisos, no te preocupes, más adelante escribiré sobre ello.

chmod linux

Para terminar, hay que asignarle la carpeta al usuario, esto se hace con usermod.
Con el parámetro -d se indica que es la carpeta personal del usuario.

usermod -d /carpeta usuario

usermod linux

Por último, puedes añadir al usuario creado a un grupo o varios.
Con el comando

Cómo añadir un usuario a un grupo desde la Terminal de Linux


Para saber qué grupos hay creados, lo hacemos con el comando cat:

cat /etc/group

cat group linux

Una vez sabemos a qué grupo se va a añadir hay que utilizar el comando adduser.

adduser Linux

Todo listo, con esta guía, podrás crear usuarios, cambiar el usuario activo, crear directorios, asignárselos a usuarios, y añadir usuarios a grupos pudiendo estos heredar sus permisos.

Si te queda alguna duda, no dudes en dejar un comentario para poder seguir avanzando en el curso. ¡Hasta el siguiente capítulo!

viernes, 27 de septiembre de 2019

Errores pantallazo azul en Windows 10 - RESUELTO

Errores pantallazo azul en Windows 10 - RESUELTO

Pantallazo azul Windows 10

Si te aparece un mensaje del estilo... Se ha producido un problema en su PC y necesita reiniciarse. Vamos a recopilar información sobre el error y después se reiniciará automáticamente... Estás en el sitio correcto.


Los errores de pantalla azul o también conocidos como pantalla de la muerte de Windows, suelen ser bastante frecuentes, no obstante, con el tiempo, Microsoft ha ido solucionando problemas y con el tiempo han pasado de un formateo casi seguro a poderse arreglar con algunos sencillos procedimientos.

La solución que propongo se aplica a diferentes errores, los cuales pueden ser:

  • SYSTEM_THREAD_EXCEPTION_NOT_HANDLED
  • VIDEO_TDR_TIMEOUT_DETECTED
  • CRITICAL_PROCESS_DIED
  • DPC_WATCHDOG_VIOLATION
  • PAGE_FAULT_IN_NONPAGED_AREA
  • SYSTEM_SERVICE_EXCEPTION
  • IRQL_NOT_LESS_OR_EQUAL


Si tienes otro error diferente a los que hay en esta lista, déjame un comentario e intentaré darte otra solución.

Ten en cuenta, que también pueden aparecer estos errores en notación hexadecimal


0xC000021A, 0x0000000A, 0xC000000F, 0x0000003B, 0x000000EF, 0x000000D1, 0x1000007E, 0x0000007B, 0x00000133...

Pantalla azul después de instalar actualizaciones

Es normal encontrarse con un pantallazo azul después de instalar actualizaciones en Windows 10. No siempre es culpa de las propias actualizaciones. Los errores también pueden producirse con un apagón, programas de terceros interfiriendo, etc.

Lo primero que puedes probar es a desinstalar las últimas actualizaciones.

Para ello, debes iniciar Windows 10 en modo seguro.

Cómo iniciar Windows 10 en modo seguro


1- Ves al menú inicio y busca Msconfig, ejecútalo:




2- Ves a la pestaña Arranque y en Opciones de arranque marca la casilla de Arranque a prueba de errores. Asegúrate que está marcada también la opción Red por si necesitas descargar algo.
Por último, haz click en aplicar y aceptar.

Opciones de arranque Windows 10

Te saldrá esta ventana. Haz click en Reiniciar.

configuración del sistema windows 10

Listo, ahora tu equipo se iniciará en modo seguro. Para volver al modo normal cuando hayas acabado, solo tendrás que desactivar el Arranque a prueba de errores.

3- Abre Windows Update y ves a Ver historial de actualizaciones.

Windows Update historial de actualizaciones

4- Haz click en Desinstalar las actualizaciones.

Windows Update desinstalar actualizaciones

5- Para terminar, desinstala las actualizaciones que te estén dando problemas.
Para ello, haz click derecho sobre la actualización y pulsa en Desinstalar.

Windows Update desinstalar actualizaciones

Pantalla azul después de instalar un programa de terceros

Cuando navegamos por internet, poco importa el antivirus que tengamos instalado si no tenemos un buen criterio a la hora de esquivar amenazas.

Cuando haces click en un botón que dice permitir, estás aceptando la entrada de notificaciones en el navegador web. Cuando instalas un programa repleto de adware (virus de publicidad) y muchas situaciones más, son las que pueden haber provocado que tu PC vaya lento y finalmente, haya quedado inservible.

Lo mejor que puedes intentar de primeras (ya que no puedes acceder en modo normal a Windows) es seguir estos pasos:

1- Entra al modo seguro tal y como se detalla en la explicación de arriba.

2- Instala un programa antimalware como Malwarebytes (la versión free basta). Si necesitas ayuda sobre como utilizarlo, pídeme un tutorial en los comentarios.


Descargar Malwarebytes


3- Instala CCleaner. Si necesitas también un tutorial, pídelo también y lo subo.

Descargar CCleaner

4- Revisa en Agregar o quitar programas de Windows si tienes algún programa sospechoso y desinstalaló.

5- Abre Msconfig (se explica al principio de este tutorial). En la pestaña Servicios marcar la opción Ocultar todos los servicios de Microsoft
Ahora, desactiva todos los servicios que consideres sospechosos (si no tienes ni idea deberás buscar en Google cada uno de ellos o preguntarme). 
Una vez terminado, pulsa en Aplicar y Aceptar (te pedirá reiniciar, hazlo cuando hayas terminado de hacer todos los pasos).


msconfig servicios

6- Abre el Administrador de tareas (ctrl+alt+supr).

desactivar programas de inicio Windows 10

7- Ahora sí, reinicia el equipo y si lo hiciste todo bien, es muy probable que ahora todo funcione correctamente y que tu equipo haya mejorado bastante la velocidad.

Nota: algunas veces, los antivirus pueden crear problemas al arrancar Windows debido a bugs. Si no te funcionó nada, prueba a desinstalar tu antivirus en el modo seguro, a no ser que tengas solo Windows Defender.

Recuerda, no estás solo, estoy aquí para ayudarte. Si no se solucionó tu problema, no dudes en escribirme y entre todos intentaremos solucionarlo.

jueves, 26 de septiembre de 2019

Comandos GNU/Linux para obtener información del sistema I

Comandos GNU/Linux para obtener información del sistema I

Linux terminal

En este primer capítulo de comandos GNU/Linux para obtener información del sistema, veremos algunos comando muy útiles como el comando cat o el comando date.

Comando arch

El comando arch muestra simplemente la arquitectura de la máquina.

Comando arch Linux




Comando cal

El comando cal sin parámetros, muestra el calendario del mes actual en la Terminal.

calendario Linux

Podemos consultar otras fechas en el calendario especificando primero el mes y luego el año.

calendario Terminal Linux





Este comando tiene muchas opciones y no las voy a mostrar todas en este artículo. Más adelante subiré uno dedicado a este comando.

Comando cat

Este comando tiene muchas opciones, veremos unas pocas por el momento.

cat /proc/cpuinfo 

cpuinfo muestra información detallada sobre la CPU y cada uno de sus núcleos. En la imagen se ve un procesador de 8 núcleos, he mostrado solo 2.

cat cpuinfo




cat /proc/meminfo

Con meminfo podemos ver información sobre la memoria RAM.
meminfo Linux




Comando date

El comando date no solo permite ver la hora y fecha actual, también permite modificarla.

date linux

Seguiremos viendo más comandos útiles en la segunda parte.

miércoles, 25 de septiembre de 2019

Bootstrap 4 - Imágenes - Cómo crear galerías vistosas

Bootstrap 4 - Estilos para imágenes I - Cómo crear galerías vistosas


Vamos a ver como crear galerías de imágenes muy atractivas, con bordes redondeados, con forma de círculo, con leyenda debajo de la imagen...

En este capítulo os mostraré 3 estilos muy elegantes para vuestras galerías de imágenes.
En capítulos posteriores aprenderemos más cosas para que llegues a crear galerias totalmente profesionales y que puedas sacarles partido.




Imágenes en forma de círculo

Con este sencillo código (img-circle) en las imágenes obtenemos en cuestión de segundos un efecto maravilloso.

<img src="escaleras.jpg" class="img-circle" alt="Escaleras" width="300" height="280"> 

img-circle bootstrap 4




Imágenes con bordes redondeados

El mismo código, solo tienes que cambiar img-circle por img-rounded. Verás como sucede la magia.



<img src="bosque.jpg" class="img-rounded" alt="Bosque" width="300" height="300"> 






Imágenes con bordes blancos estilo thumbnail (miniatura)

Terminamos este primer capítulo del tratamiento de imágenes con Bootstrap 4 y lo hacemos con el estilo  img-thumbnail.
Este estilo es genial para una galería de fotos, ya que recuerda a las fotografías instantáneas y le da un toque muy profesional a la web.

<img src="lago.jpg" class="img-thumbnail" alt="Casa del lago" width="300" height="300"> 

thumbnail Bootstrap 4



Para ver el código completo con un ejemplo de uso de estos estilos, visita mi GitHub:

Los tipos de datos en Python - Strings - Curso de cero a profesional - Capítulo 6

Los tipos de datos en Python - StringsLogo Python

Los strings son cadenas de texto o caracteres.

Estos son necesarios en los lenguajes de programación ya con ellos podemos hacer mucho más que almacenar un simple texto.

Todo el código escrito entre comillas simples (' ') y dobles (" ") es considerado un string en Python.




Cómo escribir un string en Python

"Este es un string entre comillas dobles."

'Este es un string entre comillas simples.'

Ambos ejemplos devuelven el mismo resultado.





Cómo mostrar literal de comillas dobles o simples en Python

Has de saber, que lo de tener las dos opciones, no es por capricho, es necesario cuando queremos por ejemplo, escribir unas comillas literales:


print('Este es un string entre comillas simples. "No obstante, Contiene texto entre comillas dobles."');

Resultado


string python





Funciones predefinidas con strings


Las funciones upper() y lower()

Veamos un par de funciones predefinidas que pueden variar los resultados de los strings.

Para pasar todo el texto de un string a minúsculas, se utiliza la función lower() y para pasarlo a mayúsculas la función upper().


texto = "Este es un texto con MAYÚSCULAS y minúsculas.";

print(texto.lower());
print(texto.upper());


Resultado
upper() lower() python

Hay un montón de funciones predefinidas para los strings, no voy a poner más en este capítulo, ya que es para que aprendas lo que es un string y veas algún ejemplo práctico.
En capítulos posteriores iremos viendo todas las funciones predefinidas para strings. 

Concatenar strings en Python

Concatenar o combinar dos o varios strings se hace con el símbolo +. Hay muchos lenguajes de programación que lo utilizan para esto mismo.




Concatenar dentro de una variable

He separado el nombre de los apellidos en esta variable y los he concatenado. El resultado es el mismo que si estuviesen los tres strings en uno mismo.





nombre_completo = "Valeria " + "Castillo " + "Molina ";

print(nombre_completo);

Resultado
concatenar en python


Concatenar variables

Para concatenar variables, el procedimiento es el mismo:


nombre = "Valeria ";
apellido1 = "Castillo ";
apellido2 = "Molina";

print(nombre + apellido1 + apellido2);


concatenar en python




Con este capítulo ya dominas los string en Python, está claro que hay muchas cosas más por ver con los Strings, por eso, el siguiente capítulo recogerá algunos ejemplos más.

Si te sirvió de ayuda, déjame un comentario para motivarme a escribir más contenido. 

martes, 24 de septiembre de 2019

Bootstrap 4 - Estilos para botones III

Bootstrap 4 - Estilos para botones III

Bootstrap 4 estilos para botones

Con esta tercera parte terminamos con el tema de los botones de Bootstrap. 




Botones con ancho automático - Bootstrap 4

En ocasiones, puedes necesitar un botón que cubra todo el ancho de un elemento.
Veamos algún ejemplo:


<button type="button" class="btn btn-danger btn-block">Botón de ancho automático</button>

botón ancho automático Bootstrap 4
Este ejemplo, está puesto con la clase btn-danger, no obstante, puedes utilizar los otros estilos que hemos visto anteriormente (primary, secondary, warning...).





<button type="button" class="btn btn-primary btn-block">Botón de ancho automático</button>

<button type="button" class="btn btn-secondary btn-block">Botón de ancho automático</button>

<button type="button" class="btn btn-success btn-block">Botón de ancho automático</button>

<button type="button" class="btn btn-danger btn-block">Botón de ancho automático</button>

<button type="button" class="btn btn-warning btn-block">Botón de ancho automático</button>

<button type="button" class="btn btn-info btn-block">Botón de ancho automático</button>

<button type="button" class="btn btn-dark btn-block">Botón de ancho automático</button>

<button type="button" class="btn btn-light btn-block">Botón de ancho automático</button>

btn-block

Este estilo de botón se queda pegado al borde del elemento web en el cual lo pongas, recomiendo que le apliques un margen con la clase css margin.

Botones de carga (Spinner buttons) - Bootstrap 4

Bootstrap 4 también cuenta con botones animados de carga.
Estos botones los podemos poner en estilo activado en el que se hace un efecto al pasar el cursor sobre el botón y este cambia en forma de mano (como si se tratase de un enlace). El estilo activado, se puede escribir con enabled en la etiqueta button, no obstante, esto está establecido por defecto y no es necesario.
Los botones también se pueden poner con estilo desactivado, en el que el cursor, no cambia de forma al pasar sobre él. 
Por supuesto, el texto "Cargando..." es totalmente personalizable.





<!--PRIMARY SPINNER ENABLED -->

<button class="btn btn-primary">
  <span class="spinner-border spinner-border-sm"></span>
  Cargando...
</button>

<button class="btn btn-primary">
  <span class="spinner-border spinner-border-sm"></span>
</button>

<button class="btn btn-primary">
  <span class="spinner-grow spinner-grow-sm"></span>
   Cargando...
</button>

<button class="btn btn-primary">
  <span class="spinner-grow spinner-grow-sm"></span>
</button>

<br>
<br>

<!--PRIMARY SPINNER DISABLED -->

<button class="btn btn-primary" disabled>
  <span class="spinner-border spinner-border-sm"></span>
  Cargando...
</button>

<button class="btn btn-primary" disabled>
  <span class="spinner-border spinner-border-sm"></span>
</button>

<button class="btn btn-primary" disabled>
  <span class="spinner-grow spinner-grow-sm"></span>
   Cargando...
</button>

<button class="btn btn-primary" disabled>
  <span class="spinner-grow spinner-grow-sm"></span>
</button>

<br>
<br>


Bootstrap 4 spinner buttons



En este ejemplo de código he puesto solo los estilos primary para no alargar tanto el capítulo. Podrás encontrar el resto de estilos en mi GitHub:

Todos los estilos Spinner Buttons