Redimensionar imagem mantendo a proporção

Category : ASP.NET

Algoritmo para redimensionar imagem mantendo a proporção

View Code CSHARP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private Image RedimensionaImagem(Bitmap img, int NewWidth, int NewHeight)
{
	decimal Fator = 0;
	if (img.Width / NewWidth > img.Height / NewHeight)
	{
		Fator = img.Width / NewWidth;
	}
	else
	{
		Fator = img.Height / NewHeight;
	}
	decimal Largura = img.Width / Fator;
	decimal Altura = img.Height / Fator;
 
	return img.GetThumbnailImage((int)Largura, (int)Altura, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
}
 
private bool ThumbnailCallback()
{
	return false;
}

Split no Sql Server

Category : Desenvolvimento, Destaque, SQL Server

Function Split para Sql Server

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ALTER FUNCTION [dbo].[Split](@Input VARCHAR(MAX), @Var VARCHAR(MAX))
	RETURNS @Return TABLE (ID INT, Item VARCHAR(MAX))
BEGIN 
	DECLARE @ID INT 
	SET @ID = 0
	WHILE CHARINDEX(@Var, @Input) > 0 BEGIN
		SET @ID = @ID + 1
		INSERT INTO @Return VALUES (@ID, LTRIM(SUBSTRING(@Input, 0, CHARINDEX(@Var, @Input))))
		SET @Input = SUBSTRING(@Input, CHARINDEX(@Var, @Input) + 1, LEN(@Input) - 1)
	END 
	INSERT INTO @Return VALUES (@ID + 1, LTRIM(@Input))
	RETURN 
END
GO
 
-- Teste 01
SELECT * FROM Split('aaa aab aba abb', ' ')
 
-- Teste 02
SELECT * FROM Split('aaa,aab,aba,abb AAA', ',')

DotNetXMLHttpRequest no NuGet

Category : ASP.NET, Destaque, DotNetXMLHttpRequest

Para instalar o DotNetXmlHttpRequest via NuGet, é necessário ter instalado o NuGet Package Manager. Depois abra o console de comando (menu Tools > Library Package Manager > Package Manager Console)  e execute o comando abaixo ou instale o Manage NuGet Packages.

PM> Install-Package DotNetXmlHttpRequest

Exemplo de uso da classe:

View Code CSHARP
1
2
3
4
5
6
7
8
9
10
11
12
using DotNetXmlHttpRequest;
class Program
{
    static void Main(string[] args)
    {
        XMLHttpRequest xml = new XMLHttpRequest();
        xml.Open(XMLHttpRequest.EnumMethod.GET, "http://ycaro.net/");
        xml.Send();
        System.Console.Write(System.Text.RegularExpressions.Regex.Match(xml.responseText, "(.*)"));
        System.Console.ReadLine();
    }
}

eXtreme Go Horse (XGH)

Category : Destaque, Geral

Metodologia de desenvolvimento mais usada no mundo

eXtreme Go Horse (XGH)

1- Pensou, não é XGH.

XGH não pensa, faz a primeira coisa que vem à mente. Não existe segunda opção, a única opção é a mais rápida.

2- Existem 3 formas de se resolver um problema, a correta, a errada e a XGH, que é igual à errada, só que mais rápida.

XGH é mais rápido que qualquer metodologia de desenvolvimento de software que você conhece (Vide Axioma 14).

3- Quanto mais XGH você faz, mais precisará fazer.

Para cada problema resolvido usando XGH, mais uns 7 são criados. Mas todos eles serão resolvidos da forma XGH. XGH tende ao infinito.

4- XGH é totalmente reativo.

Os erros só existem quando aparecem.

5- XGH vale tudo, só não vale dar o toba.

Resolveu o problema? Compilou? Commit e era isso.

6- Commit sempre antes de update.

Se der merda, a sua parte estará sempre correta.. e seus colegas que se *****.

7- XGH não tem prazo.

Os prazos passados pelo seu cliente são meros detalhes. Você SEMPRE conseguirá implementar TUDO no tempo necessário (nem que isso implique em acessar o BD por um script malaco).

8- Esteja preparado para pular fora quando o barco começar a afundar… ou coloque a culpa em alguém ou algo.

Pra quem usa XGH, um dia o barco afunda. Quanto mais o tempo passa, mais o sistema vira um monstro. O dia que a casa cair, é melhor seu curriculum estar cadastrado na APInfo, ou ter algo pra colocar a culpa.

9- Seja autêntico, XGH não respeita padrões.

Escreva o código como você bem entender, se resolver o problema, commit e era isso.

10- Não existe refactoring, apenas rework.

Se der merda, refaça um XGH rápido que solucione o problema. O dia que o rework implicar em reescrever a aplicação toda, pule fora, o barco irá afundar (Vide Axioma 8).

11- XGH é totalmente anárquico.

A figura de um gerente de projeto é totalmente descartável. Não tem dono, cada um faz o que quiser na hora que os problemas e requisitos vão surgindo (Vide Axioma 4).

12- Se iluda sempre com promessas de melhorias.

Colocar TODO no código como uma promessa de melhoria ajuda o desenvolvedor XGH a não sentir remorso ou culpa pela cagada que fez. É claro que o refactoring nunca será feito (Vide Axioma 10).

13- XGH é absoluto, não se prende à coisas relativas.

Prazo e custo são absolutos, qualidade é totalmente relativa. Jamais pense na qualidade e sim no menor tempo que a solução será implementada, aliás… não pense, faça!

14- XGH é atemporal.

Scrum, XP… tudo isso é modinha. O XGH não se prende às modinhas do momento, isso é coisa de *****. XGH sempre foi e sempre será usado por aqueles que desprezam a qualidade.

15- XGH nem sempre é POG.

Muitas POG’s exigem um raciocínio muito elevado, XGH não raciocina (Vide Axioma 1).

16- Não tente remar contra a maré.

Caso seus colegas de trabalho usam XGH para programar e você é um coxinha que gosta de fazer as coisas certinhas, esqueça! Pra cada Design Pattern que você usa corretamente, seus colegas gerarão 10 vezes mais código podre usando XGH.

17- O XGH não é perigoso até surgir um pouco de ordem.

Este axioma é muito complexo, mas sugere que o projeto utilizando XGH está em meio ao caos. Não tente por ordem no XGH (Vide Axioma 16), é inútil e você pode jogar um tempo precioso no lixo. Isto fará com que o projeto afunde mais rápido ainda (Vide Axioma 8). Não tente gerenciar o XGH, ele é auto suficiente (Vide Axioma 11), assim como o caos.

18- O XGH é seu brother, mas é vingativo.

Enquanto você quiser, o XGH sempre estará do seu lado. Mas cuidado, não o abandone. Se começar um sistema utilizando XGH e abandoná-lo para utilizar uma metodologia da moda, você estará fudido. O XGH não permite refactoring (vide axioma 10), e seu novo sistema cheio de frescurites entrará em colapso. E nessa hora, somente o XGH poderá salvá-lo.

19- Se tiver funcionando, não rela a mão.

Nunca altere, e muito menos questione um código funcionando. Isso é perda de tempo, mesmo porque refactoring não existe (Vide Axioma 10). Tempo é a engrenagem que move o XGH e qualidade é um detalhe desprezível.

20- Teste é para os fracos.

Se você meteu a mão num sistema XGH, é melhor saber o que está fazendo. E se você sabe o que está fazendo, vai testar pra que? Testes são desperdício de tempo, se o código compilar, é o suficiente.

21- Acostume-se ao sentimento de fracasso iminente.

O fracasso e o sucesso andam sempre de mãos dadas, e no XGH não é diferente. As pessoas costumam achar que as chances do projeto fracassar utilizando XGH são sempre maiores do que ele ser bem sucedido. Mas sucesso e fracasso são uma questão de ponto de vista. O projeto foi por água abaixo mas você aprendeu algo? Então pra você foi um sucesso!

22- O problema só é seu quando seu nome está no Doc da classe.

Nunca ponha a mão numa classe cujo autor não é você. Caso um membro da equipe morra ou fique doente por muito tempo, o barco irá afundar! Nesse caso, utilize o Axioma 8.

 

Site oficial: http://gohorseprocess.wordpress.com/extreme-go-horse-xgh/

 

Arvixe Web Hosting = Hospedagem Windows + Sql Server ilimitado por menos de 9 reais

Category : Destaque, Propaganda

A Arvixe é uma empresa de hospedagem web, com sede em Santa Rosa, EUA.

Com 5 dólares por mês (R$ 8,50), é possível ter um host muito bom, com vários serviços ilimitados. Entre outras coisas, a Arvixe possuí:

SQL Server ilimitado
MySQL ilimitado
Contas FTP ilimitadas
Espaço em disco ilimitado
Transferencia ilimitada
Domínios 6
Sub domínio ilimitado
Caixa de email ilimitado
Streaming de audio e vídeo

Na maioria (se não, todas) dos serviços de hospedagem nacional, é necessário pagar um adicional para ter isso ilimitado

Apesar de ser no Estados Unidos, pode ser feito pagamento por Paypal ou Google Checkout, o que torna muito fácil, seguro e NÃO PRECISA de cartão de crédito internacional.

O atendimento é muito eficiente. Eu precisei do suporte para resolver um problema e fui muito bem atendido. 

A Arvixe tem a hospedagem e suporte muito melhor do que a maioria das hospedagens do Brasil. Com toda essa facilidade e qualidade, vai contratar hospedagem nacional por que?

 

Sql Server: Converter números para extenso (Atualizado)

1

Category : Desenvolvimento, Destaque, SQL Server

Converte números para extenso entre 0 e 999999999.99.

O código abaixo retorna o número por extenso no formato Real (R$). Para usar outros tipos, é só mudar o texto na última FUNCTION [dbo].[NExtenso].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
CREATE FUNCTION [dbo].[NExtenso_Extenso](@Num INTEGER)
	RETURNS VARCHAR(50)
AS
BEGIN 
	-- Por Ycaro Afonso 03/12/2011
	-- V 0.1
	RETURN CASE @Num 
		WHEN 1000 THEN 'Mil' WHEN 1000000 THEN 'Milhões' WHEN 1000000000 THEN 'Bilhões'
		WHEN 100 THEN 'Cento' WHEN 200 THEN 'Duzentos' WHEN 300 THEN 'Trezentos' WHEN 400 THEN 'Quatrocentos' WHEN 500 THEN 'Quinhentos' WHEN 600 THEN 'Seiscentos' WHEN 700 THEN 'Setecentos' WHEN 800 THEN 'Oitocentos' WHEN 900 THEN 'Novecentos'
		WHEN 10 THEN 'Dez' WHEN 11 THEN 'Onze' WHEN 12 THEN 'Doze' WHEN 13 THEN 'Treze' WHEN 14 THEN 'Quartorze' WHEN 15 THEN 'Quinze' WHEN 16 THEN 'Dezesseis' WHEN 17 THEN 'Dezesete' WHEN 18 THEN 'Dezoito' WHEN 19 THEN 'Dezenove'
		WHEN 20 THEN 'Vinte' WHEN 30 THEN 'Trinta' WHEN 40 THEN 'Quarenta' WHEN 50 THEN 'Cinquenta' WHEN 60 THEN 'Sessenta' WHEN 70 THEN 'Setenta' WHEN 80 THEN 'Oitenta' WHEN 90 THEN 'Noventa' 
		WHEN 1 THEN 'Um' WHEN 2 THEN 'Dois' WHEN 3 THEN 'Tres' WHEN 4 THEN 'Quatro' WHEN 5 THEN 'Cinco' WHEN 6 THEN 'Seis' WHEN 7 THEN 'Sete' WHEN 8 THEN 'Oito' WHEN 9 THEN 'Nove' 
		ELSE NULL END
END
GO
 
CREATE FUNCTION [dbo].[NExtenso_Fator](@Num INTEGER)
	RETURNS INTEGER
AS
BEGIN 
	-- Por Ycaro Afonso 03/12/2011
	-- V 0.1
	IF @Num < 10 RETURN 1
	ELSE IF @Num < 100 RETURN 10
	ELSE IF @Num < 1000 RETURN 100
	ELSE IF @Num < 1000000 RETURN 1000
	ELSE IF @Num < 1000000000 RETURN 1000000
	ELSE IF @Num < 1000000000000 RETURN 1000000000
	RETURN NULL
END
GO
 
CREATE FUNCTION [dbo].[NExtenso_Convert](@Num DECIMAL(18, 6), @Fat DECIMAL(18, 6))
	RETURNS VARCHAR(1000)
AS 
BEGIN 
	-- Por Ycaro Afonso 03/12/2011
	-- V 0.1
	DECLARE @Ret VARCHAR(1000), @_Num DECIMAL(18, 6)
	SET @Ret = ''
	SET @_Num = 0
 
	IF @Fat > 0 BEGIN 
		IF @Num = 1000000000 BEGIN 
			SET @Ret = @Ret + ' Um Bilhão'
		END ELSE IF @Num = 1000000 BEGIN 
			SET @Ret = @Ret + ' Um Milhão'
		END ELSE IF @Num = 1000 BEGIN 
			SET @Ret = @Ret + ' Um Mil'
		END ELSE IF @Num = 100 BEGIN 
			SET @Ret = @Ret + 'Cem'
		END ELSE IF @Num > 10 AND @Num < 20 BEGIN
			SET @Ret = @Ret + ISNULL(dbo.NExtenso_Extenso(@Num) + ' e ', '')
		END ELSE BEGIN 
			IF @Fat >= 1000 BEGIN 
				SET @_Num = CAST((@Num - (@Num % @Fat)) * (CAST(1 AS DECIMAL(18, 6)) / @Fat) AS INTEGER)
 
				IF @_Num = 1 BEGIN 
					SET @Ret = @Ret + ISNULL(dbo.NExtenso_Convert(@Fat, @Fat * .1), '')
				END ELSE BEGIN 
					SET @Ret = @Ret + ISNULL(dbo.NExtenso_Convert(@_Num, dbo.NExtenso_Fator(@_Num)), '') + ' ' + ISNULL(dbo.NExtenso_Extenso(@Fat), '')
				END 
 
				SET @_Num = @Num - (@_Num * @Fat)
 
				SET @Fat = dbo.NExtenso_Fator(@_Num)
 
				SET @Ret = @Ret + CASE WHEN (@Fat > 100 OR @Fat < 100) AND CAST((@_Num - (@_Num % @Fat)) * (CAST(1 AS DECIMAL(18, 6)) / @Fat) AS INTEGER) < 100 THEN ' e ' ELSE ', ' END + ISNULL(dbo.NExtenso_Convert(@_Num, @Fat), '')
			END ELSE BEGIN 
				SET @_Num = @Num - (@Num % @Fat)
				SET @Ret = @Ret + ISNULL(dbo.NExtenso_Extenso(@_Num) + ' e ', '') + dbo.NExtenso_Convert(@Num - @_Num, @Fat * .1)
			END 
		END
	END 
	RETURN REPLACE(REPLACE(@Ret + '.', ' e .', ''), '.', '')
END
GO 
 
CREATE FUNCTION [dbo].[NExtenso](@Num DECIMAL(15, 2))
	RETURNS VARCHAR(1000)
AS 
BEGIN 
	-- Por Ycaro Afonso 03/12/2011
	-- V 0.4
	DECLARE @Ret VARCHAR(500)
	IF @Num > 0 BEGIN 
 
		SET @Ret = ''
		SET @Ret = dbo.NExtenso_Convert(@Num, dbo.NExtenso_Fator(@Num)) + 
			CASE FLOOR(@Num) WHEN 0 THEN '' WHEN 1 THEN ' Real' ELSE ' Reais' END + 
			CASE FLOOR(@Num) WHEN 0 THEN '' ELSE ' e ' END
 
		SET @Num = @Num - FLOOR(@Num) 
		IF @Num > 0 BEGIN 
			--WHILE @Num - FLOOR(@Num) > 0 BEGIN
			--	SET @Num = @Num / .1
			--END 
 
			SET @Num = REPLACE(CAST(@Num AS VARCHAR(20)), '0.', '')
 
			SET @Ret = @Ret + dbo.NExtenso_Convert(@Num, dbo.NExtenso_Fator(@Num)) + CASE @Num WHEN 1 THEN ' Centavo' ELSE ' Centavos' END
		END
	END ELSE BEGIN
		SET @Ret = 'Zero Reais'
	END
	RETURN @Ret
END 
GO
 
-- Exemplo 
SELECT dbo.NExtenso(0)

Primeiro sistema com arduino (Arduino + Botão + Display)

Category : Arduino, Desenvolvimento, Destaque

Lista:
1 Arduino
1 Potenciômetro
1 Resistor
1 Botão
1 Display LCD 16×2
Vários fios

Esquema

Código do Arduino

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
 02/09/2011
 by Ycaro Afonso
 */
 
#include 
 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
 
int BotaoPino = 7;
int qtdeBotao = 0;
int ap = 0;
 
void setup() {
  lcd.begin(16, 2);
  lcd.print("oi");
 
  pinMode(BotaoPino, INPUT);
}
 
void loop() {
  if(digitalRead(BotaoPino) == 1){
    if(digitalRead(BotaoPino) != ap){
      ap = 1;
      qtdeBotao++;
    }
  }
  else if(ap == 1){
    ap = 0;
  }
 
  lcd.setCursor(5, 1);
  lcd.print(qtdeBotao);
}

Será que Jobs, Gates e Zuckerberg teriam chance numa entrevista de emprego?

Category : Geral

O processo de seleção não estava na velocidade desejada. A empresa desejava contratar alguém para a vaga recém-aberta na área de desenvolvimento de novos negócios.

Buscavam-se candidatos com perfil empreendedor, mente inovadora e com alguns anos de experiência. O salário não era alto, mas a chance de carreira era bem concreta.

O processo de análise de currículos, conduzido pelo departamento de RH, apresentou quatro candidatos na seleção final para a vaga. Todos eram jovens e iniciavam a sua vida profissional. Eram eles: Bill Gates, Steve Jobs, Mark Zuckerberg e Bernard Madoff.

O passo seguinte incluir
ia três entrevistas com executivos da empresa e uma análise mais minuciosa do currículo e competências dos candidatos. E assim foi…

  • Steve Jobs acabou sendo eliminado nas entrevistas. As razões apontadas no relatório das entrevistas foram:
  1. O candidato parece não ter uma formação familiar sólida. Ele foi abandonado pelos pais verdadeiros e adotado por um casal no subúrbio de San Francisco, que eram operários, sem formação especializada;
  2. Steve não completou a faculdade. Ficou apenas seis meses e abandonou o curso, dizendo que a escola era chata e não via benefícios em continuar. Ele afirmou isso na entrevista. E disse que está pensando em tocar algum negócio próprio, mas precisava juntar dinheiro;
  3. O candidato se comportou de maneira arrogante nas entrevistas. Por diversas vezes, disse que a empresa estava com uma estratégia errada e que os executivos não sabiam o que estavam fazendo;
  4. Demonstrou estar atento às entrevistas e, curiosamente, repetiu várias vezes o nome do entrevistador, talvez para demonstrar familiaridade;
  5. É uma pessoa com personalidade forte. Muito assertivo;
  6. Falou muito sobre suas convicções, mas fez poucas perguntas. Ele queria mais falar do que escutar.
  • O segundo candidato, Mark Zuckerberg, também não se saiu bem nas entrevistas. Eis as razões destacadas no relatório:
  1. O candidato estudou em Harvard, mas nunca levou os estudos a sério. Ele contou que teve que se apresentar ao Conselho de Administração de Harvard, porque foi acusado de infringir regras de segurança na internet e de privacidade e propriedade intelectual;
  2. Mark parece ser uma pessoa que não quis se submeter às regras da faculdade. Ele reclamou dizendo que as regras eram caducas e abandonou a faculdade no meio do curso;
  3. O candidato tem dificuldade de concentração. Na entrevista, ele pareceu dispersivo, desatento;
  4. Ficou calado na maior parte do tempo. As poucas perguntas que fez foram desinteressantes;
  5. No pouco que falou, ele mudou de assunto repentinamente, demonstrando falta de foco. Parece ter muitas ideias, mas pouca capacidade de realização;
  6. Ele demonstrou fascínio pela tecnologia, mas parece não saber o que fazer com o conhecimento que tem. Afirma que tem ideias para que a tecnologia ajude as pessoas a se relacionar melhor, mas não consegue ser claro nessas ideias. Divaga muito.
  • O terceiro candidato, Bill Gates, saiu-se um pouco melhor nas entrevistas do que os anteriores, mas mesmo assim também acabou reprovado. O relatório dizia o seguinte:
  1. O candidato apresenta boa formação familiar. Seus pais, de classe média, tinham boa formação e eram bons trabalhadores. Ele tinha duas irmãs. A família mostrava equilíbrio;
  2. O candidato foi escoteiro quando jovem, o que reforça o ponto acima;
  3. Ele foi admitido na Universidade Harvard, mas abandonou o curso de Matemática e Direito no 3º ano. Perguntado sobre isso, o candidato disse que não queria falar a respeito;
  4. Por diversas vezes durante a entrevista, o candidato olhou para a janela. Parecia pensar em outras coisas. Algumas vezes, recostava-se na cadeira, ficando quase deitado, demonstrando desinteresse e falta de educação;
  5. Não estava bem vestido. Veio de tênis para a entrevista;
  6. Também durante a entrevista, ele mexeu no celular várias vezes, demonstrando desatenção com o entrevistador.
  • O último candidato, Bernard Madoff, saiu-se muito bem nas entrevistas e acabou sendo o escolhido pelos executivos. Eis alguns dados do relatório:
  1. O candidato nasceu de família judia, cujos pais eram bons trabalhadores;
  2. Seu primeiro trabalho foi como encanador, mostrando um início humilde, o que é muito positivo;
  3. Boa formação universitária, tendo estudado Ciências Políticas e Mercado de Capitais;
  4. Compareceu às entrevistas vestindo terno, o que mostra preocupação com a imagem;
  5. Nas entrevistas, parecia ouvir tudo atentamente e fez muitas perguntas, demonstrando curiosidade;
  6. Mostrou concentração, foco e interesse;
  7. Também mostrou ambição e ansiedade, o que pode ser muito bom para um jovem em início de carreira.

O candidato Bernard Madoff foi escolhido por unanimidade pelos entrevistadores. Ele apresentava mais qualidades e evidências de um potencial talento do que os outros.
Steve, Bill e Mark receberam cartas da empresa, agradecendo a participação no processo e dizendo que os seus currículos continuariam no banco de dados da empresa.

Observação:
Em dezembro de 2008, Madoff foi detido pelo FBI e acusado de fraude. A fraude foi em torno de 50 bilhões de dólares, o que a torna a segunda maior fraude financeira levada a cabo por uma só pessoa. Uma vez confirmadas as acusações, o executivo poderá pegar pena de até 20 anos de prisão e multa de até US$ 5 milhões. Veja mais detalhes AQUI.

Post original: http://aquintaonda.blogspot.com/2011/02/sera-que-jobs-gates-e-zuckerberg-teriam.html

Intellisense para HTML 5 no Visual Studio 2010 e 2008

Category : Desenvolvimento, Dicas

Essa extensão funciona no Visual Studio 2010 e Visual Studio 2008.

1. Baixe e instale a extensão desse link http://visualstudiogallery.msdn.microsoft.com/d771cbc8-d60a-40b0-a1d8-f19fc393127d

2. No Visual Studio, acesse o menu Tools > Options > Text Editor > HTML > Validation e altere a caixa Target para HTML 5

3. Depois é só abrir um projeto e testar com alguma tag no HTML 5

Web.config para WordPress sem erros

Category : ASP.NET, Desenvolvimento, Destaque

Arquivo web.config para utilizar links personalizados (permalinks, links permanentes) no WordPress em servidor ISS (Windows), sem que ocorra erros em outras aplicações do servidor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<configuration>
  <system.webServer>
     <rewrite>
      <rules>
        <!-- Se possuir mais de um blog no servidor, mude a "name" da linha abaixo para um nome qualquer -->
        <rule name="wordpress" stopProcessing="true"> 
          <match url="^(.*)" />
            <conditions>
              <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
              <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
              <!-- Configure o dominio do blog de acordo com o exemplo da linha abaixo -->
	      <add input="{HTTP_HOST}" pattern="^(www.)?ycaro\.net" ignoreCase="true" /> 
            </conditions>
          <action type="Rewrite" url="index.php" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>