Sistemas & Desarrollo

encontrados: 35, tiempo total: 0.114 segundos rss2
3 meneos
23 clics

Cómo eliminar datos permanentemente con ‘shred’

Seguro que más de una vez te ha pasado que borras por accidente algún dato, o pensaste que ya no era necesario y resulta que luego necesitas recuperar esa información y que gracias a algún programa o a algún código logras recuperar; pero, ¿qué sucede si necesitas eliminar datos de manera permanente? Así como existen las herramientas de recuperación también podemos encontrar herramientas de destrucción, como shred.
114 meneos
3017 clics
La velocidad del tiempo [ENG]

La velocidad del tiempo [ENG]

¿Cuánto tiempo se tarda en leer la hora? ¿Cómo medirías el tiempo? Estas extrañas preguntas salieron a la luz en 2014 cuando Netflix estaba cambiando los servicios de CentOS Linux a Ubuntu, y ayudé a depurar varios extraños problemas de rendimiento, incluido el que describiré aquí. Si bien es poco probable que vuelva a encontrarse con este problema específico, lo interesante es este tipo de problemas y el método simple de depurarlo: una combinación pragmática de herramientas de observación y experimentación.
62 52 0 K 52
62 52 0 K 52
6 meneos
62 clics

Arranca en Europa el 'pasaporte COVID' con temor hacia los ciberataques: así es como pueden usarlo para robar tus datos

Los peligros asociados a este certificado se centran en la falsificación y venta ilegal o en su utilización como señuelo para lanzar un ciberataque. Uno de los principales problemas con el 'pasaporte Covid' es que la gran mayoría de ciudadanos no conoce este documento, no sabe qué aspecto tiene, cómo se emite o qué información comparte. Debes informarte bien de todo esto antes de lanzarte a pedir un certificado que se te ofrece.
11 meneos
111 clics
DwarFS, un sistema de archivos diseñado para reducir los datos redundantes

DwarFS, un sistema de archivos diseñado para reducir los datos redundantes

Marcus Holland-Moritz (un inginerio de software de Facebook) dio a conocer mediante una publicacion las primeras versiones de DwarFS, un sistema de archivos de solo lectura diseñado para maximizar la compresión y reducir los datos redundantes. Este sistema de archivos usa el mecanismo FUSE y se ejecuta en el espacio del usuario, el código está escrito en C++ y se distribuye bajo la licencia GPLv3. DwarFS se asemeja a los sistemas de archivos como SquashFS, cramfs y CromFS en sus tareas , y se puede usar para crear imágenes en vivo y reducir el tamaño de archivos con una gran cantidad de duplicados y datos duplicados (por ejemplo, almacenamiento de imágenes de máquinas virtuales).
2 meneos
35 clics

¿Cómo funciona realmente HTTPS? [ENG]

HTTPS es simplemente el protocolo HTTP estándar untado con una generosa capa de delicioso cifrado SSL/TLS. A menos que algo vaya muy mal (y puede), SSL impide ver o modificar las peticiones que componen la navegación web. SSL es lo que mantiene las contraseñas, las comunicaciones y los datos de las tarjetas de crédito seguros entre el ordenador y los servidores.
2 meneos
44 clics

Compiladores e intérpretes de ‘bytecode’ [ENG]

Aquí hay una entrada de blog sobre cómo escribir un pequeño compilador e intérprete de ‘bytecode’ en pequeños fragmentos, comenzando con las opciones más simples y aumentando el resto de la pila cuando necesitemos otros componentes.
14 meneos
169 clics
Cómo implementar cadenas de caracteres [ENG]

Cómo implementar cadenas de caracteres [ENG]

El lenguaje de programación C define una cadena como 'una secuencia contigua de caracteres terminada por e incluyendo el primer carácter nulo'. Como el carácter '' marca el final, a menudo lo llamamos terminación cero o nula. En los programas en C esto significa que una cadena es char* o char[n]. Históricamente esta representación es anterior a C y parece provenir de los ensambladores PDP-11. La principal ventaja de esta representación es la eficiencia del espacio, además de otros trucos como dividir una cadena larga en varias insertando nulos. Sin embargo, otros lenguajes de programación a menudo usan otras representaciones. ¿Cuáles más son posibles?
2 meneos
24 clics

Cómo funciona el sistema de archivos de Windows 95 [ENG]

Este libro, publicado en 1997, muestra el funcionamiento interno del sistema de archivos de Windows 95, incluyendo VFAT (el sistema de archivos FAT virtual), VREDIR (cliente de Microsoft Networks) y NWREDIR (cliente de Microsoft Netware). Además se anticipan algunos de los cambios que aparecerían en el sucesor de Windows 95 (con nombre en clave Memphis), como FAT32, volúmenes de hasta 2 terabytes y WDM. [ Enlace directo al libro: Inside the Windows 95 File System PDF 16,8 MB ]
17 meneos
311 clics
¿Cómo funcionan los sistemas basados en inodos?

¿Cómo funcionan los sistemas basados en inodos?

