SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Motor...                  Caja...        Carrocería...         Accesorios...           Estadísticas




             La Tecnología tras Inmobiliarios.com.ve
                ¿Qué hace funcionar al Buscador Inmobiliario de
                                 Venezuela?


            Ernesto Hernández-Novich <emhn@inmobiliarios.com.ve>
                   Luis E. Muñoz <lem@inmobiliarios.com.ve>

                                        Inmobiliarios.com.ve


                              agosto, 2007 / Perl Mongers, Caracas




Hernández-Novich, Muñoz                                                        Inmobiliarios.com.ve
ICV
Motor...                  Caja...   Carrocería...   Accesorios...           Estadísticas




Agenda


       1 Motor...

       2 Caja...

       3 Carrocería...

       4 Accesorios...

       5 Estadísticas




Hernández-Novich, Muñoz                                             Inmobiliarios.com.ve
ICV
Motor...                  Caja...     Carrocería...       Accesorios...           Estadísticas




Software de Inmobiliarios.com.ve


             Todo el software que usamos es libre
             Todos los procesos de la operación son automáticos . . .
                    . . . la instalación
                    Todo el software está en paquetes Debian.
                    . . . despliegue
                    Las estructuras de base de datos se generan
                    programáticamente.
                    . . . las pruebas de regresión
                    Pruebas automatizadas sobre todos los aspectos del sitio web.
             No, no necesitamos ISO-9000, gracias



Hernández-Novich, Muñoz                                                   Inmobiliarios.com.ve
ICV
Motor...                  Caja...   Carrocería...           Accesorios...           Estadísticas




PostgreSQL
Motor de base de datos

                                    El mejor y más completo manejador
                                    de base de datos relacional, libre . . .
                                            . . . cumple con todos los estándares
                                            . . . 100 % ACID, fuera de la caja
                                            . . . se inicia el desarrollo en los 80 –
                                            más de 7 años de evolución en el core
                                    Replicación SM-MS con promoción
                                    automática – 3 seg de latencia
                                    observada sobre Internet público
                                    Procedimientos almacenados en varios
                                    lenguajes, incluyendo Perl
                                    Manejo eficiente de contenido
                                    no-escalar, como fotos
Hernández-Novich, Muñoz                                                     Inmobiliarios.com.ve
ICV
Motor...                  Caja...   Carrocería...      Accesorios...           Estadísticas




Debian/GNU Linux
Libertad bajo el capó


                                    No tenemos que preocuparnos por la
                                    licencia: Todo es libre
                                    La más ámplia cobertura de CPAN en
                                    sistemas Linux – lo que falta se instala
                                    con dh-make-perl
                                    Abundantes herramientas de control
                                    de calidad
                                    Soporte multi-plataforma perfecto:
                                    Servidores idénticos bajo arquitecturas
                                    Intel y PPC
                                    Herramientas para construcción y
                                    distribución de paquetes
Hernández-Novich, Muñoz                                                Inmobiliarios.com.ve
ICV
Motor...                  Caja...   Carrocería...      Accesorios...           Estadísticas




DBIx::Class + SQL Fairy
Aceleración del desarrollo


                                    Nuestros programas no contienen SQL
                                    – sólo Perl
                                    Crear el esquema de base de datos es
                                    muy simple. . .
                                    $ ch−d e p l o y −−w i t h −d r o p

                                    Podemos usar bases de datos más
                                    livianas en nuestros equipos personales
                                    y de desarrollo sin cambiar el
                                    código. . .
                                    . . . de hecho, cualquier base de datos
                                    soportada por DBI
Hernández-Novich, Muñoz                                                Inmobiliarios.com.ve
ICV
Motor...                  Caja...   Carrocería...          Accesorios...           Estadísticas




mod_perl + Apache Web Server
Más kilómetros por litro



                                    Seguridad y confiabilidad
                                    Hacemos modificaciones profundas en
                                    la forma de atender las peticiones web
                                    Persistencia. . .
                                            . . . conexiones a la base de datos
                                            . . . en los programas
                                            . . . en las plantillas, ayudando a
                                            HTML::Template
                                    Configuración simple, junto a la de
                                    Apache


