Instalando o MySQL no Mac (Leopard)

Organizando um pouco o blog e segmentando o post “Ruby on Rails 2.2 e MySQL no Leopard” em dois pos estava muito comprido, não complexo, só por questão de busca e estética.

Você deve estar se perguntando por que instalar o MySQL sozinho se existem combinações do tipo MySQL + Apache e PHP. Vou explicar o porquê. Você lembra daqueles modelos de televisores que vinham com o vídeocassete junto, conhecidos como duetos, existem hoje uns que vem com o DVD acoplado. Quando acontece alguma coisa com o seu televisor e você precisa levar pra alguma assistência técnica pra arrumar, você fica sem o videocassete, caso dê problema no seu videocassete e você precise fazer a mesma coisa, você fica sem o televisor, sendo mais claro, a combinação é muito útil quando pensamos em praticidade e facilidade de uso, mas quando paramos pra pensar em manutenção, configurações e personalizações ficamos muitos amarrados. Outro motivo seria, o Mac já possui por padrão o Apache, porque instalar outro se já possuímos um? Dois Apaches na maquina? Por esses motivos prefiro trabalha com meus serviços não agrupados, em troca de um maior nível de flexibilidade e personalização.

Mas isso não o impede de ignorar esse tutorial e baixar o MAMP, mas se o caso não for esse vamos iniciar a instalação do MySQL?

Para instalar o MySQL precisamos fazer o download da última versão estável disponível no site. http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg

Baixar a opção Packager Formated – Mac OSX 10.5 (Leopard)
se você utiliza o Tiger baixar a opção Packager Formated – Mac OSX 10.4

install-mysql-on-leopard-02

Escolher o Mirror para download.

install-mysql-on-leopard-03

Montar o dmg e executar o arquivo X.X.X-osx10.X-x86.dmg
no meu caso mysql-5.1.30-osx10.5-x86.dmg
(este é o arquivo de instalação do MySQL).

Obs: Caso você utilize algum programa
com a famosa combinação AMP (Apache + MySQL e PHP)
como por exemplo o MAMP,
não esqueça de parar os servidores.


install-mysql-on-leopard-05

Seguir os seguintes passos no estilo NNF (Next-Next-Finish)

install-mysql-on-leopard-06

install-mysql-on-leopard-07

install-mysql-on-leopard-08

install-mysql-on-leopard-09

install-mysql-on-leopard-10

install-mysql-on-leopard-11

install-mysql-on-leopard-12

install-mysql-on-leopard-13

install-mysql-on-leopard-14

Instalar o MySQL Preference Pane.
É um utilitário que fica no System Preferences
que inicia e para o MySQL e configura a inicialização automática.
O nome do arquivo é MySQL.prefPane.

install-mysql-on-leopard-15

Deseja disponibilizar o Preference Pane
para todos os usuários?

install-mysql-on-leopard-16

Feito isso é só clicar em “Start MySQL Server”.

install-mysql-on-leopard-17

install-mysql-on-leopard-18

O usuário default é root sem senha.

O MySQL é bem intuitivo, não tem segredo, coloquei os prints das janelas pois não tem muito o que comentar, a instalação é simples e direta. Alguma dúvida comente o post que eu retorno.

Para ajudar o seu trabalho podemos baixar o PhpMyAdmin, ou bem mais fácil podemos baixar o MySQL Admin no link http://dev.mysql.com/downloads/gui-tools/5.0.html

Iniciando em Ruby on Rails

Em uma das minhas visitas à livraria, comprei um livro de Ruby on Rails e estou achando fascinante as possibilidades que a combinação do Ruby e do Rails possibilitam para nós que desenvolvemos web sites. O Ruby é uma linguagem de programação que tem origem no Japão, é totalmente Orientada a Objetos e inicialmente era utilizada para desenvolvimento de aplicativos e sistemas não client-server, sua sintaxe é simples e direta.

