CategoríaBACKEND

De las pocas cosas de backend que realizo.

Hola Rider, adios Visual Studio para Mac

Desde un tiempo vengo usando Visual Studio Code como editor en Mac, ya que trabajaba muchas cosas con Javascript y poca cosa con .net, y eso poco podía realizarse sin problemas en Code, pero he de reconocer que una cosa es un editor (con pluggins) es una cosa y otra IDE.

En mi día a día trabajo con Windows en la oficina, por tanto disfruto de las “bondades” de Visual Studio 2015/17 (y su no tan bondades) , pero al llegar a casa aveces hacen falta esas herramientas y ese “tooling” que viene por defecto.

Para desarrollar en .Net sobre Mac tenemos Visual Studio para Mac o Mono Develop  ambos con resultados  “aceptables”, este fin de semana decidí brindarle la oportunidad a Rider de JetBrains.

Rider es desarrollado por JetBrains,  multiplataforma y con la misma experiencia tanto en windows como en Mac, tengo unos días usándolo y no tengo queja alguna, Si quieres desarrollar seriamente en .Net sobre Mac y tener (Resharper) ademas de un IDE estable y que funciona desde mi punto de vista “Sin problemas” creo que es una inversión correcta ademas si has trabajado con Webstorm o IntelliJ IDEA  pues te sentirás como en casa e igual de productivo.

Por 179€ tienes Resharper y Rider lo cual para la productividad que sacaras es un precio excelente o puedes aplicar para una licencia gratis como estudiante o profesor.

🙂

https://www.jetbrains.com/rider/buy/#edition=discounts

 

 

Testing WebAPI Rest con Frisby

Frisby es una libreria de testing de apis rest, desarrollada en nodejs y jasmine la cual facilita el test de apis restfull.

Para este ejemplo usare una api de ejemplo con json-server, la cual utilizo para crear los mockups de apis.

Primero defino mi package.json de mi proyecto de test para especificar las dependecias mi proyecto de test frisby , jasmine-node y json-server especifico que sea la ultima version (“latest”).


{
"name": "LabFrisby",
"author": "Dany Paredes",
"main": "users_spec.js",
"version": "0.0.1",
"dependencies": {
"frisby": "latest",
"jasmine-node": "latest",
"json-server": "latest"
}
}

Luego instalamos los paquetes:

npm install

Ahora creo el api de ejemplo db.json para ser utilizada con json-server

{
"users":[
{
"id": 1,
"user": "dany",
"password": "asdfasdf"
}
]
}

Para iniciar la api con json-server:

json-server db.json

Frisby contiene una serie de metodos que nos permiten validar nuestro test, expectStatus, expectHeader, expectHeaderContains, expectJSON y otros .

En este caso realizare utilizare el metodo expectStatus, donde especificamos que esperamos un 200 como resultado.

var SERVER = "http://localhost:3000/"
var APIUSERS = "users"
frisby.create('GET USERS')
.get(SERVER + APIUSERS)
.expectStatus(200)
.toss();

Ahora ejecutamos nuestro tests con jasmine:

jasmine-node tests/rest_proyect_spec.js
//para ejecutar todos los test que tengamos en el folder spec
jasmine-node /api/spec

En el ejemplo de github tengo uno mas completo en el cual realizamos un post y valido el json de respuesta.
https://github.com/danywalls/labfrisby

Como limpiar colas de MSMQ desde un .bat?

Aveces cuando trabajamos con NServiceBus y colas de MSMQ, durante las pruebas las colas estan llenas de mensajes e irlas borrando 1 a 1 es un poco cuesta arriba, por tanto me he creado un bat basado a la siguiente respuesta de stackoverflow.

How to Purge All MSMQ

 

Buscar strings con acentos no importa el idioma

Muchas veces realizamos métodos de búsquedas, y no tomamos en cuenta acentuación y/o cultura del usuario o idioma.

Muchas veces se arregla con tocando el collation de la base de datos, pero si tienes diferentes fuentes de datos, y al final tenemos colecciones con la información, pues podemos tirar de Normalize y NormalizeForm.

Seguir leyendo

Como buscar un texto dentro StoreProcedure

En estos días realice una modificación del nombre de una tabla pero al no conocer la aplicación completamente, necesitaba saber todos los Procedures que usaban ese campo.

Gracias a Sebastian Galli por la ayuda.

SELECT definition
FROM sys.sql_modules
WHERE object_id in (select object_id from sys.procedures) AND
definition like '%MiValor%'

Heroku , Ruby y Godaddy

He estado trabajando para publicar un site en ruby on rails en heroku, primero configuraremos la parte de godaddy, que es bastante simple.

Iniciamos session y vamos a la opciones de domain  settings, en la opción de fowarding and masking y apuntados a nuestra aplicación ejemplo http://tuaplicacion.heroku.com.

rails new rlab

//modificamos el archivo GemFile para producción postgres para desarrollo sqlite

group :production do
gem 'pg','0.15.1'
gem 'rails_12factor','0.0.2'
end

group :development do
gem 'sqlite3','1.3.9'
end

// realizamos un bundle

bundle install

//generamos un resource
rails generate scaffold User name:string email:string

// creamos una ruta modificamos el router.rb
root :to => 'users#new'

// iniciamos nuestro repositorio git.

git init

//agregamos los archivos

git add .

//realizamos un commit local

git commit -a -m "update gemfile.lock"

// iniciamos session en heroku

heroku login

//creamos nuestra aplicacion

heroku create

// enviamos los cambios a heroku

git push heroku master

//renombramos la app 

heroku rename tuappname

heroku open

Fin!

Missing :action key on routes definition, please check your routes.

En estos dias he estado trabajando con Rails para realizar ciertas cosas, al intentar acceder al controller recibo el siguiente error:

“ArgumentError: Missing :action key on routes definition, please check your routes”

http://asheepapart.blogspot.com.es/2010/07/mapperrb143in-defaultcontrollerandactio.html

SQLServer y soporte a “Ruso”

Muchas veces nos olvidamos de la codificación de los diferentes idiomas, hoy me toco el ruso, no solo el soporte del browser en sino tambien a nivel de base de datos.

Links que me ayudaron:

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/4b66351c-0752-4987-b478-a8c58539b88d/storing-russian-characters-in-a-column?forum=sqldatabaseengine

http://stackoverflow.com/questions/16762021/cyrillic-symbols-in-sql-code-are-not-correctly-after-insert

Sumar valores en un Xml con Linq

Si queremos sumar todos los hijos de un elemento en un xml, por ejemplo en un xml que tnega cuenta, productos y en impuesto queremos sumar todo los totales.

XDocument dc = new XDocument();
        dc = XDocument.Parse(_document.InnerXml);

                var total = dc.Descendants("CUENTA")
                              .Elements("PRODUCTOS")
                              .Elements("IMPUESTOS").Elements("TOTAL").Sum(bs => Convert.ToDecimal(bs.Value));

Descargar un fichero en asp.net

En un proyecto necestaba inicializar una descarga este codigo me ayudo.

 Response.ContentType = "text/xml";
 Response.AppendHeader("content-disposition", "attachment;filename=clientes.xml");
 Response.Write("dany");
 Response.End();

© 2017 Danywalls

Tema por Anders NorénSubir ↑