25 á 34

O Garbage Collector (GC) é um componente vital e fundamental da JVM ,responsável por liberar memória não utilizada.

A abordagem de acumular lixo antes de realizar coletas maiores é eficiente e evita fragmentação de memória.

Estudos extensivos levaram ao abandono de algoritmos mais antigos ,como o refence counting.

Uma vez que modelo de memoria java permite a mudança de objetos de lugar ,facilitando assim a executação de VM.

Entretanto o heap sendo configuração ,com opções como Xms e Xmx, impacta a alocação de memoria na JVM.

Uma vez que já vimos a opções do garbage collector da JVM é importante para otimizar o seu desempenho na aplicação.

4º 35 á 44

Entretanto uma versão de Hibernate resultar em vários problemas .

Tendo erros como SuchMethodError visto que ocorre quando espera uma versão antiga que não existe na nova versão .

O mesmo problema acontecer no DLL Hell,frequente mente chamado de classloader hell na java .

Tendo diferentes classloaders que carregam classes de diretórios em comum,levando a class CastException.

Pois uma classe sendo carregada por classloaders diferentes .

A arquitetura tradicional dificulta que aplicação a ser substituida por componentes do classloader do container.

No entanto o modelo Tomcat permitem essa substituição.

A ordem de resolução das classes passa a ser :primeiro o Bootstrap,depois as classes da aplicação e depois as compartilhadas do Container.

Livro – IAI

Web Design & HTML Avançado (pgs 13-24)

O seguinte resumo discute o conceito de web design, destacando sua evolução ao longo dos anos. O web design moderno, originalmente associado à programação e codificação, prioriza o conhecimento visual e criativo em vez do HTML. O planeamento estratégico, a compreensão das possibilidades e limitações da rede e a procura de um equilíbrio entre os obstáculos técnicos e a criatividade são cruciais. O desenvolvimento da Internet foi contextual, desde a criação da ARPANET até o surgimento da World Wide Web (WWW) e do Mosaic, que revolucionaram o acesso à informação. Ao contrário dos meios de comunicação tradicionais, a Internet é uma forma democrática de comunicação que permite a qualquer pessoa publicar informação.

São explicadas as diferenças entre a Internet e a WWW, enfatizando a importância do protocolo de comunicação TCP/IP e do Serviço de Nomes de Domínio (DNS). O papel das portas na Internet e a variedade de serviços fornecidos, como FTP, e-mail e acesso à Web, são discutidos. O surgimento da WWW como serviço de hipertexto proporcionou uma experiência não linear de navegação e acesso à informação. Por fim, a plataforma Web é definida como um sistema baseado no protocolo HTTP, envolvendo servidores Web, navegadores e o próprio protocolo. O conceito de hipertexto é explicado como base para a navegação não linear na web. O texto destaca a transformação dos navegadores modernos em clientes universais para diversos serviços de Internet, solidificando a transformação da web em um meio de comunicação versátil e democrático.

O HTML passou por diversas versões ao durante anos, cada uma introduzindo novos recursos e melhorias. As versões mais notáveis ​​incluem HTML 2.0, HTML 3.2, HTML 4.01, XHTML 1.0, HTML5 e atualizações seguintes de HTML5. HTML5 é a versão mais recente e amplamente adotada, trazendo melhorias significativas com suporte a multimídia nativa, elementos semânticos e maior interoperabilidade entre navegadores. 1.4.3. CSS (folhas de estilo em cascata) CSS, assim como HTML, desempenha um papel vital na formatação e renderização de páginas da web. As folhas de estilo em cascata são um conjunto de regras que definem o estilo visual de um documento HTML. HTML cuida da estrutura e marcação do conteúdo, enquanto CSS controla layout, cores, fontes e outros aspectos visuais.

Com a utilização do CSS, os webdesigners conseguem separar o estilo do código html, isso é um processo muito fácil e muito utilizado para a atualização e a consistência visual num website qualquer. Ao inves de ser inseridos estilos nas tags do HTML , o CSS permite que os estilos sejam especificados em um ficheiro separado mas na mesma pasta site.

Exemplo:

No exemplo acima, o estilo está a ser utilizado para definir a fonte de letra, a cor do background do corpo da página, cor do título da página e a margem de texto.