Hernández-Novich, Muñoz                                                    Inmobiliarios.com.ve
ICV
Motor...                  Caja...   Carrocería...            Accesorios...           Estadísticas




CGI::Application
¿Para qué retroceso?




                                    Aplicaciones web simples, basadas en
                                    estados
                                    Menú de plugins para muchas
                                    funciones . . .
                                            . . . autenticación
                                            . . . CAPTCHA
                                    Mínima exposición de información




Hernández-Novich, Muñoz                                                      Inmobiliarios.com.ve
ICV
Motor...                  Caja...   Carrocería...     Accesorios...           Estadísticas




Template::Toolkit + HTML::Template
Latonería y pintura




                                    El layout del sitio se genera
                                    estáticamente, cuando hay cambios
                                    que lo requieren
                                    Las aplicaciones mantienen la
                                    separación con la vista – look & feel
                                    uniforme
                                    El contenido puede guardarse donde
                                    tenga más sentido: Archivos planos o
                                    base de datos


Hernández-Novich, Muñoz                                               Inmobiliarios.com.ve
ICV
Motor...                  Caja...           Carrocería...              Accesorios...               Estadísticas




Test::More

             Arnés de prueba que acompaña a las aplicaciones
             Fácil de usar – muchas pruebas en poco código . . .
             @ r s = $schema−>r a t e _ d a t a ( ’ n1 ’ ) ;
             i s ( $ r s [ 0 ] , 5 , ’ Correct count of r a t i n g s ’ ) ;
             i s ( $rs [ 1 ] , 3 , ’ Correct average of r a t i n g s ’ ) ;
             i s ( $ r s [ 2 ] , 1 5 , ’ C o r r e c t sum o f r a t i n g s ’ ) ;

             . . . no sólo prueban el software . . .
             l i k e ( $msg−>head−>g e t ( ’ R e p l y −To ’)−>u n f o l d e d B o d y ,
                       q r /^<? i c v  . t e s t e r  @foo  . com>?/ i ,
                       " $ s : R e p l y −To s e t t o t h e s e n d e r " ) ;
             l i k e ( $msg−>head−>g e t ( ’ To ’)−>u n f o l d e d B o d y ,
                       q r /^<? i c v  . t e s t e r  @foo  . com>?/ i ,
                       " $ s : To s e t t o t h e i n v i t e e " ) ;



Hernández-Novich, Muñoz                                                                    Inmobiliarios.com.ve
ICV
Motor...                  Caja...             Carrocería...               Accesorios...                   Estadísticas




WWW::Mechanize


             Fácil acceso al contenido web, siguiendo todos los estándares
             Integración elemental con otros módulos útiles . . .
             Útil para generar casos de prueba . . .
             my $ j a r 1 = HTTP : : C o o k i e s −>new ( ) ;
             my $mech1 = T e s t : :W W: : Mechanize −>new
                                               W
                   ( c o o k i e _ j a r => $ j a r 1 ) ;
             $mech1−>get_ok ( " h t t p : / / $ s . i n m o b i l i a r i o s . com . v e / " ,
                                         " $s : Hit 1" ) ;
             $ j a r 1 −>s c a n (& c b _ c h e c k _ c o o k i e ) ;




Hernández-Novich, Muñoz                                                                           Inmobiliarios.com.ve
ICV
Motor...                  Caja...   Carrocería...     Accesorios...           Estadísticas




La magia de /quiero. . .



             Espacio web virtual, generado para ayudar al usuario y a
             Google
             Manipulación del URL para mantener legibilidad – REST
             El más rápido acceso posible a la búsqueda
             http://inmobiliarios.com.ve/quiero/apartamento/ya
             Compatible con cualquier navegador web
             Implementación ligera – mínimo consumo de recursos




Hernández-Novich, Muñoz                                               Inmobiliarios.com.ve
ICV
Motor...                  Caja...     Carrocería...         Accesorios...           Estadísticas




