Pessoas!
Andei esbarrando essa semana em um link que achei interessante publicar aqui, com mais de 1.000 livros sobre Programação, para quem quer aprender.
Sem mais enrolação, o link está aí embaixo, porque software não é macarrão, né?
https://github.com/vhf/free-programming-books/blob/master/free-programming-books-pt_BR.md
Abraço e boa leitura!!!
Mostrando postagens com marcador Computação. Mostrar todas as postagens
Mostrando postagens com marcador Computação. Mostrar todas as postagens
terça-feira, 24 de novembro de 2015
segunda-feira, 19 de outubro de 2015
Menino do Computador, eu? Profissional de TI com orgulho!!
Hoje, dia 19 de outubro, dizem alguns que é considerado o Dia do Profissional de TI. Eu vi em uma postagem em rede social hoje uma imagem com um garoto de óculos, camisa meio estranha e gravata, onde dizia: "Se você já foi chamado de 'Rapaz do Computador', comemore!".
(....)
Sim, este aí em cima é o sinal de "conte até dez, respire fundo e siga em frente", que eu uso quando algo me incomoda um pouquinho. A questão é que a gente sempre acaba sendo considerado o "menino do computador", "rapaz do computador" o "faz-tudo" (desde fazer o computador ligar, até a antena parabólica, o vídeo-cassete, e a secadora de roupa, ou o que mais tiver botões pra apertar ou luzinhas piscando).
O fato é que estudamos vários anos para nos especializar, temos funções diferentes (a grande maioria desconhecida do grande público), colocamos a cabeça pra funcionar, com o objetivo de solucionar pequenos (e chatos) e grandes problemas da sociedade (e os grandes são piores ainda do que os pequenos e chatos), e muitas vezes não somos nem reconhecidos...
Tenham certeza de que aqui o sistema é bruto, sisteminha é palavrão, o trabalho é MUITO e fazemos SEMPRE O MELHOR, para que todo mundo possa colocar a cabeça no travesseiro tranquilo todos os dias, podendo, graças ao trabalho que nós realizamos (e algumas vezes você nem nota, porque somos NINJAS), fazer o trabalho de cinquenta dias em cinco, porque nós trabalhamos cada um por um exército e passamos muitas horas (bem mais que cinco ou cinquenta dias às vezes) extraindo todo o potencial do nosso cérebro e das máquinas que temos à disposição para que isso aconteça...
Podem até nos chamar de "meninos e meninas do computador", podem até desconhecer o nosso trabalho, mas a gente faz COM ORGULHO e dá a nossa contribuição todos os dias, pra ver todo mundo feliz, porque isso é o que importa :D
Então, se você passar pelo seu "menino do computador" (é PROFISSIONAL DE TI, viu?), dê um abraço nele, daqueles do tamanho do mundo e diga "OBRIGADO", ou ofereça um café (somos movidos a café, porque às vezes trabalhamos até tarde e ninguém vê porque já foi pra casa descansar)... a gente adora café e também gosta de saber que é importante pra você, e é legal saber que o que fazemos te ajuda em alguma parte do teu dia, por mais simples que pareça.
E aos meus colegas PROFISSIONAIS DE TI, aproveitem todos os milissegundos do dia e todos os ciclos de processamento, porque poucos fariam o que vocês fazem em 24 horas (acho que nem o cara aquele do seriado...) :D
PS1: Extensivo às "meninas do computador" também :)))
PS2: Não somos estranhos não, somos legais, pode ter certeza!
sexta-feira, 4 de setembro de 2015
Da série "Criações Assustadoras" - Inteligência Artificial
Muito se fala a respeito de quanto a computação evoluiu até hoje, ou que não vivemos mais sem os computadores. Será que vamos chegar a algum ponto "sem volta", no estilo do filme Exterminador do Futuro?
Me deparei mais cedo com uma matéria sobre um modelo de inteligência artificial construído pelo roboticista David Hanson para se assemelhar com o escritor Phillip K. Dick (já falecido), e que faz a gente pensar: "Pra onde vamos? Até onde podemos (e queremos) chegar?"
Vou deixar vocês com o link original da matéria.. Dá o que falar!
(PS: Pode ter certeza de que este software não é macarrão não!!)
sexta-feira, 20 de fevereiro de 2015
Mulheres na Computação? Pode SIM!
Tem gente que "desgosta" de mulheres trabalhando em muitas áreas. A Computação é uma delas. Eu, particularmente, sempre fui à favor das mulheres trabalhando em Computação e Tecnologia por conta da atenção delas aos detalhes que alguns homens acabam deixando passar porque "não acham que seja importante", ou porque a maioria de nós não é tão detalhista mesmo...
Num desses dias achei um artigo interessante e resolvi traduzir pra compartilhar com mais pessoas, porque a maioria não deve saber quem é Grace Hopper, a "Rainha do Código", e porque devemos MUITO a ela e outras mulheres como ela.
Sem mais enrolação, lá vai o artigo:
Grace Hopper era um gênio de computação, uma cientista, uma quebradora de tetos-de-vidro, uma feminista, e a melhor em tudo o que fazia - e você provavelmente nunca ouviu falar dela.
Hoje, ela está finalmente recebendo seu devido reconhecimento. Hopper, que morreu em 1992, era uma engenheira de computação que serviu na Marinha durante a Segunda Guerra Mundial e passou a desenvolver o primeiro software de computador real - muito antes de "software" ser mesmo um conceito com um nome. Um vídeo da série FiveThirtyEight Signals, chamado "The Queen of Code", celebra sua vida e obra.
Costumamos falar muito sobre como as mulheres são excluídas de empregos de tecnologia, mas a paisagem nao parece nada como a dos tempos de Hopper. Não só ela foi impedida de avançar em duas carreiras distintas, porque ela era uma mulher, como foi deliberadamente deixada de fora de fotos de jornais que documentam grandes realizações de que ela era uma parte integrante.
"O apagamento das mulheres estava acontecendo em tempo real", o diretor do filme, o ator Gillian Jacobs, disse a Re / Code. Vale a pena assistir ao video todo, mas aqui estão alguns dos feitos de Hopper:
Ela descobriu como fazer uma bomba atômica funcionar.
Depois que o professor de matemática Vassar convenceu a Marinha para deixá-la se alistar com a idade de 37 anos, ela passou a trabalhar no computador Mark I da Universidade de Harvard e começou a aprender a fazer o supercomputador funcionar melhor do que mais ninguém tinha feito.
Quando Hopper viu a Mark I pela primeira vez, ela estava apaixonada: "Puxa, isso é a coisa mais bonita que eu já vi", ela lembra de ter pensado. Em certo dia, Hopper teria retirado uma mariposa traquina para fora do aparelho e a colado em suas notas com fita adesiva, potencialmente inventando o termo "depuração" (debugging).
Hopper não sabia para que seu trabalho seria utilizado naquela epoca, mas em mais de três meses com o Mark I, ela resolveu um cálculo extremamente difícil para o Projeto Manhattan: descobrir como fazer uma esfera entrar em colapso sobre si mesma e em que local deveria ser aplicada a pressão, para que entrasse em colapso. Sua solução foi a chave para fazer a bomba atômica explodir corretamente.
Mesmo assim, após o fim da guerra, Hopper não tinha permissão para se tornar uma professora de Harvard - que era nestes dias um clube só para rapazes - nem para continuar na Marinha. Então, em vez disso:
Ela basicamente inventou a codificação.
Hopper conseguiu um emprego para trabalhar para uma empresa de informática e rapidamente percebeu que nenhum dos pequenos computadores que estavam sendo desenvolvidos poderia falar um com o outro. Reconhecendo que a maioria das pessoas na América não consegue entender nada sobre matemática, ela defendeu que se transformasse a linguagem de computador simbólica em Inglês simples. Todos riram dela. Mais tarde, ela zombou dos céticos em um discurso.
"Eu deixei um grande número de pessoas, pelo meradunos parcialmente doidas", disse ela. "Afinal de contas, insistir que se comunicar com os computadores em Inglês era uma idéia totalmente ridícula, e que eu não poderia fazer isso. Só que funcionou ".
A linguagem que ela ajudou a desenvolver, conhecida como COBOL, compõe cerca de 70% de todo o código usado ativamente até o ano 2000.
Traduzido do original em: http://www.refinery29.com/2015/01/81515/grace-hopper-coder-bug-inventor
E você? Conhece alguma mulher/menina que se interessa por computadores e que talvez se sinta desmotivada a estudar e trabalhar na área? Mande este artigo pra ela!!!
quarta-feira, 19 de dezembro de 2012
Quem consegue ler isto? Legibilidade de código e o trabalho em equipe
A legibilidade de código pode parecer uma coisa boba quando se olha para ela à primeira vista, mas tal como a gramática da linguagem humana, tem um mesmo objetivo:
Estabelece regras, formatos para que quem escreve se faça entender por outras pessoas, de forma que a mensagem que se deseja passar seja entendida clara e objetivamente.
Afinal de contas, "pra" que raios serve essa tal legibilidade? Bom, da mesma forma que um livro escrito em português, inglês, espanhol, seja lá qual for seu idioma, essa tal legibilidade (palavrinha difícil, mas muito nossa amiga) serve para duas coisas:
1. Facilitar a compreensão das coisas;
2. Não tornar cansativo o processo da compreensão.
Hoje ainda, esbarrei em uma frase (velha, até) que dizia:
"Qualquer programador é capaz de escrever códigos que um computador possa ler, mas apenas bons programadores são capazes de escrever códigos que podem ser lidos (e entendidos) por outros programadores."
Assim, podemos encarar um código como um livro que conta uma história: qualquer livro que tenha formato de "tijolo" (tamanho/peso, literalmente falando) torna complicada e cansativa a compreensão das ideias.
Neste ponto, a pergunta: "O livro tem figurinhas?" também teria algum sentido, porque algumas pessoas até evitam ler livros em formato de "blocos" de texto justamente porque não chamam a atenção e até embaçam a visão daqueles mais cansados, ou que usam óculos (meu caso).
Na verdade o código é mais ou menos parecido neste ponto: Um código 'tijolo' tem suas ideias expostas de maneira mais complicada. Nem sempre a gente entende de que é feito o tijolo se não passar pelas ideias duas, três ou mais vezes...
Se isso é complicado para uma pessoa que lê o seu código, imagine quando ele passa por dois, três pares de olhos (ou mais) durante seu ciclo de desenvolvimento e/ou manutenção? A cada passada, o código tem de recontar sua história novamente, e novamente.
Pois bem, como tijolos são pesados e folhas de árvore são mais leves, podemos comparar um código "limpo" a uma folha de árvore, com suas estruturas bem definidas, da maior para a menor, principal até a secundária, e assim por diante.
Fica muito mais fácil, principalmente se pegamos "o bonde andando" e temos que nos "sentar no lugar do maquinista". Para ficar claro, precisamos colocar algumas regras na redação, igualzinho a uma gramática. Vamos lá?
a) Quando os elementos "nascerem", batize-os apropriadamente - Crie nomes para os seus elementos de forma que, ao ler estes nomes, tanto na declaração quanto no código, quem está lendo saiba o que eles significam.
Exemplo:
$a = 2; $b = 3; $s = $a+$b;
Use, para facilitar:
$nroA = 2; $nroB = 3; $nroSoma = $nroA + $nroB;
b) Escreva nomes de variáveis o mais curtos possível, e o mais significativos possível - Esta regra propõe que se aproveite o melhor possível o espaço que se tem para escrever. As linguagens de programação limitam a quantidade de caracteres, cada uma a seu modo, mas tente utilizar uma convenção baseado em "evitar o tijolo". Nomes muito longos de variáveis são complicados de entender.
Exemplo:
$numerodacarteiradeidentidade = 123456Talvez fique melhor como:
$nrCartIdent = 123456ou ainda:
$nrCI = 123456
c) Padronize os nomes dos elementos - Procure utilizar uma notação que deixe claro ao utilizar um elemento o seu tipo e função, por exemplo. Algumas fontes falam em utilizar a notação húngara de nomes de elementos, que permita que pessoas que não participaram do desenvolvimento (revisores de código e testadores) entendam o que está escrito e possam apontar sugestões ou correções.
$nroTeste = 1234; $txtTeste = "Nome da pessoa";
Como sugestão, podemos ver a nomenclatura acima, analisando:
- Primeiros três caracteres minúsculos - tipo de informação a armazenar
- Restante do nome com a primeira letra maiúscula (com uma palavra), ou a primeira de cada palavra (com duas ou mais palavras no nome)
d) Coloque seu código em níveis - Procure utilizar um mecanismo de indentação (do inglês indentation, recuo em português), para facilitar a organização das estruturas de controle do seu código, facilitando a leitura e a manutenção das linhas.
if (isset($nrTeste)) {
echo $nrTeste;
} else {
echo "Sem valor";
}
Meio "pesado" para ler, não? Então vamos tratar de deixar a coisa com mais "curvas" (e aqui eu me lembro do Oscar Niemeyer, que dizia que "Se a reta é o caminho mais curto entre dois pontos, a curva é o que faz o concreto buscar o infinito"):
if (isset($nrTeste)) {
echo $nrTeste;
} else {
echo "Sem valor";
}
e) Coloque um limite na quantidade de colunas do seu código - Procure usar um limite de colunas (caracteres) de mais ou menos 80, (sim, como em COBOL) para que suas linhas fiquem dentro de uma área da tela que se possa ler sem usar barras de rolagem, agilizando a leitura.
f) Use o alinhamento de sinais de atribuição como aliado - Uma coisa importante que aprendi, sobre simetria: É mais fácil lermos e localizarmos alguma coisa se tivermos uma referência comum para nos guiar. Geralmente um operador nos chama mais a atenção do que um nome, à primeira passada de olhos.
$nrA = 1; $nrBC = 3;Pode ficar melhor assim:
$nrA = 1; $nrBC = 3;
Desta forma conseguimos separar variáveis e valores e ler/localizar rapidamente a informação de que precisamos, não é mesmo?
f) Utilize-se de quebras de linha e "pausas para respirar" - Tal qual os parágrafos de uma página, às vezes precisamos de "pausas", para que a leitura não seja por demais cansativa aos olhos e à mente.
Uma vez um professor e grande amigo me disse que três ou quatro linhas por parágrafo são suficientes para "evitar a fadiga". Pois bem, se ele estava certo, você leu todo este texto e chegou até aqui sem cansar (muito).
No caso das quebras de linha de código, podemos quebrar as linhas e alinhar os sinais, e também separar as linhas em pequenos blocos, por atribuição ou funcionalidade, para facilitar a localização das linhas que precisamos compreender.
$this->load->model('dados_model');
$this->load->model('fichas_model');
$this->load->helper('ajudante');
$this->load->helper('faxineiro');
é mais organizado do que este, por exemplo:$this->load->model('dados_model');
$this->load->helper('ajudante');
$this->load->model('fichas_model');
$this->load->helper('faxineiro');
Neste ponto, temos um código mais organizado, de forma que as models e helpers ficam agrupadas por tipo/função, facilitando que se possa incluir uma ou outra de um jeito que outras possam, além de ler, dar a manutenção necessária, de uma forma mais rápida.
g) Comente e Documente seu código - Procure comentar trechos de código que precisem de explicações adicionais, e procure documentar o cabeçalho de cada arquivo e função que escrever, da forma mais clara e sucinta possível.
Conclusão
Bom, depois de todas estas observações e regras, fica clara a necessidade de se organizar o código de uma maneira legível, principalmente se este código pode passar por outras pessoas, independente de passar por uma, duas ou trinta. Mesmo assim, não esqueça de revisar seu código com calma antes de passá-lo adiante, para que você tenha um número mínimo de coisas a reestruturar, se necessário.
Procure manter o bom hábito de tornar seu código legível e documentá-lo. Além disso, espalhe a boa prática a seus colegas e seus amigos que também trabalharem na área. Com o tempo, isto pode ser de grande ajuda no dia-a-dia.
segunda-feira, 14 de maio de 2012
Segurança da Informação: Que bicho é esse? Como se cria? Onde Mora?
Ultimamente tenho percebido que algumas pessoas não levam em conta tudo o que se pode fazer com informações, tanto coisas boas quanto coisas más.
Anteriormente, eu já tinha classificado aqui os 'compartilhadores' da informação (um link aqui para quem quiser ler). Percebi que faz falta a gente falar de segurança da informação quando fala da informação em si. Como este trem está sempre andando, resolvi colocar um assunto de cada vez pra não misturar as coisas.
Também por isso, e pelos acontecimentos recentes envolvendo vazamento de fotos de certas atrizes, quis colocar em pauta outra coisa: como é que a gente mantém nossas informações seguras, ao menos um pouco, e protegemos aquelas coisas que não queremos que saiam voando por aí?
Pois bem, temos algumas coisas que dá pra fazer, e que são fáceis:
a) Não sair clicando em todos os links que aparecem. Isso é um dos equivalentes a não 'falar com estranhos' no mundo real.
b) Suspeite de coisas 'grátis' ou muito baratas (vale aquele ditado: quando a esmola for demais, até santo desconfia). Também é equivalente a "não aceitar nada de estranhos: balas, doces, brinquedos"....
c) Apenas deixe seu computador na mão de terceiros se isso for absurdamente necessário, e que estes terceiros sejam da sua plena confiança. Afinal de contas, nunca se sabe o que pode acontecer quando o computador da gente vai parar na mão de outra pessoa que desconhecemos. Para garantir, peça referências e conselhos de amigos que já usaram o serviço da pessoa ou empresa, se for o caso.
d) Na dúvida, se conhece alguém que trabalha com TI, pergunte o que dá pra fazer em casos de emergência, mas desde que confie na pessoa. A regra da confiança vale sempre.
A esta altura, vocês aí que estão lendo (e chegaram até aqui) podem até pensar: "Esse cara enlouqueceu! Misturando Internet com coisas de antigamente! Não falar com estranhos, não aceitar nada de estranhos...". Pois é, a regra é antiga mas também vale para os novos meios de comunicação e novos meios de convívio (virtual inclusive).
Fora isso, também existem algumas outras recomendações, mas estas eu vou deixar em vídeo pra vocês, com uma entrevista minha ao programa 5cronia da NET Bagé, apresentado pelo meu amigo Josias. O vídeo é antigo, mas vale para os dias de hoje:
Só lembrando: A segurança da Informação se cria com bons hábitos! Desenvolva e mantenha os seus :) Por hoje é só, pessoal!
segunda-feira, 23 de abril de 2012
O futuro está chegando: Kinect em salas de cirurgia!
Opa, opa!
Uma das coisas que li e que achei interessantes: o uso do Kinect por um hospital para auxílio nas cirurgias e manipulação de exames. O futuro está vindo, com força total :)
Segue matéria no Tecnoblog. Clica!
Uma das coisas que li e que achei interessantes: o uso do Kinect por um hospital para auxílio nas cirurgias e manipulação de exames. O futuro está vindo, com força total :)
Segue matéria no Tecnoblog. Clica!
Assinar:
Postagens (Atom)



