miércoles, 27 de noviembre de 2019

¿Qué es Xpath?

El lenguaje Xpath es el sistema que se utiliza para navegar y consultar los elementos y atributos contenidos en la estructura de un documento XML. Pero, para comprender el concepto de Xpath (XML Path Language), es importante explicar primero el significado de XML eXtensible Markup Language, cuya traducción es lenguaje de etiquetado extensible.


Para esto utiliza una sintaxis de criterios y funciones que le permiten realizar cálculos, comparaciones e identificar nodos. Podría decirse que XPath funciona de forma similar al editor de fórmulas en Excel, pues extrae información de un documento para hacer cálculos.

Supongamos que quieres marcar las fechas importantes en un calendario, así que decides usar símbolos y colores para marcar y diferenciar entre las fechas de cumpleaños, las citas al médico y el vencimiento de las facturas. De la misma manera, el lenguaje XML utiliza etiquetas para diferenciar los tipos de datos que almacena y transporta en ficheros. Este lenguaje fue desarrollado por la World Wide Web Consortium W3C y proviene de otro inventado por IBM en los años 70, llamado GML.

Para qué sirve Xpath

XPath sirve para que los programadores puedan definir criterios de búsqueda avanzada y cálculos específicos, utilizando una sintaxis simple, pero bastante eficaz.

Contiene una librería de 100 funciones estándar, que permiten realizar operaciones para el manejo de cadenas, operaciones numéricas, comparaciones de fechas… etcétera.

XPath no es un lenguaje independiente, pues se usa en combinación con XSLT (eXtensible Stylesheet Language for Transformations) o lenguaje que permite aplicar una transformación a un documento XML.

Ejemplos de Xpath

Para XPath, un documento XML es como un árbol, que está compuesto por dos conceptos. Por un lado, la representación de distintos tipos de nodos; por el otro, las posibles relaciones que existen entre estos nodos.

Existen varios tipos de nodos, los más básicos se denominan:

  • Nodo Elemento.
  • Nodo Atributo.
  • Nodo Texto.
  • Nodo raíz.
  • Elemento raíz.
  • Valores atómicos.

El nodo raíz del árbol contiene al elemento raíz del documento. Todos los documentos XML tienen un nodo raíz que indica el inicio del documento, de donde dependen todos los demás nodos del documento.

Fuente | Neoattack

miércoles, 20 de noviembre de 2019

GitHub Security Lab un proyecto para identificar vulnerabilidades en software de código abierto

En la última conferencia de GitHub Universe para desarrolladores, GitHub anunció que lanzará un nuevo programa destinado a mejorar la seguridad del ecosistema de código abierto. El nuevo programa se llama GitHub Security Lab y permite a los investigadores de seguridad de una variedad de compañías identificar y solucionar problemas de proyectos populares de código abierto.


Todas las empresas interesadas y especialistas en seguridad informática individual están invitados a unirse a la iniciativa a la cual ya se han unido investigadores de seguridad de F5, Google, HackerOne, Intel, IOActive, JP Morgan, LinkedIn, Microsoft, Mozilla, NCC Group, Oracle, Trail of Bits, Uber y VMWare, que han identificado y ayudado a corregir 105 vulnerabilidades en los últimos dos años en proyectos como Chromium, libssh2, el kernel de Linux, Memcached, UBoot, VLC, Apport, HHVM, Exiv2, FFmpeg, Fizz, libav, Ansible, npm, XNU, Ghostscript, Icecast, Apache Struts, strongSwan, Apache Ignite, rsyslog, Apache Geode y Hadoop.

“La misión del Security Lab es inspirar y permitir que la comunidad de investigación global asegure el código del programa”, dijo la compañía.

El ciclo de vida del mantenimiento de la seguridad del código propuesto por GitHub implica que los participantes de GitHub Security Lab identificarán vulnerabilidades, después de lo cual se comunicará la información sobre los problemas a los encargados del mantenimiento y a los desarrolladores que resolverán los problemas, acordarán el momento de revelar información sobre el problema e informarán a los proyectos dependientes sobre la necesidad de instalar la versión con la eliminación de la vulnerabilidad.

Microsoft lanzó CodeQL, que fue desarrollado para encontrar vulnerabilidades en el código fuente abierto, para uso público. La base de datos alojará plantillas de CodeQL para evitar la reaparición de problemas resueltos en el código presente en GitHub.

