SdevLab – Passo a Passo | Como transferir seu site Joomla! local para a internet

Eae galera!

Este post é um passo a passo muito útil para quem desenvolveu um site em Joomla! em um servidor local, e não gostaria de repetir o procedimento no servidor final (ou seja, aquele que o usuário vai acessar). Existe uma maneira de exportar seu site local para a internet, e a veremos agora!

Como transferir seu site Joomla! local para a internet

Muitas pessoas preferem desenvolver um site primeiro em um servidor local para depois enviar o mesmo para a internet. Este tutorial ensina a aproveitar o trabalho de desenvolvimento local no nosso produto final, que é o site rodando na web.

  1. Instale o joomla no seu servidor de hospedagem normalmente;
  2. Envie todos os arquivos que você adicionou ao seu site local para seu servidor na internet. Normalmente estes arquivos São imagens ou documentos, pois a maioria das coisas o joomla guarda em um BD (este envio pode ser via FTP ou componentes, como por exemplo o NinjaExplorer);
  3. Se você instalou algum componente adicional (que não está no pacote de instalação) você terá de instalar novamente, ou então enviar os arquivos do componente para o servidor de hospedagem também, pois o backup do banco de dados que vamos voltar (próximo passo deste tutorial) só traz os dados de banco;
  4. No seu servidor local, clique abra o phpmyadmin e selecione seu banco
  5. Clique no botão exportar como na imagem abaixo:
  6. Salve o arquivo (PS: eu nunca alterei nenhuma configuração, no máximo colocava um nome diferente para o arquivo final da exportação e mandava usar a compressão gzip, mas se quiser pode deixar tudo padrão que funciona)
  7. Abra agora o phpmyadmin do seu servidor de hospedagem e selecione seu banco (o que você criou na instalação do joomla). Selecione todas as tabelas e clique em eliminar, como na imagem abaixo:
  8. Neste ponto, você vai ter o seu banco, porém despovoado e sem tabelas, falta então o processo de repovoar, para isto, clique (com o seu banco ainda selecionado) no menu importar, clique no botão procurar, e selecione o arquivo que você exportou no passo 6.
  9. Pronto, agora você já tem seu site com todos os arquivos necessários e banco atualizado, compensa dar uma conferida (porque como eu já disse neste tutorial, alguns componentes não funcionam direito fazendo esta passagem) mas eu mesmo nunca tive problemas com este procedimento!

Qualquer dúvida, poste um comentário!

att
sanoj
😉

SdevLab – Passo a Passo | Como converter um arquivo csv para xls

Fala Galera,

segue um tutorialzinho rápido e prático que mostra como pegar um arquivo csv e transformar o mesmo em um arquivo xls.

Como converter um arquivo csv para xls

