Jump to content
php.lv forumi

All Activity

This stream auto-updates

  1. Yesterday
  2. Labs... .. par programmētāja darba "garoziņu".. ;)
  3. Pamatā buttona laiks value, ir tas kas tiek atgriezts... tātad idejiski tas ir UNIKĀLA vērtība, tad nu pēc tās tālāk atlasi ko tev vajag.... DB, vai prasti text failā... tad nu pēc ID ielasi datus, linku, cenu utt.. ko tev tur vajag.. un sūti, izvadi.. vai nu kas nepieciešams... ----------- teiksim tabula produkts:: id, nosaukums, links, cena .... xxx.. Tad nu ielasi datus kāds ID ievadīts... tālāk jau dari ar tiem atlasītajiem datiem ko gribi ... Jā un vel.. optimāli, arī tos "buttonus", generēt, no DB... .. (ja vien produkti nebūs tikai daži.., bet tad DB nav jēgas... var izmantot parastu masīvu) ....
  4. Last week
  5. Labi, tik tālu sapratu. Tagad mēģinu saprast, kā panākt to, ka, ja lietotājs izvēlas `produkts 1`, lai viņam tiktu nosūtīts e-pasts ar datiem un apmaksas linku pirmajam produktam. Ja izvēlējās trešo produktu, tad trešā produkta links. Ir datubāzē tabula ar 3 produktiem un katram no tiem ir payment links. Mēģināju ar switch statement, bet bez rezultātiem.
  6. Earlier
  7. Printful piedāvā apdrukas, uzglabāšanas, grafiskā dizaina, foto un video pakalpojumus dizaineriem un uzņēmējiem, kuri vēlas izveidot veiksmīgu e-komercijas biznesu. Šobrīd mūsu pakalpojumus izmanto vairāk nekā 300 tūkstoši klientu visā pasaulē. Kopš Printful dibināšanas 2013. gadā esam izauguši par starptautisku 1800 cilvēku komandu un izpildījuši 30 miljonus pasūtījumu. Piedzīvojot strauju izaugsmi 2020. gadā, Printful kļuvis par Latvijā pirmo “vienradzi” jeb privāto jaunuzņēmumu, kura vērtība pārsniegusi vienu miljardu ASV dolāru. Šobrīd Printful IT departamentā strādā vairāk nekā 200 dažādi speciālisti. Izstrādi esam sadalījuši vairākās komandās, tostarp: Core Team: izstrādā mākslīgā intelekta (AI) sistēmas un nodrošina ilgtermiņa tehniskos risinājumus – infrastruktūru, arhitektūru, procesus, rīkus, vadlīnijas u. c. Merchant Solutions: ievieš un uztur e-komercijas platformas, Printful API un citas funkcijas Fulfillment & Stock: nodrošina, lai klientu pasūtījumi nonāk mūsu sistēmā un pēc tam pie īstās ražošanas iekārtas Billing: ievieš un uztur maksājumu sistēmas, strādā ar globāliem nodokļu projektiem un izstrādā risinājumus mūsu Finanšu un Grāmatvedības komandai Warehousing & Fulfillment, Shipping un pārējās komandas ir atbildīgas par citiem Printful pakalpojumiem un rīkiem Ja vēlies realizēt savas idejas, Printful ir īstā vieta tev! Mūsu komanda meklē papildspēkus – prasmīgu DevOps inženieri. Tev būs iespēja vienkāršot un uzlabot Printful darbinieku darbplūsmu, kā arī apgūt jaunus rīkus un izstrādāt infrastruktūru, kas atbalstīs dažāda mēroga projektus. Tavi pienākumi: pārvaldīt AWS mākoņpakalpojumus un Linux serverus ieviest programmēšanas rīkus un procesus (piemēram, CI/CD, monitorings) sagatavot Docker veidnes (images) izstrādes, testēšanas un produkcijas videi rakstīt infrastruktūru kā kodu izstrādāt un ieviest pielāgotus risinājumus citām mūsu IT komandām sadarboties ar citām IT komandām, lai sasniegtu kopīgus mērķus Darbs ir izaicinošs un aizraujošs. Tas ļaus saprast, cik svarīgi ir uzticēties komandai un savām profesionālajām zināšanām. Zemāk ir saraksts ar formālajām prasībām, tomēr svarīgākais ir, ka vēlies apgūt dažādas pieejas, lai pārvaldītu mērogojamu infrastruktūru. Mums ir starptautiska komanda, tāpēc mūsu inženieriem jābūt labām angļu valodas zināšanām. No tevis sagaidām: spēju lasīt un saprast PHP/Golang kodu (vēlama pieredze ar mūsdienīgiem PHP ietvariem) iemaņas Nginx un PHP-FPM konfigurēšanā un kļūdu novēršanā prasmi pārvaldīt MySQL serverus un izpratni par sarežģītiem pieprasījumiem pieredzi ar dažādiem Linux distributīviem (Ubuntu, OpenSUSE, Alpine u. c.) zināšanas par: Docker/Docker Compose Kubernetes HTTP/HTTPS/SSL/SSH/FTP AWS mākoņpakalpojumiem, piemēram, EC2, S3, RDS, Route53, Lambda, Athena spēju uzraudzīt AWS Cloudwatch/Zabbix/NewRelic/DataDog izpratni par tīkla pamatjēdzieniem Pieredze darbā ar šiem rīkiem un uzdevumiem tiks uzskatīta par priekšrocību: Gitlab CI citi AWS mākoņpakalpojumi, piemēram, ECS, EKS Helm Charts ELK stack Ansible Big Data risinājumi infrastruktūras kā koda izstrāde (vēlams Terraform) drošības uzraudzība izstrāde/kodēšana izkliedētā datošana (distributed services) Mēs piedāvājam: mēnešalgu sākot no 3000 eiro bruto atkarībā no pieredzes un prasmēm elastīgu darba dienas sākumu (darbā varēsi ierasties līdz plkst. 11.00) iespēju izvēlēties datortehniku un aprīkojumu – strādā Windows vai Mac vidē atbalstu ar relokāciju siltas, veselīgas bezmaksas pusdienas birojā no Vairāk Saules u. c. restorāniem veselības apdrošināšanu, kurā iekļauta garīgās veselības veicināšanas programma dzimšanas dienas brīvdienu sporta kluba abonementu iespēju katru gadu 3 mēnešus strādāt ārzemēs darbinieku atlaides vairāk nekā 300 produktiem koučinga sesijas izaugsmes veicināšanai iespēju mācīties (konferences, grāmatas, kursi, mentorings, vieslekcijas) interesantus komandas saliedēšanās pasākumus un neaizmirstamas ballītes! Darba vieta: attālināti birojs Rīgā birojs Cēsīs Printful nodrošina vienlīdzīgas iespējas ikvienam. Mēs atbalstām dažādību un iekļaujošu darba vidi, un kandidātus(-es) izvērtējam, balstoties vienīgi uz sasniegumiem, kvalifikācijām un darba pieredzi. Ja esi gatavs(-a) pieņemt šo izaicinājumu, sūti mums savu CV angļu valodā - PIESAKIES TE! Esi ieinteresēts(-a), bet šķiet, ka šis nav tavs lauciņš? Iesaki vakanci draugiem un ieskaties citos Printful darba piedāvājumos. Mēs vienmēr meklējam radošus un mērķtiecīgus cilvēkus, kuri papildinātu mūsu strauji augošo komandu! Visas aktuālās vakances atradīši ŠEIT. AS Printful Latvia (Reģ.nr. LV40203050078)
  8. Grūti īsti saprast, kas tev tur notiek. Tev pie radio button value būtu jāglabā produkta ID no datubāzes, nevis tā nosaukums. Normālā scenārijā tev ir 3 tabulas: 1. products - nosaukums, cena 2. orders - pasūtījums (saņēmēja dati, kopsumma, statuss vai ir apmaksāts, utt, visa informācija par pirkumu 3. order_items - tabula, kurā ir order_id un product_id un quantity (var arī nodublēt cenu, jo, produktu cena var nākotnē mainīties, būtu stulbi, ja pasūtījuma kopsumma arī mainās) Cilvēks atver lapu, izvadi ārā visus produktus no products tabulas. Cilvēks izvēlās kurus grib, izvēlās skaitu. Tajā brīdī, kad submito formu, izveido ieraksut orders tabulā un pievieno ierakstus order_items tabulā ar visu, kas bija izvēlēts. Pēc tam ar kodu varu aprēķināt kopēju summu un prasīt apmaksu. Hope this helps.
  9. Sveiki! Izpētīju internetu, bet neko sakarīgu neatradu. Varbūt šeit kāds var apgaismot mani. Ir 3 input radio lauki, katrā no viņiem ir produkts ar savu nosaukumu. Man interesē, kā es varu tur pievienot cenu, lai izvēloties, piemēram, produkts 1 - datubāzē parāda: ID > PRODUKTS > CENA Šobrīd ir izdevies izvadīt tikai "value" tekstu šādi: Produkta nosaukums - Cena zem product lauciņa datubāzē, cenas lauks paliek tukšs. Vai arī labāks variants būtu - izveidot datubāzē tabulu ar visiem 3 produktiem un tad izvilkt caur select un tad ievadīt 'orders' tabulā? <div class="form__checks"> <label class="check"><input class="check__input" type="radio" value="60Tabletes - 150EUR" name="product" checked="checked" /><span class="check__view"></span><span class="check__legend">60 tabletes par 150EUR</span> </label> <label class="check"><input class="check__input" type="radio" value="180Tabletes - 300EUR" name="product" /><span class="check__view"></span><span class="check__legend">180 tabletes par 300EUR</span> </label> <label class="check"><input class="check__input" type="radio" value="360Tabletes - 450EUR" name="product" /><span class="check__view"></span><span class="check__legend">360 tabletes par 450EUR</span> </label> </div>
  10. aaxc

    Valūtas kursi

    Nebūsim nekrofīli, pieļauju, ka pēc 5 gadiem šis cilvēkam vairs nav tik aktuāls. Ja mums ir piedāvājumā gatavo scriptu, ar kuriem vēlamies padalīties, veidojam savu topiku.
  11. Tātad Tev vajadzēs kaut ko tādu iekš HTDOCS mapes uztaisīt zem hosta mapi ar nosaukumu: Service tālāk taisam iekš mapes: Factory.php / Registry.php Factory.php <?php declare(strict_types=1); /* * This file is part of Swap. * * (c) Florian Voutzinos <florian@voutzinos.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Swap\Service; use Exchanger\Service\HttpService; use Http\Client\HttpClient; use Http\Discovery\HttpClientDiscovery; use Http\Discovery\Psr17FactoryDiscovery; use Psr\Http\Client\ClientInterface; use Http\Message\RequestFactory; use Psr\Http\Message\RequestFactoryInterface; /** * Helps building services. * * @author Florian Voutzinos <florian@voutzinos.com> */ final class Factory { /** * The client. * * @var HttpClient */ private $httpClient; /** * The request factory. * * @var RequestFactory */ private $requestFactory; /** * The service registry. * * @var Registry */ private $registry; /** * @param HttpClient|ClientInterface|null $httpClient * @param RequestFactoryInterface|null $requestFactory */ public function __construct($httpClient = null, RequestFactoryInterface $requestFactory = null) { if (null === $httpClient) { $httpClient = HttpClientDiscovery::find(); } else { if (!$httpClient instanceof ClientInterface && !$httpClient instanceof HttpClient) { throw new \LogicException('Client must be an instance of Http\\Client\\HttpClient or Psr\\Http\\Client\\ClientInterface'); } } $this->httpClient = $httpClient; $this->requestFactory = $requestFactory ?: Psr17FactoryDiscovery::findRequestFactory(); $this->registry = new Registry(); } /** * Sets the http client. * * @param HttpClient|ClientInterface $httpClient */ public function setHttpClient($httpClient): void { if (!$httpClient instanceof ClientInterface && !$httpClient instanceof HttpClient) { throw new \LogicException('Client must be an instance of Http\\Client\\HttpClient or Psr\\Http\\Client\\ClientInterface'); } $this->httpClient = $httpClient; } /** * Sets the request factory. * * @param RequestFactoryInterface $requestFactory */ public function setRequestFactory(RequestFactoryInterface $requestFactory): void { $this->requestFactory = $requestFactory; } /** * Creates a new service. * * @param string $serviceName * @param array $args * * @return \Exchanger\Contract\ExchangeRateService */ public function create(string $serviceName, array $args = []) { if (!$this->registry->has($serviceName)) { throw new \LogicException(sprintf('The service "%s" is not registered.', $serviceName)); } $classOrCallable = $this->registry->get($serviceName); if (is_callable($classOrCallable)) { return call_user_func($classOrCallable); } if (is_subclass_of($classOrCallable, HttpService::class)) { return new $classOrCallable($this->httpClient, $this->requestFactory, $args); } $r = new \ReflectionClass($classOrCallable); return $r->newInstanceArgs($args); } } ?> Registry.php <?php declare(strict_types=1); /* * This file is part of Swap. * * (c) Florian Voutzinos <florian@voutzinos.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Swap\Service; use Exchanger\Service\Registry as ExchangerRegistry; /** * Holds services. * * @author Florian Voutzinos <florian@voutzinos.com> */ final class Registry { /** * The registered services. * * @var array */ private static $services = []; /** * Constructor. */ public function __construct() { $this->registerServices(); } /** * Tells of the registry has the given service. * * @param string $name The service name * * @return bool */ public function has(string $name): bool { return isset(self::$services[$name]); } /** * Gets a service. * * @param string $name The service name * * @return string|null */ public function get(string $name) { return isset(self::$services[$name]) ? self::$services[$name] : null; } /** * Registers a new service. * * @param string $name The service name * @param string|callable $classOrCallable The class name or a callable * * @throws \InvalidArgumentException */ public static function register(string $name, $classOrCallable): void { self::$services[$name] = $classOrCallable; } /** * Registers the core services. */ private function registerServices(): void { $services = ExchangerRegistry::getServices(); foreach ($services as $name => $class) { self::register($name, $class); } } } ?> Tagad laižam tālāk! Tagad mums atkal vajadzēs divus failus: Builder.php / Swap.php -> Builder.php <?php declare(strict_types=1); /* * This file is part of Swap. * * (c) Florian Voutzinos <florian@voutzinos.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Swap; use Exchanger\Contract\ExchangeRateService; use Exchanger\Exchanger; use Exchanger\Service\Chain; use Http\Client\HttpClient; use Psr\SimpleCache\CacheInterface; use Swap\Service\Factory; use Psr\Http\Client\ClientInterface; use Psr\Http\Message\RequestFactoryInterface; /** * Helps building Swap. * * @author Florian Voutzinos <florian@voutzinos.com> */ final class Builder { /** * The services. * * @var array */ private $services = []; /** * The options. * * @var array */ private $options = []; /** * The http client. * * @var HttpClient */ private $httpClient; /** * The request factory. * * @var RequestFactoryInterface */ private $requestFactory; /** * The cache. * * @var CacheInterface */ private $cache; /** * Constructor. * * @param array $options */ public function __construct(array $options = []) { $this->options = $options; } /** * Adds a service by service name. * * @param string $serviceName * @param array $options * * @return Builder */ public function add(string $serviceName, array $options = []): self { $this->services[$serviceName] = $options; return $this; } /** * Add a service by service instance. * * @param ExchangeRateService $exchangeRateService * * @return Builder */ public function addExchangeRateService(ExchangeRateService $exchangeRateService): self { $this->services[spl_object_hash($exchangeRateService)] = $exchangeRateService; return $this; } /** * Uses the given http client. * * @param HttpClient|ClientInterface $httpClient * * @return Builder */ public function useHttpClient($httpClient): self { if (!$httpClient instanceof ClientInterface && !$httpClient instanceof HttpClient) { throw new \LogicException('Client must be an instance of Http\\Client\\HttpClient or Psr\\Http\\Client\\ClientInterface'); } $this->httpClient = $httpClient; return $this; } /** * Uses the given request factory. * * @param RequestFactoryInterface $requestFactory * * @return Builder */ public function useRequestFactory(RequestFactoryInterface $requestFactory): self { $this->requestFactory = $requestFactory; return $this; } /** * Uses the given simple cache. * * @param CacheInterface $cache * * @return Builder */ public function useSimpleCache(CacheInterface $cache): self { $this->cache = $cache; return $this; } /** * Builds Swap. * * @return Swap */ public function build(): Swap { $serviceFactory = new Factory($this->httpClient, $this->requestFactory); /** @var ExchangeRateService[] $services */ $services = []; foreach ($this->services as $name => $optionsOrService) { /** @var array|ExchangeRateService $optionsOrService */ if ($optionsOrService instanceof ExchangeRateService) { $services[] = $optionsOrService; } else { $services[] = $serviceFactory->create($name, $optionsOrService); } } $service = new Chain($services); $exchanger = new Exchanger($service, $this->cache, $this->options); return new Swap($exchanger); } } ?> Swap.php <?php declare(strict_types=1); /* * This file is part of Swap. * * (c) Florian Voutzinos <florian@voutzinos.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Swap; use Exchanger\Contract\ExchangeRateProvider; use Exchanger\ExchangeRateQueryBuilder; use Exchanger\Contract\ExchangeRate as ExchangeRateContract; /** * Swap is an easy to use facade to retrieve exchange rates from various services. * * @author Florian Voutzinos <florian@voutzinos.com> */ class Swap { /** * The exchange rate provider. * * @var ExchangeRateProvider */ private $exchangeRateProvider; /** * Creates a new Swap. * * @param ExchangeRateProvider $exchangeRateProvider */ public function __construct(ExchangeRateProvider $exchangeRateProvider) { $this->exchangeRateProvider = $exchangeRateProvider; } /** * Quotes a currency pair. * * @param string $currencyPair The currency pair like "EUR/USD" * @param array $options An array of query options * * @return ExchangeRateContract */ public function latest(string $currencyPair, array $options = []): ExchangeRateContract { return $this->quote($currencyPair, null, $options); } /** * Quotes a currency pair. * * @param string $currencyPair The currency pair like "EUR/USD" * @param \DateTimeInterface $date An optional date for historical rates * @param array $options An array of query options * * @return ExchangeRateContract */ public function historical(string $currencyPair, \DateTimeInterface $date, array $options = []): ExchangeRateContract { return $this->quote($currencyPair, $date, $options); } /** * Quotes a currency pair. * * @param string $currencyPair The currency pair like "EUR/USD" * @param \DateTimeInterface $date An optional date for historical rates * @param array $options An array of query options * * @return ExchangeRateContract */ private function quote(string $currencyPair, \DateTimeInterface $date = null, array $options = []): ExchangeRateContract { $exchangeQueryBuilder = new ExchangeRateQueryBuilder($currencyPair); if (null !== $date) { $exchangeQueryBuilder->setDate($date); } foreach ($options as $name => $value) { $exchangeQueryBuilder->addOption($name, $value); } $query = $exchangeQueryBuilder->build(); return $this->exchangeRateProvider->getExchangeRate($query); } } ?> Viss ir izdarīts un tālāk jau notiek ievades un izvades! We are done.
  12. Jefiņš kļūs par ī-tē fanu Turmāk skaudīs algu manu. Naudu grābs viņš lieliem siekiem, Kas tie būs par dzīves priekiem! Atradis viņš kursu gurdu, Metas kļūt par ī-tē guru. Sēdēs viņš pie datorpogām Brīvs no vergturiem uz zemeņogām. Kafija par kroņa naudu - Darbu mīlēs šo ar baudu. Nu viņš spiedīs pogas gurdās, Programmēs, un vēji burās! Ekrānā viņš stundām vērsies, Ne jau velti panākumus plēsies. Projektā kā āliņģī viņš aukstā nirst Cerība tam gandrīz mirst: Gatavam tam jābūt pirmdien, parītā Cik gan maz še iepriekš darītā! Vakars vēls pie pogām vadīts, Brīvbrīdis tik ļoti gaidīts Acīm ņirbot, muguru jau stīvu Sapnī redz viņš dienu brīvu. Līdis sistēmā "zem haubes" Nelīst lietus, nav tur saules. Velna milts - kaut viņu ellē - Viss tur tīrā angļu mēlē! Tā vien šķiet, tā sirdī jūtu - Laikam laimīgāks es kļūtu, Ja es strādātu bez steigas, Darbu, kuram piecos beigas. Apsēsts šādu dumju domu, Jefiņš sabojā sev omu Skaudība kā zaglis sirdī - Darbam termiņš karsts kā pirtī. Tie, kas māk vien gudri spriest - Provējet nu datorpogas spiest!
  13. Ja lapas pamata kodā ir 4k css , un tas nav kompresēts, tas lādējas katru reizi un nekešojas pie klientiem, ja pirmās lapas saturs mainas. Attēli ir lielāki nekā lapā lietotie. 400 ms tiek ģenerēts saturs. GA liekas, nolikts koda sākumā, kāpēc?
  14. Jau mainīti trīs hostingi. Kuru hostingu izvēlēties? Šeit ir mana vietne Kanvas.lv Kas var pārsūtīt vietni uz serveri un iestatīt to?
  15. https://lr1.lsm.lv/lv/raksts/pecpusdiena/pec-divu-gadu-partraukuma-notiek-enu-diena.a158708/
  16. Šodien LR1 "Pēcpusdiena" ziņo, ka ēnu dienā interese par programmētāja profesijas ēnošanu nav nosegta. Ap 16:15. Kad būs ieraksts, lūkošu atsauci. Kā viens no iemesliem tika minēts attālinātais darbs.
  17. Domāju, ka jāprot rakstīt kodu ar atskaņām, un pantmērs jātur :). Vai koda marginālijas ir trūkums?
  18. Strauji augošs Latvijas uzņēmums Good Day veido jaunu komandu Rīgā, tāpēc meklējam Senior PHP Programmētāju. Esam neliels mārketinga uzņēmums, kas ar dažādiem tehnoloģiski sarežģītiem risinājumiem piedāvā reklāmas pakalpojumus internetā klientiem vairāk nekā 20 pasaules valstīs. Pašlaik uzņēmuma pamatdarbība norit Saldū, bet no februāra ir atvērts arī ofiss Rīgā pie t/c Spice. MĒS TEV UZTICĒSIM · Izstrādāt un uzturēt mājas lapas atbilstoši sagatavotajai specifikācijai; · Izstrādāt un pilnveidot sinhronizācijas risinājumus starp platformas sadarbības partneriem; · Veidot datu atskaites atbilstoši prasībām. MĒS NO TEVIS SAGAIDĀM · Teicamas programmēšanas prasmes PHP (uz Laravel framework), MySQL ar vismaz 5 gadu pieredzi; · Pieredzi darbā ar datubāzēm, API risinājumu izstrādē, servisu pielāgošanā, WEB mārketinga rīkiem; · Teicamas latviešu un angļu valodas zināšanas (jebkuras citas valodas zināšanas tiks uzskatītas kā priekšrocība); · Augstu atbildības sajūtu un precizitāti; · Spēju uzņemties iniciatīvu un produktīvi organizēt savu darba laiku; · Vēlmi attīstīt savas zināšanas un prasmes. MĒS TEV PIEDĀVĀJAM · Elastīgu darba laiku (8h darba diena, sākums laika posmā no plkst. 8:00 līdz 10:00); · Mēnešalgu 2850EUR – 4300EUR bruto (tā atkarīga no Tavām zināšanām un prasmēm); · Veselības apdrošināšu pēc pārbaudes laika; · Apmaksātas pusdienas birojā; · Darbam nepieciešamo aprīkojumu; · Lojalitāti ilgtermiņa sadarbībai; · Karjeras izaugsmes iespējas; · Tava dzimšanas diena – apmaksāta brīvdiena; · Atsaucīgus un draudzīgus kolēģus; · Komandas saliedēšanās pasākumus. Gaidām Tavu pieteikuma CV un Motivācijas vēstuli ar norādi ‘’PHP Programmētājs’’ līdz 22.02.2022. e-pastā work@goodday.group .
  19. Sveiki. Salīdzinoši jauns uzņēmums, bet ar priekšvēsturi tieši WEB izstrādes jomā, meklē Wordpress programmētāju. Uzņēmums: https://redzidigital.com/ Pamatā klientiem ir Wordpress CMS. Kā jaunumu, izmantojam Oxygen Builder un uz šī rīka top visi nākošie projekti. Neslēpšu, ka ir arī pa kādam WooCommerce projektam. Šāda pieredze arī noderētu. Paši vēl darbojamies ar Laravel. Tā ka iespējas būs arī padarboties ar šādiem projektiem. Strādājam pilnībā attālināti (mums nav ofisa). Tā ka darbs iespējams no jebkuras vietas. Jebkuras papildus zināšanas noteikti tikai pluss. It sevišķi par servera lietām un GIT. Uzņēmums WP programmētāju vakancei ir noteicis sākuma algu no 1 200 € (uz rokas) un uz augšu. Atkarīgs no zināšanu līmeni. Ja vēlme pieteikties iesācējam, tad noteikti pārrunu rezultātā vienosimies par ciparu un iespējamo sadarbību. Būs programmētājs, kas spēj arī būt kā mentors. Papildus bonusus varēs noskaidrot, ja nosūtīsiet pieteikumu un tiksiet uzaicināts uz interviju. Pieteikumus ar pieredzi sūtīt uz reinis@redzidigital.com
  20. Jā, piekrītu .. bet ne vienmēr izstrādes vide ir tā optimālā ... .. puse neko nepateiks... it īpaši ja pamats būs cits...
  21. Jā jā... ir iesācējiem aprakstīti...... kad tev skriptā desmitiem i mainīgie.. .. daļa ienāk no formām, daļa, caur ""džoniju" ... tad visus atceries - KAROGS rokās.. .. uz priekšu... kur nu tipu uzliki, kur nē...
  22. Tiek meklēts/a RC: PHP/Drupal Developer Ja Tev ir vismaz 2 gadu pieredze darbā ar PHP, Javascript, JQuery, Laravel, Drupal un teicama izpratne par funkcionālo prasību ietvariem un jēdzieniem ar labām analītiskām un problēmu risināšanas prasmēm kā arī, ja Tev interesē atālināts darbs, lūdzu, raksti man egita.dranka@midis.eu Plašāka informācia par vakanci ir atrodama: https://www.midis.eu/en/jobs/detail/rc-php-drupal-developer-119 *** Tomēr, ja šī pozīcija nav atbilstoša Tev, bet Tu ar IT neesi uz jūs un vēlies strādāt mūsu uzņēmumā, droši, sūti man savu CV, sarunāsim interviju un, iespējams, atradīsim vakanci piemērotu Tavām spējām.
  23. Typescript un/vai IDE ar normāliem typehintiem. Kad dati ienāk "biznesa loģikā", atliek tos nocastot un tālāk jau IDE brīdinās, ja dari kko ar nepareiziem formātiem.
  24. Vispār jau tie likumi diezgan strikti aprakstīti, materiāli internetā pieejami diezgan daudz. Iesācējiem tiešām lielas iespējas uz to iekrist.
  25. Cik esmu mēģinājis- reti kad izdodas atrast "kukaini" ... JS netveramā kļūda ir ar datu tipiem .. zinot ka JS - to interpretē - pēc pasam vien zināmiem likumiem, pie tam katrā bradātājā savādāk... .. izmantojot alertus, to var viegli atķert, ar breikpointiem - ir ilgāk, 'ķēpīgāk- un dažreiz neispējamā misija.. Tā ir mana pieredze...
  1. Load more activity
×
×
  • Create New...