Además, GitHub se ha convertido recientemente en una Autoridad de Numeración Autorizada (CNA) de CVE. Esto significa que puede emitir identificadores CVE para vulnerabilidades. Esta característica se ha agregado a un nuevo servicio llamado ” consejos de seguridad “.

A través de la interfaz de GitHub, se puede obtener el identificador CVE para el problema identificado y preparar un informe, y GitHub enviará las notificaciones necesarias por sí mismo y organizará su corrección coordinada. Además, después de solucionar el problema, GitHub enviará automáticamente solicitudes de extracción para actualizar las dependencias asociadas con el proyecto vulnerable.


Los identificadores CVE mencionados en los comentarios en GitHub automáticamente ahora hacen referencia a información detallada sobre la vulnerabilidad en la base de datos enviada. Para automatizar el trabajo con la base de datos, se propone una API separada.

GitHub también ha presentado el catálogo de vulnerabilidades de la base de datos de asesoramiento de GitHub, que publica información sobre vulnerabilidades que afectan a los proyectos de GitHub e información para rastrear paquetes y repositorios vulnerables. El nombre de la base de datos de consultoría de seguridad que estará en GitHub será GitHub Advisory Database.

También informó de la actualización del servicio de protección contra conseguir en un repositorio de acceso público de la información confidencial, como los tokens de autenticación y las claves de acceso.

Durante la confirmación, el escáner verifica los formatos típicos de clave y token utilizados por 20 proveedores y servicios en la nube, incluidos Alibaba Cloud API, Amazon Web Services (AWS), Azure, Google Cloud, Slack y Stripe. Si se detecta un token, se envía una solicitud al proveedor de servicios para confirmar la fuga y revocar los tokens comprometidos. Desde ayer, además de los formatos admitidos anteriormente, se ha agregado compatibilidad para definir tokens GoCardless, HashiCorp, Postman y Tencent

Para la identificación de vulnerabilidades, se proporciona una tarifa de hasta $ 3,000, dependiendo del peligro del problema y la calidad de la preparación del informe.

Según la compañía, los informes de errores deben contener una consulta CodeQL  que permite crear una plantilla de código vulnerable para detectar la presencia de una vulnerabilidad similar en el código de otros proyectos (CodeQL permite realizar análisis semántico del código y consultas de formulario para buscar estructuras específicas).

Fuente | DesdeLinux

viernes, 15 de noviembre de 2019

¿Qué es DevSecOps?

DevOps no solo concierne a los equipos de desarrollo y operaciones. Si desea aprovechar al máximo la agilidad y la capacidad de respuesta de los enfoques de DevOps, la seguridad de la TI también debe desempeñar un papel integrado en el ciclo de vida completo de sus aplicaciones.


¿Por qué? Antes, el papel de la seguridad estaba aislado y a cargo de un equipo específico en la etapa final del desarrollo. Cuando los ciclos de desarrollo duraban meses o incluso años, no pasaba nada. Pero eso quedó en el pasado. Una metodología efectiva de DevOps garantiza ciclos de desarrollo rápidos y frecuentes (a veces de semanas o días), pero las prácticas de seguridad obsoletas pueden revertir incluso las iniciativas de DevOps más eficientes.


Actualmente, en el marco de trabajo en colaboración de DevOps, la seguridad es una responsabilidad compartida e integrada durante todo el proceso. Puesto que es un enfoque tan importante, se acuñó el término "DevSecOps" para enfatizar la necesidad de crear una base de seguridad en las iniciativas de DevOps


DevSecOps implica pensar desde el principio en la seguridad de las aplicaciones y de la infraestructura. También implica automatizar algunas puertas de seguridad para impedir que se ralentice el flujo de trabajo de DevOps. Para cumplir con estos objetivos es necesario seleccionar las herramientas adecuadas para integrar la seguridad de manera permanente, como acordar el uso de un entorno de desarrollo integrado (IDE) con funciones de seguridad. Sin embargo, la seguridad efectiva de DevOps requiere más que herramientas nuevas; se basa en los cambios culturales de DevOps para integrar el trabajo de los equipos de seguridad lo antes posible.

