Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

177 Stron V   1 2 3 > » 

piotrooo89
Napisane: 24.06.2015, 11:08:47


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



W Thulium tworzymy autorski system contact center - obsługa infolinii, kampanii telefonicznych (np. telemarketing), zgłoszeń e-mail i SMS (helpdesk).

Szukamy programistów na różnych poziomach doświadczenia, którzy będą z nami rozwijać system. Duży nacisk kładziemy na jakość (TDD, testy) i automatyzację pracy.

Wymagania:

  • piszesz obiektowy kod w PHP i/lub Javie
  • piszesz testy do kodu (albo chciałbyś się nauczyć)
  • masz min. 2 lata doświadczenia


Oferujemy:

  • pensję w zależności od doświadczenia od 3000 do 6000 PLN (netto)
  • coroczne podwyżki
  • lekcje angielskiego z native speakerem
  • chillout room (PS3, rzutki)
  • 20 gatunków herbaty i dobrą parzoną kawę
  • pizzę firmową raz w miesiącu


Technologie:

Piszemy w PHP i Javie (Guice, Hibernate). Korzystamy z bazy danych PostgreSQL i centrali telefonicznej Asterisk. Po stronie webowej używamy JavaScript i JQuery.

Jeśli chcesz zobaczyć nasz kod, sprawdź Ouzo - framework open source, który tworzymy.

Narzędzia:

Na co dzień używamy: PhpStorm, IntelliJ IDEA, Jenkins, JIRA, Trello, Gmail, Linux (Ubuntu/Debian), Mercurial, Vagrant, Salt, Selenium.

Sprzęt:

Desktop (i7, 16GB RAM, dysk SSD), 2x monitor 24".

Miejsce pracy:

Kraków

Dane firmy:

Thulium sp. z o.o.
os. Złotej Jesieni 7
31-827 Kraków
Tel: +48 12 3975301
Fax: +48 12 3975302
NIP: 678-314-45-27
REGON: 122496015
KRS: 0000409650

Aplikacje proszę wysyłać na adres rekrutacja(at)thulium.pl.

Prosimy także o dołączenie następującej klauzuli: "Wyrażam zgodę na przetwarzanie moich danych osobowych zawartych w ofercie pracy dla potrzeb niezbędnych do realizacji procesu rekrutacji zgodnie z Ustawą o Ochronie Danych Osobowych z dnia 29.08.97( Dz. U. Nr 133 poz. 883)".
  Forum: Praca oferowana (Job offers) · Podgląd postu: #1162911 · Odpowiedzi: 0 · Wyświetleń: 628

piotrooo89
Napisane: 16.01.2015, 09:17:43


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Cytat(Dejmien_85 @ 15.01.2015, 15:57:30 ) *
Ja się zgodzę, że jakiś mały helperek, typu hashPassword(), który zwraca hasha jest łatwy do testowania. Ale jeśli
w metodzie statycznej znajdzie się choć troszkę logiki, albo jakieś zmienne, wtedy powiedzieć mogę jedynie: "Z Bogiem, chłopcze - może pomoże". ; )


Zgadzam się w 100%, o właśnie takie testy mi chodziło, prosty metod bibliotecznych, fabryk. Testy jednostkowe dla takich rzeczy są proste. Nigdy nie stosowałem logiki w statycznych polach/metodach więc nawet nie pomyślałem o czymś takim.
  Forum: Object-oriented programming · Podgląd postu: #1140338 · Odpowiedzi: 14 · Wyświetleń: 2 103

piotrooo89
Napisane: 13.01.2015, 21:09:55


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



@by_ikar akurat testy statycznych metod są proste możesz pokryć cały kod. 288 to większe zużycie - nie wyciek smile.gif
  Forum: Object-oriented programming · Podgląd postu: #1139989 · Odpowiedzi: 14 · Wyświetleń: 2 103

piotrooo89
Napisane: 13.01.2015, 20:57:19


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Przepraszam z góry z kolokwializmy.
Pytanie jest w stylu "robić kupę" czy "sikać", nie da sie tego jednoznacznie określić poprostu zależy od potrzeby.

