Esse é um relato bem pessoal do que foi o Brevet 300 da Audax em Holambra, porém, antes de falar da prova vamos voltar um pouco no tempo…

Para quem não me conhece, sou ciclista amador pedalo desde novembro de 2012, acredito que comecei como todo ciclista, um incentivo de um amigo (valeu Adriano) comprei uma mountain bike básica e comecei fazer trilhas com o pessoal e nunca mais parei.

Em de Setembro de 2014 navegando pela internet encontrei um texto falando sobre ciclismo de longa distância e falava algo sobre uma prova chamada Audax, logo me interessei, mandei o link para alguns amigos que pedalam comigo, disseram que era coisa de maluco fazer 200km seguidos, quem diria então fazer as etapas de 200km, 300km, 400km e 600km, concordei dizendo que para ciclista no nível que estava aquele dia era quase impossível, afinal eu pedalava apenas aos finais de semana e só passeios.

Aquela ideia ficou na minha cabeça e resolvi procurar um treinador, encontrei o Thiago Faria da TreineBR, conversamos muito, fiz vários exames (sangue, cardiológico e etc) comecei o treinamento em outubro. Tinha pouco tempo a primeira etapa era em Dezembro de 2014 (200km)

Chegou então minha primeira Audax o Brevet 200 em Holambra foram 200km de muita chuva, esforço e superação. Fiquei impressionado com o resultado, imaginei que chegaria em 11 horas e concluí em 9:40h no mesmo dia já estava pensando na próxima etapa os 300km.

Enfim chegou o dia 21/03/2015 sábado, depois de treinar quase 5000km de Outubro até Março o meu grande desafio havia chego…

Cheguei em Holambra no dia 20 por volta das 23h correria, acertar últimos detalhes na bike (lubrificação, calibragem de pneus e etc), conferir todos os itens, confesso que minha ansiedade já estava a 1000, depois de tudo ok ainda fui jantar, dormi por volta das 1:30 da manhã (eu sei que foi tarde). No outro dia as 5:30 acordei, tomei café da manhã no quarto do hotel mesmo, fiquei sabendo que o café no hotel seria as 7:00, por sorte levei algumas coisas para comer aqui de Sertãozinho, me troquei e corri para a vistoria. Chegando lá estava uma garoa bem fina que logo parou, havia uma quantidade grande de ciclistas.

Começa a Audax as 7:14 rumo ao primeiro ponto de controle (PC1) no km 67. Logo nos primeiros 20km uma das minhas lanternas traseiras caiu da bike e foi para o chão quebrou toda, fiquei preocupado imaginando que isso poderia me impedir de continuar na prova.
Durante o percurso até o PC1 conversei com várias pessoas e encontrei o Ademilson que é aqui de Ribeirão Preto e pedalamos juntos. O clima até o PC1  foi totalmente contrário do que imaginei, além do colete refletivo que estava usando também estava com uma “jaqueta” para chuva e como não choveu nenhuma gota até o pc1 estava com muito calor e estava suando d+, suei tanto que a manga da jaqueta começou a ficar branca com o sal do corpo e isso me preocupou, imaginei que poderia desidratar. Cheguei no PC1 era 9:39 e pedi para os integrantes da organização se eu poderia deixar a jaqueta com eles… Ufaaaa. Um problema a menos, a jaqueta com certeza iria me prejudicar com o tempo… Bora para o PC2.

O PC2 era no KM 80, esse PC era um PC virtual na Churrascaria Jardim o caminho até o lá foi bem tranquilo e fomos bem rápido, como era um PC virtual tínhamos que fazer uma “selfie” ou levar um cupom fiscal do local, aproveitei a situação comprei uma Coca e um Gatorade para dar um up nas energias e repor um pouco do sal perdido ficamos pouco tempo parado no PC2 e logo partimos para o PC3 que era em Poços de Caldas.

O PC3 era no KM 137 em Poços de Caldas, apenas 57km do PC2, porem subimos nesses 57km subimos 1.050 metros, algumas subidas eram curtas e mais fortes e outras “leves” porem bem longas, tomamos chuva e cheguei no PC3 13:23, descansamos um pouco, comemos e seguimos para o PC4

O PC4 era no KM 198, porem logo que na saída do PC3 tinha uma subida (parede) com 9% de inclinação média e uns 3km de extensão que quebrou minhas 2 pernas, nunca sofri tanto para subir, essa subida minou minha musculatura e depois de termina-la tivemos quase 20km de descidas e nem assim me recuperei, comecei sentir dores bem fortes nas pernas e lombar, tomamos chuva novamente e cheguei no PC4 as 16:26, descansamos bastante e nos alimentamos bem, agora era rumo ao PC5.

