merdas de desenvolvimento

Recentemente eu lidar principalmente com código em vez de com a administração para que o drama que eu fico com kodene são muito mais do que o servidor tal, Então eu decidi só escrevo algumas linhas sobre essa merda toda que eu conseguir ter sua. Duro, preparando-se apresentar seu projeto que tipo de força a abertura das peças dramáticas

  • Първото нещо което което със сигурност щеше да създаде проблеми е изключването на javascript от браузърната поддръжка. Както всяка модерна апликация така и нашия инструмент използва доста JS за AJAX e outros processos dinâmicos que transmitem a interatividade e a visão contemporânea e melhora a funcionalidade. Pensamos em muitas decisões, como a mais aceitável era um cookie com as informações e depois php para verificar se a informação é válida e se está tudo Okey. Solução muito letrada, mas finalmente aparecem versão ainda mais decente. HTML a ser implementado em noscript. Acho que é a solução mais elegante.
<noscript>
<meta http-equiv="refresh" content="0;URL=./nojs.html" />
</noscript>

Basicamente, a situação é trivial se pararmos JS apoio será redirecionado para URnojs.html. Solução simples e muito eficaz.

  • Php multhithreading – muito niškovosta é algo muito útil para os processadores com núcleo mais (Não que o ednoâdreni não é Okey, mas com muitos sistemas nucleares é outra cerveja coisas). Nosso software tem uma parte que lida com a coleta de informações de outros API – e importva em nosso banco de dados. Obŝovzeto nenhum desafio exceto que implementamos o php novamente com multhithreading no modo cli, porque este processo é bastante grande e precisa ser atomatiziran por ter alguém fazendo isso com a mão. Aqui havia um drama associado com fokrvaneto de processos e não cria o fluxo processo filho-(a) que ele estava à espera de um script para o priklûčabota para criar um novo. Estúpido, ele mata a ideia de que na verdade multiprocessamento de comportamento não é o multhithreading, mas aqui estão os detalhes. Primeiro colocamos & Após o julgamento, o que significa que seu script para continuar o trabalho mas, novamente, houve nenhuma mudança no comportamento é necessária e o padrão de saída do script para ser Redirecionado – no meu caso o Okey, para /dev / null 🙂 Накрая структурата на тази част от кода изглеждаше така
$pid = pcntl_fork();
if ($pid == -1) {
die('could not fork');
}else if ($pid) {
// we are the parent
echo "I'm parent  \n";
pcntl_wait($status); //Protect against Zombie children
} else {
// we are the child
echo "I'm a child $timer  \n";
exec("$command > /dev/null &");
exit (0);
}

Primerčeto novo é trivial. O desempenho foi altamente impressionado com o interrompido entre os processos e assim por diante que fiz sobre 50 criança processo, que fez uma curva. 7800+ sobre o MySQL insere para 30-40 SEC. E a máquina é extremamente delicada, porque testamos v″r″r antes de fazer a aplicação do real.

  • Querys do MySQL – Fiquei chocado com uma grande estupidez. Havia um código que fiz 4-5 consultas desnecessárias ao banco de dados, em vez de usar um sql consulta e então gordura principal trabalho-php-lo. O drama era tal, maioria- em seguida foi uma solicitação que levou informações de saída da consulta é usada para fazer outros pedidos como ela serviu para os argumentos. Situação muito feia e gorda. Subconsulta e, aparentemente, é território desconhecido e junção esquerda ou simplesmente não foram coisas abstratas bem. Tenho tudo o que eu reescrevi o trabalho de aplicação muito bem e a carga como um todo caiu por sobre 200% para a mesma parte do código.

Em geral, estas são as coisas que ultimamente é zaniamvame e não posso dizer que é chato, mas às vezes eu estou impressionado com neobmislâni Misc pedaços de código que você precisa corrigir e o steraŝnoto é que muitas vezes são meu 😆

Reforçada por Zemanta

2 comments

  1. И аз имам тегления на данни, сложени в crontab-a. Пробвах преди със & в края, но ставаше пиково натоварване, грозна история. Сега съм ги оставил, като свърши единия процес, да пуска другия, но това е ужасТ :> Като зацикли някъде и всичко отива по дяволитетова го решавам като килвам старите процеси, като дойде време да се пуска новия, но това е още по-голям ужасТ, защото губя данни. Та ще се се опитам да имплементирам, твоето решене по този въпрос. Благодарско! 🙂

    1. Ами по моя метод хубавото е че информацията може да се обработва от няколко процеса едновременно но това също ти гарантира по голямо натоварване 😉 Баланса между натоварване и скорост винаги е много тънък. Всичко опира до тестове.

Deixe uma resposta

Seu endereço de email não será publicado. Campos obrigatórios são marcados *

anti SPAM *