O que de fato é o Composer?

logo-composer-transparentVamos entender um pouco o que realmente é o Composer e qual sua utilidade! Inclusive porque todos os frameworks atuais estão utilizando esse tal de Composer.

O Composer nada mais é que um instalador de dependências!

Mas espera, como assim dependências? Que raios são dependências?

Um framework é uma série de lib’s(Library ou bibliotecas de códigos) com ferramentas e camadas de abstrações no qual você pode se utilizar para aumentar a segurança, facilidade de manutenção, velocidade de desenvolvimento e homogenização do seu aplicativo.

Tá, mas e o que o Composer tem haver com isso?

Atualmente os frameworks web cresceram muito, então as suas lib’s acabam ficando pesadas e elas são atualizadas constantemente. Pensando nisso o Composer é uma ferramenta na qual você instala e atualiza lib’s de um determinado framework ou ferramenta.

Vamos agora trazer essa ideia de dependências para o Laravel 4.

Para iniciar um desenvolvimento você não precisa baixar o Laravel 4 inteiro, com todas as lib’s. Basta apenas baixar a estrutura de arquivos padrão e iniciar seu desenvolvimento, quando for necessário interpretar/compilar o código para ver o resultado então você baixa as lib’s do Laravel usando o Composer porque elas são necessárias para interpretação/compilação do código.

Para fazer isso tudo o Composer se utiliza de um arquivo ‘.json‘ no qual ele verifica quais lib’s devem ser instaladas ou atualizadas.

Podemos por exemplo ver o Composer.phar ou Composer.php na pasta raiz de muitos frameworks. Então para você instalar as lib’s deste framework sabendo que ele usa o Composer basta mandar o comando no terminal:

1
php Composer.php install

Para atualizar o próprio composer:

1
php Composer.php self-update

Caso existam atualizações no seu framework e você gostaria de atualiza-lo (Lembrando que você precisa ter instalado ele primeiro):

1
php Composer.php update

Mas e se uso Windows? Como vou fazer para interpretar/compilar esse arquivo do Composer? Bom meu amigo, você deve instalar o PHP no seu Windows e configura-lo para chamar a função de interpretação/compilação no prompt de comando do Windows!

Para quem usa Windows isso fica bem difícil mesmo, então indico instalarem uma VMWare (VMWare Player é FREE) com o Linux!

Fonte: Laravel Brasil

 

Anúncios

Conceitos Básicos de Programação de Computadores

Conceitos Básicos de Programação de Computadores

  • Entrada: essa entrada seria uma informação, dados entre outros.
  • Processamento: é um processamento de dados, ou seja, eu possuo uma entrada de dados ou informação que será processado gerando assim uma saída processada, realizada, tratada entre outros.
  • Saída: através da entrada e processamento é necessário a saída de resultado.
  • Programação de computadores: a programação nada mais é que definir ao computador que tipo de resultado eu quero que ele me gere, ou seja, o que ele irá fazer com a informação ou dado que está entrando, gerando assim a saída desejada.

Tipos de Erros:

  • Erros de sintaxe: os erros de sintaxe nada mais que palavras chaves, virgulas ou condições escritas erradas, afinal este deve estar de acordo com a linguagem de programação que está utilizando.
  • Erro de lógica: pode ser uma troca de posições, afinal você escreveu sua sequência errada e trocou uma posição de lugar, sendo assim sua saída sairá errada pois a lógica precisa de uma sequência de passos para gerar a saída desejada.

Linguagens de Programação:

É um método padronizado para comunicar instruções para um computador, sendo assim, é um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.

Tipos de Linguagem de um computador:

  • Linguagem Procedural: é chamada por este nome uma linguagem que você escreve linha a linha e ela vai ser executada sequencialmente podendo ter desvios, loops. Mas atenção sua estrutura será executada sequencialmente.

linguagem-procedural

  • Linguagem Orientada a Eventos: é quando você constrói um determinado código mas este código está separado por grupos que são chamados de eventos.

 linguagem-orientada-a-eventos

  • Linguagem Orientada a Objetos: A orientação a objetos é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objeto.

Resumindo: é organizar o mundo real com uma coleção de objetos que incorporam a estrutura de dados e um conjunto de operações que manipulam estes dados. 

orientacao-a-objetos

Variáveis:

As variáveis são repositórios que alocam uma área de memória no computador onde você irá atribuir a ela valores, podendo alterar e excluir durante a execução do programa. Essa variáveis podem ser dos seguintes tipos: numéricas, string, data, booleanas entre outras.

Plataformas de Desenvolvimento em JAVA – Breve Explicação

Plataformas de Desenvolvimento em JAVA

Plataformas de Desenvolvimento em JAVA

Introdução

