quarta-feira, 31 de dezembro de 2014

ASP.NET MVC - Controller

Esta pasta contém todas as classes de controlador responsável pela manipulação das requisições feitas pelo usuário. 

Por padrão ao definir um nome de classe controlador, utilizamos o sufixo Controller. Neste caso, se desejamos criar um controle Cliente o seu nome será ClienteController.cs

No entanto, existe uma diferença entre a forma que um controlador mapeia uma URL. Por exemplo: uma requisição "http://www.teste.com/default.aspx" irá mapear diretamente o arquivo "default.aspx" no diretório raiz do servidor. Entretanto, o framework MVC mapeia URLs para métodos. este métodos estão contidos nas classes de controladores.  

Se desejar saber mais envie um email para aspnetwf@gmail.com



quinta-feira, 23 de outubro de 2014

6 mitos sobre a segurança na nuvem




Cinco milhões de empresas usam o Google Apps for Business, aumentando a produtividade e o trabalho em equipe e diminuindo custos. Mas alguns empresários ainda se preocupam com a segurança. Nós entendemos. Quando o assunto é a sua empresa, você não quer correr riscos.

Há muitos mitos sobre a segurança na nuvem. Vamos desvendar alguns deles:


Mito: Google vende minhas informações.

Fato: com o Google Apps,  você é proprietário dos seus dados.
A menos que  você use os serviços para isso, não compartilhamos seus dados (exceto em casos especiais descritos na política de privacidade). Não vendemos, trocamos nem  alugamos dados pessoais identificáveis do usuário. Suas informações são suas — e continuam assim.


Mito: tudo o que está na Internet é mais vulnerável a hackers.

Fato: seus dados estão mais seguros na nuvem que no seu escritório.
Protegemos dados em movimento na Internet com a criptografia SSL. A equipe de segurança das informações monitora constantemente nossa rede global de datacenters para manter seus dados em segurança. Nossos controles de administração e segurança passaram por auditoria ISAE 3402  tipo II e nosso sistema de mensagens e colaboração foi o primeiro a receber a certificação US FISMA (Lei federal de gerenciamento de segurança das informações). Além da senha, você também pode usar a autenticação em duas etapas para dificultar ainda mais o acesso não autorizado.


Mito: se mudar de ideia, não poderei recuperar meus dados.

Fato: os dados podem ser exportados onde e quando você quiser.
Manteremos seus dados enquanto você tiver conta conosco. Mas se você quiser, temos ferramentas para ajudá-lo a exportar seus e-mails, diários, contatos, documentos e sites. Por exemplo, é possível exportar seus documentos para vários formatos compatíveis com Microsoft. Saiba mais na Google Data Liberation Front.


Mito: Não  posso usar o Google porque meus dados poderão ser armazenados fora dos EUA.

Fato: o Google está registrado no programa Safe Harbor dos EUA e. da UE.
O Google adota os princípios de privacidade de notificação, escolha, transferência, segurança, integridade de dados, acesso e aplicação do Safe Harbor dos EUA e está registrado no programa Safe Harbor do departamento de comércio dos EUA. A estrutura Safe Harbor foi desenvolvida para garantir que  as empresas possam transferir dados pessoais da UE para os EUA, mantendo a proteção de dados de acordo com os sete princípios fundamentais da UE.


Mito: o Google pode ler meus e-mails e documentos.

Fato: o Google não pode ler seus e-mails nem documentos.
Os empregados do Google não podem acessar os dados da sua conta, exceto em casos muito especiais — e mesmo assim precisamos da sua permissão (Consulte nossa política de privacidade) .


Mito: os sistemas da maioria das empresas são seguros o suficiente.

Fato: nem tanto.
Nossa pesquisa mostrou que  a maioria dos proprietários e gerentes de pequenas empresas sobrevaloriza seu nível de segurança. Eles não possuem backups recentes e não os protegem externamente (com o Google Apps, o backup dos dados é feito automaticamente em nossos datacenters globais. Assim, ficam protegidos contra perda acidental, roubo e incêndios). Eles não têm planos de recuperação de desastres (nós garantimos 99,9% de tempo de funcionamento* e oferecemos recuperação de desastres robusta e integrada — melhor que  a maioria dos hardwares e softwares internos). E eles não criptografam os dados valiosos (com o Google Apps, todos os dados são criptografados em movimento e o acesso é protegido pela autenticação em duas etapas. Isso significa que  os dados ficam muito mais seguros em nossa
nuvem que  armazenados localmente em um laptop).