Ya sea que lo llame "DevOps" o que prefiera "DevSecOps" para incorporar en el nombre la seguridad, lo ideal siempre ha sido incluirla como parte integral de todo el ciclo de vida de la aplicación. El término DevSecOps no se refiere a un perímetro de seguridad que rodea las aplicaciones y los datos, sino a la seguridad integrada. Si esta sigue quedándose al final del proceso de desarrollo, las empresas que adoptan DevOps corren el riesgo de volver a los largos ciclos que pretendían evitar desde el principio.

En parte, DevSecOps destaca la necesidad de invitar a los equipos de seguridad desde el inicio de las iniciativas de DevOps, para que incorporen la seguridad de la información y establezcan un plan para su automatización. También subraya la necesidad de ayudar a los desarrolladores a escribir códigos teniendo en cuenta la seguridad, lo cual implica que los equipos de seguridad compartan su perspectiva, los comentarios y la información valiosa sobre las amenazas conocidas. Posiblemente esto también implique que los desarrolladores tengan que capacitarse en seguridad, ya que el método tradicional para desarrollar aplicaciones no siempre ha hecho hincapié en el tema.

¿Qué significa la seguridad integrada en concreto? Para empezar, una buena estrategia de DevSecOps implica determinar la tolerancia a los riesgos y realizar un análisis de riesgos y beneficios al respecto. ¿Qué cantidad de controles de seguridad es necesaria en cierta aplicación? ¿Qué tan importante es la velocidad de comercialización para las diferentes aplicaciones? La automatización de las tareas repetidas es clave para DevSecOps, ya que la ejecución de comprobaciones de seguridad manuales en el proceso puede requerir mucho tiempo.

La seguridad de DevOps está automatizada


Se recomienda mantener ciclos de desarrollo cortos y frecuentes, integrar medidas de seguridad con una interrupción mínima de las operaciones, mantenerse al día con las tecnologías innovadoras (como los contenedores y los microservicios) y, al mismo tiempo, fomentar una colaboración más estrecha entre los equipos que suelen estar aislados, lo cual es una tarea difícil para cualquier empresa. Todas estas iniciativas comienzan a nivel humano, con los pormenores de la colaboración en su empresa, pero la automatización facilita esos cambios humanos en un marco de DevSecOps.


¿Pero qué conviene automatizar y cómo se puede hacer? Hay una guía escrita que lo ayudará a responder estas preguntas. Las empresas deben dar un paso atrás y considerar todo el entorno de desarrollo y operaciones. Esto incluye los repositorios de control de códigos fuente, los registros de contenedores, el canal de integración e implementación continuas (CI/CD), la gestión de la interfaz de programación de aplicaciones (API), la automatización de los lanzamientos y la coordinación, y la gestión y la supervisión operativas.

Las nuevas tecnologías de automatización han ayudado a las empresas a adoptar prácticas de desarrollo más ágiles, y a promover nuevas medidas de seguridad. Pero la automatización no es lo único que ha cambiado en el panorama de TI durante los últimos años; las tecnologías nativas de la nube, como los contenedores y los microservicios, son ahora una parte importante de la mayoría de las iniciativas de DevOps, y la seguridad de la plataforma debe adaptarse para cumplir con ellas.

La seguridad de DevOps se diseñó para los contenedores y los microservicios.


La mayor escalabilidad y la infraestructura más dinámica habilitadas por los contenedores han cambiado la forma de hacer negocios de muchas empresas. Debido a esto, las prácticas de seguridad de DevOps deben adaptarse al nuevo panorama y ajustarse a las pautas de seguridad específicas de los contenedores. Las tecnologías nativas de la nube no son adecuadas para las listas de verificación y las políticas de seguridad estáticas. Por el contrario, la seguridad debe ser constante y estar integrada en cada etapa del ciclo de vida de la aplicación y la infraestructura.

DevSecOps significa integrar la seguridad al desarrollo de las aplicaciones durante todo el proceso. Esta integración no solo requiere las nuevas herramientas, sino también un enfoque organizativo distinto. Los equipos de DevOps deben tenerlo en mente al automatizar la seguridad para proteger el entorno y los datos en general, así como el proceso de integración y distribución continuas; un objetivo que probablemente incluya la seguridad de los microservicios en contenedores.

Fuente | RedHat

jueves, 14 de noviembre de 2019

Como bloquear una dirección IP desde .htaccess

Administrar una web es tener a cargo un montón de tareas que en muchas maneras se refiere a optimizar sus recursos, pero que también está ligado a analizar desde donde pueden llegar los próximos ataques.