Algunas estadísticas...
. . . al 14 de agosto del 2007

             Líneas de código: 9987
             Funciones / métodos: 144
             Líneas / método: 6.3
             Complejidad de McCabe: 6.35 (main), 1.6 (métodos)
             Pruebas
                    Calidad y correctitud de código: 3577
                    Regresión: 794
                    Líneas de código: 8626
             Velocidad de desarrollo
                    Aproximadamente 180 horas hombre en ingeniería de software
                    Primer commit: enero 28, 2007
                    Último commit: agosto 14, 2007
                    639 revisiones (Una nueva versión cada 3 días)
Hernández-Novich, Muñoz                                                     Inmobiliarios.com.ve
ICV

Más contenido relacionado

Similar a Tecnología de Inmobiliarios.com.ve

Webinar Adistec Intel + VMware VSAN
Webinar Adistec Intel + VMware VSANWebinar Adistec Intel + VMware VSAN
Webinar Adistec Intel + VMware VSANCTO314
 
Microservicios con ASP.NET Core
Microservicios con ASP.NET CoreMicroservicios con ASP.NET Core
Microservicios con ASP.NET CoreEduardo Campañó
 
Latin America .NEXT on Tour Keynote and Technical Slidedeck
Latin America .NEXT on Tour Keynote and Technical SlidedeckLatin America .NEXT on Tour Keynote and Technical Slidedeck
Latin America .NEXT on Tour Keynote and Technical SlidedeckNEXTtour
 
Spain .NEXT on Tour Keynote and Technical Slidedeck
Spain .NEXT on Tour Keynote and Technical SlidedeckSpain .NEXT on Tour Keynote and Technical Slidedeck
Spain .NEXT on Tour Keynote and Technical SlidedeckNEXTtour
 
SUSE Expert Days 2017 HPE
SUSE Expert Days 2017 HPESUSE Expert Days 2017 HPE
SUSE Expert Days 2017 HPESUSE España
 
5 Consejos Tecnologicos - VMWare
5 Consejos Tecnologicos - VMWare5 Consejos Tecnologicos - VMWare
5 Consejos Tecnologicos - VMWarePedro Espinosa
 
VDI. Escritorios Virtuales. La experiencia del Parlamento de Canarias
VDI. Escritorios Virtuales. La experiencia del Parlamento de CanariasVDI. Escritorios Virtuales. La experiencia del Parlamento de Canarias
VDI. Escritorios Virtuales. La experiencia del Parlamento de CanariasFrancisco Chavez Gutierrez
 
Frikeando Con Imagenes Virtuales Asegura It Camp
Frikeando Con Imagenes Virtuales   Asegura It CampFrikeando Con Imagenes Virtuales   Asegura It Camp
Frikeando Con Imagenes Virtuales Asegura It CampChema Alonso
 
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRA
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRACONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRA
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRAPablo Contramaestre
 
Sacale El Jugo A La Virtualizacion
Sacale El Jugo A La VirtualizacionSacale El Jugo A La Virtualizacion
Sacale El Jugo A La VirtualizacionPablo Campos
 
Comparativa y Evaluación de las Herramientas de Programación en Dispositivos ...
Comparativa y Evaluación de las Herramientas de Programación en Dispositivos ...Comparativa y Evaluación de las Herramientas de Programación en Dispositivos ...
Comparativa y Evaluación de las Herramientas de Programación en Dispositivos ...Juan Carlos Olivares Rojas
 
Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible Moisés Maciá
 
Saregune Técnica
Saregune TécnicaSaregune Técnica
Saregune TécnicaSaregune
 
Trabajo7.cesar gonzalezbernal sistemaoperativocentos
Trabajo7.cesar gonzalezbernal sistemaoperativocentosTrabajo7.cesar gonzalezbernal sistemaoperativocentos
Trabajo7.cesar gonzalezbernal sistemaoperativocentosCesar Gonzalez Bernal
 

Similar a Tecnología de Inmobiliarios.com.ve (20)

Webinar Adistec Intel + VMware VSAN
Webinar Adistec Intel + VMware VSANWebinar Adistec Intel + VMware VSAN
Webinar Adistec Intel + VMware VSAN
 
