Arquivo da categoria: TI

Monitorando sua rede…


Hoje decidi que gostaria de monitorar minha rede. Ver quanto de bandwidth estamos usando na nossa rede. Para isso fiz uma pesquisa rapida e encontrei uma ferramenta chamada bandwidthd, no qual funciona como um sniffer na rede, monitorando os packets enviados e recebidos das maquinas conectadas.

Para instalar, você precisará de uma maquina com alguma distribuição linux, estou usando Ubuntu 8.04. Siga os seguintes passos para instalar a aplicação e o servidor web apache onde você terá acesso a alguns relatorios:

  1. apt-get install bandwidthd
    A instalação ira pedir para escolher qual interface esta conectada com a rede.
  2. apt-get install apache2
  3. cd /var/www e crie um soft link para o diretorio htdocs  que o bandwidthd usa (veja /etc/bandwidthd/bandwidthd.conf)
    ln -s /var/lib/bandwidthd/htdocs bandwidthd
    onde bandwidthd é o nome do link
  4. restarte o servidor apache /etc/init.d/apache2 restart (e o bandwidthd se necessario /etc/init.d/bandwidthd restart)
  5. acesse bandwidthd no seu browser
    http://<localhost ou IP>/bandwidthd

http://sourceforge.net/projects/bandwidthd/


Instalando sua iOS app – Deploying your iOS app


Infelizmente, a Apple ainda não liberou ( e provavelmente não ira ) a instalação de aplicações (para teste) em devices  iOS para aqueles que não são membros do programa de desenvolvedor.
Para se afiliar como membro do programa de desenvolvedor Apple você devera pagar uma taxa de US$99/ano o que te dará a habilidade de instalar via adhoc sua aplicação em ate 100 devices.
Mas existe uma solução se o seu iphone, ipad ou ipod é jailbroken.
Siga as seguintes instruções:

Criar Self-Signed Certificado

Primeiramente você devera criar um self signed certificate e patch seu iPhone SDK para possamos usa-lo:

  1. Execute Keychain Access.app. Com nenhuma item selecionado, no Keychain menu selecione Certificate Assistant, então Create a Certificate.
    Name: iPhone Developer
    Certificate Type: Code Signing
    Let me override defaults: Yes
  2. Clique ContinueValidity: 3650 days
  3. Clique Continue
  4. Deixe em branco o campo do Email .
  5. Clique em Continue até o final.Você devera ver no final, algo do tipo “This root certificate is not trusted”. Isso era de se esperar, não se preocupe.
  6. Configure o iPhone SDK para utilizar self-signed certificate :

    sudo /usr/bin/sed -i .bak ‘s/XCiPhoneOSCodeSignContext/XCCodeSignContext/’ /Developer/Platforms/iPhoneOS.platform/Info.plist

Este comando ira criar um backup do arquivo Info.plist e modificar a opção necessária, se quiser voltar para a configuração normal, você devera renomear o arquivo somente.Se o Xcode estava aberto, feche e abra novamente para que carregue as novas configurações

Deployment Manual via WiFi

Os seguintes passos necessitam openssh e uikittools instalados primeiramente no devices.

Para compilar manualmente e instalar sua aplicação no seu device como uma system app:

  1. Project, Set Active SDK, Device e Set Active Build Configuration, para Release.
  2. Compile seu projeto normalmente (usando Build, e não Build & Go).
  3. Na pasta build/Release-iphoneos você encontrar seu app bundle.
  4. Use seu método preferido (via ssh) para transferir sua app para a pasta /Applications no device.
  5. Avise SpringBoard que uma nova aplicação foi instalada:

    ssh mobile@myiphone.local uicache

    Isso somente deve ser feito quando você adiciona ou deleta aplicações. aplicações atualizadas não precisam desse passo.

Note que se você desejar deletar a aplicação, a mesma não poderá ser feita via SpringBoard interface, você terá que usar ssh para deletar e atualizar o SpringBoard:

ssh root@myiphone.local rm -r /Applications/myApp.app
ssh mobile@myiphone.local uicache

Agora é só abrir sua aplicação e enjoy it!
Abracos

fonte:http://stackoverflow.com/questions/37464/iphone-app-minus-app-store

Iphone – Developing a calculator


Hello guys this is my first app in iOS 4. Is a simple calculator. Feel free to ask question about the code. Right after I finished this app I learned about dot notation in Object-C so I still have to implement it.

Enjoy.

Minha primeira aplicação em iOS4. Se tiver qualquer duvida ou pergunta não exite em deixar um comentário.

download : source code


Tenis Geek


Hoje eu estava trabalhando com meu grupo no nosso CPU project, onde temos que construir um CPU pipelined e eu simplesmente visualizei o tenis mais Geek que eu ja vi ( o primeiro ) em um dos membros do grupo. Enjoy it.



Assembly Programming – Parte 1


Bom depois de muito tempo sem artigos estou de volta para começar uma série em assembly programming básico.

Assembly é a linguagem mais próxima dos 0’s e 1’s (que é a única coisa que o computador entende).
Em qualquer outra linguagem de programação o compiler tem o trabalho de traduzir seu código (high level) para assembly (low-level) e dai o assembler converte para 1’s e 0’s. então se você não tem a mínima ideia de como o computador processa cada instrução ou como pode o computador entender somente 1’s e 0’s eu recomendo o livro ” Computer Organization and Design ” by David A. Patterson e John L. Hennesy.

