terça-feira, 3 de dezembro de 2013

Restaurando arquivos originais do Windows

Vou dar uma dica de como remover cracks instalados em máquinas windows que muitas vezes alteram os arquivos originais do sistema.
Isso é muito comum quando a máquina está com algum vírus ou passou por algum processo de ativação.

Como usuário administrador, abra o prompt de comando do windows. Caso não saiba onde encontrar digite a combinação de teclas Windows+R e depois digite cmd.

Digite o comando sfc /scannow e aguarde que os arquivos sejam recuperados.


domingo, 1 de dezembro de 2013

Engenharia Reversa MySQL Server - MySQL WorkBench - gerando a modelagem lógica

Para gerar a modelagem lógica automaticamente no MySQL WorkBench, siga os passos abaixo:

1-) No menu Database, selecione Reverse Engineer ou digite as teclas (CTRL + R);
2-) Em Stored Connections, selecione Manage Stored Connections;
3-) Clique em Store Vault e digite a senha de usuário root;
4-) Clique em New no canto esquerdo inferior da tela;
5-) Após criado a conexão, selecione a conexão criada e clique em Next e na próxima tela também clique em Next;
6-) Selecione a base de dados que deseja gerar a modelagem lógica e clique em Next e na próxima tela em Next novamente;
7-) Na tela que surgir clique em Execute;
8-) Depois clique em Next e na próxima tela em Finish.

No menu Model/RelationShip Notation, há outras notações de relacionamentos que podem ser utilizados como Crow's Foot, Classic, UML, etc... Selecione a que mais se adequar a sua modelagem.

Gerador de Dicionario de Dados SQL Server

Como já ouvi dizer, para que um profissional de T.I. seja bem-sucedido ele tem que ser preguiçoso, pois assim ele vai buscar sempre algo que automatize suas tarefas.

Abaixo está uma dica que encontrei que gera automaticamente um dicionário de dados.

SELECT
  T.name as Tabela,
  C.name as Coluna,
  TY.name as Tipo,
  C.max_length, -- Tamanho em bytes, para nvarchar normalmente se divide este valor por 2
  C.precision, -- Para tipos numeric e decimal (tamanho)
  C.scale -- Para tipos numeric e decimal (números após a virgula)
FROM sys.columns C
INNER JOIN sys.tables T
  ON T.object_id = C.object_id
INNER JOIN sys.types TY
  ON TY.user_type_id = C.user_type_id
ORDER BY T.name, C.name

Dica retirada do endereçohttp://sqlfromhell.wordpress.com/2009/07/11/dicionarios-de-dados-step-1/

Engenharia Reversa - Criando Modelagem Conceitual Microsoft Visio, SQL Server

Olá a todos, vou hoje compartilhar mais uma experiência que pode ser útil para programadores e estudantes de banco de dados.
No meu curso de Análise de Sistemas, tive que fazer um trabalho de banco de dados, onde precisaria das modelagens conceituais e lógicas de uma base de dados. Só tinha a modelagem física, que é o código de criação propriamente dito.
Ai surgiu a pergunta, será que existe uma ferramenta que faz a engenharia reversa de um banco de dados, gerando as modelagens conceitual e lógica através de um banco que já existe?
A resposta do Oráculo Google foi, sim.
Para criar a modelagem conceitual, utilizei o Microsoft Visio, e segui os passos abaixo:
1-) Em Software and Database selecione: Database Model Diagram;
2-) No meu Database selecione Reverse Engineer;
3-) Na tela que surgir, em Installed Visio Drivers, selecione Generic OLE DB Driver e clique em Next;
4-) Em Selecione os dados ao qual deseja conectar-se, selecione Microsoft OLE DB Provider for SQL Server e no topo da tela clique na guia Conexão;
5-) Em Selecione ou insira um nome de servidor, digite o Server Name que utiliza para entrar no SQL Server, aquele da tela inicial de conexão do SQL Server, na tela abaixo, no meu caso é MARCELO_PC\SQLEXPRESS;

6-) Em Insira as informações para fazer logon no servidor, selecione usar a segurança integrada do Windows NT;
7-) Em Selecionar o banco de dados no servidor, selecione sua base de dados;
8-) Por garantia clique em Testar Conexão, para verificar se a conexão foi bem-sucedida. Se obtiver êxito, clique em OK para finalizar a conexão;
9-) Na próxima tela selecione as informações que deseja que o Visio crie a modelagem, como Tabelas, View, Foreign Keys, etc..., e clique em Next;
10-) Surgirá uma tela com todas tabelas e view existentes na sua base de dados, clique em Select All, ou selecione as tabelas que deseja gerar a modelagem, clique em Next;
11-) Na próxima tela, selecione as procedures, no meu caso eu não queria que gerasse modelagem das procedures então não selecionei nada e clique em Next;
12-) Na tela final, verifique se todas informações que solicitou estão corretas e clique em Finish.