Java é uma linguagem de programação que permite o desenvolvimento de aplicações para uma série de plataformas. É possível ter software Java desde dispositivos pequenos, como telefones celulares, até computadores de grande porte, como os mainframes, por exemplo. Devido a essa característica, a linguagem Java conta com três conhecidos ambientes de desenvolvimento: o JSE (ou J2SE), o JEE (ou J2EE) e o JME (J2ME). Este artigo mostrará brevemente o que cada um faz e, consequentemente, o que os diferem.

Ambiente de desenvolvimento?

A linguagem Java vem sofrendo aprimoramentos desde o seu lançamento. O aumento no número de aplicações e, consequentemente, o aumento no número de bibliotecas padrão da linguagem, levou à criação de três divisões na plataforma a partir da versão 2 da linguagem: J2SE, J2EE e J2ME. Essas divisões são chamadas por alguns de ambientes de desenvolvimento. No entanto, há quem as denomine profile, plataforma, versão, entre outros.

É importante ressaltar que, a partir de 2006, passou-se a utilizar uma nova nomenclatura para essas plataformas. O número 2 foi retirado das siglas que as representam. Assim, estas passaram a ser JSE, JEE e JME.

JSE

O JSE (Java Standard Edition) é o ambiente de desenvolvimento mais utilizado. Isso porque seu uso é voltado a PC’s e servidores, onde há bem mais necessidade de aplicações. Além disso, pode-se dizer que essa é a plataforma principal, já que, de uma forma ou de outra, o JEE e o JME tem sua base aqui. Pode-se dizer também que esses ambientes de desenvolvimento são versões aprimoradas do JSE para as aplicações a que se propõem.

Por ser a plataforma mais abrangente do Java, o JSE é a mais indicada para quem quer aprender a linguagem.

JEE

O JEE (Java Enterprise Edition) é a plataforma Java voltada para redes, internet, intranets e afins. Assim, ela contém bibliotecas especialmente desenvolvidas para o acesso a servidores, a sistemas de e-mail, a banco de dados, etc. Por essas características, o JEE foi desenvolvido para suportar uma grande quantidade de usuários simultâneos.

A plataforma JEE contém uma série de especificações, cada uma com funcionalidades distintas. Entre elas, tem-se:

– JDBC (Java Database Connectivity), utilizado no acesso a banco de dados;
– JSP (Java Server Pages), um tipo de servidor Web. Grossamente falando, servidores Web são as aplicações que permitem a você acessar um site na internet;
Servlets, para o desenvolvimento de aplicações Web, isto é, esse recurso “estende” o funcionamento dos servidores Web, permitindo a geração de conteúdo dinâmico nos sites.

JME

O JME (Java Micro Edition) é o ambiente de desenvolvimento para dispositivos móveis ou portáteis, como telefones celulares e palmtops. Como a linguagem Java já era conhecida e a adaptação ao JME não é complicada, logo surgiram diversos tipos de aplicativos para tais dispositivos, como jogos e agendas eletrônicas. As empresas saíram ganhando com isso porque, desde que seus dispositivos tenham uma JVM (Java Virtual Machine – Máquina Virtual Java), é possível, com poucas modificações, implementar os aplicativos em qualquer aparelho, sendo o único limite a capacidade do hardware.

A plataforma JME contém configurações e bibliotecas trabalhadas especialmente para a atuação em dispositivos portáteis. Assim, o desenvolvedor tem maior facilidade para lidar com as limitações de processamento e memória, por exemplo. Um exemplo disso é a configuração chamada CLDC (Connected Limited Device Configuration), destinada aos dispositivos com recursos de hardware bastante limitados, como processadores de 16 bits e memórias com 512 KB de capacidade. Essa configuração contém uma JVM e um conjunto básico de bibliotecas que permite o funcionamento da aplicação Java em dispositivos com tais características.