Microservicios con ASP.NET Core
Microservicios con ASP.NET CoreMicroservicios con ASP.NET Core
Microservicios con ASP.NET Core
 
Consolidacion
ConsolidacionConsolidacion
Consolidacion
 
Latin America .NEXT on Tour Keynote and Technical Slidedeck
Latin America .NEXT on Tour Keynote and Technical SlidedeckLatin America .NEXT on Tour Keynote and Technical Slidedeck
Latin America .NEXT on Tour Keynote and Technical Slidedeck
 
Spain .NEXT on Tour Keynote and Technical Slidedeck
Spain .NEXT on Tour Keynote and Technical SlidedeckSpain .NEXT on Tour Keynote and Technical Slidedeck
Spain .NEXT on Tour Keynote and Technical Slidedeck
 
SUSE Expert Days 2017 HPE
SUSE Expert Days 2017 HPESUSE Expert Days 2017 HPE
SUSE Expert Days 2017 HPE
 
5 Consejos Tecnologicos - VMWare
5 Consejos Tecnologicos - VMWare5 Consejos Tecnologicos - VMWare
5 Consejos Tecnologicos - VMWare
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
VDI. Escritorios Virtuales. La experiencia del Parlamento de Canarias
VDI. Escritorios Virtuales. La experiencia del Parlamento de CanariasVDI. Escritorios Virtuales. La experiencia del Parlamento de Canarias
VDI. Escritorios Virtuales. La experiencia del Parlamento de Canarias
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Frikeando Con Imagenes Virtuales Asegura It Camp
Frikeando Con Imagenes Virtuales   Asegura It CampFrikeando Con Imagenes Virtuales   Asegura It Camp
Frikeando Con Imagenes Virtuales Asegura It Camp
 
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRA
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRACONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRA
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRA
 
Sacale El Jugo A La Virtualizacion
Sacale El Jugo A La VirtualizacionSacale El Jugo A La Virtualizacion
Sacale El Jugo A La Virtualizacion
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Comparativa y Evaluación de las Herramientas de Programación en Dispositivos ...
Comparativa y Evaluación de las Herramientas de Programación en Dispositivos ...Comparativa y Evaluación de las Herramientas de Programación en Dispositivos ...
Comparativa y Evaluación de las Herramientas de Programación en Dispositivos ...
 
virtualizacion - upsam
virtualizacion - upsamvirtualizacion - upsam
virtualizacion - upsam
 
Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible
 
Saregune Técnica
Saregune TécnicaSaregune Técnica
Saregune Técnica
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Trabajo7.cesar gonzalezbernal sistemaoperativocentos
Trabajo7.cesar gonzalezbernal sistemaoperativocentosTrabajo7.cesar gonzalezbernal sistemaoperativocentos
Trabajo7.cesar gonzalezbernal sistemaoperativocentos
 

Más de Itverx C.A.

Grok® Ticketing Solution
Grok® Ticketing SolutionGrok® Ticketing Solution
Grok® Ticketing SolutionItverx C.A.
 
Grok® Ticketing Solution
Grok® Ticketing SolutionGrok® Ticketing Solution
Grok® Ticketing SolutionItverx C.A.
 
Grok® Ticketing Solution
Grok® Ticketing SolutionGrok® Ticketing Solution
Grok® Ticketing SolutionItverx C.A.
 
Grok® Ticketing Solution
Grok® Ticketing SolutionGrok® Ticketing Solution
Grok® Ticketing SolutionItverx C.A.
 
Análisis y Control de Riesgos del Negocio
Análisis y Control de Riesgos del NegocioAnálisis y Control de Riesgos del Negocio
Análisis y Control de Riesgos del NegocioItverx C.A.
 
Servicios de Prueba de Penetración
Servicios de Prueba de PenetraciónServicios de Prueba de Penetración
Servicios de Prueba de PenetraciónItverx C.A.
 
Servicios de Email Deliverability
Servicios de Email DeliverabilityServicios de Email Deliverability
Servicios de Email DeliverabilityItverx C.A.
 
