Está precisando melhorar o tempo de resposta do squid no pfsense?
Achei a solução aqui
Abrasss!!!!
Hi Folks!!!
Nesse post vou passar as minhas impressões sobre a distro Arch Linux: uma distro enxuta, leve e simples de manter mas que é voltada para usuários avançados ou pelo menos fuçadores.
Eu fui durante muito tempo usuário do Slackware, mas acabei migrando para o Ubuntu pela comodidade e facilidade de uso. O projeto comandado por Patrick Volkerding anda a passos de tartaruga … demora muito para lançar releases … sem falar na falta de um gerenciador de pacotes no estilo apt-get e o fato de retirar o gnome e deixar apenas o KDE. Tirando esses pormenores, é melhor distro que já usei.
O Ubuntu é uma ótima distro mas não é leve e customizavel como o Slack. Foi ai que meu amigo e ídolo Joenio Marques me falou sobre o Arch. Eu já tinha ouvido falar mas não conhecia nada do projeto.
Baixei e instalei … virei fan!
A distro é muito boa, muito parecida com o Slack, estrutura do sistema … filosofia …robustez. Possui um ótimo gerenciador de pacotes (pacman), consegui instalar tudo que precisei sem problemas .. incluindo o gnome e GDM.
A instalação foi rápida, em torno de 10 min usando a opção Core (offiline) 330MB.
Configurar também não foi diferente, tudo fica armazenado em um arquivo central, o /etc/RC.conf … módulos, daemons, configuração de interfaces de rede, teclado, etc … tudo é centralizado tornando as coisas bem mais práticas. Caso tenha dúvidas, eles possuem um Wiki do projeto com bastante material.
Outro ponto bom é a atualização do sistema … como se trata de uma distro rolling release, o sistema está em constante atualização … para atualizar, basta executar: pacman -Syu ou pacman -Su
Aqui vai um post que compara o Slackware e o Arch pra quem ficou em dúvida como eu hehehe: http://www.osnews.com/story/8761/Arch_Linux_Vs_Slackware_The_Best_of_All_Worlds/page1/
É isso ai … Quem gosta de deixar o linux com a sua cara e/ou gosta de Slackware, vai adorar o Arch.
Abraço e até o próximo post
Você já viu esse erro?
(php.exe:4416): libglade-WARNING **: Expected <glade-interface>. Got <interface>. (php.exe:4416): libglade-WARNING **: did not finish in PARSER_FINISH state Fatal error: Uncaught exception 'PhpGtkConstructException' with message 'could n ot construct GladeXML object' in E:\Nodo3\PHP-GTK\Sample\Sample.phpw:6 Stack trace: #0 E:\Nodo3\PHP-GTK\Sample\Sample.phpw(6): GladeXML->__construct('Sample.glade') #1 {main} thrown in E:\Nodo3\PHP-GTK\Sample\Sample.phpw on line 6
Pois é, o erro é causado pelo formato do arquivo glade: o GtkBuilder, substituto do GladeXML que foi depreciado.
É muito difícil encontrar informações sobre php-gtk2, mas pelo que pude entender, ele não tem suporte total ao padrão GtkBuilder, logo .. é melhor continuar usando GladeXML.
Para resolver o problema, abra o menu Editar > Preferências, e altere o formato de saída do arquivo para Libglade.
Se alguém tiver informações mais precisas sobre o suporte do GtkBuilder no php-gtk2 compartilha aqui ok??
Abrasss
Fala meu povo!! Criei uma lib em C# para manipular as opções de internet do Windows. É possível modificar as zonas de segurança ou criar um nível personalizado. É bem útil para utilizar em conjunto com o componente WebBrowser (System.Windows.Forms.WebBrowser).
Basicamente a classe modifica as chaves do registro HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\[0-4], onde [0-4] é zona que deseja modificar.
Seguindo a regra acima, HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3 representa as opções da zona de internet. Cada valor DWORD dentro dessa chave, representa um item das opções de internet.
Usar a lib é muito fácil, basta fazer a chamada ao método estático que representa a função que você deseja modificar e passar a zona e o novo valor que será atribuído.
InternetOptions.SetSecurityLevel(InternetOptions.INTERNET, InternetOptions.MEDIUM_LOW_LEVEL);
O exemplo acima altera o nível de segurança da zona de internet para médio-baixo.
Como a maioria das opções requer que o Internet Explorer seja reiniciado, é uma boa prática chamar o método antes de renderizar o componente WebBrowser (se esse for o seu foco). faça as chamadas na classe Program, antes de inicializar o Main Form.
O projeto encontra-se no source forge (http://sourceforge.net/projects/ieoptlib/) e é GPL.
Usei como referência um artigo da Microsoft (http://support.microsoft.com/kb/182569/pt-br) que explica muito bem como funciona a gestão das opções de internet.
Espero ter ajudado
Abrassss
O USVN (http://www.usvn.info/) é uma ótima ferramenta de administração de repositórios SVN. Só achei uma coisa ruim, não permite que eu use “.” como separador do nome de usuário.
É muito comum se usar como padrão de login primeironome.sobrenome, e nós usamos essa nomenclatura pra tudo: AD, ftp, banco, aplicativos, controle de versão, etc.
Para liberar esse e qualquer outro char que esteja desativado basta alterar o script: USVN_HOME/library/USVN/Db/Table/Row/User.php
Procure pelo método “checkLogin”, acrescente “\.” no final da expressão regular da linha ” if (!preg_match(‘/^[0-9a-zA-Z_\-]+$/’, $login))” como no código abaixo:
protected function checkLogin($login) { if (empty($login) || preg_match('/^\s+$/', $login)) { throw new USVN_Exception(T_('Login empty.')); } if (!preg_match('/^[0-9a-zA-Z_\-\.]+$/', $login)) { throw new USVN_Exception(T_('Login invalid. The login can only include alpha-numeric characters and \'-\' or \'_\'.')); } }
Pronto
Abrasss e até o próximo post
O codeigniter permite criar uma associação do ‘controller/método’ no arquivo de configuração form_validation para facilitar e centralizar a validação de formulários. É realmente excelente, desde que você não tenha parâmetros em seu método 😐 … meio estranho mas blz.
Tive esse problema e achei esse post: http://codeigniter.com/forums/viewthread/104425/ que relata o problema e indica uma solução que consiste em alterar a classe form_validation. Essa solução funciona perfeitamente mas pode causar problemas se você decidir atualizar a versão do CI e esqueceu que mudou algo lá dentro.
Segui a idéia dele e fiz o ‘patch’ no próprio config/form_validation.
Ficou algo assim:
$CI =& get_instance(); $config = array( "blog/post/{$CI->uri->segment(3)}" => array( array( 'field' => 'titulo', 'label' => 'Título', 'rules' => 'required' ), array( 'field' => 'conteudo', 'label' => 'Conteúdo', 'rules' => 'required' ) ) );
Espero ter ajudado.
Abrassss!!!
Esse post é em homenagem a meu amigo Ubiracy mais conhecido como Bira-bira-birô hehehehe, que junto comigo, se mordeu todo pra tentar resolver esse problema. Depois de muito pesquisar e nada encontrar, conseguimos criar elementos options em tempo de execução no jqTransform, que é um plugin jquery pra customizar a cara dos formulários. Bonitinho mas ordinário.
Pois bem, vamos precisar de:
A solução funciona da seguinte forma, você vai criar dois combos, um de estados e outro de cidades. Os itens do combo de cidades vão ser carregados dinamicamente via ajax a depender do que foi selecionado no combo de estados.
public function lista_cidades($id_estado) { $this->db->select("id, nome"); $this->db->where("id_estado", $id_estado); return $this->db->get("cidades"); }
Em seu controller, crie um novo método público que escreva no browser o resultado da consulta no padrão json.
public function cidades($id_estado) { header('Content-type: application/json'); $this->load->model("cidade_model"); $cidades = $this->cidade_model->lista_cidades($id_estado)->result_array(); $json = "["; foreach ($cidades as $cidade) { $json.= '{"value": "{$cidade['id']}", "label": "{$cidade['nome']}",'; } $json = preg_replace("/,$/", "", $json); $json.= "["; }
Pronto, agora você já tem um método em seu controller que filtra as cidades por estado e gera um documento json.
<tr>; <td>Estado:</td> <td><div id="div_cmb_estado" class="select-menus"><?php echo form_dropdown('cmb_estado', $cmb_estado); ?></div></td>; <td>Cidade:</td> <td> <div id="container"> <div id="div_cmb_cidade" class="select-menus"><select id="cmb_cidade" name="cmb_cidade"></select></div> </div> </td> </tr>
$(document).ready(function() { // Aplica o skin com jqTransform $("form.jqtransform").jqTransform(); // OnClick no item do combo de estados $("#div_cmb_estado div.jqTransformSelectWrapper ul li a").click(function(){ // Recupera o valor do item selecionado var index = $(this).attr('index'); var value = $('#div_cmb_estado div.jqTransformSelectWrapper option:eq(' + index + ')').attr('value'); // Chamada ao método criado no controller via ajax $.ajax({ type: "GET", async: true, url: "/exemplo/cidades/" + value, dataType:"json", error: function(XMLHttpRequest, textStatus, errorThrown) { alert(textStatus); }, success: function(resposta){ // Limpa o "combo" de cidades var html_combo = '<div id="div_cmb_cidade" class="select-menus"><select id="cmb_cidades" name="cmb_cidades"></div>'; $("#container").html(html_combo); // Faz o parser no json e cria os elementos for (i = 0; i < resposta.length; i++) { $("#cmb_cidades").append('<option selected value="' + resposta[i].value + '">' + resposta[i].label + '</option>'); } // Chama novamente o jqTransform para o select. Funciona como um refresh no layout $("#cmb_cidades").jqTransSelect(); } }); }); });
Espero ter ajudado, até o próximo post.
obs: Esse editor do wordpress é muito bom, ¬¬
Hello folks, depois de um bom tempo sem postar nada vai ai uma dica de configuração do PHP com SQL Server. Essa dica é para quem está recuperando um blob (varbinary, image, etc) e quando é exibido pelo PHP vem truncado… exibindo parte da imagem e o resto em cinza indicando que ali teria que ter algo =]. Para resolver basta alterar o valor das propriedades mssql.textlimit e mssql.textsize no php.ini. Lembrando que os valores estão em bytes.
Abrasss
Uma função simples para alternar css com PHP. Essa dica é útil para por exemplo, alternar cor de linhas de uma grade. E com essa função você leva inteiramente grátis uma outra para definir várias caso elas não existam, algo como a tag <CFPARAM> do ColdFusion.
Segue o código abaixo:
if ( ! function_exists('def')) { function def(&$var, $default = "", $type = NULL, $pattern = NULL) { if (empty($var) || !isset($var)) { $var = $default; } if (! is_null($pattern)) { if (preg_match($pattern, $default) === 0) { throw new Exception("The default value assigned is incorrect"); } } if (! is_null($type)) { settype($var, $type); } } } /** * Alterna estilos css * * @param string * @param string * @param string * @return string */ if ( ! function_exists('toggle_css') ) { function toggle_css(&$class, $class_1, $class_2) { def($class, ''); $class = ( $class == $class_1) ? $class_2 : $class_1; return $class; } }
Pronto, para usar, siga o exemplo abaixo:
// Loop <div class="<?php echo toggle_css($css, 'class1', 'class2');?>">Linha 1</div>
Abrasss
Eu e algumas muitas pessoas, estão encontrando muita dificuldade para instalar o PHP 5.2.13 com Apache 2.2.15. Páginas em branco, erro no php5ts.dll ao tentar iniciar o apache são alguns dos sintomas.
Consegui com muito custo resolver o problema. Vamos a solução!
Ingredientes
Instale normalmente o Apache e o PHP. Depois vá até o prompt de comando e execute (se o PHP não estiver no path do sistema, acesse o diretório de instalação do PHP):
C:\php -v
Provavelmente você receberá algumas mensagens de erro sobre extensões. Desabilite as extensões que estão dando erro e que você não utiliza. No meu caso desabilitei as extensões do oracle, snmp, sqlite e sybase.
Em alguns casos o PHP reclama da biblioteca msvcr71.dll, se for o seu caso, baixe aqui e salve-a na pasta windows/system32.
Salve suas alterações no php.ini e rode novamente o comando php -v. Desabilite as extensões até que nenhuma mensagem de erro seja exibida.
Crie um script php com o conteúdo <?php phpinfo();?> e coloque no document root. Inicie o apache e acesse essa página. Ficou em branco? Algum extensão que está habilitada não apareceu? Abra o seu httpd.conf e adicione a diretiva PHPIniDir apontando para o caminho do seu php.ini. Algo como PHPIniDir “C:/PHP/php.ini”.
Reinicie o apache e tente executar o script novamente.
Até o próximo post.