martes, 28 de enero de 2014

nusoap_client: Error: XML error parsing SOAP payload on line 1: Not well-formed (invalid token)

Este error nos aparecerá, al intentar consumir un WebService, mal montado, ya que en algún lugar tiene un echo, simplemente cambiamos los echo por return en el webService Server y arreglado ;)

miércoles, 22 de enero de 2014

Mejorar la velocidad de transferencia - Filecilla - FTP

Mi cliente FTP favorito Filecilla viene mal configurado por defecto, o por lo menos de forma mejorable, encontré estas opciones el otro día por hay trasteando, aburrido mientras subía unos 100 megas de una instalación de drupal.
Con estos sencillos pasos aumentaremos la velocidad de transferencia hasta en 5.

Lo Primero que debemos hacer es ir a Edición y allí opciones

Se nos abrirá una nueva ventana, en la que deberemos ir hasta transferencias, y cambiar el número de transferencias simultaneas a 10, que es el máximo que puede manejar Filecilla, dejando los demás valores como vemos en la imagen, que es como los trae por defecto. El siguiente paso sera darle a aceptar y listo, ya tenemos nuestro Filecilla descargando y subiendo archivos 5 veces mas rápido.


Un saludo y a disfrutarlo!!

jueves, 16 de enero de 2014

Comprobar todas las tablas de una base de datos - MySql

Cuando programamos web, es muy habitual usar bases de datos MySQL, en estos casos seguramente hayamos tenido la necesidad de usar la orden CHECK TABLE ''tablename'' para comprobar que nuestra tabla no este corrupta por alguna sentencia SQL que se haya quedado a medias, o por alguna otra razon; pero... y cuando lo queremos hacer en todas nuestras tablas??

Para ello deberemos entrar por SSH en nuestro servidor, logueandonos con nuestro usuario y contraseña, seguramente si estamos en un servidor compartido no tengamos acceso, en ese caso creo que lo mejor sera contactar con nuestro proveedor de hosting.
Una vez estemos logeados deberemos teclear en la consola lo siguiente:
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
Cambiando root por nuestro usuario de la BBDD; y la p es para que pida la pass, la cual deberemos teclear en la consola, recuerda que no aparecen ni *(asteriscos) ni nada mientras la escribes, no pierdas el hilo por que no sabras por donde vas, otra opcion es cambiar la -p de por -NuestraPassword aunque no se recomienda, ya que se enviaria sin encriptar, y quedaria legible para personas que pasaran cerca nuestra.
Un saludo y espero os resulte de utilidad

Conectar por SSH - PuTTY

Para conectar por SSH a un servidor necesitaremos su IP, un usuario y una password, tambien sera necesario un puerto, aunque por defecto es el 22
Un buen programa para Windows, aunque esta disponible para otras plataformas es PuTTY, de muy sencilla instalacción, y mas sencillo de usar.



Os dejo el link a su pagina de descargas, para que bajéis la versión que mas os convenga según vuestro sistema

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

miércoles, 15 de enero de 2014

Warning: call_user_func() expects parameter 1 to be a valid callback, function 'rules_events_entity_unchanged' not found - Drupal

Al actualizar el modulo de commerce coupon, a su nueva versión 7.x-2.0-beta1 lanzada hace unos días nos aparecerá un Warning en pantalla.
Para solucionar este error:

Warning: call_user_func() expects parameter 1 to be a valid callback, function 'rules_events_entity_unchanged' not found.

lunes, 13 de enero de 2014

Undefined variable: tab_root_map en _menu_translate() - implode() [function.implode]: Invalid arguments passed en _menu_translate() - Drupal

Para solucionar el error:

  • Notice: Undefined variable: tab_root_map en _menu_translate() (línea 787 de /home/admin/public_html/includes/menu.inc).
  • Warning: implode() [function.implode]: Invalid arguments passed en _menu_translate() (línea 787 de /home/admin/public_html/includes/menu.inc).

sábado, 11 de enero de 2014

Aparecen etiquetas HTML en selector de datos - Drupal

Me he encontrado con este error, en el Data Selector de las reglas en Drupal 7 me aparecían etiquetas HTML como podéis ver abajo; en lugar de un simple texto en el desplegable, desde el cual escoger la opción que mas nos interese en cada momento

viernes, 10 de enero de 2014

Funciones matemáticas - JS

Aquí os dejo una lista de los métodos matemáticos y sus descripciones disponibles en Java Script

MethodDescription
abs(x)Devuelve el valor Absoluto de x
acos(x)Devuelve el Arco-coseno de x, en radianes
asin(x)Devuelve el Arco-seno de x, en radianes
atan(x)Devuelve el Arco-coseno de x, es un número entre -PI/2 y PI/2 radianes
atan2(y,x)Devuelve el arcotangente del cociente de los valores
ceil(x)Devuelve el valor de x redondeado al siguiente Entero
cos(x)Devuelve el coseno de x, que debe pasarse en Radianes
exp(x)Devuelve el valor de E elevado a X
floor(x)Devuelve x, redondeado hacia abajo al Entero mas cercano
log(x)Devuelve el Logaritmo normal con base E del valor pasado
max(x,y,z,...,n)Devuelve el valor mas alto de los pasados
min(x,y,z,...,n)Devuelve el valor mas bajo de los pasados
pow(x,y)Devuelve el valor de x a la potencia de y
random()Devuelve un numero aleatorio entre 0 y 1
round(x)Redonde al Entero mas cercano
sin(x)Devuelve el Seno de x, que debe pasarse en radianes
sqrt(x)Devuelve la raiz cuadrada de x
tan(x)Devuelve la tangente del angulo pasado
Documento original:

jueves, 9 de enero de 2014

Acelerar envió de email en registro - Drupal

Esto me ha dado muchos comederos de cabeza, en mi instalación de drupal se enviaban los email super lentos, en especial los de confirmación de registro, y lo peor es que la pagina quedaba como cargando hasta que hacia el envió, en ocasiones hasta 5 minutos....
la solución es tan sencilla como añadir en /etc/host la siguiente linea:

127.0.0.1 localhost NombreDelServer

miércoles, 8 de enero de 2014

Problemas con paginadores en views - Drupal

Hoy me encontrado con un gran problema no me funcionaba ningún paginador en mi instalación de Drupal 7, he estado haciendo pruebas, y me dado cuenta de que todos los paginadores los generaba desde las vistas (view) por lo que me creado una desde 0 y para mi sorpresa esta si  funcionaba, he ido añadiendo filtros, y demás características como las que tenia publicadas, pero seguía funcionando, recordé que antes de las vacaciones habilite la cache para las vistas ya que asi mejora el rendimiento (que en drupal deja mucho que desear).

Constantes - IOS

para usar las constantes en IOS, crearemos una nueva clase en nuestro proyecto, llamada Constantes, lo cual con creara 2 nuevos archivos, constantes h, y constantes.m, ambos archivos los ordenaremos en un nuevo group llamado constantes (esto ultimo es opcional, solo se usa para mantener mas ordenado el código)

Las declaraciones de nuestras variables, en este caso constantes, se efectuaran en el *.h, en nuestro ejemplo en Constantes. h

es una buena practica usar: FOUNDATION_EXPORT para que nuestras constantes puedan usarse en otros lenguajes

FOUNDATION_EXPORT NSString * const kTexto;

después en el ,m les daremos el valor

NSString * const kTexto = @"Esto es un texto";

Deberemos importarlo en la clase que necesitemos usarlo con #import "Constantes.h" si el import lo hacemos en el .m de una clase estada disponible solo en el .m, si lo hacemos en el .h estada disponible en el .m y .h de la clase en concreto.

#import "Constantes.h"

Si necesitamos importarlo en todo el proyecto tenemos un archivo dentro de Supporting Files, llamado: nombre_de_nuestro_proyecto-Prefix.pch
en donde podremos hacer el import.
Para importar un framework escribiremos su nombre entre < > pero para hacerlo de una clase " "

Dejo el proyecto de ejemplo en:
github: Ejemplo de Constantes en IOS


Crear nueva clase - XCode

Algo muy habitual al programar con nuestro XCode es crear nuevas clases, para ello:

  1. Deberemos ir al Project navigator
  2. Una vez alli ahremos click derecho sobre el proyecto y le daremos a New File
  3. Se nos habrira una nueva ventana en la que deberems seleccionar Cocoa Touch y dentro de las opciones disponibles Objective-C Class
  4. Finalmente deberemos seleccionar el tipo de SubClase que sera, y darle un nombre

martes, 7 de enero de 2014

Convertir a int - IOS

al igual que en otros lenguajes tenemos la funcion parseInt() para convertir un texto ,u otro tipo de dato a entero, en IOS, debemos usar:

intValue

un ejemplo de uso seria:

int entero = 0;
NSNumber *enteroClase = [[NSNumber alloc] initWithInt:21];
entero = [enteroClase intValue];

lunes, 6 de enero de 2014

Implicit conversion of 'int' to 'id' is disallowed with ARC - IOS

Este error suele darnos en un código de este tipo:

int entero = 21;
NSMutableDictionary *diccionario = [[NSMutableDictionary alloc] init];
[diccionario setObject:entero forKey:@"numero"];
Es debido a que no podemos meter un int (ni ningún dato de tipo escalar) en un Dictionary, para hacerlo deberemos usar un NSNumber, asi que cambiado:

int entero = 21;
por NSNumber *entero = [[NSNumber alloc] initWithInt:21];

Lo tenemos arreglado.

PD: lo mismo nos ocurrira en un array

miércoles, 1 de enero de 2014

Cambiar el tamaño de imagenes en VB.NET

Con estas sencillas lineas podemos cambiar el tamaño de una imagen y guardarla donde queramos

Dim imagen As New Bitmap(New Bitmap(rutaOriginal), 320, 288)
imagen.Save(rutaDestino, System.Drawing.Imaging.ImageFormat.Jpeg)

Donde sustituyendo rutaOriginal por la ruta del archivo de origen y rutaDestino por la ruta donde se guardara la nueva imagen, lograremos cambiar el tamaño en este ejemplo a 320x288 px recuerda, la primera unidad es el ancho y la segunda el alto.

Espero os sirva de ayuda ;)