kengerian pembangunan

Akhir-akhir ini aku kebanyakan kerja dengan kod, tidak dengan pengurusan, jadi granit yang meluruskan dengan codene jauh lebih dari seorang pelayan, apa-apa, jadi saya memutuskan untuk memukul beberapa baris omong kosong itu saya kandungan. Sentiasa bersedia untuk menyediakan projek mereka persembahan yang mempunyai beberapa pembukaan dramatik bahagian

  • Първото нещо което което със сигурност щеше да създаде проблеми е изключването на javascript от браузърната поддръжка. Както всяка модерна апликация така и нашия инструмент използва доста JS за AJAX dan proses dinamik lain yang menghantar interaktiviti dan visi kontemporari dan meningkatkan fungsi. Kami fikir banyak tentang membuat yang paling diterima adalah dengan maklumat cookie dan kemudian php untuk mengesahkan sama ada maklumat itu adalah sah dan jika semuanya berjalan dengan lancar. Agak keputusan celik tetapi akhirnya muncul versi yang lebih rapi. HTML untuk dimainkan jika ia datang dalam noscript. Saya rasa ia adalah penyelesaian yang paling elegan.
<noscript>
<meta http-equiv="refresh" content="0;URL=./nojs.html" />
</noscript>

Secara umumnya keadaan adalah remeh jika kita menghentikan sokongan JS akan diarahkan ke nojs.html. penyelesaian yang mudah dan sangat berkesan

  • Php multhithreading – banyak nishkovosta adalah sesuatu yang agak berguna untuk pemproses dengan teras lebih (bukan dari teras tunggal yang tidak betul tetapi banyak perkara sistem nuklear adalah bir lain). Perisian kami mempunyai bahagian yang berurusan dengan mengumpul maklumat daripada lain API – dia dan saya importva dalam pangkalan data kami Danny. Obshtovzeto ada cabaran kecuali ia sedar lagi dengan multhithreading php dalam mod cli kerana proses ini adalah dosatachno besar dan perlu atomatiziran kepada seseorang adalah penting untuk melakukannya dengan tangan. Di sini telah drama yang berkaitan dengan proses fokrvaneto dan aliran bukan sahaja mewujudkan proses kanak-kanak-dan skrip yang menunggu untuk priklyuchabota untuk mewujudkan baru. Silly yang membunuh idea multiprocessing daripada apa yang sebenarnya adalah tingkah laku dan tidak multhithreading tetapi ini adalah butiran. Kebanyakan dikemukakan & selepas perbicaraan itu yang bermaksud untuk terus script kerja mereka belum ada perubahan dalam tingkah laku yang diperlukan dan output standard skrip yang diarahkan – dalam kes saya dan juga untuk /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);
}

lagi Primerčeto e remeh. Dari prestasi saya sangat kagum dengan berselang antara mengangkat proses dan begitu juga mengenai 50 proses-kanak-kanak yang membuat stranba yang 7800+ mysql memasukkan kira-kira 30-40 sek. Mesin A adalah sangat lemah kerana kita varar ujian sebelum permohonan untuk menaikkan sebenar.

  • querys mysql – Saya terkejut dengan kebodohan yang besar. Terdapat kod yang dibuat 4-5 permintaan yang tidak perlu kepada pangkalan data, bukannya menggunakan sql pertanyaan lebih berhasil dan kemudian kerja-kerja utama untuk membawa php-it. Drama itu adalah seperti, paling- pertama membuat permintaan bahawa maklumat kemudian mengambil keputusan permohonan yang digunakan untuk membuat permintaan lain ia berkhidmat sebagai hujah. Pretty hodoh dan keadaan lemak. Itu subquery tetapi wilayah nampaknya tidak dikenali dan kiri menyertai atau hanya tidak dipertimbangkan perkara yang baik. permintaan Terperangkap menulis semula segala-galanya adalah cukup sejuk dan seluruh beban jatuh sebanyak kira-kira 200% untuk sekeping yang sama kod.

В общи линии това са нещата на последък с които се заниамваме и немога да кажа че е скучно но понякога се изумявам от разни необмисляни парчета код които трябва да поправям а най стеращното е че често са мои 😆

Dipertingkatkan oleh Zemanta

2 Komen

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

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

tinggalkan balasan

Alamat e-mel anda tidak akan disiarkan. Medan yang diperlukan akan ditanda *

Anti SPAM *