Nesse tutorial estaremos usando o simulador MIPS, que utiliza o processador do tipo RISC. Cada processador tem comandos diferentes na sua linguagem assembly. É por isso que se você escrever um programa assembly para MIPS, o mesmo não ira funcionar em um processador Intel ou AMD. Processadores Intel e AMD tem uma tabela de commandos muito similar e isso minimiza os problemas de compatibilidade entre eles.

Aonde eu usaria assembly ? Por ser uma linguagem low-level é extremamente rápida se utilizada de maneira correta. Assembly também é muito utilizado quando você quer se comunicar diretamente com o hardware do computador, por isso é utilizado também para criar drivers para devices. E se você ainda não esta convencido a aprender assembly, eu te digo que se você sempre imaginou como alguém pode criar um crack para uma aplicação… É utilizando uma técnica chamada disassembly, que simplesmente converte o .exe para assembly e assim você pode ver o que esta acontecendo na aplicação e descobrir como a aplicação utiliza aquele serial que você entrou na instalação.

No próximo artigo entraremos a fundo na syntax da linguagem.

Boa sorte a todos e não se esqueça de aprender como o computador processa instruções antes de ler a próxima parte.

Abraços


ASP.NET XML webservices


Hoje falaremos sobre XML webservices, um pouca da sua história e o objetivo dele ter sido desenvolvido e estaremos criando e consumindo um ao final deste artigo.

Simplificando a utilidade dos webservices teremos uma explicação simples que é a integração de sistemas distintos mas que precisam trocar informações.
Antigamente essa integração era feita via RPC ( Remote Procedure Call ) e depois evoluiu para RPC – over http no qual utilizava a porta 143 para se comunicar. A tecnologia RPC tem vários problemas, são eles:

• A data dos sistemas que estão tentando trocar informações devem estar sincronizadas, isto é, exatamente iguais.
• Existiam muitas diferenças na linguagem quando os sistemas eram diferentes.
• As chamadas eram síncronas.

Portanto para acabar com todos esses problemas foi criado o webservices utilizando o XML como linguagem de comunicação. O XML foi implantado e padronizado pela W3C.

Existem alguns itens que são importantes saber para criarmos um webservices:

WSDL – Web Service Description Language – Nele estão descriminados todos os pontos de entrada, descrição de classes, métodos e outras informações. ( Ele é criado de acordo com as regras da W3C)

DISCO – Discovery – Armazena os contratos com relação ao webservices ( Ele é gerado somente por webservices da Microsoft)

UDDI – WWW.uddi.org – Funciona como as páginas amarelas dos webservices onde você pode cadastrar o seu webservices e disponibiliza-lo ao público e também achar e consumir algum do seu interesse.

SOAP – Simple Object Access Protocol – É a linguagem que os webservices utilizam para trafegar as informações entre eles.

Existem 2 tipos de chamadas quando estamos consumindo um webservices

1. Direct call – Chamadas feitas direto do browser para o webservices.
2. Proxy call – Aplicação fazendo chamadas para o webservices onde não tem uma camada de apresentação.

Bom, agora vamos botar a mão na massa e criar e consumir nosso webservices.

Vamos abrir o Visual Studio 2008 SP 1 e criar um projeto do tipo ASP.NET Web Services application.

Iremos perceber que ele já criou um WebMethod de exemplo quer se chamarmos ele irá nos retornar um “Hello World”.

Agora vamos criar um método nosso onde ele irá receber 2 numeros, fazer a soma deles e retornar o resultado.

Nosso código ficará assim:

Simplesmente fazendo isso nós já temos nosso webservices pronto para funcionar. Lembrando que o webservices é como se fosse um website então se quisermos botar para funcionar devemos simplesmente criar o diretório virtual no IIS, mas como estão rodando nossa aplicação no VS 2008 ele criará o web Server virtual para nós.

Iremos criar agora uma aplicação web e montar nossa tela de input. Vamos adicionar um projeto a nossa solução

Nossa tela ficará assim:

De um Build na solução para ver se não tem nenhum erro.

Agora iremos adicionar a referencia do nosso WebService ao nosso projeto web para que possamos consumir e chamar o método que criamos.

Para adicionar a referencia, clique com o botão direito em cima do projeto web no solution Explorer e clique em Add Service Reference

Depois na próxima tela clique em Discovery , selecione o nosso webservices que ele achou automaticamente e clique em OK.

Feito isso iremos programar um pouco.
De um duplo clique no botão da tela e insira o seguinte código:

Agora podemos rodar nossa aplicação e testar nossa “super” calculadora.

Boa sorte a todos e qualquer dúvida pode perguntar.

Abraços

Lineker Tomazeli


Isolamento de Classes – .NET


Muitas dúvidas tem surgido sobre isolamento de classes e então resolvi escrever este pequeno artigo. Vamos lá.

Quando usamos isolamento de classes ?
Iremos usar diferentes tipos de isolamento de classe quando queremos proteger uma classe de ser estanciada ou herdada.
Quem mais utiliza isto?
Podemos encontrar essa prática em muitos componentes prontos que são vendidos.

Nós temos 3 tipos de isolamento de classes:

  • Classe abstrata ( abstract ) – Não é possível estanciar mas pode ser herdada

Exemplo:
abstract class  MinhaClass {    }

  • Classe de construtor privado ( private ) – Não é possivel estanciar a classe mas pode ser herdada

Exemplo:

private MinhaClasse()
{
}

  • Classe Isolada ( sealed ) – Não pode ser herdada mas pode ser estanciada

Por tanto se você juntar um construtor privado com uma classe isolada você terá uma classe extremamente protegida.

Deixe seu comentário.

Abraços

Lineker Tomazeli