Después de ver cómo funcionan de forma genérica los sistemas FAT, saltamos a los sistemas de inodos. Estos se han usado tradicionalmente en sistemas UNIX (UFS, ext2), así que tradicionalmente ha existido una cierta rivalidad en las redes entre FAT e inodos similar a la de Windows/Linux. Lo cierto es que a nivel técnico cada uno tiene fortalezas y debilidades.
1 meneos
26 clics

Estructuras de Datos - Lista Enlazada

Hoy abordaremos un nuevo algoritmo, aprenderemos a implementar una Lista Enlazada, una estructura de datos bien importante y de las más usadas. Pudiéramos clasificarla como clásica ya que forma parte de esas estructuras de datos que todo programador debe conocer, de hecho, con esta podemos implementar otras estructuras de datos...
1 meneos
69 clics

Cómo el motor Unreal dibuja un fotograma [ENG]  

Desde que se tiene acceso al código fuente de Unreal Engine, es posible estudiar cómo este motor gráfico dibuja (render) un fotograma (frame). Aunque las rutas de dibujado son una bestia, es sencillo seguir las llamadas al API de bajo nivel. Para este estudio se ha utilizado una escena simple con varias propiedades, tanto estáticas como dinámicas. Entre ellas están la luz, niebla volumétrica, objetos transparentes y efectos de partículas para cubrir gran variedad de materiales y métodos de dibujado.
252 meneos
5977 clics
Cómo funciona Git (parte 1)

Cómo funciona Git (parte 1)

Git es una herramienta de control de versiones distribuida, pero en última instancia no es más que un gestor de contenido, y en este post entenderéis por qué. El núcleo de Git no es ni más ni menos que un mapa clave-valor de toda la vida, donde las claves son valores hash generados mediante el algoritmo SHA1, y los valores pueden ser varias cosas. En este post nos centraremos en los diferentes tipos de valor que Git puede almacenar.
124 128 5 K 52
124 128 5 K 52
20 meneos
382 clics
Cómo funciona Git (parte 2)

Cómo funciona Git (parte 2)

En el primer post de esta serie comenzamos a destripar el funcionamiento interno de Git, revisando los diferentes tipos de datos que Git soporta internamente dejando nuestro repositorio de ejemplo con un solo archivo llamado hello.txt en el directorio base conteniendo dicho archivo el texto “Hello World”. Tras hacer nuestro primer commit y añadir un tag, nos quedó la siguiente estructura interna.
18 2 0 K 30
18 2 0 K 30
7 meneos
190 clics

¿Cómo funciona la llamada al sistema ‘open’ en Linux? [ENG]

Como supongo que sabrás, nuestros programas interaccionan con el kernel mediante un mecanismo especial conocido como llamadas al sistema (system calls o syscalls). Si has escrito al menos un programa en C, sabrás que antes de hacer cualquier lectura y/o escritura a un archivo es necesario abrirlo. Para ello se utiliza la función ‘open’. En este caso es una función de la librería estándar (libc) y es ella la que se encarga de realizar la llamada al sistema por nosotros.
3 meneos
23 clics

Cómo escribir una página del manual (man page) de Unix [ENG]

Las páginas del manual (man pages) son comunes en sistemas UNIX y similares para proporcionar documentación en línea para comandos de usuario, bibliotecas, API, formatos de archivo y demás. Tan común, de hecho, que uno podría pensar que hay una herramienta mágica que los autores utilizan para escribirlos. Bueno, hay y no hay. Si consideras que vi o emacs son mágicos, o las herramientas de formato de texto nroff y troff, entonces ciertamente estarías en lo correcto. En este artículo de muestra cómo se crean dichas páginas del manual.
2 meneos
22 clics

OSQuery: información del sistema operativo en forma de tablas SQL [ENG]

OSQuery es un software de instrumentación de sistemas operativos para OS X/macOS, Windows y Linux que hace que el análisis de toda la información de estos sistemas operativos sea de alto rendimiento e intuitivo, ya que lo presenta en forma de tablas SQL. [Enlace directo a GitHub: github.com/facebook/osquery/ ]
2 meneos
32 clics

Comparativa de diferentes implementaciones SQL [ENG]

El objetivo de esta página es la de recopilar información relevante para aquellos que estan migrando SQL de un producto a otro. Las tablas siguientes comparan como los diferentes productos DBMS manejan las características SQL.
8 meneos
186 clics
Cómo el depurador (debugger) pone los ‘breakpoints’ [ENG]

Cómo el depurador (debugger) pone los ‘breakpoints’ [ENG]  

Estoy fascinado con los depuradores (debuggers). Tanto que escribí un pequeño y muy básico depurador como uno de mis recientes proyectos. En esta entrada voy a escribir lo que he aprendido acerca de cómo un depurador establece un breakpoint.
10 meneos
161 clics
Cómo evitar errores usando C++ moderno [ENG]

Cómo evitar errores usando C++ moderno [ENG]

