quarta-feira, 14 de outubro de 2020

Teclas Atalho Libre Office

 

AtalhoEfeito
HOMEPosiciona o cursor no começo da linha corrente
SHIFT+HOMEPosiciona o cursor no começo da linha corrente, selecionando o texto da posição inicial até o começo da linha
ENDPosiciona o cursor no fim da linha corrente
SHIFT+ENDPosiciona o cursor no fim da linha corrente, selecionando o texto da posição inicial até o fim da linha
CTRL+HOMEPosiciona o cursor no começo do documento
SHIFT+CTRL+HOMEPosiciona o cursor no começo do documento, selecionando todo o texto, da posição inicial até o começo do documento
CTRL+ENDPosiciona o cursor no final do documento
SHIFT+CTRL+ENDPosiciona o cursor no final do documento, selecionando todo o texto, da posição inicial até o final do documento
CTRL+Seta à esquerdaMove o cursor para a esquerda, uma palavra por vez, posicionando o cursor no início da palavra
SHIFT+CTRL+Seta à esquerdaMove o cursor para a esquerda, uma palavra por vez, selecionando o texto
CTRL+Seta à direitaMove o cursor para a direita, uma palavra por vez, posicionando o cursor no início da palavra
SHIFT+CTRL+Seta à direitaMove o cursor para a direita, uma palavra por vez, selecionando o texto

quinta-feira, 12 de março de 2020

Ontologia

Podemos, resumidamente, dizer que uma ontologia é uma representação computacional de um
determinado domínio de conhecimento.
Ontologias são agora fundamentais para muitas aplicacões como portais de conhecimento científico, gerenciamento de informações e integração de sistemas, comércio eletrônico, e principalmente serviçoos relacionados com web semântica [1]
Uma ontologia é uma taxonomia de conceitos com atributos e relações, que proporciona um vocabulário consensuado para definir redes semânticas de unidades de informações interrelacionadas.[2]
Ontologia, a disciplina que estuda e determina as relações entre conceitos estabelecendo regras lógicas de racioncínio sobre estes conceitos gerando linguagens que são compreendidas pelos computadores.[3]
Agentes são programas gerados para coletar conteúdos na web a partir de fontes diversas, processar a informação e permutar os resultados com outros programas permitindo através de linguagem que expressa inferências lógicas resultantes do uso de regras e informação como aquelas especificadas pelas ontologias[3].


RDF Resource Description Framework - http://www.w3.org/RDF/


Fonte:
[1] Populando ontologias através de informações em HTML - o caso do currículo lattes - André Casado Castaño
[2] Aplicación de técnicas de la web semántica - Pablo Castells - Ecuela Politécnica Superior - Universidad Autónoma de Madrid - pablo.castells@uam.es
[3] Web Semântica: Novo desafio para profissionais da informação - Rosa Maria Vivona Bertolini Oliveira - PUC Campinas - vivona@puc-campinas.br

Modelo de Maturidade para interoperabilidade


Modelo de Maturidade para interoperabilidade

Padronização
Implementação
Marco
Contexto
Ações
Governança
Sócio Cultural Não Existe Nenhum Nenhum Nenhum
Político-Legal Existe Geral Muitas Fraca
Organizacional Existe Geral Muitas Média
Informacional Existe Em alguns setores Muitas Fraca
Tecnológica Existe Muitos setores Muitas Fraca

No órgão onde eu trabalho, existe um ecossistema muito diversificado onde a maturidade dos processos varia entre muito maduro até inexistente. Em um debate interno classificou-se o órgão em dois setores que estão com processos bem definidos e maduros que estão com “fartura” de de profissionais pensantes e que possibilitam soluções e outros três setores que são as “fontes” de problemas não resolvidos.

Verifica-se esta situação por ser uma área em que a sociedade civil esta ainda bem organizada e seus processos são inexistentes ou pouco maduros, onde sua reprodutibilidade é baixa. Nos 6 anos de existência do órgão, não faltaram esforços para mapear os processos a fim de buscar uma padronização mínima. Porém o insucesso dos esforços é por falta de maturidade nestes processos. Observa-se que desde o início da gestão deste órgão, o avanço foi muito grande, pois muitos repasses financeiros que eram feitos para os municípios e estados não se tinha controle, hoje existe um acompanhamento, precário.

