Un servicio de correo electrónico suele ser algo personal. Sin embargo hay ocasiones en las que nos interesa que varios usuarios sean capaces de gestionar conjuntamente un buzón de correo. Podemos pensar el caso de una empresa en la que varios empleados reciben los mensajes de una dirección de correo determinada, por ejemplo info@miembpresa.com, y que de vez en cuando el jefe viene a echar un vistazo a dichos correos. O que, por ejemplo tenemos que enviar decenas o cientos de mensajes a otro usuario dentro del mismo servidor, podemos pensar en que un empleado deja la empresa y otro compañero va a encargarse de las conversaciones que tenga actualmente con los clientes.… Leer artículo completo
Programación de tareas en segundo plano para nuestras aplicaciones web (Introducción. Parte 1 de 3)
Las aplicaciones web se van complicando cada vez más. Es un hecho y es algo bueno. Los ordenadores tienen más potencia, y los creadores cada vez más opciones e imaginación para destacar sobre la competencia. Una práctica interesante es la posibilidad de realizar tareas en segundo plano o en un momento concreto del tiempo sin que exista una mediación por parte del usuario.
Tenemos varias posibilidades y en estos posts vamos a centrarnos en cada una de ellas.… Leer artículo completo
Implementación de filtros de contenido «después de la cola» en Postfix [Ejemplos en Bash y Python]
Como hemos visto en anteriores artículos, Postfix nos da una gran flexibilidad a la hora de aplicar reglar y filtros a los mensajes que van llegando. Como ejemplo tenemos la implementación de Milters. Estos filtros se ejecutan antes de introducir los mensajes en la cola de entrega por lo que, a veces, puede no ser lo que buscamos. Cuando filtramos un correo con milters, el emisor del mensaje va a saber si se entrega o no.… Leer artículo completoCómo comprimir y descomprimir datos en memoria o textos en 128 líneas o menos en C
Si queremos que nuestra información ocupe menos, ésta es una buena forma de conseguirlo. Muy útil cuando queremos transmitir información y reducir los bytes transmitidos, es lo que hacen muchas páginas web actualmente, el servidor nos manda la página comprimida y luego el navegador se encarga de descomprimirla antes de mostrarla y como por lo general se tarda menos en comprimir-enviar-descomprimir que en enviar sin comprimir antes es algo que acelera la navegación web.… Leer artículo completo
Lectura, escritura y eliminación de elementos de un array multidimensional en PHP usando separadores
Puede parecer muy complejo así dicho. Pero de lo que se trata es de proporcionar una forma más natural para acceder a lo elementos de un array en PHP. Nos podemos imaginar un array de configuración de una aplicación, donde encontremos apartados como cookies, idiomas, usuarios, rutas, urls, apis externas, bases de datos e infinidad de cosas más. Hace un tiempo veíamos una función para acceder a una clave de un array, comprobando antes la existencia de esa clave y dándonos la opción de devolver un valor por defecto en caso de que dicha clave no exista.… Leer artículo completo
Usando SQLite en nuestros programas en C/C++ (I)
Foto: Eirik Stavelin (Flickr CC-by)
A menudo, nuestros programas necesitan almacenar información (temporal o no) de forma ordenada, rápida y que no nos complique la vida. Luego también necesitamos poder acceder a ella con la misma facilidad. Para eso vale SQLite. Tendremos un pequeño motor de base de datos que con sólo un par de archivos (.h y .c) más un archivo de datos lo tendremos todo listo.Una pequeña introducción
SQLite nos proporciona una forma muy sencilla de introducir y eliminar información (si estamos familiarizados con el lenguaje SQL) sin las complicaciones de tener un motor de base de datos corriendo (MySQL, MariaDB, PostreSQL, MSSQL…).… Leer artículo completo
Cliente TCP no bloqueante en C, en el que podemos enviar y recibir en cualquier momento
Hace tiempo veíamos un artículo de un servidor que fuera capaz de aceptar múltiples conexiones, ahora, toca le toca el turno a la implementación del cliente.
En principio, vamos a implementar un cliente sencillo, en el que conectaremos a un servidor y nos permitirá enviar texto que escribamos por teclado. No podremos recibir nada del servidor, pero nos servirá como primera aproximación:
… Leer artículo completo1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <errno.h>
#include <unistd.h>
#define MENS_MAX_LEN 500
void usage()
{
fprintf (stderr, "Wrong arguments.Recopilación de soluciones para los retos de #tuentiContest . Challenge #18
Últimamente he hablado acerca del I concurso de programación de Tuenti. Un concurso de programación Online que se llevó acabo durante la semana pasada (del 13 al 20 de Junio, muy mala fecha).
Podéis ver los enunciados de todos los problemas, con ejemplos sobre la entrada y salida (aunque a veces no hay que hacerles mucho caso) en la web oficial del concurso, pero en Vidas Concurrentes lo encontramos todo en español.… Leer artículo completo
Recopilación de soluciones para los retos de #tuentiContest . Challenge #14
Últimamente he hablado acerca del I concurso de programación de Tuenti. Un concurso de programación Online que se llevó acabo durante la semana pasada (del 13 al 20 de Junio, muy mala fecha).
Podéis ver los enunciados de todos los problemas, con ejemplos sobre la entrada y salida (aunque a veces no hay que haerles mucho caso) en la web oficial del concurso, pero en Vidas Concurrentes lo encontramos todo en español.… Leer artículo completo
Últimos comentarios