• Inspiración
  • Tutoriales
  • Bootcamp

Planer

  • Inspiración
  • Tutoriales
  • Bootcamp

Tutoriales 52

Javascript, lo bueno y lo malo

Javascript, lo bueno y lo malo

Me encontré con este espectacular video sobre javascript, explica muchas de las mañas del lenguaje, se debaten muchos de los puntos por los cuales yo solía mencionar que era un mal lenguaje y la persona que defiendo los puntos no es nada menos que una de las máximas autoridades en javascript y creador del estándar JSON, Douglas Crockford, así que véanlo.

Dentro del video hay demasiados temas destacables, desde porque el tema de los brackets de javascript no es sólo una cosa de estilo, la importancia de los closures, el problema de las variables globales y por que hay que evitar el operador NEW. Es un tremendo video que no requiere de muchos conocimientos técnicos para verlo pero si los tienes y trabajas en javascript te va a convertir en un mejor programador.

Share
November 13, 2014 TutorialesJavascript

Instalando PostgreSQL para Ruby on Rails en OSX

PostgreSQL es un excelente motor de bases de datos pero para los que estamos acostumbrados a las bondades de OSX de que todo sea una simple aplicación que se descarga y estamos listos puede ser frustrante.

bundle gem pg error

bundle gem pg error

Este error lo obtenemos cuando tenemos declarada la gema pg en el gemfile (aunque sea exclusivamente para el entorno de producción) y nosotros no la tenemos dentro de nuestro computador. Si no queremos ocupar la gema pg lo que podemos hacer es decirle a bundle que no la instale localmente, esto se puede lograr con:

 bundle install --without production 

Pero, ¿Qué pasa si realmente queremos instalar la gema para poder homologar el entorno de desarrollo con el entorno de producción, o, queremos descargar la base de datos de heroku (que está en Postgres) y ocuparla dentro de nuestro computador?

Instalando PostgresSQL

Paso 1: Descargar e instalar postgresAPP

PostgresAPP

PostgresAPP

Paso 2:

Agregar al path la carpeta de binarios Este paso es ligeramente más complejo, hay que abrir con sublime, vim, nano o el editor que quieras el archivo .bash_profile que se encuentra oculto en la carpeta de usuarios (todo los archivos que empiezan con un punto están ocultos en OSX y en Linux), ahí dentro tienes que agregar al final:

PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin:$PATH" 

