segunda-feira, 26 de novembro de 2012

Como desenvolver um livro digital com EPUB

Este artigo orienta você na criação de eBooks no formato EPUB. O EPUB é um formato feito para o desenvolvedor, baseado em XML, que está surgindo como o padrão de facto para livros digitais. Mas EPUB não serve somente para livros, com ele é possível:
  • Empacotar documentação para leitura offline ou fácil distribuição;
  • Empacotar postagens no blog ou outro conteúdo nativo da web;
  • Desenvolver, procurar e recombinar usando ferramentas comuns de software livre.

Sobre este artigo

Você inicia este artigo gerando um livro EPUB manualmente para ajudar a conhecer todos os componentes e arquivos necessários. Em seguida, o artigo mostra como empacotar o livro digital concluído e validá-lo com a especificação, como também testá-lo em vários sistemas de leitura.
Então, ele descreve como gerar EPUB a partir de DocBook XML—um dos padrões mais usados para documentação técnica — e como usar Python para automatizar completamente a criação de EPUB com DocBook de ponta a ponta.
Acrônimos usados frequentemente:

quarta-feira, 11 de julho de 2012

Dividir texto entre colunas usando funções


As funções de texto são úteis para manipular seqüências de caracteres nos seus dados, por exemplo, distribuindo o nome, o nome do meio e o sobrenome de uma célula em três colunas separadas.
Este artigo demonstra como usar combinações das seguintes funções de texto para extrair e copiar componentes de nome em células separadas.
FUNÇÃOSINTAXE
ESQUERDAESQUERDA(texto, núm_caract)
EXT.TEXTOEXT.TEXTO(texto,núm_inicial,núm_caract)
DIREITADIREITA(texto, núm_caract)
LOCALIZARLOCALIZAR(localizar_texto,no_texto,núm_inicial)
NÚM.CARACTNÚM.CARACT(texto)

Extraindo componentes do nome

A chave para a distribuição de componentes de nome ao usar funções de texto é a posição de cada caractere dentro de uma seqüência de caracteres de texto. As posições dos espaços dentro da seqüência de caracteres de texto são importantes porque indicam o início ou fim dos componentes do nome em uma seqüência de caracteres.
Por exemplo, em uma célula que contenha somente o nome e o sobrenome, o sobrenome inicia depois da primeira instância de um espaço. Alguns nomes na sua lista podem conter um nome do meio. Nesses casos, o sobrenome inicia depois da segunda instância de um espaço.
Este artigo mostra como extrair os vários componentes de uma série de formatos de nome. Clique em um nome de exemplo na tabela a seguir para ver as fórmulas de extração dos componentes desse nome.
 OBSERVAÇÃO   Talvez seja mais fácil entender as fórmulas de cada exemplo se você copiá-los para uma planilha em branco.

terça-feira, 10 de julho de 2012

Três dicas rápidas para reuniões de diretoria


As reuniões são um mal necessário no mundo dos negócios. Como tornar a comunicação mais efetiva com outros diretores?


Se quiser se fazer entender em apresentações para a diretoria, siga estas três dicas: 


Sempre


Planeje a sua comunicação. Nunca improvise. Planejar ajuda a ser objetivo e aumenta suas chances de alcançar os resultados desejados. Tire cinco minutos para planejar sua mensagem com alguns passos simples.


Primeiro: Determine o resultado de seus negócios de alto nível.


Segundo: Considere sua audiência e a origem dela. Quanto mais você souber sobre alguém, melhor você pode influenciá-lo e movê-los para a ação.


Terceiro: Escolha o método certo para se comunicar. Eu recomendo cara a cara, ou através de diálogo sempre que possível, porque o feedback é imediato.


Por último: Saber o que você vai fazer se seu tempo for curto. Se você tem meia hora para sua reunião, esteja pronto para apresentá-la em 15 ou mesmo em 5 minutos.


Algumas vezes


Envie uma ficha técnica antes de iniciar uma conversa importante, especialmente quando informações detalhadas são essenciais para tomada de uma decisão abalizada. Isto é especialmente importante para diretores executivos que tomam decisões baseadas mais em fatos do que em emoções. Além disso, há momentos em que uma perspectiva externa é importante para desenvolver seu caso. Muitas vezes um consultor tem mais facilidade em passar uma mensagem dura.


Nunca


Não invente. Quanto mais alto o seu cargo em uma organização, mais você precisará de pessoas francas à sua volta e menos elas estarão lá. Honestidade possui grande poder e credibilidade.


Não protele, esperando ter absolutamente todas as informações, especialmente quando passar notícias ruins. Aí será tarde demais. Alguém vai preencher o vácuo de comunicação com suas próprias mensagens ao invés da sua, e você estará na defensiva.

Scrum: quais os diferenciais desta metodologia?


Ele é considerada hoje o melhor caminho para investir no desenvolvimento ágil de software, tornando mais controlável as mudanças que poderiam acontecer durante os projetos.

Atualmente, a complexidade dos softwares é algo que vem crescendo constantemente, junto com a necessidade dos sistemas incorporarem diversas funcionalidades. Para lidar com isso, algumas empresas investem em metodologias de gerenciamento, como o Scrum, que é  aplicada  ao desenvolvimento de projetos, em busca de melhor controle sobre o planejamento estratégico, técnicas e qualidade do software. Considerada uma metodologia ágil de gerenciamento de projetos executados por pequenas equipes, auto-organizáveis e que trabalham com entregas cíclicas, tornando o desenvolvimento do projeto algo iterativo, o Scrum pode ser utilizado em projetos que não estejam ligados ao desenvolvimento de software, embora seu uso concentre-se nesta área.