O propósito do Rails é tornar mais fácil desenvolver, instalar e mantes aplicativos Web, utilizam a arquitetura MVC, alé disso, quando se cria um projeto Rails, ele automaticamente cria todo o “esqueleto”, relacionei essa estrutura, quando utilizamos um framework tipo Code Igniter pro PHP, após “deszipar” o arquivo do Code Igniter, surge toda uma estrutura, a única diferença é que no Rails essa estrutura é criada em tempo real. O Rails cria automaticamente programas temporários de testes “stubs”para as novas funcionalidades que vão sendo adicionadas.

Rails utiliza também alguns outros conceitos: DRY – Don’t Repeat Yourself – Não se Repita – que emprega que todo conhecimento de um sistema deve ser escrito em um único determinado local, ORM – Object-Relational Mapping, que utiliza as tabelas do banco de dados para definir os models, não há a necessidade de escrever um model, eles automaticamente são mapeados para as classes, suas linhas para objetos e suas colunas para atributos, portanto quando modificamos um banco automaticamente isso é refletido para a aplicação, Convention over configuration – essa convenção diz basicamente que deve-se assumir valores padrão onde existe uma convenção.

Uma coisa que achei bem interessante são os migrations, todas as modificações no banco de dados são documentadas pelo Rails, na verdade as modificações são escritas no Rails e ele mesmo as executa no banco de dados, há um controle sobre as modificações no banco, podendo ser aplicadas em outro banco com por exemplo a deploy da aplicação ou até mesmo desfazer uma modificação.
Suporte integrado ao AJAX e RESTful.

Tudo isso e muito mais é resultado da combinação de 5 componentes:

  • Active Record – mapeamento objeto-relacional (Model do MVC);
  • Action Pack – compreende o Action-view e o Action-Controller (Visão e Controller do MVC);
  • Action Mailer – suporte a envio de recebimento de e-mails;
  • Active Support – coleção de classes e extensões;
  • Action Webservices – implementa WSDL e SOAP;

O discurso dos evangelistas do Rails me lembra muito os designers da Apple, a história do “Estado da Arte”, que é a busca constante pela simplicidade, praticidade, design, perfeição, facilidade. Até onde estão os meus estudos o Rails está suprindo muito bem essas espectativas, é claro que como qualquer outra linguagem de programação é possível escrever um código sujo, mas garanto que ela facilita muito as boas práticas, ela dá suporte a diversos gems que automatizam determinados processos e diversos plugins que expandem as funcionalidades da sua aplicação sem muito esforço.

Caso esteja interessado em iniciar seus estudo também segue algumas dicas:

Livro: Desenvolvimento Web Ágil com Rails – Link Saraiva – foi o livro que comprei.

Podcast: Podcast Ruby on Rails Brasil com Fábio Akita e Carlos Eduardo Brando – só não espere escutar somente coisas sobre Rails, os caras são sinistros, os assuntos vão de Cloud Computing a Compiladores, de Jruby a Rails! Muuuito bom mesmo (Open Your Mind). Estou fazendo uma sessão Rails Podcast Brasil, escutando todos desde o início.

Blogs em pt-BR: http://akitaonrails.com do Fábio Akita e http://www.nomedojogo.com Carlos Brando – estão sendo as minhas referências de Ruby on Rails.

Bom sobre Rails hoje é só, vou postar mais coisas com o desenrolar dos estudos.

Com relação ao Streaming, estamos finalizando outra etapa do projeto, estou preparando um Screencast junto com o pessoal que está participando do projeto comigo.

DB2 para Mac OSX

A IBM lançou em fase beta o DB2 para Mac OSX (Leopard 64 bits).

Estava me sentindo excluído agora que sou usuário Mac, mas nossos problemas estão resolvidos.

http://www-01.ibm.com/software/data/db2/express/download.html?S_CMP=ecddww01&S_TACT=mac952

Estou baixando e logo posto alguma coisa sobre a instalação do DB2 no Mac. Será que segue o mesmo padrão do Linux? ou algo parecido como Drag-and-Drop do Mac?