Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

14 Stron V   1 2 3 > » 

-=Peter=-
Napisane: 15.09.2014, 13:50:31





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

zineinc.com poszukuje deweloperów PHP.

Oferujemy:

  • pracę na pełny etat, w siedzibie laboratorium firmy (centrum Krakowa, obok hotelu Forum)
  • formę zatrudnienia uop, uod, b2b
  • wynagrodzenie brutto: 3500-7000 zł
  • prywatna opieka medyczna
  • udział w konferencjach i szkoleniach
  • pracę z świeżym i zacnym kodem


Wymagania:

  • bardzo dobra znajomość php5
  • bardzo dobra znajomość programowania i projektowania obiektowego, zrozumienie przewagi kompozycji nad dziedziczeniem i innych prawd/zasad OOP
  • dobra znajomość Symfony2, Doctrine2. Zrozumienie dlaczego zastanawianie się nad bezpośrednim wstrzyknięciem do encji obiektu typu EntityManager/Repository/Service, powinno spowodować zrobienie sobie przerwy na podlanie kwiatków, wyjście na pole (tak jesteśmy z Krakowa) na spacer, drzemkę i w efekcie porzucenie tego pomysłu
  • znajomość dobrych praktyk programistycznych, zagadnień czystego kodu, wzorców projektowych (w sumie antywzorców też, np. Singletona, trzeba wiedzieć czego i dlaczego nie stosować)
  • umiejętność pisania mocnych (nie kruchych wink.gif) testów jednostkowych i kodu który da się testować
  • znajomość systemu kontroli wersji GIT


Mile widziane:

  • świadomość mocnych i słabych stron php5
  • umiejętność programowania w java script: znajomość jakiegoś frameworku mvc (preferowany Backbone.js), znajomość requirejs, narzędzia grunt, umiejętność programowania obiektowo w js
  • znajomość i zrozumienie metodyki TDD, świadomość dlaczego kilku godzinny jeden cykl "red > green > refactor" to nie TDD
  • umiejętność refaktoryzacji i zrozumienie dlaczego powinno się refaktoryzować małymi krokami, a nie krokami milowymi
  • zrozumienie kiedy powinno się stosować w testach Mock Object i dlaczego powinno się to robić z rozwagą
  • doświadczenie w pracy z usługami sieciowymi (REST lub RPC lub Soap)
  • doświadczenie w pracy z bazami danych NoSql
  • styczność z technologiami takimi jak elasticsearch, neo4j
  • commity do projektów open source, konto na githubie


Kontakt: p@zineinc.com

Dane firmy:

ZineINC™ sp. z o.o.
ul. Ludwinowska 11/11
30-331 Kraków
KRS: 0000418032
REGON: 122551665
NIP: 6772368424
  Forum: Praca oferowana (Job offers) · Podgląd postu: #1124910 · Odpowiedzi: 0 · Wyświetleń: 818

-=Peter=-
Napisane: 16.01.2013, 19:20:35





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Tak się w sf2 autoryzacji nie robi wink.gif http://symfony.com/doc/current/book/security.html
  Forum: Frameworki · Podgląd postu: #1018696 · Odpowiedzi: 4 · Wyświetleń: 769

-=Peter=-
Napisane: 4.01.2013, 14:40:31





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Wystawiłeś bramkę do wysyłania meili w formularzu kontaktowym. Wyłącz pole "Przesłać Ci kopię?" wink.gif
  Forum: Oceny · Podgląd postu: #1016162 · Odpowiedzi: 2 · Wyświetleń: 481

-=Peter=-
Napisane: 20.12.2012, 19:46:56





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Cytat
Rowniez zauwazylem ze Ubuntu kiedys tam dawno dzialalo mi super szybko a nowsza wersja jak pare miesiecy temu probowalem to dzialala wolniej niz windows.


Bo nowsze wersje Ubuntu zmieniły domyśle środowisko graficzne na Unity, które jest wolniejsze i mniej stabilne niż Gnome, ma więcej efektów graficznych itp. Jednak można zmienić środowisko przed zalogowaniem się do systemu. U mnie na wirtualnej maszynie Ubuntu w środowisku Unity działa wolno (nie da się komfortowo pracować), ale na starym poczciwym Gnome działa ok.
  Forum: Hydepark · Podgląd postu: #1013596 · Odpowiedzi: 34 · Wyświetleń: 1 643

-=Peter=-
Napisane: 7.12.2012, 22:22:41





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Cytat
Licencja PHP jest GPL


Cytat
PHP jest GPL


