<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[BackendSI2-IV]]></title>
  <link href="http://iblancasa.com/BackendSI2-IV/atom.xml" rel="self"/>
  <link href="http://iblancasa.com/BackendSI2-IV/"/>
  <updated>2015-03-13T10:46:52+01:00</updated>
  <id>http://iblancasa.com/BackendSI2-IV/</id>
  <author>
    <name><![CDATA[Israel Blancas]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Presentación en el hackathon de la OSL]]></title>
    <link href="http://iblancasa.com/BackendSI2-IV/blog/2015/03/13/presentacion-en-el-hackathon-de-la-osl/"/>
    <updated>2015-03-13T10:36:33+01:00</updated>
    <id>http://iblancasa.com/BackendSI2-IV/blog/2015/03/13/presentacion-en-el-hackathon-de-la-osl</id>
    <content type="html"><![CDATA[<p>Hoy estamos en el hackathon de la Oficina de Software Libre de la Universidad de Granada. En la ETSIIT. Aquí os dejamos la presentación que ha hecho nuestro compañero Israel Blancas</p>

<iframe src="https://docs.google.com/presentation/d/1j7VBcKunawecEwehInTmGdQVsGTCJ7M6pXroxXlrgfs/embed?start=false&loop=false&delayms=3000" frameborder="0" width="100%" height="569" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>


<p><a href="https://docs.google.com/spreadsheets/d/1b4lIcvSkQvTisiDNBeA1YOfeoHxZzReC6c57Z8H9IpU/edit#gid=0">En este enlace podéis seguir el horario planteado</a> y a través de Twitter usando <a href="https://twitter.com/hashtag/hackathonugr?src=hash">#hackathonugr</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Configurando una BD NoSQL externa]]></title>
    <link href="http://iblancasa.com/BackendSI2-IV/blog/2015/03/12/configurando-una-bd-nosql-externa/"/>
    <updated>2015-03-12T14:06:52+01:00</updated>
    <id>http://iblancasa.com/BackendSI2-IV/blog/2015/03/12/configurando-una-bd-nosql-externa</id>
    <content type="html"><![CDATA[<p>Hay muchos &ldquo;Base de Datos como Servicio&rdquo;. Nosotros ponemos, por ejemplo, Compose.io.</p>

<p>Para hacerlo necesitas los drivers de node-mongodb, que puedes instalar con <code>npm install mongodb</code></p>

<p>Después ejecutaremos este archivo (lo podemos llamar node.js y en consola simplemente ejecutar <code>js node.js</code>), que hará basicamente un par de inserciones.</p>

<p>Comento algunos parámetros antes:
* en la línea 3 el parámetro para la conexión será la <a href="http://i.imgur.com/KVvnVoC.png">Mongo URI</a>, y usuario:usuario serán nombre de usuario y contraseña de un <a href="http://i.imgur.com/4EllDfJ.png">&ldquo;User&rdquo; que tengamos en nuestra base de datos</a>
* en la línea 5 especificamos la BD</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
<span class='line-number'>17</span>
<span class='line-number'>18</span>
<span class='line-number'>19</span>
<span class='line-number'>20</span>
<span class='line-number'>21</span>
<span class='line-number'>22</span>
<span class='line-number'>23</span>
<span class='line-number'>24</span>
<span class='line-number'>25</span>
<span class='line-number'>26</span>
<span class='line-number'>27</span>
<span class='line-number'>28</span>
<span class='line-number'>29</span>
<span class='line-number'>30</span>
<span class='line-number'>31</span>
<span class='line-number'>32</span>
<span class='line-number'>33</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>var mongodb = require('mongodb')
</span><span class='line'>  , MongoClient = mongodb.MongoClient
</span><span class='line'>MongoClient.connect('mongodb://usuario:usuario@dogen.mongohq.com:10096/pruebaDB', function(err, db) {
</span><span class='line'>  // operate on the collection named "pruebaDB"
</span><span class='line'>  var collection = db.collection('pruebaDB')
</span><span class='line'>
</span><span class='line'>  // remove all records in collection (if any)
</span><span class='line'>  console.log('removing documents...')
</span><span class='line'>  collection.remove(function(err, result) {
</span><span class='line'>      if (err) {
</span><span class='line'>          return console.error(err)
</span><span class='line'>      }
</span><span class='line'>      console.log('collection cleared!')
</span><span class='line'>
</span><span class='line'>      // insert two documents
</span><span class='line'>      console.log('inserting new documents...')
</span><span class='line'>      collection.insert([{name: 'tester'}, {name: 'coder'}], function(err,
</span><span class='line'>      docs) {
</span><span class='line'>          if (err) {
</span><span class='line'>              return console.error(err)
</span><span class='line'>          }
</span><span class='line'>          console.log('just inserted ', docs.length, ' new documents!')
</span><span class='line'>          collection.find({}).toArray(function(err, docs) {
</span><span class='line'>              if (err) {
</span><span class='line'>                  return console.error(err)
</span><span class='line'>              }
</span><span class='line'>              docs.forEach(function(doc) {
</span><span class='line'>              console.log('found document: ', doc)
</span><span class='line'>              })
</span><span class='line'>          })
</span><span class='line'>      })
</span><span class='line'>  })
</span><span class='line'>})
</span></code></pre></td></tr></table></div></figure>


<p>Una vez ejecutado nos indica que está correctamente conectado e insertado:</p>

<p><img src="http://i.imgur.com/wF6mt1j.png" alt="insertado" /></p>

<p>y también lo podemos ver en <a href="https://app.compose.io/">Compose</a>:</p>

<p><img src="http://i.imgur.com/3vo3naP.png" alt="bdcompose" /></p>

<p>Tutoriales de interés:</p>

<p><a href="https://docs.compose.io/languages/nodejs.html">https://docs.compose.io/languages/nodejs.html</a></p>

<p>y este muy básico: <a href="https://www.digitalocean.com/community/tutorials/how-to-connect-node-js-to-a-mongodb-database-on-a-vps">https://www.digitalocean.com/community/tutorials/how-to-connect-node-js-to-a-mongodb-database-on-a-vps</a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Conseguir las claves para autentificar con Google+]]></title>
    <link href="http://iblancasa.com/BackendSI2-IV/blog/2015/03/11/conseguir-las-claves-para-autentificar-con-google-plus/"/>
    <updated>2015-03-11T16:52:56+01:00</updated>
    <id>http://iblancasa.com/BackendSI2-IV/blog/2015/03/11/conseguir-las-claves-para-autentificar-con-google-plus</id>
    <content type="html"><![CDATA[<p>Lo primero que hay que hacer es acceder a la <a href="https://console.developers.google.com/">Consola de desarrolladores de Google</a>.</p>

<p><img src="http://fotos.subefotos.com/d29e4a8bf07b9ec8cfdee4655fc8e2a7o.jpg" alt="Consola Desarrolladores de Google" /></p>

<p>Una vez aquí, pulsamos sobre &ldquo;Crear proyecto&rdquo;. Nos aparecerá un cuadro de diálogo en el que deberemos escribir el nombre del proyecto.</p>

<p><img src="http://fotos.subefotos.com/efb1be1db76a2e7ceec6c22f90d188cao.jpg" alt="Crear proyecto" /></p>

<p>Cuando el proyecto esté creado, ingresaremos al mismo y haremos click sobre &ldquo;APIs y autentificación&rdquo; y haremos click sobre &ldquo;APIs&rdquo;. Después buscaremos la que pone &ldquo;Google+&rdquo; y la activaremos.</p>

<p><img src="http://fotos.subefotos.com/cb56e7e8385689f810675095cd2ef49fo.jpg" alt="Activando API" /></p>

<p>Ahora vamos a &ldquo;Credenciales&rdquo; y pulsamos sobre &ldquo;Crear ID de cliente nuevo&rdquo;. Nos aparecerá un cuadro de diálogo como el siguiente. Lo dejamos como en la imagen.</p>

<p><img src="http://fotos.subefotos.com/e5e607aadf411b9b5dcdc4e4914ab2f0o.jpg" alt="Crear ID" /></p>

<p>Se nos pedirá personalizar el cuadro que aparecerá a los usuarios</p>

<p><img src="http://fotos.subefotos.com/d5e1836446d97695dc46a03bc3f81161o.jpg" alt="Plantilla" /></p>

<p>Cuando esté completo, pasamos al siguiente paso. Ahora se nos pedirá introducir los orígenes desde los que autorizaremos el uso del JavaScript. Esto evita que terceros utilicen nuestra clave como si fuese suya (consumiendo nuestros recursos). Pondremos nuestro dominio y, en caso que estemos desarrollando en local, lo dejaremos como en la imagen. También habrá que indicar a través de que puerto está escuchando nuestro servidor. Para la aplicación (<a href="https://github.com/iblancasa/BackendSI2-IV/wiki/Autentificar-a-un-usuario-utilizando-Google--y-NodeJS">ver referencia</a>) vamos a configurar así (para desarrollo local):</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>ORÍGENES DE JAVASCRIPT: http://localhost:3001
</span><span class='line'>URIS DE REDIRECCIONAMIENTO: http://localhost:3001/google/auth</span></code></pre></td></tr></table></div></figure>


<p><img src="http://fotos.subefotos.com/b7e7d25aa79981e39692f2fe15f745f2o.jpg" alt="Orígenes de JavaScript" /></p>

<p>Y, finalmente, obtendremos las claves</p>

<p><img src="http://fotos.subefotos.com/103b20533e2aa8f778adf8100b4ca096o.jpg" alt="Final" /></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Reorganizando el proyecto]]></title>
    <link href="http://iblancasa.com/BackendSI2-IV/blog/2015/03/08/reorganizando-el-proyecto/"/>
    <updated>2015-03-08T19:53:50+01:00</updated>
    <id>http://iblancasa.com/BackendSI2-IV/blog/2015/03/08/reorganizando-el-proyecto</id>
    <content type="html"><![CDATA[<p>Actualmente estamos dándole un lavado de cara al proyecto. Nos hemos mudado a esta dirección:
<a href="http://stable-backendsi2.rhcloud.com/">http://stable-backendsi2.rhcloud.com/</a></p>
]]></content>
  </entry>
  
</feed>