*SLA Garanta 99,9% de disponibilidade sem tempo de inatividade agendado


© 2012  Google Inc. Todos los derechos reservados. 
Google y el logo de Google son marcas registradas de Google Inc.
Los demás nombres de empresas y productos pueden ser marcas registradas de las respectivas compañías con las que  están asociados.

quarta-feira, 15 de outubro de 2014

SQL Server - Como Salvar Alterações que Exigem Recriação da Tabela

Você talvez já tenha recebido a seguinte mensagem informando que você não 
possui permissões para salvar alterações na tabela de um banco de dados 
Microsoft SQL Server. Por padrão esta opção vem marcada.

Mas, você pode alterar a propriedade de recriação de tabela. Veja como é fácil.


Para alterar a propriedade de recriação de tabela, siga os passos abaixo:



  1. Abra SQL Server Management Studio (SSMS).
  2. Sobre o Ferramentas menu, clique em Opções.
  3. No painel de navegação do Opções janela, clique em Designers
  4. Marque ou desmarque o Impedir salvar alterações que exigem recriação da tabela caixa de seleção e clique em OK.

sexta-feira, 26 de setembro de 2014

Visual Studio Teclas de Atalho


Utilizar teclas de atalhos acelera o desenvolvimento de sistemas. 



Reuni neste blog algumas teclas de atalhos. 

Caso você deseje ver outras recursos acesso o link: http://msdn.microsoft.com/pt-br/library/dn320181.aspx#bkmk_codeeditor
 



Localização Rápida 
Ctrl+F 
Resultado Seguinte Rápido de Alterações 
Enter 
Resultado Anterior de Localização Rápida 
Shift+Enter 
Modo de Sugestão do IntelliSense 
Ctrl+Space 
Forçar a exibição do IntelliSense 
Ctrl+J 
Ir para definição 
F12 
Inspecionar Definição 
Alt+F12 
Navegar em Referências Realçadas (anterior) 
Ctrl+Shift+Seta para cima (Anterior)
Navegar em Referências Realçadas (Próxima) 
Ctrl+Shift+Seta para baixo (Próxima) 
Mover uma Linha para Cima/para Baixo 
Alt+Seta para cima / Alt+Seta para baixo 
Inspecionar Definição 
Alt+F12 
Iniciar a depuração 
F5 
Para a depuração 
Shift+F5 
Reiniciar a depuração 
Ctrl+Shift+F5 
Depuração Parcial 
F10 
Entrar em 
F11 
Depuração Circular 
Shift+F11 
Executar até o cursor 
Ctrl+F10 
Definir próxima instrução 
Ctrl+Shift+F10 
Defina e Ative/Desative Pontos de interrupção 
F9 
Desabilitar Ponto de Interrupção 
Ctrl+F9 
Janela imediata 
Ctrl+Alt+I 
Comenta Linha
Ctrl+C
Descomenta Linha
Ctrl+U
 







sexta-feira, 19 de setembro de 2014

Como Descobrir as Instâncias de SQL Instaladas

Para este exemplo vamos utilizar o o utilitário sqlcmd. Ele é um utilitário de prompt de comando Microsoft Win32 para executar ad hoc instruções e scripts Transact-SQL. 

Para usar o sqlcmd de forma interativa ou para criar arquivos de script que podem ser executados com o uso do sqlcmd, você deve entender Transact-SQL.

Mas, vamos utilizar par descobrir as instâncias instaladas no computador é muito fácil:

Abra o utilitário de linha de comando e digite: sqlcmd -L ou sqlcmd /L.

Abaixo você pode acompanhar o resultado.




Detalhes