Os dois setores que foram considerados “organizados”, seus objetos de trabalho são bem definidos e delimitados, os demais setores estão ou estavam buscando a melhor forma de gestão. Existe um atropelo de tempo, processos, oportunidades, etc. Por exemplo, desde a criação do órgão, havia necessidade de manter os “gastos”, “repasses” herdados dos órgãos de origem. Junto com esta tarefa, foi gasto um esforço muito grande para buscar Marcos Legais para as principais políticas. Em paralelo houve um trabalho de organização de Câmaras Técnicas, Conselhos, Conferências para mobilizar as bases municipais e estaduais para o convencimento e prática da política, uma vez que não existe representantes legais nestes lugares. Estas sementes foram plantadas durante as duas gestões do governo Lula e os muitos frutos foram sendo colhidos. Durante a colheita de muito destes frutos descobriu-se falhas no processo. Por exemplo, em 2005 foi implantada um Norma Operacional Básica da Política, hoje em 2010 está-se estudando sua atualização. Muitos municípios ainda não conseguiram implementar a primeira NOB e sua atualização já esta quase para ser aprovada.

Em um contexto muito dinâmico como este, é muito caro mapear e implantar processos que levam mais de dois anos para sua entrega e utilização. Tem que se buscar em ambiente instáveis e “nebulosos” ferramentas que permitam os gestores de todos os níveis contribuir com suas experiências e buscar modelos e referências com casos reais de sucesso.

Um dos objetivos da participação neste curso é desenvolver habilidades que incentivem a interoperabilidade de práticas de gestão para que em um próximo passo seja possível a interoperabilidade de dados e conhecimento.

Tamanho tabela e database POSTGRES




Para determinar o tamanho de uma tabela no banco de dados atual,  o seguinte comando. Substituir tablename pelo nome da tabela que se deseja verificar:

SELECT pg_size_pretty( pg_total_relation_size('tablename') );

Para determinar o tamanho de um banco de dados, o seguinte comando. Substituir dbname pelo nome do banco de dados que se deseja verificar:

SELECT pg_size_pretty( pg_database_size('dbname') );


Hibernate Annotations

Requer:
a) Hibernate Core 3.3 ou superior
b) JDK 5.0 ou superior

Configuração:
a) arquivos MINLIB3.3


import org.hibernate.*;
import org.hibernate.cfg.*;
import test.*;
import test.animals.Dog;

public class HibernateUtil {

private static final SessionFactory sessionFactory;

static {
try {

sessionFactory = new AnnotationConfiguration()
configure().buildSessionFactory();
} catch (Throwable ex) {
// Log exception!
throw new ExceptionInInitializerError(ex);
}
}

public static Session getSession()
throws HibernateException {
return sessionFactory.openSession();
}
}

Hibernate Query

Formas de consultas em Hibernate.
Primeiro HQL:
session.createQuery("from Category c where c.name like 'Laptop%'");

Segundo é Criteria API para consulta por criteria (QBC) e consulta por exemplos (query by example - QBE):
session.createCriteria(Category.class)
.add( Restrictions.like("name", "Laptop%") );

Terceiro: Uso direto de SQL com mapeamento automático dos resultados para objetos:
session.createSQLQuery(
"select {c.*} from CATEGORY {c} where NAME like 'Laptop%'",
"c",Category.class);


Para executar uma consulta na aplicação, necessita-se obter uma instância uma destas interfaces utilizando Session. Uma consulta envolve inúmeros passos como:
1) Criar uma consulta, com qualquer restrição ou projeção dos dados que se deseja recuperar;
2) Atribuir os argumentos em tempo de execução para os parâmetros de consulta; as consultas podem ser reutilizadas mudando-se as configurações.
3) Executar a consulta preparada sobre o banco de dados e recuperar as informações. Pode-se controlar como a consulta é executada e como os dados devem ser recuperadas para a memória (por exemplo, tudo de uma vez ou em partes).

XML to Array PHP

Contribuição de Ricardo Feitosa (Transforma um XML para array)


function xml2array($xml)
{
$xmlary = array();
$reels = '/<(\w+)\s*([^\/>]*)\s*(?:\/>|>(.*)<\/\s*\\1\s*>)/s';
$reattrs = '/(\w+)=(?:"|\')([^"\']*)(:?"|\')/';
preg_match_all($reels, $xml, $elements);
if (is_array($elements))
{
foreach ($elements[1] as $ie => $xx)
{
$cdend = strpos($elements[3][$ie], "<");
if ($cdend > 0)
{
$xmlary[$elements[1][$ie]] = substr($elements[3][$ie], 0, $cdend - 1);
}
if (preg_match($reels, $elements[3][$ie]))
$xmlary[$elements[1][$ie]] = xml2array($elements[3][$ie]);
else
if ($elements[3][$ie])
{
$xmlary[$elements[1][$ie]] = $elements[3][$ie];
}
}
return $xmlary;
}
return $xml;
}

function xml2get($id,$xml)
{
$parametros = xml2array($xml);
$resultado = "";
foreach ($parametros[$id] as $key => $value)
$resultado.= "$key=".urlencode($value)."&";
if (substr($resultado,-1) == "&")
return substr($resultado,0,-1);
return false;
}