06
Mai
09

Primeiras impressões do Linux[Ubuntu] (por um usuário iniciante/noob)

Bom, alguns sabem que tomei uma decisão agressiva de mudar do windows para o linux definitivamente. Resolvi escolher o Ubuntu pois havia feito um mini-mini-mini-curso sobre linux na Especializa em uma tarde. Ao chegar em casa fiz logo o download da ISO. Procurei logo de baixar o VirtualBox e mandar bala na instalação do ubuntu. Aí vamos ao que interessa.

  1. Instalação
    - VIRTUAL BOX -> Super rápida, não precisei particionar nada pois o VirtualBOX fez tudo por mim. Instalei o ubuntu e em menos de 10 minutos já estava utilizando o mesmo.
    - PARTIÇÃO -> Depois de usar por alguns minutos (empolgados minutos) resolvi arrumar logo um espaço para instalar de verdade o ubuntu. Tirei algumas coisas de uma partição, gravei o CD com a ISO e inseri no DRIVE.. REBOOT.
    - Bicho, queria o windows ser tão ridículo de instalar. Senti uma leve dificuldade na hora de escolher o tipo de formatação, pois não sabia que existia tanto tipo. Mas.. ext3 e mandei bala. Ele ainda pede uma área pra SWAP, que é aquela memória secundária que podemos utilizar de discos.
    Resumidamente.. instalação nota 9.
  2. Utilização
    - De cara, tudo já veio prontinho, rede, placa de som, Open Office (SHOW), Pidgin. Sinceramente? Essa galera pensou muito bem ao deixar justamente os programas necessários para você sobreviver ao instalar. Firefox, Pidgin(comunicador que suporta vários IM’s), Open Office (hmm, sem comentários de como é show.), Player de áudio/vídeo.
    - Porém, o melhor não é nada disso. Estou muito, mas é MUITO MESMO impressionado com o danado do suporte de instalação de novos programas. O ubuntu (e outros) possue um danado de um synaptics onde você tem uma espécie repositório MUNDIAL de programas/drivers para sua distribuição. É algo sensacional, já imaginou você formatar sua máquina e dentro de 20 minutos você ter tudo o que tinha sem ter que entrar em sites ou pegar cds de backup? É perfeito. Existe uma versão mais amigável que fica no menu principal (Adicionar/Remover programas) e também existe a versão mais avançada localizada na área de administração do sistemas. Redomendo sempre utilizar o avançado pois não é difícil e tem mais opções.Ainda falando sobre utilização, ao meu ver todos os menus são amigáveis, opções bem intuitivas, é muito parecido com a interface do windows e tem um suporte a temas mais abrangente.

    Outra coisa interessante é os efeitos 3d do próprio sistema operacional. Muitas pessoas já devem ter visto o CUBO 3d e as janelas elásticas do Ubuntu em alguns vídeos pelo Youtube e afins. Não? Toma um exemplo: http://www.youtube.com/watch?v=ZxfSwzhSn1c&feature=fvst. Sensacional? Sim isso realmente é muito fácil de se configurar.  Além disso, ele te sugere o driver de sua placa de vídeo e através daquele synaptics você já instala facilmente. Chama compiz o nome do suporte a esses efeitos. Mas, como nada no mundo é perfeito, o ubuntu não seria..

  3. Eu te odeio suporte a dual monitor UBUNTU.
    - Indignado é pouco para expressar a minha raiva com o ubuntu perante ao suporte de 2 monitores no sistema. Pense numa luta absurda de 4-5 dias tentando descobrir um modo com que os 2 monitores funcionassem. CONSEGUI! É, consegui fazer 2 monitores funcionarem sem perder os efeitos 3d (que acontece quase sempre), porém, como NADA realmente é perfeito, o primeiro monitor não está atingindo a resolução correta que seria 1680×1050. O danado do ubuntu só deixa ele chegar a 1380xalguma coisa. Na boa? Deu vontade de desistir do linux por esta falha que chega a ser ridícula. Ponto positivíssimo para o windows no suporte a vários monitores. Nunca configurei tao fácil 2 monitores na minha casa sem problema NENHUM.
  4. Wine
    - Vinho? Só no nome.. Este belo programa faz uma simulação/emulação (o que seja) do nosso querido windows. Não, não é pirataria. Ele simplesmente funciona no seu linux sem ter que ter o windows instalado e emula os programas que você quiser. Se você quiser instalar seu programa de edição gráfica prferido que só roda no windows, fique a vontade e instale-o no ubuntu. O wine proverá este suporte a você sem bronca nenhuma. Só lembrando que existe o GIMP que faz o papel dos programas gráficos. Mas não chega nem aos pés de um Photoshop da vida.
  5. Programadores
    É indiscutível o suporte para programadores no linux. Tem todo tipo de IDE, Editores. Se você utiliza as seguintes ferramentas: Apache, PHP, Mysql, Phpmyadmin. É.. que tal 4 minutos tu resolve tudo instalado separadamente e perfeitamente instalado? Sim sim, nosso synaptics novamente em evidência.
  6. No geral..
    - Tirando essa desgraça do dual monitor o ubuntu é simplesmente algo extraordinário. Sem problemas, sem necessidade de ficar limpando coisas indevidas. As instalações são todas revisadas pela equipe de desenvolvedores e muitas outras características boas o linux. Não voltarei para o windows, vou usar 1 monitor mas eu não volto. :)
  7. Agora..
    - Se você souber como me ajudar na questão monitores faça o grande favor!!!!!! #desesperado.

    [ATUALIZANDO]
    É com grande prazer que venho editar este post. Durante esses dias, como relatei acima, tive sérios problemas para configurar 2 monitores no ubuntu. Mas tenho que agradecer a comunidade linux e em especial ao mactimes [@] freenode. Sinceramente? Uma pessoa dessas é puramente abençoada. Eu tive ajuda durante 2 dias até quase 3 horas da manhã. Finalmente, depois de MUITO TRABALHO e muitos reboots nós conseguimos ajustar os monitores =)

    Só para completar, o problema realmente era por minha falta de experiência. Além do que a nvidia é a melhor que da suporte a linux, já a ATI é muito fraca. Então só tenho a agradecer a toda a comunidade em que pode me ajudar.

    Como o mactimes disse, se a todo mundo ajudasse assim, o país seria melhor. Eu ainda acho que ficaria melhor escrito que “o mundo seria melhor”.

