underpop

http://underpop.online.fr 2005-10-25  

R e Praat: o software livre na UFMG

R e Praat: o software livre na UFMG

Há algum tempo o software para análise de fala Praat (www.praat.org) conquistou a preferência dos pesquisadores das ciências da fala, não só no Brasil, mas em toda a comunidade científica. Desenvolvido por Paul Boersma e David Weenink , do Institut of Phonetics Sciences
da University of Amsterdam, trata-se de um freeware de codigo aberto que atualmente lança uma nova versão praticamente toda semana. Além disso, o Praat é programável com scripts que permitem torna-lo adequado às mais variadas pesquisas na área de Ciências da Fala.
O Praat pode ser rodado de pen drive ou de CD, não precisando de instalação no computador para ser utilizado. Testes realizados por pesquisadores da Unicamp e da UFMG demostram que ele roda com maior rapidez no Linux do que no Windows, mas e' extremamente compatível com ambos os sistemas operacionas, além de contar com outras versões disponíveis no site.
No próximo semestre,  a disciplina  introdutória de pós-graduação em Fonética e Fonologia da Faculdade de Letras da UFMG estará dedicando 30h a estudos em fonética utilizando o programa.
Quanto ao R, trata-se também de um programa freeware de código aberto, um GNU. Mais especificamente, trata-se de uma linguagem e ambiente para computação estatística e gráficos que provê uma ampla variedade de técnicas estatísticas e gráficas: modelamento linear e não linear, testes estatísticos, análise de séries temporais, classificação e outros. Maiores informações na página http://cran.r-project.org/
O R também será utilizado numa disciplina no próximo semestre na Letras da UFMG, desta vez uma disciplina de graduação de Introdução à Estatística.
Ambas as disciplinas estarão sendo oferecidas pelas professoras Thaïs Cristófaro Silva e Ana Cristina Fricke Matte, vinculadas à linha de pesquisa "Linguagem e Tecnologia", em fase de implementação na pós-graduação em Lingüística,  e membros da atual diretoria da ABRALIN (Associação Brasileira de Lingüística, cuja página foi criada com o XOOPS (www.unb.br/abralin/forum).
FALE/UFMG




Marcadores: ,


2005-10-24  

Smartsections para Xoops 2.0.13 e Xoops 2.2.x

Prezados,
tenho a satisfação de comunicar que os Smartsections [os dois mais atuais] finalmente tem tradução para a comunidade XOOPS no Brasil.
Esse poderoso e versátil módulo pode substituir o News e o Wf-Sections de grata memória :-)
Ambos estão disponiveis para download no [url=www.lingo.xoopsbr.orgfree.com]LINGO[/url]
Abraços
João


Marcadores:


2005-10-22  

guia rápido do xoops para intermediarios

Guia Rápido do XOOPS para Intermediarios

Esse trabalho é uma coletânea do guia que fiz para meu uso próprio quando estava aprendo XOOPS e agora estou disponibilizando para todos.

O considero indispensável para quem quer ganhar agilidade no trabalho com xoops.



Descrição:

Mesmo quando já temos alguma intimidade com o XOOPS é normal pararmos e pensar: "Como mesmo que insere imagens nesse treco?” “O que significa isso aqui que esta no arquivo .css?” e por aí vaí.

O objetivo desse guia é possibilitar rapidez e facilidades nessas circunstâncias.

Os tópicos abordados são:
- Os aquivos no Xoops
- Tags Xoops
- Chamadas XOOPS
- Antes do Body
- CSS Background
- CSS Border
- CSS Fonte
- CSS Pading
- Dicas Personalização Xoops

clique para baixar

César Felipe
8-)


Marcadores:


2005-10-21  

Latinoware Mercosul 2005

Latinoware Mercosul 2005

A Latinoware Mercosul é um dos esforços para unificar o desenvolvimento e a ampliação do uso do Software Livre na região. O caráter cooperativo do software livre é um item importante da pretendida integração cultural, econômica e tecnológica dos países em desenvolvimento. Por isso a Latinoware é uma oportunidade estratégica única para o Mercosul. Além de promover o software livre nos respectivos países, a Latinoware Mercosul terá um forte empenho na qualificação de desenvolvedores e usuários, e estará aberta ao encontro das comunidades de desenvolvedores e usuários. A Latinoware nasceu em 2003, da Conferência Internacional de Software Livre, em Curitiba, e teve sua primeira versão em 2004, em Foz do Iguaçu.

LATINOWARE MERCOSUL - 26 e 27 de novembro de 2005 - Curitiba - Paraná - Brasil

Vamos promover tambem o 1º Encontro da Comunidade XOOPS Paraná / XOOPS BR

Em breve maiores informações sobre as inscrições e programação do evento




Marcadores:


2005-10-17  

Modelos Smarty e PHP

Smarty e PHP, tudo a ver

Quando se descobre o Smarty, é quase inviável viver sem ele. Neste artigo, mostro o seu funcionamento e exemplos do uso de métodos. Você notará um ganho de produtividade geral no desenvolvimento de aplicações.

