imagem javascript

10 recursos úteis em javascript!

jQueryhttp://jquery.com/

Uma biblioteca javascript que facilita a manipulação do DOM, manipulação de eventos e requisições, usando menos código.

Demonstrações no site!

Chance.jshttp://chancejs.com/

Um gerador de números, strings, e caracteres “aleatórios”. Fácil e simples, é um bom recurso para gerar valores para testes ou valores aleatórios que não necessariamente precisam ser “true random” (http://chancejs.com/#true-random).

Demonstrações no site!

jQuery UIhttps://jqueryui.com/

Uma biblioteca para criar elementos de interface gráfica com jQuery. Alguns exemplos: Datepickers, Autocomplete, caixas de diálogo, tooltips, drag and drop, etc. Podem ser modificados com CSS.

Demonstrações: http://jqueryui.com/demos/

Flothttp://www.flotcharts.org/

Flot é uma biblioteca para gerar gráficos. Pode gerar diversos tipos de gráficos como pizza, barras, linhas, etc. É customizável através de opções de configuração e plugins.

Demonstrações: http://www.flotcharts.org/flot/examples/

AngularJShttps://angularjs.org/

Um framework javascript para construir páginas com HTML dinâmico, extendendo o vocabulário HTML. Possui muitos recursos, parecendo complexo inicialmente, porém de fácil aprendizado.

O site do AngularJS possui vídeos e tutoriais para aprender como utilizá-lo. Demonstrações no site!

SyntaxHighlighterhttp://alexgorbatchev.com/SyntaxHighlighter/

Uma biblioteca para estilizar código na página. Uso simples e possui diferentes formatações para cada linguagem.

Demonstrações: http://alexgorbatchev.com/SyntaxHighlighter/manual/demo

FlexSliderhttp://flexslider.woothemes.com/

Um completo, fácilmente customizável slider desenvolvido em javascript. Fácil configuração e manipulação do slider. É possível alterar o visual via CSS com fácilidade.

Demonstrações no site!

Parallaxhttps://github.com/wagerfield/parallax

Uma engine para criar o efeito parallax com javascript. Possuí diversas formar de configuração e implementação.

Demonstrações e documentação no link do github.

Gmapshttp://hpneo.github.io/gmaps/

Uma biblioteca para facilitar o uso da API do Google Maps. Usa orientação a objetos e possui uma grande documentação.

Demonstrações: http://hpneo.github.io/gmaps/examples.html

FancyBoxhttp://fancyapps.com/fancybox/

Uma ferramenta para disponibilizar conteúdo através da técnica conhecida como “lightbox”. Fácil uso e muitas opções de configuração e customização. O FancyBox é pago para uso comercial.

Demostrações: http://fancyapps.com/fancybox/#examples

Layout - página inicial Peta Perruge

Peta Perruge – Lançamento Abril/2014

No dia 09/04/2014, foi lançado oficialmente o novo site da Peta Perruge que é uma das casas de festas mais bonitas do Brasil.

O processo de concepção do layout, tipografia e recursos visuais foi realizado em parceria com as sócias da casa que possuem extremo bom gosto. O site é responsivo e otimizado para dispositivos móveis e resoluções não convencionais.

O projeto foi realizado em PHP / HTML5 / CSS3 e Javascript… o projeto foi totalmente pensado para o público-alvo da casa.

É possível conferir o resultado em http://www.petaperruge.com.br

Segue abaixo algumas telas do site para apreciação:

imagem do layout da página de contato

Página de localização

imagem do layout da página notícias no varal

Página Notícias no Varal

imagem do layout da página Nossas Decorações

Página Nossas Decorações

imagem do layout da página Nossas Festas

Página Nossas Festas

imagem do layout da página A Casa

Página A Casa

imagem do layout da página inicial

Página Inicial

Entrevista com Elton Minetto da CodeRockr

Foi um prazer entrevistar um dos brasileiros que mais inspiram nossa equipe em termos de metodologia, produtividade e desenvolvimento. Estou falando de Elton Minetto, desenvolvedor, empreendedor, escritor e professor… ufa, são muitas funções e ele consegue dar conta de tudo isso muito bem.

Foto Elton Minetto

Foto do RedHead

Data de Nascimento: 

15/11/1978 

Cargo / Função:

Atualmente sou CEO da Coderockr, empresa que ajudei a fundar em 2010.  Teoricamente eu sou responsável pela gerência da empresa e dos projetos, bem como contato com clientes e parceiros. Mas sempre que dá um tempinho eu ajudo na programação, só porque é divertido e mantém minha mente afiada. 

Empresa Atual: 

Logotipo coderockr 

 

 

Formação acadêmica:

Sou bacharel em Ciências da Computação. Fiz uma pós-graduação, também em Ciência da Computação e um MBA em Gerenciamento de Projetos. 

Tem algum ídolo ou referência em sua área que te inspira? Se sim, quais e o que te levou a apreciar os trabalhos?

É difícil escolher apenas um ídolo, porque admiro muita gente. Mas posso citar Eric Raymond, Richard Branson, Steve Jobs, Steve Wozniak e a galera que criou o Github.  

Cursos e treinamentos já realizados:

Eu sou meio autodidata então sempre aprendi as coisas sozinho, lendo e testando as tecnologias. Por isso fiz poucos treinamentos além da universidade. 

Com quais linguagens de programação você já trabalhou? Tem alguma que ainda quer aprender / trabalhar?

Já trabalhei com muita coisa: Cobol, PL/SQL, muito shell script, JavaScript, Java e principalmente PHP. Adoro a sintaxe do Python e gostaria de aprender e trabalhar com Go porque me parece que ela resolve problemas muito interessantes como concorrência e performance. 

Já trabalhou em algum projeto open-source? Quais?

Eu já colaborei com alguns projetos em vários níveis. Ajudei a traduzir algumas coisas do Ubuntu, criei uma distribuição linux para developers baseada no falecido Kurumin Linux, relatei bugs para o Doctrine e mais recentemente ajudei a escrever o suporte a Oracle para o Zend Framework 2, junto com um cliente da Coderockr. As pessoas as vezes esquecem que é possível colaborar com os projetos de diversas maneiras além do código: documentação, divulgação, tradução, palestras, etc. Tudo é válido e importante. 

Quais foram as dificuldades para aprender a programar?

Eu sempre gostei muito da área de tecnologia e programação, então sempre tive o entusiasmo e a vontade de aprender. Isso ajudou bastante para quebrar qualquer barreira que eu encontrei

Utiliza técnicas de métodos ágeis? Se sim, quais e o que mudou ao adotar?

Na Coderockr sempre usamos Scrum e recentemente começamos a usar Kanban, para podermos comparar os dois métodos. Ambos são muito eficientes, tanto para a equipe quanto para o cliente. 

O que te motivou a escolher a área de desenvolvimento de software?

Sempre gostei muito de tecnologia e tive ótimos professores quando comecei a aprender programação na universidade (entrei na universidade com 17 anos, então comecei relativamente cedo). Acho que isso ajudou bastante, mas o fato de você conseguir resolver problemas, gerar resultados apenas com a sua mente e seus códigos é algo fantástico e que todos deveriam tentar. 

Na sua opinião, quais tecnologias / linguagens de programação irão predominar no mercado nos próximos anos? 

As tecnologias e linguagens de programação envolvidas na geração de aplicativos para dispositivos móveis. Isso é algo que não tem mais volta, o mundo é móvel. E isso vai se expandir ainda mais com os computadores vestíveis. 

Em quais projetos está trabalhando atualmente? Se puder revelar, dar uma prévia do que será lançado em breve… 

No âmbito profissional estamos sempre criando coisas novas para nossos clientes, mas também estamos pensando em um novo produto que deve ser lançado em 2014 (ou não, dependendo do resultado do MVP que estamos desenvolvendo). No quesito “projetos pessoais” estou pensando em escrever um novo livro que espero conseguir terminar ainda este ano.  Gostaria de ressuscitar o BizAndCode, podcast que eu co-apresentava com um amigo em 2013, mas não sei se o tempo vai permitir. 

Tem algum gadget favorito que anda sempre com você?

O iPhone. O iPad Mini também é um companheiro de dia a dia, principalmente para ler notícias e livros. 

Quais músicas / podcasts estão sempre em sua playlist?

Heavy metal! Sou muito fã de metal e de suas vertentes mas também gosto de rock. Um dos meus vícios é descobrir bandas novas, estou sempre vasculhando o que está sendo lançado de rock e heavy metal.  E sou grande fã do Nerdcast e Matando Robôs Gigantes, meus companheiros diários de exercícios físicos.

Na sua opinião, quais filmes são fundamentais assistir antes dos 30 anos?

A trilogia Poderoso Chefão, todos os do Martin Scorcese, os do Tarantino e Clube da Luta. São formadores de caráter. 

Na sua opinião, quais livros são leituras fundamentais antes dos 30 anos?

Eu uso a literatura como válvula de escape, então é difícil para mim citar algum livro filosófico. Os livros do Tolkien, Admirável Mundo Novo, Neuromancer e os do Isasc Asimov estão entre meus favoritos.  E qualquer coisa escrita pelo Neil Gaiman. 

O que compõe seu workspace (computador, monitores, mouse, teclado, fones de ouvido, etc)? (se souber especificar cada item é melhor)

Atualmente uso um Macbook Pro 13” mid 2012, 2.3GHz Core i5, que eu incrementei com 16 GB de RAM. Estou namorando um Macbook Retina mas o preço ainda está me assustando um pouco.  Às vezes uso um monitor externo, mas não é algo obrigatório. No trabalho uso o fone de ouvidos do iPhone porque é prático e leve. Em casa uso o fone de ouvido do PS3 que é muito bom, apesar de pesar uma tonelada. 

Para finalizar, tem um sonho que ainda não realizou e pode compartilhar conosco?

Eu gosto muito de palestrar e ministrar aulas, então um dos meus sonhos é palestrar em um evento internacional, de preferência o TED. 

Acabei não perguntando e não deixei claro, mas Elton também já escreveu os livros Zend Framework na Prática (1 e 2), Doctrine na Prática e lançou a startup CodeSquad.

A humildade e disponibilidade de Elton para esta entrevista foi incrível, que siga assim e que tenha ainda mais sucesso na vida com a chegada da cegonha :)

