Menší opravy v PHP - nezájem programátorů?

Skřetík

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #15 kdy: 10. 03. 2016, 22:18:18 »
Děkuji všem zúčastněným za reakce. Už je mi to jasné. Prostě dnes je práce dost a proto se cena "šroubuje".

A ano, programátor by měl více práce, než jeden script. Ovšem za 1kKč/h rozhodně ne, jsme malá česká firma.

Nicméně cením si Vašich názorů.

Dohoda o ceně samozřejmě byla, programátor je momentálně nedostupný a vzhledem k tomu, že není z Brna, možná už ani nebude.
Myslím, že odhad není úplně mimo mísu. Dvě knihovny, jedna s 200řádky včetně komentářů a druhá s 230 řádky není velký projekt. Vzhledem k hodně komentářům bych viděl seznámení a práci tak na 2 hodiny. Sám jsem programoval před nějakou dobou ve více jazycích, posledních pár let se ale věnuji správě a sítím - když jsem se před lety rozhodoval, zvolil jsem sítě. Možná jsem se měl věnovat tomu programování ... asi bych vydělal více.
a) dohoda o ceně byla předpokládám s programátorem který to původně dělal, tedy ví jak je to dělané
b) váš časový odhad může a nemusí být reálný. Z osobních zkušeností vím, že reálný obvykle není
c) přičemž důvod proč reálný není je obvykle proto, protože to bývají bastly postavené na natvrdo psaných sql s sql injection, předpokladem register globals atd. (čili potenciálně můžete strávit první hodinu na projektu jen předěláním aby to nebylo zcela děravé a vůbec to jelo na PHP s vyplým register globals)
d) a c) je obvykle důvod, proč původní programátor od toho "utekl" i když má proti všem ostatním výhodu, že to zná. Jenže... stáhnete to na lokál, nejede kvůli register globals, je potřeba někde vyhrabat přihlášení na server, k nějakému adminu k databázi atd.
e) a navíc nikdo neví jak ten kód vypadá, on ani nikdo neví jak na čem to jede a jak. I v dnešní době existují servery s magic quotes gpc jedoucí na php 4.x kde prakticky "nic" nejede, frameworky tam rozchodit nejdou kvůli všemožným restrikcím atd. Rozcházet si na lokále 10 let staré PHP fakt není zábava, a koukat na neustále "function xyz doesn't exist" taky není nic moc.

Takže se lze těžko divit, že se nikdo nehrne do práce na 1-2 hodiny, protože to jak to popisujete může být cokoli od práce na půl hodiny (funguje-li vše ok), až po klasické "past na pasti" což je bohužel výrazně běžnější případ - jinak by to obvykle dodělal původní programátor. Kdybyste chtěl spousty věcí a tohle by byl jen fragment, tak se hodinová nebo dvouhodinová režie na tom množství rozpustí, ale kvůli pár drbnutí do kódu to znamená skákat do kalné vody, a doufat že tam nebude moc šutrů...


pavlix

  • ****
  • 253
    • Zobrazit profil
Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #16 kdy: 11. 03. 2016, 00:36:52 »
Děkuji všem zúčastněným za reakce. Už je mi to jasné. Prostě dnes je práce dost a proto se cena "šroubuje".

A ano, programátor by měl více práce, než jeden script. Ovšem za 1kKč/h rozhodně ne, jsme malá česká firma.

Pardon, že se ještě zapojuju do diskuze, přestože nejsem z těch, co by chtěli přímo pomoct...

Ta cena není nijak šroubovaná. Kšeft za tisíc sám o sobě prostě nestojí za vyjednávání z cizími lidmi. Jestli je práce dost nebo není s tím nijak nesouvisí. Člověk, který má málo práce a vezme tenhle kšeft, má pořád málo práce. Je něco jiného udělat ±200 hodin po 200 Kč a udělat ±5 hodin po 200 Kč. Pokud je těch 200 hodin placených průběžně, tak se značně snižuje i rizikový faktor, který se taky musí nějak zaplatit.

