A Adobe vai propor a passagem a norma internacional ISO o formato PDF 1.7. O que está a ser anunciado em: http://www.adobe.com/aboutadobe/pressroom/pressreleases/200701/012907OpenPDFAIIM.html.
Web,ruby, Ajax ou qualquer outra coisa que me venha a cabeça (com prioridade para esta última)
A Adobe vai propor a passagem a norma internacional ISO o formato PDF 1.7. O que está a ser anunciado em: http://www.adobe.com/aboutadobe/pressroom/pressreleases/200701/012907OpenPDFAIIM.html.
O A List Apart nº. 231 apresenta dois artigos:
O W3C publicou 8 novos standards na familia XML para data mining, transformação de documentos e computação empresarial de serviços web a bases de dados. "Mais de 1000 comentários de pessoas que desenvolvem ajudaram a assegurar a resiliência e a implementabilidade do conjunto de tecnologias de bases de dados", disse Jim Melton da Oracle. O XSLT tranforma documento em diferentes marcações ou formatos. O XML Query pode efectuar buscas, inquéritos e junções sobre coleções de documentos. Usando expressões XPath, XSLT 2 e XQuery podem operar sobre documentos XML, bases de dados XML, bases de dados relacionais, motores de busca e repositórios de objectos.
Por favor note que a informação aqui presente se baseia na actual especificação para (X)HTML5. alguns dos detalhes não são aplicáveis tecnicamente a anteriores versões de HTML.
Embora o HTML e o XHTML possam parecer serem similares na sua sintaxe, são bastante diferentes de várias formas.
Nota: Como o actual documento WHATWG ainda é um rascunho esta secção necessita de ser acompanhada como um alvo em movimento.
As diferenças marcadas com @@@ são diferenças que podem teoricamente ser alteradas sem afectar a retrocompatibilidade
É este tipo MIME que determina que tipo de documento está a usar. Se tentar enviar XHTML como text/html de facto está a usar HTML, eventualmente com erros sintáticos.
Tecnicamente, de acordo com a especificação é permitido enviar XHTML 1.0 como text/html. Mas devido à razão anteriormente apresentada tal documento é considerado como documento em HTML e não em XHTML.
O XHTML usa requisitos de análise/interpretação XML. O HTML usa os seus próprios requisitos que estão definidos de uma forma que se apresenta muito mais próxima da forma de tratamento que os navegadores dão ao HTML actualmente.
O XHTML usa requisitos de análise/interpretação XML. O HTML usa os seus próprios requisitos que estão definidos de uma forma que se apresenta muito mais próxima da forma de tratamento que os navegadores dão ao HTML actualmente.
Tanto o HTML 4.01 como o HTML 5 usam text/html.
Content-Type: text/html; charset=UTF-8
* A FAZER
Alguns atributos definidos em HTML4 não foram incluídos em HTML5. Eis a lista actual (sujeita a alterações, ver especificação):
Além disso o HTML5 não tem nenhum dos atributos de apresentação que figuram em HTML4 (incluindo aqueles que figuram em <table>). Quaisquer atributos definidos em elementos que não figurem em HTML4 obviamente também não figuram em HTML5.
Os seguinte elementos estão presentes em HTML4 mas não se encontram definidos em HTML5:
Algoritmo HTML 4
Fonte 5.2.2 Especificação de codificação de caracteres na especificação HTML 4.01.
Algoritmo HTML 5
Isto ainda está indefinido na especificação. Ver Detecção de Codificação de Caracteres para documentação.
Esta secção poderá pertencer a uma página diferente.
Isto é uma tradução de um artigo de Martin Fowler sobre ClassInstanceVariable (uma variável de instância de classe).
Quando se aprende algo sobre objectos normalmente aprendemos que esses objectos capturam dois tipos de dados: instância (exemplar) e classe. As variáveis de instância são as mais comuns, os dados variam de instância para instância do objecto. As variáveis de classe, também conhecidas por variávies estáticas, são partilhadas por todas as instâncias (exemplares) da classe. Cada instância aponta para o mesmo valor e qualquer alteração é vista por todas as instâncias. As variáveis de classe são muito menos comuns do que as variáveis de instância especialmente variáveis de classe que sejam mutáveis.
Um dos aspectos complexos das variáveis de classe é como é que elas interagem com uma hierárquia de herança. Consideremos uma variável de classe que é usada para guardar a própria instância.
class Empregado
@@exemplares = []
def self.exemplares
return @@exemplares
end
def guardar
@@exemplares << self
end
def initialize nome
@nome = nome
end
end
Empregado.new("Martins").guardar
Empregado.new("Roberta").guardar
Empregado.new("Eurico").guardar
puts Empregado.exemplares.size
Não há aqui nenhuma surpresa, há três empregados. Agora experimentemos isto:
class Empregado
@@exemplares = []
def self.exemplares
@@exemplares
end
def guardar
@@exemplares << self
end
def initialize nome
@nome = nome
end
end
class Programador < Empregado; end
class Restodopessoal < Empregado; end
Restodopessoal.new('Martins').guardar
Restodopessoal.new('Roberta').guardar
Programador.new('Eurico').guardar
puts Restodopessoal.exemplares.size
puts Programador.exemplares.size
O resultado é 3 e 3, enquanto preferiamos obter 2 e 1. A razão por que isto se passa é que a variável de classe é partilhada ao longo de todas as instâncias da classe e essas incluem todas as subclasses. Há duas classes mas só uma variável.
Por vezes esta variável que perpassa a totalidade da hieráquia é o que necessitamos, mas por vezes, como neste caso, preferiamos ter uma variável diferente em cada classe. Podemo-nos referir a uma variável de instância de classe do mesmo modo que a uma variável de classe, mas teremos um valor diferente por classe.
O suporte para variáveis de instâncias de classe não é comum nas linguagens OO, mas não é difícil de criarmos um nós próprios. O modo óbvio de o criar seria o de usar um dicionários de chaves por nome de classe.
class Empregado
@@exemplares = {}
def self.exemplares
@@exemplares[self]
end
def guardar
@@exemplares[self.class] || = []
@@exemplares[self.class] || = << self
end
def initialize nome
@nome = nome
end
end
class Programador < Empregado; end
class Restodopessoal < Empregado; end
Restodopessoal.new('Martins').guardar
Restodopessoal.new('Roberta').guardar
Programador.new('Eurico').guardar
puts Restodopessoal.exemplares.size
puts Programador.exemplares.size
Pode usar esta técnica em qualquer linguagem OO. Ruby contudo tem de facto variáveis de instância de classe.
class Empregado
class << self; attr_accessor :exemplares; end
def guardar
self.class.exemplares || = []
self.class.exemplares << self
end
def initialize nome
@nome = nome
end
end
class Programador < Empregado; end
class Restodopessoal < Empregado; end
Restodopessoal.new('Martins').guardar
Restodopessoal.new('Roberta').guardar
Programador.new('Eurico').guardar
puts Restodopessoal.exemplares.size
puts Programador.exemplares.size
A definição da variável de instância de classe é o fragmento class << self; attr_accessor :exemplares; end
.
Alguém me sabe dizer se há estudos similares a este sobre pobreza de linguagem em português?
Uma das coisas que me tem preocupado neste sítio é que a linguagem não seja excessivamente hermética, mas tenho dado demasiados erros (e não me estou a referir só a erros ortográficos) pois, normalmente, quando faço uma nova entrada, faço-o de forma apressada. O meu tempo livre realmente tem escasseado e isso leva a alguns facilitismos. Por essa razão este ano 2007 irão ver menos entradas mas entradas mais elaboradas (espero).
Num esforço para alinhar este espaço com essa maior exigência estou a tentar que este sítio fique tão conforme quanto o possível dentro dos meus conhecimentos e uma das coisas já alcançadas é conformidade com o HTML 4.01. A conformidade com o CSS 2.1 está a caminho mas vai demorar algum tempo. Poderá ainda haver uma alteração profunda do HTML de modo a poder alcançar numa terceira fase WAI-A ou mesmo um WAI-AA. Isto não é muito fácil quando se trabalha num ambiente que não se estudou previamente (blogger). É sempre mais difícil começar com uma paleta já preenchida do que com uma paleta em branco excepto se a paleta preenchida for de muito boa qualidade.
Não consigo por exemplo perceber que no novo bloguer um blogue criado de raiz tenha mais do que 700 erros e avisos por parte do validador do W3C. No WordPress isso não sucede.
Ainda não explorei a via da instalação do site noutro local e apontar para lá a partir do actual URL, mas só o farei se de todo me for impossível fazer o que pretendo.
O conteúdo irá obedecer a algumas regras de estilo que estou a esboçar de forma a poder manter um padrão de qualidade. Tenho que admitir que aqui gosto particularmente da forma de escrita de um conjunto de pessoas que englobam a Amy Hoy (rails e companhia), a Kathy Sierra (Creating Passionate Users), o Ivo Gomes, o João Craveiro e noutro tipo de conteúdo o Pacheco Pereira. Claro está esta lista não é exaustiva posso dizer que leio irregularmente algumas centenas de sítios/blogues e subscrevi algumas dezenas de feed.
Essa exigência leva-me a ter que informar os leitores deste sítio que o texto sobre semântica é demasiado pobre para poder sequer ser considerado como ponto de partida. Infelizmente vejo que continua a ser uma das entradas mais lidas deste sítio (cerca de 400 leitores, em média mensal, no último ano, com ligeira tendência para a baixa) e que não o retiro de linha só para poder lembrar-me das barbaridades ditas nele.
Para intróito de bom ano já deve chegar. Bom Ano para todos.