XML (Extensible Markup Language)

O XML é uma tecnologia essencial na plataforma web, contudo, possui uma finalidade diferente do HTML. Enquanto o HTML é utilizado para estruturar informações destinadas à apresentação, o XML foi concebido para representar dados de maneira organizada e facilmente interpretável por máquinas. Com o XML, é possível criar documentos com marcações personalizadas, definidas pelo usuário, o que confere a ele uma alta flexibilidade. Essa tecnologia é amplamente empregada na troca de dados entre sistemas heterogêneos e como formato de armazenamento para configurações e metadados.

Exemplo:

XSL (Extensible Stylesheet Language)

A linguagem XSL é utilizada em conjunto com o XML para transformar e estilizar documentos XML. É oferecido um conjunto de instruções para definir como os dados XML devem ser apresentados ou transformados em outros formatos, como HTML ou PDF.

Os desenvolvedores empregam folhas de estilo XSL para descrever as transformações que devem ser aplicadas nos documentos XML. Dessa forma, torna-se possível a criação de visualizações personalizadas ou a conversão de dados em diferentes formatos de saída.

Tecnologias Interativas

Além das tecnologias de apresentação, a plataforma web abarca diversas tecnologias interativas que permitem o desenvolvimento de aplicativos dinâmicos e interativos. Essas tecnologias podem ser divididas em dois grupos principais: aquelas que são executadas no lado do servidor e aquelas que são executadas no lado do cliente.

HTML(HyperText Markup Language)

O HTML , originalmente desenvolvido por Tim Berners-Lee , viu sua popularidade aumentar com a expansão da Web, especialmente através do navegador NCSA Mosaic. Com o surgimento de vários navegadores que utilizavam HTML para navegar na Web, grupos de trabalho foram formados para padronizar as especificações do HTML. A versão 2.0 do HTML, finalizada em 1995, tornou-se a primeira a ser recomendada pelo IETF – Força-Tarefa de Engenharia da Internet, estabelecendo-se como um padrão da Internet. Essa versão era mais simples e definia a estrutura da página, mas não detalhava a apresentação gráfica. Durante o desenvolvimento do HTML 3.0, a Web estava se expandindo rapidamente, e os esforços de padronização não conseguiram acompanhar a demanda do mercado por recursos avançados de apresentação gráfica.

Resumo do livro: Fundamental de UML

Pagina 51 até 63

Diagrama de Atividade.

O diagrama de atividades é uma ferramenta eficaz na modelagem de fluxos de trabalho organizacionais e na descrição detalhada de operações de uma classe, incluindo aquelas com processamento paralelo. No contexto de sistemas de informação de gestão, ele representa um conjunto integrado de atividades de uma organização que busca atingir um objetivo específico, envolvendo vários participantes. Pode ser particularmente útil para detalhar casos de uso associados a processos de negócio.

Além disso, o diagrama de atividades é aplicável na descrição de fluxos de atividades mais amplos, abrangendo diversos casos de uso, sendo considerado um processo de negócio interfuncional na gestão das organizações. Sua capacidade de descrever atividades em paralelo é destacada, sendo útil, por exemplo, em projetos de desenvolvimento de software com atividades simultâneas.

No contexto de aplicações informáticas, o diagrama de atividades pode ser empregado para descrever fluxos de controle de programas em UML. Em comparação com fluxogramas tradicionais, destaca-se pela precisão na representação de processamentos paralelos e pela atribuição de responsabilidades a uma classe na execução de atividades.

No entanto, é enfatizado que o diagrama de atividades não deve ser usado para demonstrar colaboração entre objetos; para isso, diagramas de sequência ou de colaboração são mais apropriados. Da mesma forma, não deve ser utilizado para descrever o comportamento de um objeto ao longo do tempo, sendo recomendado o uso de um diagrama de estado para essa finalidade. Utilizações incorretas, muitas vezes associadas à análise estruturada, são alertadas, enfatizando a necessidade de enquadrar o diagrama de atividades nos princípios da modelação orientada por objetos.

O texto destaca a importância de uma disciplina adequada ao utilizar diagramas de atividades no contexto do paradigma de objetos, ressaltando a integração de atributos e comportamentos. São mencionadas estratégias para identificar o objeto responsável por cada atividade, como a indicação junto a cada atividade ou o uso de “swimlanes” para associar atividades a objetos.