Mas, quais seriam os diferenciais desta metodologia? Basicamente, ela apresenta-se como uma maneira alternativa para o gerenciamento de projetos, que não possam ter todo seu processo definido, tornando mais controlável as mudanças que poderiam acontecer durante o desenvolvimento. Ou seja, o Scrum defende que um projeto seja executado em pequenas etapas, com no máximo 30 dias, chamadas de sprint, e que ao término de cada etapa, o produto desenvolvido possa ser entregue para avaliação do cliente. Vamos ver como isso funciona na prática?

segunda-feira, 9 de julho de 2012

Backup de mensagens armazenadas nas nuvens


Muito embora o Gmail pertença a uma linhagem de aplicativos de ponta com todo seu mecanismo baseado na nuvem Web e tendo por trás a Tecnologia de Segurança, Backup e Data Centers redundantes, eventualmente ouço a pergunta: “Consigo fazer backup local dos meus e-mails?”
Na prática, desde que a Google implementou o Gmail, não sabemos de nenhum caso onde a caixa postal de um usuário tenha simplesmente desaparecido. O Gmail é considerado um dos melhores serviços de correio em termos de Segurança e Backup.
Para você ter uma cópia de segurança de todas as mensagens dos usuários de uma empresa que use o Google Apps Business é necessário adquirir o Google Postini Discovery. Nas versões gratuitas este aplicativo não se encontra disponível.
No entanto para os usuários das versões gratuitas, o mundo não está perdido. Para aqueles que ficam inseguros em deixar suas mensagens nas “Nuvens”, costumo brincar e fazer alusão a esta preocupação como “Síndrome do MS-Outlook”.

Apps: uma nova maneira de ver o desenvolvimento de software


Um dia desses, após uma destas palestras, estava conversando com um professor de um curso de Ciências da Computação e entramos em um assunto interessante: o modelo de desenvolvimento de sistemas, voltado para aplicações complexas e abragentes, típicas do modelo cliente-servidor se aplica ao design de apps móveis? Concluímos que as apps demandam um novo modelo de projeto e acho que vale a pena expor nossos argumentos aqui para validarmos com vocês.
A característica mais marcante de uma app é sua objetividade. Ela tem uma função específica e se atém a ela. É o exemplo prático do conceito de minimalismo em software. Definitivamente, é completamente diferente de um ERP ou aplicação que vemos hoje no modelo cliente-servidor, onde inúmeras funções são executadas pela aplicação.
A app executa uma única função e deve fazê-la bem. Apenas isso. E nos leva a repensar um pouco os princípios do desenho de sistemas. Acostumamos-nos a pensar de forma abrangente e somos treinados para criar aplicações complexas. Nossas práticas e métodos de desenho de sistemas são aderentes à complexidade e, portanto, também são complexos. Tanto é assim que nos últimos anos, devido à velocidade com que TI deve responder às demandas dos negócios, surgiram novas propostas que dessem mais agilidade ao processo, como o “Agile Development”. Bem, falando em simplicidade, vejam este filme do TED, de 2007, onde John Maeda, que escreveu o livro “Laws of Simplicity”, fala sobre simplicidade.

Virtualização de Desktops ou Aplicativos? Faça a escolha certa!


Acompanhando muitas vezes o time de vendas da consultoria na demonstração de produtos Citrix e muitas vezes apoiando remotamente através de conversas notei que em diversas empresas a dúvida sobre qual solução de virtualização é a melhor para seus usuários ainda paira no ar. Muitas empresas solicitam visitas para demonstração de virtualização de Desktops como o XenDestkop da Citrix, esperando que esta é a melhor solução e muitas vezes acabam optando pelo antigo Metaframe, hoje XenApp.
Para entendermos melhor a diferença, vamos imaginar o seguinte cenário: imagine que você necessite entregar aplicativos como o ERP, CRM, Microsoft Office e sistemas desenvolvidos internamente em sua empresa para 100 usuários. Estes usuários podem estar em sua rede local, remotos através da internet ou ainda em sites remotos em sua rede MPLS. Pensando em uma solução de entrega de Desktops virtuais com o sistema operacional Windows 7 por exemplo, seria necessário a criação de 100 Desktops virtuais, considerando 2 GB de memória RAM para cada Desktop, seriam necessários servidores físicos com uma capacidade mínima de 200 GB de memória RAM. Quando partimos para a virtualização de aplicativos, este investimento cai para dois servidores com pelo menos 8 a 16 GB de memória RAM considerando estes 100 usuários. Produtos como o Citrix XenApp, são capazes de entregar todos os aplicativos necessários através de páginas Web, seja na rede local, seja remotamente. Neste caso, em um ambiente com 100 usuários, os aplicativos necessários seriam instalados em servidores Windows Server (2003, 2008, etc.) e entregues através do Citrix XenApp, responsável pela camada de virtualização dos aplicativos. E o detalhe é que estes aplicativos podem ser entregues para qualquer dispositivo sejam computadores, Notebooks, Tablets, Smartphones, etc.