Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais
Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Ruby On Rails ::: Dicas & Truques ::: Active Record

Introdução ao ActiveRecord do framework Ruby On Rails

Quantidade de visualizações: 8766 vezes
O Active Record fornece acesso conveniente e programático à camada de domínio de nossas aplicações. Ele é um mecanismo de armazenagem persistente que geralmente interage diretamente com o banco de dados relacional. Active Record é baseado e recebe o nome de um padrão de design definido por Martin Fowler em seu livro, Patterns of Enterprise Application Architecture (Addison-Wesley). Neste livro Fowler resume este padrão como:

"Um objeto que encapsula um registro em uma tabela ou view do banco de dados. Além disso, este objeto cuida das rotinas de acesso ao banco e adiciona lógica de domínio às informações encapsuladas."

O Active Record trabalha criando um mapeamento objeto-relacional (ORM) entre os objetos Ruby da aplicação e as linhas e colunas das tabelas no banco de dados. Este mapeamento nos permite interagir com o banco de dados da mesma forma que interagimos com os objetos Ruby, eliminando a necessidade de usar SQL para manipular os dados das tabelas. Em vez de trabalhar com registros nas tabelas, trabalhamos com objetos Ruby, e as colunas das tabelas do banco de dados passam a ser vistas como atributos destes objetos, os quais podemos ler ou escrever usando métodos de acesso.

Os benefícios da abstração do acesso direto ao banco de dados usando Active Record inclui a habilidade de mudarmos o banco de dados sempre que quisermos. Nossa aplicação não ficará dependente de apenas um banco de dados. Uma vez que os detalhes dos dados e suas formas de acesso estão incluídos no Active Record, mudar de MySQL para PostgreSQL ou SQLite será muito mais fácil.

Um modelo de domínio consiste dos dados e um conjunto de regras que definem como estes dados interagem com o restante da aplicação. O Active Record permite a definição da lógica de nossos modelos de domínio usando Ruby. Com isso temos flexibilidade ao definir regras de negócios específicas aos dados, e, uma vez que esta lógica está centralizada no modelo, a alteração se torna mais fácil.

O Active Record, assim como boa parte do framework Rails, trabalha com o conceito de "convenção em vez de configuração - convention over configuration" para simplificar os estágios iniciais. Por exemplo, o Active Record determina os campos da tabela, eliminando a necessidade de definir métodos básicos de acesso para cada campo. A forma que o Active Record faz isso é analisando as convenções de nomes de tabelas e campos para mapear o esquema do banco de dados para os objetos Ruby com o mínimo possível de configuração. Os nomes das tabelas são entendidos como sendo o plural do objeto armazenado na tabela. Assim, cada registro de uma tabela "clientes" guarda um "cliente". Além disso, todas as tabelas (exceto tabelas de ligação) devem possuir uma chave primária única chamada id. Chaves estrangeiras (foreign keys) recebem seus nomes baseado no nome da tabela seguido por _id. Por exemplo, uma tabela alunos referenciando uma tabela chamada cursos possuiría uma coluna chamada cursos_id. Tabelas de ligação, usadas em relacionamentos muitos-para-muitos recebem os nomes das duas tabelas envolvidas, com seus nomes em ordem alfabética. Ex: alunos_cursos, artigos_categorias, etc.

Para finalizar, o Active Record também fornece finders (métodos de pesquisa) dinâmicos baseados em atribuitos e um bom número de métodos auxiliares que facilitam e tornam a interação com o banco de dados mais eficiente.

Link para compartilhar na Internet ou com seus amigos:

C ::: Dicas & Truques ::: Strings e Caracteres

Como concatenar apenas parte de uma string à outra string usando a função strncat() da linguagem C

Quantidade de visualizações: 9554 vezes
Muitas vezes precisamos adicionar à uma string apenas alguns caracteres de outra, ou seja, não queremos concatenar as duas strings completamente; apenas parte da segunda. Para isso podemos usar a função strncat(). Veja o protótipo e explicação desta função:

char *strncat(char *str1, const char *str2, size_t n);


Aqui a quantidade n de caracteres da string str2 será anexada ao final da string str1. O caractere de fim de string (null character) da str1 é sobrescrito durante a operação e anexado novamente assim que os caracteres desejados da str2 sejam copiados. Veja um exemplo:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
  char texto[] = "Gosto muito de ";
  char palavra[] = "C++";

  /*
  Na segunda sequencia de caracteres nós temos "C++", mas
  queremos anexar à primeira sequencia apenas "C". Veja
  como isso é feito
  */

  strncat(texto, palavra, 1);

  // exibe o resultado
  puts(texto);

  system("pause");
  return 0;
}

Ao executar este códigos nós teremos o seguinte resultado:

Gosto muito de C


Python ::: Dicas & Truques ::: Strings e Caracteres

Como testar se o primeiro caractere de cada palavra em uma string Python é o único em letra maiúscula usando a função istitle()

Quantidade de visualizações: 8367 vezes
Nesta dica mostrarei como podemos usar a função istitle() da linguagem Python para verificar se o primeiro caractere de cada palavra em uma frase ou texto é o único caractere em letra maiúscula. Se o teste for verdadeiro o retorno é true, caso contrário o retorno é false.

