Artigos com o marcador Dicas

Limpando e atualizando pacotes no Ubuntu

O Ubuntu é uma das melhores distribuições Linux que existe hoje no mercado e mesmo sendo um ótimo S.O ele não escapa de alguns cuidados que devemos ter, como qualquer outro sistema operacional.

Essa dica é uma dica de manutenção do sistemas onde veremos como atualizar os pacotes de sistema, e limpar os pacotes desnecessários. Essa dica foi feita em cima do Ubuntu 8.10 Intrepid Ibex. Porém ela poder servir para outras versões do Ubuntu.

Primeiramente, precisamos habilitar todos os repositórios do Ubuntu pelo Synaptic. Para isso faça:

Sistema > Administração > Gerenciador de Pacotes Synaptic

Com o Synaptic aberto vá em Configurações > Repositórios. Marque as opções igual a tela abaixo:

Clique em fechar na janela de habilitação dos repositórios e feche o Synaptic. Agora, abra o console e digite o seguinte comando para atualizar as listas de software baseados nos repositórios que acabmos de habilitar no Synaptic:

sudo apt-gte update

Após o update das listas de software, vamos atualizar os pacotes que você tem instalados:

sudo apt-get upgrade

Somente os pacotes e softwares que tiverem atualizações disponíveis serão atualizados. Senão, o sistema irá informar que não há pacotes a serem atualizados.

Agora, podemos remover pacotes que não são mais usados com:

sudo apt-get autoremove

Também podemos limpar os pacotes que baixamos, já instalamos mas eles permanecem na máquina com:

sudo apt-get autoclean

Depois finalizamos com uma checagem de dependências quebradas com:

sudo apt-get check

Pronto. Você acabou de fazer uma manutenção básica em seu sistema Ubuntu. Faça regularmente essa manutenção para evitar problemas futuros e se manter sempre atualizado com as últimas versões de softwares e pacotes que vão sendo liberados. Sempre que uma nova versão do Ubuntu sair tenha como prioridade fazer uma atulização do próprio Ubuntu.

  • Share/Bookmark

Ruby e o Method Missing

Quando temos um objeto em Ruby e mandamos uma mensagem a esse objeto, a primeira coisa que esse objeto faz é procurar um método com o mesmo nome da mensagem que foi enviada. Mas como assim?

Por exemplo, temos o seguinte código (veja os comentários):

class Cachorro
 
   # Aqui temos um método
   def latir
      puts "Au au"
   end
 
   def rosnar
      puts "grrrrrr"
   end
 
end
 
cao1 = Cachorro.new
 
# Aqui estamos enviando a mensagem latir ao objeto
# cao1
cao1.latir
 
cao1.rosnar

Saída:

Au au
grrrrrr

Repare que temos a classe “Cachorro“. Nessa classe temos dois métodos: latir e rosnar. Terminada a classe, vem o script. No script criamos um novo objeto cachorro com o nome de “cao1“. Quando declaramos cao1.latir ou cao1.rosnar, estamos mandando uma mensagem ao objeto.

Quando mandamos essa mensagem, o objeto cao1 procura pelo primeiro método que ele encontrar com o mesmo nome da mensagem. O nome da mensagem é “latir” e “rosnar” no nosso caso.

Muito bem, agora o que aconteceria se chamássemos um método que não exista nesse objeto? Ou melhor, se mandássemos uma mensagem que não exista a esse objeto?

Veja o exemplo e a saída:

class Cachorro
 
   def latir
      puts "Au au"
   end
 
   def rosnar
      puts "grrrrrr"
   end
 
end
 
cao1 = Cachorro.new
 
cao1.latir
cao1.rosnar
 
# Método não existente
cao1.voar

Saída