Y con eso estaríamos listos, ahora tienes que abrir una nueva terminal (cada vez que modificas el path tienes que abrir una terminal nueva para que cargue, vas a la carpeta de tu proyecto rails y bundle install.

Te gustaría descargar la base de datos de Heroku para ocuparla localmente?, aquí los pasos para descargarla y usarla.

Share
November 9, 2014 Bases de datos, TutorialesGemas, Postgesql, Ruby on Rails

Imágenes de fondo con Background-cover de CSS3

background-cover

Antes de CSS3 teníamos que recurrir a plugins como backstretch para poner una imagen de fondo en una página web, ahora podemos ocupar la propiedad background-cover, si queremos ponerla en toda la página podemos utilizar el siguiente código:

html { 
  background: url(images/bg.jpg) no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

Ahora claro que no estamos obligados a poner la imagen en todo el sitio, podemos aplicarla a un div o una sección, cambiando la parte de html por el id o clase de la etiqueta(s) respectiva(s).

La gran ventaja de esta solución es que la imagen se adapta al ancho de la pantalla y por lo tanto no afectará a la responsividad de nuestro sitio.

Oh snap! CSS3 e internet explorer no son muy amigos, siempre realiza pruebas en los navegadores de tus clientes objetivos.
Share
October 16, 2014 Diseño, Html5, TutorialesCSS3, Diseño, diseño responsivo, html5

El problema de las n+1 queries en Ruby on Rails

n+1 queries

El Active Record de Ruby on Rails tiene muchas cosas geniales, pero algunas de ellas si no las manejas bien pueden repercutir negativamente en el rendimiento de la aplicación.

Uno de los errores más frecuentes de los desarrolladores novatos de rails es el problema de las N+1 queries.

El problema sucede cuando intentando realizar una sola consulta a la base de datos termina haciendo N+1 consultas, y aunque cuando uno tiene una base de datos con pocos datos el efecto es casi invisible, a medida de que crece el número de datos y el número de clientes este problema puede llegar a impactar de forma muy dura en el rendimiento de tu aplicación a tal punto de botarla.

¿Cuándo ocurre?

El problema ocurre cuando se itera sobre los hijos de uno de los objetos del modelo, para analizarlo sobre un caso práctica imaginemos que tenemos 2 modelos, uno de usuario y el otro de pins y cada usuario tiene muchos pins.

Modelo para el experimento

Específicamente el problema se hace visible en la iteración de los resultados.

El código que causa el problema es el siguiente:

Ahora cuando uno trabaja bajo un paradigma MVC es raro que uno tenga el código de esta forma, lo más probable es que el llamado a todos los usuarios se haga en la página index y luego dentro de la vista usuario se itere sobre los resultados mostrando por ejemplo los 5 mejores pins de cada usuario, pero el resultado es exactamente el mismo, n+1 llamados a la base de datos.

Para este caso de pruebas se tienen 2 usuarios, Diego y Gonzalo y uno tiene 3 pins y el otro ninguno, y aquí podemos observar que que se hicieron 2 queries a la base de datos en lugar de solo 1.

Para solucionarlo en el mismo momento que hacemos el query debemos incluir a los hijos del modelo, en nuestro caso el query inicial debió haber sido.

User.all.includes(:pin)

De esta forma se hace una sola consulta a la base de datos, ahora repitamos el experimento anterior y comparemos resultados.

Y vemos que ahora solo hay una consulta.

Share
October 15, 2014 Bases de datos, Ruby, TutorialesBases de datos, optimización, Ruby on Rails

Cómo Instalar Apache Cordova En OSX

apache cordova

Paso 0: Instalar Xcode

Paso 0.5 Abrir Xcode y aceptar la licencia. (Ahora lo puedes cerrar sin problemas)

Paso 1: Instalar Brew

Ingresa a la aplicación terminal y ahí dentro copia y pega la siguiente linea, esto instalará brew

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Paso 2: Instalar GIT

$ brew install nodejs

Paso 2.5 (Actualizar que Brew hayan quedado bien instalado)

$ brew update
$ brew doctor

Paso 3 Instalar node a través de brew

$ brew install nodejs

Paso 4: Instalar Apache Cordova

$ sudo npm install -g cordova

Paso 5: crear una primera aplicación

$ cordova create hello com.example.hello e

Paso 5: Instalar el SDK de android

$ brew install android-sdk

Paso 6: Agregamos una plataforma, (dentro de la aplicación)

$ cd hello
$ cordova platform add android

Si el paso anterior falla puesto que no está definida la variable ANDROID_HOME puedes arreglarlo con:

$ export ANDROID_HOME=`brew --prefix android`

Paso 7 Si todavía falla el problema es que no tienes el jdk de java instalado, entra a la página de java y descarga el dmg del SDK

Paso 8 Probar compilando el proyecto

$ cordova build

Paso 9: Correr el programa con el emulador para probar que todo haya salido bien

Si esta dentro de la carpeta del proyecto HelloWorld puedes probar corriendo la línea

$ cordova run android
Share
October 12, 2014 Tutoriales
Page 3 of 11«12345...10...»Last »
Tags
mostbetslotticamostbet UZslottica PLkudos casino no deposit bonuskudos casino bonus codeskudos casino free chipkudos casino loginRuby on Railskudos casino sister siteskudos casino free spinskudos casino no deposit bonus codesaviatoraviator KZozwincasinoozwincasino AUemprendimientos digitalesfortunetigerfortunetiger BRTutorialesDiseño20bet plbet20 casinokudos casinoLondonLondon UZ20 betbj88slottica BR20bet casino logowanie20bet kasynoHerramientas20 bet casinohtml5gratogana entrargratogana juegos en vivo20bet logowanieWordpressrubyLanding PageBases de datosplaycroco casinoplay crocogratogana onlineparty poker casino
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • PADANGTOTO
  • Interesado en otros tipos de emprendimiento?

    Quieres aprender a importar y exportar productos a todo el mundo? entra aquí

  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • LOMBOKTOTO
  • No te pierdas ningún artículo.

  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • RAMALANTOTO
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • IRAMATOGEL
  • 2025 © UGMSLOT
    Planer theme by Dankov