That’s all folks

ps: Pra quem não sabe, twitter: twitter.com/djalmaaraujo

10
Fev
09

Gestor de TI, o cara que pensa em tudo!

Gestão de TI é coisa séria! Você já ouviu falar? Se já, dá a devida importância? Será que os conceitos de um bom gerente de TI se aplica a pequenas empresas com poucos funcionários? Estas são perguntas importantes para um tema tão mais importante. 

Confesso que não havia conhecimento algum sobre o tema, mas, graças ao início das tão “não” esperadas aulas do 5 período, estou interagindo mais com o assunto de gestão e sinceramente, vale a pena!

A intenção do post é mostrar a todos qual a importância da gestão de TI, por que você deve adotar como conceitos em sua carreira profissional e como você pode se sair muito bem perante sua empresa atual de trabalho. E mais, como freelancer você crescerá muito profissionalmente tendo em mente alguns conceitos de auto-gerência. Além do tema “Gestor”, vamos ver como evoluímos para chegar a este pensamento de gerência ao longo dos anos. Bom, Vamos lá!

Lendo o artigo Evolução da Tecnologia da Informação nos Últimos 45 Anos , indicação do professor da faculdade eu consegui renderizar exatamente qual o real papel do gestor de TI e como foi a evolução pra chegarmos até onde estamos, onde pensamos muito mais no relacionamento de humanos do que na técnica propriamente dita. Não só isso, hoje temos a grande capacidade de obter conhecimento através de sistemas altamente preparados para trazer dados tratados agregados de informação.

