Tag Archives: wordpress

Blogs e sites de Alto Desempenho

Você tem um site ou um blog e sentir que ele está ficando atolado com tráfego intenso? Em primeiro lugar, parabéns - é um daqueles problemas que os webmasters e blogueiros gostariam de ter. Mas como você resolvê-lo? A primeira coisa a fazer é ativar a aceleração PHP, se o seu site / blog é baseado em PHP. Embora deva ser simples (em teoria), isso pode levar um tempo para obtê-lo direito. Você sabe o que dizem - Em teoria, teoria e prática são os mesmos. Na prática, eles não são. Aceleração, no entanto, é um fruto maduro, e irá percorrer um longo caminho para resolver seus problemas.

Depois de ter extraído toda a quilometragem da solução acelerador, é hora de incorporar uma Content Delivery Network ou CDN. O que uma CDN faz é para servir todos os seus arquivos estáticos (imagens, folhas de estilo, arquivos javascript, e até mesmo em cache páginas do blog) a partir de uma rede de outros do que seus próprios servidores. Esses servidores são colocados estrategicamente em todo o continente (e ao redor do globo) para que seus leitores receber o conteúdo de um local geograficamente próximo a ele. Além de reduzir a latência devido à distância, CDN também ajuda, reduzindo a carga sobre o servidor.

Continue lendo

Como salvar uma string para um arquivo local em PHP?

Este post é a segunda em minha série nerd.

Ao programar minha Tema Tweaker, Me deparei com este problema. Eu tinha uma corda no meu servidor no meu programa php (a folha de estilo refinado, de fato), e eu queria dar ao usuário a opção de salvá-lo em um arquivo de seu computador. Eu já pensei que este era um problema comum, e todos os problemas comuns podem ser resolvidos por pesquisando. Mas, E eis, Eu simplesmente não conseguia encontrar uma solução satisfatória. Eu encontrei a minha própria, e pensei que eu iria partilhá-la aqui, para o benefício de todos os futuros Googlers ainda de ir e vir.

Antes de ir para a solução, vamos entender qual é o problema. O problema está na divisão do trabalho entre dois computadores — um é o servidor, onde o seu WordPress e PHP estão executando; o outro é o computador do cliente onde a visualização tem lugar. A seqüência de que estamos a falar é no servidor. Queremos salvá-lo em um arquivo no computador do cliente. A única maneira de fazer isso é que serve a cadeia como uma resposta html.

À primeira vista, este não parece ser um grande problema. Afinal, servidores enviam regularmente cordas e dados para clientes — é assim que vejo nada no navegador, incluindo o que você está lendo. Se fosse apenas um programa PHP que quer salvar a string, não seria um problema. Você poderia simplesmente despejar a string em um arquivo no servidor e servir o arquivo.

Mas o que fazer se você não quer dar a todo o mundo uma forma de dumping cordas para arquivos em seu servidor? Bem, você poderia fazer algo parecido com isto:

<?php
header('Content-Disposition: attachment; filename="style.css"');
header("Content-Transfer-Encoding: ascii");
header('Expires: 0');
header('Pragma: no-cache');
print $stylestr ;
?>

Assim, basta colocar este código em seu foo.php que calcula a string $ stylestr e está feito. Mas o nosso problema é que estamos a trabalhar no âmbito plugin para WordPress, e não pode usar o cabeçalho() chamadas. Quando você tenta fazer isso, você receberá a mensagem de erro dizendo que o cabeçalho já é feito cara. Para este problema, Eu encontrei a solução engenhosa em um dos plugins que eu uso. Esqueceu que um, mas eu acho que é uma técnica comum. A solução é definir um iFrame vazio e definir sua origem para que a função PHP escreveria. Desde iFrame espera uma fonte HTML completo, você está autorizado (de fato, obrigado) para dar o cabeçalho() directivas. O trecho de código é algo como:

<iframe id="saveCSS" src="about:blank" style="visibility:hidden;border:none;height:1em;width:1px;"></iframe>
<script type="text/javascript">
var fram = document.getElementById("saveCSS");
<?php echo 'fram.src = "' . $styleurl .'"' ;
?>

Agora a questão é, o que deve ser a fonte? Em outras palavras, o que é de R $ styleUrl? Claramente, não vai ser um arquivo estático em seu servidor. E o objetivo deste post é mostrar que ele não tem que ser um arquivo no servidor em tudo. É uma resposta em duas partes. Você tem que lembrar que você está trabalhando no âmbito WordPress, e você não pode fazer arquivos php autônomos. A única coisa que você pode fazer é adicionar argumentos para os arquivos php existentes, ou os plugins que você criou. Então você primeiro fazer um botão de envio da seguinte forma:

<form method="post" action="<?php echo $_SERVER["REQUEST_URI"]?>">
<div class="submit">
<input type="submit" name="saveCSS" title="Download the tweaked stylesheet to your computer" value="Download Stylesheet" />
</div>

Note-se que o atributo nome do botão é “saveCSS.” Agora, na parte do código que trata submete, você faz algo como:

<?php
if (isset($_POST['saveCSS']))
$styleurl = get_option('siteurl') . '/' . "/wp-admin/themes.php?page=theme-tweaker.php&save" ;

?>