Los que solemos utilizar el Servidor Web Apache2, tenemos una gran herramienta para implementar y es hacer uso del archivo .htaccess


.htaccess es una archivo de configuración del servidor web que permite extender algunas configuraciones para una aplicación en particular, activar y desactivar módulos, ocultar mensajes de error, redireccionar, evitar un Full Path Disclosure y limitar peticiones, etc.

Por otro lado, es sabido que cuando logramos detectar una actividad sospechosa desde algún origen asociado a su dirección IP, podemos comenzar a actuar de una forma pro-activa.

Con esto no quiere decir que se está recibiendo ataques, o caer en falsas paranoias, sino que se trata simplemente de actuar y avanzar.

Por ejemplo, si desde un archivo log notamos varios request en pocos en intervalos cortos de tiempo (milisegundos) o comenzamos a recibir mucho #SPAM desde un origen es momento de actuar.

Bloquear una dirección IP


Entre las bondades del archivo .htaccess es posible limitar los tipos de peticiones y las direcciones IP de su origen de la siguiente forma:

<Limit GET HEAD OPTIONS POST PUT>
 Order Allow,Deny
 Allow from All
 Deny from 91.200.12.
</Limit>

De esta manera estamos especificando no solamente los métodos que queremos bloquear como ser GET, HEAD, OPTIONS, POST y PUT, sino que además podemos especificar las direcciones IP o rangos de IP públicas desde donde estamos recibiendo una actividad distinta.

miércoles, 13 de noviembre de 2019

Nuevo WordPress 5.3 "Kirk"

WordPress 5.3 "Kirk", nombrado en honor al músico de jazz estadounidense Rahsaan Roland Kirk, ya está disponible para descargar. La actualización incluye un nuevo tema predeterminado llamado Twenty Twenty, mejoras en la interfaz de usuario destinadas a la accesibilidad y nuevas características del editor de bloques.


Esta versión recibió contribuciones de 645 voluntarios, que es el grupo más grande de contribuyentes para una versión de WordPress.

WordPress 5.2 tenía 84 millones de descargas antes del lanzamiento de WordPress 5.3.

La extensión JSON nativa de PHP ahora se requiere para cualquier sitio que ejecute WordPress 5.3 o posterior. Esto no debería ser un problema para la mayoría de los usuarios porque la extensión se ha incluido con PHP de forma predeterminada desde 2006. WordPress generará un error y cancelará el procedimiento de actualización si detecta que falta la extensión. Los usuarios que no puedan actualizar deberán ponerse en contacto con sus servidores web para habilitar la extensión.

Twenty Twenty: Nuevo tema predeterminado


WordPress está obteniendo una nueva capa de pintura. Anders Norén dirigió el equipo de diseño para el nuevo tema Twenty Twenty , que era una bifurcación de su tema Chaplin original .

El tema Twenty Twenty está completamente orientado a crear contenido con el editor de bloques con su estilo audaz y obstinado. Viene con una plantilla de portada y tiene un sistema de color personalizado diseñado para mantener accesible el contraste de color del sitio.

Características y mejoras del editor de bloques


WordPress 5.3 incluye características de las versiones 5.4 - 6.5 del complemento Gutenberg junto con correcciones de errores y mejoras de rendimiento de las versiones 6.6 y 6.7. Para los usuarios que no han estado ejecutando el complemento, deberían ver tiempos de carga más rápidos y respuestas más rápidas de las pulsaciones de teclas.

Otras características principales

El trabajo para el manejo de imágenes grandes entró en la actualización. En lugar de verificar el tamaño de los archivos, las imágenes de más de 2,560 píxeles se reducen y se usan como el tamaño de imagen "completo". Este cambio hace que las imágenes grandes estén listas para la web y disminuirá significativamente el tamaño de los archivos para muchos usuarios que cargan imágenes sin optimizarlas de antemano. Esto es común con las cargas de teléfonos móviles.

Para aquellos que prefieren mantener el tamaño original de las cargas de imágenes, que a veces es el caso de los sitios de fotografía, tome el complemento de Umbral Desactivar "BIG Image" .

La pantalla de estado del sitio introducida en WordPress 5.2 tiene algunas mejoras en la experiencia del usuario, como ajustar cómo funciona el indicador de calificación para mayor claridad. Los propietarios de sitios de WordPress también deberán verificar su correo electrónico de administrador cada seis meses. Esta característica es para ayudar a garantizar que los correos electrónicos de recuperación del sitio se envíen al lugar correcto cuando se produce un error. También sienta las bases para futuras características que se puedan construir sobre él.

