# data[].attributes.body
Pra quem quiser aprender HTML, CSS, ou outra coisa

# data[].attributes.attachment_link.readable_text
"Parabéns professor, vc e sua equipe fazem um trabalho maravilhoso e de ótima qualidade. Patrocínio merecido. Espero que outras empresas siga o exemplo do youtube e da Hostnet e patrocinem o canal cada vez mais. Foi através do seu canal que me apaixonei pela programação. Obrigado por tudo!"

# data[].attributes.attachment_link.title
Curso em Vídeo - Aprenda informática com cursos grátis.

# data[].attributes.attachment_link.description
"Parabéns professor, vc e sua equipe fazem um trabalho maravilhoso e de ótima qualidade. Patrocínio merecido. Espero que outras empresas siga o exemplo do youtube e da Hostnet e patrocinem o canal cada vez mais. Foi através do seu canal que me apaixonei pela programação. Obrigado por tudo!"

# data[].attributes.attachment_link.description
O elemento HTML select (select) representa um controle que apresenta um menu de opções. As opções dentro do menu são representadas pelo elemento option , que podem ser agrupados por elementos optgroup . As opções podem ser pré-selecionadas para o usuário.

# data[].attributes.attachment_link.description
O elemento HTML Datalist ( datalist ) contém um conjunto de elementos option que representam as opções possíveis para o valor de outros controles.

# data[].attributes.attachment_link.title
PHP: Funções definidas pelo usuário - Manual

# data[].attributes.attachment_link.description
Todas as funções e classes no PHP tem escopo global - elas podem ser chamadas fora de uma função mesmo que tenham sido definidas dentro e vice-versa.