Au au
grrrrrr
C:/desenvolvimento/ML/Estudo/lib/main.rb:23: undefined method `voar’ for #<Cachorro:0×2909af0> (NoMethodError)

Resumindo, o Ruby quando não encontra o método, levanta a exceção “NoMethodError“. Agora vem a parte mais legal. Nós podemos tratar esse erro capturando a exceção ou, utilizando o method_missing. Mas o que é o method_missing?

Após a verificação de que não existe aquele método chamado pelo objeto, o Ruby antes de levantar a exceção, procura pelo method_missing, se existir, a exceção não é levantada e esse método é chamado. Vamos ao código!

class Cachorro
 
   def latir
      puts "Au au"
   end
 
   def rosnar
      puts "grrrrrr"
   end
 
   def method_missing(m, *args)
      puts "Putz! Chamei o metodo errado"
   end
 
end
 
cao1 = Cachorro.new
 
cao1.latir
cao1.rosnar
 
# Método não existente
cao1.voar

Saída:

Au au
grrrrrr
Putz! Chamei o metodo errado

Muito legal!

O method_missing é uma maneira elegante e muito “rubística” de tratar chamadas de métodos inexistentes. Mais do tratar esse tipo de erro, você pode usar para criar novas funcionalidades em seu sistema. O Rails usa e abusa do method_missing.

  • Share/Bookmark

Como transformar um usuário limitado em um administrador no Windows XP

Se você é um usuário limitado no Windows XP, você pode sem fazer reinstalação do sistema se transformar em um usuário administrador. Mas para tal truque dar certo você terá que ter acesso a BIOS. Se ela estiver protegida por senha, nem siga em frente na dica.

O truque consiste em você baixar uma pequena ferramenta chamada PCLoginNow que reseta a conta local de administrador e as outras contas do sistema. A ferramenta reseta rapidamente as senhas do Windows e as configurações de segurança. Todas as versões do Windows são suportadas!

Vamos a dica.

Primeiramente tenha certeza de que você tem acesso a BIOS da máquina. Se tiver, baixe o PCLoginNow aqui. Agora siga o passo a passo:

1 – Queime em um CD/DVD a imagem do PCLoginNow

2 – Acesse a BIOS e altere a seqüência de boot inicial para iniciar pelo CD/DVD

3 – Boot pelo CD que você gravou do PCLoginNow

4 – Clique no botão “Next” quando você ver a mensagem “PC Login Now! is ready to start, please click NEXT to continue…

5 – Selecione o Windows que foi achado pelo PC Login Now.

6 – Selecione a conta do usuário que você quer editar, marque a opção “is Administrator” e clique em Next

PC Login Now! - Clique em "Is Administrator"

7 – Reinicie o computador e volte a seqüência de boot na BIOS para como estava.

Pronto.

Agora o usuário alterado já será um administrador nessa máquina sem nenhum esforço. Se você for usar a dica, use com responsabilidade. Se você é administrador de sistemas, proteja os computadores setando senhas na BIOS quando for possível.

Fonte: Raymond.cc

  • Share/Bookmark

Obtendo variáveis de ambiente com Ruby

As vezes em nossa aplicação precisamos verificar ou ver se uma variável de ambiente realmente foi “setada“.

Em Ruby isso é muito fácil fazer.

Veja o código:

1
2
path_bruto = ENV['path']
puts "Path Bruto: #{path_bruto}"

Pronto. Muito fácil.

Podemos trabalhar da maneira que quisermos quando recuperamos o valor de uma variável de ambiente. Abaixo, segue um trecho de código bem simples onde quebramos a variável de ambiente “path” em um array e imprimo na tela cada posição do array.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
path_bruto = ENV['path']
puts "Path Bruto: #{path_bruto}"
 
# Vamos trabalhar um pouquinho com o resultado do ENV.
# O path_bruto é "quebrado" com um split. A cada caracter ";" 
# que ele encontra, ele transforma em uma posição no array.
path_array = Array.new
path_array = path_bruto.split(";")
puts "Encontrados #{path_array.size} paths. Vamos exibi-los"
 
# Loop para exibir os caminhos no array
path_array.each do |path_separado|
	puts "Path: #{path_separado}"
end

Uma observação a se fazer é que não é possível setar uma variável usando o ENV. Por exemplo, isso aqui não é possível:

1
ENV["var"] = "nova_variável"

Mas, se você criar um arquivo batch, setar a variável no arquivo batch e chamar seu código Ruby a partir desse arquivo batch, a variável setada fica disponível para você na sua aplicação. Vamos aos exemplos.

Temos nosso arquivo BAT:

1
2
3
@echo off
set minha_variavel=Ola Mundo
ruby show_minha_var.rb

E nosso arquivo Ruby que exibe a variável setada no arquivo bat.

1
2
minha_var = ENV["minha_variavel"]
puts minha_var

Execute o arquivo bat e veja que a variável nele setada também fica disponível para você usar em seu código Ruby.

É isso aí pessoal. Espero que tenham curtido essa dica.

Até a próxima!

  • Share/Bookmark