Cambios de desarrollador

Los desarrolladores deben leer la guía de campo completa de WordPress 5.3 para asegurarse de que ninguno de los cambios afecte a sus complementos o temas. Algunos de los cambios incluyen los siguientes.

  • Soporte completo para PHP 7.4.
  • Manejo mejorado de fecha / hora.
  • La metaetiqueta Robots ahora se usa para disuadir a los motores de búsqueda de que enumeren un sitio.
  • Se agregaron nuevos operadores de comparación de meta-claves.
  • Ya no se permiten números enteros para las babosas del menú de navegación.
  • wp_die() ahora permite HTML personalizado.
Fuente | WP Tavern

martes, 12 de noviembre de 2019

Linux 5.4 rc7: novedades del nuevo lanzamiento del kernel

El pasado 10 de noviembre se anunció el lanzamiento del kernel Linux 5.4 rc7. Se trata del Release Candidate 7º de la versión 5.4 del núcleo libre. Y como es habitual, se ha encargado de anunciarlo Linus Torvalds. Que por cierto, recientemente comentó para un medio que ya no aportaba código a su propio proyecto, su trabajo se basa en leer y contestar correos electrónicos para tomar grandes decisiones sobre el rumbo de Linux.


Cuando alguien envía un parche él le puede responder con pseudocódigo, edita parches en ocasiones, etc. No es un programador ya como tal. De hecho, esto no es algo extremadamente nuevo, ya que la aportación de Linus en los últimos años ha venido a menos, y en los últimos años sus aportaciones eran muy escasas. Pero que nadie se alarme, esto no es ni mejor ni peor para Linux. El proyecto no va a cambiar por este motivo… Además, hay que asumir que en el futuro, si Linus lo deja, Greg se quedaría al mando y tal vez algún día en un futuro otro sustituto… Es ley de vida.

Dicho eso, como he dicho, ya tienes a tu disposición el kernel Linux 5.4-rc7 para probarlo si lo deseas. Pronto llegará la versión final de esta rama. Y en el caso de este RC, ya se intuye bastante bien cómo será. Nueva semana y nuevo rc, con no demasiadas cosas que destacar en cuanto al aspecto negativo, y con más cambios.

El nuevo código presenta un nuevo driver vboxsf (VirtualBox Shared Folders), se han dado unos 300 commits sin fusión, siendo esto último algo que no ha gustado demasiado a Linus. El resto de novedades están por todas las partes, el 55% de las aportaciones son de los drivers o controladores, como es habitual: redes, sistemas de archivos (octfs2, btrfs, Ceph,…), actualizaciones de arquitecturas (x85 y ARM64 principalmente), correcciones de algunas herramientas, del propio núcleo y VM, etc.

El propio Linus ha comentado que nada preocupa, pero que hay demasiado aportado como novedad, por lo que habrá un rc8 antes de la versión final para asegurarse de que todo está correcto. Debería llegar este mismo fin de semana, y será entonces cuando tome una decisión de lanzar la final o seguir, según cómo vaya el nuevo trabajo de desarrollo…

Si quieres descargar esta versión o cualquier otra – Kernel.org

Fuente | desdelinux

lunes, 11 de noviembre de 2019

¿Microsoft Defender para Linux? Llegará en 2020

Microsoft Defender para Linux llegará en 2020, según ha adelantado la compañía en la Ignite Conference 2019 celebrada esta semana, y en la que entre otras cosas se supo que Microsoft Edge para Linux también está en camino.


Los planes del gigante del software para con el ecosistema de Linux no pasan solo por llevar a la plataforma de código abierto su nuevo navegador web basado en Chromium. Harán lo propio con su suite de seguridad, que a principio de este año renombraron de Windows Defender a Microsoft Defender precisamente para allanar su asalto al espectro multiplataforma, comenzando por macOS.

Cabe señalar que este Microsoft Defender no es exactamente lo que el usuario de Windows entiende por Windows Defender, esto es, una aplicación gráfica de protección contra el malware o lo que de manera común se ha llamado siempre un antivirus, que también. Los de Redmomd se están tomando muy en serio el asunto y el sistema de seguridad integral que están diseñando pretende abarcar del escritorio Windows a aplicaciones como el navegador Edge o servicios en la nube como Office 365 y por supuesto Azure.