Problemas Clásicos de Correo Electrónico
Problemas Clásicos de Correo ElectrónicoProblemas Clásicos de Correo Electrónico
Problemas Clásicos de Correo ElectrónicoItverx C.A.
 

Más de Itverx C.A. (8)

Grok® Ticketing Solution
Grok® Ticketing SolutionGrok® Ticketing Solution
Grok® Ticketing Solution
 
Grok® Ticketing Solution
Grok® Ticketing SolutionGrok® Ticketing Solution
Grok® Ticketing Solution
 
Grok® Ticketing Solution
Grok® Ticketing SolutionGrok® Ticketing Solution
Grok® Ticketing Solution
 
Grok® Ticketing Solution
Grok® Ticketing SolutionGrok® Ticketing Solution
Grok® Ticketing Solution
 
Análisis y Control de Riesgos del Negocio
Análisis y Control de Riesgos del NegocioAnálisis y Control de Riesgos del Negocio
Análisis y Control de Riesgos del Negocio
 
Servicios de Prueba de Penetración
Servicios de Prueba de PenetraciónServicios de Prueba de Penetración
Servicios de Prueba de Penetración
 
Servicios de Email Deliverability
Servicios de Email DeliverabilityServicios de Email Deliverability
Servicios de Email Deliverability
 
Problemas Clásicos de Correo Electrónico
Problemas Clásicos de Correo ElectrónicoProblemas Clásicos de Correo Electrónico
Problemas Clásicos de Correo Electrónico
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (20)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