Para não abranger muitos assuntos vou focar na questão do CIO, antigo “simples gerente” do setor de processamento de dados da empresa (CPD).  Na década de 1960 até 1970 tínhamos a figura do gerente de CPD, comandando e gerenciando os recursos da informática, através de algumas atitudes até autoritárias, pois ele era o único detentor das informações. Antigamente tínhamos a centralização dos dados e simples dados nas mãos do centro de processamento de dados e isto era visto como uma atividade puramente de geração de relatórios e incríveis e imensos bolos de papéis das empresas.  Com o tempo o o CPD transformou-se na área, unidade ou departamento de TI (Tecnologia da Informação) onde nosso antigo “gerente” passa a ser chamado de CIO(Chief information officer).

CIO

Um bom CIO tem em mente várias questões sempre pensando no melhor para a organização e todos envolvidos nela. A qualidade da empresa é uma soma da qualidade de vida dos funcionários com a qualidade de trabalho que esses proporcionam em suas jornadas diárias. Além da grande importância da preocupação humana, também há uma séria responsabilidade com as informações e equipamentos transitados pelo ambiente empresarial.

Os gestores são responsáveis pela utilização estratégica das informações, equipamentos e recursos de todas as áreas da organização que estão relacionadas a TI. Imagine que o setor de recursos humanos gastam algumas horas para catalogar pilhas e mais pilhas de papéis de documentação de seus funcionários. Um bom gestor nesta situação se prontibilizaria imadiatamente a buscar uma solução viável para ajudar na produtividade do setor de recursos humanos. Seja arrumando um software para catalogar papéis ou auxiliando os funcionários com algum equipamento eficiente.

Qualquer setor que envolva TI dentro de uma organização merece uma atenção especial do gestor de TI, pois é lá que ele mostrará que o poder da TI vai além do processamento de dados. É lá também que ele ganhará valor perante a toda a organização, uma vez que ele ajudará na produtividade de toda a empresa. 

Voltando ao setor de TI da empresa, temos transformações gigantescas com o surgimento do gestor de TI nas organizações, uma vez que equipes de projetos são gerenciadas eficientemente por softwares escolhidos por profissionais qualificados. Além da gerência de equipes, todos os recursos utilizados pelos funcionários são registrados e controlados para que também haja uma economia na utilização de materiais.

Falando em materiais, não podemos esquecer do tão falado “DINHEIRO”. Um bom gestor que se preze, é preocupado com seu orçamento ao extremo. Precisa-se de um estudo detalhado, orçamentos de equipamentos, softwares entre outros para que o orçamento de TI seja bem feito. Com a economia de setores da organização, pode-se investir em áreas necessitadas. Não queremos que o gestor faça uma economia simplesmente para economizar “DINHEIRO”, mas sim, fazer o melhor proveito daquele orçamento para que a empresa ganhe em produtividade e qualdiade de trabalho.

Ainda podemos falar da TRÍADE composta por TI, Pessoas e Gestão que deve estar em perfeita harmonia para que a organização em questão tenha êxito no mercado. Através da gestão podemos ter controle de pessoas trabalhando em harmonia, jutamente com a utilização dos melhores recursos de TI. Desta forma com certeza haverá êxito.

Bom, espero que tenha ficado legal esse resumo sobre O gestor da TI e o papel dele desde antigamente até hoje.

That’s all folks.

Djalma Araújo

30
Jan
09

Solução para detectar fechamento do browser (navegador) ou F5 (refresh)

Primeiramente, a intenção desse título gigante é pra facilitar a quem procurou por essa solução a um tempão e nunca achou. Eu sou um deles! :) . Isso não é do outro mundo, qualquer um poderia ter feito ou até já fez, mas não disponibilizou.

Bom tarde a todos! Pensando a gente sempre chega lá! Hoje pela manhã resolvi tentar solucionar a grande dificuldade que temos em detectar quando o usuário fechar o browser realmente ou se deu F5! Bom, acredito que tenha solucionado!!

Inicialmente eu tentei atribuir um atributo ao <body> com a função onunload=”". Isso foi o primeiro pensamento e lógico, completamente incompleto! Depois de muita caducada cheguei a seguinte solução:

Bibliotecas utilizadas:

- jQuery (Não é obrigatório, pode ser qualquer uma.)

- shortcut.js