Así, cuando el pasado marzo renombraron el proyecto como Microsoft Defender y lo portaron a macOS, lo que en realidad están ofreciendo a los expertos en seguridad, no a los usuarios, es una interfaz para la línea de comandos con la que analizar el sistema de Apple. Esto es lo que se espera que hagan también con Linux, al menos hasta que aclaren un poco mejor en qué consiste la idea en su conjunto. De hecho, se sabía desde hace meses, pero ahora queda confirmado.

Es decir, lo que Microsoft quiere exportar al ámbito de la multiplataforma es su solución empresarial Defender ATP (Advanced Threat Protection o protección avanzada contra las amenzadas), la cual consta de funciones que van más allá de las necesidades típicas de un usuario de escritorio, incluyendo aislamiento de procesos e instancias de navegación web, análisis profundo de la red y otras.

Pero hasta que lo lancen y expliquen con detalle, no se sabe de qué características gozará esta particular versión de Microsoft Defender para Linux. En todo caso, no parece que vaya dirigida al escritorio de PC, aunque es probable que quien lo desee pueda utilizarla ahí. Y a la cuestión de quién puede querer eso, la respuesta es la que se da implícitamente en el anuncio: se trata de una iniciativa enfocada en el cliente corporativo.

Fuente | MuyLinux

sábado, 9 de noviembre de 2019

Coloreado de Sintaxis en Twig para Sublime Text 3

En estos últimos par de años, estuve trabajando en diferentes proyectos web con el Framework Symfony 3, entonces voy a aprovechar la oportunidad para mostrar como podemos instalar un Paquete en Sublime Text 3 para que reconozca la sintaxis de Twig.


Twig

Twig es un motor de plantilla para el lenguaje de programación PHP. Su sintaxis origina de Jinja y las plantillas Django. Es un producto de código abierto autorizado bajo Licencia BSD y mantenido por Fabien Potencier.​ La versión inicial estuvo creada por Armin Ronacher. El framework Symfony2 para PHP viene con un soporte incluido para Twig como su motor de plantilla por defecto.

Instalación del Paquete

Lo primero que vamos hacer, es abrir una terminal de comandos y dirigirnos hasta el directorio donde se encuentran los paquetes de Sublime Text 3

$ cd ~/.config/sublime-text-3/Packages/

Luego vamos a clonar el proyecto PHP Twig tmBundle directamente de su repositorio en GitHub de la siguiente manera:

$ git clone https://github.com/Anomareh/PHP-Twig.tmbundle.git Sintaxis-twig

Con esto vamos a crear el directorio Sintaxis-twig donde se va a encontrar todo el proyecto.

Finalmente, necesitamos mover el contenido del directorio Sintaxis-twig/Syntaxes a Sintaxis-twig osea un directorio más arriba.

