Mostrando postagens com marcador Informática. Mostrar todas as postagens
Mostrando postagens com marcador Informática. Mostrar todas as postagens

segunda-feira, janeiro 09, 2012

Aumentar tamanho do HD virtual no Virtual Box–complemento


   Complementando o post anterior, sobre aumentar o tamanho do HD virtual no Virtual Box, vai ocorrer que, ao iniciar a GUI do Virtual Box, você verá que ele informa o novo tamanho que você definiu, porém ao acessar a máquina virtual você descobre que o tamanho continua o mesmo de antigamente, e que a sua alteração não surtiu efeito.

    Isto se deve ao fato de que, quando você aumenta o tamanho do seu HD virtual, o espaço adicional aparece como uma nova partição na máquina virtual, no exemplo que demos anteriormente, com Windows XP, se você for em Meu Computador / Gerenciar e ir em Gerenciamento de discos verá que há um espaço extra não alocado, justamente o aumento de tamanho que você fez.

          Para resolver isso é simples, você vai necessitar de um gerenciador de partições, existem vários (Partition Magic, Norton Partition, etc), eu uso e indico um gerenciador de partição Open Source e free, chamado GParted, que pode ser obtido no endereço http://gparted.sourceforge.net/ , ele é baseado em uma distribuição linux, mas como informado no site, pode ser usado em Linux, Windows, MacOS, você baixa um arquivo *.iso, inicia a sua máquina virtual e monta este arquivo ISO no drive de CD, e faz o boot por este CD, isto vai iniciar o GParted, nào se preocupe com a aparência inicial, ele depois inicia uma interface gráfica extremamente fácil e simples de operar, onde você de aumentar o tamanho da sua partição atual para preencher todo o tamanho desejado, ou alocar o espaço extra como uma nova partição, o processo é rápido, intuitivo e bem fácil.

         Se você desejar apenas que a sua partição atual preencha todo o espaço novo que você definiu, apenas arraste a barra para preencher todo o espaço e pronto, depois clique em Apply (Aplicar), depois você sai do GParted, pelo botão exit, e reinicia a máquina virtual.

         Detalhe: Lembre-se de retirar do drive de CD/DVD virtual o arquivo ISO do GParted.

         Quando reiniciar a máquina, o Windows vai verificar a integridade do HD, e estará pronto para utilização.

         Bem fácil, rápido e intuitivo.

sexta-feira, janeiro 06, 2012

Aumentar tamanho do HD virtual no Virtual Box.


     Problema: Você estimou um tamanho para o seu HD virtual, afinal era só para alguns testes. Porém dos testes se passou a produção, daí para mais testes, e acabou ficando um HD permanente, e agora o espaço está pequeno, e precisa de um HD virtual maior.

       Vários tutoriais encontrados na internet nos ensinam a fazer alguns malabarismos para incrementar o tamanho do seu HD virtual, que incluem até mesmo criar um novo HD maior, e transferir para o outro HD o que você tem neste, acrescentar um segundo HD ao sistema, fazer um ghost do HD virtual (esta uma manobra realmente bem arriscada e complicada), e outras receitas que incluem mil e uma peripécias.

          Pois bem, na verdade nada disso é necessário, e aumentar o tamanho do seu HD virtual na realidade é uma tarefa corriqueira de manutenção, e que pode ser feita de forma rápida e muito fácil, sem a necessidade de grandes malabarismos ou soluções improvisadas.

O comando é modifyhd, e este comando possui várias opções, sua sintaxe é:

VBoxManage modifyhd <comando> <arquivo.vdi>

onde <comando> pode ser:

-- type normal / writethrough / immutable / shareable / readonly / multiatach

Este comando modifica o tipo de armazenamento que você está utilizando.

-- autoreset on / off
Determina se o disco deve se reinicializar a cada novo carregamento da máquina virtual.

-- compact
Como o próprio nome sugere, compacta a máquina virtual, eliminando espaços e blocos que contem apenas zeros, é uma desfragmentação da máquina virtual, normalmente reduz o tamanho físico ocupado pelo HD virtual.

-- resize megabytes / bytes
Este é o comando que nos interessa neste post, que é o comando que irá modificar o tamanho do HD virtual. Informamos o novo tamanho que desejamos.

          Vamos lá, mãos à obra:

           Primeiro identifique o disco virtual que você deseja aumentar o tamanho, aqui cabe uma informação, o utilitário vboxmanage não trabalha muito bem com nomes de discos virtuais que incluam espaços e hífens, ele simplesmente não consegue localizar, e se você colocar o nome entre aspas também não vai dar certo. Mas calma, para tudo existe solução, e neste caso é bem fácil.

           No nosso exemplo nós vamos ter dois discos virtuais, ambos de 10GB que vamos passar para 25GB, para exemplificar os dois casos, vamos ter um com nome de arquivo simples e outro com nome de arquivo que o vboxmanage se perde para gerenciar.

          Os dois discos virtuais:

          WinXPSimples.vdi (10Gb).
          WinXP – para testes.vdi (10 Gb).

          O primeiro não tem problemas o vboxmanage consegue trabalhar de forma fácil, o segundo é que será problema e teremos que resolver, vamos à tarefa.

          - Para o primeiro disco WinXPSimples.vdi de 10Gb.

           VBoxManage modifyhd --resize 25600 WinXPSimples.vdi

   O VBoxManage irá nos informar que estará reconfigurando o HD, para isso irá informar na tela:
0%…10%…20%…30%…40%...50%...60%…70%…80%…90%…100%    

           Pronto, você pode acessar o Virtual Box pela interface gráfica e verá que o HD virtual agora passou de 10Gb para 25Gb.

          O processo é bem  rápido.

          - Vamos para o segundo caso, WinXP – para testes.vdi (10 Gb).

         Neste caso, se você tentar o mesmo procedimento anterior, irá obter erro, dizendo que o arquivo WinXP – para testes.vdi não foi localizado, ou que a opção – não é válida.

          Neste caso podemos fazer o mesmo procedimento, não pelo nome, mas pelo UUID que é o número individual gerado pelo Virtual Box para cada HD.

         Para saber o UUID do HD, use outro comando do VBoxManage que lista os Hds instalados.

VBoxManage list hdds

Com isto pegamos o UUID do segundo HD, que no meu caso é d83f649f-c68c-3657-82f4-2e615be4307e, basta agora utilizarmos este UUID para informar ao VBoxManage qual o HD que queremos modificar.

VBoxManage modifyhd --resize 25600 d83f649f-c68c-3657-82f4-2e615be4307e

Pronto, o segundo HD também foi aumentado seu tamanho.

Fácil e não precisa de nenhum malabarismo.

Até a próxima.

sábado, março 05, 2011

Criando um aplicativo para iPhone no xCode - Parte 2 -

Continuando nossa série de posts sobre desenvolvimento para iOS, vamos dar continuidade no nosso projeto da calculadora.

Primeiro uma palavra sobre o quesito resolução, o iPhone 3 tem a tela de resolução de 320 x 480, já o iPhone 4 tem resolução de 640 x 960, e o iPad tem resolução de 768 x 1024,  considerando que as medidas referem-se sempre a Largura x Altura, pode-se notar que a diferença de resolução pode fazer com que um aplicativo feito para o iPhone 3, irá ficar com uma resolução no minimo horrível, no iPhone 4 e no iPad.
Como só tenho o iPhone 4 para testar, e o iPhone 3 o meu teste é no emulador, tenho dúvidas sobre como abordar esta questão, estou pesquisando isto e posto aqui tão logo tenha uma resposta correta, por enquanto a minha abordagem está sendo desenvolver para a resolução do iPhone 4, tendo em mente que, para o iPad a tela ficará menor, mas isto não é necessariamente um problema para uma calculadora, creio que para outros aplicativos que necessitem usar tela cheia, deveremos fazer uma versão específica para iPad.
     Já o caso do iPhone 3, a minha tentativa será ver se ele ajustará automaticamente o tamanho da tela, o que acho que não vai ocorrer, e nesse caso teríamos que ter uma versão específica para esta resolução de tela.
     Se algum de vocês, que estão acompanhando estes posts, tem acesso à um iPhone 3 (Qualquer versão, 3G, 3GS, a resolução de tela é a mesma), e puder testar, será uma preciosa contribuição.

     Vamos iniciar o xCode, e ao abri-lo veremos a tela inicial, como esta:


  
      Escolheremos "Create a new xCode Project", a seguir você deverá escolher o tipo de aplicativo que deseja desenvolver, note que você pode escolher desenvolver para o iOS (se você instalou o SDK, como mencionamos no primeiro post desta série, caso contrário você só terá a possibilidade de desenvolver para o MacOS), e vamos escolher em iOS a opção View-based application conforme você pode ver na tela a seguir:


    Uma view no iOS, é como se fosse um formulário no desenvolvimento para Windows (a grosso modo), na verdade um aplicativo pode ter várias views, ou seja, uma view é uma tela que o usuário vê e interage durante o uso do aplicativo, contém os controles que aceitam comandos do usuário e campos e figuras que mostram ao usuário as respostas aos seus comandos (feedback para o usuário).

     Como a nossa calculadora terá apenas uma tela, terá apenas uma view, pois na mesma view o usuário irá digitar os números, escolher as operações e verificar visualmente o resultado da operação realizada.
      Note que, escolher um modelo de aplicativo nesta fase do projeto, não quer dizer que o seu aplicativo esteja engessado, fadado a usar esse modelo sem alternativas, na realidade você pode mudar o formato inicial na medida que seus requisitos de projeto mudarem.

       Ao escolher para criar o aplicativo, será solicitado um nome para o aplicativo, e um local onde o mesmo deverá ser gravado, no nosso caso escolhi o nome Calculator_01, como você pode ver na tela abaixo.


     Se você pretende desenvolver aplicativos e vender na AppStore, o meu conselho é que você habitue-se a desenvolver o seu aplicativo todo em inglês, incluindo nome e mensagens, você pode depois criar uma opção multi idioma, mas como o mercado mais rentável é o mercado internacional, não pense que um consumidor americano, inglês ou australiano vai sequer olhar para um aplicativo que não esteja no idioma de Shakespeare. Também esteja preparado para dar suporte em inglês.
      Se o idioma do grande bardo é um problema para você, e sua intenção é realmente ganhar dinheiro com o mercado de aplicativos para o iOS, o melhor investimento nem será um hardware Mac, mas um curso de inglês urgente, ou você ficará limitado ao mercado de língua portuguesa, provavelmente mais especificamente ao Brasil, que é uma fração bem pequena no mercado potencial total.
       Nestes tópicos criaremos o aplicativo todo em inglês, como se fosse um aplicativo voltado para comercialização na AppStore internacional da Apple. Mais uma vez meu conselho: habitue-se à isto, ou você ficará frustrado com a baixa saída dos seus aplicativos.
           Quando terminar de criar o aplicativo, será mostrada a tela de projeto do xCode, com o projeto de Calculator_01 e seus arquivos, conforme abaixo:


      Veja que, se você está habituado com outras IDEs como Eclipse, Visual Studio, Delphi, o xCode não é assim tão estranho, basicamente você tem na parte esquerda da tela a visualização do projeto em esquema de árvore, onde você pode ver os arquivos que compõem o projeto, quando você selecionar um arquivo ou pasta nesta árvore, no painel a direita, na parte superior são mostrados os arquivos que estão sob esta pasta, e ao selecionar um arquivo neste painel superior à direita, você verá o arquivo no painel inferior, se for possível mostrar-lo.
         Ou seja, o esquema é relativamente simples.

          Já temos o nosso projeto iniciado, os arquivos básicos que devem fazer parte dele já foram gerados de forma automática pelo xCode, iremos adiante complementar os arquivos e recursos e começar a produzir código.

          Como o Objective C é uma linguagem orientada a objetos, iremos trabalhar dentro desta filosofia para produzir o nosso aplicativo. Iremos criar uma classe que irá fornecer as funções básicas de uma calculadora, ou seja armazenar os operadores, fazer as quatro operações básicas e armazenar o resultado. Nesta primeira aproximação não trabalharemos com agrupamento de operações, iremos utilizar as operações par a par a medida que forem sendo realizadas, ou seja, iremos armazenar um valor, aceitar um operador e outro valor, e fazer a operação entre estes dois operadores e guardar o resultado, que será o nosso valor armazenado para prosseguir as operações, à menos que o usuário clique em C (Clear) para zerar o acumulador e começar uma nova operação a partir do zero.


