Mostrando entradas con la etiqueta Landero. Mostrar todas las entradas

Mostrando entradas con la etiqueta Landero. Mostrar todas las entradas

Expresiones Regulares

Aviso: Este post fue tomado del blog de Fabian FCP y a mi parecer es información muy útil que vale la pena compartir (Espero que el autor no se moleste por esta publicación, de ser así, háganoslo saber, gracias). 

^[a-zA-Z0-9_-]{2,}@[a-zA-Z0-9_-]{2,}\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2,4})?$ ¿alguna vez han visto algo como esto? Tal vez en las clases de matemáticas o calculo algebraico ya que esto parece una fórmula matemática o física, o algo así, que solo lo entendería un ingeniero de la NASA (¿porque siempre ellos son los mejores?), pero no amigos esto es una expresión regular una sección de código universal que se usa en los buscadores de palabras o simplemente en una validación de datos, pero ¿cómo que validación de datos? Si eso se puede hacer contra una Base de datos y ya!, pero la verdad amigos del conocimiento eso gasta mucho recurso de sistema y además es tedioso para el Usuario final de alguno de nuestros programas, por ejemplo datos como Correos, Teléfonos, Celulares, Direcciones entre otros muchos datos que tienen una estructura definida o estándar

por ejemplo:
• Un correo siempre tendrá un símbolo @ en la mitad del correo
• Un Teléfono sea fijo o celular siempre serán números 



Eso por mencionar algunos, esos datos se pueden validar en el lado del usuario, solo con unas pocas líneas de código en cualquier lenguaje de programación. 

La mayoría por no decir todos los lenguajes de programación soportan expresiones regulares entre ellos están: 
• JAVA 
• .Net Framework
• javaScript
• PHP
• Pyton
• Pealr
• ActionScript 3 (AS3)

Las expresiones regulares o también llamados patrones nos sirven como ya mencionamos para validar datos, pero para ello usan una estructura estándar para realizar las validaciones por ejemplo en ^[a-zA-Z0-9_-]{2,}@[a-zA-Z0-9_-]{2,}\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2,4})?$ cada símbolo representa algo y sirve para algo dentro de la cadena expliquemos primero los símbolos básicos como son :
^ : representa el inicio de la cadena, eso quiere decir que el dato a validar debe empezar por el carácter o grupo de caracteres inmediatamente siguiente
$ : representa el fin de la cadena, es decir que el dato a validar debe terminar en el carácter o grupo de caracteres inmediatamente anterior 
[] : representa un grupo de meta-caracteres, es decir un rango de caracteres por ejemplo [a-z] representa que solo habrán letras en minúscula mientras que [A-Z] representaría letras en mayúscula, dentro de ellos se pueden colocar varios rangos y el los validara igual por ejemplo [a-zA-Z0-9_-] representa todas las letras ya sean mayúsculas o minúsculas y todos los números del 1 al 9 además de ellos acepta los caracteres de línea(-) y línea baja(_).
{} : representa un cuantificador de valor, es decir que el carácter inmediatamente anterior solo se repetirá sienta cantidad de veces por ejemplo A{3} quiere decir que la letra A mayúscula se repetirá 3 veces ni más ni menos, mientras A{2,} representara que la letra A se repetirá mínimo 2 veces máximo infinito, y A{2,5} representa que la letra A mayúscula se repetirá entre 2 a 5 veces 
(): representa un grupo de caracteres especifico por ejemplo (a|b|c)al quiere decir que la palabra tiene que empezar en a, b o c siendo validas aal, bal y cal ya que b y c están en el grupo de caracteres 
| : representa una decisión de OR en los grupos de caracteres. Solo se aplica en paréntesis ()
\ : representa el escape de un carácter: es decir que encuentre ese carácter en especifico, por ejemplo si queremos que nuestra expresión regular encuentre cadenas que contengan {} o [] tendríamos que colocarlas asi \{\} \[\] ya que [] y {} son usados por las expresiones regulares en los patrones creados. 
? : Es un cuantificador que dice que el carácter o grupo de caracteres inmediatamente anterior puede aparecer cero (0) o una (1) vez en la cadena 
* : es un cuantificador que dice que el carácter o grupo de caracteres inmediatamente anterior se repite de cero (0) a muchas veces 
+ : es un cuantificador que dice que el carácter o grupo de caracteres inmediatamente anterior se repite de una(1) a muchas veces 