O PC5 era no KM 250, tivemos sorte logo na saída do PC4 o vento estava ajudando bem e continuou assim por uns 20km, eu estava muito detonado por conta do último trecho da prova e qualquer subida já tinha ficado difícil de subir, e no caminho até o PC5 a noite chegou e a temperatura começou cair, chegamos no PC5 as 19:14, logo que chegamos no PC5 começou a chover muito forte, eu já estava bem cansado e os descansos nos PCs não estavam ajudando tanto, a chuva não aliviava então decidimos ir tocar o percurso debaixo de água mesmo, eu tive sorte que o pessoal que ficou com minha jaqueta no PC1 estava no PC5 então pude pega-la.

Saindo do PC5 com muita chuva e muito vento, cansado e com dores, meu amigo Ademilson pedalando alguns metros na frente, com menos de 5 km do PC5 meu pneu fura… O Ademilson não viu eu parando e seguiu, ele só percebeu minutos depois, tentou me esperar mais o frio estava de matar e não dava para ficar parado, confesso que trocar pneu debaixo de chuva e durante a noite não foi a melhor experiência da minha vida, naquela hora todo tipo de pensamento negativo veio em minha cabeça… Respirei fundo, troquei o pneu e segui. Não sei se foi o frio e a chuva ou a vontade louca de chegar que fez com que as dores no corpo sumissem, comecei pedalar mais forte até Holambra e finalmente cheguei… Depois de MUITAS subidas, dores no corpo e muita luta vi o portal de Holambra, é uma sensação única. Completei a prova com 15 horas e 10 minutos chegando as 22:24 da noite.

E para finalizar esse relato quero agradecer primeiramente a Deus por tornar tudo possível, minha namorada que amo tanto Rosana que me apoiou, me incentivou a treinar mais e mais e literalmente cuidou de mim após o brevet 300 onde tive febre e não dei conta nem de buscar meu certificado, obrigado amor você é muito especial, a minha família que me acha maluco mas apoia muito, meu treinador Thiago Faria que além de treinador é psicólogo, nutricionista e professor, ao professores da Academia do Milani, Domingos da Forum Bike que além de ser um excelente mecânico me ensinou ótimas técnicas na bike, Queiroz da Forum Bike que além de um grande amigo me possibilitou ter a excelente bike que utilizo hoje, Mutuca que me deu ótimas dicas na bike e me ajudou com os treinamentos, enfim a todos amigos(as) do pedal que treinaram comigo e me apoiaram.

Galera com certeza ninguém consegue nada sozinho e vocês foram muito importante para essa realização quem sabe o próximo relato é dos 400km em Boituva.

Vistoria com minha amada Descansando um pouco Olha o pc3 ai Cheguei ebaaaa Olha a bruta ai!! Mais pc3 Largada Chegando no PC1 PC3 LARGADA na estrada Vistoria Na estrada PC1 Cheguei!! Na Estrada PC3_2

WP_20150322_008

Fotos: Organização da Audax e Rosana


Nesse vídeo falo um pouco do treinamento de 2hrs desse sábado. Aos poucos vou relatando o progresso e um pouco de cada treinamento, são 5 treinamentos durante a semana então não vou gravar vídeo para todos não :).


Esse é o primeiro vídeo do meu projeto relatando minha experiência para a Audax.

É isso ai vamos que vamos que a Audax está chegando


Para inserir uma imagem como background de um asp.net linkbutton é muito simples

No seu arquivo .css ou na própria página é só colocar a instrução abaixo

.Fundolink
{
background-image:url(‘images/logo.png’);
}

É isso…

Grande abraço

@pmoraesjr


Existem três diferenças importantes quando utilizamos o operador as:

1 – O operador as retorna null quando o objeto que você esta tentando converter não é do tipo solicitado, já o cast lança uma exceção.

2 –  O operador as só pode ser utilizado para converter objetos de referencia para objetos de referencia.

3 – O operador as também não permite conversões definidas pelo usuário como conversões implícitas e explicitas, que o cast permite.

Existe de fato duas operações completamente diferentes definidas no IL que gerencia essas duas situações.
Não são apenas “perfumarias de código” escritas em C#.

O operador as é ligeiramente mais rápido nas versões 1.0 e 1.1 do Microsoft CLR comparado ao cast, mesmo em casos onde há conversões invalidas que diminuem severamente a performance devido as exceções.

É isso…

Grande abraço

@pmoraesjr


A resposta é não

Todas declarações constantes já são estáticas implicitamente, e na especificação da linguagem não permite redundância do “static
Com isso evitamos confusão de alguém ver um código com  static const teste 

