Pessoal, trago aqui pelo menos 5 oportunidades de ingressar em uma das maiores empresas de tecnologia do mundo. O ambiente de trabalho é excelente, as condições são muito boas e existem muitas possibilidades de crescimento. Todas as vagas são para trabalhar em Porto Alegre/RS.
Desenvolvedor C# - 3 vagas
Experiência em desenvolvimento/programação de SW em C# e .Net
Conhecimentos sobre UML e OO e design patterns
Conhecimentos sobre XML e XPATH
Inglês avançado/fluente
Desenvolvedor/Testador - 2 vagas
Experiência na área de teste de software
Conhecimento de WebServices e protocolos SOAP e HTTP
Conhecimento de XML, XPATH e alguma linguagem Script
Experiência em OO
Inglês fluente
É claro, caso alguem queira ingressar na área de informática, eu sugiro que pense nessa vaga:
Testador de Software
Experiência na área de teste de software
Conhecimentos em Banco de Dados e SQL (select, update, insert,delete)
Aos interessados enviar email com currículo para tiago (.) peczenyj (at) gmail (.) com
Desenvolvedor C# - 3 vagas
Experiência em desenvolvimento/programação de SW em C# e .Net
Conhecimentos sobre UML e OO e design patterns
Conhecimentos sobre XML e XPATH
Inglês avançado/fluente
Desenvolvedor/Testador - 2 vagas
Experiência na área de teste de software
Conhecimento de WebServices e protocolos SOAP e HTTP
Conhecimento de XML, XPATH e alguma linguagem Script
Experiência em OO
Inglês fluente
É claro, caso alguem queira ingressar na área de informática, eu sugiro que pense nessa vaga:
Testador de Software
Experiência na área de teste de software
Conhecimentos em Banco de Dados e SQL (select, update, insert,delete)
Aos interessados enviar email com currículo para tiago (.) peczenyj (at) gmail (.) com
cada vez que vc invoca o comando rev, vc perde tempo com a inicialização do programa e seu término. Eu utilizei o rev apenas uma vez, mas vc executa a cada palavra.
É a mesma diferença de
for i in *.txt ; do rm $i ; done
e rm *.txt
A segunda forma recebe ja todos os parâmetros e só tem o trabalho de iterar internamente sobre esta lista. A primeira forma cria um custoso laço por conta do detalhe que eu ja lhe falei.
Shel é sensacional, porém não pode ser pensado como uma linguagem script sempre, ele é uma forma de interação do usuario com o sistema ;-)
InverteFrase()
{
local IFS=’ ’ # tab e espaço
string=($@)
for (( i=0; i<=${#string[@]}; i+=1 ))
{
echo ${string[$i]} | rev | tr “\n” ’ ’
}
}
Pode utilizar para fazer num arquivo, simplesmente tomando cada linha como uma string independente:
while read LINHA
do
InverteFrase $LINHA
echo ## esse daqui é para quebrar a linha, no final de cada frase
done < <(cat arquivo_de_texto)
Nossa, esse meu aí demorou 18 segundos num arquivo de textos simples, mas em compensação não precisa escrever em disco. Contra o seu método, que no mesmo arquivo demorou 0.12 segundo… hauhaau
Flw, e foi mal invadir assim o seu blog ;-)
Exemplo:
$ read string
o rato roeu a roupa do rei de roma
$ string=($string)
$ for (( i=0; i<=${#string[@]}; i+=1 ))
> {
> echo ${string[$i]} | rev | tr “\n” ’ ’
> }
o otar ueor a apuor od ier ed amor
Mas só funciona com uma só string… rsrs. Só é muito lento, pois o rev, que troca palavra por palavra, é executado muuitas vezes, quebrando a linha, o que me obriga a utilizar um tr para substituir as quebras por espaço… Fica muito lento… (mas funciona para uma string ;-))
Pois bem, o sed pode parecer dispendioso, porém em alguns casos a perda de desempenho é imperceptível. Sem falar que a sintaxe dele é mais clara (99% dos casos eu uso a opção de busca e substituição).
Mas perceba que o sed pode ser usado de forma mais otimizada, como o caso de imprimir apenas a linha 105 de um grande arquivo:
sed -n ‘105q;d’ arquivo
sed + awk são uma dupla muito interessante ;-)
Depois de achar um exemplo teu de inversor em sed pela net (assustador lol), lhe pergunto: que faz/fez tanto com sed?? :D
Outra questão q intriga fora o uso real desse inversor (http://www.alltooflat.com/geeky/elgoog/ ?? weird heheh); é se já fez alguma avaliação sobre a performance do sed em relação ao awk, ou mesmo tarefas q possam ser substituídas por grep, cut, expansões e afins.
Pois em alguns casos sed me pareceu meio dispendioso. Porém não conheço sed a fundo para saber sobre o quanto os comandos estavam otimizados.
E adiantando, muito boa essa indicação do “On The Lot”. Não conhecia. :) Ótimos posts como sempre.
Então é isso.
Farewell.
NetWalker
[]z