sqlcmd  
   -a packet_size 
   -A (dedicated administrator connection)
   -b (terminate batch job if there is an error)
   -c batch_terminator 
   -C (trust the server certificate)
   -d db_name 
   -e (echo input)
   -E (use trusted connection)
   -f codepage | i:codepage[,o:codepage] | o:codepage[,i:codepage]
   -h rows_per_header 
   -H workstation_name 
   -i input_file 
   -I (enable quoted identifiers)
   -k[1 | 2] (remove or replace control characters)
   -K application_intent 
   -l login_timeout 
   -L[c] (list servers, optional clean output)
   -m error_level 
   -M multisubnet_failover 
   -N (encrypt connection)
   -o output_file 
   -p[1] (print statistics, optional colon format)
   -P password 
   -q "cmdline query" 
   -Q "cmdline query" (and exit)
   -r[0 | 1] (msgs to stderr)
   -R (use client regional settings)
   -s col_separator 
   -S [protocol:]server[\instance_name][,port]
   -t query_timeout 
   -u (unicode output file)
   -U login_id 
   -v var = "value" 
   -V error_severity_level 
   -w column_width 
   -W (remove trailing spaces)
   -x (disable variable substitution)
   -X[1] (disable commands, startup script, environment variables and optional exit)
   -y variable_length_type_display_width 
   -Y fixed_length_type_display_width 
   -z new_password  
   -Z new_password (and exit)

   -? (usage)

 
Fonte(s) de Pesquisa(s): 

http://msdn.microsoft.com/pt-br/library/ms162773.aspx
http://technet.microsoft.com/pt-br/library/ms170207(v=sql.105).aspx

segunda-feira, 8 de setembro de 2014

Java Script - Formatação Casas Decimais

O exemplo a seguir formata o resultado do calculo com as casas decimais:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Java Scrit - Calcular</title>
<script type="text/javascript">
function maskIt(w,e,m,r,a){
// Cancela se o evento for Backspace
if (!e) var e = window.event
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
// Variáveis da função
var txt  = (!r) ? w.value.replace(/[^\d]+/gi,'') : w.value.replace(/[^\d]+/gi,'').reverse();
var mask = (!r) ? m : m.reverse();
var pre  = (a ) ? a.pre : "";
var pos  = (a ) ? a.pos : "";
var ret  = "";
if(code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g,'').length) return false;
// Loop na máscara para aplicar os caracteres
for(var x=0,y=0, z=mask.length;x<z && y<txt.length;){
if(mask.charAt(x)!='#'){
ret += mask.charAt(x); x++; } 
else {
ret += txt.charAt(y); y++; x++; } }
// Retorno da função
ret = (!r) ? ret : ret.reverse()
w.value = pre+ret+pos; }
// Novo método para o objeto 'String'
String.prototype.reverse = function(){
return this.split('').reverse().join(''); };
</script>

<script language="javascript">
function number_format( number, decimals, dec_point, thousands_sep ) {
var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
var d = dec_point == undefined ? "," : dec_point;
var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}
</script>

<script> 
function calcula(operacion){ 
var operando1 = parseFloat( document.calc.operando1.value.replace(/\./g, "").replace(",", ".") );
var operando2 = parseFloat( document.calc.operando2.value.replace(/\./g, "").replace(",", ".") );
var result = eval(operando1 + operacion + operando2);
document.calc.resultado.value = number_format(result,2, ',', '.');
</script> 
</head>

<body>

<h1>Java Script - Formatar casas decimais</h1>
<br>
<form name="calc">
<input type="Text" name="operando1" value="" size="12" onKeyUp="maskIt(this,event,'###.###.###,##',true)" dir="rtl"> 
<br/> 
<input type="Text" name="operando2" value="" size="12" onKeyUp="maskIt(this,event,'###.###.###,##',true)" dir="rtl"> 
<br/> 
<input type="Button" name="" value="Somar" onclick="calcula('+')"> 

<br/> 
<input type="Text" name="resultado" value="" size="12" dir="rtl"/> 
<br/>
</form>
</body>
</html>

sexta-feira, 5 de setembro de 2014

Como fazer um redirecionamento 301 – PHP, ASP, ASP.Net, Java, etc

Você sabia

para o Google, são sites diferentes? Por conta desse pequeno detalhe, o Google reconhece o mesmo conteúdo nos dois endereços e acaba considerando as páginas como conteúdo duplicado. E aí, as pesquisas vão lá pra baixo.
Mas e como isso pode acontecer? Bem... Se o seu site recebe muitas visitas de outros sites, você certamente não terá controle sobre como alguém colocará aquele link nas páginas. E essa pequena diferença do www fará com que a contagem dos links nunca seja a real. Talvez seja até por isso que o SEO no seu site não esteja atuando muito bem...
A solução para isso é programar um redirecionamento 301 do seu endereço principal. Com isso, toda vez que alguém criar um link sem www do seu site, o visitante será redirecionado para a página correta.

Quando você cria uma página ou um site, com o tempo ele pode ser muito compartilhado e ter uma alta Autoridade da Página, contribuindo assim para ficar bem posicionado no Google em uma ou algumas palavras-chave. Só que pode ser que você mudou o nome da empresa, fez alterações nas categorias do blog, mudou o conteúdo de algumas páginas para uma única página e diversas outras situações
Então o que fazer para não perder os backlinks, Autoridade da Página e não levar o visitante para uma chata página “Erro 404: Página não encontrada”? A resposta é usar o redirect 301. Ele é uma instrução que você dá para os robôs dos buscadores que uma página/site mudou permanente para outra página/site.


Você pode utilizar:
Quando desejamos trocar a URL atual para outra. Entretanto, não quer perder a indexação  nas páginas de busca.

Ou quando em algumas ocasiões o administrador do site que também cuida de seu SEO, precisa redirecionar o acesso do site a outra página, sem perder Ranking no Google ou outros sites de busca que trabalham com conceito de PageRank.

Como usar:
Redirect 301 PHP
O primeiro código da página deve ser:
<?php
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.seu-site-novo.com.br” );
exit(0);
?>

  

