Mostrando postagens com marcador programação. Mostrar todas as postagens
Mostrando postagens com marcador programação. Mostrar todas as postagens

terça-feira, 28 de julho de 2009

RubyScript2Exe - Sobre e Testes :(

Como falei no último post sobre o RubyScript2EXE iria relatar meus testes como RubyScript2Exe, no qual iria fazer alguns testes e fiz, e infelizmente para mim não foram boas. Lembrando que os testes foram realizados no Windows XP Pro, num Celeron M, com 1,4 Ghz.
1) Primeiro o teste simples de um simples #print "Hello World":

Ruby: o arquivo fica com 13 bytes.
EXE: o arquivo ficou com 699Kb, em várias vezes é sempre o mesmo tamanho.
2) Usando uma estrutura de repetição tipo o for:
Ruby: o arquivo está com 34 bytes.
EXE: o arquivo ficou com 699Kb, também, acho que isso já começa a ficar meio ruim, ou pelo menos bom, pois deve ficar ainda maior mais não funcionou.

3) Agora fiz um simples 'cat', um comando muito usado no linux, e nele abri o arquivo e imprimi na tela.
Ruby: o arquivo esta com 63 bytes.
EXE: arquivo ficou com 699kb, isso é impressionante, e dai já começa a criar lógicas sobre o que seria.
4) Os Anteriores foi bem simples, ou quase, então resolvi criar uma simples janela com Ruby, então usando o wxWidgets, criei uma janela bem simples, e nem ao menos coloquei conteúdo dentro dela, vejamos.
Ruby: o arquivo esta com 174 bytes.
EXE: olha a facada letal, o arquivo ficou com 7,87 Mb, isso foi pra mim o fim do uso do RubyScript2EXE.
Após a avaliação 4 fiquei muito triste e desanimado com o RubyScript2Exe, porém posso futuramente, disseca-lo e melhorar o que ainda não acho bom, principalmente por gerar Exe's tao grandes, porém isso já é um começo em minha opnião, e espero sinceramente que você use e se possível melhore, para termos vantagens ainda maiores ao usarmos o Ruby.
Mesmo assim existem outras alternativas, e é somente procurar que achará a solução adequada pra você.
Esse post é só uma forma de mostrar uma alternativa para as pessoas, porém lembre-se que ela pode te ajudar muito, ainda mais se não trabalhar com interface. Boa Sorte.
Lembrando que todos os arquivos dos teste que realizei encontram-se no seguinte link:



Caso queira saber mais sobre o RubyScript2Exe pode visitar: http://www.erikveen.dds.nl/rubyscript2exe/
espero que isso te motive muito mesmo.
ATUALIZADO(29-04-10)
Alias uma solução que pode ser adotada, é usar esses compressores de .exe encontrados em varios sites, e usados por grande empresas, realmente torna a alternativa muito boa, facilitando trabalhar com rubyscript2exe.
Um dos programas que indico é o UPX, demonstra grande qualidades, já vi ele comprimir um exe Delphi de 32mb para apenas 6mb, entao ele pode vir a fazer milagre em alguns casos.

Abraços

quarta-feira, 27 de maio de 2009

Funcao Empty - JavaScript

Semanas atras eu queria usar uma funçao que verifica-se se existe valores null ou vazios em uma variavel, e no PHP temos o empty(), porém procurei na web algo parecido para JavaScript dai eu não achei nada e na minha ignorancia criei a funcao que uso sempre que preciso, e quero postar aqui caso passe pelo mesmo que eu.

Nota: o uso dessa funcao de sua responsabilidade.
:::Codigo:::
====
/*
* Nome da funcao: EMPTY
* Descricao: funcao verifica se o campo esta vazio ou nao
* Author: Wallace Silva
* Email: aliga12@yahoo.com.br
*
* Entrada, tipo string e intenger
* v é a variavel de entrada
* -retorna verdadeiro se: var==null, var=="", var=='', var==0,
* -retorna falso em caso diferente
*/
function empty(v){
if (v==null || v==0 || v=='' || v==""){
return true
}else {return false}
}

=====
Vlw, abracos

domingo, 13 de abril de 2008

Dicas: Empregos - Onde trabalhar