No meu caso, a modelagem que precisava era a Crow's Foot, ou pé-de-galinha, então, no menu Database/Options/Document, selecione a guia RelationShip selecione Crow's Feet e clique em OK.

Pronto, a modelagem conceitual está criada automaticamente, basta alinhar as entidades.
Basta agora clicar com o botão direito em Copy Drawing e colar onde deseja.

Na próxima postagem veremos como gerar a Modelagem Lógica no MySQL Server

http://marcelomaidden.blogspot.com.br/2013/12/engenharia-reversa-mysql-server-mysql.html

terça-feira, 20 de agosto de 2013

Como gerar uma quebra de linha no PHP

Em alguns servidores muitas vezes o \n utilizado no PHP para quebrar linha no texto não funciona, como no exemplo abaixo:
$teste = "Meu texto. \n e aqui é a quebra de linha";






Nestes casos, a opção abaixo utiliza os caracteres de retorno de carro e quebra de linha, funciona perfeitamente.
$teste = "Meu texto." . chr(13).chr(10) . "e aqui é a quebra de linha"; //nova
forma com a quebra do sistema

Dica retirada de: http://br.groups.yahoo.com/group/php-pt/message/149528

sexta-feira, 16 de agosto de 2013

Configurar moodle para bloquear envio de imagens para o perfil ou limitar tamanho da imagem

Existe uma configuração na política de segurança do site do Moodle que desabilita a possibilidade do usuário atualizar a imagem do perfil. Por padrão, essa configuração vem desabilitada. Se apenas os alunos ou tutores não estão conseguindo atualizar a imagem do perfil, certamente essa configuração foi habilitada. Para desabilitar essa configuração, siga os seguintes passos:
1) Acesse o Moodle com senha do administrador
2) No bloco de administrador, navegue em Segurança/ Políticas do site
3) Procure a configuração Desabilitar Imagens em perfis de usuário (disableuserimages). Se a caixa de seleção estiver marcada, desmarque para desabilitar a configuração.
4) Clique no botão salvar mudanças. Feito isso, acesse com senha do aluno e veja se aparece a opção de upload da imagem no perfil.

Dica retirada do endereço: http://moodleeduc.blogspot.com.br/2011/03/impedir-os-alunos-e-tutores-de-editar-o.html

Caso o usuário possa enviar imagens para o perfil há a possibilidade de limitar o tamanho do arquivo também em Políticas do Site

Carregar Lista de Usuários no Moodle sem perder a senha

Para excluir os alunos dos cursos

 

Basta executar o comando abaixo no banco de dados.
O roleid=5 busca somente os usuário com perfil de aluno, antes de executar, confira na tabela mdl_role o roleid correto para sua versão do moodle.

DELETE FROM mdl_user_enrolments WHERE userid IN (SELECT userid FROM mdl_role_assignments WHERE roleid=5);

 

 

Para importar os alunos

Primeiramente o seu arquivo de importação csv deve estar no formato UTF-8.
Para fazer isso nós utilizamos o programa Notepad++, que você pode fazer o download em: http://notepad-plus-plus.org/
Depois de fazer o download e instalar o programa abra o arquivo de importação csv no Notepad++, clique em Formatar e depois em Converter para UTF-8 (sem BOM)
Salve o arquivo.

Formato do arquivo

O cabeçalho do arquivo deve ficar da seguinte forma:
firstname; lastname ;username; password; city;email;country;course1


E o conteúdo:
Nome;Sobrenome;usuarios;senha;cidade;email@email.com.br;BRASIL;Course1
* Note que no campo course1 eu coloquei o Nome Breve do curso que desejo importar os alunos, pois é com ele que o moodle identifica a qual curso deve ser importado.
Por padrão o usuário é importado como aluno.
Caso seja necessário cadastrar o aluno em mais de um curso, basta acrescentar colunas como course2;course3 e incrementar até a quantidade de cursos necessários.

Enviando o arquivo

Vá em Usuários -> Contas -> Carregar lista de usuários. Nesta tela apenas selecione o arquivo a ser enviado.
Na tela seguinte configure da seguinte forma:
Tipo de transmissão: Adicionar novos e atualizar usuários já existentes
Nova senha do usuário: Campos obrigatórios no arquivo
Detalhes de usuário existente: Sobreponha com o arquivo
Senha de usuário já existente: Nenhuma mudança
O restante dos campos permanecem da mesma forma.
Clique em Carregar lista de usuários e pronto.

quinta-feira, 4 de julho de 2013

Resolvendo limitação de envio de dados via POST PHP

Me deparei estes dias com um problema no envio de notas de vários alunos via método POST.
O servidor limitava o envio, quando eram enviados 61 registros somente 59 eram reconhecidos.

Para resolver o problema, entrei no Synaptics no Debian e desinstalei o módulo php5-suhosin.

Este módulo é instalado por padrão para manter a segurança do servidor quanto a envio de dados via post.

Foi uma solução, não totalmente recomendada para quem necessita de segurança, como em comércio eletrônico, mas no meu caso em que não havia o porque do bloqueio, efetuei este procedimento