Google PLus para empresas

Google Plus para empresas – Adição de Urls Amigáveis

O Google Places está cada vez mais integrado com o Google Plus.

Recentemente recebemos emails de notificação do Google para que as empresas cadastradas no Google Places “reservem” sua url amigável no Google Plus, sendo que as empresas neste mesmo processo são “obrigadas” a criar uma página no Google Plus (Como são espertinhos)

Segue abaixo um exemplo do que recebemos via email

Imagem email do Google Plus

Imagem do email recebido para utilização de urls amigáveis

Interessante é que realmente o Google demorou a implementar as urls amigáveis para páginas e eles praticamente vivem de boa indexação… agora é esperar para ver os resultados com as novas urls.

Site - Refeisul

Novo Projeto – Refeisul Refeições Industriais

O site da Refeisul Refeições Industriais foi para o ar e tem como objetivo aumentar a abrangência dos negócios e captar novos clientes no Rio Grande do Sul. Situada em Cachoeirinha, a Refeisul presta os serviços de 

  • Refeições transportadas
  • Refeições locais
  • Eventos
  • Café da manhã, Almoços, Lanches e Jantas
Logotipos dos clientes da Refeisul

Conheça alguns clientes da Refeisul

A empresa conta com frota própria, sede própria e atua há mais de 26 anos no mercado de alimentação.

