Category: Tecnologia


Anatomia SQL

Salve,

Segue uma imagem representativa na anatomia do SQL – Structured Query Language. Mostrando suas sub-linguagens e os comandos que fazem parte delas. É simples mas esclarecedor.

Imagem representativa da anatomia da linguagem SQL

Anatomia da Linguagem SQL com suas sub-linguagens e seus comandos.

Pretendo mais pra frente fazer um artigo abordando cada sub-linguagem e seus comandos. Coisa básica. Mais tarde disponibilizo o SVG dessa imagem.

Pra quem se interessar a Softblue lançou um curso online de SQL completo, do básico ao avançado, e de graça. Muito bom o curso, estou fazendo e recomendo. Vi no BR-Linux. Pra ver o curso e se matricular: http://www.softblue.com.br/site/curso/id/3/CURSO+SQL+COMPLETO+BASICO+AO+AVANCADO+ON+LINE+BD03

Valeu!

O que é?

É uma linguagem de marcação muito simples e que foi criada por John Gruber e Aaron Swartz em tem seus códigos de formatação convertidos em XHTML.

No Github você pode enfeitar o README do seu projeto criando um README.markdown com as marcações e automaticamente o mesmo será interpretado e gerado um XHTML válido e bonito.

Como Usar – Códigos para Formatação

Transformar qualquer código em literal, usa-se ‘\’ (barra invertida) antes: \# ou \` ou \*
H1
# Meu Título
Resultado: <h1>Meu Título</h1>

H2
## Meu Sub-título
Resultado: <h2>Meu Sub-título</h2>

[...]

H6
###### Meu pequeno tituluzinho
Resultado: <h6>Meu pequeno tituluzinho</h6>

Itálico
*texto*
_texto_
Resultado: <em>texto</em>

Negrito
**texto**
__texto__
Resultado: <strong>texto</strong>

Código
`print_r(array());`
Resultado: <code>print_r(array());</code>

Citação
> texto
Resultado: <blockquote>texto</blockquote>