Posts anteriores desta série:
- Criando um aplicativo para iPhone no xCode - Parte 1
- Criando um aplicativo para iPhone no xCode - Parte 1 - Adendo.

terça-feira, março 01, 2011

Criando um aplicativo para iPhone no xCode - Parte 1

Muitos desenvolvedores gostariam de saber como desenvolver aplicativos para o mercado do iOS, o sistema operacional para o iPhone, iPad e iPod.

Na busca por isso, descobre-se que a linguagem nativa para isso é o Objective C, a parte boa é que a IDE para esta linguagem, e o SDK para o iOS é free e pode ser baixado direto do site da apple em http://developer.apple.com/devcenter/ios/index.action, você pode se inscrever no programa de desenvolvedores da apple sem custo inicial.
Você só irá pagar as taxas da apple quando (e se) decidir comercializar seus aplicativos na appStore, na época da postagem deste arquivo, a taxa estava em U$ 99,00 /ano.
A idéia desta série de postagens é demonstrar o que é necessário para se desenvolver para o iOS, como se faz isto, e os meandros da linguagem e da IDE para os gadgets da Apple.
      Sempre fui partidário que a melhor forma de aprendizado é: 
1 - Mão na massa - ou seja, se aprende melhor na prática mesmo.
2 - Na medida que aprender, você deve ensinar, disseminar conhecimento é a melhor forma de evoluir.

    Dito isto, o que pretendo fazer é um tutorial passo a passo, desde a instalação do ambiente, e desenvolver um programa básico, para fixar os conceitos da IDE e da linguagem. Nosso programa de exemplo não será nenhum prosaico Hello World, acho que isso funcionou muito bem para Dennis Ritchie quando mostrou ao mundo a linguagem C, mas hoje em dia apelar para isso é uma completa perda de tempo. Na minha opinião, isso é para quem não quer se comprometer com o que escreve. Com isto, vamos desenvolver um programinha um pouco mais pretensioso, mas igualmente simples: uma calculadora, que servirá para ilustrar uma série de conceitos da IDE e da linguagem. 
Depois de pronta, vamos aos poucos implementando outras funcionalidades nela, espero que com a colaboração de todos que acharem esta série de posts útil.

    No artigo anterior, mostramos como instalar o MacOS X em uma máquina virtual em Virtual Box, pretendo disponibilizar aqui também um link para uma máquina montada em VMWare. 
    Novamente destaco que, isto é bom para você conhecer o ambiente, aprender um pouco, mas quando for desenvolver a sério, considere adquirir um hardware Apple, a diferença na sua produtividade será fantástica, acredite em mim (todos estes posts estão sendo escritos direto do MacBook que estou usando para desenvolver, acredite seria muito penoso fazer isto de uma VM).

    Uma vez instalado o MacOS X (no momento você precisa, no mínimo, do Snow Leopard para usar o SKD 4 do iOS), acesse o site de desenvolvedores da Apple, no link postado no inicio deste artigo, baixe os pacotes (é grande, a imagem do DVD é aproximadamente 3,5 Gb), e instale no Mac.

     Primeira questão: Qual a linguagem que vamos utilizar?

     Vamos utilizar Objective C que, para quem acha que por saber bem C estará em casa, convém antes fazer uma pequena apresentação do ObjC.
      Primeiro, ObjC algumas vezes será igual a C, outras vezes será igual a Smalltalk, mas na maioria das vezes será apenas levemente parecida com uma ou outra destas linguagens, sendo diferente de ambas. Coisas da Apple (quem teve que ralar com o Apple Basic nos primórdios da programação vai entender de cara o que estou escrevendo)!
      A origem é lá nos idos dos anos 90, quando Steve Jobs fez um acordo com a Apple, onde ele entrou com o traseiro e os executivos da Apple na época entraram com os pés. Na rua, com alguma grana que ele e Wozniak haviam recebido (sim, Jobs não fundou a Apple sózinho, mas isso é outra história) realizou alguns investimentos em startups de TI, um destes investimentos foi a aquisição de parte de uma startup chamada Next, que vinha trabalhando duro em workstations para processamento gráfico pesado, e assim acabou incorporando uma linguagem dedicada para isto, que foi criada por Brad Cox e Tom Love para a empresa de ambos, a StepStone, que foi posteriormente licenciada pela Next. 