Veja o exemplo completo:

def main():
  frase = "Gosto De Programar Em Python"

  if frase.istitle():
    print("O primeiro caractere de cada palavra é maiusculo")
  else:
    print("O teste não resultou verdadeiro")
  
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

O primeiro caractere de cada palavra é maiusculo.


Java ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar null em Java

Quantidade de visualizações: 31248 vezes
O tipo de dados null é um tipo (ou valor) especial que indica que uma referência não está apontando para nenhum objeto, ou seja, aponta para uma posição de memória nula. Este tipo pode ser atribuído (ou testado) apenas a referências. Seu uso não é permitido com primitivos.

Veja um trecho de código no qual definimos que uma variável do tipo String aponta para um objeto nulo:

public class Estudos{
  public static void main(String args[]){
    String nome = null;  

    System.out.println(nome.length());    

    System.exit(0);
  }
}

Este código compila normalmente. Porém, ao tentarmos executá-lo, temos uma exceção de tempo de execução NullPointerException:

Exception in thread "main" 
java.lang.NullPointerException
  at Estudos.main(Estudos.java:5)


Isso aconteceu porque estamos tentando executar um método de um objeto que não existe.

Uma técnica muito valiosa é testar se uma referência não está apontando para um objeto nulo. Veja como isso é feito:

public class Estudos{
  public static void main(String args[]){
    String nome = null;  

    if(nome != null)
      System.out.println(nome.length());    
    else
      System.out.println("Objeto é nulo.");      

    System.exit(0);
  }
}

Tenha em mente que, quando uma referência recebe o valor null, o objeto para o qual ela apontava fica imediatamente disponível para o coletor de lixo (Garbagge Colector), ou seja, a memória ocupada pelo objeto pode ser liberada a qualquer momento.

Veja agora o que acontece quando tentamos atribuir o valor null a um primitivo:

public class Estudos{
  public static void main(String args[]){
    int valor = null;     

    System.exit(0);
  }
}

Eis a mensagem de erro de compilação:

Estudos.java:3: incompatible types
found   : <nulltype>
required: int
 int valor = null;
             ^
1 error



VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: VisuAlg Básico

Exercício Resolvido de VisuAlg - Escreva um programa VisuAlg que leia um número inteiro e informe se ele é par ou ímpar

Quantidade de visualizações: 574 vezes
Pergunta/Tarefa:

Escreva um algorítmo em VisuAlg que pede para o usuário informar um número inteiro. Depois da leitura do número digitado, informe se ele é par ou ímpar.

Sua saída deverá ser parecida com:

Informe um número: 14
O número é par
Resposta/Solução:

Veja a resolução comentada deste exercício usando VisuAlg:

Algoritmo "Um algorítmo para tstar se um número é par ou ímpar"

Var
  // variáveis usadas na resolução do problema
  numero: inteiro

Inicio
  // vamos pedir para o usuário informar o número
  escreva("Informe um número: ")
  leia(numero)

  // vamos testar se o número é par ou ímpar
  se numero mod 2 = 0 entao
    escreval("O número é par")
  senao
    escreval("O número é ímpar")
  fimse

Fimalgoritmo

Na versão 3.0.7.0 do VisuAlg nós podemos usar "mod" ou "%" para representar o operador de módulo. Por favor, verifique qual o operador suportado pela sua versão.


JavaScript ::: Dicas & Truques ::: Cookies

Cookies em JavaScript - Como verificar a existência de um cookie usando JavaScript

Quantidade de visualizações: 11467 vezes
Nesta dica mostrarei como podemos criar uma função obterCookie() que recebe o nome de um cookie e nos retorna seu valor ou null. Se o retorno for diferentes de null então sabemos que o cookie existe e podemos prosseguir com alguma operação. Em outras dicas dessa seção você pode aprofundar seu conhecimento de cookies em JavaScript.

Veja o código JavaScript completo para o exemplo, incluindo o código HTML:

<html>
<head>
<title>Estudando JavaScript</title>

<script type="text/javascript">
  // função que permite obter um cookie
  function obterCookie(nome){    
    if(document.cookie.length > 0){
      c_start = document.cookie.indexOf(nome + "=");
      if(c_start != -1){ 
        c_start = c_start + nome.length + 1; 
        c_end = document.cookie.indexOf(";", c_start);
        if(c_end == -1){
          c_end = document.cookie.length;
        }
        
        return unescape(document.cookie.substring(
          c_start, c_end));
      } 
    }
    return null;
  }
</script>

</head>
<body>

<script type="text/javascript">
  // verifica se o cookie "nome_visitante" existe
  var nome_visitante = obterCookie('nome_visitante');
  if(nome_visitante != null){
    document.writeln("O cookie nome_visitante existe");
  }
  else{
    document.writeln("O cookie nome_visitante não existe");
  }
</script>
 
</body>
</html>

Ao executar este código JavaScript nós teremos o seguinte resultado:

O cookie nome_visitante existe


Desafios, Exercícios e Algoritmos Resolvidos de JavaScript

Veja mais Dicas e truques de JavaScript

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 6 usuários muito felizes estudando em nosso site.