Stack Overflow em eBook!

Quem nunca teve uma dúvida e tirou uma lasca do Stack Overflow que atire a primeira pedra (ou aprenda a usá-lo)! E não é que tiveram a genial idéia de agrupar vários tópicos com as questões mais respondidas e visitadas e montar ebooks com elas?

Um excelente recurso, vale a pena acessar e baixar enquanto, sei lá porque, não tirem do ar.

Zend_View Placeholders

Eu sempre fui muito fã do helper placeholder para a Zend_View. Vou dar alguns exemplos de uso:

No arquivo de layout, você tem um lugar para mensagem:

<div>
  <h1>Você está em: <?php echo $this->placeholder('atual'); ?></h1>
</div>

Read more »

jQuery Template – Official Plugin

Finalmente a turma da jQuery resolveu lançar (ou agregar) um plugin oficial de template para sua biblioteca. Eu mesmo já fiz algumas extensões para o mesmo fim, mas claro, não me extendi a ponto de implementar a opção de condicionais dentro do template.

Seguem alguns exemplos de como usá-lo.

<!-- este é o template -->
<script type="text/x-jquery-templ" id="list_template">
  <li>${$data}</li>
</script>

<!-- esta é a lista a ser gerada -->
<ul id="the_list"></ul>

<script type="text/javascript">
$(function(){
  // array de elementos
  var list = ['Foo', 'Bar', 'Duh'];

  // cria o template
  var list_template = $("#list_template").template();

  // processa a template e adiciona a lista
  $.tmpl(list_template, list).appendTo("#the_list");
});
</script>

Um outro exemplo mais completo, usando o Twitter
Read more »

Vagas de TI em Campo Grande

Estou embasbacado com a quantidade. É #trampomermao:

TAG3 (www.tag3.com.br) procura: designer

Agence (www.agence.com.br) procura: programador (PHP, Rails, Java), designer

BeforeTI (www.before.com.br) procura: designer, programador PHP, atendimento

Master Case (www.mastercase.com.br) procura: programador PHP

Gendata (focezar@gmail.com) procura: analista de sistemas, programador PHP, estagiário de programação

dothcom (www.dothcom.com.br) procura: estagiário designer, estagiário programador PHP

iOS SDK – Trocar a cor da status bar

Dependendo do layout de sua aplicação, a cor padrão (cinza) da barra de status (UIStatusBar) não contribui. Para trocá-la, você tem duas opções: altera seu arquivo Info.plist da aplicação, ou ajustando a propriedade da aplicação.

As opções para ela são: UIStatusBarStyleDefault, UIStatusBarStyleBlackTranslucent, UIStatusBarStyleBlackOpaque.

Para a 1ª opção, abra seu arquivo Info.plist da aplicação e adicione uma chave UIStatusBarStyle com o valor desejado.

Para a 2ª opção, ajuste a propriedade no evento applicationDidFinishLaunching:

- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// troca a cor
[application setStatusBarStyle:UIStatusBarStyleBlackOpaque];
}

String replace ALL no AS3

O método replace da class String do AS3 só substitui a 1ª ocorrência da string buscada. Para substituir todas, use outra função:

function replaceAll(search:String, replace:String, text:String):String {
  return text.split(search).join(replace);
}

Trim em NSString no Ojective-C

Claro que apenas um trim(‘  Meu texto  ‘) seria pedir demais. Então eis como fazer um trim no objective-c:

NSString *trimmedString = [dirtyString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

Fonte: Aral Balkan

Warning: include_once (NetBeansCommandsProvider.php): failed to open stream

Ao executar a command line do Zend Framework me deparei com este erro:

Warning: include_once(NetBeansCommandsProvider.php): failed to open stream: No such file or directory in /Applications/MAMP/bin/php5.2/lib/php/Zend/ZendFramework-1.10.7-minimal/library/Zend/Loader.php on line 146

Isso aconteceu depois que eu configurei o NetBeans 6.9 para operar com o framework. Para resolver apenas alterei o arquivo que fica em ~/.zf.ini e consertei o include_path.

Se você não removeu seu Netbeans, provavelmente não terá problemas. É isso aí.

Zend Framework 1.10.8

Novo release da série 1.10 do Zend Framework lançado, segue o changelog:

  • [ZF-10220]: Zend_Cache_Manager has no way to get all the caches
  • [ZF-9855]: Notice “Failed saving metadata to metadataCache” appears when TwoLevels cache backend is used for DB metadata caching
  • [ZF-9358]: Zend_CodeGenerator_Php_Parameter::generate() typo
  • [ZF-10095]: Zend_Config_Writer_Ini does not write properly to global namespace
  • [ZF-6289]: Zend_Config_Writer_Ini jumbling sections
  • [ZF-9179]: _getParam second parameter no longer working when used in conjunction with routes
  • [ZF-10340]: Non-Working Examples in Zend_Db_Profiler-Firebug
  • [ZF-10000]: Zend_Db_Select having() does not allow passing the type of a value
  • [ZF-10296]: Invalid sequence name with postgres
  • [ZF-10257]: nextSequenceId overquotes schema/sequence name
  • [ZF-10246]: Tag URIs Incorrectly Considered Invalid as Atom Entry IDs
  • [ZF-10277]: Constructor code for response header analysis throws “PHP Notice: Undefined offset: 1” when instanciated with header array.
  • [ZF-5545]: Undefined offset notice in Search/Lucene/Search/Query/MultiTerm.php
  • [ZF-10354]: Windows Azure tests cleanup
  • [ZF-9780]: Zend_Soap_Autodiscover : setters become fluent interfaces
  • [ZF-10290]: Zend Tool incorrectly requests ‘Log’ Boostrap resource in generated ErrorController for new project
  • [ZF-10252]: Error controller created by command line tool generates notices
  • [ZF-10225]: Parameter name typo in Zend_Tool_Framework_System_Provider_Version
  • [ZF-10071]: Default ErrorController created by Zend_Tool generates notices.
  • [ZF-9541]: Zend_Tool_Framework_Client_Console_ArgumentParser Doesn’t Declare Property _manifestRepository
  • [ZF-10276]: Finnish translation for Zend_Validate messages
  • [ZF-5413]: using “$var === null” instaed of “is_null($var)”

Atualize-se!

SQLite e áspas simples (single quotes)

Desenvolvendo uma aplicação em AIR, usando SQLite, me deparei um com um erro estranho na hora de inserir um registro no DB.

Um campo de texto continha uma áspas simples, e eu, mero mortal vindo de bancos como MySQL e PgSQL, adicionei as famosas barras para escapar os caracteres. Não funcionou.

De acordo com o site do SQLite (www.sqlite.org/lang_expr.html), escapa-se usando, adivinhem, áspas! Veja só o exemplo:

INSERT INTO tablename (id, name, text) VALUES (1, 'Jonnie', 'That''s what she said');

Sim, você viu certo: não são áspas duplas, são duas áspas simples uma ao lado da outra. É isso aí.
#fonte do exemplo