Exato, se você pensou que esta linguagem era Objective C, acertou.
Quando Jobs voltou para a Apple, para tirá-la da quase falência para o Olimpo que desfruta hoje, uma das condições foi a aquisição da Next, que era a sua "menina dos olhos".
Ao assumir a direção dos negócios, verificou a necessidade da reformulação de vários produtos, incluindo o próprio sistema operacional, que nessa época estava bem defasado e padecia de um certo atraso tecnológico. Para toda essa empreitada foi escolhido o Objective C, e o resto faz parte da história.

     A primeira barreira que o desenvolver novato na plataforma Apple vai se deparar, é com a própria IDE xCode. No inicio pode parecer meio estranho, é bem diferente das outras IDEs que você possa estar acostumado, estou comparando com NetBeans, Eclipse, Visual Studio, Delphi. Mas depois de 1 ou 2 horas de uso você pega o "jeitão" da coisa, e quando for ver, já estará dominando o xCode.
      O xCode vem por padrão junto com o sistema operacional MacOS, para desenvolver direto para o MacOS você não precisará de mais nada, mas para desenvolver para o sistema operacional iOS, dos gadgets da apple, você precisa baixar o SDK no link do inicio do artigo.
      Se você não estiver visualizando o xCode na sua barra de aplicativos, vá em /Developer/Applications e você deverá encontrar o xCode. Pode ocorrer também que o xCode não tenha sido instalado quando você instalou o sistema operacional na máquina, neste caso basta rodar novamente o DVD de instalação do MacOS X e instalar o aplicativo, depois disso, o xCode deverá estar no diretório mencionando anteriormente.
      
       Atenção, depois do xCode instalado você deverá instalar o SDK para o iOS, se você instalou o SDK e depois instalou o xCode, deverá refazer a instalação do SDK para que essa opção apareça no xCode, caso contrário você só terá a opção de desenvolvimento para o MacOS.

        IDE instalada, vamos definir o nosso projeto:
  • Será uma calculadora para fazer as 4 operações básicas.
  • Não terá, pelo menos nesta primeira versão, alguns recursos como: memória adicional, persistência dos resultados, modo alternativo além do decimal.
  • Sem grandes sofisticações visuais, porém vamos cuidar para que, embora simples, seja ao menos bonitinha. Leve em conta sempre que, o design é tão importante quanto a funcionalidade, você estará desenvolvendo para um público acostumado ao belo design dos equipamentos e aplicativos da Apple, um público bem mais exigente neste quesito. Se pretende desenvolver a sério e tentar ganhar algum dinheiro no mercado do iOS, cuide sempre do design, e no fim do projeto, cuide novamente do design, e antes da publicação final, reveja novamente o design.

       Bom, no próximo post vamos iniciar a mão na massa de verdade, definindo visualmente como será o nosso aplicativo e vamos começar a fazer um pouco de código de verdade. See you guys!

segunda-feira, fevereiro 21, 2011

MacOS X Snow Leopard no Virtual Box

apple-mac-os-x-snow-leopard-box-topOK, você está querendo conhecer ou experimentar o MacOS X Snow Leopard, quer ver o que tem de especial o gatinho das neves do tio Jobs, ou quer apenas matar a curiosidade.

Então, o que fazer? A opção legal é comprar um Mac, a opção para quem quer apenas travar conhecimentos com o SO da maçã é montar uma máquina virtual, e experimentar.

Existem muitos tutoriais na net sobre virtualizar o MacOS X no VMWare, mas encontrei poucos, e um tanto incompletos, em inglês, para Virtual Box.
Pessoalmente prefiro o Virtual Box, ele consome bem menos recursos da máquina do que o VMWare, todas as vezes que tentei o VMWare, ele consumiu memória e capacidade de processamento com o apetite de um tigre siberiano em jejum prolongado.

Obs.: Estarei disponibilizando este material em formato PDF no site da empresa (www.spectrus.com.br).

Antes de iniciar, um aviso legal:
A Apple não permite que o seu sistema operacional seja instalado em outro hardware que não seja Apple. Portanto, legalmente, se você deseja usar o MacOS deverá comprar um hardware Apple.
Se você pretende usar o MacOS para algo além de simplesmente matar a curiosidade, eu recomendo enfaticamente que você compre um hardware Apple, no meu caso, cuja finalidade é para desenvolvimento para o iOS (iPhone, iPad, iPod), eu iniciei virtualizando o MacOS para experimentar, e depois parti para comprar um MacBook, a diferença é bem grande em termos de desempenho, lembre-se de que você está rodando uma máquina Virtual, que usa apenas uma parcela dos recursos do hospedeiro.

Requisitos do sistema:
    O que você precisa para fazer a brincadeira funcionar:
1 – MacOS X Snow Leopard (lógico) – Você pode baixar de várias fontes na net, inclusive torrents. Porém recomendo que você adquira um DVD do MacOS X, esse é o caminho legal, até se você desejar usá-lo mais seriamente depois. R$ 79,00 na saraiva completinho.

2 – Computador com, pelo menos, 2 Gb de memória RAM, recomendo 3 ou mais, para não ficar lento.

3 – 20Gb de espaço no HD, no mínimo.

4 – CPU com suporte a tecnologias de virtualização (verifique isto na sua Bios), se não tiver, esqueça, não funciona.

5 – O Virtual Box, em sua última versão (www.virtualbox.org).

Montando a máquina virtual….

   O processo é exatamente o mesmo da montagem de qualquer máquina virtual no Virtual Box, vamos a ele.

