domingo, 17 de novembro de 2013
sábado, 4 de agosto de 2012
Como consumir componentes COM e ActiveX no C#
É bem simples, basta colocar o TlbImp.exe no computador onde os componentes estão instalados e rodar o comando passando a biblioteca a ser acessada como parâmetro. Será gerada uma DLL de mesmo nome no diretório do TlbImp.exe, e esta DLL será .NET pronta para ser usada no seu projeto.
quarta-feira, 6 de julho de 2011
Automatizando a mineiração de Bitcoins no Windows
Criei um pequeno script para facilitar a mineiração de Bitcoins no Windows
set host=localhost
set user=youruser
set password=yourpassword
set file=%appdata%\Bitcoin\bitcoin.conf
set pf=%programfiles(x86)%
set start=start ""
if "%pf%"=="" set pf=%programfiles%
echo rpcuser=%user% > %file%
echo rpcpassword=%password% >> %file%
%start% "%pf%\Bitcoin\Bitcoin.exe" -server
for /l %%X in (0,1,1) do %start% poclbm.exe -o %host% -d%%X -u %user% --pass=%password%
terça-feira, 8 de fevereiro de 2011
Como hospedar serviços WCF no IIS
Para o IIS 6.0 é necessário um comando a mais que para o IIS 7.0
"%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis" -i "%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -i
Para no IIS 7.0 para Windows 64 bits é necessário adaptar o caminho
"%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis" -i
"%windir%\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -i
terça-feira, 1 de fevereiro de 2011
Hudson CI versus Jenkins CI
Kohsuke Kawaguchi criou o Hudson-CI quando trabalhava na Oracle, mas a mesma licenciou o software como livre, com a exceção do nome “Hudson” que é propriedade da empresa.
Depois que Koshuke mudou de empresa, ele e a maioria esmagadora dos desenvolvedores queriam mover o repositório do site Java.net para o Github por causa do baixo percentual de disponibilidade do primeiro e das migrações com outages. A Oracle não concordou. Por isso agora o há um novo branch do Hudson. O mantido pelo desenvolvedor original e pela maioria da comunidade se passará a chamar Jenkins. Como ainda não há diferença entre as duas versões, tanto faz escolher. Mas como o Jenkins provavelmente terá mais desenvolvedores eu pretendo utilizá-lo.
Depois que Koshuke mudou de empresa, ele e a maioria esmagadora dos desenvolvedores queriam mover o repositório do site Java.net para o Github por causa do baixo percentual de disponibilidade do primeiro e das migrações com outages. A Oracle não concordou. Por isso agora o há um novo branch do Hudson. O mantido pelo desenvolvedor original e pela maioria da comunidade se passará a chamar Jenkins. Como ainda não há diferença entre as duas versões, tanto faz escolher. Mas como o Jenkins provavelmente terá mais desenvolvedores eu pretendo utilizá-lo.
Linq e seu filho mais famoso Linq-to-SQL
Com o .NET 3.0 e com o C# 3.0 foram introduzidas extensões à linguagem C# que mudou a forma de programar de muita gente. Uma das adições é uma syntaxe parecida com o SQL:
Mas também foram adicionados os Extension Methods:
Antes o tipo
int[] numbers = { 1, 2, 3 }; var numbersPlusOne = from n in numbers select n + 1;
Mas também foram adicionados os Extension Methods:
int[] numbers = { 1, 2, 3 }; var numbersPlusOne = numbers .Select(n => n + 1);
Antes o tipo
int[]
não possuía o método Array.Select(Func<T, TResult>)
. Mas esse método pôde ser adicionado sem modificações à classe original através dos Extension Methods. Note que os dois trechos de código acima são equivalentes, apenas escritos de forma diferente, ambos em C# 3.0.
Breve introdução ao Mapeamento Objeto-Relacional para .NET
Antes do Mapeamento Objeto-Relacional (ORM em inglês) automatizado surgir tínhamos que desenvolver nossas classes de acesso a dados manualmente.
Esta classe é responsável por:
Esta classe é responsável por:
- expor métodos para consulta ou atualização do banco, e para cada um destes métodos:
- serializar os parâmetros
- gerar e executar o código SQL
- deserializar o resultado
E pelo fato da linguagem SQL mudar de um SGBD para outro, se ela for gerada manualmente a migração de bancos ficava muito difícil. Com a introdução dos ORMs estas classes não precisam mais serem escritas nem precisamos nos preocupar com migração de bancos.
Os principais ORMs para .NET são
- NHibernate (FOSS)
- Linq-to-SQL (.NET 3.0)
- Entity Framework 1.0 (.NET 3.5)
- Entity Framework 4.0 (.NET 4.0)
Assinar:
Postagens (Atom)