Estos son los símbolos más importantes en la creación de expresiones regulares y los más usados por ende. 



Ya que sabemos cuál es la utilidad de cada simbolito ahora si expliquemos que hace y como lo hace nuestra expresión regular : 

^[a-zA-Z0-9_-]{2,}@[a-zA-Z0-9_-]{2,}\.[a-zA-Z]{2,4}(\.[a-zA-Z]{2,4})?$



cojamos parte por parte de la expresión y expliquémosla paso a paso : 

Esta parte indica que la cadena a validar inicia con cualquier carácter alfanumérico línea o línea baja y que mínimo deben existir 2 caracteres


Esta parte de la cadena indica que continua un carácter obligatorio en cual es el @, si ese símbolo es obligatorio esto es un correo, luego es seguido de varios caracteres alfanuméricos donde son mínimo 2 y debe continuar con un punto (.), ya que el punto también significa cualquier carácter en las expresiones regulares se le coloca el carácter de escape ( \ ). Representa en nombre del dominio donde esta el correo ya sea Hotmail Yahoo 


Representa la segunda parte del dominio ya sea .com o .es


Representa una parte opcional en los correos por ejemplo en dominios que sean como entidad.edu.co sirve para validar la ultima parte si es que existe y además indica el fin de la línea

--
@jclandero23