@MESSIAH z całym szacunkiem ale Twoje testy nie dowodzą absolutnie nic. Wydaje mi sie że dalej jesteś w erze Athlona 1.7 i jak reprezentujesz rekord z bazy np. poprzez ActiveRecord pattern ja sobie nie umiem wyobrazić tego, no chyba że jak to w środowisku programistów PHP się przyjęło stosujesz AOP (array oriented programming), sorry ale może lepiej właśnie czasem pomyśleć o patternach i dobrych praktykach niż mierzyć wszystko co do nanosekundy bo później w światku IT programiści PHP postrzegani są jak "lewary".
  Forum: Object-oriented programming · Podgląd postu: #1139986 · Odpowiedzi: 14 · Wyświetleń: 2 103

piotrooo89
Napisane: 9.01.2015, 20:13:00


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Cały czas dodajemy nowe funkcjonalności. Oprócz mocków mamy również asercje wzorowane na fest asserts.

Array assertions:

  1. $animals = ['cat', 'dog', 'pig'];
  2. Assert::thatArray($animals)->hasSize(3)->contains('cat');


String assertions:

  1. Assert::thatString("Frodo")
  2. ->startsWith("Fro")->endsWith("do")
  3. ->hasSize(5);


Exception assertions:

  1. $foo = new Foo();
  2. CatchException::when($foo)->method();
  3. CatchException::assertThat()->isInstanceOf("FooException");


Zapraszamy smile.gif
  Forum: Oceny · Podgląd postu: #1139408 · Odpowiedzi: 10 · Wyświetleń: 1 805

piotrooo89
Napisane: 17.05.2014, 13:07:30


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



nie bardzo rozumiem w czym tak naprawdę mamy Ci pomóc? gdzie leży problem?
  Forum: Przedszkole · Podgląd postu: #1106966 · Odpowiedzi: 1 · Wyświetleń: 320

piotrooo89
Napisane: 17.05.2014, 13:10:02


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



  1. "INSERT INTO people(Name, Age, Miasto, RecordDate) VALUES('" . $_POST["Name"] . "', " . $_POST["Age"] . " , '" . $_POST["Miasto"] . "', now())"


analogicznie w update.
  Forum: PHP · Podgląd postu: #1106968 · Odpowiedzi: 6 · Wyświetleń: 239

piotrooo89
Napisane: 17.05.2014, 12:59:31


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



jeśli miasto jest stringiem to źle używasz ciapków właśnie do tej wartości.
  Forum: PHP · Podgląd postu: #1106962 · Odpowiedzi: 6 · Wyświetleń: 239

piotrooo89
Napisane: 17.05.2014, 12:52:23


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



złe ciapki do stringów używasz a raczej ich w ogóle nie masz. dodatkowo masz coś takiego
Kod
$-POST["Miasto"]
  Forum: PHP · Podgląd postu: #1106960 · Odpowiedzi: 6 · Wyświetleń: 239

piotrooo89
Napisane: 28.02.2014, 18:46:05


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Cytat(Crozin @ 28.02.2014, 17:02:45 ) *
1. Ilość linii kodu jest właściwie bez znaczenia, często ten dłuższy pisze się szybciej, łatwiej i lżej jest dbać o niego, także ten argument jest kompletnie nietrafiony.


Chyba sam sobie zaprzeczasz trochę jeśli o coś jest łatwiej dbać to ja biorę to w ciemno bo utrzymam to w porządku.

Cytat(Crozin @ 28.02.2014, 17:02:45 ) *
2. Przykłady, które podałeś nie są ekwiwalentami. Kod w wersji Symfonowskiej/Doctrine'owskiej ma sporo zalet i różnic w działaniu w stosunku do Ouzowych przykładów.


Czy mógłbyś powiedzieć coś więcej na ten temat? Bo wydaje mi się że ten kod dodaje rekord do bazy danych, dokładnie tak jak w Ouzo.

Cytat(Crozin @ 28.02.2014, 17:02:45 ) *
3. Migracje baz danych są wspierane we wspomnianym Doctrine.


Rzeczywiście, są - niestety nie wiem jak działają nie korzystałem więc na ten temat nie mogę się wypowiedzieć.

Cytat(Crozin @ 28.02.2014, 17:02:45 ) *
4. Na Doctrine świat się nie kończy w temacie ORM-ów. Skoro już jesteśmy przy Symfony podpowiem, że można w nim spokojnie skorzystać z innego. Czy Ouzo radzi sobie z takim czymś? Jak dobrze? Pytam tutaj konkretnie o możliwości podmiany większości z "pobocznych" komponentów frameworka.


Właśnie po to zrobiony jest built-in ORM aby nie trzeba było korzystać z pobocznych ORM'ów. Jednak wsparcie do tego typu rzeczy, jeśli są one dodawane przez composer jak najbardziej jest ale na poziomie aplikacji.