O que é Smarty?

O Smarty é uma classe de templates. Funciona de uma forma que separe interface da lógica de programação e tem por objetivo, facilitar e melhorar o desenvolvimento de qualquer aplicação em PHP.

Por ser muito difundido no mundo inteiro, e estar ligado ao site oficial do PHP, o Smarty tem uma comunidade grande de desenvolvedores. Isso ajuda no suporte e discussão de melhorias.

A sua última versão (até a escrita deste artigo) é a 2.6.11 (changelog), lançada em Dezembro de 2005.

Principais funcionalidades

Além das funcionalidades que comentei no post anterior (Como desenvolvedor melhor na Web), listo outras:

Instalação

[update] Faça o download do Smarty. Descomprima todas as pastas. Verifique uma pasta "demo", é uma demonstração do funcionamento dele. Coloque a pasta "libs" dentro do "demo". No final você vai ter uma organização de diretórios, igual descrita abaixo. Não esqueça de dar permissão ao diretório "templates_c".

Organização dos arquivos

A árvore padrão de diretório do Smarty está organizada da seguinte maneira:

Esta arquitetura pode ser alterada pelo usuário, lembrando que, depois de alterado os nomes, você deverá modificar algumas linhas do Smarty.class.php (classe principal):

Smarty.class.php:

 var $template_dir = 'templates';
var $compile_dir = 'templates_c';
var $config_dir = 'configs';

Mãos à obra

Programar usando Smarty é ainda mais simples. Todo arquivo PHP deve apontar pra um template. O acesso a banco de dados, críticas mais complexas, e outras lógicas ficam no arquivo PHP (como antes). O que muda aqui é a simplicidade da sintaxe dos templates, facilitando mudanças no futuro pelo Designer ou Programador: cada um altera seu arquivo.

Como o tópico sugere, vou direto ao assunto. Vejam um exemplo muito simples do uso dos templates no Smarty.

index.php:

 <?php
/**
* Define a pasta onde está o Smarty
* esta constante pode ficar em arquivo separado por exemplo
*/

define('PATH_SMARTY', '/path/to/smarty');

/**
* Inclui classe principal do Smarty
*/

require PATH_SMARTY.'/Smarty.class.php';

/**
* Instancia Smarty e seta propriedades
*
* compile_check = avisa ao Smarty para mostrar erros de compilação
* debugging = em fase de desenvolvimento é bom deixar como true,
* uma vez que abre um popup com todas as informações da página gerada
*/

$smarty = new Smarty;
$smarty->compile_check = true;
$smarty->debugging = false;

/**
* Assign é um metodo do Smarty para criar uma
* nova variavel que será usada no Template
*
* sintaxe: assign->('nome_variavel', 'valor');
*/

$smarty->assign('nome', 'Ciro');
$smarty->assign('sobrenome', 'Feitosa');

/**
* Mostra o Template na tela
* observe que até aqui nada foi exibido, só processado
*/

$smarty->display('index.tpl');

?>

index.tpl:

 {config_load file=test.conf}

<html>
<body>
{$nome} {$sobrenome}
</body>
</html>

Ao rodar o index.php pela primeira vez, automaticamente o Smarty criará um cache do conteúdo gerado no diretório /templates_c.

Neste exemplo simplérrimo, deu pra perceber quão simples é a sintaxe utilizada pelo Smarty não é?! Apresentarei agora, métodos que deverão ser usados nos arquivos de templates.

Variável reservada: $smarty