Explicação:

  1. Ao carregar a página, atribuimos o atributo ou você pode deixar já no html a função onunload=”" na tag <body>. Eu prefiro atribuir através de alguma biblioteca. (Eu utilizei jQuery).
  2. Atruímos a tecla “F5″ além de sua ação nativa a remoção do atributo onunload=”" da tag <body>. Fazendo isso, evitamos que a ação de fechar do browser seja executada também quando atualizarmos a página. Este é o grande vilão do problema do onunload.
  3. A todos os links, precisamos atribuir também a remoção do onunload=”" da tag <body>, pois, quando clicamos em algum link damos refresh na página, e seguindo a mesma lógica do F5, precisamos retirar também a função do onunload=”".
  4. É isso! Nada mais. Agora vamos ao código:

Javascript:

Entende-se que você saiba carregar a biblioteca jquery e o arquivo shortcut.js. :)

  1. $(document).ready(function(){
  2. $(’body’).attr(’onunload’,”alert(’FECHAMENTO DE PÁGINA’);”)
  3. $(’a').click(function()
  4. {
  5. $(’body’).removeAttr(’onunload’,”);
  6. });
  7. });
  8. shortcut.add(”F5″,function()
  9. {
  10. $(’body’).removeAttr(’onunload’,”);
  11. history.go(0); //Havia pensando em location.href=”, porém teriamos que passar a página. Um amigo sugeriu uma melhor solução, que é essa. by Luiz Tiago
  12. return false;
  13. });

Considerações:

Como eu havia falado, pode não ser a melhor solução, porém, funcionou para mim. Testei em: Firefox/Chrome/IE. Espero ter ajudado ao pessoal. Me surgiu uma dúvida, porém não tive oportunidade de testar ainda com formulários, quem tiver afim de testar e comentar pra melhorarmos a solução, estamos ae.

That’s all Folks.

Djalma Araújo

www.djalmaaraujo.com.br

27
Jan
09

Frameworks.

Um dos assuntos mais comentados na comunidade brasileira, pra não dizer mundial, são os “frameworks”. Durante o post, tentarei explicar de uma forma com que todos possam entender o que são, quais os benefícios e o modelo MVC(Model View Controller), que é a base de tudo isso. Lembrando que estamos falando de frameworks de software e não frameworks conceituais. Tentarei explicar através de alguns tópicos, vamos lá:

O que é um framework (Opinião pessoal e generalizada)

Opinião Generalizada (Wikipedia)

“Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.”

- FAYAD e SCHMIDT

* Texto completo em: Framework

Opinião pessoal

Um framework é uma gama de funções, rotinas e procedimentos que seguem um padrão de desenvolvimento e dá rumo a uma aplicação, obtendo o máximo de eficiência, menor complexidade, e maior produtividade para os desenvolvedores e lucro para os responsáveis.

Complicou? Dá uma lida na wikipedia ou então dá uma re-lida aqui!

Quais os benefícios do desenvolvimento com um framework

Como dito anteriormente, podemos observar várias vantanges na utilização de um framework. Abaixo um top 10  com algumas:

  1. Maior facilidade no tratamento e detecção de erros
  2. Desenvolvimento mais rápido e eficiente
  3. Biliotecas, Helpers são facilmentes acoplados a aplicação, obtendo maior flexibilidade
  4. Programação orientada a Objeto, provendo maior segurança, eficiência e produtividade
  5. Pode haver um framework rodando várias aplicações, o que proporciona uma atualização e controle maior de todo o sistema
  6. Máximo proveito da linguagem relacionada
  7. Utilização de design patterns, como o MVC ( Model View Controller ) que será explicado no próximo tópico.
  8. Pode ocorrer de 2 frameworks estarem trabalhando em conjunto, como por exemplo: jQuery + Codeigniter que são de linguagens distintas, porém juntos fazem com que a aplicação seja muito mais robusta.
  9. O tempo de desenvolvimento é relativamente menor em relação a outras metodologias
  10. São em 90% Open-source, free, gratis, 0800, 9090!