$ mv Sintaxes-twig/Syntaxes/* Sintaxes-twig

Con esto es suficiente para que Sublime Text 3 reconozca la sintaxis de Twig, de todas maneras podemos verificar ingresando al Menú > View > Syntax > HTML (twig)

Ahora si editamos nuestras template vamos a notar que todo está funcionando correctamente.



Si te gustó este post te invito a que me dejes tu comentario o lo comparta en las redes sociales!

Saludos

jueves, 7 de noviembre de 2019

Sublime Text 3 como IDE de Programación

Hace mucho tiempo, en el blog expliqué lo que son los IDEs de Programación, herramienta que un buen programador debe saber escoger y que va a depender mucho de las necesidades de cada uno.


Si bien los IDEs suelen tener una gran cantidad de herramientas incorporadas que permiten al desarrollador optimizar su productividad al momento de escribir código, sin embargo cualquier editor puede ser un buen IDE, se los digo yo que escribí la mayoría del código de WPHardening en Vim y otra gran parte en Kate.

Sublime Text 3


Hoy les propongo ver como instalar un IDE que utilicé en algún momento en su versión 2 y que por estas fechas más y más programadores comenzaron a utilizarlo a diario.

Sublime Text es un editor de texto y editor de código fuente está escrito en C++ y Python para los plugins. Desarrollado originalmente como una extensión de Vim, con el tiempo fue creando una identidad propia, por esto aún conserva un modo de edición tipo vi llamado Vintage mode.

Se puede descargar y evaluar de forma gratuita. Sin embargo no es software libre o de código abierto​ y se debe obtener una licencia para su uso continuado, aunque la versión de evaluación es plenamente funcional y no tiene fecha de caducidad.

En próximos post, podemos ir hablando de las bondades que tiene Sublime Text, pero para comenzar veamos como podemos instalarlo en GNU/Linux

Instalación de Sublime Text 3


Ingresar en la Web oficial de Sublime Text 3 y escoger el último build para la plataforma que están utilizando, en mi caso Linux 64 bit.

Se va a descargar un archivo con extensión .tar.bz2, recordando que este tipo de archivo se encuentran comprimidos por bzip2 y empaquetados en sistemas tar.

El build que tengo descargado tiene como nombre sublime_text_3_build_3211_x64.tar.bz2

Para descomprimir el archivo, ejecutamos lo siguiente:

$ bzip2 -dc sublime_text_3_build_3211_x64.tar.bz2 | tar -xv

En este punto, se crea un directorio llamado sublime_text_3/ ingresamos y finalmente ejecutamos el Script llamado sublime_text

$ cd sublime_text_3
$ ./sublime_text

Una de las bondades por la que me gustar Sublime Text es que es super ligero y reconoce una gran cantidad de lenguajes de programación.

Si les gustó este post y quieren leer más post similares, los invito a que me dejen un comentario o compartan esta entrada en las redes sociales.

Saludos!

miércoles, 6 de noviembre de 2019

[ LIBRO ] Buenas Prácticas en Symfony 3.4

Symfony es un excelente framework para PHP, a mi entender muy organizado y con comandos que permite la generación de código muy simple y rápido. Sin embargo si no entendemos algunos conceptos puede que no sea la mejor opción.


Para ello, les quería compartir el Libro de Buenas Prácticas para Symfony donde además de explicar los conceptos fundamentales y sus funcionalidades, comparte la mejor forma de "hacer" cosas dentro del Framework.


Si no saben con que versión comenzar a trabajar, según su Roadmap que publicamos hace un par de entradas, lo mejor es escoger una versión LTS (Long Term Support) que para estos tiempos es la versión 3.4.x

El libro comprende temas tales como:

  • The Symfony Framework Best Practices
  • Creating the Project
  • Configuration
  • Organizing Your Business Logic
  • Controllers
  • Templates
  • Forms
  • Internationalization
  • Security
  • Web Assets
  • Tests
De más está decir que es un material de lectura, muy recomendado no solo para principiantes sino también para avanzados en el tema, ya que siempre es bueno entender y conocer pequeños tips que ayudan muchísimo.

Si te gustó este post o quieres compartir otro libro sobre estos temas, dejanos tu comentario o compartilo por las redes!

Saludos.

lunes, 4 de noviembre de 2019

WordPress 5.3 ya tiene fecha de publicación

A lo largo de estos últimos he seguido muy de cerca toda la evolución de WordPress, buscando estar actualizado en sus novedades y mejoras.


Actualmente se encuentra disponible WordPress 5.3 RC3 que corresponder a un Release Candidate y que de ninguna manera debería estar en un proyecto en producción, pero que sin embargo sirve para ir conociendo todas las novedades de la versión final.

El equipo de desarrolladores de WordPress anunció que el 12 de Noviembre del 2019 estará disponible la versión final de WordPress 5.3

Como primera gran novedad, WordPress 5.3 incluirá el theme por defecto llamado Twenty Twenty, que está basado en un Theme muy popular dentro de su directorio llamado Chaplin.

WordPress sigue apostando fuertemente a su editor de bloques llamado Gutenberg añadiendo más funcionalidades y comodidades, tanto para escribir el contenido como para mejorar el diseño de la web.

En proximos post, vamos a ir descubriendo más funcionalidades para esta última actualización grande de WordPress para lo que queda del año 2019.

Saludos!

domingo, 3 de noviembre de 2019

El roadmap de Symfony

Este año he trabajado bastante en varios proyectos junto a Symfony. Lo vengo siguiendo desde hace muchisimo tiempo y me parece que es un excelente Framework PHP que se va actualizando constantemente.


Tengo ganas de escribir algunos post relacionados, pero me gustaría que me dejaran sus comentarios si les gustaría avanzar con estos temas de desarrollo.

Sin embargo, si están interesados en iniciar un proyecto estoy seguro que van a necesitar conocer el roadmap del proyecto, para saber las fechas de lanzamiento y soporte del framework.

De esta manera, conociendo su calendario, van a poder determinar la versión en la que le conviene desarrollar estos proyectos. Por mi experiencia lo mejor es utilizar alguna versión LTS (Long Term Support) o versión de soporte extendido.

Calendario de Soporte de Symfony



Como pueden observar por el gráfico, si hoy están pensando en iniciar un proyecto y que el mismo se valla desarrollando en un tiempo, lo mejor es utilizar Symfony 3.4 que va a tener un soporte casi hasta el 2022. Tiempo suficiente para que el proyecto continúe madurando.

Hasta aquí quería acercarle el Roadmap de Symfony, un framework super recomendado para los proyectos web que quieran desarrollar.

Saludos!

sábado, 2 de noviembre de 2019

Larga vida a la línea de comandos

La terminal o línea de comando como muchos la conocemos o hacemos referencia a ella, es una de las entradas y salidas más primitivas de un sistema operativo.


Hace algunos años atrás era la única forma en que un operados podía realizar tareas con su computador. Con el tiempo las ventadas, mouse y otros dispositivos lo hicieron más simple y más populares, con lo cuál poco a poco estaba perdiendo terreno de popularidad.

Sin embargo, aquellos administradores o entusiastas que se iniciaron con GNU/Linux, de ninguna manera saltearon los primeros comandos tales como pwd, ls, cd, ...

En los últimos años, el mundo de las ventanas continuaba ganando terreno, sin mencionar que la web y sus nuevas tecnologías comenzaron a hacer sistemas más interactivos y simples para el usuarios, que al final es quien operan los sistemas.

Por otro lado, la rueda comenzó a girar y resulta que se volvieron a alinear los planetas a favor de la línea de comandos y no solo el Bash de Linux tomó más protagonismo sino también PowerShell de Windows, y lenguajes de programación se fueron haciendo más populares, como Python, Ruby, NodeJS y las tecnologías DevOps que hoy se están usando. Docker, Kubernetes, etc.

Todos estos condimentos estan haciendo que los DevOps y SRE, quienes en la actualidad tiene un protagonismo único en las infraestructuras TI, tengan la posibilidad de administrar y automatizar las tareas de despliegue de una forma que hace años parecía imposible.

Y ustedes, usan la línea de comandos? ¿Les gustaría aprender más de estos temas? Si tenes alguna opinión sobre estos temas, me gustaría que me dejes en los comentario y lo compartas con la gran comunidad de desarrolladores.

Saludos!

viernes, 1 de noviembre de 2019

Vim for Dev: 3 parámetros que siempre uso

Una de las primeras cosas que hago al finalizar la instalación de un GNU/Linux por ejemplo en alguna computadora personal o incluso en maquinas virtuales, es instalar y configurar mi Vim.


El universo de Linux se encuentra creado por una infinidad de archivos de configuraciones y siempre es necesario tener la posibilidad de utilizar algún editor de texto para realizar estas tareas que son diarias.

¿Por qué Vim?


Posiblemente no tenga una respuesta concreta, decir que es mas cómodo cuando cada acción que realizamos está basada en una combinación de teclas sería una contradicción debido a la inmensa cantidad de combinaciones. Por esa razón mejor digo que es por costumbre, por gusto o simplemente para poner a prueba la memoria.

Además de Vim, van a encontrar editores de consolas muy simples tales como ed, nano, mcedit o incluso sed.

Pero vim es mi favorito y junto a él, en su archivo de configuración general (/etc/vim/vimrc) me gusta dejar estos 3 parámetros seteados.

set background=dark

Con esta opción añadimos un fondo oscuro en la sección de edición que nos permite visualizar mucho mejor lo que vamos a editar, pintando palabras reservadas, otorgando una gran ayuda.

set tabstop=4

Con esto especificamos que una tabulación que realizamos es igual a 4 espacios.

set number

Finalmente con esta opción, le especificamos a Vim que nos muestre sobre el margen izquierdo el número de linea para visualizarla mucho más rápido.

Hasta aquí 3 opciones que uso siempre para mi editor Vim. Si te gustó este post te invito a que lo compartas o me dejes tus comentarios. Si tienes algunso tips mas para compartirlos nos hace saber en los comentarios!

Saludos!

Entradas populares