No que diz respeito à representação gráfica, o texto aborda a identificação da atividade inicial, que pode ser virtual ou operacional. Uma atividade operacional é representada por um retângulo com lados arredondados e um identificador, descrevendo ações realizadas no início, durante e no término da atividade, incluindo a ocorrência de eventos.

O texto também aborda o comportamento condicional em fluxos de atividades, mencionando a presença de caminhos alternativos. Para representar o fluxo de controle, são utilizadas “guardas” e diamantes de decisão, com guardas sendo expressões booleanas verificadas para a transição entre atividades. Diamantes de decisão são usados para representar caminhos alternativos com base em expressões booleanas, proporcionando uma maior legibilidade ao diagrama e podendo descrever divergências ou convergências no fluxo de controle.

Resumo do Livro: Como Aprender Design De Interfaces

Página 46 a 60 #Resumo 4

Passos para criação de uma interface:

1. Briefing e Documentação:

  • Reunir informações e necessidades do projeto.
  • Documentar requisitos de maneira clara.

2. Definir Objetivos:

  • Estabelecer metas claras para o projeto, considerando a complexidade.

3. Análise de Concorrentes:

  • Identificar produtos e empresas similares.
  • Analisar pontos fortes, fracos e possíveis diferenciações.

4. Coleta e Análise de Referências:

  • Criar moodboard com inspirações visuais.
  • Utilizar plataformas como Figma, Pinterest, Dribbble e Behance.

5. Esboço Inicial no Papel:

  • Realizar esboços preliminares no papel para estimular criatividade.
  • Gerar ideias iniciais antes de passar para o computador.

6. Arquitetura da Informação e Flow:

  • Definir a estrutura de seções e páginas.
  • Criar fluxo de uso para avaliar usabilidade.

7. Criação do Wireframe:

  • Utilizar Figma para criar versões de baixa fidelidade.
  • Focar em estrutura e hierarquia, iterando rapidamente.

8. Teste de Usabilidade (Opcional):

  • Conduzir teste enxuto para identificar problemas.
  • Resolver problemas de usabilidade antes de abordar aspectos visuais.

9. Tipografia:

  • Escolher até 2 fontes considerando estilo da marca, disponibilidade e legibilidade.
  • Experimentar tamanhos, variações e pesos.

10. Paleta de Cores:

  • Utilizar paleta existente ou criar uma do zero, considerando o contexto do produto ou serviço.

11. Detalhes Finais:

  • Adicionar adornos, sombras, luzes e outros efeitos.
  • Ajustar elementos para garantir precisão.

12. Revisão:

  • Deixar a interface descansar por pelo menos 1 dia.
  • Realizar revisão minuciosa em busca de erros e inconsistências.

13. Protótipo Interativo:

  • Criar protótipo navegável no InVision ou Zeplin para inspeção do desenvolvedor.

Técnicas para Desenvolver Criatividade:

1. Observação:

  • Criar conta em plataformas como Dribbble e Pinterest.
  • Seguir páginas de UI Design no Instagram para coletar referências.

2. Coleta e Análise:

  • Carregar um caderninho ou usar o Evernote para anotar ideias.
  • Criar um banco de ideias para inspiração futura.

3. Combinatividade:

  • Combinação de elementos de ideias diferentes para criar algo novo.
  • Observar e combinar elementos estéticos, usabilidade e textos criativos em interfaces.

4. Análise Ativa de Interfaces em 3 Etapas:

  • Aplicar técnica de aprendizado ativo para retenção de conhecimento.
  • Analisar interfaces de maneira ativa para lembrar de 90% do conteúdo.

Esses passos e técnicas formam uma abordagem geral para o design de interfaces, proporcionando uma estrutura flexível e métodos para estimular a criatividade e o desenvolvimento de soluções eficazes.

Bom dia , venho por este meio submeter o resumo do livro. 1á 14.

A plataforma java ,foi lançada em 1995 pelo Senhor Sun e liderada por Senhor James Gosling,consiste na Maquina Virtual-Java (JVM),um extenso conjunto de APIs e a linguagem java.