Se você está procurando emprego, não perca tempo, com longos cadastros em vários sites que muitas das vezes nem te ajudam, a solução que proponho, talvez, não irá te ajudar de imediato, mas lhe será útil.

Eu sempre fiquei ligado em tudo que rola na net com relação à empregos, principalmente na minha aréa (informática), por isso ai vai algumas dicas simples, para encontrar seu emprego.

Se você quer emprego, mesmo defina o que você quer da vida, não fique em dúvida, eu por exemplo já passei muito por isso, pois não sabia qual linguagem de programação escolher. Agora já resolvido to estudando C/C++ na faculdade e por conta própria Java (Baseado em conteúdos da net, apostilas e no livro do Sergio Furgeri, que até indico para pessoas leigas).

Sempre me indicaram umas listas de grupos do yahoo, para pesquisar emprego uma era a do Rj-Vagas e a outra era Lista da Simone, e a que quase todos sempre me indicam é Lista da Sandra Mara, nossa e recentemente teve até estréia de site, apesar de ainda ser bem simples, porém o grupo no yahoo é bem fortalacido, eu indico o grupo, no entanto entrei no grupo hoje, então não posso falar muito. Lembrando que essas listas são para todos os tipos de emprego e trabalhadores.

Agora que é programador C/C++ eu indico o K2 Consulting, que aprece muitas das vezes nas listas de grupos do yahoo, eu que pode ser feito um cadastro de curriculum no site. Esse é bem mais certo para os programadores C/C++, até me ligaram, porém como não sei nada ainda não fui aceito, mas disseram que o meu curriculum continuaria no sistema, e o mais legal que a voz da atendem era muito boa, bem doce.

Quem procura uma empresa ou trabalho ou melhor área especifica, procure no famoso Google, pelo RH(Recursos Humanos) de empresas que atuem na área desejada.

Em breve posto mais dicas.

Beijos na atendentes,
Abraços nos empresários.

sábado, 5 de abril de 2008

Por que ter um blog?

Por que ter um blog? Sei que essa questão, não vale de nada pra alguns que já possuem um blog, no entanto por incrivel que parece ainda há pessoas que não tem o seu. Logo de começo quero dizer o que me levou a fazer um blog. No começo vi que tava virando moda e criei logo meu, dai nunca usava, depois de um tempo fins alguns posts, mas como não era muito visitado fiquei desmotivado, até que comecei a assistir palestras que ensinavam a fazer um blog e blá, blá.

Explicação:

Ainda assim não foi a motivação que precisava pra continuar, contudo com vários fatos ocorridos em minha vida, eu como um ser humano "Anormal", tenho um necessidade de fazer algo, sempre e desde jovem aprendi sozinho que deveria registrar tudo que passsa em minha cabeça, daí comecei a fazer anotações de tudo que via ou fazer, tipo no filme Efeito Borboleta("The Butterfly Effect"), onde Ashton Kutcher relata sua vida em um bloco de notas.

No entanto, após o término de meu namoro, eu fiquei tao triste que parei, foi então que os problemas começaram, e continua um pouco ainda hoje, pois minha cabeça fica cheia de conhecimentos e estudos e outras que não penso mais tao rápido. Dai alguns meses atrás me veio a idéia de usar o blog como "Bloco de Notas", onde além de anotar e salvar tudo que já passou na minha cabeça eu poderia até ajudar as pessoas, porém vi que não podeia falar todas as coisa na net, senão teria que restringir/censura para menores de 18 anos, por isso ainda continuo meio confuso, pois se eu falasse tudo que passa na minha 'mind', eu tenho quase certeza que seria um dos mais visitados.

Como Fazer:

Passo 1:
Então, para que você tenha um blog deve ter algo em mente, tipo fazer um blog somente de notícias, ou de tecnologia, ou linguagens de programação(java, c/c++, vb, dot.net, ...), ou dicas, ou tutoriais, ou você pode fazer como tenho visto muito é colocar links de Downloads de filmes e séries(que é o considerado o conteúdo mais baixado na net) e tudo mais, ou pior copia um conteúdo de outro site e organiza do seu jeito. Seja qual for você deve tê-lo definido.