Uno de los mayores problemas de C++ es tener un gran número de constructores cuyo comportamiento no está definido o simplemente es inesperado para el desarrollador. Estos problemas se identifican generalmente cuando se pasa el analizador estático que es, hasta donde sabemos, la parte donde mejor se detectan dichos errores, en la fase de compilación. Veamos qué técnicas de C++ moderno nos ayudan a escribir código simple y limpio para evitar este tipo de errores.
13 meneos
483 clics
Diez razones para migrar a MariaDB si todavía usas MySQL [ENG]

Diez razones para migrar a MariaDB si todavía usas MySQL [ENG]

La primera versión de MySQL fue lanzada en 1995 por MySQL AB. Aunque al principio fue lanzada como una base de datos para uso personal, pronto evolucionó a una base de datos empresarial. En 2008, Sun Microsystems compró MySQL y en 2009 Oracle compró Sun Microsystems. Fue debido a la desconfianza con la administración de Oracle sobre MySQL por lo que se creó un fork: MariaDB. Con el paso del tiempo, MariaDB ha reemplazado a MySQL en numerosos ámbitos, siendo estas diez razones las que consideramos más importantes para hacer la migración.
11 meneos
170 clics
Cómo plantarle cara al ‘legacy code’

Cómo plantarle cara al ‘legacy code’

Aunque podemos tener una discusión profunda sobre lo que es y lo que no es legacy code, hay un aspecto concreto que para mí puede marcar la diferencia, y es la confiabilidad con la que somos capaces de realizar cambios sobre el producto a medida que estos son requeridos por negocio. Si en una base de código en la que ciertas tarjetas de nuestro Kanban se eluden sistemáticamente por parte de los desarrolladores, se tiene un claro síntoma de que hay una gran porción del sistema sobre la que nadie quiere asumir el riesgo de su modificación.
27 meneos
824 clics
Por qué Uber cambió sus bases de datos de Postgres a MySQL [ENG]

Por qué Uber cambió sus bases de datos de Postgres a MySQL [ENG]  

La primera arquitectura de Uber consistía en una aplicación monolítica escrita en Python conectada a una base de datos PostgreSQL. Desde entonces, esta arquitectura ha cambiado bastante a un modelo de microservicios y nuevas plataformas de datos. Entre ellas destaca el cambio de PostgreSQL por Schemaless, una capa de abstracción sobre MySQL que construye una base de datos distribuida. En este artículo se explican las motivaciones técnicas que llevaron a dicho cambio.
8 meneos
218 clics

Xplain: explicando cómo funciona el sistema de ventanas X11 [ENG]  

¿Qué son las X? ¿Cómo interaccionan con mi tarjeta gráfica y mi teclado y ratón? ¿Para qué usan las X las aplicaciones? ¿Qué es Wayland y cómo encaja en el contexto? ¿Cuáles son los problemas de las X que nos han llevado a escribir un nuevo sistema de ventanas? Estas y otras preguntas son las que me han llevado a indagar sobre cómo funciona el sistema de ventanas de X11 y a escribir este artículo.
8 meneos
305 clics

Cinco errores que cometen los novatos al trabajar con bases de datos [ENG]

Cuando se empieza como un desarrollador, hay una enorme cantidad de cosas que captar. En primer lugar está el propio lenguaje; después, todas las peculiaridades del marco de trabajo; y después de eso (o tal vez antes) hay que mezclar el desarrollo con las interfaces de usuario. Y es en ese momento donde hay que decidir dónde almacenar todos los datos que se van a usar. Después de tantas cosas, quizás sea a la base de datos a la que menos importancia se le da, de ahí que surjan las malas prácticas.
8 meneos
225 clics
Cómo tener éxito en tu próxima entrevista de trabajo para desarrolladores

Cómo tener éxito en tu próxima entrevista de trabajo para desarrolladores

Seguramente estás un poco harto de tu empleo actual. Tienes un salario absurdo, tu jefe no valora lo que haces, a tu empresa sólo le importa vender y la parte de desarrollo es una carga y, en definitiva, cuando llega el domingo por la noche te acecha la gran depresión. Por tanto, te quedan dos opciones: o te acabas uniendo al clan de los vendedores, o te quedarás comiendo marrones y con un sueldo ridículo el resto de tu vida. En realidad hay una tercera: escapar. Por eso, necesitas un plan de acción sólido para tus próximas entrevistas.
11 meneos
145 clics
Un breve vistazo a cómo varios editores de texto gestionan sus datos textuales [ENG]

Un breve vistazo a cómo varios editores de texto gestionan sus datos textuales [ENG]

Esta es una reseña de cómo varios editores de texto gestionan sus datos textuales dentro de la memoria. Los programadores queremos las mejores herramientas para el trabajo, pero ¿qué significa lo mejor? Para algunos lo mejor de la edición de alta eficiencia física. Otros prefieren que sus editores sean totalmente eficaces para sacarles el máximo partido. Hay una carrera para conseguir estas características y en este artículo se muestra qué han elegido sus desarrolladores para conseguirlas.
« anterior12

menéame