A JVM executa bytecodes, instruções genéricas que são compiladas a partir do codigo fonte java proporcionando portabilidade .

A plataforma Java -oferece duas distribuições principais 😮 JDK, focado no desenvolvimento, e o destinada á execução de aplicativo Java.

AJVM sendo importante para a portabilidade ,permite a implementação de diferentes fornecedores como a Hostpost da Oracle ,J9 da IBM e JRockit da BEA/Oracle.

Apesar de desafio como treinamento adicional para desenvolvedores e possíveis incompatibilidades entre implementações ,a plataforma Java se destaca por flexibilidade,portabilidade e capacidade de integrar diversas linguagens e tecnologias.

Este é 15á 24

O Garbage Collector (GC) é um dos principais componentes da JVM.

O GC é responsável por liberação da memória não utilizada ,usando o algoritmo generational copying que divide objetos em gerações ,copiandos os sobreviventes para próxima geração.

O algoritmo generational copying atual nos objetos sobreviventes,não nos descartados ,proporcionado eficiência .

A adaptação á hipótese das gerações e práticas de orientação a objetos ,como criar objetos pequenos e encapsulados,é crucial.

Algoritmos ingênuos de GC podem causas fragmentação, mas o generational copying agrupada objetos sobreviventes, evitando esse problema .

Tendo a compreensão dessas opções e do GC da JVM pode influenciar significativamente o desempenho de uma aplicação.

Pagina 27

Durante o boom da internet, houve uma rápida mudança de foco para a usabilidade. Profissionais do design migraram para o design digital, impulsionando o surgimento de designers e arquitetos de informação, estrategistas de experiência do usuário e designers de interação. Cooper destacou que a usabilidade passou a ser valorizada na criação de melhores produtos para a sociedade. A comunidade de design de interação cresceu, levando à formação da IxDA em 2005. Esse crescimento marcou a maturação da interação como disciplina e profissão essencial na criação de produtos digitais centrados no usuário.

A disciplina da experiência do usuário abrange a maioria das áreas de estudo mencionadas na FIGURA 17. Seu foco reside nas necessidades do usuário ao interagir com um produto, garantindo uma harmonia entre ambos, conforme destacado por Dan Saffer. Cooper também relaciona o design gráfico, de móveis e de interiores à criação de experiências através do uso de diferentes elementos. Ao aplicarmos esse conceito aos produtos digitais, é útil pensar que os designers têm o poder de influenciar as experiências das pessoas ao projetar os mecanismos necessários para a interação do usuário com um produto.

O Design de Interação concentra-se nos conceitos inter-relacionados de forma, comportamento e conteúdo, como mencionado por Cooper. Esse design se preocupa principalmente com o comportamento do produto, mas também considera como esse comportamento se relaciona com a forma e o conteúdo. O processo de construção de produtos interativos, geralmente dividido em fases centradas no usuário, é exemplificado pelo poster da Associação Profissional de Experiência do Usuário (UXPA), que destaca quatro grandes fases: Análise, Design, Implementação e Desenvolvimento, mostrando como essas fases relacionam forma, conteúdo e comportamento do usuário. Dan Saffer também enfatiza a importância dos fatores humanos na interação com produtos digitais, garantindo que estes estejam alinhados com as limitações físicas e psicológicas do corpo humano.

Ambos Saffer e Cooper enfatizam que o Design de Interação está intrinsecamente ligado à experiência do usuário, onde a preocupação com o comportamento, forma e conteúdo é fundamental. Este tipo de design visa oferecer uma experiência ao usuário, seja ela emocional ou funcional, e vai além da estética, sendo fundamentado na compreensão dos usuários e em princípios cognitivos.

2.3 DESIGN DE INTERFACES

2 . 3 .1  A EVOLUÇÃO DO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Alan Cooper descreve a FIGURA 18 como a evolução do processo de desenvolvimento de software ao longo do tempo. No primeiro estágio, os programadores concebiam e testavam o produto sem muita consideração pelos usuários, resultando em um processo demorado e pouco adaptado às necessidades dos mesmos. Na segunda fase, os gerentes de projeto ajudaram a conectar as demandas do mercado aos requisitos do produto, preenchendo a lacuna de conhecimento sobre o mercado.