Este é o $ styleUrl que você daria como a fonte de sua iFrame, para a frente. Note que é o mesmo que o URL da página pluging, exceto que você conseguiu adicionar “?salvar” no final da mesma. O próximo truque é capturar esse argumento e segurá-lo. Para isso, você usa a função API WordPress, add_action como:

<?php
if (isset($_GET['save'] ))
add_action('init', array(&$thmTwk, 'saveCSS'));
else
remove_action('init', array(&$thmTwk, 'saveCSS'));
?>

Isso adiciona um saveCSS função para a parte de inicialização do seu plugin. Agora você tem que definir esta função:

<?php
function saveCSS() {
header('Content-Disposition: attachment; filename="style.css"');
header("Content-Transfer-Encoding: ascii");
header('Expires: 0');
header('Pragma: no-cache');
$stylestr = "Whatever string you want to save";
ob_start() ;
print $stylestr ;
ob_end_flush() ;
die() ;
}
?>

Agora estamos quase em casa livre. A única coisa a entender é que você do precisa da matriz(). Se a sua função não morre, ele vai vomitar o resto do WordPress material gerado em seu arquivo salvar, acrescentá-lo à sua string $ stylestr.

Pode parecer complicado. Bem, Eu acho que é um pouco complicado, mas uma vez que você implementá-lo e fazê-lo funcionar, você pode (e fazer) esquecê-lo. Finalmente, Faço. É por isso que eu postei isso aqui, para que a próxima vez que eu preciso para fazê-lo, Eu posso procurá-lo.

Geeks

I have been doing a bit of geeky stuff lately — writing Plugins do WordPress. Ok, it is because I’m suffering from a terrible writer’s block.

Entende, I’m supposed to be working on my next book. I foolishly promised a couple of chapters of Os princípios do desenvolvimento quantitativo to my commissioning editor at John Wiley & Sons within a month; now I find myself writing everything other than those darned chapters! Including plugins. Vindo para pensar sobre isso, writing those chapters wouldn’t be any less geeky, seria ele?

That made me wonder… We all started off as geeks, didn’t we? No use denying it. Remember how our teachers loved us, and the sexy cheerleaders, bem, didn’t? Later in life, due to exigencies of circumstances, we may have tried to lose our techie halo and simulate a managerial posture. Mas, in our moments of panic, we go back to our geek roots. Finalmente, Faço.

You think you don’t? Bem, check out these geek jokes. If you find them funny, chances are your roots are not too different from mine.

Heisenberg was driving down the highway when he was pulled over for speeding. The officer says, “Do you know how fast you were going?” Heisenberg says, “Não, but I do know where I am!”

Two Hydrogen atoms walk into a bar. One says, “I’ve lost my electron!” The other says, “Are you sure?” The first replies, “Sim, I’m positive…”

Geek Pickup Lines:

  • Tell me of this thing you humans call [dramatic pause] love.
  • If you turn me down now, I will become more drunk than you can possibly imagine.
  • They don’t call me Bones because I’m a doctor.
  • Your name is Leslie? Olhe, I can spell your name on my calculator!
  • What’s a nice girl like you doing in a wretched hive of scum and villainy like this?
  • You must be Windows 95 because you got me so unstable.
  • My ‘up-time’ is better than BSD.
  • I can tell by your emoticons that you’re looking for some company.
  • Is that an iPod mini in your pocket or are you just happy to see me.
  • Want to see my Red Hat?
  • If you won’t let me buy you a drink, at least let me fix your laptop.
  • You had me at “Hello World.”
  • Mind if I run a sniffer to see if your ports are open?
  • You make me want to upgrade my Tivo.
  • By looking at you I can tell you’re 36-25-36, which by the way are all perfect squares.
  • Jedi Mind Trick: “This is the geek you’re looking for.” [Waves hand]
  • You can put a Trojan on my Hard Drive anytime.
  • Have you ever Googled yourself?
  • How about we do a little peer-to-peer saliva swapping?
  • With my IQ and your body we could begin a race of genetic superchildren to conquer the earth.
  • What’s a girl like you doing in a place like this when there’s a Farscape marathon on right now on the Sci Fi channel.
  • I’m attracted to you so strongly, scientists will have to develop a fifth fundamental force.

What Makes 100%?

What does it mean to give MORE than 100%? Ever wonder about those people who say they are giving more than 100%? We have all been to those meetings where someone wants you to give over 100%. How about achieving 103%? What makes up 100% in life? Here’s a little mathematical formula that might help you answer these questions:

Se:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z are represented as:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

then H-A-R-D-W-O-R-K = 8+1+18+4+23+15+18+11 = 98%

and K-N-O-W-L-E-D-G-E = 11+14+15+23+12+5+4+7+5 = 96%

but A-T-T-I-T-U-D-E = 1+20+20+9+20+21+4+5 = 100%

and B-U-L-L-S-H-I-T = 2+21+12+12+19+8+9+20 = 103%

but look how far ass kissing will take you.

A-S-S-K-I-S-S-I-N-G = 1+19+19+11+9+19+19+9+14+7 = 118%

Assim, one can conclude with mathematical certainty that While Hard work and Knowledge will get you close, and Attitude will get you there, it’s the Bullshit and Ass kissing that will put you over the top.