Bienvenido(a) a Proyecto Script

Hola!!!

Este es un buen lugar donde buscar las respuestas a tus dudas sobre "Programación", "Lenguajes", "Linux", "Electrónica", etc.

Suele ser difícil buscar en la red y encontrar respuestas claras y en español a muchas preguntas sobre estos temas, así que aquí tienes un buen lugar para iniciar.

Quieres ser parte de esto, solo ¡regístrate!

martes, 24 de junio de 2008

Registro de Nick en IRC

Muchos de los canales de IRC, solicitan que los nicknames (o apodos) sean registrados, unos servidores (como por ejemplo Freenode) lo requieren para entrar a algún canal y otros simplemente para mandar mensajes privados a los integrantes del canal.

Aquí escribo los pasos básicos para realizar este proceso:

  • Una vez dentro del servidor hay que elegir el apodo (de hecho para entrar al servidor se debió haber elegido un nick) pero si se quiere cambiar se puede hacer con el siguiente comando: /nick nuevo_nombre.
  • Después si el apodo ha sido elegido lo notificará en tal caso pide autentificarse (lo cual se explica mas adelante), en caso de que el apodo este libre hay que registrar la contraseña y un correo electrónico relacionados con el apodo, esto se hace con el siguiente comando: /msg nickserv register <password>, o /msg nickserv register <password> <email> (es importante escribir un correo electrónico válido porque ahí se enviará una confirmación de registro que hay que realizar forzosamente).
  • Una vez realizado el paso anterior es posible que se mande un correo electrónico para confirmar el registro, en tal caso ahí se envían unas instrucciones para enviar el código de verificación del registro.
  • Y por ultimo lo que queda es iniciar sesión con este apodo (nombre de usuario) y con su contraseña registrada, con el siguiente comando /msg nickserv identify password.
Por ejemplo imaginemos que mi apodo es 'usuarioirc', la contraseña es 'claveirc' y el correo eletrónico al registrar es 'micorreo@miservidor.com', el registro sería de la siguiente manera:


/nick usuarioirc
/msg nickserv register claveirc micorreo@miservidor.com
...
/msg nickserv identify claveirc


Digg!

domingo, 15 de junio de 2008

Mas sobre JSTL

Bueno,hoy quiero compartir algo de lo que aprendí haciendo mi proyecto con JSP y JSTL.

Intente hacer todo el proyecto usando las librerías estándar que ofrece JSTL 1.1, evitando el uso de java tradicional.

Mientras iba avanzado en el proyecto me di cuenta de que no se puede reemplazar uno por el otro; aunque JSTL engloba las funciones principales JSP tiene más ventaja para nosotros los que no estamos familiarizados con la web.

Un ejemplo de ello en mi sistema fue cuando generé una lista de captura de calificaciones de asignaturas (mostrando las calificaciones de acuerdo al grado y/o al plan de estudios y nombrando los SELECT de las calificaciones con el nombre de la asignatura), pero en la página donde recibí el valor no pude referenciar la variable de ningun modo por que en ${param.atributo} atributo no es un string y eso me genera un grave problema a la hora de iterar.
En cambio si hubiera usado algo del lenguaje java pude haber creado un arreglo de String con los nombres de las materias de dicho grado y/o plan de estudios e insertar los valores con request.getParam(arreglo[posicion]); .

Con esto no digo que JSTL no sirva ni mucho menos, es mucho más fácil usar DBCP con JSTL, solo indicando el dataSource como atributo de la etiqueta
en lugar de crear objetos Context,DataSource... en fin, aprendí que combinando estas dos cosas podemos hacer cosas muy hermosas y funcionales:D.

Quizá muchos de ustedes ya sepan eso, pero yo tuve que aprenderlo del modo difícil y quiero que el próximo que este en una situacion similar lo piense dos veces antes de hacer a un lado el buen lenguaje java.


Digg!

sábado, 14 de junio de 2008

Avira Antivir License File

Seguramente los usuarios del programa de Antivirus Avira AntiVir a la hora de hacer la actualización de la definición de virus, les ha pedido este programa un archivo de licencia.

Sucede que si vamos a la página oficial del programa, deberíamos encontrar una forma rápida para descargar este archivo, pero bajo el esquema espacial del sitio en estos momentos, simplemente no se encuentra en la sección de soporte, descargas, ni ninguna.

Resulta que existe una liga a este archivo en la sección Support, después a FAQ y finalmente en la primera pregunta del FAQ se encuentra la liga a este archivo, por si las dudas aquí pondré una liga a el:

Debido a que los administradores de ese sitio pueden cambiar la url hacia este archivo (y obviamente yo no tengo control sobre eso) es posible que la liga se rompa, en ese caso por favor envienme un mensaje informando este caso y aún mejor la nueva ruta para que se actualize.