Com o avanço do Design de Interação e a popularização das interfaces gráficas (GUI), o processo evoluiu. Foram introduzidos testes e designers focados na criação de elementos visuais essenciais, como ícones. Na quarta e última fase, destaca-se o Design Centrado em Objetivos no desenvolvimento de software, onde as capacidades, forma e comportamento do produto são testadas antes da sua construção. Este estágio enfatiza a importância de testar e validar as funcionalidades do produto antes da implementação.

2.3.2 O UTILIZADOR E O FORMATO DIGITAL

Atualmente, o foco principal não está nem no leitor nem no escritor, mas sim no usuário, percebido como alguém com necessidades cognitivas, físicas e emocionais. Este usuário é considerado uma figura a ser protegida, cuidada, analisada e controlada, sujeita a testes e investigações.

Embora a evolução digital tenha criado usuários mais exigentes e especulativos, a capacidade de leitura em telas foi comprovada como eficiente pela interação humano-computador (HCI). No entanto, a transição para formatos digitais, como livros e jornais digitais, tornou os usuários mais seletivos e impacientes devido à sobrecarga de informações.

Essa impaciência, explicam Bierut, Drentell e Heller, não se deve apenas às características das tecnologias de visualização, mas também a um hábito cultural. Os usuários da web têm expectativas distintas dos usuários de mídia impressa, buscando produtividade e pesquisa em vez de contemplação e processamento.

Ate pagina 32

Designing for the Web – Capítulo 5: Trabalhando por Conta Própria

Este capítulo explora a experiência de trabalhar por conta própria, abordando a liberdade e desafios dessa escolha. O autor compartilha experiências, erros e conselhos práticos, principalmente sobre leis britânicas relacionadas a empresas e impostos.

Trabalhando por Conta Própria

Por Que Iniciar um Negócio?

Iniciar um negócio é desafiador. O autor enfatiza que tudo começa com você, seja por uma ideia empolgante ou insatisfação no emprego atual.

Você Precisa de um Plano de Negócios?

Um plano é crucial para visualizar o futuro da empresa e atrair investidores. Destaca seções importantes como resumo, descrição da empresa, produto/serviço, análise de mercado e plano financeiro.

Busque Ajuda

É crucial buscar orientação de profissionais. O autor destaca a contribuição significativa de um bom contador.

Tipos de Empresas

Explica os tipos de empresas no Reino Unido, desde autônomos até empresas limitadas, discutindo suas características e implicações fiscais.

Como se Financiar

Oferece insights sobre financiamento pessoal, contratos preexistentes e a importância de ter uma linha de crédito.

Contabilidade Básica

Explora o conceito de fluxo de caixa, a vida financeira da empresa e tipos de impostos, incluindo imposto de renda, imposto corporativo e VAT.

Construindo uma Base de Clientes

Destaca a importância de construir uma base de clientes antes de se tornar autônomo, incentivando networking e participação em eventos do setor.

Transição do Emprego para o Autônomo

Sugere manter o emprego atual enquanto constrói a carreira autônoma, equilibrando responsabilidades para garantir uma transição suave.

Alcançando o Sucesso a Longo Prazo

Oferece conselhos sobre planejamento a longo prazo e destaca a relevância do serviço ao cliente

Lições Aprendidas

O autor compartilha lições, incluindo a necessidade de manter separação entre trabalho e casa, ser amigável nos negócios, evitar sobrecarga de trabalho, antecipar a contratação, precificar adequadamente, ter confiança e adotar software de contabilidade.

Conclusão e Cronograma

O autor encerra com uma reflexão sobre a necessidade de confiança, organização e amor pelo que se faz.

Inclui um cronograma de seis meses para orientar a transição do emprego para o trabalho autônomo, destacando etapas chave em cada mês.

Designing for the Web – Capítulo 4: As Ferramentas

Neste capítulo, o autor discute as ferramentas essenciais para designers, comparando a escolha de ferramentas à preferência de um carpinteiro por martelos diferentes.

