Bueno amigos el día de hoy me paso de rápido por el blog para compartir un tip con ustedes. Es como usar un archivo de Excel desde Python con la biblioteca
Cambiar los Temas de Código Visual Studio 2005, 2008, 2010 y 2012
Enviar archivos por bluetooth con Python
Manejar dispositivos con bluetooth es bastante fácil utilizando Lightblue.
Lightblue proporciona un acceso sencillo a:
- La detección de dispositivos y de servicios (con y sin GUI)
- Interfaz de sockets estándar para RFCOMM y L2CAP
- Envío y recepción de archivos a través de OBEX
- La publicación de los servicios de RFCOMM y OBEX
- Información sobre el dispositivo.
Consulta la documentación de la API para más detalles.
Pueden buscar esta librería en los repositorios de su distribución de linux o bajar los binarios de la pagina oficial.
El código básico para enviar una imagen es el siguiente.
import lightblue # mac y nombre de los dispositivos detectados lightblue.finddevices() #devolverá la mac, canal y protocolo de comunicacion disponibles de los dispositivos, para el envio de archivos el mio es el 8, OBEX Object Push lightblue.findservices() #se crea la variable con la direccion mac y el canal del dispositivo cliente = lightblue.obex.OBEXClient('xx:xx:xx:xx:xx:xx',8) #despues de conectarse correctamente se enviara un mensaje como este.. #<OBEXResponse reason='OK' code=0x20 (0xa0) headers={}> cliente.connect() #lo que enviamos putresponse = cliente.put({"name": "luis.txt"}, file("luis.txt", 'rb')) cliente.disconnect()
Lo guardan y desde la terminal pueden ejecutarlo como:
$ python codigo.py
Fuente: El FrameWork de Luis
Patrones de Diseño: Strategy
Ahora hablaremos un poco de arquitectura de software. Mucho se habla de patrones de diseño de software (por ejemplo en el trabajo). Pero como ejemplificar este significado? Bueno pues un patrón de diseño trata de resolver un problema en especifico. Hay muchas formas de resolver problemas planteados a la hora de desarrollar software. Seguramente en el nuevo proyecto que nos asignaron tenemos que resolver la forma en que se comportara nuestro software en ciertas condiciones, como procesara la información que tiene a su disposición o como creara nuevas instancias de objectos. Pero alto! seguramente ya hubo otras personas que tuvieron el mismo problema que tú y se dieron cuenta que ese problema se comportaba siempre de cierta forma (siguiendo un patrón) y había una forma optima de resolverlo. Aquí es donde nacen los patrones de diseño de software, vienen a resolver problemas conociendo como se comporta.
Los patrones de diseño se clasifican en:
- Patrones de Creación: patrones de diseño software que solucionan problemas de creación de instancias. Nos ayudan a encapsular y abstraer dicha creación.
- Patrones Estructurales: patrones de diseño software que solucionan problemas de composición (agregación) de clases y objetos.
- Patrones De Comportamiento: patrones de diseño software que ofrecen soluciones respecto a la interacción y responsabilidades entre clases y objetos, así como los algoritmos que encapsulan.
Dejaré un ejemplo del patrón Strategy (de comportamiento); Strategy permite tener diferentes comportamientos para objectos del mismo tipo, se persigue encapsular el comportamiento, se puede usar una estrategia diferente dependiendo del contexto del problema. bueno sin mas, dejo aquí un ejemplo y pronto agregaré mas patrones mientras les dejo una recomendación: Patrones de Diseno – GOF [Gamma,Helm,Johnson,Vlissides]
using System;
namespace Strategy
{
public interface IComportamientoFrenos
{
void Frenar();
}
public class FrenadoABS : IComportamientoFrenos
{
public void Frenar()
{
Console.WriteLine("Frenado con frenos ABS");
}
}
public class FrenadoNormal : IComportamientoFrenos
{
public void Frenar()
{
Console.WriteLine("Frenado con frenos normales");
}
}
public class Coche
{
protected IComportamientoFrenos comportamientoFrenos { get; set; }
public void Frenado()
{
comportamientoFrenos.Frenar();
}
}
public class cocheAntiguo : Coche
{
public cocheAntiguo()
{
comportamientoFrenos = new FrenadoNormal();
}
}
public class cochenuevo : Coche
{
public cochenuevo()
{
comportamientoFrenos = new FrenadoABS();
}
}
class Program
{
static void Main(string[] args)
{
cocheAntiguo coche1 = new cocheAntiguo();
cochenuevo nuevo = new cochenuevo();
coche1.Frenado();
nuevo.Frenado();
Console.Read();
}
}
}
Fuente: El Framework de Luis
RESHARPER 7.0 RELEASED: Herramienta para crear mejor y mas eficiente código
Resharper es una de las mejores herramientas para Visual Studio y que todo programador debería tener (o al menos haberla probado ).
Resharper paso de estar en fase de pruebas a una version estable y es compatible con visual studio 2012 y tiene integración con StyleCope.
Lo que comentan en su blog sobre las nuevas funcionalidades:
- Full integration with Visual Studio 2012 while maintaining support for Visual Studio 2005, 2008, and 2010. For obvious reasons, we’ve been testing on Visual Studio 2012 RC and we haven’t had a chance to verify smooth integration with Visual Studio 2012 RTM. However, as soon as RTM is available to us, we’ll see if it contains any breaking changes, and if we find anything, we’ll be quick to roll out a minor update. (See How Exactly ReSharper 7 Supports Visual Studio 2012.)
- An extensive pack of functionality for developers looking to create WinRT-based Metro style applications. (See Windows Runtime Support in ReSharper 7.)
- New code inspections and contract annotations for a more robust .NET code quality analysis.
- New automated code refactorings, including the top requested Extract Class to decrease code coupling.
- Additional code exploration features helping visualize hierarchies of polymorphic members and CSS styles.
- An extended and fine-tuned code generation toolset. (See Code Generation Improvements in ReSharper 7.)
- INotifyPropertyChanged interface support pack to improve productivity of Windows Forms, WPF and Silverlight application developers. (See INotifyPropertyChanged Support in ReSharper 7.)
- Removing unused assembly references across the entire solution.
- Extended web development toolset, including improvements to JavaScript support, and initial support for ASP.NET 4.5 and ASP.NET MVC 4.
- Addition of two previously unsupported Microsoft development technologies: LightSwitch and SharePoint.
- ReSharper provides continuous code quality analysis in C#, VB.NET, XAML, XML, ASP.NET, ASP.NET MVC, JavaScript, HTML, and CSS, detecting errors and problems before you even compile.
Una herramienta que toda empresa de software deberia tener disponible a sus desarrolladores .
Dejo un link del vídeo de la propia web oficial para saber porque Resharper es impresionante!
Fuente: El Framework de Luis
Retrieve Current Date Time in SQL Server CURRENT_TIMESTAMP, GETDATE(), {fn NOW()}
There are three ways to retrieve the current datetime in SQL SERVER.
CURRENT_TIMESTAMP, GETDATE(), {fn NOW()}
CURRENT_TIMESTAMP, GETDATE(), {fn NOW()}
CURRENT_TIMESTAMP
CURRENT_TIMESTAMP is a nondeterministic function. Views and expressions that reference this column cannot be indexed. CURRENT_TIMESTAMP can be used to print the current date and time every time that the report is produced.
CURRENT_TIMESTAMP is a nondeterministic function. Views and expressions that reference this column cannot be indexed. CURRENT_TIMESTAMP can be used to print the current date and time every time that the report is produced.
GETDATE()
GETDATE is a nondeterministic function. Views and expressions that reference this column cannot be indexed. GETDATE can be used to print the current date and time every time that the report is produced.
GETDATE is a nondeterministic function. Views and expressions that reference this column cannot be indexed. GETDATE can be used to print the current date and time every time that the report is produced.
{fn Now()}
The {fn Now()} is an ODBC canonical function which can be used in T-SQL since the OLE DB provider for SQL Server supports them. {fn Now()} can be used to print the current date and time every time that the report is produced.
The {fn Now()} is an ODBC canonical function which can be used in T-SQL since the OLE DB provider for SQL Server supports them. {fn Now()} can be used to print the current date and time every time that the report is produced.
If you run following script in Query Analyzer. I will give you same results. If you see execution plan there is no performance difference. It is same for all the three select statement.
Performance:
There is absolutely no difference in using any of them. As they are absolutely same.
SELECT CURRENT_TIMESTAMPGOSELECT {fn NOW()}
GOSELECT GETDATE()GO
Performance:
There is absolutely no difference in using any of them. As they are absolutely same.
My Preference:
I like GETDATE(). Why? Why bother when they are same!!!
I like GETDATE(). Why? Why bother when they are same!!!
Suscribirse a:
Entradas (Atom)