Confira mais em http://www.refeisul.com

CakePHP-Framework

Dicas para começar a desenvolver um Plugin para CakePHP

Estamos desenvolvendo um painel de administração novo e adotamos o Cake como framework para o desenvolvimento. Para facilitar o desenvolvimento, algumas funcionalidades serão desenvolvidas como plugins. Eu nunca havia trabalhado com o Cake antes, então ao iniciar o desenvolvimento do painel e criar plugins foi um pouco complicado, mas ao analisar a estrutura do plugin e do Cake, percebe-se que eles são bem simples de entender.

Então, escrevo este post para compartilhar um pouco da experiência que estou tendo e ajudar o pessoal que quer começar a desenvolver plugins!

Vale lembrar que este post considera que você já tem algum conhecimento com o framework, pelo menos o tutorial de criação de blog disponibilizado no site do CakePHP (http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/blog.html).

Caso não tenha feito, recomendo que faça antes de prosseguir e preste bastante atenção na estrutura do Cake e como ele funciona.

Obs.: Este post não é um tutorial, são dicas de utilização ;)

Não irei abordar as configurações iniciais do Cake, caso ainda não tenha o framework instalado, baixe-o aqui e extraia os arquivos no diretório do seu servidor web para acessá-lo pelo navegador (htdocs, www, etc). Feito isso, acesse-o pelo seu navegador e siga as instruções iniciais.

 A primeira dica é a criação da estrutura de um plugin.