Jinak malá česká firma není dobrá výmluva. Jedna věc je, že se velké firmy často nechají odrbávat (a zvlášť pokud sem tam padne nějaká malá domů), jiná věc je dokázat zaplatit, co si trh žádá. Už tu padlo několik příkladů, za kolik jezdí různí výjezdní technici. Dvě stovky od hodiny jsou cena pro kvalifikovaného zaměstnance, ne pro kvalifikovaného freelancera, a už vůbec ne aplikovaná v tak malém měřítku.

Pokud firma nechce platit adekvátní peníze, je nejlepší celou věc řešit in-house. PHP je open source a rozšířené mezi hromadu lidí, takže jistě není problém se při tom s lidmi trochu poradit. Práce zadarmo má (z pohledu pomáhajícího) obrovskou výhodu v tom, že není zavazující. Člověk pomůže nebo nepomůžue a přesune se dál, nebo dílčí radou přispěje víc lidí. Žádný stres, žádné papírování, žádné riziko. :)

D.J.Bobo

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #17 kdy: 11. 03. 2016, 08:44:41 »
Takže se lze těžko divit, že se nikdo nehrne do práce na 1-2 hodiny, protože to jak to popisujete může být cokoli od práce na půl hodiny (funguje-li vše ok), až po klasické "past na pasti" což je bohužel výrazně běžnější případ - jinak by to obvykle dodělal původní programátor. Kdybyste chtěl spousty věcí a tohle by byl jen fragment, tak se hodinová nebo dvouhodinová režie na tom množství rozpustí, ale kvůli pár drbnutí do kódu to znamená skákat do kalné vody, a doufat že tam nebude moc šutrů...
Ano, s tím vším bohužel musím víceméně souhlasit. Běží to na openSUSE 13.1 s poslední dostupnou verzí PHP a MySQL, připojování k DB je přes Mysqli PDO, celé je to postavené na několika třídách. Ale rozumím. Taky jsme ve firmě měli na stáži kluky ze školy, co programovali PHP a dělali nějaké jednodušší přechodné aplikace. Ano, a ty jsou postaru. Špagetový kód, sem tam použití třídy (když jsem jim dal nějakou, aby furt nepsali dokola ten samý kód), neošetřené vstupy z formulářů ... bohužel nemohu dělat vše a jelikož se věnuji převážně správě sítí, programování (kterému jsem se věnoval před lety celkem intenzívně) nemohu věnovat tolik času. Proto jsem hledal někoho, kdo umí programovat objektově a jen tak neplácá kód).
Souhlasím, že zorientovat se v cizím kódu dá práci. Mě to v tomto případě trvalo cca 1/2 hodiny (musel jsem si zopakovat OOP :-( ).

Díky za reakci a vysvětlení. Takhle jsem se na to nepodíval (víc očí/víc pohledů).

D.J.Bobo

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #18 kdy: 11. 03. 2016, 09:02:00 »
Před chvíli jsem zrovna tohle řešil v našem redakčáku s pomocí jQuery. Můžu se na to podívat, a pokud bude kód rozumný, tak to klidně vyřeším.
OK, část kódu (obě části jsou součástí class, ale jen u druhé jsem to uvedl)
Kód: [Vybrat]
<select class="form-control" name="product">
<?php
        
echo "<option selected>" $this->emptyOption "</option>";
foreach ($this->getProducts() as $product)
            {   if (isset(
$_POST["submitFilter"]) || isset($_POST["submitForm"])):  // funkce pro zapamatování 
                     
$selected $_POST["product"] === $product->product "selected" ""; else: $selected "";endif;
                     echo 
"<option " $selected ">" $product->product "</option>";
            }
?>

</select>
<label>Rok vydání:</label>
<select class="form-control" name="year">
<?php
         
echo "<option selected>" $this->emptyOption "</option>";
         foreach (
$this->getYears() as $year
            {   if (isset(
$_POST["submitFilter"]) || isset($_POST["submitForm"])):  // funkce pro zapamatování hodnoty po odeslání formuláře
                 
$selected $_POST["year"] === $year->year "selected" ""; else: $selected ""; endif;
                 echo 
"<option " $selected ">" $year->year "</option>";
            }
?>


class FormProperties extends DB {

    public function getProducts() {
        try {
            $sql = "SELECT DISTINCT software AS product FROM software WHERE enable = 1 ORDER BY software ASC ";
            $query = $this->db->prepare($sql);
            $query->execute();
            $row = $query->fetchAll(PDO::FETCH_OBJ);
            return $row;
        } catch (PDOException $e) {
            die($this->db_error_message . $e->getCode());
        }
    }

    // vrátí objekt obsahující informace o všech letech k danému produktu, které jsou použity v databázi (nutno dodělat výběr WHERE software = $parameter1 na základě jQuery)
    public function getYears() {
        try {
            $sql = "SELECT DISTINCT year FROM software WHERE enable=1 ORDER BY year DESC";
            $query = $this->db->prepare($sql);
            $query->execute();
            $row = $query->fetchAll(PDO::FETCH_OBJ);
            return $row;
        } catch (PDOException $e) {
            die($this->db_error_message . $e->getCode());
        }
    }
}

Toto je krátký výsek z kódu a místo, kde si nevím rady. Našel jsem na Webu návody, jak pracovat s jQuery, ale tam byl příklad, že po výběru z Combo se načtou data do okna/tabulky a ne že ovlivní další výběry.
Do getYears je nutné předat parametr rok pro select, mám to sice rozpracované jinde, ale pořád mi to jede samozřejmě jen na tlačítko Vyber (což musím stisknout po každém výběru) a javascript je pro mě taky celkem cizí - umím použít cizí kód a drobně upravit podle návodu, ale v Javě jinak neumím nic. Jak jsem psal, programování se nevěnuji aktivně a jak se člověk neustále něco neučí, brzy zakrní .... :-(
Pokud by jsi chtěl pomoci a případně měl volné kapacity, napiš mi na admin@solidvision.cz a zkusíme se domluvit.
Poslal chyb další požadavky na programování a zkusil by jsi mi poslat nástřel ceny a vidělo by se, zda jsem mimo realitu, nebo ne.

Ivan Nový

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #19 kdy: 11. 03. 2016, 09:50:07 »
Před chvíli jsem zrovna tohle řešil v našem redakčáku s pomocí jQuery. Můžu se na to podívat, a pokud bude kód rozumný, tak to klidně vyřeším.
OK, část kódu (obě části jsou součástí class, ale jen u druhé jsem to uvedl)
Kód: [Vybrat]
<select class="form-control" name="product">
<?php
        
echo "<option selected>" $this->emptyOption "</option>";
foreach ($this->getProducts() as $product)
            {   if (isset(
$_POST["submitFilter"]) || isset($_POST["submitForm"])):  // funkce pro zapamatování 
                     
$selected $_POST["product"] === $product->product "selected" ""; else: $selected "";endif;
                     echo 
"<option " $selected ">" $product->product "</option>";
            }
?>

</select>
<label>Rok vydání:</label>
<select class="form-control" name="year">
<?php
         
echo "<option selected>" $this->emptyOption "</option>";
         foreach (
$this->getYears() as $year
            {   if (isset(
$_POST["submitFilter"]) || isset($_POST["submitForm"])):  // funkce pro zapamatování hodnoty po odeslání formuláře
                 
$selected $_POST["year"] === $year->year "selected" ""; else: $selected ""; endif;
                 echo 
"<option " $selected ">" $year->year "</option>";
            }
?>


class FormProperties extends DB {

    public function getProducts() {
        try {
            $sql = "SELECT DISTINCT software AS product FROM software WHERE enable = 1 ORDER BY software ASC ";
            $query = $this->db->prepare($sql);
            $query->execute();
            $row = $query->fetchAll(PDO::FETCH_OBJ);
            return $row;
        } catch (PDOException $e) {
            die($this->db_error_message . $e->getCode());
        }
    }

    // vrátí objekt obsahující informace o všech letech k danému produktu, které jsou použity v databázi (nutno dodělat výběr WHERE software = $parameter1 na základě jQuery)
    public function getYears() {
        try {
            $sql = "SELECT DISTINCT year FROM software WHERE enable=1 ORDER BY year DESC";
            $query = $this->db->prepare($sql);
            $query->execute();
            $row = $query->fetchAll(PDO::FETCH_OBJ);
            return $row;
        } catch (PDOException $e) {
            die($this->db_error_message . $e->getCode());
        }
    }
}

Toto je krátký výsek z kódu a místo, kde si nevím rady. Našel jsem na Webu návody, jak pracovat s jQuery, ale tam byl příklad, že po výběru z Combo se načtou data do okna/tabulky a ne že ovlivní další výběry.
Do getYears je nutné předat parametr rok pro select, mám to sice rozpracované jinde, ale pořád mi to jede samozřejmě jen na tlačítko Vyber (což musím stisknout po každém výběru) a javascript je pro mě taky celkem cizí - umím použít cizí kód a drobně upravit podle návodu, ale v Javě jinak neumím nic. Jak jsem psal, programování se nevěnuji aktivně a jak se člověk neustále něco neučí, brzy zakrní .... :-(
Pokud by jsi chtěl pomoci a případně měl volné kapacity, napiš mi na admin@solidvision.cz a zkusíme se domluvit.
Poslal chyb další požadavky na programování a zkusil by jsi mi poslat nástřel ceny a vidělo by se, zda jsem mimo realitu, nebo ne.

Zkuste to upravit do tohoto tvaru:

Kód: [Vybrat]
<form name="test" action="/url-skriptu" method="POST">
     <select onchange="document.forms['test'].submit();">
<option>prvni</option>
<option>druha</option>
     </select>
</form>

a logiku svázání umístěte do php, po změně comba se volá skript znovu a souvislosti mezi komby vyřešíte během jejich generování na základě hodnot v $_POST


Hmm

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #20 kdy: 11. 03. 2016, 11:20:03 »
...javascript je pro mě taky celkem cizí - umím použít cizí kód a drobně upravit podle návodu, ale v Javě jinak neumím nic...
Ospravedlnte tuto mensiu namietku, ale Javascript ma s Javou spolocne len prve styri pismena v nazve. Inak vobec nic.

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #21 kdy: 11. 03. 2016, 14:39:55 »
OK, část kódu (obě části jsou součástí class, ale jen u druhé jsem to uvedl)
(...)
Eeee, pokud se tam míchá php a html tak to rozhodně moc objektově napsané není :-)

Řešit se to dá několika způsoby:

  • při každé změně selectu se form odešle na server a server pošlě nově vyrenderované html, logika provázání je zcela a jen v php (data i odezva ui)
  • načte se strom závislostí jen jednou a to na začátku do javascriptu, logika provázání při změně selectu je (co se týče odezvy ui) jen v javascriptu, form se odesílá až nakonec, kde se možná v php ještě validuje, zda je zadaná kombinace přípustná
  • při každé změně selectu se načítá závislost ajaxem ze serveru do javascriptu, logika provázání je v php (co se týče dat) i v javascriptu (odezva v ui), form se odesílá až nakonec, kde se možná v php ještě validuje, zda je zadaná kombinace přípustná
Výber nejvhodnější varianty závisí na počtu položek, na tom, jak často se mění (transakce a jejich souběh) a jak tvrdě mají být zadané hodnoty validované (rovněž transakční chování) a nakonec samozřejmě na tom, kterou technologii tvůrce ovládá.

V závislosti na tom, jaké jsou odpovědi na uvedené otázky se může výsledná cena za práce lišit ŘÁDOVĚ. Což je moment, kdy řada zadavatelů uteče, protože „Proč je to tak komplikované, když chci přeci tak jednoduchou věc!“ a ještě si bude myslet, že všichni jen šroubují cenu. Ve skutečnosti ale programátor jen přistupuje k zadání zodpovědně a dělá analýzu. A ta je drahá, leckdy dražšší než následné nakódování. A ano, i u malého zadání je potřeba mít minianalýzu - jinak se prostě snadno výsledek a potřeby zadavatele minou anebo přestane sedět nacenění a začne spor. Poměr nákladů na analýzu a nákladů na vyhotovení pak určuje, za jakých podmínek bude programátor chtít do projektu jít. Nejde o šroubování ceny, jde o to, aby se zadavatel a dodavatal vůbec dorozuměli.

php programator

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #22 kdy: 11. 03. 2016, 15:07:48 »
Koukam koukam za 1000kc - hm, ten kod splacane dohromady php s html. Laikovi se muze zdat uprava o to lehci, nez kdyby to bylo udelano pomoci frameworku. Profesional spraskne ruce a jde od toho. Rikas 1/2 hodina na zorientovani, ale ty vis co to ma delat a co od toho ocekavas. Ostatni budou muset pochopit co chces, a co ocekavas. Pak budou moci zacit - ale ne s vyvojem, ale hledanim navaznosti, provazanosti, atp. Dale upravovat takovy spletenec, je skutecne mnohdy narocnejsi, nez s frameworkem vytvorena apka, ktera ma jasne dany model.

tim

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #23 kdy: 11. 03. 2016, 15:08:36 »
Děkuji všem zúčastněným za reakce. Už je mi to jasné. Prostě dnes je práce dost a proto se cena "šroubuje".

A ano, programátor by měl více práce, než jeden script. Ovšem za 1kKč/h rozhodně ne, jsme malá česká firma.

Nicméně cením si Vašich názorů.

Dohoda o ceně samozřejmě byla, programátor je momentálně nedostupný a vzhledem k tomu, že není z Brna, možná už ani nebude.
Myslím, že odhad není úplně mimo mísu. Dvě knihovny, jedna s 200řádky včetně komentářů a druhá s 230 řádky není velký projekt. Vzhledem k hodně komentářům bych viděl seznámení a práci tak na 2 hodiny. Sám jsem programoval před nějakou dobou ve více jazycích, posledních pár let se ale věnuji správě a sítím - když jsem se před lety rozhodoval, zvolil jsem sítě. Možná jsem se měl věnovat tomu programování ... asi bych vydělal více.

Podivejte se, uz jsem neco malicko delal a pouceni je:
- zakaznik vi prd o tom kolik to da prace a vy uz o tom neco vite
- meni zadani behem prace a nechce za to zaplatit, "vzdyt to je prkotina"
- 2h? tak si to za ty 2h udelejte sam, dokud nevidite kod a jak je citelny tezko odhadovat cenu
- sroubuje? my si cenime sveho casu, dneska udrzbar(voda/elektrika/plyn) stoji 500-1000 Kc/h a stacil mu na to ucnak a bez kecu zaplatite vsechno (2-5K bezna cena opravy) a orpavdu nemusi az na elektriku nic zasadne studovat, tedy jde trubka/kabel a tady to konci....
- kdyz se neco pokazi(nemusi to byt problem pridaneh kodu), budete chtit opravu zadarmo

Nejste tak trochu mimo realitu?

Hmm

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #24 kdy: 11. 03. 2016, 15:15:07 »
OK, část kódu (obě části jsou součástí class, ale jen u druhé jsem to uvedl)
(...)
Eeee, pokud se tam míchá php a html tak to rozhodně moc objektově napsané není :-)
Preco by nebolo? Moze byt. Netreba si pliest objektovy pristup a MVC. Ak sa mota PHP a HTML, tak nemozno byt velmi rec o MVC, ale OOP to byt kludne moze.

pgcvszyi

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #25 kdy: 11. 03. 2016, 15:19:55 »
Kdyz vydim zdejsi diskuzi je to smutne,

dejte sem na Vas nejaky kontakt at se muzeme dohodnout.

Pokud tu nechcete zverejnovat email napiste mi na aa082173@gmail.com

Karel

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #26 kdy: 11. 03. 2016, 15:21:00 »
nejprve v controleru musíte upravit načítání dat ... upravit o AJAX volání controleru
Ano, tohle je hezky predpoklad pokud by napsal ze to je postavene na takovem a makovem frameworku... Realita bude, tusim, dost odlisna pokud je to one-man-show.

Přesně tak. Máme něco podobného u nás pro zadávání helpdeskových ticketů - stránka obsahuje javascript, ve kterém je v proměnné seznam kombinací. Javascript se pak stará o to, že když v prvním comboboxu vyberu jednu hodnotu, tak mi přepíše možné hodnoty v tom dalším. Přes AJAX se netahá nic, nijak to nesouvisí s controlerem. Je to čistě záležitost prezentační vrstvy. Platnost kombinace si pak ověřuje aplikační server sám při ukládání dat. Dostupné kombinace jsou pevně dané a uložené na serveru v tabulce, odkud je PHP krmí do každé generované stránky. Takže implementace takového požadavku by u našeho řešení byla opravdu záležitostí na pár minut (kdyby to ještě implementované nebylo).

Jenže zadavel to skoro s jistotou bude mít celé ještě úplně jinak. A ačkoliv ta změna dost dobře může být pracností na úrovni 1kKč, tak zjištění, jak to vůbec je naprogramované, může zabrat řádově více času. Pokud jsou zdrojáky a dokumentace dostupné ihned, například na gitu, tak jsem ochoten věnovat 5 minut tomu se podívat a zvážit, zda do toho jít. Ale na blind mi to za 1kKč opravdu nestojí.

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #27 kdy: 11. 03. 2016, 15:30:04 »
OK, část kódu (obě části jsou součástí class, ale jen u druhé jsem to uvedl)
(...)
Eeee, pokud se tam míchá php a html tak to rozhodně moc objektově napsané není :-)
Preco by nebolo? Moze byt. Netreba si pliest objektovy pristup a MVC. Ak sa mota PHP a HTML, tak nemozno byt velmi rec o MVC, ale OOP to byt kludne moze.

Nepletu si MVC a OOP, ale tvrdím, že je zde souvislost. Míchanice html a php se bude hůže zapouzdřovat, rozšiřovat, skládat, bude mít horší abstrakci, testovatelnost... Nebo chcete toto rozporovat?

Kit

Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #28 kdy: 11. 03. 2016, 15:40:39 »
Do objektovosti těm uvedeným skriptům dost chybí. Do očí bijí například $product->product nebo $year->year. Jak může být produkt atributem produktu nebo rok atributem roku?

Kód: [Vybrat]
class FormProperties extends DBTohle je další nesmysl, který s OOP nemá nic společného. Vlastnosti formuláře přece nejsou databází.

Kdoví, kolik dalších špeků se nachází v dalších skriptech. To nebudou jen drobné úpravy. Ty skripty jsou zralé spíš na předělávku.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Menší opravy v PHP - nezájem programátorů?
« Odpověď #29 kdy: 11. 03. 2016, 15:49:36 »
Kdyz vydim zdejsi diskuzi je to smutne,

dejte sem na Vas nejaky kontakt at se muzeme dohodnout.

Pokud tu nechcete zverejnovat email napiste mi na aa082173@gmail.com
Když "vydím", jak píšeš, tak určitě nemáš ani základku.