sábado, noviembre 15, 2014
Android Asset Studio: Generador de Iconos online Android
Bueno aquí les dejo un link para las personas que necesiten adaptar o redimensionar sus iconos para aplicaciones Android a diferentes resoluciones o tamaños de pantalla de manera rápida y online.
Recurso:
http://romannurik.github.io/AndroidAssetStudio/index.html
Sublime Text y Emmet - Abreviando código HTML5
Hoy publico un video de como aprender algo de sublime text, el cual es un excelente editor de código con muchísimas características.
En este video de DevCode-la nos enseña a usar Sublime Text y Emmet de una manera práctica en 20 minutos.
Recursos
Sublime Text: http://www.sublimetext.com/Emmet: http://emmet.io/
lunes, noviembre 10, 2014
Integrando Brackets and Phone Gap Build - Mac
Este es un video de Adobe por Christian Cantrell Engineering Manager and Evangelist.
El video muestra como cargar una aplicación desde Brackets al PhoneGap Build, asi como integrar un proyecto ya existente. (Video en Ingles)
Brackets una alternativa distinta a Dreamweaver y opensource.
sábado, octubre 25, 2014
Solución Error [Android SDK Home] Titanium Appcelerator
Error:
[Android SDK Home] No Android SDKs were found under the specified SDK location.
Hola
aqui les dejo la solución al error que aparece en Titanium Appcelerator que no reconoce las SDK de Android en
Windows.
Lo que hay que hacer es eliminar el fichero "genymotion.js" del directorio "C:\Users\TuUsuario\AppData\Roaming\Titanium\mobilesdk\win32\3.4.0.GA\node_modules\titanium-sdk\lib\emulators".
Lo que hay que hacer es eliminar el fichero "genymotion.js" del directorio "C:\Users\TuUsuario\AppData\Roaming\Titanium\mobilesdk\win32\3.4.0.GA\node_modules\titanium-sdk\lib\emulators".
De esta manera reconoce las las SDK de Android Titanium 3.4.0.
Otros comentarios proponen borrar el archivo C:/Users/<MyName>/.titanium/config.json pero a mi no me funcionó.
Link del Artículo original:
lunes, mayo 19, 2014
Libreria Google Chart API para Codeigniter gCharts
Aqui les dejo una libreria que amplía la flexibilidad y el poder de gráficos de Google en CodeIgniter usando PHP5.
Enlace de descarga:
- https://github.com/kevinkhill/Codeigniter-gCharts
- http://kevinkhill.github.io/Codeigniter-gCharts/
Libreria o paquete Laravel LavaCharts - Google Chart API para PHP5.3+
Crea gráficas con Google Chart fácil con Laravel, con ayuda de la librería LavaCharts.
Aquí dejo enlace para descargar y Configurar:
- https://github.com/kevinkhill/LavaCharts
- http://kevinkhill.github.io/LavaCharts/examples.html
lunes, abril 28, 2014
Mysql - Ignorar - Actualizar - Remplazar Valores Duplicados
Casi
siempre al intentar ingresar registros duplicados, tenemos problemas con los
diferentes errores que nos arroja el sistema por razones obvias y nos detiene
todo el proceso de inserción de datos.
Para
prevenir esto podemos utilizar lo siguiente, de acuerdo a cada situación:
IGNORE: Ignora el registro a insertar si
ya existe.
INSERT IGNORE
INTO tabla
(id, valor, ...)
VALUES
(25, 'valor, ...)
REPLACE: "funciona exactamente como INSERT, excepto que si un valor de la tabla tiene el
mismo valor que un nuevo registro para un índice PRIMARY KEY o UNIQUE , el
antiguo registro se borra antes de insertar el nuevo.
Tenga en
cuenta que a menos que la tabla tenga un índice PRIMARY KEY, o UNIQUE usar un
comando REPLACE no tiene sentido. Es equivalente
a INSERT, ya que no hay índice para
determinar si un nuevo registro duplica otro".
Ejemplo:
REPLACE INTO
table_name(column_name1,column_name2,…)
VALUES(value1,value2,…)
En este
caso en la base de datos en la tabla offices este ejemplo insertará el registro
como nuevo:
REPLACE INTO offices(officecode,city)
VALUES(8,'San Jose')
Si
volvemos a utilizar replace, en la tabla offices como el ejemplo siguiente, San
José será reemplazado por San Mateo
REPLACE INTO offices(officecode,city)
VALUES(8,'San Mateo')
DUPLICATE
KEY UPDATE:
Actualiza la fila existente por la nueva a insertar, aunque tenga llaves.
Supongamos
que insertamos el siguiente dato:
INSERT
INTO
`library_lending`
(`user_name`,
`date`, `book_name`)
VALUES
('buddy', '2013-12-05', 'The-Hound-of-the-Baskervilles');
Ahora dos
dias despues intentamos:
INSERT
INTO
`library_lending`
(`user_name`,`date`,`book_name`)
VALUES
('buddy','2013-12-05','A-Study-in-Scarlet');
Y nos
aparece el error:
Error
Code: 1062. Duplicate entry 'buddy-2013-12-05' for key 'user_date'
Aqui en
esta ocación colocamos en acción el query:
INSERT
INTO
`library_lending`
(`user_name`,`date`,`book_name`)
VALUES
('buddy','2013-12-05','A-Study-in-Scarlet')
ON
DUPLICATE KEY UPDATE `book_name` = 'A-Study-in-Scarlet';
Ya solo
quedas que crees tu script en el lenguaje de tu preferencia para automatizar
los procesos.
Webs Consultadas:
http://www.mysqltutorial.org/mysql-replace.aspx
http://techdo.me/today-i-learned-insert-and-update-rows-with-mysql-on-duplicate-key-update/
https://dev.mysql.com/doc/refman/5.0/es/replace.html
sábado, abril 19, 2014
Laravel: Error Class 'Monolog\Logger' not found
Para solucionar este error hacemos lo siguiente:
- Cambiar en composer.json (directorio del proyecto) la linea"minimum-stability": "dev" por "minimum-stability": "stable".
- Ejecutar composer self-update.
- Ejecutar nuevamente composer update.
miércoles, febrero 05, 2014
Permitir acceso remoto root MySQL (Ubuntu )
Accedemos al archivo my.cnf:
Comentar la linea donde dice:
O podemos agregar:
Luego acceder a Mysql, escribir desde consola:
Desde dentro de mySQL ejecutar:
Salir de mysql.
Reiniciar el server mySQL:
sudo nano /etc/mysql/my.cnf
Comentar la linea donde dice:
#bindaddress = 127.0.0.1
O podemos agregar:
bindaddress = 0.0.0.0
Luego acceder a Mysql, escribir desde consola:
mysql u root p
Desde dentro de mySQL ejecutar:
GRANT ALL ON *.* TO root@numero_ip_remota IDENTIFIED BY 'password_del_usuario';
Salir de mysql.
Reiniciar el server mySQL:
sudo /etc/init.d/mysql restart
Recuperar contraseña root Mysql (Ubuntu server)
Para Recuperar la contraseña, debemos seguir los siguientes pasos:
1. Detener el servicio de mysql.
2. Iniciar mysql en modo seguro
Iniciar mysql
3. Abrir una ventana nueva y entrar a mysql
4. Cambiar a la base de datos mysql
5. Actualizar la contraseña del usuario.
6. Reiniciar permisos en la base de datos
7. Reiniciar el servicio y comprobar que funciona
1. Detener el servicio de mysql.
sudo service mysql stop2. Iniciar mysql en modo seguro
sudo mysqld —skip-grant-tables (no cerrar la ventana)Iniciar mysql
3. Abrir una ventana nueva y entrar a mysql
mysql4. Cambiar a la base de datos mysql
use mysql;5. Actualizar la contraseña del usuario.
UPDATE user SET Password=PASSWORD(‘contraseña’) WHERE user = ‘root’;6. Reiniciar permisos en la base de datos
FLUSH PRIVILEGES;7. Reiniciar el servicio y comprobar que funciona
(Fuente: forosdelweb.com)
jueves, enero 23, 2014
Ignorar Valores duplicados en MySql - (php)
Algunas veces necesitamos insertar valores a una base de datos y estos pueden estar duplicados. Al estar duplicados nuestro script puede detenerse y apara evitar esto podemos usar
IGNORE para ignorar el insert que no se pudo insertar:INSERT IGNORE
INTO tabla
(id, valor, ...)
VALUES
(25, 'valor, ...)
Espero sea de utilidad.
miércoles, enero 22, 2014
Tareas automaticas con Crontab (Cron Jobs) por Consola.
Bueno para crear Tareas Automaticas:
Editando el archivo crontab
Primero, para editar crontab, en el terminal escribes:
sudo crontab -eComo puedes ver, la entrada típica de crontab cumple con el formato:
[m] [h] [dom] [mon] [dow] [command]
Ahora miramos que significa cada parámetro:
Parámetro Significado Rango m minute (minuto) 0-59 h hour (hora) 0-23 dom day of month (día del mes) 1-31 mon month (mes) 1-12 dow day of week (día de la semana) 0-6 (0=Domingo) command command (comando)
Si miramos el archivo que se nos abre al ejecutar sudo crontab -e, veremos que nos indica que hay que escribir y en que orden.
Ahora vamos al grano con ejemplos:
Supongamos que queremos ejecutar un script el primero de cada mes, a las 4 de la tarde:
* 16 1 * * /home/usuario/Script/amarok/miscript
Ejecutar un archivo php para correr un envio de correos el primero de cada mes, además de todos los lunes, a las 4 de la tarde por ejemplo:
* 16 1 * 1 php /home/username/public_html/miphp.php
o Importar una base de datos:
* 16 1 * 1 mysql -u mysql_user -ppassword database_name < backup.sql
Otra manera PHP
* 16 1 * 1 /usr/local/php5/bin/php5 /home/username/public_html/cron.php
SSH
* 16 1 * 1 /bin/sh /home/username/public_html/file.sh
Supongamos que deseas que el script se ejecute cada tres horas el primero de cada mes a partir de las 4 de la tarde:
* "16-23/3" 1 * * php /home/username/public_html/miphp.php
Tambien podemos especificar dos o mas variables separadas por comas (,).
Ejemplos:
Ejecutar un archivo todos los lunes cada media hora
0,30 * * * 1 php /home/username/public_html/miphp.php
O cada 15 minutos sería:
0,15,30,45 * * * * php /home/username/public_html/miphp.php
ó de la manera pasada:
*/15 * * * * php /home/username/public_html/miphp.php
Ahora vemos como pasarle mas de un comando al Cron:
30 21 * * * cd /media/sda7/user/distributions/isos;wget http://mipagina/archivo.zip
Vemos que los parametros estan separados por punto y coma (;).
Para Ver la lista de tareas que hemos programado escribimos:
crontab -l
Para borrar nuestro crontab:
crontab -r lunes, enero 20, 2014
Configurar Netbeans como IDE de CodeIgniter
Aqui les dejo 3 páginas de cómo configurar Netbeans como IDE de CodeIgniter:
https://kenai.com/projects/nbphpci/pages/NBInstallero que sea de gran ayuda para aquellos que manejan CodeIgniter.
- http://www.walterdevos.be/codeigniter-and-netbeans-7-3-autocomplete
- http://www.qualityinfosolutions.com/configurar-netbeans-como-ide-de-codeigniter/
- https://kenai.com/projects/nbphpci/pages/NBInstall
https://kenai.com/projects/nbphpci/pages/NBInstallero que sea de gran ayuda para aquellos que manejan CodeIgniter.
Instalación Tomcat 7 - Apuntes
Para Instalar escribimos:
Agregamos al fichero de arranque del sistema:
Colocar las siguientes líneas:
Arranque:
Parada:
Ahora el servidor Tomcat deberia funcionarles a través del puerto 8080. La ruta local donde se encuentran las aplicaciones es /var/lib/tomcat7/webapps.
sudo apt-get install tomcat7Combiar los puertos por defecto:
/etc/tomcat7/server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
...
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Cambiar JVM
/etc/default/tomcat7JAVA_HOME=/usr/lib/jvm/java-6-sun
Agregamos al fichero de arranque del sistema:
$ sudo gedit /usr/share/tomcat7/bin/catalina.sh
Colocar las siguientes líneas:
#!/bin/sh JAVA_HOME="/ruta/jdk" JRE_HOME="/ruta/jre" ...
Crear usuarios
/etc/tomcat7/tomcat-users.xml<role rolename="admin"/> <user username="tomcat" password="s3cret" roles="admin"/>
Arranque:
sudo /usr/share/tomcat7/bin/startup.sh
Parada:
sudo /usr/share/tomcat7/bin/shutdown.sh
Ahora el servidor Tomcat deberia funcionarles a través del puerto 8080. La ruta local donde se encuentran las aplicaciones es /var/lib/tomcat7/webapps.
viernes, enero 10, 2014
Desinstalar Programas Ubuntu Server
Para borrar programas desde cero y configuraciones previas:
Ejemplo borrando nano
sudo aptitude remove --purge paquete
Ejemplo borrando nano
sudo aptitude remove --purge nano
Enviar Emails en Ubuntu Server con MSMTP Via Google SMTP
posted by Libor Jelinek
Table of Contents [hide]
mail() function, Bugzilla mailing feature and many others stuff originating from Linux/Unix universe.For this tutorial I chose MSMTP delegating to secured Google Apps (or Gmail) SMTP. However instructions apply to any SMTP.
Google Apps / Gmail SMTP ports
On Google Support article you find up-to-date SMTP server address and configuration. Google SMTP can be accessed only over secured TLS which complicates MSTMP setup a little.Get prepared
First off, install MSTMP on your box:$ sudo apt-get install msmtp
I always start with discovering remote server certificate with
--serverinfo
option. Also, for Gmail I changed default port 465 which never worked
for me to alternative port 587. Your output would be similar to the
following:$ msmtp --serverinfo --host=smtp.gmail.com --tls=on --tls-certcheck=off --port=587
SMTP server at smtp.gmail.com (ee-in-f109.1e100.net [173.194.65.109]), port 587:
mx.google.com ESMTP y12sm259113106eeb.11
TLS certificate information:
Owner:
Common Name: smtp.gmail.com
Organization: Google Inc
Locality: Mountain View
State or Province: California
Country: US
Issuer:
Common Name: Google Internet Authority
Organization: Google Inc
Country: US
Validity:
Activation time: St 16. únor 2011, 05:38:09 CET
Expiration time: Čt 16. únor 2012, 05:48:09 CET
Fingerprints:
SHA1: DB:A0:2A:07:00:F9:E3:23:7D:07:E7:52:3C:95:9D:E6:7E:12:54:3F
MD5: 02:4C:12:F3:37:1F:0C:C1:EB:10:4B:92:F7:F1:E0:DF
Capabilities:
SIZE 35882577:
Maximum message size is 35882577 bytes = 34,22 MiB
STARTTLS:
Support for TLS encryption via the STARTTLS command
AUTH:
Supported authentication methods:
PLAIN LOGIN
MSMTP configuration
MSMTP can be driven from command line for one-time use, or from user or system-wide configuration file. Configuration file location is listed on--version command.$ msmtp --version ... System configuration file name: /etc/msmtprc User configuration file name: /home/libor/.msmtprc ...
If system configuration file
/etc/msmtprc doesn’t exist, create it$ sudo touch /etc/msmtprc
Copy’n'paste & customize the following configuration for your Gmail/Google Apps account. Below I configured one account and again used alternative port 587. Consult MSMTP man page for more details.
# Default settings that all others account inherit defaults auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt # Logging - uncomment either syslog or logfile, having both uncommented disables logging at all. #syslog on # Or to log to log own file #logfile /var/log/msmtp.log keepbcc on # Gmail/Google Apps (configure as may as you want) account gmail host smtp.gmail.com port 587 from your@gmail user your@gmail password secretPassword # Default account to use account default : gmail
Because this file contains password in plain text you should cut down its permissions. Let’s make use of group called mail coming from default Ubuntu installation. Any process which is run under mail group member can read this file and therefore actually send email.
$ sudo chgrp mail /etc/msmtprc $ sudo chmod 660 /etc/msmtprc
Add any users who needs to be member of mail group (like your webserver user etc.)
$ sudo adduser www-data mail $ sudo adduser ... mail
Logging
If not configured differently, MSMTP has logging disabled at all. Hopefully MSMTP can be set to log to separate log file or syslog, but not both (it will stop logging).In
/etc/msmtprc or your user configuration file add/change key- logfile
/var/log/msmtp.logor whatever file you wish to log into dedicated file OR -
syslog onto enable syslog logging. Default facility isLOG_USERor specify with syslog .
/var/log/msmtp.log instead.If you log to file, it has to exists prior MSMTP can log into it. Therefore create & set permissions appropriately:
$ sudo touch /var/log/msmtp.log $ sudo chgrp mail /var/log/msmtp.log $ sudo chmod 660 /var/log/msmtp.log
Setting PHP to MSMTP
Open file/etc/php5/apache2/php.ini and change sendmail_path = "/usr/bin/msmtp -t"Restart Apache to gain permissions to read MSMTP configuration file and send emails
sudo service apache2 restartSymlink to sendmail
However MSMTP is binary compatible with sendmail, it doesn’t create sendmail executable in your path. Applications like Bugzilla has hard-wired link to sendmail executable and in current setup you will see error the following error whey you try to send email:There was an error sending mail from 'bugzilla-daemon@virtage.com' to 'support@virtage.com': Couldn't find 'sendmail' executable in your PATH and $Email::Send::Sendmail::SENDMAIL is not set.
To fix, symlink MSMTP to common places:
$ ln -s /usr/bin/msmtp /usr/sbin/sendmail $ ln -s /usr/bin/msmtp /usr/bin/sendmail $ ln -s /usr/bin/msmtp /usr/lib/sendmail
Try out MSMTP
Always use-v option to see all SMTP communication. MSMTP reads message body from stdin (as sendmail do).Create file called e.g.
testmail having the following contents:To: <username>@domain.com From: username@gmail.com Subject: A test Yadda, yadda, yadda.
And execute
cat testmail | msmtp komu@domain.comDo not merely use “echo ‘Yadda, yadda, yadda.’” instead of “cat test.mail”. This causes at least Gmail and Yahoo to deliver the mail incorrectly. Recipient specified as commandline argument is required however To recipient from file takes precedence over commandline.
You may also review msmtp.log with e.g.
tail /var/log/msmtp.logError “msmtp: account default not found: no configuration file available”
Can you see this error in console or in logs and mail is not actually sent? Check the permissions of/etc/msmtprc for user running msmtp. This error indicates that a process doesn’t have permission to read configuration file.Mail command
Many scripts assume existence ofmail command. For Ubuntu it could be installed via heirloom-mailx package.Mail offers commandline interface more suitable for scripting then msmtp. Send email with mail program is easy as
echo 'Hi from mail body' | mail -s 'Some subject' 'some@email'
Este artículo fue tomado de: http://goo.gl/WyXWiy
Ruta php.ini en Zend Server - Ubuntu
La Ruta php.ini en Zend Server es:
Para Reiniciar ZenServer:
/usr/local/zend/etc/php.iniPara Reiniciar ZenServer:
/usr/local/zend/bin/zendctl.sh restart
martes, enero 07, 2014
Cambiar Hora y Fecha en Ubuntu Server (consola)
Para cambiar la Hora o la fecha escribimos lo siguiente:
mm --> mes
dd --> día
yy --> año
hh --> hora
mm --> munutos
ss --> segundos
Hay mas opciones...
Para la Fecha:
sudo date -d mm/dd/yy
mm --> mes
dd --> día
yy --> año
Para la Hora
date -s hh:mm:ss
date –set=hh:mm:sshh --> hora
mm --> munutos
ss --> segundos
Hay mas opciones...
miércoles, diciembre 25, 2013
Permisos por consola – CHMOD (Ubuntu)
Aqui coloco al famoso "ugo" u (user) g (group) y o (others).
A Quien.....
| Letras | Significado |
|---|---|
u | El usuario propietario de los archivos. |
g |
El grupo al que pertenece el archivo. |
o |
Los otros usuarios |
a | all Todo lo anterior (una abreviación para ugo)
|
(letras)le damos permisos de.....
r |
Permission to read the file. |
w |
Permission to write (or delete) the file. |
x |
Permission to execute the file, or, in the case of a directory, search it. |
(o numeros)le damos permisos de.....
4 = lectura
2 = escritura
1 = ejecución
6 (4+2) = lectura y escritura
5 (4+1) = lectura y ejecución
3 (2+1) = escritura y ejecución
7 (4+2+1) = lectura, escritura y ejecución
EMPECEMOS
Hay dos opciones: la numérica y la alfabética:1.- chmod 777 NombreCarpeta
2.- chmod rwx NombreCarpeta
Si es una carpeta de root:
1.- sudo chmod 777 NombreCarpeta
2.- sudo chmod rwx NombreCarpeta
Si queremos que los ficheros y carpetas contenidos en NombreCarpeta, también reciban estos cambios (de manera recursiva), escribimos:
1.- chmod -R 777 Prueba
2.- chmod -R rwx Prueba
Ejemplos:
-
Queremos que el usuario tenga rwx, el grupo rw y los demás r, en la carpeta NombreCarpeta:
- chmod 764 NombreCarpeta
- chmod u=rwx,g=rw,o=r NombreCarpeta
Aquí tambien se puede aplicar -R
- Queremos que el usuario tenga rw, el grupo r y los demás r, en la carpeta NombreCarpeta:
- chmod 644 NombreCarpeta
- chmod u=rw go=rw NombreCarpeta
Para quitar los permisos, es igual solo tienes que reasignar los nuevos permisos.
EXTRA
Encontrar directorios (-type d) en el directorio actual (.) y darles acceso 755- find . -type d -exec chmod 755 {} \;
Encontrar archivos (-type f) en el directorio actual (.) y darles acceso 644
- find . -type f -exec chmod 644 {} \;
Encontrar archivos (-type f) html (-name '*.htm*') en el subdirectorio web (./web) y darles acceso 644
- find ./web -type f -name '*.htm*' -exec chmod 644 {} \;
Encontrar archivos/directorios con permiso 777 (-perm 777) en el # directorio actual (.) y darles acceso 755. La opción -print entrega más información sobre el resultado
- find . -perm 777 -exec chmod 755 {} \; -print
Ubuntu - Conectando a MySQL (error 2003)
Para resolver el error 2003 que se presenta al intentar conectarnos a nuestra base de datos MySql sobre Ubuntu (en este Caso), simplemente tenemos que hacer lo siguiente:
Modificamos el archivo
Modificamos el archivo /etc/mysql/my.cnf y cambiamos el bind-address a la dirección ip del equipo donde deseamos conectarnos o para acceder desde cualquiera colocamos 0.0.0.0
Suscribirse a:
Entradas (Atom)
