A variável reservada $smarty, traz opções de tratar as informações vindas pelo método GET, POST, ou por Cookies, Sessions, etc. Veja exemplos de chamadas:

 {* mostra o valor de page da URL (GET) http://www.domain.com/index.php?page=foo *}
{$smarty.get.page}

{* mostra a variável "page" de um formulário (POST) *}
{$smarty.post.page}

{* mostra o valor do cookie "username" *}
{$smarty.cookies.username}

{* mostra a variável do servidor "SERVER_NAME" *}
{$smarty.server.SERVER_NAME}

{* mostra a variável de ambiente do sistema "PATH" *}
{$smarty.env.PATH}

{* mostra a variável de session do php "id" *}
{$smarty.session.id}

{* mostra a variável "username" da união de get/post/cookies/server/env *}
{$smarty.request.username}

Assim, na chamada dos formulários você deve inserir no campo value: $smarty.post.nome_do_campo. Exemplo:

formulario.tpl:

 Nome: <input type="text" name="nome" value="{$smarty.post.nome}" /><br />
Estado: <select name="estado">{html_options options=$estados selected=$smarty.post.estado}</select>

Métodos que ajudam

A documentação do Smarty é excelente. Portanto, não tentarei reexplicar o que já existe, mas mostrar rapidamente funções úteis no dia-a-dia.

Para ajudar no entendimento, usarei formulários. Acredito que este seja o uso em que mais ajuda, quando você usa Smarty. Pressupõe que você já tenha incluído a classe do Smarty e instanciado (reveja o exemplo no tópico "Mãos à obra"). Não observem validações de código xHTML, pois não é a ideia central aqui.

Funções modificadoras de variável

São usadas, principalmente, para se modificar uma string. Funções do tipo capitalizar, contar caracteres, contar parágrafos, mudar para maiúsculas, indentar linhas, etc.

Veja um exemplo da função cat, que funciona concatenando 2 strings (veja todas as funções modificadoras de variável).

index.tpl:

 <html>
<body>
{$nome|cat:" é o dono deste Blog."}
</body>
</html>

Funções internas

São funções utilizadas internamente pelos templates. Laços (loops), condicionais (if, else), inclusões (includes). Veja a lista completa de funções internas.

As funções condicionais, assim como em qualquer linguagem, são utilizadas quando se tem uma condição. Imagine que você possui um sistema com login feito em sessão. Se o usuário tiver logado, mostra o nome dele, caso contrário, mostra "Visitante". Veja como fazer isso usando os templates do Smarty:

 {if $smarty.session.nome != ''}
{$smarty.session.nome}
{else}
Visitante
{/if}

Funções personalizadas

Foram criadas afim de se criar de forma automatizada, alguns trabalhos repetitivos. Em se tratando de formulários, é possível gerar checkboxes, menus drop-downs, radios, e menus drop-downs de data e hora, tudo isso podendo vir de um array estático ou dinâmico (preenchido via banco de dados, por exemplo).

Imagine que você tenha um array com os estados brasileiros (num arquivo .php) e deseja gerar um menu drop-down na tela. Use o método html_options. Além desta, existe dezenas de funções personalizadas.

formulario.php:

 $arrayEstados = array(
'AC' => 'Acre',
'AL' => 'Alagoas',
'AM' => 'Amazonas',
'AP' => 'Amapá',
'BA' => 'Bahia',
'CE' => 'Ceará',
'DF' => 'Distrito Federal',
'ES' => 'Espírito Santo',
'GO' => 'Goiás',
'MA' => 'Maranhão',
'MG' => 'Minas Gerais',
'MS' => 'Mato Grosso do Sul',
'MT' => 'Mato Grosso',
'PA' => 'Pará',
'PB' => 'Paraíba',
'PE' => 'Pernambuco',
'PI' => 'Piauí',
'PR' => 'Paraná',
'RJ' => 'Rio de Janeiro',
'RN' => 'Rio Grande do Norte',
'RO' => 'Rondônia',
'RR' => 'Roraima',
'RS' => 'Rio Grande do Sul',
'SC' => 'Santa Catarina',
'SE' => 'Sergipe',
'SP' => 'São Paulo',
'TO' => 'Tocantins'
);
$smarty->assign('estados',$arrayEstados);

$smarty->display('formulario.tpl');

formulario.tpl:

 <html>
<body>
<select name="estado">{html_options options=$estados}</select>
</body>
</html>

Conclusão

É notável o aumento da produtividade utilizando este sistema de templates. Além do mais, quando se trabalha em equipe, Designer e Programador com funções distintas, e neste caso, trabalhando juntos. Se o Designer quiser alterar um label de um campo do formulário, por exemplo, só precisará mexer no template.


Marcadores:


Arquivos

Setembro 1996   Outubro 1996   Abril 1998   Maio 1998   Janeiro 1999   Fevereiro 2000   Outubro 2000   Dezembro 2000   Janeiro 2001   Agosto 2001   Setembro 2001   Dezembro 2001   Janeiro 2002   Fevereiro 2002   Fevereiro 2003   Março 2003   Junho 2003   Julho 2003   Agosto 2003   Setembro 2003   Outubro 2003   Novembro 2003   Dezembro 2003   Janeiro 2004   Fevereiro 2004   Março 2004   Abril 2004   Junho 2004   Agosto 2004   Setembro 2004   Outubro 2004   Novembro 2004   Dezembro 2004   Janeiro 2005   Fevereiro 2005   Abril 2005   Maio 2005   Junho 2005   Julho 2005   Agosto 2005   Setembro 2005   Outubro 2005   Novembro 2005   Dezembro 2005   Janeiro 2006   Fevereiro 2006   Março 2006   Abril 2006   Maio 2006   Junho 2006   Julho 2006   Agosto 2006   Setembro 2006   Outubro 2006   Novembro 2006   Dezembro 2006   Janeiro 2007   Fevereiro 2007   Março 2007   Abril 2007   Maio 2007   Junho 2007   Julho 2007   Agosto 2007   Setembro 2007   Outubro 2007   Novembro 2007   Dezembro 2007   Janeiro 2008   Fevereiro 2008   Março 2008   Abril 2008   Maio 2008   Junho 2008   Julho 2008   Agosto 2008   Setembro 2008   Outubro 2008   Novembro 2008   Dezembro 2008   Janeiro 2009   Fevereiro 2009   Março 2009   Abril 2009   Maio 2009   Junho 2009   Julho 2009   Agosto 2009   Setembro 2009   Outubro 2009   Novembro 2009   Dezembro 2009   Fevereiro 2010  

This page is powered by Blogger. Isn't yours?

Assinar Postagens [Atom]