Cytat(Crozin @ 28.02.2014, 17:02:45 ) *
5. W temacie TDD nie widzę niczego specjalnego w stosunku do konkurencji.


Nie widziałem aby ktokolwiek miał TestCase do bazy danych, takie które w pełni pomagają przetestować model bez konfigurowania miliarda rzeczy (napisałem inżynierkę w Zendzie i poświęciłem sporo czasu aby testować model).
  Forum: Oceny · Podgląd postu: #1094338 · Odpowiedzi: 20 · Wyświetleń: 4 250

piotrooo89
Napisane: 28.02.2014, 15:49:17


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Cytat(fizzlebubble @ 28.02.2014, 15:29:04 ) *
To ostatnie pytanie jako, że jestem devem Railsów, dlaczego miałbym wybrać ten FW skoro znacznie szybciej, lepiej i sprawniej napiszę to w Railsach? :-) Jedynym 'podobieństwem' jest ORM, więcej nie dostrzegam.


Ouzo powstało jako alternatywa Railsów do PHP bo nie było czegoś takiego. Skoro ktoś może używać RoR, bo to dla niego najlepsza opcja to oczywiste że należy ich używać, niektórzy z różnych powodów muszą zostać przy PHP. Zapewniam Cie że podobieństw jest więcej (migracje, testy).
  Forum: Oceny · Podgląd postu: #1094311 · Odpowiedzi: 20 · Wyświetleń: 4 250

piotrooo89
Napisane: 28.02.2014, 15:19:20


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Cytat(Spawnm @ 28.02.2014, 15:11:53 ) *
@piotrooo89 - to ma być alternatywa dla CI czy Symfony? Do kogo kierujesz to narzędzie?


CI osobiście nie wiem jak wygląda. Niemniej dla Symfony i jego ociężałego ORM'a, braku łatwego testowania napisanego kodu jak najbardziej. A narzędzie skierowane do osób znających Rails'y, rozwijających aplikacje za pomocą metodologi TDD/BDD. Ale nie widzę powodu dla którego każdy nie miałby spróbować.
  Forum: Oceny · Podgląd postu: #1094302 · Odpowiedzi: 20 · Wyświetleń: 4 250

piotrooo89
Napisane: 28.02.2014, 15:05:31


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Ciężko mi się zgodzić z tą "konstruktywną" krytyką.

Framework mający ponad 800 commitów, ponad 13 000 linii kodu, 5 contributorów, w 85% pokryty testami i używany aktualnie produkcyjnie u kilkudziesięciu klientów można nazwać garażowym.

//EDIT
Stats: http://www.ohloh.net/p/ouzo
  Forum: Oceny · Podgląd postu: #1094296 · Odpowiedzi: 20 · Wyświetleń: 4 250

piotrooo89
Napisane: 28.02.2014, 14:47:32


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



ORM:
http://symfony.com/doc/current/book/doctrine.html
  1. $product = new Product();
  2. $product->setName('A Foo Bar');
  3. $product->setPrice('19.99');
  4. $product->setDescription('Lorem ipsum dolor');
  5.  
  6. $em = $this->getDoctrine()->getManager();
  7. $em->persist($product);
  8. $em->flush();


Ekwiwalent w Ouzo:

https://github.com/letsdrink/ouzo/wiki/ORM
  1. $product = Product::create(['name' => 'A Foo Bar', 'price' => '19.99', 'description' => 'Lorem ipsum dolor']);


lub

  1. $product = new Product();
  2. $product->name = 'A Foo Bar';
  3. $product->price = '19.99';
  4. $product->description = 'Lorem ipsum dolor';
  5. $product->insert();


lub

  1. $product = new Produc(['name' => 'A Foo Bar', 'price' => '19.99', 'description' => 'Lorem ipsum dolor']);
  2. $product->insert();


-------------------

Doctrine:

  1. $repository = $this->getDoctrine()
  2. ->getRepository('AcmeStoreBundle:Product');
  3.  
  4. $query = $repository->createQueryBuilder('p')
  5. ->where('p.price = :price')
  6. ->setParameter('price', '19.99')
  7. ->orderBy('p.price', 'ASC')
  8. ->getQuery();
  9.  
  10. $products = $query->getResult();


Ouzo:

  1. $products = Product::where(['price' => '19.99'])->order('price ASC')->fetchAll();


Ouzo implementuje wzorzec ActiveRecord.