Redirect 301 ASP

O primeiro código da página deve ser:
<@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently” Response.AddHeader “Location”,
“http://www.seu-site-novo.com.br”
%>

 

Redirect 301 ASP.NET

O primeiro código da página deve ser:
<script>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(“Location”,”http://www.seu-site-novo.com.br”);
}
</script>

 

Redirect 301 Perl (CGI)

O primeiro código da página deve ser:
$q = new CGI;
print$q->redirect(“http://www.seu-site-novo.com.br”);

 

Redirect 301 ColdFusion

O primeiro código da página deve ser:
<cfheader statuscode=”301″ statustext=”Moved permanently”>
<cfheader name=”Location” value=”http://www.seu-site-novo.com.br”>

 

Redirect 301 Java (JSP)

O primeiro código da página deve ser:
<%
response.setStatus(301);
response.setHeader( “Location”, “http://www.seu-site-novo.com.br” );
response.setHeader( “Connection”, “close” );
%>

 

Redirect 301 Ruby on Rails

O primeiro código da página deve ser:
def old_action
headers["Status"] = “301 Moved Permanently”
redirect_to “http://www.seu-site-novo.com.br”
end

 

Redirect 301 .htaccess (servidor Linux)

O arquivo .htaccess existe nos servidores Linux. O .htacess fica no diretório raiz dos arquivos do seu site, você pode inserir o código no fim do arquivo.
redirect 301 / http://www.seu-site-novo.com.br
Com redirect 301 também é possível fazer o redirecionamento de uma página determinada para outra página específica. Da página www.seusite.com.br/contato para www.seusite.com.br/novo-contato veja o exemplo de código abaixo:
redirect 301 /contato seusite.com.br/novo-contato

 

Redirect 301 Servidor Windows (IIS)

Para quem tem site hospedado em servidor Windows e não quer utilizar os códigos ASP e ASP.NET acima, veja esse link com detalhes sobre o redirecionamento em diferentes versões do servidor com IIS.

 

Não use redirect 302 para mudança permanente

Muitas pessoas mudam de página ou site permanentemente e utilizam o redirecionamento do serviço de hospedagem. Porém, muitas vezes as empresas de hospedagem utilizam o comando redirect 302 ao invés do comando redirect 301. Mas o único comando que transmite todo a relevância e PageRank é o comando 301, que é utilizado para uma mudança permanente. O redirect 302 é utilizado para uma mudança temporária, ou seja, de algumas horas ou dias, e por isso não transmite link juice.

http://www.techtudo.com.br/dicas-e-tutoriais/noticia/2010/12/como-criar-um-redirecionamento-301-permanente-dos-links-sem-www-do-seu-site-para-wordpress.html

http://imasters.com.br/analytics/redirecionamento-301-htaccess-php-java-asp-perl-ruby-on-rails-e-cold-fusion/





O QUE É PDF?

É uma sigla inglesa que significa  Formato Portátil de Documento  ( Portable Document Format - PDF).  É um formato de arquivo usado para e...