A veces no tenemos nuestro ordenador cerca, o tal vez necesitemos un entorno GNU/Linux con algún programa para una cosa rápida. Aprovechando que el núcleo de Android es Linux. ¿Podríamos instalar un entorno GNU con un XFCE, un Mate o algún programa así para trabajar?
Atentos al vídeo,
Es cierto que instalar un Gimp en una pantalla pequeña no nos sirve de mucho. Tal vez en una tablet vaya algo mejor, porque dibujar con el dedo está bien.… Leer artículo completo
En nuestra historia como programadores, hacemos infinidad de llamadas a funciones propias, de terceros, de biblioteca, a otros programas a un alias, etc Y si queremos que nuestros scripts sean lo más robustos posible, debemos tener claro antes de la ejecución que aquello que llamamos se puede ejecutar o dar opciones si algún comando o función no existe.
Por ejemplo, nuestro script necesita hacer una llamada a wget de este tipo:
wget -O salida http://totaki.com
Pero queremos hacer que sea compatible con otros sistemas, por ejemplo, con cURL, y no podemos cambiar uno por otro, pues con curl sería con o minúscula:
curl -o salida http://totaki.com
Nuestro script podrá ser:
1 2 3 4 5 6 7 8
if[-n"$(which wget)"]; then wget-O salida http://totaki.com elif[-n"$(which curl)"]; then curl -o salida http://totaki.com else echo"No puedo descargar el fichero" exit1 fi
De modo que probamos la existencia de diferentes programas y utilizamos el que tengamos a disposición.… Leer artículo completo
Este es un pequeño truco que, en ocasiones me ha salvado un poco de tiempo. Un mini-post que tenía ganas de compartir por aquí y que hoy voy a empezar por el final. Es decir, poniendo el código:
1
$ diff<(comando 1)<(comando 2)
Con esto, ejecutamos el comando 1, luego el comando 2 y se lo pasamos a diff en forma de pipe creada expresamente para la ocasión.… Leer artículo completo
Otra de las características que dan a C++ mucha más flexibilidad son los punteros a miembro. Éstos nos permiten trabajar con elementos que podemos encontrar dentro de una clase, un struct o una union. Y el mejor ejemplo lo encontramos a la hora de hacer callbacks, si repasamos los callbacks en C inmediatamente veremos que en un lenguaje orientado a objetos necesitamos poder acceder a métodos dentro de una clase. Si hacemos un ejemplo parecido al de aquel post, podemos demostrar que la misma manera podemos acceder a métodos estáticos dentro de la clase:
/* DECLARACIÓN DE LLAMADORA */ void generaecos(funcion_callback func) { int num; cout<<"Voy a llamar al eco con el texto HOLA"<< endl; num=func((char*)"HOLA"); cout<<"La he llamado y me ha devuelto: "<< num << endl; }
int main() { generaecos(MyClass::eco); }
Pero cuando queremos llamar a un método no estático de la clase fallará sin miramientos, ya que necesitaríamos la información del objeto en el que se encuentra el método, y de esta forma estaríamos pasando directamente una dirección de memoria (al ejecutar la función no encontraría el puntero this, entre otras cosas).… Leer artículo completo
Si te ha gustado el sitio, te ha resultado útil o simplemente quieres colaborar con el sitio para que siga compartiendo contenidos, invítame a un café, una pizza, una ensalada, o lo que se te ocurra.Te lo agradeceré eternamente :)
¡Atención! Este sitio utiliza cookies propias y de terceros para mejorar la experiencia de usuario, Si continúa la navegación en el sitio, asumo que estás de acuerdo con esto, aunque siempre puedes desactivar las cookies en tu navegador. AceptarLeer más
Últimos comentarios