Ouzo ma wbudowaną obsługę migracji schematu bazy danych.

Posiada bardzo dobre zaplecze do rozwijania aplikacji w oparciu o TDD/BDD (https://github.com/letsdrink/ouzo/wiki/Tests).
  Forum: Oceny · Podgląd postu: #1094293 · Odpowiedzi: 20 · Wyświetleń: 4 250

piotrooo89
Napisane: 28.02.2014, 14:08:52


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Została wydana stabilna wersja frameworka Ouzo. Zapraszamy do wypróbowania na http://ouzoframework.org i zgłaszania ewentualnych uwag.
  Forum: Oceny · Podgląd postu: #1094290 · Odpowiedzi: 20 · Wyświetleń: 4 250

piotrooo89
Napisane: 26.07.2013, 11:06:43


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Ja spotkałem się tylko z dwoma: Symfony o którym wspomniałeś i w CakePHP.

CakePHP nie ma możliwości wydzielenia części lib'a odpowiedzialnej za obsługę konsoli, trzeba cały FW stawiać.
Co do Symfony rzeczywiście istnieje taka biblioteka, niemniej moim zdaniem dobrze mieć jakaś alternatywę, która jest (przynajmniej narazie) lżejszym rozwiązaniem.
  Forum: Oceny · Podgląd postu: #1057715 · Odpowiedzi: 4 · Wyświetleń: 681

piotrooo89
Napisane: 26.07.2013, 08:59:31


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Witam,

postanowiłem napisać framework do shell'a tak aby można było tworzyć aplikacje w oparciu właśnie o powłokę.

Link: https://github.com/piotrooo/php-shell-framework

Wszelkie uwagi i konstruktywna krytyka mile widziana.

Cały czas dodaje jakieś nowe funkcjonalności, niemniej jeśli widzicie coś czego nie ma a powinno być, swobodnie piszcie będę analizował.
  Forum: Oceny · Podgląd postu: #1057699 · Odpowiedzi: 4 · Wyświetleń: 681

piotrooo89
Napisane: 14.08.2012, 11:23:48


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



pewnie że się da, skoro nie masz konkretnego pytania programistycznego przenoszę do Hydepark.
  Forum: Hydepark · Podgląd postu: #985407 · Odpowiedzi: 18 · Wyświetleń: 922

piotrooo89
Napisane: 14.08.2012, 07:15:06


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



nie ma tego w core'owym API jQ. niemniej możesz sobie samemu napisać plugin do obsługi daty korzystając z tego co daje "czysty" JS, np. tu: Date. a funkcja która Cię interesuje to najprawdopodobniej: getTimezoneOffset().
  Forum: Przedszkole · Podgląd postu: #985358 · Odpowiedzi: 1 · Wyświetleń: 169

piotrooo89
Napisane: 14.08.2012, 11:21:34


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



a zainstalowałeś w ogóle zf tool?
  Forum: Przedszkole · Podgląd postu: #985404 · Odpowiedzi: 26 · Wyświetleń: 2 108

piotrooo89
Napisane: 6.08.2012, 12:36:57


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Na pewno php zwraca Ci poprawnie wynik? wygląda tak jakbyś nie dostawał nic z php.
  Forum: Przedszkole · Podgląd postu: #983470 · Odpowiedzi: 2 · Wyświetleń: 258

piotrooo89
Napisane: 6.08.2012, 12:33:20


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



Jest formu Gotowe rozwiązania, zapraszam w tamto miejsce.
  Forum: Przedszkole · Podgląd postu: #983467 · Odpowiedzi: 2 · Wyświetleń: 391

piotrooo89
Napisane: 26.06.2012, 09:07:19


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



nie ten dział, przenoszę.
  Forum: Poszukuję · Podgląd postu: #972596 · Odpowiedzi: 1 · Wyświetleń: 258

piotrooo89
Napisane: 26.06.2012, 06:38:08


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



proszę o poprawienie tematu w przeciwnym razie zamknę.
  Forum: Przedszkole · Podgląd postu: #972583 · Odpowiedzi: 6 · Wyświetleń: 487

piotrooo89
Napisane: 25.06.2012, 21:55:31


Newsman


Grupa: Moderatorzy
Postów: 4 005
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków



zwróć sobie tablice z rekordami i poźniej będziesz operował na niej.
  Forum: Przedszkole · Podgląd postu: #972542 · Odpowiedzi: 6 · Wyświetleń: 638

177 Stron V   1 2 3 > » 

New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 23:34