1 – Acionar o Virtual Box, clicar em Máquina/Novo ou Ctrl + N ou no botão Novo na barra de ferramentas.
VBoxMacOS_01
2 – Irá abrir o assistente para criação de máquina virtual, clique em Próximo.

3 – Escolha como sistema operacional Mac OS X, em versão escolha MAC OS X Server, eu dei o nome de MacOSX_SL para a nova máquina virtual.

VBoxMacOS_02

4 – Defina a quantidade de memória RAM necessária para a nova máquina virtual. O valor mínimo é 1Gb para uma utilização apenas para testes, apenas para sentir o “cheiro” do SO, por assim dizer. Se você tiver mais memória, recomendo designar pelo menos 2Gb para o novo SO ou mais.

   Para ambientes Windows, como regra, deixe pelo menos 1Gb para o Windows.

Obs.: Lembre-se de que tio Jobs e seus garotos são exigentes, o Snow Leopard exige um hardware de boa qualidade, é normal placas de rede ou de video, de marcas menos “conceituadas” não funcionarem com o novo SO. No meu caso, quando montei a VM, eu fiz no meu notebook, é um HP Pavillion DV6000 com uma placa de vídeo GeForce Go 8400, processador Intel. Tenho relatos de amigos que tentaram o mesmo em máquinas com processador AMD e não obtiveram sucesso.

5 – Escolha um novo disco rígido virtual na tela que segue.

VBoxMacOS_04

6 – Clique em avançar, e escolha a forma do novo disco rígido, escolha Armazenamento dinâmicamente expansível, isto fará com que o Virtual Box crie um arquivo com o tamanho mínimo necessário e irá expandi-lo a medida que for surgindo a necessidade de mais espaço. Mas atenção, o tamanho só irá crescer até o limite que você determinar para o HD, no caso que recomendamos (20GB).
VBoxMacOS_05

7 – Mantenha o tamanho mínimo de 20Gb, não é recomendável diminuir este tamanho, ou você poderá ter erros durante a instalação e a VM não funcionará.
VBoxMacOS_06

8 – O Virtual Box irá lhe apresentar uma tela de resumo da instalação, com as opções que você determinou até aqui, confira e clique em Finalizar se as opções estiverem corretas, ou clique em Cancelar para rever as configurações.

9 – Uma nova máquina virtual será criada, e você poderá vê-la na lista de máquinas do Virtual Box, seu status estará como desligada.
VBoxMacOS_07

10 – Antes de instalar o MacOS, é necessário efetuar alguns ajustes, para que a instalação possa ocorrer normalmente e a máquina rodar sem maiores problemas.

11 – Com a nova máquina virtual selecionada, clique em CONFIGURAÇÕES, para abrir os ajustes desta máquina.
11.1 – Clique em Sistemas, desmarque a opção Habilitar EFI (sistemas especiais apenas).

VBoxMacOS_08
11.2 – Na aba MONITOR, você pode ajustar a quantidade de memória de vídeo que vai destinar ao novo SO e habilitar a aceleração de vídeo em 2D, convém destinar no mínimo 32Mb de memória para a placa de vídeo para uma instalação sem traumas.

11.3 – Na aba ARMAZENAMENTO, você deve indicar ou “montar” o CD de boot que irá inicializar o SO para que possamos instalá-lo. Se você seguiu o meu conselho e comprou o DVD do MacOS X Snow Leopard, ajuste o drive de CD/DVD para apontar para o drive do seu computador. Se você optou por baixar um ISO da internet, configure o drive de CD/DVD para apontar para este arquivo ISO que contém a imagem do DVD do MacOS X Snow Leopard.
Dica: Para escolher o arquivo ISO que você deseja, clique no ícone de um CD no campo ao lado do drive de CD/DVD (veja abaixo):

VBoxMacOS_09

Feito isso, Clique em OK, e já temos a nossa máquina virtual preparada e pronta para o primeiro boot e instalar o MacOS X Snow Leopard.

12 – Coloque o DVD do MacOS X no drive e na janela principal do Virtual Box, selecione a nova máquina virtual e clique em INICIAR.
     Após isto, basta seguir as instruções de instalação do MacOS X, se tudo ocorrer OK, você terá a tela de seleção de idiomas do MacOS X Snow Leopard.

    Os passos seguintes são bastante simples, limitando-se a escolher o idioma, escolher a imagem de fundo, e algumas informações sobre o usuário e o ambiente, e aceitação dos termos da licença de uso da Apple.

Quando chegar na tela de Seleção do destino, em que pergunta: “onde você deseja instalar o Mac OS X”, clique na barra de menus em Utilitários / utilitários de disco, selecione o disco de 20Gb do Virtual Box que criamos, certifique-se de que o formato do volume está marcado como MAC OS X EXPANDIDO, defina um nome para o novo disco, clique em Apagar e confirme a operação toda.

Com isso você criou a partição de disco, pode fechar o utilitário de disco, basta clicar no menu UTILITÁRIO DE DISCO / SAIR DO UTILITÁRIO DE DISCO, clique no disco récem criado e clique em continuar.

Atenção: Agora você deve configurar alguns aspectos específicos do MacOS X, que será necessário para prosseguir sem sobressaltos. O principal é marcar os pacotes mais atuais para atualizar, mas atenção, em KERNELS, para processadores INTEL marque a opção Legacy_Kernel, veja abaixo como ficaria para um computador com processador Intel:

mac_options_intel
   Se o seu processador for AMD, marque a caixa de seleção nomeada como AMD mais abaixo nas opções, geralmente após a opção System_Support.