PHP nie jest na licencji GPL, od wersji PHP4 włącznie (czyli dość dawno temu) licencja została zmieniona: http://php.net/license/
  Forum: Hydepark · Podgląd postu: #1010986 · Odpowiedzi: 14 · Wyświetleń: 1 407

-=Peter=-
Napisane: 4.12.2012, 23:32:51





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Cytat
Skoro jest na GPL to cała aplikacja też musi być na GPL.


To nie tak działa. Jeśli nie ma połączenia twojego projektu z mysql na poziomie kodu źródłowego, to ten projekt nie musi mieć licencji GPL. W webaplikacjach takie połączenie nie jest konieczne, baza danych mysql działa jako osobna usługa (często na innym serwerze), z której korzysta się poprzez sterownik*. Nie kompilujesz mysqla wraz ze swoją aplikacją, aby dostać jedną aplikację z wbudowaną bazą danych. Taka sytuacja może mieć miejsce, jeśli tworzysz np. aplikację okienkową. Kompilujesz swoją aplikację wraz z mysql, tak aby dostać jeden program wynikowy, który będzie miał budowaną bazę danych. Wtedy taki program musisz upublicznić na licencji GPL lub wykupić komercyjną licencję.

* jeśli ten sterownik z którego korzystarz jest na licencji GPL, to swój projekt również musisz udostępnić na GPL, bo bezpośrednio wywołujesz jego api (połączenie na poziomie kodu źródłowego). Jednakże phpowy sterownik do mysql nie jest na GPL tylko na licencji bodajże takiej samej jak php.
  Forum: Hydepark · Podgląd postu: #1010250 · Odpowiedzi: 14 · Wyświetleń: 1 407

-=Peter=-
Napisane: 4.12.2012, 20:05:19





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Nie, to nie prawda. Mysql ma darmową edycję która jest w pełni funkcjonalna, ba jest ona open source na licencji GPL, tak więc są różne darmowe wydania mysql. Są również edycje płatne, które zawierają dodatkowe funkcjonalności oraz support.
  Forum: Hydepark · Podgląd postu: #1010191 · Odpowiedzi: 14 · Wyświetleń: 1 407

-=Peter=-
Napisane: 23.11.2012, 19:22:50





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Forum to nie parser. Komunikaty błędów są dość jasne i mówią ci dosłownie co jest nie tak...
  Forum: Frameworki · Podgląd postu: #1008073 · Odpowiedzi: 9 · Wyświetleń: 467

-=Peter=-
Napisane: 1.11.2012, 18:17:44





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Nie używaj zagnieżdżonego operatora trójkowego, bo jest strasznie mało czytelny i trudno później go debugować. Problem tkwi w pierszeństwie operatorów, to co napisałeś jest równoważne temu:

  1. 'value' => set_value('data[goals]', (isset($result->goals) ? $result->goals : isset($default->goals)) ? $default->goals : ''),


A zapewne chciałeś osiągnąć:

  1. 'value' => set_value('data[goals]', isset($result->goals) ? $result->goals : (isset($default->goals) ? $default->goals : '')),


Radziłbym abyś sobie to zmienił na prostego ifa, tak jak mówiłem nie używaj podwójnego/potrójnego itp. operatora trójkowego:

  1. $value = '';
  2.  
  3. if(isset($result->goals)) {
  4. $value = $result->goals;
  5. } else if(isset($default->goals)) {
  6. $value = $default->goals;
  7. }
  Forum: PHP · Podgląd postu: #1003222 · Odpowiedzi: 2 · Wyświetleń: 281

-=Peter=-
Napisane: 28.10.2012, 10:32:30





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

To powinno być zrobione w walidatorze, zdarzenia prePersist itp. nie do tego służą. Możesz napisać swój customowy lub wykorzystać walidator Callback i stworzyć metodę w modelu, która dokonuje walidacji.
  Forum: Frameworki · Podgląd postu: #1002399 · Odpowiedzi: 3 · Wyświetleń: 316

-=Peter=-
Napisane: 27.09.2012, 20:05:31





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Nie karmcie trolla, tacy starzy a tacy głupi... wink.gif
  Forum: Hydepark · Podgląd postu: #995683 · Odpowiedzi: 59 · Wyświetleń: 6 284

-=Peter=-
Napisane: 25.06.2012, 18:29:46





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Nie wiem co rozumiesz pod pojęciem "pusty Mock". Jeśli nie mockujesz interfejsu to musisz jawnie przekazać nazwy metod które mają być mockowane. Dotyczy to też metod abstrakcyjnych, czyli twój kod: $this->getMockForAbstractClass( "Ultilate\GameBundle\QueueSystem\Phase" ) zadziałałby gdyby metoda notify była abstrakcyjna.
  Forum: Object-oriented programming · Podgląd postu: #972491 · Odpowiedzi: 8 · Wyświetleń: 900