Ferramentas

  1. Caneta e Papel: O autor destaca a importância de sempre ter uma caneta e um bloco de notas por perto. Ele usa vários tamanhos de cadernos para diferentes propósitos e menciona sua preferência por canetas Sharpie Twin Tip e Pilot V-5 Hi Techpoint.
  2. Navegadores: Reconhecendo o desafio de projetar para a web sem conhecer a experiência de navegação do usuário, o autor destaca alguns dos principais navegadores, incluindo Internet Explorer, Mozilla Firefox, Safari e Opera.
  3. Extensões de Navegador: Para o Firefox, o autor recomenda duas extensões valiosas: Web Developer Toolbar e Firebug, destacando suas funcionalidades úteis para designers e desenvolvedores web.
  4. Software de Desktop: O autor compartilha suas ferramentas favoritas para criar designs na tela, incluindo Adobe Photoshop para layouts e Adobe Illustrator para ilustrações e logotipos. Ele também menciona o Adobe Fireworks, embora não o prefira, e discute suas experiências com diferentes editores de HTML, como BBEdit e Coda.
  5. Outras Ferramentas: O autor destaca duas ferramentas adicionais que utiliza regularmente – Transmit para transferências FTP e SFTP, e Dropbox para compartilhamento de arquivos em equipe, destacando sua eficácia na melhoria da produtividade.

Conclusão

Este capítulo aborda as escolhas pessoais do autor em relação às ferramentas de design, enfatizando que não há uma abordagem única correta.

Cada designer pode ter preferências diferentes com base em suas necessidades e conhecimento sobre as ferramentas mencionadas.

Designing for the Web – Capítulo 3: Compreendendo o Fluxo de Trabalho

Um ou Vários Protótipos?

O autor fala sobre o processo de design e partes que os designers geralmente não controlam. Destaca a escolha entre criar um ou vários protótipos durante um projeto.

Exemplo Prático

O autor lembra de um tempo em que, ao proporem trabalhos, sua equipe costumava criar vários designs especulativos. Isso era ineficiente. Propõe a abordagem de criar um design inicial e melhorá-lo com base no feedback, evitando desperdício de tempo.

Design Encontra Desenvolvimento

O autor destaca as tensões históricas entre designers e desenvolvedores, resultado da O autor fala sobre as tensões históricas entre designers e desenvolvedores, enfatizando a importância da colaboração próxima.

Metodologia de Design Perfeita

Não há uma única metodologia perfeita. Cada agência tem sua própria abordagem. Uma abordagem única não funciona para todos os projetos. O autor destaca a importância de ser flexível e se adaptar a diferentes desafios de design.

Adaptabilidade na Abordagem

Comparando com arquitetura, o autor destaca que cada projeto de design é único. Uma abordagem flexível é crucial, assim como em arquitetura, onde diferentes fatores influenciam o processo.

Exemplo Prático

O autor compartilha a experiência de redesenhar o Drupal.org, destacando a necessidade de uma abordagem não tradicional, envolvendo a comunidade desde o início.

Conclusão

O capítulo destaca que cada projeto é único, e os designers precisam ser flexíveis, adaptando-se aos desafios específicos de cada projeto.

Designing for the Web – Capítulo 2: O Trabalho

Trabalhando em uma Agência

Ao começar na web design em 1997 numa agência em Manchester, o autor destaca a era de crescimento da web e a diversidade de experiências em agências pequenas e grandes.

Peixe Grande em um Lago Pequeno

Em agências menores, o designer envolve-se em todo o processo de design, mas também em tarefas administrativas além do design.

Peixe Pequeno em um Lago Grande

Em agências maiores, como AGENCY.COM, o designer lida com contas significativas, mas a comunicação com clientes é indireta, resultando em uma abordagem mais burocrática.

Designer Interno

Após Londres, o autor mudou-se para a BBC em Cardiff, experimentando a dinâmica de designer interno, o que trouxe desafios distintos.

Ritmo e Mentalidade Diferentes

A adaptação ao ritmo mais lento levou cerca de seis meses, e a mudança crucial foi de projetos diversos para focar em um produto contínuo.

“Eu não sou um Designer”

O livro, além de designers, destina-se a desenvolvedores e outros profissionais. Muitos desenvolvedores enfrentam desafios no design prático, e o livro busca oferecer orientações práticas sem considerar o design uma habilidade mágica, mas sim uma ferramenta que segue um conjunto de regras pré-definidas.