Digg!

lunes, 9 de junio de 2008

Railscasts

A todos los programadores de Rails muy seguramente les servirá esta página, se llama Railscasts, la cual tiene pequeñas "recetas de cocina" sobre el trabajo con Rails. Y para los que están cansados de que cuando le preguntan a alguien los manda a Google, aquí a parte de dar soluciones tienen un video como demostración para ver la implementación paso a paso. Vale la pena tenerlo entre los favoritos y hasta tener el feed suscrito.

Digg!

domingo, 1 de junio de 2008

Error al generar controlador con Login_Generator en Rails 2.0

Tratando de implementar un sistema de seguridad por logeo en una aplicacion en Rails 2.0, uno de los pasos señala que hay que generar un controlador con la siguiente instrucción:

ruby script/generate login <controlador&rt;

En mi caso lo hice así:

$ ruby script/generate login Security
    create lib/login_system.rb
    create app/controllers/security_controller.rb
    create test/functional/security_controller_test.rb
    create app/helpers/security_helper.rb
    create app/models/user.rb
    create test/unit/user_test.rb
    create test/fixtures/users.yml
No such file or directory - /usr/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/rails_generator/generators/components/scaffold/templates/layout.rhtml
$


Revisando un poco el directorio para comprobar si realmente ese archivo no existia me di cuenta que si existe, pero con otro nombre:

$ ls -l /usr/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/rails_generator/generators/components/scaffold/templates/
total 40
-rw-r--r-- 1 root root 2464 may 13 23:47 controller.rb
-rw-r--r-- 1 root root 1256 may 13 23:47 functional_test.rb
-rw-r--r-- 1 root root 46 may 13 23:47 helper.rb
-rw-r--r-- 1 root root 495 may 13 23:47 layout.html.erb
-rw-r--r-- 1 root root 1152 may 13 23:47 style.css
-rw-r--r-- 1 root root 463 may 13 23:47 view_edit.html.erb
-rw-r--r-- 1 root root 697 may 13 23:47 view_index.html.erb
-rw-r--r-- 1 root root 411 may 13 23:47 view_new.html.erb
-rw-r--r-- 1 root root 285 may 13 23:47 view_show.html.erb
$


Y como podemos ver si existe pero con la convención de nombres de la versión de Rails 2.0 (la cual es .html.erb) y no con la versión 1.2 (la cual es .rhtml).

Así que solo basta con hacer una copia del archivo con el nombre de la versión 2.0 a uno con el nombre de la versión 1.2:

$ cp layout.html.erb layout.rhtml

De esta manera ya existirá:

$ ls -l /usr/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/rails_generator/generators/components/scaffold/templates/
total 40
-rw-r--r-- 1 root root 2464 may 13 23:47 controller.rb
-rw-r--r-- 1 root root 1256 may 13 23:47 functional_test.rb
-rw-r--r-- 1 root root 46 may 13 23:47 helper.rb
-rw-r--r-- 1 root root 495 may 13 23:47 layout.html.erb
-rw-r--r-- 1 root root 495 jun 1 15:38 layout.rhtml
-rw-r--r-- 1 root root 1152 may 13 23:47 style.css
-rw-r--r-- 1 root root 463 may 13 23:47 view_edit.html.erb
-rw-r--r-- 1 root root 697 may 13 23:47 view_index.html.erb
-rw-r--r-- 1 root root 411 may 13 23:47 view_new.html.erb
-rw-r--r-- 1 root root 285 may 13 23:47 view_show.html.erb
$


Y con esto ya podremos seguir con la creacion del controlador (en mi caso aquí esta el ejemplo):

$ ruby script/generate login Security
identical lib/login_system.rb
identical app/controllers/security_controller.rb
identical test/functional/security_controller_test.rb
identical app/helpers/security_helper.rb
identical app/models/user.rb
identical test/unit/user_test.rb
identical test/fixtures/users.yml
overwrite app/views/layouts/scaffold.rhtml? (enter "h" for help) [Ynaqdh]
Y - yes, overwrite
n - no, do not overwrite
a - all, overwrite this and all others
q - quit, abort
d - diff, show the differences between the old and the new
h - help, show this help
overwrite app/views/layouts/scaffold.rhtml? (enter "h" for help) [Ynaqdh] Y
    force app/views/layouts/scaffold.rhtml
    identical public/stylesheets/scaffold.css
    create app/views/security
    create app/views/security/welcome.rhtml
    create app/views/security/login.rhtml
    create app/views/security/logout.rhtml
    create app/views/security/signup.rhtml
    create README_LOGIN
$


Digg!