-=Peter=-
Napisane: 23.06.2012, 22:57:27





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Cytat
Ale Action jest klasą abstrakcyjną.

To utwórz jej testową klasę konkretną, mocki nie służą do tego.

  1. //zamień
  2. $phases[$i] = $this->getMockForAbstractClass( "Ultilate\GameBundle\QueueSystem\Phase" );
  3. //na
  4. $phases[$i] = $this->getMockBuilder( "Ultilate\GameBundle\QueueSystem\Phase" )->setMethods(array('notify'))->getMock();
  Forum: Object-oriented programming · Podgląd postu: #972042 · Odpowiedzi: 8 · Wyświetleń: 900

-=Peter=-
Napisane: 15.01.2012, 18:40:08





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Cytat
W php5 operator & jest przestarzały w parametrach. tablice są domyślnie przekazywane przez referencję.

Nie wprowadzaj ludzi w błąd jak czegoś nie jesteś pewien! Tablice nie są przekazywane domyślnie przez referencję, a przez wartość. Operator & wcale nie jest przestarzały...
  Forum: Object-oriented programming · Podgląd postu: #931546 · Odpowiedzi: 4 · Wyświetleń: 575

-=Peter=-
Napisane: 10.01.2012, 23:35:28





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Twój temat to mapowanie obiektowo relacyjne, czyli w skrócie zapisywanie i odczyt obiektów w/z relacyjnej bazy danych. Wzorce projektowe do rozwiązywania tego problemu (większość dobrych ORMów je implementuje) znajdziesz w tej książce (rozdziały "Mapowanie do relacyjnych baz danych", "Wzorce architektury źródła danych", "Wzorce zachowań dla mapowania obiektowo-relacyjnego", "Wzorce struktury dla mapowania obiektowo-relacyjnego" oraz "Wzorce odwzorowań obiektów i relacyjnych metadanych").
  Forum: MySQL · Podgląd postu: #930248 · Odpowiedzi: 1 · Wyświetleń: 423

-=Peter=-
Napisane: 10.01.2012, 23:37:57





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Zależy jak duży chcesz robić limit, jeśli na kilka tysięcy rekordów (tak jak w przykładzie) to faktycznie zapytanie i samo przesłanie zapytania z php do mysql może zamulić.
  Forum: Object-oriented programming · Podgląd postu: #930251 · Odpowiedzi: 11 · Wyświetleń: 826

-=Peter=-
Napisane: 7.01.2012, 13:16:02





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Cytat
a skonczyles ten refactoring browser? dziala to czy porzuciles to w koncu?


Miałem takie coś pisać, a nie pisałem wink.gif To było w fazie pomysłu i badania tematu.
  Forum: Hydepark · Podgląd postu: #929162 · Odpowiedzi: 5 · Wyświetleń: 581

-=Peter=-
Napisane: 7.01.2012, 11:51:21





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Miałem takie coś pisać (refactoring browser do php) na pracę inżynierską, ale zrezygnowałem z tego pomysłu. Jest taki fajny programik jak antrl, jest to generator parserów do języków. Generuje on klasy (w javie, program też w javie) na podstawie drzewa składni (która jest w formacie obsługiwanym przez ten program). Znalazłem gotowe drzewo składni do php dla tego programu, ale to było dla wersji php 5.2. Bodajże tutaj jest ta gramatyka php.

To jest rozwiązanie bardziej generyczne i lepiej działające dla bardziej skomplikowanych operacji, możesz też zrobić to wyrażeniami regularnymi, ale to już jest rzeźbienie, chociaż jeśli chcesz zaimplementować tylko jedną refaktoryzację (ja chciałem kilkanaście bardziej złożonych), to być może wystarczy.

Sprawdź, czy netbeans nie ma czasem parsera składni do php, bo jakoś musi analizować tą składnie aby dawać podpowiedzi itp.
  Forum: Hydepark · Podgląd postu: #929151 · Odpowiedzi: 5 · Wyświetleń: 581

-=Peter=-
Napisane: 6.01.2012, 23:32:09





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Jeśli pytasz o symfony 2, to upewnij się, że ścieżka login_check jest za firewallem do którego chcesz się zautoryzować. Ścieżka do login nie musi być za firewallem, ale login_check już tak.

Przeczytaj w dokumentacji sekcję Avoid common pitfalls
  Forum: Frameworki · Podgląd postu: #929094 · Odpowiedzi: 7 · Wyświetleń: 542