Tecnología de Inmobiliarios.com.ve

  • 1. Motor... Caja... Carrocería... Accesorios... Estadísticas La Tecnología tras Inmobiliarios.com.ve ¿Qué hace funcionar al Buscador Inmobiliario de Venezuela? Ernesto Hernández-Novich <emhn@inmobiliarios.com.ve> Luis E. Muñoz <lem@inmobiliarios.com.ve> Inmobiliarios.com.ve agosto, 2007 / Perl Mongers, Caracas Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 2. Motor... Caja... Carrocería... Accesorios... Estadísticas Agenda 1 Motor... 2 Caja... 3 Carrocería... 4 Accesorios... 5 Estadísticas Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 3. Motor... Caja... Carrocería... Accesorios... Estadísticas Software de Inmobiliarios.com.ve Todo el software que usamos es libre Todos los procesos de la operación son automáticos . . . . . . la instalación Todo el software está en paquetes Debian. . . . despliegue Las estructuras de base de datos se generan programáticamente. . . . las pruebas de regresión Pruebas automatizadas sobre todos los aspectos del sitio web. No, no necesitamos ISO-9000, gracias Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 4. Motor... Caja... Carrocería... Accesorios... Estadísticas PostgreSQL Motor de base de datos El mejor y más completo manejador de base de datos relacional, libre . . . . . . cumple con todos los estándares . . . 100 % ACID, fuera de la caja . . . se inicia el desarrollo en los 80 – más de 7 años de evolución en el core Replicación SM-MS con promoción automática – 3 seg de latencia observada sobre Internet público Procedimientos almacenados en varios lenguajes, incluyendo Perl Manejo eficiente de contenido no-escalar, como fotos Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 5. Motor... Caja... Carrocería... Accesorios... Estadísticas Debian/GNU Linux Libertad bajo el capó No tenemos que preocuparnos por la licencia: Todo es libre La más ámplia cobertura de CPAN en sistemas Linux – lo que falta se instala con dh-make-perl Abundantes herramientas de control de calidad Soporte multi-plataforma perfecto: Servidores idénticos bajo arquitecturas Intel y PPC Herramientas para construcción y distribución de paquetes Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 6. Motor... Caja... Carrocería... Accesorios... Estadísticas DBIx::Class + SQL Fairy Aceleración del desarrollo Nuestros programas no contienen SQL – sólo Perl Crear el esquema de base de datos es muy simple. . . $ ch−d e p l o y −−w i t h −d r o p Podemos usar bases de datos más livianas en nuestros equipos personales y de desarrollo sin cambiar el código. . . . . . de hecho, cualquier base de datos soportada por DBI Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 7. Motor... Caja... Carrocería... Accesorios... Estadísticas mod_perl + Apache Web Server Más kilómetros por litro Seguridad y confiabilidad Hacemos modificaciones profundas en la forma de atender las peticiones web Persistencia. . . . . . conexiones a la base de datos . . . en los programas . . . en las plantillas, ayudando a HTML::Template Configuración simple, junto a la de Apache Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 8. Motor... Caja... Carrocería... Accesorios... Estadísticas CGI::Application ¿Para qué retroceso? Aplicaciones web simples, basadas en estados Menú de plugins para muchas funciones . . . . . . autenticación . . . CAPTCHA Mínima exposición de información Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 9. Motor... Caja... Carrocería... Accesorios... Estadísticas Template::Toolkit + HTML::Template Latonería y pintura El layout del sitio se genera estáticamente, cuando hay cambios que lo requieren Las aplicaciones mantienen la separación con la vista – look & feel uniforme El contenido puede guardarse donde tenga más sentido: Archivos planos o base de datos Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 10. Motor... Caja... Carrocería... Accesorios... Estadísticas Test::More Arnés de prueba que acompaña a las aplicaciones Fácil de usar – muchas pruebas en poco código . . . @ r s = $schema−>r a t e _ d a t a ( ’ n1 ’ ) ; i s ( $ r s [ 0 ] , 5 , ’ Correct count of r a t i n g s ’ ) ; i s ( $rs [ 1 ] , 3 , ’ Correct average of r a t i n g s ’ ) ; i s ( $ r s [ 2 ] , 1 5 , ’ C o r r e c t sum o f r a t i n g s ’ ) ; . . . no sólo prueban el software . . . l i k e ( $msg−>head−>g e t ( ’ R e p l y −To ’)−>u n f o l d e d B o d y , q r /^<? i c v . t e s t e r @foo . com>?/ i , " $ s : R e p l y −To s e t t o t h e s e n d e r " ) ; l i k e ( $msg−>head−>g e t ( ’ To ’)−>u n f o l d e d B o d y , q r /^<? i c v . t e s t e r @foo . com>?/ i , " $ s : To s e t t o t h e i n v i t e e " ) ; Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 11. Motor... Caja... Carrocería... Accesorios... Estadísticas WWW::Mechanize Fácil acceso al contenido web, siguiendo todos los estándares Integración elemental con otros módulos útiles . . . Útil para generar casos de prueba . . . my $ j a r 1 = HTTP : : C o o k i e s −>new ( ) ; my $mech1 = T e s t : :W W: : Mechanize −>new W ( c o o k i e _ j a r => $ j a r 1 ) ; $mech1−>get_ok ( " h t t p : / / $ s . i n m o b i l i a r i o s . com . v e / " , " $s : Hit 1" ) ; $ j a r 1 −>s c a n (& c b _ c h e c k _ c o o k i e ) ; Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 12. Motor... Caja... Carrocería... Accesorios... Estadísticas La magia de /quiero. . . Espacio web virtual, generado para ayudar al usuario y a Google Manipulación del URL para mantener legibilidad – REST El más rápido acceso posible a la búsqueda http://inmobiliarios.com.ve/quiero/apartamento/ya Compatible con cualquier navegador web Implementación ligera – mínimo consumo de recursos Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV
  • 13. Motor... Caja... Carrocería... Accesorios... Estadísticas Algunas estadísticas... . . . al 14 de agosto del 2007 Líneas de código: 9987 Funciones / métodos: 144 Líneas / método: 6.3 Complejidad de McCabe: 6.35 (main), 1.6 (métodos) Pruebas Calidad y correctitud de código: 3577 Regresión: 794 Líneas de código: 8626 Velocidad de desarrollo Aproximadamente 180 horas hombre en ingeniería de software Primer commit: enero 28, 2007 Último commit: agosto 14, 2007 639 revisiones (Una nueva versión cada 3 días) Hernández-Novich, Muñoz Inmobiliarios.com.ve ICV