Passos:

  1. Exporte seu arquivo .csv
  2. Abra este arquivo exportado com o excel. Neste momento, é possível que seu arquivo csv já tenha vindo para o excel no formato que desejamos trabalhar, ou então pode ter acontecido com você o mesmo problema que eu tive: todos os dados do meu banco foram para a mesma célula (primeira linha/coluna da tabela)!
  3. Se isto aconteceu, selecione a linha em questão;
  4. Vá ao menu Dados>Texto para colunas e então uma tela como esta vai aparecer:
  5. Marque a opção “Delimitado” e clique em avançar;
  6. Marque as opções “Tabulação” e “Ponto e Vírgula” e clique em avançar;
  7. No box Formato dos dados da coluna, marque “Geral” e em Destino, deixe A1 mesmo (na verdade por default aqui o excel deixa como padrão a célula que você marcou no início deste passo-a-passo.
  8. Clique em concluir e pronto, seu arquivo csv agora está pronto para ser devidamente utilizado!

O arquivo neste ponto ainda vai ser .csv mas já no padrão xls. Para ficar 100% agora salve o arquivo como algumacoisa.xls e pronto, problema resolvido!

att
sanoj
😉

SdevLab – Tutorial | Como conectar no Interbase/Firebird em PHP

Fala Galera, segue um tutorial que ensina a conectar no interbase/firebird via php.

Como conectar no Interbase/Firebird em PHP

Para começar, uma definição básica sobre a diferença entre os dois BD’s:

O Interbase é um SGBD da Borland que suporta bancos de dados maiores que 2GB. É relativamente rápido e não é muito pesado. Após a versão 6.0 do interbase, ele passou a ser proprietário e uma equipe de programadores desenvolveu o Firebird, que a princípio era para ser um banco de dados educacional, mas é  bastante utilizado no ambiente empresarial.

Como os bancos são praticamente iguais, o php tem uma lista de funções que funcionam em ambos, logo, o código que está neste post conecta tanto em um banco .gdb (extensão de um banco Interbase) quanto em um banco .fdb (extensão de um banco Firebird).

Instalando o Firebird:

  • Faça o download do banco em http://www.firebirdsql.org/ e instale (não coloquei um passo a passo da instalação porque é simples demais);
  • No seu servidor webapache, entre no arquivo php.ini (perceba que o php.ini que você deve alterar é o do apache, não confunda com outros php.ini!!!!!) e remova o ponto e vírgula (;) desta linha:
    ;
    extension = php_interbase.dll
  • Agora, vá ao Painel de Controle > Sistema > aba Avançado e clique em variáveis de ambiente;
  • No bloco Variáveis do Sistema, clique em novo e preencha os campos com os dados abaixo:
    Nome da variável: PHPRC
    Valor da variável: insira aqui o path do seu php.ini (mais uma vez vou lembrar que o caminho é o do php.ini do apache!!!!) e clique em salvar;
  • Reinicie seu servidor.

Seguindo os passos acima você tem o firebird instalado e pronto para receber acessos via php.

Agora que o banco está rodando, segue o código de conexão:


<?php
//início da conexão
$db = 'localhost:C:\Documents and Settings\usuario\pasta_do_bd\Nome_do_banco.FDB';
$user = 'SYSDBA'; /* este é o usuário padrão do Firebird */
$password = 'masterkey'; /* esta senha também é padrão */
$res = ibase_connect($db,$user,$password) or die("<br>" . ibase_errmsg());
// Query
$sql = "SELECT * FROM Tabela";

$result = ibase_query($res,$sql) or die(ibase_errmsg()); /* enviando a query ao banco  */
while($row=ibase_fetch_object($result)){
// use $row->FIELDNAME not $row->fieldname
echo $row->FIELDNAME;
}

ibase_free_result($result);
// Closing
ibase_close($res) or die("<br>" . ibase_errmsg());

?>

Neste link (http://br.php.net/manual/pt_BR/ref.ibase.php) existe uma lista de funções para firebird/interbase, vale a pena acessar.

No caso de uma segunda chamada a ibase_connect() com os mesmos argumntos, não será criada uma nova conexão, mas ao invés, será retornado o identificador da conexão já aberta. A conexão com o servidor será fechada assim que terminar a execução do script, a menos que seja fechada explicitamente pela chamada de ibase_close().

Só para completar, existe um gerenciador de bancos para o firebird (e interbase também) chamado IB Expert, posteriormente irei publicar um artigo sobre ele, mas vale adiantar que é mais fácil ver os dados do seu banco por este gerenciador do que pelo console. Só reforçando, o programa se chama IB Expert mas serve para acessar tanto bancos do firebird quanto interbase.

Até a próxima!

sanoj
😉

SdevLab – Projeto | Controle de estufa utilizando arquitetura PC e C/C++

Fala Galera!

Segue neste post um projeto que fiz para uma matéria da facul (Arquitetura de Computadores II). Este projeto usava um computador com o Linux Kurumin instalado para gerenciar uma estufa.

Controle de estufa utilizando arquitetura PC e C/C++

Para entender melhor segue o relatório final do projeto:

Introdução
Este projeto simula o monitoramento de uma estufa, para isso faz uso de três chaves, que simulam três sensores. Um sensor de temperatura, um sensor de umidade e um sensor de água no solo.


Condições do Projeto

• Se a chave geral SW estiver desligada, manter a sinalização, a bomba, o irrigador e
o ventilador desligados;
• O sistema só entra em estado de operação se a chave 1 estiver acionada. Então
quando SW for acionada o sistema entra em estado de monitoramento, aguardando a mudança de
estado de algum sensor;
• Se o sensor de temperatura for ativado, significa que a temperatura está acima do
normal e o ventilador deve ser ligado;
• Se o sensor de umidade for ativado significa que a umidade do ar esta muito baixa, e
a bomba (borrifador) deve ser ligada;
• Se o sensor de água no solo for ativado, significa que a quantidade de água no solo é
insuficiente, e o irrigador deve ser ligado e permanecer ligado por um tempo.


Especificação do Projeto

Hardware: Sistema baseado no microcomputador (PC).

Máquina de estado


Código

#include <stdio.h>
#include <sys/io.h>
#define ON 0XFF
#define OFF 0X00
#define PORT_IN 0X379
#define PORT_OUT 0X378
unsigned char sw1,s3,s2,s1;
unsigned int estado;
void entrada(void)
{
ioperm(PORT_IN,1,1);
if((inb(PORT_IN)& 0x80) == 0X80) sw1 = ON;
else sw1 = OFF;
if((inb(PORT_IN)& 0XB0) == 0XB0) s3 = ON;
else s3 = OFF;
if((inb(PORT_IN)& 0XA0)== 0XA0) s2 = ON;
else s2 = OFF;
if((inb(PORT_IN)& 0x90) == 0X90) s1 = ON;
else s1 = OFF;
ioperm(PORT_IN,1,0);
}
void desliga_tudo(void)
{
ioperm(PORT_OUT,1,1);
outb(0x00,PORT_OUT);
ioperm(PORT_OUT,1,0);
}
//sinalizador
void liga_lampada(void)
{
ioperm(PORT_OUT,1,1);
outb(0x80,PORT_OUT);
ioperm(PORT_OUT,1,0);
}
//sensor de temperatura
void trata_s1(void)
{
ioperm(PORT_OUT,1,1);
outb(0x81,PORT_OUT);
ioperm(PORT_OUT,1,0);
}
//sensor de umidade
void trata_s2(void)
{
ioperm(PORT_OUT,1,1);
outb(0x82,PORT_OUT);
ioperm(PORT_OUT,1,0);
}
//sensor de agua no solo
void trata_s3(void)
{
ioperm(PORT_OUT,1,1);
outb(0x84,PORT_OUT);
ioperm(PORT_OUT,1,0);
}
void maquina_estado(void)
{
switch(estado)
{
case 1: //verfica sw1
desliga_tudo();
if(sw1 == ON) estado = 2;
break;
case 2:
liga_lampada();
ioperm(PORT_IN,1,1);
if((inb(PORT_IN)& 0X90) == 0X90) estado = 3;
ioperm(PORT_IN,1,0);
ioperm(PORT_IN,1,1);
if((inb(PORT_IN)& 0XA0) == 0XA0) estado = 4;
ioperm(PORT_IN,1,0);
ioperm(PORT_IN,1,1);
if((inb(PORT_IN)& 0XB0) == 0XB0) estado = 5;
ioperm(PORT_IN,1,0);
ioperm(PORT_IN,1,1);
if(sw1 == OFF) estado = 1;
ioperm(PORT_IN,1,0);
break;
case 3:
trata_s1();
if(sw1 == OFF) estado = 1;
else
estado = 2;
break;
case 4:
trata_s2();
if(sw1 == OFF) estado = 1;
else
estado = 2;
break;
case 5:
trata_s3();
if(sw1 == OFF) estado = 1;
else
estado = 2;
break;
}
}
int main(void)
{
estado=1;
while(1)
{
entrada();
maquina_estado();
}
return 0;
}

Este código, como vocês podem perceber foi escrito em C/C++. Para o projeto funcionar a gente usou um simulador que tinha chaves e leds que iriam simular os componentes da estufa (bomba, ventilador, …). É coisa simples na verdade, a idéia era aprender a usar a porta paralela do PC pra gerenciar um sistema.
É lógico que exitem formas mais simples e corretas para se fazer o gerenciamento da tal estufa, mas a idéia do projeto foi atingida!

Finalizando, para o projeto funcionar compile ele normalmente no terminal:

gcc -o projeto projeto.gcc (ou projeto.c)
sudo ./projeto

Fazendo isto o linux vai compilar e rodar o programinha, que vai ficar lendo a saida paralela e mudando seu comportamento conforme a entrada de dados.

att
sanoj

😉