-=Peter=-
Napisane: 5.01.2012, 20:17:06





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Wtedy w naturalny sposób współpracujemy z kulawym zbieraczem nieużytków z php i pamięć jest zwalniana przeważnie wtedy gdy trzeba. Chociaż to nie zawsze przekłada się na dodatnio na statystyki, zależy jakie to są funkcję. Jeśli to nie są funkcje które tworzą wiele zmiennych tymczasowych to różnicy pewnie nie będzie, albo będzie delikatnie na minus (definicja funkcji też zajmuje pamięć).
  Forum: PHP · Podgląd postu: #928636 · Odpowiedzi: 9 · Wyświetleń: 412

-=Peter=-
Napisane: 25.12.2011, 18:27:22





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

@wookieb nie pytał się po co chcesz pociąć tą mapę, ale po co chcesz pociąć tą mapę na sześciany. Na pierwszy rzut oka zamiar pocięcia mapy na sześciany jest bez sensu, ale może masz jakiś ukryty w tym cel. Jeśli potrzebujesz aby mapa była złożona z sześcianów (np. tak jak w niektórych grach turowych, np. pole walki w grze heroes 3), to od złej strony się do tego zabierasz.
  Forum: Hydepark · Podgląd postu: #925166 · Odpowiedzi: 8 · Wyświetleń: 863

-=Peter=-
Napisane: 18.12.2011, 18:14:10





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

  1. //klasa User
  2.  
  3. /**
  4. * @ORM\OneToMany(targetEntity="Advert", mappedBy="User")
  5. */
  6. protected $Advert;
  7.  
  8. //Klasa Advert
  9.  
  10. /**
  11. * @ORM\ManyToOne(targetEntity="User", inversedBy="Advert")
  12. * @ORM\JoinColumn(name="userId", referencedColumnName="user")
  13. */
  14. private $user;


W klasie User jako mappedBy dla relacji Advert masz "User", a w klasie Advert składowa nazywa się "user" (z małej litery), zapewne z tego powodu jest ten notice.

Poza tym warunek "where" w Twoim zapytaniu jest zbędny. Doctrine dodaje tej warunek automatycznie do klauzuli "ON" odpowiedniego joina. Masz błędne referencedColumnName nad składową Advert::$user, powinno być klucz główny klasy User, czyli "userId".
  Forum: Object-oriented programming · Podgląd postu: #923445 · Odpowiedzi: 1 · Wyświetleń: 472

-=Peter=-
Napisane: 11.01.2012, 23:17:40





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

A wiesz co to jest iterator? Jeśli nie wiesz to poczytaj o tym w manualu php i wiedz że interfejs Doctrine\Common\Collections\Collection (czyli pośrednio klasa ArrayCollection i PersistentCollection) rozszerza interfejs Iterator lub IteratorAggregate. A jeśli wydaje Ci się że wiesz co to jest iterator, to masz rację, tylko Ci się wydaje, bo w przeciwnym wypadku byś wiedział jak się iteruje po obiekcie.
  Forum: Object-oriented programming · Podgląd postu: #930547 · Odpowiedzi: 7 · Wyświetleń: 945

-=Peter=-
Napisane: 10.01.2012, 23:24:01





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Np. iterowanie po kolekcji.
  Forum: Object-oriented programming · Podgląd postu: #930244 · Odpowiedzi: 7 · Wyświetleń: 945

-=Peter=-
Napisane: 15.12.2011, 19:51:26





Grupa: Zarejestrowani
Postów: 304
Dołączył: 4.02.2005
Skąd: Kraków

Ostrzeżenie: (0%)
-----

Cytat
Ciekawi mnie, czy Doctrine pobierałby aktualności automatycznie, czyli w momencie stworzenia obiektu przy pomocy ww. zapytania, czy w momencie, kiedy skorzystam z $user->getNews().

W obydwóch przypadkach nie zostaną zaciągnięte aktualności, aktualności zostaną zaciągnięte gdy wywołasz jakąś operację która wymaga fizycznie obiektów z kolekcji, np. metody z interfejsu iteratora (przejście przez pętle), czy metodę count (przy domyślnej konfiguracji relacji). Dodanie jakiegoś elementu do kolekcji również nie powoduje załadowania kolekcji, gdyż ta operacja nie wymaga tego aby kolekcja była zainicjalizowana.
  Forum: Object-oriented programming · Podgląd postu: #922690 · Odpowiedzi: 7 · Wyświetleń: 945

14 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: 8.06.2024 - 18:25