# data[].attributes.attachment_link.description
O elemento HTML a (ou o Elemento Ancora HTML define uma hiperligação ( hyperlink ), o destino de uma hiperligação, ou ambos.

# data[].attributes.attachment_link.description
O elemento HTML ul (ou elemento HTML de Lista desordenada ) representa uma lista de itens sem ordem rígida, isto é, uma coleção de itens que não trazem uma ordenação numérica e as suas posições, nessa lista, são irrelevantes.

# data[].attributes.attachment_link.description
O propósito da declaração while é simples. Ele dirá ao PHP para executar as declarações aninhadas repetidamente, enquanto a expressão do while forem avaliadas como .

# data[].attributes.attachment_link.description
For newbies like me. Creating new arrays:- //Creates a blank array. $theVariable = array(); //Creates an array with elements. $theVariable = array("A", "B", "C"); //Creating Associaive array. $theVariable = array(1 => "http//google.com", 2=> "http://yahoo.com"); //Creating Associaive array with named keys $theVariable = array("google" => "http//google.com", "yahoo"=> "http://yahoo.com"); Note: New value can be added to the array as shown below.

# data[].attributes.attachment_link.description
Um array no PHP é na verdade um mapa ordenado. Um mapa é um tipo que relaciona valores a chaves. Este tipo é otimizado para várias usos diferentes: ele pode ser tratado como um array, uma lista (vetor), hashtable (que é uma implementação de mapa), dicionário, coleção, pilha, fila e provavelmente mais.

# data[].attributes.attachment_link.description
If you want to avoid calling exit() in FastCGI as per the comments below, but really, positively want to exit cleanly from nested function call or include, consider doing it the Python way: define an exception named `SystemExit', throw it instead of calling exit() and catch it in index.php with an empty handler to finish script execution cleanly.

# data[].attributes.attachment_link.description
Worthwhile noting that the MySQLi library can still open a permanent connection, but a different command isn't used. Simply prepend "p:" to the MySQL hostname or address. Using classes: $this->mysqli = new mysqli('p:'. mysql_host, mysql_user, mysql_password, mysql_database); Using command: $link = mysqli_connect('p:mysql_host', 'mysql_user', 'mysql_password', 'mysql_database');

# data[].attributes.attachment_link.readable_text
Declaração CREATE TABLE - criando tabelas no MySQL

Para criar tabelas, usamos o comando CREATE TABLE. Veja a sintaxe abaixo::

CREATE TABLE [IF NOT EXISTS] nome_tabela (       coluna tipo_dados constraints)

Note que precisamos especificar, além do nome da tabela, os nomes das colunas que a comporão e também seus respectivos tipos de dados.

Tipos de Dados no MySQL

A tabela abaixo resume os tipos de dados mais comuns no MySQL, que podem ser usados na criação de tabelas, para estabelecer o tipo de cada coluna:

INT

Inteiros entre -2,147,483,648 e 2,147,483,647

TINYINT

Números inteiros de -128 a 127

SMALLINT

Números inteiros de -32768 a 32767

MEDIUMINT

Números inteiros de -8388608 a 8388607

BIGINT

Números entre -9,223,372,036,854,775,808 e 9,223,372,036,854,775,807

DECIMAL(M,D)

Ponto decimal com M dígitos no total (precisão) e D casas decimais (escala); o padrão é 10,0; M vai até 65 e D até 30.

FLOAT(M,D)

Ponto flutuante com precisão M e escala D; o padrão é 10,2; D vai até 24.

CHAR(M)

String que ocupa tamanho fixo entre 0 e 255 caracteres

BOOL / BOOLEAN

Valores binários 0 / 1; Na verdade, é um alias para o tipo TINYINT(1)

VARCHAR(M)

String de tamanho variável, até 65535 caracteres.

BLOB / MEDIUMBLOB/ TINYBLOB

Campo com tamanho máximo de 65535 caracteres binários; 'Binary Large Objects', são usados para armazenar grandes quantidades de dados, como imagens.

MEDIUMTEXT

Permite armazenar até 16.777.215 caracteres.

LONGTEXT

Permite armazenar até 4.294.967.295 caracteres.

DATE

Uma data de 01/01/1000 a 31/12/9999, no formato YYYY-MM-DD

DATETIME

Uma combinação de data e hora de 01/01/1000 00:00:00 a 31/12/9999 23:59:59, no formato YYYY-MM-DD HH:MM:SS

TIME

Hora apenas, no formato HH:MM:SS

YEAR(M)

Ano nos formatos de 2 ou 4 dígitos; Se forem 2 (YEAR(2)), ano vai de 1970 a 2069; para 4 (YEAR(4)), vai de 1901 a 2155. O padrão é 4.

Vamos passar agora à criação de tabelas em nosso banco de dados db_biblioteca:

Primeiro vamos criar uma tabela para os livros, de nome tbl_livro. Usaremos os códigos a seguir:

USE db_Biblioteca CREATE TABLE IF NOT EXISTS tbl_livro ( ID_Livro smallint  AUTO_INCREMENT PRIMARY KEY, Nome_Livro  Varchar(50) NOT NULL, ISBN Varchar(30)  NOT NULL, ID_Autor smallint NOT NULL, Data_Pub DATE NOT NULL, Preco_Livro DECIMAL(10,2) NOT NULL

Agora, uma tabela para armazenar dados dos autores:

E, por fim, uma tabela para armazenar dados de editoras:

CREATE TABLE tbl_editoras ( ID_Editora SMALLINT PRIMARY KEY AUTO_INCREMENT, Nome_Editora VARCHAR(50) NOT NULL

Assista agora ao vídeo sobre criação de tabelas usando SQL:

Próximo: Auto Incremento de valores em colunas

Anterior: Constraints (Restrições), Primary Key (Chave Primária), Chave Estrangeira, Default, etc.
Página inicial do Curso

# data[].attributes.attachment_link.title
Curso de MySQL - Criação de Tabelas - CREATE TABLE

# data[].attributes.attachment_link.description
Para criar tabelas, usamos o comando CREATE TABLE. Veja a sintaxe abaixo:: CREATE TABLE [IF NOT EXISTS] nome_tabela ( coluna tipo_dados constraints ) Note que precisamos especificar, além do nome da tabela, os nomes das colunas que a comporão e também seus respectivos tipos de dados.

# data[].attributes.attachment_link.description
Listado e descrição dos diferentes tipos de dados de MySQL.

# data[].attributes.attachment_link.readable_text
Exemplo bem simples de como criar um banco no Mysql utilizando o "Create Database" .

SQL necessária para criar um banco no Mysql é bem simples, segue o exemplo:

Não se esqueça de utilizar a declaração "use" após criar o banco para utiliza-lo.

Possível erro:

Caso ocorra o seguinte erro:
ERROR 1044 (42000): Access denied for user 'nome_usuario'@'localhost' to database 'nome_do_seu_banco'
É por que o usuário que você está utilizando não tem a permissão para criar o usuário.

Neste caso você deverá solicitar a permissão ao administrador do banco ou fazer o login com o usuário root.

Permissões

Para adicionar a permissão "privilégios" para um usuário utilizar o novo banco utilize:

Altere nome_do_banco e nome_usuario com os seus dados.

# data[].attributes.attachment_link.title
Create Database - Comando para criar um banco no Mysql

# data[].attributes.attachment_link.description
Exemplo bem simples de como criar um banco no Mysql utilizando o "Create Database" . SQL necessária para criar um banco no Mysql é bem simples, segue o exemplo: Não se esqueça de utilizar a declaração "use" após criar o banco para utiliza-lo.

# data[].attributes.attachment_link.description
Please do not use a pattern for email validation. Every regular expression for email validation is missing something. Lots of people gone through a process with the conclusion, that it is nearly impossible to get a perfect validation. The good part about is, we can leave this to our browser developers.

# data[].attributes.attachment_link.readable_text
Agora que já sabemos o que são tabelas e suas utilidades em HTML, vamos, de fato, colocar a mão na massa e começar a criar sites com tabelas.

Para tal,faremos uso de 3 tags básicas: <table>, <tr> e <td>, que serão estudadas e explicadas neste tutorial de nossa apostila de HTML.

<table> : Como criar uma tabela em HTML

A única tag de uso obrigatório em tabelas é: <table> </table>

Dentro das tags de abertura e fechamento table é que iremos definir nossas tabelas, sendo até possível aninhar tabelas, através do aninhamento de tags.

É dentro desta tag que iremos usar as tags tr e td para criar as linhas e colunas de nossas tabelas (assunto visto em breve, ainda neste tutorial de nosso curso).

Essa tag, junto seus mais diversos atributos, será responsável por diversas características de uma tabela em HTML para seu site, como:

definir se a tabela vai ter borda ou não

caso a tabela tenha borda, qual a espessura desta

cor de fundo

espaçamento entre células

que partes da tabela serão visíveis

etc

Espessura da borda de uma tabela - O atributo border

Inicialmente, para vermos bem claramente as linhas e colunas, vamos exibir as linhas de uma tabela.

Para isso, precisamos definir a espessura das bordas, o que é feito através do atributo border, que recebe um valor.

Assim, para uma borda fina:

Teremos algo como:

<tr> - Como criar linhas de uma tabela em HTML

Agora que já mostramos a tag table e explicamos sua importância, vamos começar a definir os elementos de uma tabela.

O primeiro elemento que criamos em uma tabela são suas linhas.

Por linha, entenda aquela parte horizontal (deitada).
Já as colunas, são os elementos verticais (em pé).

Se já tiver estudado matrizes ou usado o Microsoft Excel, certamente entenderá de cara essa classificação. E assim como no Excel, em tabelas de HTML chamamos cada elemento ou bloquinho desses, de célula.

A figura a seguir possui 4 linhas e 4 colunas, totalizando 16 células:

Na tag tr, o "t" é de table e o "r" de row, que também significa linha, ou fileira.
E cada vez que colocamos o par de tags<tr> </tr> estamos criando uma linha em nossa tabela.

Assim, o código de uma tabela com uma linha só é:

E seu efeito:

Já o código de uma tabela com duas linhas é:

E caso rodemos o código, veremos nosso site assim:

Analogamente, para uma tabela de três linhas, usamos três vezes a tag tr:

E veremos::

Note que também usamos a tag td, que será explicada a seguir.
Ela é necessária, pois trabalha em conjunto com a tr.

Cada bloquinho desse, de uma tabela, é chamado de célula.
Essas são células do corpo de uma tabela, são células, digamos, normais.

Note também que decidimos colocar um par de tags tr em cada linha do código, assim fica mais organizado e fácil de associar: cada tag representa uma linha, e pelo código HTML podemos ver qual a linha 1, a 2, a 3 etc.

<td> - Como criar linhas de uma tabela em HTML

Como já devem suspeitar, a tag td será a responsável por criar colunas em nossas tabelas.
Colunas são os elementos verticais.

No exemplo passado de código, todas nossas tabelas possuíam apenas uma coluna.

No HTML, a linha tem uma certa hierarquia em relação as colunas, pois as linhas são compostas de colunas.
Ou seja, criarmos colunas dentro de cada linhas.

Assim como as linhas, cada coluna é definida pelo par: <td> </td>
Portanto, se quisermos criar 2 colunas, colocamos duas tags dentro de cada linha, e nosso código HTML com uma linha e duas colunas é:

E o resultado seria:

Veja agora como seria o código HTML para 3 colunas:

Nossa tabela ficaria assim:

Agora vamos criar uma tabela 2x2, ou seja, duas linhas e duas colunas:

O resultado é:

E como é de se esperar, nossa tabela fica assim:

Ou seja, bem simples e sem segredo.

Células em branco em uma tabela

Nem sempre queremos preencher todas as células de uma tabela.
As vezes não precisa de dados, a informação está faltando ou esperando o usuário completar.

Para criar uma célula em branco, basta não colocar nada de texto.
Mas mesmo deixando ela em branco, é importante deixar as tags tr e td para aquela célula, como se tivesse algo dentro.

Vejamos o último exemplo de uma tabela 3x3.
Vamos retirar o elemento da linha 2 coluna 2. Nosso código fica:

A parte em branco é: <td></td>
Veja como ficou nossa tabela:

Vamos tirar todos os elementos da célula da coluna central (coluna 2):

Nossa tabela agora fica assim:

É como se a coluna do meio tivesse sumido.
Porém, dá para ver tem uma coluna ainda, mas bem fina, quase que não dá pra ver.
Em breve vamos aprender como exibir uma coluna ou linha, mesmo quando não há nada nas células.

Tabelas sem borda e alinhamento

Como vimos nos exemplos, as células ficam bem alinhadas e delimitadas pelas linhas e colunas.
É bem fácil também de se separar informações em uma tabela, por conta dos traços, da borda da tabela.

Porém, esse traço existe porque definimos uma borda com espessura 1, através do atributo border.
Mas esse atributo da tag table não é obrigatório, e se omitirmos ele, a tabela continuará existindo, com suas divisões e alinhamentos.

Vejamos como ficar o código de uma tabela sem borda (ou com borda de espessura nula):

E o efeito disso é:

Podemos, inclusive, deixar uma célula em branco.
A células da linha 2 e coluna 3:

Veja como ficou nossa tabela:

A partir desses exemplos, começamos a notar o poder das tabelas na criação de sites em HTML, pois ela faz o alinhamento de maneira perfeita e totalmente automática.

# data[].attributes.attachment_link.title
Como criar tabelas , linhas e colunas em HTML

# data[].attributes.attachment_link.description
Agora que já sabemos o que são tabelas e suas utilidades em HTML, vamos, de fato, colocar a mão na massa e começar a criar sites com tabelas. Para tal,faremos uso de 3 tags básicas: , e , que serão estudadas e explicadas neste tutorial de nossa apostila de HTML .

# data[].attributes.attachment_link.description
O elemento HTML strong dá ao texto uma forte importância, e é tipicamente mostrado em negrito.

# data[].attributes.attachment_link.readable_text
O elemento HTML representa um parágrafo. Em mídias visuais, parágrafos são representados como blocos indentados de texto com a primeira letra avançada e separados por linhas em branco. Já em HTML, parágrafos são usados para agrupar conteúdos relacionados de qualquer tipo, como imagens e campos de um formulário.

Parágrafos são Elementos block-level, e fecharão automaticamente caso outro Elemento block-level inicie antes da tag de fechamento </p>. Veja "Omissão de tag" abaixo.

BCD tables only load in the browser
with JavaScript enabled. Enable JavaScript to view data.

# data[].attributes.attachment_link.title
O elemento Parágrafo - HTML: Linguagem de Marcação de Hipertexto | MDN

# data[].attributes.attachment_link.description
O elemento HTML representa um parágrafo. Em mídias visuais, parágrafos são representados como blocos indentados de texto com a primeira letra avançada e separados por linhas em branco. Já em HTML, parágrafos são usados para agrupar conteúdos relacionados de qualquer tipo, como imagens e campos de um formulário.

# data[].attributes.attachment_link.description
O elemento HTML quebra-de-linha br produz uma quebra de linha em um texto (carriage-return).É útil para escrever poemas ou um endereço, onde a divisão de linha é significante.

# data[].attributes.attachment_link.description
Elementos de cabeçalho são implementados em seis níveis, h1 é o mais importante e h6 é o de menor importância. Um elemento de cabeçalho descreve brevemente o tópico da seção em que ele está. As informações de cabeçalho podem ser usadas por agentes de usuário, por exemplo, para construir uma tabela de conteúdos para um documento automaticamente.

# data[].attributes.attachment_link.description
elseif, as its name suggests, is a combination of if and else. Like else, it extends an if statement to execute a different statement in case the original if expression evaluates to . However, unlike else, it will execute that alternative expression only if the elseif conditional expression evaluates to .

# data[].attributes.attachment_link.description
Bit shifting in PHP is arithmetic. Bits shifted off either end are discarded. Left shifts have zeros shifted in on the right while the sign bit is shifted out on the left, meaning the sign of an operand is not preserved.

# data[].attributes.attachment_link.description
Se comparar um número com uma string ou com strings numéricas, cada string é convertido para um número e então a comparação é realizada numericamente. Essas regras também se aplicam a instrução switch. As conversões de tipo não são realizadas quando a comparação utilizada é === ou !== por esse tipo de comparação envolver valores e tipos.

# data[].attributes.attachment_link.description
Como descrito na seção sobre expressões, expressões são avaliadas por seus valores Booleanos. Se uma expressão for avaliada como , o PHP executará a declaração, e se avaliá-la como - ignorá-la. Mais informações sobre quais valores são avaliados como pode ser encontrada na seção'Conversão para booleano' .

# data[].attributes.attachment_link.readable_text
O HTML5 trouxe diversas possibilidades e, principalmente facilidades para os desenvolvedores. Uma delas é relacionada a validação de formulários. O que antes era feito com algum tempo e JavaScript, hoje pode ser feito diretamente no HTML e em um tempo muito menor. Por isso, navegando pela internet achei no SitePoint esse artigo do Agbonghama Collins, um desenvolvedor nigeriano, que escreveu de forma rápida e direta alguns pontos da validação de formulários utilizando HTML5 e, resolvi traduzi-lo para nós.

-

Quando contruímos aplicações web, é importante levarmos a segurança a sério, especialmente quando essa precisa coletar dados dos usuários.

Não confiar em ninguém, é uma norma máxima de segurança, portanto, nunca confie que o usuário vá inserir valores corretos e válidos no formulário. Por exemplo, em um campo de e-mail, em vez de inserir um endereço de e-mail válido, o usuário pode digitar um e-mail inválido ou dados mal-intencionados, obviamente, ignorando a indicação da requisição do campo.

Quando se trata de validar valores de campos de formulários, isso pode ser feito no lado do cliente (navegador) e no lado do servidor (usando a linguagem que preferir).

No passado, validações no client-side só podiam ser feitas usando JavaScript ou algumas bibliotecas de frameworks (como o plugin jQuery validation). Mas isso está mudando, ou melhor, já mudou, porque a validação agora pode ser feita usando HTML5, sem a necessidade de escrever um código complexo de JavaScript para isso.

Validação de formulário com HTML5

HTML5 inclui um mecanismo bastante sólido na validação de formulários com base nos atributos da tag input: type, pattern e require. Graças a esses novos atributos, você pode delegar algumas funções de verificação de dados para o navegador.

Vamos examinar esse atributos para ver como eles podem nos ajudar na validação de um formulário.

O atributo type

Esse atributo indica o tipo de controle de entrada de dados como o popular <input type="text"> para manipulação de dados de texto simples.

Alguns controles de formulários herdam sistemas de validação sem a necessidade de escrever qualquer código. Por exemplo, <input type="email"> valida o campo para garantir que o dado digitado seja de fato um endereço de e-mail válido. Se o campo tiver um dado inválido, o formulário não vai poder ser submetido até que esse erro seja corrigido.

Teste o exemplo nesse link digitando um endereço de e-mail válido ( Link do CodePen original).

Há também o <input type="number">, <input type="url"> e <input type="tel"> para validar números, URLs e telefones respectivamente.

Nota: Os formatos de números de telefone variam de país para país devido à inconsistência nos tamanhos e formatos. Como resultado, a especificação não define um algoritmo para validá-los, portanto não é suportado nos navegadores web no momento da escrita.

Lembre-se, a validação pode ser feita para o campo telefone em conjunto com o atributo pattern que aceita uma expressão regular, e que veremos a seguir.

O atributo pattern

O atributo pattern vai deixar os desenvolvedores felizes, principalmente aqueles que trabalham com front-end. Este atributo especifica um formato (na forma de expressão regular do JavaScript) em que o valor do campo é testado.

Expressões regulares são uma linguagem usada para analisar e manipular texto. Elas são frequentemente utilizadas para executar operações complexas de search-and-replace, e para garantir que os dados de texto estão corretos.

Hoje em dia, as expressões regulares estão incluídas na maioria das linguagens de programação, assim como em muitas linguagens de script, editores, aplicações, bancos de dados e ferramentas de linha de comando.

Expressões regulares ( RegEX) oferecem um poderoso, conciso e flexível meio para encontrar string ou textos com caracteres particulares, palavras ou padrões de caracteres.

Ao passarmos uma string RegEX como valor para o atributo pattern, conseguimos definir qual valor é aceitável pelo campo do formulário e também informar ao usuário de possíveis erros.

Vamos ver alguns exemplos de como usar expressões regulares para validação de dados em campos de formulário.

Números de telefone

Como mencionado, o input tel não é totalmente suportado pelos navegadores web devido à inconsistência no formato dos números de telefone em diferentes países.

Por exemplo, no meu país, a Nigéria, o formato do telefone é xxxx-xxx-xxxx, que seria algo como 0803-555-8205.

A RegEX ^\d{4}-\d{3}-\d{4}$ corresponde ao formato, portanto, o HTML ficaria assim:

<label for="phonenum">Número de telefone:</label>
<input pattern="^\d{4}-\d{3}-\d{4}$" type="tel">

Veja aqui um exemplo. ( Link do CodePen original).

Valores alfanuméricos

O exemplo a seguir corresponde a caracteres alfanuméricos (combinações de letras do alfabeto e números).

<input pattern="[a-zA-Z0-9]+" type="text">

Veja aqui um exemplo. ( Link do CodePen original).

Usuário do twitter

Essa expressão regular corresponde a um usuário do Twitter com o símbolo @. Por exemplo: @tech3sky

<input pattern="^@[A-Za-z0-9_]{1,15}$" type="text">

Veja aqui um exemplo. ( Link do CodePen original).

Modo de cor HEX

Esse corresponde a cores hexadecimais. Por exemplo #3b5998 ou #000.

<input pattern="^#+([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$" type="text">

Veja aqui um exemplo. ( Link do CodePen original).

Dando algumas dicas

Para fornecer ao usuário uma descrição da pattern, ou um erro reportando que o valor inserido está inválido, você pode utilizar o atributo title, dessa maneira:

Veja aqui um exemplo. ( Link para o CodePen original).

Se você é novo com expressões regulares, você pode consultar esse documento no WebPlatform para lhe dar uma ajuda inicial. No entanto, na maioria dos casos, você pode usar o Google para ajudar a procurar a expressão regular que você quer, ou até mesmo utilizar uma ferramenta para ajudá-lo.

O atributo required

Esse é um atributo booleano usado para indicar que um determinando campo de formulário é obrigatório para o envio do mesmo. Ao adicionar esse atributo a um campo de formulário, o navegador obriga o usuário a inserir dados naquele campo antes de enviar o formulário.

Essa validação substitui a validação básica de formulário implementada com JavaScript, tornando as coisas um pouco mais úteis e nos poupando algum tempo de desenvolvimento.

Exemplo: <input name="my_name" required="" type="text"> ou <input name="my_name" required="required" type="text"> para compatibilidade XHTML.

Todos os links de exemplos acima utilizam o atributo required, assim você pode testá-los tentando submetê-los sem digitar nada nos campos.

Resumo

O suporte dos navegadores para as features de validação de formulários é bem grande, e você pode utilizar polyfills quando necessário.

Vale a pena lembrar que confiar apenas no navegador ( client-side) para a validação pode ser perigoso, pois isso pode ser contornado por um usuário mal-intencionado ou por bots.

Nem todos os navegadores suportam HTML5 e nem toda entrada de texto enviada para seu script virá do formulário. Isso significa que validação do lado do servidor também deve estar antes do envio dos dados para o processamento do servidor.

-

Texto traduzido e adaptado do artigo escrito pelo Agbonghama Collins em 06 de junho de 2014. Tradução autorizada pelo autor.

Dei um _fork_ em todos os exemplos do CodePen colocando o texto em português, mas mantive os links para os originais também.

Qualquer erro ou sugestão de melhoria na tradução, é bem vinda! 🙂

# data[].attributes.attachment_link.description
O HTML5 trouxe diversas possibilidades e, principalmente facilidades para os desenvolvedores. Uma delas é relacionada a validação de formulários. O que antes era feito com algum tempo e JavaScript, hoje pode ser feito diretamente no HTML e em um tempo muito menor.

# data[].attributes.attachment_link.description
Este guia tem uma série de artigos que vão ajudar você a ficar craque em HTML forms.

# data[].attributes.attachment_link.title
Curso HTML5 e CSS - Como criar formulários em HTML5 - form, input, button, textarea, label - Leandro Guarino - Curso de Grails e Groovy, Vídeo-aulas gratuitas de Programação

# data[].attributes.attachment_link.description
Se você está começando, vou explicar de uma maneira bem grosseira: HTML5 é para colocar as coisas na página, CSS é para deixar bonito. Ou seja, HTML5 separa os elementos da interface em seções, tabelas, formulários, parágrafos, etc., enquanto a linguagem CSS formata esses elementos com cores, bordas, espaçamento, etc.

# data[].attributes.attachment_link.readable_text
Um formulário de contato em seu site facilita a comunicação de seus clientes e pessoas que têm interesse em seu negócio. Sua implementação é bastante simples, mas você precisa ter alguns cuidados para que tudo ocorra bem na configuração do formulário.

💡 Confira outros exemplos de formulários de contato em outras linguagens como HTML e ASP.
Acesse a categoria: Formulários de envio de email.

No exemplo desta página, trataremos a configuração de um formulário escrito em PHP.
O script abaixo possui apenas o código básico para funcionamento, caso desejar adequar ao template do seu site, precisará de conhecimento em HTML e CSS.

Formulário de contato em PHP
Para que o formmail abaixo funcione, você precisa alterar dois itens em sua configuração:
$email_remetente - Nesta linha você deve inserir uma conta de email ativa do seu próprio domínio.
$email_destinatario - Nesta linha você deve definir o email que irá receber as mensagens vindas do formulário.

Importante: O formulário de contato somente funcionará se $email_remetente for definido com uma conta de email ativa em seu domínio.

O intuito deste tutorial é mostrar a parte de PHP do formulário, quanto ao CSS você pode modificar como desejar.

# data[].attributes.attachment_link.title
Como criar um formulário de contato em seu site em PHP - Central de Ajuda KingHost

# data[].attributes.attachment_link.description
Um formulário de contato em seu site facilita a comunicação de seus clientes e pessoas que têm interesse em seu negócio. Sua implementação é bastante simples, mas você precisa ter alguns cuidados para que tudo ocorra bem na configuração do formulário.

# data[].attributes.attachment_link.description
Just a note, because I didn't know for sure until I tested it.

# data[].attributes.attachment_link.readable_text
Operadores de String

Há dois operadores de string. O primeiro é o operador de concatenação ('.'), que retorna a concatenação dos seus argumentos direito e esquerdo. O segundo é o operador de atribuição de concatenação ('.='), que acrescenta o argumento do lado direito no argumento do lado esquerdo. Veja em Operadores de Atribuição para mais informações.

Veja também as seções do manual sobre o tipo String e as funções de manipulação de Strings.

# data[].attributes.attachment_link.description
Há dois operadores de string. O primeiro é o operador de concatenação ('.'), que retorna a concatenação dos seus argumentos direito e esquerdo. O segundo é o operador de atribuição de concatenação ('.='), que acrescenta o argumento do lado direito no argumento do lado esquerdo. Veja em Operadores de Atribuição para mais informações.

# data[].attributes.attachment_link.description
Nomes de variável seguem as mesmas regras como outros rótulos no PHP. Um nome de variável válido inicia-se com uma letra ou sublinhado, seguido de qualquer número de letras, números ou sublinhados. Em uma expressão regular, poderia ser representado assim: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

# data[].attributes.attachment_link.readable_text
About

phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB. Frequently used operations (managing databases, tables, columns, relations, indexes, users, permissions, etc) can be performed via the user interface, while you still have the ability to directly execute any SQL statement.

phpMyAdmin comes with a wide range of documentation and users are welcome to update our wiki pages to share ideas and howtos for various operations. The phpMyAdmin team will try to help you if you face any problem; you can use a variety of support channels to get help.

phpMyAdmin is also very deeply documented in a book written by one of the developers - Mastering phpMyAdmin for Effective MySQL Management, which is available in English and Spanish.

To ease usage to a wide range of people, phpMyAdmin is being translated into 72 languages and supports both LTR and RTL languages.

phpMyAdmin is a mature project with a stable and flexible code base; you can find out more about the project and its history and the awards it earned. When the project turned 15, we published a celebration page.

The phpMyAdmin project is a member of Software Freedom Conservancy. SFC is a not-for-profit organization that helps promote, improve, develop, and defend Free, Libre, and Open Source Software (FLOSS) projects.

Features

Intuitive web interface

Support for most MySQL features:

browse and drop databases, tables, views, fields and indexes

create, copy, drop, rename and alter databases, tables, fields and indexes

maintenance server, databases and tables, with proposals on server configuration

execute, edit and bookmark any SQL-statement, even batch-queries

manage MySQL user accounts and privileges

manage stored procedures and triggers

Import data from CSV andSQL

Administering multiple servers

Creating graphics of your database layout in various formats

Creating complex queries using Query-by-example (QBE)

Searching globally in a database or a subset of it

Transforming stored data into any format using a set of predefined functions, like displaying BLOB-data as image or download-link

And much more...

# data[].attributes.attachment_link.description
phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB. Frequently used operations (managing databases, tables, columns, relations, indexes, users, permissions, etc) can be performed via the user interface, while you still have the ability to directly execute any SQL statement.

# data[].attributes.attachment_link.title
XAMPP Installers and Downloads for Apache Friends

# data[].attributes.attachment_link.description
XAMPP is an easy to install Apache distribution containing MariaDB, PHP and Perl.

# data[].attributes.attachment_link.description
WampServer est une plate-forme de développement Web sous Windows pour des applications Web dynamiques à l'aide du serveur Apache2, du langage de scripts PHP et d'une base de données MySQL.

# data[].attributes.attachment_link.description
MySQL Cluster is a real-time open source transactional database designed for fast, always-on access to data under high throughput conditions. MySQL Cluster MySQL Cluster Manager Plus, everything in MySQL Enterprise Edition Learn More " Customer Download " (Select Patches & Updates Tab, Product Search) Trial Download "

# data[].attributes.attachment_link.title
Download - The Apache HTTP Server Project

# data[].attributes.attachment_link.description
Add-in modules for Apache 2.0 are not compatible with Apache 2.2. If you are running third party add-in modules, you must obtain modules compiled or updated for Apache 2.2 from that third party, before you attempt to upgrade from these previous versions. Modules compiled for Apache 2.2 should continue to work for all 2.2.x releases.

# data[].attributes.body
Privilegiar a Segurança da Informação
Privilegiar a Acessibilidade, Usabilidade, Mobilidade
Privilegiar a Interação entre Pessoas
Privilegiar Conteúdo Confiável
Privilegiar a Livre Expressão

# data[].attributes.attachment_link.description
Add Zack on Google+ https://plus.google.com/108801896271358175231/about Watch all the Google Search Stories and submit your own at http://www.youtube.com/searchstories Zack Matere, a farmer in Soy, Kenya, searched for a way to save his dying crops. What he discovered was a desire to help local farmers and businesses access information.

# data[].attributes.attachment_link.readable_text
Apenas dois anos depois de lançar seu primeiro curso HTML5 no W3Cx , o World Wide Web Consortium (W3C) anunciou que ultrapassou seus objetivos de inscrição com quase 400.000 estudantes de cada país participante de seus HTML5 e CSS MOOCs Massive Open Online Courses). O W3Cx é o resultado de uma parceria bem sucedida com a edX, a principal plataforma de aprendizagem online sem fins lucrativos do mundo, fundada pela Universidade de Harvard e MIT. Agora o W3Cx oferta novos treinamentos para desenvolvedores Web.
Leia o release completo.
No dia 04 de Abril, Sir Tim Berners-Lee, criador da Web e diretor do W3C recebeu o Prêmio Turing Award, considerado o Nobel da Computação. O prêmio é reconhecido como a mais alta distinção na Ciência da Computação. Sir Tim recebeu o prêmio por inventar a World Wide Web, o primeiro navegador web e os protocolos fundamentais que permitiram a Web evoluir para a dimensão que possui hoje.
Leia o release completo.
O Grupo de Trabalho de Web Cryptography publicou uma recomendação do W3C da Web Cryptography API. Esta especificação descreve uma API JavaScript para a execução de operações criptográficas básicas em aplicações Web, como hashing, geração de assinatura e verificação, criptografia e descriptografia. Além disso, descreve uma API para aplicativos para gerar e / ou gerenciar o material de chaveamento necessário para executar essas operações. Os usos para esta API variam de autenticação de usuário ou serviço, assinatura de documento ou código e a confidencialidade e integridade das comunicações.

Leia o documento completo (em inglês).

O documento Boas Práticas para Publicação de Dados na Web, em inglês Data on the Web Best Practices ( DWBP), será publicado como recomendação e está agora em fase final para aprovação dos membros do W3C.

Leia o release completo.

W3C Destaques 2017: Telecomunicações na Web

A agenda do W3C continua apoiando importantes desafios e oportunidades que surgem no setor de telecomunicações. Um primeiro marco importante para o trabalho referente à WebRTC foi alcançado em maio, com a publicação na qualidade de Candidata à Recomendação do getUserMedia, uma das duas principais APIs por trás da tecnologia WebRTC.

Leia o release completo.

Em entrevista para o portal Dinheiro Vivo, de Portugal, Jeff Jaffe comenta sobre os trabalhos do grupo de Web Payments e a padronização para os pagamentos na Web.

Leia a notícia completa (site externo).

Mais de 550 especialistas em tecnologias Web se reuniram em Lisboa, Portugal, esta semana, para discutir os desafios e as novas oportunidades para o futuro do roteiro técnico da Web e trabalhos de padronização.

Leia o release completo.

Inscrições para participar do Prêmio de Acessibilidade encerram hoje

A Conferência Web W3C Brasil 2016 já tem data e palestrantes confirmados. O evento acontece nos dias 13 e 14 de outubro, no Centro de Convenções Rebouças, em São Paulo.

O evento já tem dois keynote speakers confirmados: Bert Bos, o inventor do CSS e Dave Raggett, líder do grupo de Web das Coisas no W3C.

As inscrições para o evento estão abertas. Informações sobre como participar estão disponíveis em http://conferenciaweb.w3c.br/
Acesse o teaser do evento
No dia 27 de julho o W3C Brasil em parceria com a TeachLeap, irá realizar o evento "Tecnologia, Negócios e Cidadania no fomento a inclusão financeira", em São Paulo, SP.

O evento irá contar com especialista de inovação e do mercado financeiro para discutir como a tecnologia está impactando a vida financeira das pessoas através da descentralização, edução e sistemas de pagamentos por meio de novos modelos de negócios e novas tecnologias baseadas em confiança e descentralização.

As inscrições são gratuitas, mas as vagas são limitadas: http://www.meetup.com/pt-BR/Fullstack-Developers-Sao-Paulo/events/231334909/

Chamada para submissão de propostas de atividades do tipo palestras relâmpago, performance teatral, música, lançamento de livros, desafios, demo, tutorial, jogos e quaisquer outras atividades inovadoras para a Conferência Web.br 2016, do W3C Brasil.

O W3C Brasil realizará a Conferência Web.br nos dias 13 e 14 de outubro de 2016, no Centro de Convenções Rebouças, em São Paulo e irá selecionar atividades que farão parte da programação do evento.
Leia a nota completa
O W3C Brasil lança hoje o segundo fascículo da Cartilha de Acessibilidade na Web, que aborda temas relacionados aos benefícios, legislação e diretrizes de acessibilidade na Web.

O fascículo aponta os diversos benefícios para as empresas que tem um site acessível, bem como os benefícios que os usuários tem ao navegar por um sistema sem barreiras de acesso. Também são apresentadas as principais leis que abordam a questão da acessibilidade na Web e as principais diretrizes técnicas para tornar a Web mais acessível.
Leia o segundo fascículo da Cartilha de Acessibilidade na Web do W3C Brasil
Em 2016, a quarta edição do Prêmio de Acessibilidade na Web - o Todos@Web - reconhecerá, no palco dos Jogos Paralímpicos Rio 2016, iniciativas que tornam a Web mais acessível.

Promovido pelo Centro de Estudos sobre Tecnologias Web ( Ceweb.br) do Núcleo de Informação e Coordenação do Ponto BR ( NIC.br) e pelo Comitê Gestor da Internet no Brasil ( CGI.br), a ação conta este ano com a parceria da Prefeitura do Rio de Janeiro, por meio da Empresa Olímpica Municipal (EOM), e apoio do escritório brasileiro do World Wide Web Consortium (W3C Brasil).

A cerimônia de premiação acontecerá no Rio de Janeiro, no dia 15 de setembro de 2016, no Rio Media Center, o centro de mídia da Prefeitura do Rio, que receberá a imprensa durante os Jogos Olímpicos e Paralímpicos Rio 2016. Além da entrega dos prêmios e da apresentação dos melhores projetos, serão promovidos workshops com especialistas e haverá a participação de atletas paralímpicos.
As inscrições estão abertas até o dia 9 de junho. Participe! Leia a nota completa
O Consórcio World Wide Web (W3C) e o International Digital Publishing Forum (IDPF) anunciaram hoje o interesse mútuo em unir esforços de suas respectivas organizações para acelerar o desenvolvimento de tecnologias Web para o mercado editorial no contexto da Plataforma Aberta da Web.

Tim Berners-Lee, inventor da Web e Diretor do W3C e Bill McCoy, diretor executivo do IDPF, revelaram os planos logo após o discurso de abertura de Berners-Lee no IDPF Digicon, na Book Expo America 2016, em Chicago, Illinois, EUA.
Leia a nota completa
Esta nota fornece informações básicas sobre o Consórcio World Wide Web (W3C), esclarece as definições e atividades atuais sobre o trabalho em HTML e Extensões de Mídia Criptografada (EME) no W3C e corrige equívocos sobre "EME colocando DRM em HTML".

Essa nota no seu original em inglês está pública desde domingo, 20 de março, e pode ser atualizada a qualquer momento para adicionar esclarecimentos ou mais informações.
Leia a nota completa
W3C lança projeto de Autenticação na Web com base nas especificações da FIDO Alliance, visando uma alternativa mais segura e flexível às senhas de logins na Web

Fevereiro de 2016 - Ao reconhecer o papel vital da autenticação forte para tornar a navegação na Web segura para todos, o World Wide Web Consortium (W3C) anunciou hoje que lançará um novo esforço de padronização referente à Autenticação na Web, que oferecerá uma alternativa mais segura e flexível aos logins baseados em senhas.

Leia o release completo

Representantes do W3C receberam o Prêmio Emmy, dia 8 de janeiro, durante a Consumer Electronics Show (CES) in Las Vegas.

W3C é reconhecido pelo trabalho com o padrão Timed Text Markup Language.

Leia o release completo

Estão abertas as inscrições para a nova edição do Prêmio Nacional de Acessibilidade na Web, organizado pelo Ceweb.br, NIC.br e CGI.br em parceria com o W3C Brasil. Se você tem um projeto web acessível, um website ou um sistema que não cria barreiras de acesso para pessoas com deficiência, ou desenvolveu um aplicativo ou tecnologia assistiva que possibilita que pessoas com deficiência consigam acessar a Web, inscreva seu projeto. O Todos@web é mais do que uma premiação: É o reconhecimento pelo esforço e trabalho de tornar a Web mais acessível para todos. Participe! As inscrições estão abertas!

Maiores informações estão disponíveis no site http://premio.ceweb.br/

Curso Online do W3C: melhores práticas em aplicações de Mobile Web. Aproveite o prazo para inscrições com valores promocionais: até 9 de janeiro de 2012.
Inteiramente baseado nos padrões web, o curso online (em inglês) buscará atender designers, desenvolvedores e produtores de conteúdo oferecendo familiaridade necessária com projetos de aplicações web que necessitam também estarem pronto para Web Mobile. O início do curso está programado para 30 de janeiro de 2012 e tem duração de 8 semanas. Informações detalhadas podem ser acessadas no url http://www.w3devcampus.com/mobile-web-and-application-best-practices-training/.

A equipe brasileira São Paulo Perl Mongers foi a grande vencedora do primeiro desafio "Desarrollando América Latina", que aconteceu nos dias 3 e 4 de dezembro. A disputa simultânea envolveu dezenas de equipes em seis países para desenvolver aplicações utilizando dados abertos durante 30 horas consecutivas.

# data[].attributes.attachment_link.description
Apenas dois anos depois de lançar seu primeiro curso HTML5 no W3Cx , o World Wide Web Consortium (W3C) anunciou que ultrapassou seus objetivos de inscrição com quase 400.000 estudantes de cada país participante de seus HTML5 e CSS MOOCs Massive Open Online Courses).

# data[].attributes.attachment_link.description
The World Wide Web Consortium (W3C) develops standards and guidelines to help everyone build a web based on the principles of accessibility, internationalization, privacy and security.

# data[].attributes.body
Tudo flui melhor quando cada camada está bem separada e definida no projeto. Isso não deveria ser novidade para ninguém, mas não custa nada relembrar. =)

# data[].attributes.attachment_link.description
Separar a VIEW do MODEL e não misturar as regras de negócio com os CONTROLERs há muito tempo já fazem parte das preocupações e boas práticas adotadas pelos p...

# data[].attributes.body
As três camadas... A camada de apresentação cuida da interação entre o usuário e o software. Pode ser tão simples quanto um sistema de linha de comando, ou um cliente rico com interface gráfica ou ainda um sistema baseado em navegadores de Internet. As responsabilidades primárias da camada de apresentação são exibir a informação para o usuário e interpretar os comandos emitidos pelo usuário em ações para as camadas de domínio e de dados.A camada de dados cuida de toda interação com SGBDs e outras fontes de dados. Pode ser um monitor de transações, outras aplicações, sistemas de mensagens e assim por diante. Para a maior parte das aplicações corporativas, a fonte de dados é um banco de dados cuja responsabilidade é a persistência de dados não voláteis.A camada de lógica de domínio, também chamada de camada de negócio, cuida das necessidades da aplicação no domínio em que ela se insere. Envolve cálculos baseados em dados digitados e em informações armazenadas, validação de informações vindas da camada de apresentação, e qual fonte de dados deve ser acionada, baseado em comandos recebidos do usuário.   Camada          Responsabilidades Apresentação: Provisionamento de serviços, exibição de informações  Domínio / Negócio: Lógica particular ao sistema   Dados: Comunicação com bancos de dados, sistemas de mensagens, monitores de transação

# data[].attributes.attachment_link.description
A noção de camadas ganhou destaque na década de 90, com o surgimento de sistemas cliente/servidor. O cliente mantinha a interface de usuário e outros códigos da aplicação. O servidor tipicamente era um banco de dados relacional.

# data[].attributes.body
A Internet é uma enorme rede de computadores interligados em escala mundial. A idéia de interligar computadores não é recente, pois na década de 60, nos Estados Unidos já havia a intenção de conectar computadores.

Naquela época, a Guerra Fria estava ficando cada vez mais quente, por isso, o Governo estadunidense precisava que as trocas de informações entre bases militares fossem mais seguras. Em decorrência desta necessidade, surgiu a ARPANET (Advanced Research Projects Agency Network), considerada a mãe da Internet.

Este projeto consistia em realizar a interconexão dos computadores existentes através de um sistema conhecido como comutação. Neste sistema, as informações eram divididas em pequenos “pacotes” que continham trecho de dados, desta forma cada computador enviava seu trecho e este, era montado no computador que havia solicitado os dados.

Como cada vez mais pessoas estavam se conectando à ARPANET, foi necessário desenvolver outra forma de comunicação que fosse mais eficiente. Um esquema denominado “Protocolo de Internet”, o TCP/IP, permitia que o fluxo das informações transitasse pela rede.

Como a Internet se tornou uma rede cada vez maior de computadores interligados, houve necessidade de dedicar alguns computadores para prover serviços à rede, enquanto os demais acessariam estes serviços. Portanto, estes computadores que proviam serviços eram denominados Servidores, enquanto ao que acessavam os serviços eram chamados de clientes.
Existem vários tipos de servidores. Os mais conhecidos são: Servidor de Fax, de arquivos, web, email, imagens, FTP. Cada um destes servidores executa uma função, por exemplo, para você visualizar esta página no Baixaki, você está utilizando o Servidor web, o qual é responsável pelo armazenamento das páginas de um site.

Para que você consiga abrir estas páginas web, você utiliza um navegador, portanto o navegador é o cliente e o site é o servidor, pois o primeiro acessa informações disponibilizadas pelo segundo. Desta forma, as redes que utilizam servidores são chamadas do tipo Cliente-Servidor

https://www.tecmundo.com.br/982-o-que-e-cliente-servidor-.htm

# data[].attributes.headline
COMO FUNCIONA A ARQUITETURA CLIENTE / SERVIDOR 

# data[].attributes.subject
COMO FUNCIONA A ARQUITETURA CLIENTE / SERVIDOR 

# data[].attributes.body
A tecnologia cliente/servidor é uma arquitetura na qual o processamento da informação é dividido em módulos ou processos distintos. Um processo é responsável pela manutenção da informação (servidores) e outros responsáveis pela obtenção dos dados (os clientes).Os processos cliente enviam pedidos para o processo servidor, e este por sua vez processa e envia os resultados dos pedidos. É no servidor que normalmente ficam os sistemas mais pesados da rede, tais como o banco de dados. As máquinas clientes são menos poderosas, pois não rodam aplicativos que requerem tantos recursos das máquinas. O importante em uma máquina em arquitetura Cliente/Servidor não é que todas as máquinas sejam do mesmo fabricante ou do mesmo tipo. O que realmente é importante, é o fato de todas as máquinas poderem se interligar pela rede, com o mesmo tipo de protocolo de acesso (TCP/IP, NetBEUI).

https://i2.wp.com/4.bp.blogspot.com/_xVuusqQvFWI/S83DmWhrrzI/AAAAAAAAAC4/NPWIkf0MYBo/s1600/ClienteServidor.png
https://arqserv.wordpress.com/2012/03/17/como-funciona-a-arquitetura-cliente-servidor/

# data[].attributes.body
Desenvolvedor front-end é o responsável que projeta as interfaces de um websites, são eles que trabalham com HTML e CSS, que serve para construir paginas web.
Já o Desenvolvedor é o responsável por dinamizar o site, através das linguagens de Programação, como: JAVA, C#, DELPHI, PHP, e muitas outras.     Ambos os papéis são muito importante, e eles possui dependência um do outro.  Afinal de contas o que adianta um layout chamativo se o site é estático, ou se o site é construído utilizando as melhores práticas de programação, contudo a sua usabilidade é fraca.
Conclusão: o Desenvolvedor front-end, fica responsável para criar a cara do site, o layout, e o Desenvolvedor back-end, fica responsável pela criação completa do site, utilizando as linguagens de programação

# data[].attributes.attachment_link.readable_text
front-end -&gt linguagem da frente! rS!! é o famoso client-side, ou seja é aquela linguagem onde o usuário, através do browser, consegue manipular os dados.

back-end -&gt linguagem de trás! é o code-behind, é aquela linguagem que está do lado do servidor, "escondida".

bom... de uma maneira bem GROTESCA, o front-end seria a interface do site (a estrutura do site), e o back-end seria a INTELIGÊNCIA/CÉREBRO do site.

por exemplo: se vc quiser fazer uma tabela... o front-end se encarregaria de modular as bordas, deixar as letras vermelhas/brancas/azuis, blablabla....
já o backe-end iria popular essa tabela.

(ps: vc pode popular a tabela com front end, e construir a estrutura da tabela no back-end (construindo javascript dinamico), porém no começo é legal ter essa 'noção')

# data[].attributes.attachment_link.title
O que é desenvolvedor front-end e back-end?

# data[].attributes.attachment_link.description
front-end -&gt linguagem da frente! rS!! é o famoso client-side, ou seja é aquela linguagem onde o usuário, através do browser, consegue manipular os dados. back-end -&gt linguagem de trás! é o code-behind, é aquela linguagem que está do lado do servidor, "escondida". bom...

# data[].attributes.attachment_link.description
Com áudio em português, apresenta a importância da classificação e análise de informações com o surgimento das novas tecnologias de informação. A tradução e dublagem do vídeo foi feita pela equipe da empresa Knowtec - Inteligência e Interatividade de Florianópolis-SC.

# data[].attributes.body
SENCA Itu

# data[].attributes.attachment_link.title
Curso Livre - Php com MySQL - Senac São Paulo

# data[].attributes.attachment_link.description
O Senac é uma das principais instituições de ensino de São Paulo, oferecendo Cursos Livres, Técnico, Graduação, Pós-graduação, Extensão e In Company.