A imagem a seguir mostra um jogo em Java que roda em dois dispositivos móveis diferentes (tirada do site http://www.msmobile.com):

JME (JAVA MOBILE)

JME (JAVA MOBILE)

Complemento: JRE

Se você não é e não pretende ser um desenvolvedor, basta ter uma JRE (Java Runtime Environment) em seu computador para executar aplicações nesta linguagem. Uma JRE é composta de uma JVM e de um conjunto de bibliotecas que permite a execução de softwares em Java.
Um fato interessante a ser contado, é que uma JRE (pelo menos a fornecida pela Sun) contém o chamado “Java Plugin”. Esse recurso permite a execução de aplicações em Java em navegadores de internet sem suporte à linguagem ou que suportam, mas com alguma particularidade.

Fonte: PORTAL EDUCAÇÃO – Cursos Online : Mais de 1000 cursos online com certificado 

Site Big Systems

Este site foi desenvolvido em HTML, CSS3 e PHP.

O que é o HTML ?

é uma linguagem de marcação utilizada para produzir páginas na Web. Documentos HTML podem ser interpretados por navegadores. A tecnologia é fruto do “casamento” dos padrões HyTime e SGML.

HyTime é um padrão para a representação estruturada de hipermídia e conteúdo baseado em tempo. Um documento é visto como um conjunto de eventos concorrentes dependentes de tempo (como áudio, vídeo, etc.), conectados por hiperligações. O padrão é independente de outros padrões de processamento de texto em geral.

SGML é um padrão de formatação de textos. Não foi desenvolvido para hipertexto, mas tornou-se conveniente para transformar documentos em hiper-objetos e para descrever as ligações.

O que é o CSS3 ?

CSS3 é a mais nova versão das famosas Cascading Style Sheets (ou simplesmente CSS), onde se define estilos para páginas web com efeitos de transição, imagem, e outros, que dão um estilo novo às páginas Web 2.0 em todos os aspectos de design do layout.

A principal função do CSS3 é abolir as imagens de plano de fundo, bordas arredondadas, apresentar transições e efeitos para criar animações de vários tipos, como um simples relógio de ponteiros.

Isso se deve aos novos browsers que estão chegando, com suporte à essa linguagem, como o Google ChromeOperaInternet Explorer 9, SafariMozilla Firefox. Assim, o CSS3 facilitará o trabalho dos que trabalham com web e também dos usuários, pela variedade de transformações na apresentação de um website.

O que é o PHP ?

é uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web. Ele Figura entre as primeiras linguagens passíveis de inserção em documentos HTML, dispensando em muitos casos o uso de arquivos externos para eventuais processamentos de dados. O código é interpretado no lado do servidor pelo módulo PHP, que também gera a página web a ser visualizada no lado do cliente. A linguagem evoluiu, passou a oferecer funcionalidades em linha de comando, e, além disso, ganhou características adicionais, que possibilitaram usos adicionais do PHP, não relacionados à web sites. É possível instalar o PHP na maioria dos sistemas operacionais, gratuitamente. 

Segue o layout dele:

01 - home site 02 - empresa site 03 - software site 04 - diferencial site 05 - vendas site 06 - contatos site 07 - suporte site

Introdução ao framework CakePHP

O CakePHP é um framework PHP para desenvolvimento de aplicações web que possui uma estrutura extensível para desenvolvimento, manutenção e implantação de aplicativos. Utiliza o padrão de projeto MVC e ORM com os paradigmas das convenções sobre configurações. CakePHP reduz os custos de desenvolvimento e nos ajuda a diminuir o número de linhas de código necessárias no desenvolvimento de uma aplicação.

OBJETIVO

O CakePHP tem como objetivo simplificar o processo de desenvolvimento para a construção de aplicações web, possuindo um núcleo geral para organizar o banco de dados e outros recursos que ajudam a reduzir a codificação. Entretanto, esta abordagem geral da programação web seja em si uma característica importante do CakePHP, o seu conjunto de outros recursos poderosos como validação embutida, listas de controle de acesso (ACLs), sanitização (limpeza) de dados, segurança e componentes de manipulação de sessão e cache de view fazem o CakePHP valer a pena para qualquer desenvolvedor.

 CARACTERÍSTICAS

  • Licença flexível;
  • Compatibilidade com PHP5;
  • Geração de CRUD para interação com banco de dados;
  • Arquitetura MVC;
  • Validação;
  • Templates;
  • Ferramentas que auxiliam gerar JavaScrip, AJAX, Forms HTML, etc
  • Comunidade ativa;
  • Funciona em qualquer subdiretório web, com pouca configuração Apache.

 MVC

CakePHP é baseado no padrão de desenvolvimento Model-View-Controller. A MVC é uma abordagem de Software que separa a lógica da aplicação de sua apresentação. Em pratica, ela permite que nossas aplicações Web contenham o mínimo de script já que a apresentação é separada do código.

  • Model (Modelo): Contém toda a logica da aplicação que não faz parte de uma Visão (View). Isso quer dizer que todas as regras de negócio, validação e acesso a dados estão contidas no Modelo.
  • View (Visão): É a camada de apresentação, a interface que será mostrada para o usuário. Um view contém todo o
  • HTML e lógica necessária para a correta exibição das páginas aos usuários.
  • Controller (Controlador): recebe as requisições de dados e invoca o modelo para apresentar uma resposta para a visão.

Separarmos a aplicação nessas três partes é muito interessante., pois podemos, por exemplo, modificar todo o layout de nossas páginas sem encostarmos no restante da aplicação, modificando apenas as views.

Na imagem a seguir conseguimos visualizar a arquitetura MVC no CakePHP.

Arquitetura MVC no CakePHP

ESTRUTURA DA PASTA PRINCIPAL DO CAKEPHP

Arquivos na pasta APP do CakePHP

Arquivos na pasta Aplication do CakePHP

  • Config: Contém os arquivos de configuração, detalhes da conexão ao banco de dados, bootstrapping, arquivos de configuração do núcleo e outras.
  • Controller: Contém os controladores das nossas aplicações e nossos componentes.
  • Locate: Armazena os arquivos com as strings para internacionalização.
  • Models: Contém os modelos, behaviores datasources da nossa aplicação.
  • Plugins: Contém os pacotes de plug-ins.
  • Tmp: Esta pasta é onde o CakePHP armazena os arquivos temporários. Os dados atuais são armazenados onde tenhamos configurado o CakePHP, mas esta pasta normalmente é usada para guardar a descrição dos modelos, logs e outras informações como as das sessões.
  • Vendors: Qualquer classe ou biblioteca de terceiros deve ser armazenada aqui. Para fazer um acesso rápido é fácil, use a função vendors(). Podemos achar que esta pasta é redundante, já que possuímos uma pasta com o mesmo nome no nível superior da estrutura. Porém, vemos diferenças entre estas duas pastas quando falamos sobre manipulação de múltiplas aplicações e sistemas mais complexos.
  • Views: Os arquivos para apresentação devem ser armazenados nesta pasta, elementos, páginas de erro, ajudantes, layouts e arquivos de visão.
  • Webroot: No modo desenvolvimento, esta pasta deve servir como a pasta raiz da nossa aplicação. Dentro desta pasta são guardados os arquivos públicos, como estilo CSS, JavaScript.

CONFIGURAÇÕES

Mesmo o CakePHP, sendo focado em convenção ao invés de configuração, o CakePHP pode ter seu comportamento alterado através de alguns arquivos de configuração, que se encontram disponíveis na pasta “app/confing”.

Arquivos da pasta app/Config

CONVENÇÕES

O CakePHP privilegia convenções ao invés de configurações. Isso significa que seguindo as convenções estabelecidas, o CakePHP fará muito por nós. Porém não somos obrigados a seguirmos as convenções, mas perderemos muito com isso, pois teremos que fazer algumas coisas que com as convenções, já estariam prontas.

Apesar de levarmos um pouco de tempo para aprendermos as convenções do CakePHP, nós ganharemos tempo em um longo processo: seguindo as convenções, nós ganhamos funcionalidades gratuitamente e evitamos de passarmos madrugadas fazendo manutenção de arquivos de configuração. Convenções também fazem com que o sistema fique uniformemente desenvolvido, permitindo que outros desenvolvedores nos ajudem mais facilmente, já que segue um padrão de trabalho.

Convenções no CakePHP têm sido produzidas por anos de experiências em desenvolvimento web e boas práticas. Apesar da recomendação de usarmos essas convenções enquanto desenvolvemos em CakePHP, é importante sabermos também que muitos desses princípios podem ser facilmente sobrescritos – algo que especialmente acontece quando trabalha-se com sistemas legados.

Instalando e configurando o CAKEPHP

A história do PHP

Histórico do PHP (Pré processador de HTTP)

O Php foi criado em 1994 por Rasmus Lerdof, que a principio era formada por um conjunto de scripts voltados a criação de páginas dinâmicas, onde ele utilizava para monitorar o acesso ao seu currículo na internet.

À medida que o PHP foi crescendo em funcionalidades, Rasmus teve de escrever uma implementação em C, a qual permitia que as pessoas desenvolvessem de forma simples suas aplicações para a web, Rasmus nomeou a versão do PHP e decidiu disponibilizar seu código na web em 1995, para compartilhar com outras pessoas, bem como receber ajuda para correção de bugs.

Em novembro de 1997 foi lançada a segunda versão do PHP. Logo em seguida estudantes que utilizavam php em um projeto acadêmico de comercio eletrônico, resolveram ajudar Rasmus a reescreverem todo o código – fonte, com base no PHP/FI 2, dando então o inicio do PHP 3 que foi disponibilizado em junho de 1998.

Principais Características do PHP 3

  • Extensibilidade (a possibilidade de conexão com vários bancos de dados);
  • Novos Protocolos;
  • Sintaxe mais consistente;
  • Suporte a orientação a objetos e uma nova API  (que possibilitava a criação de novos módulos e que acabou de atrair vários desenvolvedores PHP)

Referencial Teórico: PHP Programando com Orientação a Objetos

Instalando o Ruby on Rails no Windows

Para instalar o Ruby on Rails no windows 7 segue  vídeo do blog enfaTIzando – Dicas – Programação, Web, Ajax, Oracle, Redes