1

(7 replies, posted in PHP)

dėl nesuderinamų pavadinimų kiek žinau yra kita istorija. Tai yra daugiau susisiję su tuo kad nemažai php bazinių komandų yra paimtos iš kitų kalbų/bibliotekų. Tikriausiai tingint/tikintis per nelyg nenutolti nuo originalaus brancho buvi ir paliekami originalus pavadinimai.

O kas per sertifikatas?

Back to sqare one.
Kaip tai optimizuoti :)

Dumpas gerai. Bet gerai tik iki to momento, kai dumpe nera kokiu su serveriu susijusiu nustatymu. Sugalvoja kas nors kad domena reikia DB o ne confige saugoti - ir prasideda džiaugsmai :/

Kalbu ne apie tokius atvejus kaip pradeda keistis pačios lentelės struktūra. Labiau kai keičiasi jos duomenys ar sukuriamos naujos lentelės (pvz įdiegtas naujas modulis).

Hmm, o kaip daroma jei pvz koks nors eshopas nori atsinaujinti vos ne visus savo vidinius puslapius bei jų struktūrą? Su visais maketavimais ir derinimais tai gali užtrukti kelias dienas. O krūva lūžusių ar niekur nevedančių nuorodų skamba kaip košmaras :)

Ale rimtai miręs forumas :)

Kadangi serveriai gali būti bet kur pasaulyje, be jokio root priėjimo, bene vienintelis pastovus dalykas yra tai kad jie visi gali vykdyti PHP skriptus.

Mano teorinis planas, padinkim jį SuperSync (TM) būtų toks, kad į kiekvieną projekto serverį būtų galima įdiegti super.php skriptą. Patvirtinęs tapatybę per oAuth, leistu valdyti serverį nuotoliniu būdu. Pvz:
1) centrinis serveris kas kelias valandas vis užprašytų SHOW CREATE TABLE + visų duomenų exporto, bei pas save parsisiųstu į centrinę saugią vietą.
2) Kai reikia sinchronizuoti duomenis, centriniame serveryje paspaudus didelį raudoną mygtuką info būtų nusiųsta į reikiamą serverį
3) įkėlus info įvykdoma serija UPDATE TABLE, kuri už tave pakeičia visus reikiamus parametrus.
4) Atlikus visus pakeitimus procedūra kartojama, tik jau kita kryptimi.

Norint sumažinti downtime visas importas atliekamas į table-name_NEW lenteles, ir tik visoms sėkmingai įsikėlus su RENAME TABLE aktyvuojama.
Vėliau analogiškai perkeliamos nuotraukos, attachementai, kitos duomenų bazės.


Atrodo paprasta, bet negi nėra gatavų tokio tipo sistemų? CI įrankiai kaip pvz Jenkins, bet ar jie turi tinkamų modulių?

Mastau tiek apie atsarginių kopijų, tiek apie migravimo tarp stage <-> live serverių sistemą (taip, idealiu atveju duomenys turi galėti judėti abiem kryptimis) :)

Kiekvienas esat susidūręs su tokia situacija, kai jūs padarote projektą, klientas jį naudoja, atlieka pakeitimus. Vėliau prireikia atlikti atnaujinimo darbus, kurie aišku turi būti padaryti ne live versijoje, bei apima tiek programinio kodo, tiek turinio atnaujinimą.

Jei pasiseka ir remontuoji Wordpressinį frankenšteiną, reikalavimą viską atlikti offline galima apeiti, bet kai kalba pasisuka apie didesnius projektus...

Idealiu atveju kas kartą pasidarai live tinklapio kloną, sutvarkai ir vėl sumeti į  live. Tik kad labai nepatogu. Ypač jei pakeitimai yra reguliarūs ir apima tiek naujas prekės eshope, tiek turinio pasikeitimus. Kartais net naujus pluginus ar kliento daugelio atliktus pataisymus.


Tad klausimas, kaip tai valdoma didesniuose projektuose. Ypač kai neretai abu serveriai skirtingose šalyse, o duomenų bazėje saugoji ir nuo serverio priklausantys nustatymai?

8

(6 replies, posted in Visa kita)

Linux'us pasilesti per virtual box ir ten žasiti.

9

(14 replies, posted in Visa kita)

Kolega permetinėjo joomla iš 1,5 į 2,5. Viskas baigėsi tuo, kad perkūė visą saitą įskaitant ir dizaino perdarymą. Kažkoks vaikiškas žaidimas ta Joomla :/

10

(6 replies, posted in PHP)

Avice wrote:

Nieko nesupratau ;D
Jei nori gauti visa siuntimo informacija:

ob_start();
print_r($_SERVER);
print_r($_GET);
$out = ob_get_contents();
ob_end_clean();
mail('tavo@email.lt', 'My Subject', $out);

Išiuntus sms visa informacija gausi el.paštu ir pagal ja galėsi viska pasitikrint , jei ko nesupranti.

Kam taip sudėtingai? Didesniame projekte ką nors ir sugriauti galima :)

mail('tavo@email.lt', 'My Subject', var_export(array('$_GET' => $_GET, '$_SERVER' => $_SERVER, '$_POST' => $_POST), true));

11

(4 replies, posted in JavaScript, jQuery, AJAX)

Gal kažkas tokio (ko truksta tikiuosi prisirasysi):

var body_height = //body aukstis

body.attachEvent ("onscroll", function(body){
var offset = 100; // likus kiek px pradeti krauti turini

if (body_height-offset > body.scrollTop){
   load_your_content() // jame nepamirsk nurodyti naujo body_height
}
});

dar gal reiktu minusuoti viewport height...

Blin, tai jei JS gauna JSON - projektas jau nebe AJAX'inis.

Vėl reikės vadybininkus mokyti naujo termino AJAJ -  Asynchronous JavaScript and JSON :D

13

(35 replies, posted in PHP)

Ajaks wrote:
zygis wrote:

http://www.w3schools.com/php/func_filter_input.asp
Example yra tai ko tau reikia

Sakyciau nera toks jau geras tas filtriukas?

<< FILTER_VALIDATE_EMAIL allows incomplete e-mail addresses to be validated, for examle john@gmail will validate as a proper e-mail address >>

As geriau jau pasirinkciau toki email tikrinima kuris galune darytu privaloma negu neprivaloma, nes pastarojo atvejo procentas bus daug mazensis.

Pilna visokiu funkciju ar regexu email tikrinimui. Googlas pades.

su FILTER_VALIDATE_EMAIL viskas OK.

ICANN leidus registuoti savo TDL ne už kalnų ir username@gmail ar username@fb gali pasirodyti :)

14

(2 replies, posted in JavaScript, jQuery, AJAX)

http://bugs.jquery.com/ticket/7978#comment:9 nepadėjo (ar kiti sprendimai is webkit bug trackeriu)?

Gal tiesiog rankiniu būdu paslėpus išsispręstų?

<..>.fadeIn(FADE_SPEED, function() {$(this).css('display': 'block')});

15

(18 replies, posted in PHP)

Gal šitas padės http://bit.ly/Mvaodo ?

Kam tas hidden field'as jeigu gali a) pradini teksta laikyti elemantariame kintamajame b)

$('#my-text-area').change(function(){$(this).attr('changed', true)})
$('#my-next-element').click(function(){
   if ($('#my-text-area').attr('changed') == true)
      alert('Eee, ka dirbi?')
})

Jei tau tereikia tik atvaizduoti kita spalva, vietoj subužklausų ir jungimų tiesiog php du kartus prasukti ciklą?

for $rows as $row 
  $count[$row['id']]++;


for $rows as $row 
  if ($count[$row['id']] > 0) echo "Kartojosi {$row['id']}";

Nepamiršk renkantis tiekėją reikia atkreipti dėmesį į 3 dalykus - komisiniai nuo kiekvienos transakcijos, minimali mėnesinė apyvarta (jei tokia yra) ir kaip sprendžiamos situacijos, kai pirmumas buvo atliktas su vogtais duomenimis.

19

(20 replies, posted in Visa kita)

Beieškodamas geriausios klaviatūros savo droidui (rekomendacijos mielai laukiamos) užtikau štai ką

http://www.electricpig.co.uk/2011/06/15 … ards-apps/ - tinklapį, kuris iš tiesų prašo leidimo naudoti sausainėlius. Tiesą sakant nesitikėjau kad ši diena ateis taip greitai..

Less yra labai gerai, jei reikia naudoti visokį CSS3 gėrį, kaskart 5 taisyklės tam pačiam border-radius:3px? ;( O kur dar ie filtrai :(((

Kompiliavimas? Naudoji keshavimą ir nematai vargo. Jei dar freimowrkas su debug>0 automatiškai krauna naujausią versiją - jokios problemos.

Minusai:
* Editorius. Kol kas dar neradau tobulai veikiančio su less palaikymu. http://plugins.netbeans.org/plugin/32782/lesscss-module veikia neblogai, bet iki tobulumo dar toli. Gal kas žino geresnį toolsą?

* Eilučių numeriai. Dirbant su CSS ir firebug galima tiesiog nušokti į reikimą eilutę ir įpaste'inti naujas taisykles. Su less, jau turi žinoti, kur ieškot. Bet jei kodas tvarkingas - tai nebus didelė problema.