Passo 2:
Escolher onde será hospedado seu blog, ou seja, onde será salvo tudo que você postar. Dentre as opções temos o Blogger e o Wordpress, os 2 são bons, porém um tem mais aditivos que o outro, mas isso fica para outro post.

Passo 3:
Após escolhido o local, lembre de escolher o melhor design para seu blog, pois o visual dele fará diferenças, apesar de muitos nem ligarem, chama atenção e opte pelo mais simples possível para que facilite na edição. Não ache que poderá fazer um posts bom em 2 minutos, que não é verdade, pois deve ser bem feito e aproveitado e quanto mais links o post contiver melhor, porém tome cuidado para não tornar o post um lixo de links onde fica difícil entender o que você quis dizer. Veja essa dica de como fazer um bom artigo, apesar de não ser relacionado diretamente com o blog, dá ótimas dicas de como organizar o texto e outras coisas.

Passo 4:
Tenha parceiros, como por exemplos outros blogs ou sites que estejam relacionados com o seu, não coloquei blogs váriados demais, pois desviar a atenção do que o visitante procura.

Passo 5:
Seu blog pode render muito dinheiro, o crescimento dos blogueiros, é também deviado ao uso para obtenção de lucros que são bem fartos quando utilizados.

- Adsense: Ferramenta do Google no qual o blogueiro coloca os link de anúnciantes e recebe por cada clique feito em cima dos anúncios. É considerado, praticamente o melhor meio.

- Anúncios de Interessados: Seu blog pode ficar conhecido e famoso um dia, ai então que entra o Midia Kit onde um anúnciante, ver as formas de anunciar em site e paga diretamente a você por cliques ou tempo que permanecer o anúncio, isso varia de blogueiro para blogueiro.

- Buscapé e outros: Seu blog pode fazer anúncios de sites de busca de preços como o buscapé, e você recebe por clique, porém há algumas limitações de quantidade e outros.

- Sites PTC: Você pode está cadastrado em um site PTC, como o Bux3.com, ClickSalary ou Bux.to,
e colocar o link em sua página, gerando assim afiliados.

- Outros: Há várias formas de se ganhar dinheiro com seu blog ou site, você deve ser paciente adicionar aos poucos.

Nota: Lembre-se não encha seu site de anúncios, pois poderá transformar seu blog num lixo visual e assim ninguém irá querer visitá-lo.

Concluindo:

Ao ter um blog, faço algo bom e de estilo (se possivel) e atualize com a maior freqüência possivel, caso tenha dúvidas ou problemas consulte outros blogueiros. Se você valorizar o blog que faz concerteza ele será o melhor, então não pense em ficar tentando ganhar dinheiro com ele, pois isso o desviará de seu objetivo inicial, um bom blog.

Se você é como e não dispoe de muito tempo para posts, faço somente o necessário, e não se preocupe em fazer inúmeros posts diários, no começo um semanal já é de bom começo, depois de um tempo seu blog terá tantos posts que você receberá visita até em posts feitos há anos/meses.

Observação: você deve ter notado que não possui muitos parceiros ou blogues amigos, e a explicação é clara, por que eu não tenho um grande finalidade, PRINCIPAL, de mudar o mundo e ser o blog mais visitado, quero sim e muito, mas primeiro penso em ajudar a todos que possivel com meu post, mas eu vou providênciar blogues parceiros.

Aproveitando se você quer ser estar em minha lista: entre em contato via comentário ou por e-mail(aliga12@yahoo.com.br) colocando no campo assunto "Blog Parceiro" ou "Anúnciante do Blog" e na mensagem seu link, que estarei analisando e adicionando.

Beijos nas Girls
Abraços nos Boys.

quinta-feira, 20 de março de 2008

O que significa Orientação a objetos ?

Para quem é Programador nos dias de OO (Orientação à Objetos) é fundamental ter conhecimento sobre tal e para quem está iniciando, assim como eu, que estou vendo em UML. É complicado ter uma lógica boa de OO, e pesquisando na net achei um artigo do José Carlos Macoratti, no próprio, onde tem várias outras coisa muito boas. VOu publicar o artigo dele e todos os créditos são do cara.


Autor: José Carlos Macoratti