Se pensarmos mais um pouco, achamos mais benefícios. Mas será que tem alguma desvantagem? Acredito que para desenvolver com framworks, é preciso, antes de tudo, saber muito bem a linguagem abordada e também entender de orientação à objetos. Tendo isso em mente, não encaro como uma desvantagem, uma vez que estudando estes conceitos você estará crescendo muito como profissional.

A utilização vai de acordo com a demanda, então pense qual seria melhor para você. Abaixo falamos mais disso.

MVC (Model View Controller)

Este realmente é o bicho de 7 cabeças quando se está começando a desenvolver com um framework. Na verdade, é muito simples se você entender por partes e não querer abraças tudo de uma vez só

Model

Conceitualmente falando, o model é a parte do conceito que cuida de toda a abstração dos dados, manipulação deles direto no banco, seja em SGBD’S ou em arquivos. De um jeito menos complicado, podemos dizer que o Model é quem vai manipular nossos dados, fazendo nossas consultas SQL, trazendo informações do banco de dados. Ele retorna as informações que queremos chamando-o.

View

Dos 3 o mais simples. A única vez que vi alguém com dúvidas sobre o views foi quando resolveu engolir o MVC sem nem saber a sigla. Bom, o VIEW é simplesmente a camada de apresentação da informação. É onde estará contido o HTML, e os dados a serem mostrados trazidos pelo Controller. Alguma dúvida? Resumindo: VIEW = Os dados que serão mostrados na tela. Pode ser um TEXTO com HTML ou não, isso depende do que você vai querer mostrar.

Controller

Como todo mundo diz, o Controller é uma ‘Ponte’ entre o Model e o VIEW. O controller é diretamente acessado e através dele temos o manejamento de funções e manipulação dos dados vindos do Model, etc. É através do controller que montamos o conteúdo da VIEW, uma vez que é a partir dele e somente dele que chamamos a camada de apresentação.

Entenda o acesso da aplicação através de uma URL, tendo em vista que estamos seguindo o básico do MVC sem nenhuma configuração de rotas ou outras coisas:

http://www.seusite.com.br/noticias/ler/23/
noticias = Controller
ler = Método contido no controller
23 = parâmetro passado para o método LER, no caso você está querendo ler a notícia 23.

Intuitivo, não acha? Lógico que isso é bem básico.. vamos nessa..

Características Comuns dos Frameworks

Praticamente todos eles seguem os mesmos padrões, logo possuem características comuns, vejamos algumas:

  1. Libraries (Bibliotecas) – Bibliotecas são classes que auxiliam por toda a aplicação, dando suporte a banco de dados, templates, tratamento de erros, validações, etc.
  2. Helpers (Ajudantes?) – Funções que auxiliam em rotinas corriqueiras, como tratamento de erros, formatações de datas,
  3. Scaffolding – A melhor arma para o desenvolvedor na hora de inserir, editar e remover dados de suas tabelas do banco de dados. Diga a palavra para acessar, a tabela que quer manipular e você terá um CRUD perfeito.
  4. Active Records – Uma verdadeira ‘mão-na-roda’ dos desenvolvedores. Se a classe active records for bem feita, você dará adeus a querys até mesmos muito complexas. Utilize apenas uma linha de comando para retornas os usuários de uma tabela que são apenas do sexo feminino e tem idade maior que 18 anos e moram em Pernambuco. Que tal ham?

Considerações finais

Como o post já ficou extenso, vou parando por aqui e deixo vocês com o Segundo Cérebro para tirar quaisquer dúvidas que vocês tenham sobre o assunto, ou é claro, se quiserem entrar em contato comigo, pode mandar brasa.

Só deixando claro que abordarei mais sobre Frameworks, mostrando uma lista de alguns dos mais utilizados, exemplos mais específicos do ‘Codeigniter’, pois atualmente estou utilizando-o em minhas aplicações. Abraço a todos e até um próximo post

That’s all Folks.

Djalma Araújo
http://www.djalmaaraujo.com.br/




Assinem meu feed

Assine também via e-mail

del.icio.us

My Flickr

UFPE - 23.05 - Lenine

UFPE - 23.05 - Lenine

UFPE - 23.05 - Lenine

More Photos

Navegue