Link
[Clique aqui para Baixar o PDF](http://www.uia.com/demo.pdf “Clique e Baixe o PDF”)

Resultado: <a href=”http://www.uia.com/demo.pdf” title=”Clique e Baixe o PDF”>Clique aqui para Baixar o PDF</a>

Imagem
![aqui deveria aparecer um icone de pessoa](http://www.uia.com/pessoa_icon.png “Pessoa”)

Resultado: <img src=”http://www.uia.com/pessoa_icon.png” alt=”aqui deveria aparecer um icone de pessoa” title=”Pessoa” />

Listas não ordenadas
* item 1
* item 2
Ou
+ item 1
+ item 2
Ou
- item 1
- item 2

Resultado:
<ul>
<li>item 1</li>
<li>item 2</li>
</ul>

Listas ordenadas
1. item 1
2. item 2

Resultado:
<ol>
<li>item 1</li>
<li>item 2</li>
</ol>

Mais informações e formatações leia a documentação http://daringfireball.net/projects/markdown/syntax

Biblioteca PHP para fazer parser de arquivos com formatação Markdown: http://michelf.com/projects/php-markdown/

Existem bibliotecas para outras linguagens: http://pt.wikipedia.org/wiki/Markdown

Projetos no Github – Backup-PHP e Levenshtein-Distance

Salve,

Já faz um tempo que postei algo aqui, venho agora divulgar mais dois projetos que criei e coloquei no Github e estão licenciados sob a GPL v3.

Backup-PHP é um conjunto de classes que Salva e Ler um arquivo com dados serializados comprimidos com gzip ( os dados estão comprimidos e não o arquivo. ). Tem também integração com o ZipArchive para compressão de diretório e descompressão de arquivo .zip. Tem também um componente para CakePHP que integra o projeto Backup-PHP.

Levenshtein-Distance é uma classe estática onde se passa duas strings e retorna em porcentagem o grau de similaridade entre elas. Usa a função levenshtein() nativa do PHP mas realiza um cálculo para saber a o grau de similaridade.

Mais novidades e projetos, posto aqui de novo!

Salve,

O ZFDebug é uma lib que cria uma barra flutuante no seu projeto onde mostra informações dependendo dos plugins que você ativa. Estava usando o profiler Firebug do ZF, mas indicaram esse e é sensacional, pois é independente de navegador e super simples de instalar. Para mais: http://code.google.com/p/zfdebug/

Faça o Checkout (svn):

svn checkout http://zfdebug.googlecode.com/svn/trunk/ zfdebug-read-only

Descompacte e copia a pasta ZFDebug/ que está dentro da pasta library/, e copie para a dentro da library/ do seu projeto.

Adicione no seu application.ini, na seção production:

;ZFDebug
ZFDebug.enabled = false

E na seção development:

; ZFDebug
ZFDebug.enabled = true

Abra seu Bootstrap principal ( application/Bootstrap.php ) e adicione esse init:

protected function _initZFDebug()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace('ZFDebug');
$this->bootstrap('db');
$db = $this->getPluginResource('db')->getDbAdapter();

$config = Zend_Registry::get('config');
$ZFDebugConfig = $config->ZFDebug;

if( $ZFDebugConfig->enabled )
{
$options = array( 'plugins' => array('Variables'
, 'Database' => array('adapter' => array('standard'=>$db))
, 'File' => array('basePath' => '/'),'Memory'
, 'Time'
, 'Registry'
, 'Exception'));

$debug = new ZFDebug_Controller_Plugin_Debug($options);

$this->bootstrap('frontController');
$frontController = $this->getResource('frontController');
$frontController->registerPlugin($debug);
}
}

No seu index.php ( public/index.php ) adicione:

$config = new Zend_Config_Ini( APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV );
Zend_Registry::set( 'config', $config );

Pronto! Rode seu projeto e você verá uma assim:

Clique nos botões para ver as informações de Debug.

Pioneer One

Pioneer One

“Um objeto desconhecido, encontrado por especialistas vagando pelo espaço, cai nos EUA. Temendo que seja algum tipo de ataque terrorista, já que o objeto tem vazamento de radiação, o Departamento de Segurança Nacional é acionado para investigar e conter os danos. Mas o que eles não contavam é que tal evento trará grandes consequências para a humanidade e mudará muita coisa.”

O projeto Pioneer One foi criado Josh Bernhard e Bracey Smith, que também foram os criadores de The Lionshare, que obteve grande sucesso e teve mais de 450mil downloads. O episódio piloto teve o custo de US$6.000 que foi levantado através da plataforma de micro-financiamento Kickstarter.

Para os 7 próximos episódios, total de episódios da primeira temporada, serão criados a partir de doações da comunidade. A ideia é ter 4 temporadas seguindo esse modelo de doações. A meta de doações para criação dos próximos 3 episódios, que dá em torno de US$6.600 por episódio, era de US$20.000 mas foi atingida em uma semana e meia e já possui, até o dia 28/06, US$20.224 em doações.

Os episódios são distribuídos em HD (720p) ou XviD usando a licença Creative Commons via torrent e download direto além de contar com opção de assistir online pelo VeeHD. Tem também as legendas, download separado, em mais de 10 idiomas.

Esse é um projeto muito bom tanto na parte da produção quanto na divulgação e suporte pela comunidade. As pessoas estão participando com doações, downloads, divulgação e outros. Você quer que a história continue? Contribua, faça parte dessa história mantendo o projeto vivo.

Na Vodo existe diversos filmes distribuídos legalmente via torrent, todos possuem uma página com comentários da comunidade sobre o filme. Também tem como participar de um video contest sobre marcas de uma grande empresa onde irá concorrer a 70.000 euros em prêmios e garantir o suporte para mais episódios de Pioneer One.

Visite o site da Pioneer One e faça o download, assista e divirta-se, e se possível faça uma doação e divulgue. Assista também os outros filmes da Vodo.

Salve,

Para gerar código de barra com o Zend Framework é super simples.

// Somente o texto é obrigatório para a criação
$barcodeOptions = array( 'text' => $valor );

// Não obrigatório, para retornar em JPG usa-se: 'imageType' => 'jpg'
$rendererOptions = array();

// Para criar uma imagem, faltando só colocar os headers, o 'image' retorna o código de barra em PNG
return Zend_Barcode::render( 'code39', 'image', $barcodeOptions, $rendererOptions );

Em um projeto eu criei um Plugin com a geração do código de barra e uma action onde chama esse plugin assim:
Método do Plugin pra criar e retornar o código de barra

public function create( $value, $options = array(), $barcodetype = 'code39', $type = 'image' )
{
// Somente o texto é obrigatório para a criação
$barcodeOptions = array( 'text' => $value );
// Junta a configuração padrão e o $options informado, que são os valores de configuração padrão do Zend_Barcode
$barcodeOptions = array_merge( $barcodeOptions, $options );

// Não obrigatório, para retornar em JPG usa-se: 'imageType' => 'jpg'
$rendererOptions = array();

// Para criar uma imagem, faltando só colocar os headers, o padrão de imagem é PNG
return Zend_Barcode::render( $barcodetype, $type, $barcodeOptions, $rendererOptions );
}

Usando o Plugin numa Action

public function barcodeAction()
{
$barcode = new MY_Plugin_Barcode();
// Passando o Valor, dizendo que o texto não é pra ser exibido e a cor do código de barra, vermelho.
$barcode->create( '0000001', array( 'drawText' => false, 'foreColor' => '#FF0000' ) );
exit;
}

Para mais configurações do Options: http://framework.zend.com/manual/en/zend.barcode.objects.html

Configuração sobre o Zend_Barcode: http://framework.zend.com/manual/en/zend.barcode.html

Ai no seu view, chama assim:

<img src="./index/barcode/" />

‘./index/barcode/’ = é o barcodeAction do controller. Você pode usar parâmetros via _GET para setar os valores e as configurações, só tratar no seu barcodeAction.

Valeu!

Salve,

Software: DataVision
Site: http://datavision.sourceforge.net/
Versão: 1.2.0

Que ‘diaxo’ é esse DataVision?

Segue texto do próprio site do software:

DataVision is an Open Source reporting tool similar to Crystal Reports. Reports can be designed using a drag-and-drop GUI. They may be run, viewed, and printed from the application or exported as HTML, XML, PDF, Excel, LaTeX2e, DocBook, or tab- or comma-delimited text files. The output files produced by LaTeX2e and DocBook can in turn be used to produce PDF, text, HTML, PostScript, and more. ( http://datavision.sourceforge.net/index.html#intro )

Simplesmente é uma ferramenta legalzinha para criar relatórios. Achei super fácil e rápido de aprender a usar. Claro que fiz o básico.

Instalando o ‘danado’ do DataVision

* É necessário ter o Java instalado, eu uso o sun-java. Não recomendo o open jvm.

  1. Entre no site e clique no link Download ( ou aqui ), clique no botão e faça o download.
  2. Descompacte o arquivo, entre na pasta criada ( ou tar -zxvf datavision-1.2.0.tar.gz )
  3. Entre na pasta do DataVision ( ou cd datavision-1.2.0/ )
  4. Coloque o datavision.sh para ser um executável ( ou chmod a+x datavision.sh )
  5. Execute o bicho clicando 2x no arquivo datavision.sh ( ou ./datavision.sh )

Usando MySQL como Data Source

* É preciso ter o driver jdbc para o banco dentro da pasta datavision-1.2.0/lib/, para o MySQL baixe aqui o JDBC driver: http://www.mysql.com/downloads/connector/j/. Descompacte e copie o mysql-connector-java-5.1.12-bin.jar para a devida pasta datavision-1.2.0/lib/

Pode abrir o mysql.xml da pasta datavision-1.2.0/examples/ para ter um exemplo do preenchimento do ‘configurador’ para conectar no MySQL, segue meu modelo.

Nome da Classe do Driver: com.mysql.jdbc.Driver
Informação da Conexão: jdbc:mysql://localhost/meu_banco
Nome do Banco de Dados: meu_banco
Nome do Usuário: root
Senha: *******

Não ensinarei a usar agora, mas eu fiz um de teste. Próximo artigo eu mostrarei um exemplo.

Valeu!

Salve,

Tive uma dúvida e busquei, quando vi a solução, me assustei de tão simples. Estou usando a versão 3.2 do BROffice.

Levando em conta que você já está com seu arquivo com ‘trocentas’ páginas e agora você pretende numerar as páginas e algumas delas não irão conter a númeração mas serão levadas em consideração na contagem. Levando em conta que você tem que numerar apatir da página 11. Então segui os passos:

1.Vá à página onde irá começar a numeração;

2. Coloque o cursor na última linha da página anterior, no nosso caso, na última linha da página 10;

3. Ir no menu Inserir -> Quebra Manual;

4. Na tela que aparece, configure:

  • Tipo: Quebra daPágina;
  • Estilo: Índice;
  • Marque o ‘Alterar número da página’;
  • E no campo informe o número da página, no caso: 11.
Inserir quebra - BROffice

Tela de Inserir quebra - BROffice

5. Insira o rodapé, local mais comum para inserir a numeração, indo no menu Inserir -> Rodapé -> Índice;

6. Depois insira o campo de número de página, indo no menu Inserir -> Campos -> Número da Página.

Pronto, facinho de resolver. Pior é pensar que antes eu criava 2 arquivos, 1 para a parte sem numeração e outro para a parte da numeração e ainda sofria para começar da página X. Acho que a maioria se virava assim.

Valeu e fica mais essa dica.

Salve,

Comprei um iPod Shuffle com VoiceOver, tentei vários programas para linux que suportam iPod e não funcionaram, são eles: gtkpod, yamipod, floola, banshee e rhythmbox.

Essa versão do Shuffle tem o VoiceOver, que ‘fala’ as playlists, os arquivos das listas e outras coisinhas. A estrutura do banco de dados dele mudou, para acompanhar isso. O yamipod e o floola, que são idênticos, tem a opção somente ‘iPod Shuffle’ na janela onde escolhe o modelo. O gtkpod já melhor, tem as gerações e os modelos ( por cor e capacidade ), e acompanha um número como se fosse um identificador. O banshee e o rhythmbox reconhece e abre, mas não tem opção de escolhe o modelo.

Apesar de todos conseguirem abrir a estrutura, listas arquivos e playlists, na hora da sincronização e geração do VoiceOver, eles não suportam, diz que foi ok, mas quando você vai escutar pede para sincronizar com o iTunes. Ou seja, não funcionou.

Ai tive que correr para a virtualização, já tinha o Windows XP virtualizado no VirtualBox 3.1. Roda tudo direitinho. Baixei e instalei o iTunes, última versão que é a 9.0.3, e quando abria: crash, fechava. Não tinha santo que fizesse com que não fecha-se com menos de 20s. Fiz uma VM no notebook da empresa, Windows XP, iTunes e crash.

Pesquisei e achei, no forum do VirtualBox, queixas sobre o mesmo erro com essa combinação. A Apple, apesar de ter uma página no support com as queixas, milhares diga-se de passagem, não fez nada e não vai fazer ( quem quer apostar? ). Saída: instalar iTunes mais baixo, instalei a 9.0.2, e pimba. Tudo certo.

Com isso você tem: uma empresa que tem vários tocadores e amarra eles ao uso do seu programa de multimídia, o iTunes, e que suporta somente Mac OS e Windows não virtualizado. Esse bug já tem vários registros de reclamações e nada. Com isso ganhamos a idéia que eles não gostam dos seu usuários, quer somente vender. Por que eu não posso usar meu iPod no linux por que não suporta X feature. Eu paguei, um valor alto, para ter um aparelho que me garanta o prazer de ouvir músicas, podcasts e etc, geralmente para relaxar também, mas vem uma dor de cabeça dessa. Pior é que 99% dos usuários ainda reclamam de quem reclama, como sempre fãs são criaturas doentes, sem noção.

Valeu e Sucesso.

Salve,

Estou usando um notebook, modelo Amazon Performance L105, na empresa, tem um HD e uma memória legal. Processador Intel e tal. Mas eles sacanearam no vídeo: Sis Mirage 3 ( Sis 671 ).

Ele configura do XOrg em 800×600 no máximo, procurei e achei uma solução para alguns CCE, Acer e tal, mas não rolou nesse. Tentei uma solução diferente que era indicada para uma linha da Positivo e deu certo.

Instalei esse pacote: xorg-driver-sisimedia_0.9-1_i386.deb ( download aqui http://www.mediafire.com/?cmz0mkn0tmd )

Instale, ela cria a config no /etc/X11/xorg.conf e depois reinicie e pimba. Estou usando 1280×800 e tudo beleza.

Fica ai a dica.

Valeu!!

Powered by WordPress | Theme: Motion by 85ideas.

Bad Behavior has blocked 12 access attempts in the last 7 days.