Grande abraço…

@pmoraesjr


Tudo isso é relacionado com polimorfismo.
Quando um método virtual é chamado em uma referência, o objeto referenciado decide qual método sera implementado.

Quando um metodo de uma classe base é sobrecarregado (overridden) em uma classe “filha” a versão da classe derivada é utilizada, mesmo que o codigo de chamada “não sabe” que o objeto era uma instancia da classse derivada:

Por exemplo:

No exemplo acima os dois resultados são “classe filha” ou seja existe apenas uma referencia apontando para a ClasseDerivada

Agora vejam o exemplo abaixo

O resultado é “classe base” e “classe filha” ou seja com o operador new o método não foi reescrito, fazendo com que tenhamos duas referencias, uma para ClasseBase e a outra para ClasseDerivada.

Espero ter ajudado..

Grande abraço

@pmoraesjr


Nenhuma diferença, o C# define vários alias (apelidos) para os tipos CLR. Eles podem ser utilizados de formas alternadas ou até mesmo juntos em uma mesma expressão.

Abaixo os apelidos definidos…

Alias CLR type
string System.String
sbyte System.SByte
byte System.Byte
short System.Int16
ushort System.UInt16
int System.Int32
uint System.UInt32
long System.Int64
ulong System.UInt64
char System.Char
float System.Single
double System.Double
bool System.Boolean
decimal System.Decimal

Abraços

@pmoraesjr


Usamos o @ antes de uma string para representar a forma literal do texto por exemplo @“c:/Arquivos de Programas” se não utilizar o @ você “c://Arquivos de Programas”

O @ faz com que não se aplique nenhuma interpretação de caracteres na frase utilizada.

É isso…

Grande abraço

@pmoraesjr


O “group by” permite agrupar os resultados com base em um valor especificado. Por exemplo listar todos os alunos agrupados por cidade. Ele cria grupos baseados na chave informada.

Para este exemplo irei utilizar a mesma classe do post anterior

imagem1

Agora vou criar uma lista genérica e preencher com dados fictícios.Imagem2

Criei a consulta abaixo: E nela atribui todos os alunos agrupados por Cidade.
Então neste caso abaixo nossa chave é a propriedade Cidade.

Imagem1

Então quando você terminar uma consulta com um group, seus resultados assumem a forma de uma lista de listas. Cada elemento na lista é um objeto que tem uma propriedade Key e uma lista de elementos que estão agrupadas sob esta chave (Cidade). Quando você itera através de uma consulta que produz uma seqüência de grupos, você deve usar um aninhadas foreach loop. O loop externo itera em cada grupo, e o loop interno itera sobre membros do grupo.

Agora vou varrer os itens, na lGrupos eu tenho todos os alunos, agora vou percorrer ela criando um subgrupo chamado gruposAlunos que está separado pela chave Cidade.

Vou exibir as chaves em uma MessageBox(Obs. desenvolvi esse exemplo em Windows Forms).

E no foreach interno eu separei os grupos em objetos da classe Alunos.

Imagem2

Percebam que o primeiro grupo exibido foi do de Ribeirão Preto, isto acontece pq o primeiro aluno da adicionado na lista genérica é de Ribeirão Preto.

Se você deve consultar os resultados de uma operação de grupo, você pode usar a palavra-chave para criar um identificador que pode ser consultado ainda mais. Neste caso só agrupo quando existe mais de 2 alunos na cidade.

Imagem3

 

O exemplo a seguir mostra o padrão para ordenar os dados de origem em grupos quando nenhuma lógica de consulta adicional é aplicada aos grupos.

Isso é chamado um agrupamento sem uma continuação. Os elementos em uma matriz de sequências são agrupados de acordo com sua primeira letra. O resultado da consulta é um IGrouping(Of TKey, TElement) que contém um dados do tipo Key propriedade do tipo char e um IEnumerable(Of T) coleção que contém a cada item no agrupamento.

O resultado de uma group cláusula é uma sequência de sequências. Portanto, para acessar os elementos individuais dentro de cada grupo retornado, use um foreach aninhado dentro do loop que itera as chaves de grupo, conforme mostrado no exemplo a seguir.

Imagem4

Agora iremos fazer uso de uma lógica condicional para isso utilizaremos uma continuação para nosso agrupamento com a clausula into.

O exemplo a seguir agrupara os alunos pela primeira letra da Cidade, porem somente os alunos cujo nome da cidade inicie com ‘B’ (Batatais) ou ‘R’ (Ribeirão Preto)

Imagem5

É isso pessoal, espero ter ajudado com este grande recurso do linq

Um grande abraço.

@pmoraesjr