Atenção, apenas estas opções deverão estar marcadas.

Hardware configurado, opções marcadas, clique em CONCLUÍDO, em seguida clique em INSTALAR.

O instalador irá efetuar uma checagem da integridade da mídia de instalação, passo que pode seguramente ser ignorado. Depois disso é aguardar a instalação, que dura aproximadamente 10 minutos.
Uma vez concluída a instalação, será mostrada a contagem regressiva para que a máquina reinicialize.

IMPORTANTE: Antes do reinicio, vá no Virtual Box, menu Dispositivos / CD / DVD devices, e desmarque a opção em que o drive de CD/DVD aponta para o arquivo ISO ou para a midia de instalação do MacOS X, para que o boot seja dado normalmente pelo HD montado.

Pronto, depois do boot, o MacOS X Snow Leopard irá lhe perguntar sobre os dados de usuário, localização, configuração de teclado, vídeo, etc.

Pronto, bem-vindo ao seu novo MacOS X Snow Leopard, ou um MacPobre.

Recomendo que, se você for usar de forma séria o MacOS X, compre um hardware da Apple, verá que a diferença de performance é grande, principalmente se você for usar para desenvolvimento.

No próximo post: Iniciar a desenvolver para iOS com o Objective C e xCode.

quarta-feira, dezembro 01, 2010

Duplicar Máquinas Virtuais no Virtual Box

image

O problema: você configurou uma máquina virtual com tudo instalado, ajustado e está rodando afinadíssima, 100%.
Agora você precisa criar uma nova máquina idêntica, para fins de laboratório, ou para permitir que algum membro da sua equipe trabalhe no mesmo ambiente que já está configurado.

Reinstalar toda a máquina virtual leva tempo, refazer todos os ajustes também, e afinal você virtualizou uma máquina com outro SO (Windows XP, Linux, Solaris, MacOS, FreeBSD, etc), justamente para ter a praticidade de manter a máquina virtual o mais afinada possível e economizar tempo em eventuais reinstalações, mudança de computador, etc.

A solução está em um utilitário de linha de comando que acompanha o Virtual Box, o VBoxManage. Este utilitário tem tudo o que a interface gráfica possui e mais uma penca extra de recursos, na verdade o VBoxManage explora todas as potencialidades de uma máquina virtual, leia o manual do Virtual Box e verifique tudo o que é possível fazer com o VBoxManage, acredite vale a pena.

No nosso caso em questão, duplicar a máquina virtual, mãos à obra:

Ambiente:
Host: Windows 7 Ultimate.
Guest (vm) a ser duplicada: Windows XP SP3.
Nome físico do arquivo da vm: WinXPSP3.vdi

Vamos clonar a nossa máquina virtual chamada WinXPSP3.vdi para WinXPLab.vdi, que será uma máquina laboratório.

Acesse o prompt de comando (rode como administrador), vá até o diretório em que está instalado o Virtual Box, usualmente em C:\Arquivos de programas\Oracle\VirtualBox, no prompt de comando digite:

VBoxManage clonevdi WinXPSP3.vdi WinXPLab.vdi

O VBoxManage irá iniciar o processo de clonar a máquina virtual, demora um pouco, ele vai informando o processo, no final a mensagem dever ser mais ou menos isto abaixo:

Oracle VM VirtualBox Command Line Management Interface Version 3.2.10
(C) 2005-2010 Oracle Corporation
All rights reserved.

0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Clone hard disk created in format ‘VDI’. UUID: c5aa9c35-7774-4505-9163-9cdb8661844

Pronto, a sua máquina virtual está clonada, preste atenção, que nas novas versões o comando na realidade é clonehd, apesar de clonevdi funcionar também no Windows, não irá funcionar no Linux, preste também atenção que, se o seu SO Hospedeiro for Linux, este faz diferenciação entre letras maiúsculas e minúsculas (assim vboxmanage é diferente de VBoxManage).

Agora para utilizar esta nova máquina clonada, é simples, vá até o gerenciador do Virtual Box, desta vez usando a interface gráfica, crie uma nova máquina virtual (Máquina / Novo ou Ctrl N ).

image

Quando o Virtual Box solicitar se você gostaria de criar um novo disco ou usar um já existente, escolha um já existente. Irá abrir uma tela para você escolher o disco, veja que não irá aparecer o clone que você criou, para que você consiga acessar, clique no botão “ACRESCENTAR”, então adicione o disco que você clonou.

Pronto, sua nova máquina virtual já está pronta.

Uma boa idéia, que eu normalmente uso, é montar uma máquina virtual enxuta, bem afinada, e manter ela como máquina mestre, e a partir dela fazer os clones para as necessidades pontuais (laboratório, verificar vírus, etc).

Bom, pessoal, espero que tenha ajudado a quem precisa duplicar suas vms.

terça-feira, abril 06, 2010

Administrando seu servidor Linux via webmin

webmin-blue

Ok, você decidiu montar um servidor para a sua empresa ou para a sua casa, para as tarefas comuns de um servidor, compartilhamento de arquivos, impressoras, banco de dados, servidor web, etc.

Eu particularmente prefiro uma interface amigável para administração, não tenho problemas com linha de comando, simplesmente encontro meios mais úteis para investir meu tempo, além do que, me é muito mais agradável uma interface amigável do que a linha de comando, que por longos anos me acompanhou na administração de servidores dos mais diferentes tipos e sabores de SO.
Aqui vamos ver como administrar o servidor Linux de maneira remota, via navegador internet, com interface amigável, bonita e poderosa, de forma que mesmo que você necessite de linha de comando, pode usar via o navegador.

Mãos à obra então:

Meu servidor foi montado com o Ubuntu Linux Server 9.10, e baseado neste é que faremos esta explicação.
Primeiro, infelizmente o webmin não vem nos repositórios padronizados da distribuição do Ubuntu Server, você terá que instalar o dito cujo, e usar a linha de comando para isso, mas é muito fácil, veja abaixo:

  1. Cheque se você tem todas as bibliotecas para rodar o webmin, para fazer isto, digite o comando abaixo no prompt de comando:
    sudo apt-get instala perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
  2. É interessante você atualizar o repositório do APT:
    1. abra o arquivo de fontes de pacotes em /etc/apt/sources.list
    2. Adicione, no fim deste arquivo, as duas linhas a seguir:
      ## Repositório Debian Sarge do WebMin
      deb
      http://download.webmin.com/download/repository sarge contrib
  3. Atualize o APT, para isto digite o seguinte comando:
    sudo apt-get update

  4. Agora basta instalar o webmin, com o comando:
    sudo apt-get instala webmin
Depois de instalado o webmin estará disponível no diretório
/usr/share/webmin, os arquivos de configuração do webmin
junto com todos os módulos dele estarão em
/etc/webmin.

Pronto, para usar o webmin, basta digitar no seu
navegador:
https://<servidor>:10000
   10000 é a porta padrão de instalação do Webmin,
troque o <servidor> pelo nome do seu servidor
ou pelo endereço IP do mesmo.
Para acessar via internet, você deverá fazer um NAT no seu
roteador para direcionar as requisições na porta 10000 para o
servidor a ser administrado.
   Note que o protocolo padrão para acesso ao
webmin é HTTPS e não HTTP.
Nota: Quando você instalar o Ubuntu Server, o único editor de
textos que ele instala é o vi, que eu pessoalmente acho terrível,
desta maneira para editar o sources.list você pode usar o mcedit,
para instalar o mcedit, que é um editor bem melhor que o vi,
basta usar o apt-get, veja abaixo:
  sudo apt-get instala mc

terça-feira, agosto 25, 2009

DbTreeView no Delphi - JvDbTreeView

Bom, depois de apanhar um pouco para conseguir colocar para funcionar, aqui vai a dica de como fazer um plano de contas ser mostrado numa TreeView, no caso vamos usar a jvDbTreeView que é uma TreeView dbaware no Delphi.

Como vamos usar o componente na JVCL, aqui vai o link para baixar http://sourceforge.net/projects/jvcl/, é um excelente pacote de componentes, praticamente tudo que você precisar, acaba descobrindo que tem lá.

Criei a minha tabela no Firebird, a estrutura abaixo:

Campo Tipo Descrição
Cta_ID integer Numero da conta
Cta_Master integer Conta “pai”
Cta_Descricao Varchar(30) Nome da conta

Coloque um componente JvDbTreeView no formulário, conecte-o via a propriedade DataSource à tabela do banco de dados.

Ajuste as suas propriedades do JvDbTreeView como abaixo:
Obs.: No meu caso o dataSource chama-se dsPlanContas.

Propriedade Valor
DataSource dsPlanContas
DetailField Cta_Master
ItemField Cta_Descricao
MasterField Cta_ID

   Pronto, já está OK e pronto para funcionar.

A explicação das propriedades é a seguinte:
DataSource: Obviamente é a conexão à base de dados;

DetailField: É o campo que contém o valor que aponta para a conta pai.

ItemField: é o texto que vai aparecer na TreeView.

MasterField: é a chave única da tabela.

       Quem reescreveu o componente deve ter problemas sérios para atribuir nomes às propriedades, custei para conseguir entender, mas aí está o mapa da mina.

Abaixo um exemplo do que está no banco de dados:

Cta_Id Cta_Master Cta_Descricao
1 0 DESPESAS
2 1 DESPESAS FIXAS
3 2 PESSOAL
4 11 ALUGUEL
5 11 CONDOMINIO
6 0 RECEITAS
7 6 RECEITAS DIRETAS
8 3 CLT
9 3 FREES
10 2 CUSTOS DIRETOS
11 10 IMÓVEIS
12 1 DESPESAS VARIAVEIS
13 12 COMBUSTIVEIS
14 12 COMISSÕES
15 12 MATERIAL DE EXPEDIENTE
16 12 MANUTENÇÕES
17 12 EXAMES MÉDICOS

sábado, agosto 22, 2009

A volta da proposta de regulamentar a profissão no mercado de informática.

Bom, eu já escrevi diversas vezes, em newsgroups e fóruns sobre este tema, infelizmente nunca no blog. Vou sanar agora esta falha, para que o texto pelo menos fique registrado, e eu possa depois mencionar sem precisar reescrever tudo.

Em primeiro lugar, convém esclarecer que, caso seja aprovada a regulamentação da profissão, eu estaria dentro dessa reserva de mercado, portanto a minha posição nada tem de inveja (como alguns mais exaltados defensores dessa sandice propalam) ou outro sentimento, digamos… “menos nobre”.

Mas sou RADICALMENTE CONTRA a regulamentação da profissão de analista de sistemas, como também de outras como leiloeiro oficial (sim também querem regulamentar), flanelinha (acreditem, é verdade, veja aqui), capoeirista (duvida? então veja…), corretor de imóvel, contador, e várias outras.

Mas a discussão aqui é sobre analista de sistemas, aliás o próprio termo já é um tanto antigo e esta praticamente caindo em desuso, até porque as competências para construir um software como produto vão bem além disto.

Sou contra por várias causas, algumas:

- Regulamentação não é garantia de competência, o mercado já se encarrega de separar o joio do trigo, hoje vale muito mais uma certificação do que a regulamentação. Os defensores argumentam que software lida também com vidas humanas, como software de aviônicos, equipamentos hospitalares, usinas nucleares, etc.

   Oras, alguém pensa seriamente que a regulamentação fará alguma diferença nisso? Nenhuma empresa contrata um programador ou analista de sistemas para fazer software para incubadoras neo-natal por exemplo, isso é desenvolvido por empresas estabelecidas, com certificações CMM, ISO e por aí afora vai, o software tem que ser homologado e certificado, não interessa se o analista é diplomado ou não, o mesmo para softwares de avionica, para usinas e por aí afora vai.

   Pensam muitos que é necessário para frear a competição desmedida, que avilta os ganhos dos profissionais. Eu tenho a minha empresa de software, a competição no mercado é tanto com outras empresas quanto com profissionais independentes, eu não baixo o meu preço aquém do que considero justo e que minha planilha de custos mostra ser o razoável, e tem concorrentes no mercado cobrando 5% do meu preço final. Há mercado para eles e há mercado para a minha empresa também, tudo depende do cliente, e não será uma regulamentação que irá banir os camelôs de sistemas do mercado. Isso é competição, é concorrência, é saudável e bem vinda, graças à esta competição a qualidade aumentou (pelo menos a minha).

   Regulamentação é apenas reserva de mercado, e quem se beneficia disso, historicamente comprovado, são os incompetentes, vide a famigerada, nefasta e de triste lembrança, reserva de mercado de informática. Os bons profissionais, diplomados ou não, tem espaço no mercado, são disputados por empresas e pelo mercado. Apenas as empresas de fundo de quintal, ou a quitanda da esquina, e mesmo assim olhe lá, é que vão contratar o sobrinho do amigo do cunhado para fazer um programinha para controlar o estoque, esta é uma fase já passada, a realidade é outra.

    Hoje temos inclusive carência de bons profissionais no mercado, veja bem, de bons profissionais, profissionais diplomados ou não tem aos montes, mas qualidade é algo que anda raro, e é muito valorizada.

    Existem excelentes profissionais oriundos das faculdades, mas infelizmente existe também uma grande parcela que sai da faculdade sem noção de mercado, com parcas idéias teóricas, sem embasamento na realidade, sem falar nos que são incapacitados intelectualmente para exercer a profissão, e falo com conhecimento de causa, já perdi a conta de estagiários oriundos de várias faculdades que passaram pela empresa, e as estatísticas comprovam que mais de 80% não possuem condições mínimas para trabalhar, falta-lhes capacidade de raciocínio, ainda mais em uma área extremamente dinâmica como TI, aonde o conhecimento que tenho hoje é nada amanhã, temos que pesquisar, aprender, descobrir e manter-se em dia com as novas tendências e tecnologias, e esse ciclo se renova a cada semana, portanto não é um diploma que vai dar o estofo necessário para atuar nessa área.

    A regulamentação vai apenas onerar um pouco mais nossa atividade, com anuidades para conselhos, federações, e por aí afora vai, além de abrir um bom número de cargos para serem preenchidos por apaniguados políticos, e sustentados por nós.

    Um dos maiores entraves do Brasil é o custo trabalhista, e com a regulamentação estaremos burocratizando e onerando ainda mais uma área em que o dinamismo deveria operar. O que vai ocorrer é que grandes empresas de software, que hoje são grandes contratantes, vão acabar migrando a contratação de seus serviços para Índia, Paquistão, China, etc.

    Argumentam que só os relaxados, que nunca foram atrás de um diploma estão preocupados com isso. Bom, eu não me considero um relaxado, e como já expliquei no inicio do texto, eu estaria na turma dos “beneficiados”, mas discordo deste argumento, isso é uma desculpa esfarrapada de quem deseja ardentemente a regulamentação, para estabelecer uma reserva de mercado para si, ou por ter medo de encarar a competição do mercado, ou por comodismo mesmo.

    A regulamentação vai criar uma classe comodista, como já ocorre em algumas outras, e quem vai perder com isso é a sociedade como um todo, menos competição, menos desenvolvimento, preços maiores, enfim prejuízo para todos.

   Argumentam que os que “se acham competentes” mas não possuem diploma, que corram atrás do diploma, e que não precisam se preocupar com isso. É uma falácia, muitas vezes quem tem longa experiência e não é formado na área, não tem tempo de voltar para os bancos de uma faculdade.

   E quando se volta para os bancos de uma faculdade, chega a ser irritante o nível primário do corpo docente, que parece viver no mundo de Alice (com exceções é claro), com muito pouca noção de mercado, prazos, SLAs e como se produz software como produto.

   Com a quantidade cada vez maior de faculdades que não conseguem as notas mínimas, imagino o nível de profissionais que serão regulamentados, e com isso enganando o mercado. Sim, porque hoje o mercado sabe que existe tanto o picareta quanto o competente, mas com profissionais regulamentados, com a carteira na mão, muitos pensarão que isso será garantia de qualidade, o que não é.

    Sem falar que o legislador propõe regulamentar uma categoria que está em franca extinção. Não se faz mais software como produto apenas com Analista de sistemas e programadores, hoje precisamos das competências de um Engenheiro de software, um analista de negócios, e muitas outras competências, que vão muito além de um simples analista de sistemas.

   Então, eu não vejo nenhuma real vantagem para os profissionais e para o povo, em ter a profissão regulamentada e uma reserva de mercado, vejo isto sim uma tentativa de explorar o nosso bolso, criando mais um custo para bancarmos, além de proteção para os incompetentes que não conseguem se manter no mercado.