A estrutura de diretórios de um plugin é quase a mesma do diretório ‘app’. Para não precisar criar cada diretório manualmente (Model, Controller, View, Config, Lib, etc), podemos usar o Console.

Abra o seu terminal (DOS no Windows) e vá até o diretório app/, no meu caso:

cd C:\xampp\htdocs\cake\app\

Depois digite:

Console\cake bake plugin NOME_DO_SEU_PLUGIN

É importante que você esteja no diretório app no console, senão os comandos podem não funcionar corretamente.

Ele vai pedir para você escolher o caminho onde criar a estrutura de diretórios para seu novo plugin. Existem dois lugares onde você pode colocar o seu plugin:

  1. No diretório ‘Plugin‘, dentro de app
  2. No diretório ‘plugins‘ no mesmo diretório onde está app

A diferença dos dois diretórios é que alguns desenvolvedores usam a mesma instalação do cake (core) para várias aplicações (app1, app2, app3, por exemplo), assim eles colocam os plugins que são usados por todas as aplicações no diretório ‘plugins’, ao invés de ter uma cópia do plugin para cada aplicação em app1/Plugin, app2/Plugin, etc.

Depois de escolher onde será criado o seu plugin, ele mostrará o nome do seu plugin e o diretório onde será salvo e perdirá a confirmação. Se estiver tudo certo, confirme e ele criará os diretórios.

A maioria desses diretórios estão vazios, exceto ‘Model‘, ‘Controller‘.

Em ‘Model’ terá o arquivo NOME_DO_PLUGINAppModel.php e em ‘ControllerNOME_DO_PLUGINAppController.php

De agora em diante usarei o nome do plugin como MyPlugin.

Esses arquivos funcionam exatamente como AppModel.php e AppController.php que estão em app/Model e app/Controller, respectivamente (tanto que eles estão herdando delas).

Porém há um detalhe que fazia eu me confundir um pouco:

// .../plugins/Myplugin/Model/MyClass.php App::uses('MypluginAppModel', 'Myplugin.Model'); class MyModel extends MypluginAppModel{ ... }

No nosso arquivo MyModel.php devemos ‘incluir’ a classe MyPluginAppModel para podermos extendê-la.

Para isso usamos o método ‘uses‘ da classe App.

O primeiro parâmetro é o nome da classe a ser incluída – MypluginAppModel – e o segundo é a qual pacote ela pertence. No caso ela está no diretório Model do plugin Myplugin, então ela pertence ao pacote Myplugin.Model.

Em MyPluginAppModel podemos ver:

App::uses('AppModel', 'Model'); class MyPluginAppModel extends AppModel { }

Obs.: Não é obrigatório, mas é um padrão do Cake.

Estamos incluindo a classe AppModel que pertence ao pacote Model. Informando apenas ‘Model’, sem nenhum nome a frente, por exemplo SomeName.Model, significa que estamos falando do pacote Model da aplicação (app/Model).

Se vamos usar alguma classe de outro diretório, podemos usar App::uses(‘JustAnotherClass’, ‘Myplugin.Vendor’); para o diretório Vendor dentro de Myplugin, por exemplo.

No atributo $uses em uma Controller também é necessário informar de onde vem a Model a ser usado naquela controller (nome_plugin.nome_classe).

class MyController extends MypluginAppController{ public $uses = array('Myplugin.MyModel', 'Myplugin.MyModelTwo'); }

Sempre que for informar uma classe do seu plugin para ser usada, coloque nome_plugin.nome_classe.

Outros lugares onde são usados nomes de classes:

- atributo $belongsTo, $hasMany das Models:

class MyModel extends MypluginAppModel{ public $belongsTo = array( 'MyModelTwo' => array( 'className' => 'Myplugin.MyModelTwo', // percebam aqui o nome do plugin mais o nome da classe, separados por ponto. ... }

Tudo isso é importante saber, mas há uma forma para que você não precise escrever tudo isso “a mão”.

Podemos usar o Console para isso!

Criando um Model chamado MyModel para o plugin MyPlugin:

...\htdocs\cake\app>Console\cake bake model MyModel --plugin MyPlugin

Ao executar o comando ele criará a model no diretório Model do plugin MyModel com as configurações padrão, por exemplo ele detectará a ‘primary key’ da tabela e seus relacionamentos, como também escreverá algumas validações conforme as regras dos campos da tabela (not null, apenas número para campos que recebem números, etc.).

Verifique se está tudo certo com as regras escritas e altere-as conforme sua necessidade!

Vale lembrar também que esse comando segue as convenções do cake. Ao digitar esse comando, ele procurará pela tabela my_model no banco de dados. Se ele não encontrar, uma mensagem de erro será mostrada no console.

Obs.: O mesmo que foi escrito para ‘cake bake model’ vale para ‘cake bake controller’!

Para carregar seu plugin, em app/Config/bootstrap.php digite:

CakePlugin::load('SeuPlugin', array('bootstrap' => true, 'routes' => true));

‘SeuPlugin’ deve ser o nome exato do diretório do seu plugin em app/Plugin ou /plugins.

O array de opções é opcional, mas se quiseres carregar as configurações do plugin em SeuPlugin/Config/bootstrap.php ou SeuPlugin/Config/routes.php esse array deve ser informado como no exemplo acima.

São dicas simples, mas que algumas não abordavam diretamente no manual e que eu passei um tempo pesquisando para descobrir.

Espero ter ajudado!

Até a próxima!

Foto rosto Robson Bittencourt

SESSÃO PERFIL COM ROBSON BITTENCOURT

Tenho o prazer em ser colega deste grande amigo e excelente desenvolvedor que em uma conversa de poucos minutos percebe-se a determinação em escrever código de qualidade. Confira o que Robson Bittencourt curte e o que ele

Data de Nascimento:

02/07/1989

Cargo / Função:

Desenvolvedor

Empresa Atual:

uMov.me S.A

Formação acadêmica:

Graduando em Sistemas de Informação

Tem algum ídolo ou referência em sua área que te inspira?

Não

Cursos e treinamentos já realizados:

Formalmente somente a graduação.

Com quais linguagens de programação você já trabalhou? Tem alguma que ainda quer aprender / trabalhar?

Trabalho atualmente com Java. Também utilizo Ruby para um projeto de testes funcionais. Gostaria de aprender .Net para diversificar o conhecimento.

Já trabalhou em algum projeto open-source? Quais?

Não

Quais foram as dificuldades para aprender a programar?

A princípio foi fácil, sempre tive facilidade com matemática e problemas de lógica.

Utiliza técnicas de métodos ágeis? Se sim, qual e o que mudou ao adotar?

Posso citar duas, TDD e Pair Programing. Não sei dizer o que mudou pois sempre tive o privilégio de trabalhar assim, mas de qualquer forma as vantagens de se adotar métodos ágeis são diversas.

Na sua opinião, quais tecnologias / linguagens de programação irão predominar no mercado nos próximos anos?

Na minha opinião as plataformas móveis ganharam cada vez mais destaque. Em virtude disso acredito que linguagens que rodem em diversos dispositivos serão muito importantes.

Tem algum gadget favorito que anda sempre com você?

Somente o smartphone.

facebook-20120202114915

Cuidado! Não confunda sua vida pessoal com a virtual

Durante a Campus Party Brasil 2012, o gerente geral de segurança do portal UOL, deu dicas de como diminuir os riscos na rede e continuar com sua privacidade intocada. Para ajudar os internautas, o especialista apresentou uma pesquisa de análise de comportamento que concluiu que o ser humano tende a se comportar da mesma maneira nos mundos virtual e real.

Segundo ele, um mero post em rede social pode trazer perigos. Para exemplificar, o especialista citou o caso de um funcionário de uma companhia de soluções para web, que foi demitido por causa de um tuíte. Para comemorar a vitória de seu time de futebol, o funcionário brincou com outro time usando o nome de sua empresa. Porém, na época, a companhia era patrocinadora oficial do time paulistano.

Algo parecido também ocorreu com um importante executivo, que precisou apagar de sua “lista de desejos” de um site de compras, um livro que ensinava como fabricar uma bomba atômica. Por conta disso, Nelson fez um alerta: cuidado com as listas de desejo ou serviços que exibem nas redes sociais o que você está ouvindo ou assistindo, elas podem ser usadas contra você.

Outra dica de Nelson é tomar cuidado com os amigos do Facebook. Ele diz que, mesmo que a pessoa seja conhecida, seu perfil pode conter falhas de segurança. Além disso, sempre há a possibilidade de um criminoso virtual utilizar uma conta “real” para enganar as vítimas. Fora isso, Nelson explica que é importante se lembrar que um post pode ficar eternizado na rede. “Uma vez postada, a informação fica lá para sempre. Ou seja, se você coloca alguma mensagem, mesmo que ela seja apagada, alguém pode ver, salvar ou até tirar um print screen e, então, ela será eternizada”, ressaltou.

Apesar de todos os avisos e alertas, Nelson afirma que sair das redes sociais não é a solução. De acordo com ele, basta pensar antes de postar. “Tem de haver consciência na hora de publicar informações nas redes sociais. Uma consciência que dure 24 horas por dia e 7 dias por semana, pois nosso hábitos, mesmo que virtualmente, dizem muito sobre nós”, concluiu.

Você tem alguma dica de como manter sua privacidade e segurança na rede? Compartilhe conosco nos comentários.

Fonte: UOL

como-ser-um-empreendedor-de-sucesso

10 autoquestionamentos para o empreendedor de primeira viagem

Confira dez autoquestionamentos para que o futuro empresário possa confrontar seus sonhos com a concreta realidade.

Vamos lá:

1º Questionamento: Estou preparado para assumir integralmente a responsabilidade pela minha geração de renda e sustento, como resultante daquilo que é gerado pelo meu próprio negócio?

2º Questionamento: Estarei satisfeito e realizado ao abdicar do status que a minha posição corporativa garantia?

3º Questionamento: Estou preparado para viver rigorosamente dentro da minha realidade econômica, construindo um colchão de segurança financeira a partir da contenção das despesas pessoais e da redução do consumo habitual?

4º Questionamento: Tenho paciência para enfrentar uma jornada de médio a longo prazo de trabalho duro e convivência com riscos, antes de atingir solidez econômica e satisfação financeira?

5º Questionamento: Conseguirei conviver com serenidade longe do “glamour”  corporativo e dos jogos de poder travados nos corredores e salas de reunião?

6º Questionamento: Estou preparado para enfrentar uma jornada diária de trabalho sem horários definidos para seu início ou término?

7º Questionamento: Estou emocionalmente maduro para pensar e decidir por conta própria, sem o apoio de chefes, colegas e consultores motivacionais?

8º Questionamento: Pretendo me tornar empreendedor pelo desejo de tornar-me rico ou pelo anseio de realizar e assumir o controle do meu próprio destino?

9º Questionamento: Serei feliz na solidão que envolve controlar o próprio destino e ser o centro das decisões vitais da minha vida empresarial?

10º Questionamento: Estou preparado para trabalhar com a mínima estrutura de suporte, assumindo com tranquilidade as tarefas que antes eram delegadas para secretárias, assistentes ou estagiários?

Gustavo Chierighini, da Plataforma Brasil

Para ler outros textos da coluna da Plataforma Brasil no blog Saia do Lugar, clique aqui.

Estou com sorte

“Estou com sorte” – Vale a pena usar?

O Google possui a ferramenta “estou com sorte” há muito tempo, este recurso basicamente leva você para o primeiro resultado da pesquisa.

O Google define que o primeiro resultado é o mais “relevante” para o que você está procurando, porém este recurso gera um custo de oportunidade muito grande pois quem clica no “estou com sorte” normalmente não visualiza os anúncios presentes nos resultados da busca e não gera receita para o Google através dos anunciantes.

Para nós usuários, o recurso estou com sorte é interessante para casos onde você pesquisa exatamente um termo que você sabe que o primeiro resultado é exatamente o que você procura. Exemplo: pesquise “Terra” no google. Com certeza o primeiro resultado será o site www.terra.com.br, então o recurso “estou com sorte” é interessante nestes casos.

Mas você sabe como o primeiro da lista é definido?

O algoritmo de indexação atual do Google (Hummingbird – na data de escrita deste post) leva muito em consideração o conteúdo do site e a “autoridade” do domínio / site. Se você possui um site “relevante”, com muitas visitas e recebe links de diversos outros sites “relevantes”, significa que seu site tem uma ótima “pontuação” para estar entre os primeiros colocados.

Técnicas de SEO (otimização para mecanismos de buscas) são importantes, mas estão cada vez mais atreladas ao conteúdo gerado pelo site do que simplesmente “engenharia” de palavras-chave e programação.

O recurso “Estou com Sorte” nem sempre leva o usuário ao resultado pesquisado, mas é uma funcionalidade que o Google avalia constantemente remover por “diminuir” a visualização dos anúncios nos resultados de pesquisas.

Screenshot página inicial site clínica

Novo site da Clínica Skin gerando resultados!

Recentemente colocamos no ar o novo site da Clínica de Dermatologia e Nutrição Skin de Porto Alegre – RS.  O projeto conta com painel de administração para gerenciar o conteúdo das páginas, tratamentos e contatos.

Seguem abaixo screenshots de algumas páginas. Para conferir o resultado, acesse: http://www.clinicaskin.com.br

Screenshot página tratamentos

Página de tratamentos de nutrição

De acordo com os relatórios iniciais do Google Analytics, o site teve um aumento significativo de acessos e já possui mais de 4 páginas de resultados no Google.

cakeForm

Criando Formulários com CakePHP

O que é um Helper no CakePHP?

Helpers são calsses que nos ajudam a criar diversas coisas com mais rapidez e facilidade.  Existem diversos helpers que já vem com o Cake e instanciados por padrão, o FormHelper é um desses. Também podemos criar nossos próprios helpers.

O FormHelper.

O FormHelper é responsável pela criação de elementos HTML de formulários (radio,input, select, text…), utilizando funções em PHP de uma maneira simples e de fácil compreensão.

Ele possui uma nomenclatura baseada no model do form e no nome do campo dentro de uma variável data (veremos mais detalhes posteriormente nesse post), o id DOM é composto também pelo nome no form mais o model do campo em CamelCased.

Criando o Formulário

Para criarmos um formulário usando o FormHelper usamos o método create().

FormHelper::create(string $model = null, array $options = array());

Ele não possui parâmetros obrigatórios, pois caso chamemos ele sem nenhum deles ele assumirá algumas configurações padrão como: Metodo de submissão POST, e a Action será a com o nome do arquivo de view onde o form está. Vamos partir da boa prática que você sempre vai passar pelo menos um parâmetro para o form, o nome do model.

Criando um form.

<?php 
//view cadastrar.ctp do controller posts
echo $this->Form->create(“Post”);
/*<form id=”PostCadastrarForm” method=”post” action=”/posts/cadastrar>*/
?>

Para personalizarmos essas configurações usamos o array options do método, no qual podemos dizer qual será a action, definir o tipo de envio, id, funções de validação, etc.

Personalizando o formulário.

<?php 
//view cadastrar.ctp do controller Posts
echo $this->Form->create(
“Post”,
array(‘url’=>action(‘controller’=>’posts’,’action’=>’cadastrar’),’id’=>’FrmPost’
)
);
?>

Fechando o Form

Para fecharmos o formulário usamos o método end($options = null). Ele recebe como parâmetro um array de opções, nada, ou simplesmente um label. Por padrão é o tipo submit.

Fechando o formulário

<?php 
//view cadastrar.ctp do controller Posts
echo $this->Form->create(
“Post”,
array(‘url’=>action(‘controller’=>’posts’,’action’=>’cadastrar’),’id’=>’FrmPost’
)
);
//elementos devem fica entre esses dois metodos
echo $this->Form->end(‘postar’);//geralmente usamos apenas com o label
?>

Criando elementos

Para criarmos os elementos do form usaremos basicamente o método input(), pois com ele podemos criar quase todos os tipos de elemento.

FormHelper::input(string $fieldname,$options=null);

A criação de todos os elementos parte do mesmo principio, vejam:

Criando um input de tipo text.

//abertura do form
echo $this->Form->input(‘titulo’);
/*caso o campo seja de outro model deve-se usar Model.fieldname*/
/*
A saída será.
<div>
<label for="PostTitulo">Titulo</label>
<input name="data[Post][titulo]" type="text" value="" id="PostTitulo" />
</div>
*/
//fechamento do form

Todos os elementos básicos seguem esse mesmo padrão, precisando apenas passar o segundo parâmetro. Veja como ficaria um elemento do tipo select.

Criando um elemento select.

echo $this->Form->input(‘sexo’,
array(
‘type’=>’select’,
‘options’ => array(‘M’=>’Masculino’,’F’=>’Feminino’),
‘label’ =>’Selecione o sexo’
/*aqui também podemos chamar os atributos comuns de HTML inclusive os eventos de Javascript*/
)
);

Na listagem anterior foi usada a opção label, ela está disponível para todos os tipos, se não setarmos essa posição então o conteúdo do label será o mesmo nome do campo.

Outra opção útil seria a empty(boolean) ele define se o primeiro elemento deve ser vazio ou não, por padrão a primeira opção do array options é o que aparece.

O atributo ‘value’ aparece em quase todos os elementos, usamos da mesma maneira que no HTML setando um valor padrão.

Dessa mesma forma podemos criar os elementos tipo radio, checkbox e textarea. Todos terão uma saída muito parecida.

Veja suas chamadas e algumas particularidades:

Radio, checkbox e textarea.

<?php 
//textarea
echo $this->Form->input('textarea', array(‘type’=>’textarea’,'rows' => '5', 'cols' => '5'));
//radio
echo $this->Form->radio('sexo',
 array(‘type’=>’radio’ ‘options’=>array('M'=>'Male','F'=>'Female'),’value’=>’M’));
//checkbox
echo $this->Form->input('ativo', array(‘type’=>’checkbox’,’label’=>”Deixe marcado para ativar”));
?>

Esses são apenas os métodos  básicos com chamadas mais básicas. Caso vocês queiram ter acesso a maiores informações e para consultar quando estiverem  desenvolvendo algo mais avançado acesse: http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html.

Página inicial - Profihair cosméticos

Nova loja virtual! Profihair – Distribuidora de cosméticos

Recentemente, desenvolvemos a loja virtual da Profihair – Distribuidora de cosméticos. O conceito do projeto foi expor os produtos da empresa da melhor forma possível para ter uma boa conversão. O público-alvo da loja são salões de beleza, estéticas e o cliente final por ter preços bastante competitivos. Há divisão por categorias, subcategorias e por fabricante.

Criamos também a integração com o PagSeguro para que as compras sejam intermediadas e passem segurança tanto para a empresa quanto para o comprador.

Atualmente, a Profihair investe em links patrocinados / Google Shopping.

O projeto contou com tecnologias de CSS3, PHP5, HTML5 e Javascript / JQuery.

Confira o resultado em: http://www.profihair.com.br

Site - Macdiesel

Pensou em alugar geradores de energia? MacDiesel é a resposta

Recentemente, desenvolvemos o novo site da MacDiesel – Aluguel de Geradores  de Energia. O conceito do projeto foi criar uma amostra maior dos serviços da empresa com a área de serviços subdividida e também conscientizar o público-alvo sobre os riscos de escolher a empresa errada na hora de locar geradores para sua empresa, evento, feira ou rodeio.

Atualmente, a MacDiesel Geradores investe em links patrocinados e com o lançamento do novo site já focado em Link Building, este investimento diminuirá para investir em técnicas de SEO para o Orgânico.

O projeto contou com tecnologias de CSS3, PHP5, HTML5 e Javascript / JQuery.

Confira o resultado em: http://www.aluguelgerador.com.br

tdc2013

TDC Porto Alegre 2013 – The Developer’s Conference

Um dos eventos mais esperados do ano pela comunidade de desenvolvedores do Sul do Brasil está chegando. O TDC (The Developer’s Conference) edição Porto Alegre acontecerá entre os dias 25 e 26 de Outubro na UniRitter.

O período de inscrições vai até o dia do evento (se houverem vagas). Aproveite e clique no link abaixo para efetuar sua inscrição:

http://www.thedevelopersconference.com.br/tdc/2013/inscricoes#portoalegre

Entre as trilhas disponíveis estão:

SEXTA – 25/10 SÁBADO – 26/10
Trilha Testes Trilha Arduino e Raspberry Pi
Trilha Java Trilha Arquitetura
Trilha .NET Trilha Agile
Trilha Mobile Trilha Games
Trilha Marketing Digital Trilha UX/Front-End
Trilha Stadium Sexta Trilha Stadium Sábado

Gustavo das Neves, diretor de criação da Master Studio Web submeteu palestra para a trilha de Ux / Front-end. Se puder ajudar votando na palestra, agradecemos :)

Já estamos com nossas inscrições feitas e aguardando ansiosamente esta oportunidade de compartilhar conhecimento com outros desenvolvedores.

A solução web que você e sua empresa procuram!

This site is protected with Urban Giraffe's plugin 'HTML Purified' and Edward Z. Yang's Powered by HTML Purifier. 3565 items have been purified.