Libros de Diseño Gráfico (PDF's)

Hola a todos

Les traigo algunos libros (PDF's) que encontré sobre Diseño Gráfico, algo de Marketing, Fotografía, Teoría del Color, Diseño Web, etc...

NOTA: LOS ENLACES ESTÁN AL FINAL DEL POST

Contiene:
Actualización grafica
Análisis discurso visual
Animación bidimensional
Bases pág. web
Comunicación escrita
Creatividad aplicada diseño
Desarrollo campanas
Desarrollo de proyectos interactivos
Desarrollo pág. web
Desarrollo pensamiento creativo
Dibujo computadora
Dibujo natural
Diseño cartel
Diseño desarrollo marcas
Diseño editorial
Diseño editorial computadora
Diseño envases embalajes
Diseño grafico contemporáneo
Diseño identidad corporativa
Diseño tridimensional
Ética
Geometría descriptiva
Gestión
Gestión del diseño grafico versión final
Historia diseño
Historia renacimiento xvii
Historia xviii xx
Identidad medios
Infografía
Introducción comunicación
Introducción tipografía
Introducción sis impresión
Lab foto b/n
Lab foto color
Merca publicidad
Metodología diseño
Metodología investigación
Modelos teorías comunicación
Organización presentaciones
Percepción diseño
Planeación campanas
Postprensa
Pre prensa digital
Presupuestos costos
Problemáticas
Problemáticas del diseño grafico
Psicología
Psicología del color y la forma versión final
Retoque digital
Seminario comunicación
Seminario org
Semiótica
Señalética
Taller diseño b n
Taller diseño color
Taller ilustración avanzada
Taller ilustración grafica
Taller tipografía avanzada
tec sis imp
Técnicas bocetaje
Técnicas multimedia audiovisuales
Tecnologías de los sistemas de impresión versión final
Teoría conceptual

Pongo a su disposición los enlaces como archivo comprimido y para descargar cada uno por separado.

Saludos a todos!! =)

Un poco de Flex, AS3 y las RIA's

Hola amigas y amigos...

Antes de leer esto, les aclaro que no hablaré de la tableta de BlackBerry más de lo necesario, y además lo haré acerca de dispositivos Android, Flex, ActionScript3 (AS3) y mi experiencia en el tema. Además hago hincapié en los siguientes puntos: NO soy un experto, NO apoyo o rechazo algún entorno de desarrollo, compañía o dispositivo en específico, NO discutiré si Android, iOS o Blackberry son mejores entre sí, NO me importa si es software libre o de paga, etc... (si, eso último fue por UPIICSA Libre y demás fanáticos de Linux/Unix/etc... naa, eso último es broma! xD , saludos a todos!! )

Me encuentro escribiendo ahora para contarles un poco de mi experiencia con Flash Builder...

En el lugar donde trabajo me fue asignada la tarea de realizar una aplicación para la tableta Playbook de Blackberry, aparentemente la tarea era sencilla puesto que sé algo de HTML y Javascript, lenguajes que utilizaría con el Blackberry WebWorks SDK (para programar para tabletas y móviles usando HTML5 y JavaScript como lenguajes casi nativos con ciertas ventajas [SQL, API's nativas, Almacenamiento local, etc...])  pero a mi no funcionó, esto debido que nadie me dijo nunca que el Blackberry WebWorks SDK no es  taaan poderoso como yo lo necesitaba ¬¬

En resumen sobre ese tema diré que poco a poco me vi en la necesidad de explorar Flex/AS3/AIR y descubrí que es un lenguaje muy poderoso y con muchas opciones de desarrollo de aplicaciones web, móvil y de escritorio.

Éxisten conceptos básicos que necesitan saber para desarrollar aplicaciones con Flex y el Flash Builder:

RIA's

Las rich Internet applications, o RIA (en español "aplicaciones de Internet enriquecidas"), son aplicaciones web que tienen la mayoría de las características de las aplicaciones de escritorio tradicionales. Estas aplicaciones utilizan un navegador web estandarizado para ejecutarse y por medio de complementos o mediante una máquina virtual se agregan las características adicionales.
Las RIA surgen como una combinación de las ventajas que ofrecen las aplicaciones web y las aplicaciones tradicionales. Buscan mejorar la experiencia del usuario. (Más información...)

AIR
(Adobe Integrated Runtime) - AIR es una tecnología que permite la creación de aplicaciones de escritorio (de propósito general) a partir de tecnologías de desarrollo de páginas web, como pueden ser HTML, Ajax o Flash. Con Adobe AIR los desarrolladores pueden aprovechar sus conocimientos a la hora de crear páginas web para hacer aplicaciones multimedia para el escritorio. Es decir, a partir de un desarrollo de una aplicación web, crear una aplicación general con los mismos contenidos o utilidades del sitio web. (Más información... ó Aqui...)


FLEX
Flex es un conjunto de librerías – o framework – para desarrollo de UI ( User Interface por sus siglas en ingles). Aunque ActionScript 3.0 (AS3) es el lenguaje para programar aplicaciones usando el Flex framework, AS3 no es Flex. Si el código AS3 que se programe utiliza los componentes y métodos definidos en el Flex framework, entonces se esta usando Flex. Es decir, AS3 no es por si solo Flex.
Flex sirve para hacer Programas, NO animaciones. (Más Información... o aquí...)

ActionScript
Adobe ActionScript es el lenguaje de programación de la Plataforma Adobe Flash. Originalmente desarrollado como una forma para que los desarrolladores programen de forma más interactiva. La programación con ActionScript permite mucha más eficiencia en las aplicaciones de la plataforma Flash para construir animaciones de todo tipo, desde simples a complejas, ricas en datos e interfaces interactivas.
La versión más extendida actualmente es ActionScript 3.0, que significó una mejora en el manejo de programación orientada a objetos al ajustarse mejor al estándar ECMA-262 y es utilizada en las últimas versiones de Adobe Flash y Flex y en anteriores versiones de Flex.  (Más Información...)

MXML
MXML uno de los dos lenguajes que utiliza Flex para la creación de aplicaciones. Se trata de un lenguaje de programación jerárquico. Esto quiere decir que existe un nodo principal y de este nodo van a ir colgando nuevos nodos. A su vez, cada uno de los nodos descendientes del primero, pueden tener otros nodos descendientes.
MXML se basa en XML y su acrónimo "Macromedia eXtensible Markup Language", describe interfaces de usuario, crea modelos de datos y tiene acceso a los recursos del servidor, del tipo RIA's (Más Información... o aquí..., o aquí también!)

Pero bueno, por hoy esta será solo una pequeña explicación con información recopilada y un poco de mi cosecha. Pronto más del tema, ojalá les sirva! Saludos! =)

Cómo optimizar el rendimiento de la batería de un portátil

Jóvenes, traigo para ustedes una infografía que a mi parecer es muy útil para entender como mejorar el rendimiento de la batería de una PC Portátil.



Ojalá les agrade, saludos!

Fuente: Eroski Consumer
--
@jclandero23

Telmex Hub: Curso de Java Esencial

Jóvenes, le paso a dejar la información de un curso de Java que darán en el Telmex Hub Les paso la información.

El registro y el curso en sí son gratuitos, ahí mismo te prestan una PC para trabajar (eso me dijo 'El Lic'), solo deben registrarse para poder acceder.

Fecha evento:
19 Noviembre, 2011 - 11:00 - 15:00
Es un taller dedicado a aprender Java esencial en su versión Standar Edition
TEMARIO
  1. Intro
  2. Inicio rápido en Java
  3. Conceptos esenciales de objetos
  4. Variables
  5. Comportamiento de objetos
  6. Control de flujo, operaciones y mas
  7. Aprovechamiento de librerías
  8. Planea para el futuro
  9. ¿Polimorfismo?
  10. Vida y muerte de un objeto
  11. Introducción a GUI y manejo de eventos

Se requiere conocimientos de Linux y Windows, aunque si no los tienes, aprenderás lo necesario para poder tomar el curso. 


Agradecimiento especial a crystal_fox_20 por la información!
Saludos a todos, allá nos vemos!!
--
@jclandero23

UNAM: MobileCampMX PUMA 2011


El MobileCampMX PUMA 2011 traerá a los mejores programadores mexicanos para compartir su conocimiento con la comunidad universitaria. Revisaremos temas como:
  • Programación en Android
  • Programación en Appcelerator
  • Programación en iOS
Este 18 de Noviembre de 2011, nos veremos en el auditorio Raul J. Marsal en el Anexo de la Facultad de Ingenieria, UNAM. El mapa de acceso esta aquí. Comenzaremos a las 9:30am, con las siguientes platicas:
1. Nuevas oportunidades en la economía de Apps Móviles – Mauro Parra – Negoapps – 1:00h – En esta conferencia haremos un análisis del mercado de aplicaciones móviles, asi como las distintas tecnologías relacionadas y cómo podrían impactar en su próximo empleo.
2. Introducción al Phonegap Builder – Mauro Parra – Negoapps – 1:00h – En esta conferencia platicaremos acerca de la tecnología Phonegap para la creación de apps móviles multiplataforma, asi como el uso de la herramienta de Build que creó Nitobi.
3. Introducción a programación en Titanium Appcelerator – Radamantis Torres –NegoApps – 2:00h – En esta conferencia, Radamantis mostrará diversas formas de desarrollar apps móviles basadas en Titanium Appcelerator.
4. ¿Cómo mejorar el diseño y usabilidad en mis aplicaciones? – Aurora Rodriguez –Androideity –  1:00h – Plática orientada a compartir best practices de diseño y usabilidad en aplicaciones móviles, poniendo énfasis en la plataforma Android, planetando comparativas de aplicaciones existentes en el Andoid Market que siguen estos puntos y las herramientas disponibles que pueden utilizarse para mejorar esta parte en los proyectos.
5. Monetización en aplicaciones Android – Aurora Rodriguez – Androideity – 1:00h – No es secreto que las aplicaciones gratuitas son las más descargadas en Android, por ello resulta importante plantear el escenario de los que apuestan a desarrollar aplicaciones para esta plataforma, alternativas de monetización, cómo funcionan las más populares y cómo puedo obtener ingresos con mis aplicaciones.

Dejo aquí el Registro por si se animan =)



--
Tomado de http://mobilecamp.mx/

UNAM: Conferencias: APP Marketing y difusión de la cultura

Amigos y amigas, buen día a todos.

Escribo este post solo para comentarles que la UNAM abrió un ciclo de conferencias sobre aplicaciones móviles.

Les dejo información del evento en PDF y la página web del mismo:


Click para descargar
Saludos

ESIME exige apoyo!

Llegó esto a mi correo... no estaba enterado de esto... me pareció correcto publicarlo...
Buenas Noches amigos y familiares.

El motivo de este e-mail es para informarles a todos ustedes sobre lo que esta pasando en nuestra escuela ESIME Zacatenco, que como muchos de ustedes ya sabran (y los que no, pues precisamente para esto es este mensaje) ha habido muchos asaltos, robos y hasta secuestro express dentro de las instalaciones de la escuela. Creo que esto ya ha llegado demasiado lejos y creo que debemos de poner un alto a esta situación.

El miercoles 29 de septiembre, entraron a un salón del edificio 5 en el primer piso, 4 personas con armas de fuego, robarón y hasta golpearon a un compañero para quitarle sus pertenencias; hace unos meses secuestraron dentro de las instalaciones a una profesora de Humanidades, ya van varios reportes de autos robados y grupos que reportan que se meten individuos a robar sus laptops y celulares.

¡YA BASTA! No se ustedes pero yo ya estoy cansado de todo esto y que las autoridades no hagan absolutamente nada por resolver este problema. No quiero esperar a que me suceda a mi para hacer algo, sobretodo que alguien más salga herido o hasta pierda la vida por esta situación de violencia e inseguridad dentro de nuestras instalaciones.

Quiero hacerles llegar esta información ya que se dio el primer paso, pues el día de hoy martes 5 de octubre a las 08:03 hrs. en el programa "El Mañanero" Brozo recibió un mail acerca de esta situación en la ESIME Zacatenco. (Anexo video y liga de youtube).

Esto no es suficiente, ya que necesitamos que los compañeros que han sido agredidos hagan un relato de los hechos para que sirva como testimonio, para que se tengan los antecedentes de esta situación.

Otra cosa que necesitamos son propuestas de solución. Hay que proponer como podemos resolver esta situación, pero sobre todo no quedarnos callados y sin hacer nada.

Si alguien quiere responder con una propuesta o con un testimonio, en este mail serán bien recibidos y canalizados para que se le de seguimiento a este problema que tenemos desde ya hace varios meses.

Espero que compartan esta información con sus contactos de la escuela y externos y si pueden con alguna autoridad y medios de comunicación adelante, así nuestras voces seran escuchadas.

Gracias por el tiempo que dedicaron a leer este mail que es de importancia para todos y de verdad espero contar con su apoyo para poner fin a esta situación de violencia e inseguridad dentro de nuestras instalaciones.

Por favor transmite esta información y si tienes alguna sugerencia, duda, comentario, testimonio, propuesta de solución... Adelante!!! Será muy bien recibida.

Saludos a todos y gracias nuevamente por su tiempo.

La liga del video:

Para empezar...

Buen dia...

Mi nombre es Carlos Landero

Estudio el 3er semestre de Ingenieria en Informatica en la UPIICSA y me he tomado la libertad de convocar a algunos de los Politecnicos mas dedicados que conozco (o bueno... solo a los que conozco) para colaborar en este blog.

La idea es realizar un sitio de apoyo academido por y para alumnos politecnicos.

Esto no es un proyecto escolar, no es una tarea de etica o sistemas, tampoco es una pagina de idioteces Esto no corre a cargo de algun maestro o asesor, no...

Esto es nuestro, para nosotros...
por y para nosotros...

Y por 'nosotros', me refiero a las 16 vocacionales, a las escuelas de nivel superior, a todas las areas del IPN, a los que entraron de administracion a informatica y no saben usar un 'printf("Hola Mundo");', a los que no pueden pasar calculo porque no saben copiar un formulario en .pdf, a los q no encuentran la diferencia entre Seno y Coseno para un plano inclinado, a esos que se pasan la noche entera armando un proyecto final que empieza a funcionar a las 4:30 de la mañana, a los que estudian 5 minutos antes del examen y aprueban con calificacion alta, para esos que saben improvisar al exponer ante un auditorio, a los que de verdad les interesa superarse, a quienes les interesa el conocimiento, combatir a la ignorancia, demostrar la superioridad de su escuela, su segunda casa, del cual formamos parte, de esa red de mentes receptoras, esa comunidad de alumnos politecnicos!

Porque somos parte del Instituto Politecnico Nacional, la mejor escuela de Mexico...
Este blog es para ustedes...

El contenido debe ser [ de nuevo ] por y para politecnicos...

De una forma que los alumnos entendamos, que este hecho de una manera familiar para todos... con ejemplos que se ven en las aulas de UPIICSA, ESIME, ESIA, ESCOM, ESFM, CICS, UPIITA, UPIIBI, las vocacionales, etc...

Y NO con expliaciones de universidades chilenas o argentinas, o de un ingeniero de españa, que por muy buenos que sean, no son precisamente lo que los alumnos necesitamos para continuar con ese desarrollo intelectual que nos caracteriza...

Esto no es una pseudowikipedia, tampoco es un polilibro, no es una alternativa a "el Rincon del Vago" o los miles de foros de la web, esto es, una Colaboracion Voluntaria, nadie nos lo pide, nosotros les ofrecemos esto esperando sea de su agrado.

Sin mas por el momento...

¡HUELUM, HUELUM, GLORIA!
A LA CACHI CACHI PORRA!
A LA CACHI CACHI PORRA!

PIN PON PORRA!

PIN PON PORRA!

POLITECNICO!
POLITECNICO!
GLORIA!


Gracias...

[♪]CarlosLandero[/♪]