Orientação a objeto é um conceito que esta relacionado com a idéia de classificar , organizar e abstrair coisas. Veja a definição formal:


"O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam estes dados. "

Vamos falar uma linguagem mas simples para isto vamos para um ambiente que você conhece bem: A sua casa !


Agora vamos olhar a sua estante , o seu guarda-roupa , o seu armário , a sua cozinha. Em todos estes lugares você classificou coisas no seu domínio e , somente de olhar para eles você já sabe relacionar a classificação que utilizou em cada um deles e como classificou as coisas que estão neste lugares. Na estante você agrupou e organizou os livros , no guarda roupa suas camisas, calças , meias , ternos , etc. Todos os objetos que você classificou nestes lugares foram organizados baseado em alguma concepção que você possuía sobre eles.


No contexto orientado a objeto a estante , o armário , a cozinha são chamados de classes.


No contexto de software podemos dizer que :

Uma classe é um gabarito para a definição de objetos. Através da definição de uma classe, descreve-se que propriedades -- ou atributos -- o objeto terá.

Uma classe mantém dois elementos importantes : estrutura e comportamento.

  • Uma estrutura representa os atributos que descrevem a classe.

  • Um comportamento representa os serviços que a classe suporta.

Na classe do seu guarda-roupa , uma camisa amarela pode ser colocada em uma outra classe. A classe camisa.

  • Cada camisa tem uma estrutura que é : a textura , a cor , o tamanho e o modelo.

  • Cada camisa tem um comportamento que é : ordenar , rasgar , desbotar .

Se você concordar que existe uma classe camisa. Vai concordar que existem diversos tipos de camisas com suas características, ou seja , existem diversos objetos camisas que podem ser criados a partir da classe camisa. Daí temos o conceito de objetos:

O conceito de orientação a objetos é abordado desta mesma maneira sempre. No contexto do software podemos então dizer que :

É através de objetos que (praticamente) todo o processamento ocorre em aplicações desenvolvidas com linguagens de programação orientadas a objetos.

  • Primeiro você classifica e abstrai os elementos no sistema para proporcionar uma certa ordem ao fazer isto você define uma classe

  • Feita a definição da classe você pode criar objetos desta classe. (instanciar)

Vou citar aqui o exemplo clássico da planta de uma casa.

- Classe seria um gabarito (como uma planta de uma casa)

- O objeto é concretização do gabarito (casas feitas a partir da mesma planta)

Quando levamos estes conceitos para as linguagens de programação nada se altera.

Existem alguns conceitos básicos que estão vinculados ao conceito de orientação a objetos. São eles :

  • Herança

  • Encapsulamento

  • Polimorfismo

A herança permite implementar a funcionalidade a sua classe de tomar emprestado o resto da estrutura e comportamento de classes de nível mais alto.

Pensemos na classe carro. Esta classe define os comportamentos e atributos de um carro. E existem atributos que serão comum a todos os carros.

As rodas e o motor são atributos comuns a qualquer carro. Já uma Ferrari possui atributos que somente ela possui : valor por exemplo.


A definição formal seria:


Herança é um mecanismo que permite que características comuns a diversas classes sejam agrupadas em uma classe base, ou superclasse. A partir de uma classe base, outras classes podem ser especificadas. Cada classe derivada ou subclasse apresenta as características (estrutura e métodos) da classe base e acrescenta a elas o que for definido de particularidade para ela


Encapsular significa "ocultar informações" ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona e oculta os detalhes internos sobre como ele executa os serviços.


Quando você acelera um carro você esta enviando uma mensagem ao motor do carro usando o acelerador e o carro sabe que tem que acelerar. Você não precisa saber como é feita a aceleração no motor você apenas pisa fundo no acelerador , a implementação de como é feita a aceleração esta encapsulada do cliente.


Polimorfismo significa muitas formas , na orientação a objetos você pode enviar uma mesma mensagem para diferentes objetos e fazê-los responder da maneira correta. Você pode enviar a mensagem de dar marcha-ré para cada objeto semelhante a um carro e cada um vai se comportar de maneira diferente para atender a sua solicitação.


Uma definição mais formal diria:


"Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse"



Fonte: http://www.macoratti.net/oo_conc2.htm