A versão standard do Sharepoint 2007 apresenta por padrão o serviço de indexação ativado, já a versão enterprise, não. Após a instalação da versão enterprise do Sharepoint 2007, a busca por palavra-chave em todo o conteúdo do portal não funciona.
Para ativa-la, é muito simples. Vamos os passos:
Central Administration -> Application Management -> Content databases
Se não houver nenhuma "content database", crie uma. Se houver, basta clicar sobre o nome da mesma e com isso entrar na sua tela de configuração. Dentro da tela "Manage Content Database Settings", no combo-box do campo "Search Server", selecione o servidor.
Pronto. Vale lembrar que o período em que a indexação acontece pode ser configurado de acordo com as necessidade do portal.
O desenvolvimento de software depende, entre outros fatores, de lógica. Todo programador experiente, conhece e aplica a lógica inevitavelmente o tempo todo e existem meios de se atingir um nível mais aprofundado de conhecimento nessa matéria.
O ato de simplesmente codificar, ainda mais quando amparado por ferramentas de apoio à edição (IDEs), oferece em si pouquíssima dificuldade. Com um nível mínimo de lógica e bastante vontade, um aventureiro com acesso ao google conseguiria programar e até modelar um banco de dados. A conseqüência inevitável seria um produto final ruim, um software repleto de defeitos, que castigariam bastante o usuário. A lista de problemas seria extensa, renderia um bom artigo sobre “más práticas” no desenvolvimento de software, no entanto não é o objetivo deste texto discorrer sobre o tema.
Hoje em dia, com a enorme variedade de linguagens de programação, frameworks, tendências, ferramentas e notícias, indo e vindo à frente de todos a toda velocidade, é compreensível constatar o fato de um profissional de TI esquecer-se dos fundamentos e direcionar todos os seus esforços para trabalhar com uma tecnologia que pouco domina, às vezes por força das circunstâncias, às vezes por uma imposição. O fato é que, os fundamentos sempre serão fundamentos e é importante buscar fortalecê-los, sempre.
A busca pelo conhecimento precisa estar direcionada a um objetivo e situada nos padrões da atualidade. Um indivíduo que objetiva atuar como desenvolvedor de software, não deve iniciar sua preparação estudando tecnologias ultrapassadas ou que simplesmente morreram. Também não deve iniciar os estudos abordando um tema composto por princípios dos quais se desconhece por completo. Por exemplo, não é possível iniciar estudos sobre design patterns sem possuir uma base sólida em orientação a objetos, assim como não é recomendável aprofundar-se em data warehouse sem antes conhecer modelagem de dados.
Com o a popularização da Internet criou-se uma ilusão de que a busca por informação tornou-se tarefa simples, ledo engano. A Internet jorra informação, as ferramentas de busca retornam milhares de resultados e separar o joio do trigo é uma tarefa árdua. O tempo das pessoas é muito precioso para ser gasto separando informação boas das ruins, quando se define o objeto de estudo o mais aconselhável é partir diretamente para a fonte genuína dessa informação.
O meio mais seguro para se obter informações verdadeiras e atualizadas sobre o objeto de estudo é ler as documentações fornecidas pelo próprio fabricante da tecnologia em questão. Se assunto for .Net Framework, não há hesitação, as bibliotecas do MSDN Brasil ou MSDN Americano fornecem uma documentação abrangente. Já quando o assunto for UML, a fonte mais atualizada é consultar o site da organização internacional que mantém padrões abertos: http://www.uml.org, (saiba mais em http://www.omg.org/). Para design patterns pode-se começar pelo site http://www.dofactory.com/Patterns/Patterns.aspx.
Entretanto, localizar a fonte genuína de informação não é tudo, outra dificuldade no aprendizado é a barreira lingüística, dentre as fontes citadas acima, somente o MSDN fornece uma versão em português brasileiro, as restantes são em inglês. Frente a esse problema existem duas saídas: aguardar uma futura versão em português dos documentos (totalmente inviável) ou estudar o idioma inglês voltado para leitura técnica.
Para atingir a maturidade, em qualquer carreira, faz-se necessário atuar em duas frentes simultaneamente, fortalecer fundamentos e manter a mente a aberta. Ou seja, deixar o radar ligado para as novidades que possam agregar valor ao trabalho, sem nunca perder foco na realidade.
Treinar não é fácil, treinar exige um certo esforço. Acomodar-se em uma zona de conforto é um risco iminente e trabalhar muito não é o suficiente para afastar o perigo da estagnação do aprendizado. Ilude-se aquele que pensa que trabalhando muito estará aprendendo mais e mais. Indubitavelmente, no início de qualquer atividade profissional, involuntariamente aprende-se muito, porém com o passar do tempo essa curva de aprendizado logo se transforma numa reta, paralela ao eixo do tempo e limitada pela zona de conforto.
A necessidade da leitura técnica em inglês surge quando o profissional já domina os fundamentos e está buscando materiais relativamente novos, portanto em um primeiro momento é válida a opção de ler livros em português sobre os fundamentos, participar dos fóruns sérios como os do MSDN Brasil e estudar leitura técnica de inglês. Cultivar hábitos como: optar pela língua inglesa ao instalar softwares e participar das versões americanas dos fóruns MSDN ou ASP.NET irá estimular aprendizado na língua.
Particularmente não gosto de fazer
cursos, prefiro outras formas de transferência de conhecimento, como
a leitura de livros, por exemplo. Entretanto, por força das
circunstâncias, participei de um curso multidisciplinar no mês
passado. Dentre os professores, três deles se destacaram pela
ótima didática e capacidade de manter o foco. Aliados ao bom humor,
transformaram a aula em um momento muito agradável. Já, outros
dois professores, conseguiram dar uma bela aula de como perder a
concentração.
Ironicamente, os dois mestres iniciavam a aula extremamente
centrados na matéria. Os alunos, em silêncio, faziam suas anotações
e concordavam, gesticulando com a cabeça. Com o passar do tempo, a
aula, outrora pautada somente por temas relevantes, foi, aos poucos
diluída. O emprego de opiniões pessoais pelo, professor tornou-se
uma constante, o mestre conseguia relacionar tópicos da matéria com
sua vida pessoal, seguidamente. O foco agora é o professor e
inicia-se um show humorístico, as risadas da platéia instigavam o
mestre a continuar seu espetáculo e o círculo vicioso estende-se
pelos últimos 30 minutos da "aula".
Outro erro comum a esses dois profissionais foi o de permitir a
recorrente intromissão de alunos, que tomados pelo clima
descontraído, sentiam-se a vontade em emitir opiniões e realizar
perguntas durante a aula. Essas interrupções roubam um bom tempo e
devem ser evitadas. É claro que para barra-las é necessário um
certo jogo de cintura, o ideal é permitir que as perguntas sejam
feitas somente ao final da aula, caso contrário, a aula
transforma-se em um debate . Voltando ao tema da piada, a minha
sensação foi de que os professores piadistas obtinham uma espécie
de prazer ao arrancar gargalhadas de sua platéia. Sinceramente, se o
objetivo era esse, existem outros palcos mais adequados para essa
atividade: teatros, programadas de auditório e até mesmo o Youtube.
A técnica de descontrair a aula com piadas curtas,
mescladas ao conteúdo da matéria, é positivo, mas deve ser dosada
pelo bom senso.
1) O que significa a sigla ?
eXtensible Application Markup Language
2) O que é ?
Um arquivo XML com a extenção .xaml que tem associado um arquivo de code behind.
3) O que não é ?
Um substituto do HTML.
4) Como se pronuncia ?
Pronuncia-se "zamel"
5) Para que serve ?
Definir a UI (camada de apresentação), tanto na WEB, através do Silverlight, quanto no desktop, através do WPF.
6) Por onde começo ?
http://msdn.microsoft.com/en-us/library/ms752059.aspx
7) Um exemplo ?
Ver um xaml na prática é a melhor maneira de compreende-lo, como desenvolvo para Web sugiro um exemplo bem básico de Silverlight 2.0:
http://weblogs.asp.net/scottgu/pages/silverlight-2-end-to-end-tutorial-building-a-digg-search-client.aspx
As certificações profissionais não são exclusividade da área de TI, existem instituições que atestam a proficiência de profissionais por meio de exames em diversas áreas do conhecimento. Ser aprovado em um exame é uma grande conquista para o profissional, a obtenção de um certificado não se resume à acrescentar um novo item ao currículo, o certificado trás o reconhecimento de que o profissional tem total domínio sobre determinada área de estudo.
Muitos esquecem da responsabilidade e da expectativa que o certificado provoca e confundem o certificado com uma "medalha", o esportista que consegue uma medalha aos 20 anos, irá exibi-la com orgulho aos 90, e com toda a razão, a medalha é para sempre, ela representa que o atleta foi em algum momento o melhor, ou um dos melhores, em sua modalidade.
Medalhas e certificados de nada tem a ver, a medalha é só alegria e ponto. O certificado é diferente, ele deve ser encarado como uma responsabilidade em ter domínio sobre o assunto de qual trata, exemplificando: um programador Microsoft com o certificado "TS Microsoft .NET Framework - Application Development Foundation" tem supostamente o domínio sobre o framework, ou seja, ele conhece todos os recursos disponíveis, quais são as limitações e qual é a melhor abordagem a ser usada para resolver cada problema. O suposto conhecimento que citei acima é o que o mercado espera de um profissional certificado, é nesse momento que pode acontecer uma decepção, visto que uma parcela de profissionais coleciona certificados, acumula títulos e se enche de orgulho ao exibir seu currículo recheado por suas aprovações. Nada muito diferente de um garoto de 8 anos que prestes a completar seu álbum de figurinhas do campeonato brasileiro, ainda não conhece o funcionamento da lei do impedimento.
Assim como o garoto que compra um pacote fechado de figurinhas, despreza as repetidas e cola em seu album as inéditas, já vi profissional que engolir dumps de provas, obter diversos certificados e ganhar a ilusão de que será recompensado um dia. O tiro pode sair pela culatra, pois esse profissional continuará sem ter o verdadeiro conhecimento, irá gerar uma grande expectativa em torno de seu trabalho e no final das contas irá frustrar a empresa para qual trabalha e também a si mesmo.
Apesar de ser um material não-oficial e passível de erros, não condeno a leitura de dumps, se a finalidade for estudar e não simplesmente decorar, o dump serviria como uma espécie de questionário de qualidade duvidosa. Vale ressaltar que os "Training Kits" da Microsoft além de cobrirem 100% do conteúdo do exame, possuem um enfoque bastante didático, incluem exercícios e questionários no final de todos os capítulos.
Se o problema for o preço, fica a dica de comprar pelo site da Amazon, lá é possível encontrar livros usados, em perfeito estado, pela metade do preço.
Bons estudos!
No Visual Studio 2008 pode-se usar um recurso para geração de código bastante interessante, T4 Templates, mais infos em http://www.pnpguidance.net/.
Irei explicar passo-a-passo como criar um exemplo inicial:
No visual studio 2008:
1- Crie uma console application com o nome "T4TemplateExemple"
2- Clique com o botão direito do mouse no nome do projeto: Add/New Item
3- Selecione um text file, mas renomeie a extenção de txt para tt. Use o nome "T4Template.tt"
4- Digite o seguinte código dentro do arquivo tt:
<#@ template language = "C#" #>
using System;
namespace T4TemplateExemple
{
class T4Example
{
public void ExibeNumeros()
{
<#
for(int i=0; i<6; i++)
{
#>
Console.WriteLine(<#= i#>);
Console.Read();
<#
}
#>
}
}
}
5- Salve o arquivo tt
6- Abra o arquivo ".cs" associado ao ".tt" e veja o resultado:
using System;
namespace T4TemplateExemple
{
class T4Example
{
public void ExibeNumeros()
{
Console.WriteLine(0);
Console.Read();
Console.WriteLine(1);
Console.Read();
Console.WriteLine(2);
Console.Read();
Console.WriteLine(3);
Console.Read();
Console.WriteLine(4);
Console.Read();
Console.WriteLine(5);
Console.Read();
}
}
}
Conclusão, todo o texto escrito no arquivo .tt é diretamente escrito no .cs. Todo texto escrito entre as tags <# #> do arquivo .tt é interpretado. Todo o texto escrito entre as tags <#= #> do arquivo .tt é interpretado como uma variável.
Já deu para entender o potencial desse recurso, né?
Download da solution: T4TemplateExemple.zip
Os profissionais da área de TI, principalmente os desenvolvedores de software, tem uma grande vantagem quando o assunto é internacionalizar a sua carreira. Desenvolver software aqui ou do outro lado do mundo é a mesma coisa, as ferramentas são exatamente as mesmas, o que mudam são mas metodologias e a cultura de cada empresa.
Por conta dessa facilidade, é frequente vermos brasileiros saindo do país e tendo sucesso lá fora. São histórias como essas que fomentam os sonhos da tão sonhada realização profissional e financeira.
Como esse tema é muito importante, entrevistei por e-mail um colega de trabalho, o Rodrigo Garcia, que saiu do país. Fiz apenas 5 perguntas e ele gentilmente respondeu.
Vamos iniciar com uma visão geral sobre o Rodrigo Garcia, conte-nos um pouco sobre sua experiência e trajetória profissional na área de TI.
Comecei a trabalhar com TI numa posição completamente contrária a que me encontro hoje, trabalhando com servidores Unix e segurança de redes (uma área que ainda gosto bastante porém sigo como hobby). Em 2003 comecei a trabalhar para uma empresa fábrica de software onde exercia o cargo de network admin, e daí o primeiro contato com desenvolvimento em plataforma Microsoft que dura continuamente até hoje. Além da facilidade que tive pois já trabalhava com TI, tive o privilégio de trabalhar com ótimos profissionais que já estavam desenvolvendo em .NET desde o framework beta (em 2001), o que me proporcionou um aprendizado rápido. De lá, passei por outras empresas (j-tech, Politec e Paradigma), até iniciar as atividades na Polimatica(Itália).
Além de sua experiência nos EUA trabalhando na área de infra-estrutura, recentemente você teve uma passagem pela Itália, onde atuou como desenvolvedor. Como é o mercado por lá ?
O mercado de TI é forte no mundo inteiro, principalmente desenvolvimento e na Europa não é diferente. A Itália não está entre os países mais fortes no desenvolvimento (como Irlanda, Inglaterra e Alemanha), porém nas cidades pólos como Turim, Milão e Roma, o déficit de profissionais continua alto.
O nível do desenvolvedor brasileiro não deixa a desejar em nada, muito pelo contrário, portanto as únicas possíveis barreiras ao desenvolvedor estrangeiro podem ser a lingüística (Italiano e Inglês devem estar afiados), e a documentação para trabalhar legalmente na Itália (se cidadão de qualquer país da comunidade européia não há problema algum, caso contrário necessita um visto de trabalho).
Um dos maiores medos dos imigrantes brasileiros é com o preconceito (xenofobia) por parte dos estrangeiros, você sofreu algum problema desse tipo com os italianos?
Felizmente nenhum. Este assunto é realmente muito polêmico e complexo em toda a Europa porém não só na Itália como em todos os outros países que visitei nunca sofri preconceito algum. O italiano é muito espontâneo e direto e isso as vezes soa como grosseria para algum estrangeiro mas depois de alguns dias lá, você verá que são "Tutti buona gente".
Rodrigo, agora a pergunta que não quer calar: Qual é a remuneração média de um desenvolvedor sênior na Europa?
Na Itália existem algumas formas de contrato (equivalentes a nossa CLT, PJ, etc), porém apenas a mérito informativo o valor bruto em um contrato equivalente a PJ dentre as 3 cidades citadas varia da seguinte forma:
Milão e Roma – 300 a 400 euros por dia.
Turim – 250 – 350 euros por dia.
Na Irlanda, Inglaterra e Alemanha a remuneração é consideravelmente melhor, e para aquele que almeja apenas guardar um dinheiro para posteriormente retornar o Brasil, é importante lembrar que o pagamento na Inglaterra é em Libras Esterlinas e que o câmbio para real é bem melhor.
Para finalizar, gostaria que você deixasse uma dica para os brasileiros que almejam uma carreira internacional.
A dica é planejamento. Escolha bem a cidade onde deseja trabalhar, estude bem o inglês pois você vai usar independente do pais escolhido, faça uma reserva econômica, tire seu visto (ficar ilegal é crime, você não vai conseguir um bom salário e se for deportado não poderá mais pisar lá por um bom tempo), e de preferência procure fazer contato com alguma empresa de lá antes mesmo de ir (existe um site para publicação de currículos que ajuda bastante – www.monster.it ). Esteja preparado pra agüentar a saudade do Brasil e então é só partir.
Rodrigo, muito obrigado por compartilhar sua experiência conosco.
Um grande abraço,
Fernando Vezzali.
O Visual Studio .Net, desde as primeiras versões, ofereceu a possibilidade de se trabalhar com templates de classes e páginas, a partir da versão 2005 a criação e uso ficou ainda melhor, com a possibilidade de se exportar o template baseado em uma classe ou página. A vantagem de se utilizar o template é evitar perda de tempo redigitando as mesmas linhas de código sempre que se inclui uma nova página ou classe no projeto.
O primeiro passo para se utilizar um template é adicionar a opção Export Template ao menu File caso a mesma ainda não esteja por lá, para isso clique em Tolls/Customize/Commands, selecione o menu file e arraste o item Export Template para ele.

Com a solução aberta, clique em File/Export Template. Selecione a opção
Item template, selecione o projeto no qual a classe ou página faz parte. Next.

Marque todas as classes e páginas que você pretende tornar template. Next.

Marque as referências que você quer usar. Next.

Na última tela defina um nome e uma descrição para o template e clique em Finish.

Agora o template já está instalado, para testá-lo clique com o botão direito do mouse em cima do projeto, selecione a opção Add New Item. Nessa tela você tem à disposição os itens do Visial Studio installed templates que são os já conhecidos: Web Form, Master Page, Web User Control, etc... Logo abaixo você tem à disposição os itens do My Templates, todos os templates que você criar ficarão nessa área. Basta selecionar o template e definir um nome.

Para um programador crescer profissionalmente, indiscutivelmente o trabalho em equipe é o melhor aprendizado, a troca de informações quando um profissional pede ajuda para o outro ou em uma conversa informal, é bastante enriquecedor. Porém nem todos os programadores trabalham em equipes, muitos codificam sozinhos (não é o meu caso), mas para esses pobres guerreiros solitários nem tudo está perdido.
Em muitos fóruns é possível obter aquela ajuda num momento de desespero e também ter uma conversa informal. Alguns fóruns se destacam pela eficiência na obtenção de respostas quase imediatas e de grande qualidade técnica: http://forums.asp.net/ e http://forums.microsoft.com/ Comecei a colaborar recentemente com o forums.asp.net e já solucionei o problema de três pessoas:
http://forums.asp.net/t/1313526.aspx
http://forums.asp.net/t/1314286.aspx
http://forums.asp.net/t/1313025.aspx
ajudando aos outros a gente também aprende!
Durante o dia-a-dia de trabalho eu me deparo com algumas situações inusitadas, durante esta semana estive acompanhando um colega enquanto ele debugava um código tentando solucionar um bug e sugeri que ele colocasse um break point dentro de um if, para testarmos se a execução do programa passaria por ali. Porém dentro desse if ainda não havia nada codificado. Sem titubear ele declarou uma variável string a = "teste"; e colocou o break point nela.
Opa! Existe um maneira mais elegante de colocar um break point aonde ainda não existe código:
System.Diagnostics.
Debugger.Break();
Bonito né ?
More Posts
Next page »