Reklama
Szukaj zleceń na Getak.pl
Marek Wywiał

offline

Marek Wywiał

Programista, administrator, instruktor

Wypowiedzi

  • Marek Wywiał
    Wpis na grupie Programiści WWW w temacie [PHP/SESSION] Sesje między dwoma witrynami
    24.05.2012, 19:52

    Jeżeli chcemy 'jak google' to można szybko uruchomić sobie serwer openid z gotowca:
    * http://wiki.openid.net/w/page/12995226/Run%20your%20ow...

    w aplikacjach autoryzację wykonać na podstawie tego serwera openid (też są gotowe rozwiązania).

    Akcje wylogowania też powinny prowadzić do akcji w serwerze openid, która dodatkowo wykona wylogowania na wszystkich podpiętych do niej aplikacji (iframe lub seria redirectów, itp), żeby np nie zalogować się równocześnie jaki kilku użytkowników do kilku aplikacji (chyba, że to pożądany efekt).



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Programiści WWW w temacie [PgSQL] Dwie bazy danych
    24.05.2012, 19:47

    W postgresie można spokojnie użytkownikowi dać uprawnienia do kilku baz. Lub
    można użyć schematów do oddzielenia tabel w osobne przestrzenie nazw:
    * http://www.postgresql.org/docs/8.4/static/ddl-schemas....



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Programiści WWW w temacie Pytanie w sprawie projektu portalu tematycznego.
    17.04.2012, 10:54

    Tomasz K.:
    Rafał Nowak:
    Makietę i grafiki nie da się robić równolegle, bo grafikę tworzy się właśnie na podstawie makiety. Przykładowa makieta:
    Nieźle wygląda ta makieta. W jakim sofcie została zrobiona?

    Ze swojej strony mogę polecić:
    * http://wireframesketcher.com/

    ma fajny eksport ekranów lub całego story do pdf'a i przy pomocy linków na elementach można przeklikać projekt, sprawdzając poprawność flow.



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Programiści WWW w temacie {walidacja} pytanie do doświadczonych koderów HTML
    13.04.2012, 15:56

    Piotr L.:
    Marek Wywiał:
    >>
    Trzeba by zrobić mały cleanup i tak nagle przyszło mi do głowy:
    * czy dla css można zrobić testy, które by sprawdzały czy po refaktoryzacji kodu css, elementy strony wyglądają/znajdują się w stanie sprzed refaktoryzacji?

    Ja to robię ręcznie, przy czym staram się tworzyć front end tak, żeby maksymalnie wykorzystać zalety "kaskadowości". Ponadto tworzę HTMLa w sposób "modułowy" (tak, żeby w razie dodawania nowych stron nie trzeba było tworzyć nadmiarowego kodu HTML i CSS) a do CSS wdrożyłem idę "programowania obiektowego" (coś podobnego co proponuje Bootstrap od Twittera)
    Do prywatnych projektów używam Boostrapa i sprawuje się świetnie jak dla mnie :)
    Selenium może sprawdzić strukturę, ale chyba nie wygląd. Dla FF jest wtyczka pixelperfect i można by sprawdzić jak wygląda screenshot sprzed refaktoryzacji nałożony na aktualną stronę, ale to ręczna praca i wymagany dobry wzrok.

    Wygląd olej, jeżeli różnice są pikselowe - ważne, żeby działało, jeden czy dwa piksele różnicy nikomu nie zaszkodzą...

    Generalnie też trzymam się tej zasady :) choć czasem klienci wymagają
    dość dokładnej grafiki, gdy jest zatwierdzana przez sztab ludzi (np bankujesz kupujesz, itp)

    Znalazłem coś takiego, ale jeszcze nie sprawdzałem w działaniu:
    * http://needle.readthedocs.org/en/latest/

    kilka innych projektów skupiało się na sprawdzaniu czy selektory CSS są używane, itp.
    * https://github.com/gagarine/CSSunit
    * http://www.cleancss.com/



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Programiści WWW w temacie {walidacja} pytanie do doświadczonych koderów HTML
    13.04.2012, 15:12

    Piotr L.:
    Marek Wywiał:

    Z ciekawości sprawdziłem jeden z projektów e-commerce:
    * 468K w 19 plikach

    kopilowane z saas'a:
    * 280K w 27 plikach

    Ale to webdeveloperzy tym zarządzają, mi został python.

    Też nieźle :D pół mega kodu CSS to już jakaś masakra - ciekawe czy naprawdę jest go tyle potrzebne czy ktoś po prostu pisał osobne style do każdej możliwej strony/podstrony :D

    Jest kilka typów stron używajacych dedykowanych plików CSS.
    Elementy wspólne (w miarę możliwości) są w mixinach (poprzez saas) i w trakcie generowania dla typów kod CSS zostaje zduplikowany w wyjściowych plikach, co widać po różnicy rozmiarów w saas, a w wyjściowym CSS.

    Specyfikacja graficzna oczywiście się rozwija, więc teraz pewnie nawet w saas są zbędne powtórzenia.

    Trzeba by zrobić mały cleanup i tak nagle przyszło mi do głowy:
    * czy dla css można zrobić testy, które by sprawdzały czy po refaktoryzacji kodu css, elementy strony wyglądają/znajdują się w stanie sprzed refaktoryzacji?

    Selenium może sprawdzić strukturę, ale chyba nie wygląd. Dla FF jest wtyczka pixelperfect i można by sprawdzić jak wygląda screenshot sprzed refaktoryzacji nałożony na aktualną stronę, ale to ręczna praca i wymagany dobry wzrok.

    poszukam :)



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Programiści WWW w temacie {walidacja} pytanie do doświadczonych koderów HTML
    13.04.2012, 13:39

    Piotr L.:
    Michał Wachowski:
    Piotr L.:
    A tak przy okazji: z jakim największym kodem się spotkałeś? Ja miałem "przyjemność" doklejać swój kod do CSSa o długości ponad 60KB :D (ale ja tam zostawiałem tylko kilkanaście linijek)

    Wychodzę na prowadzenie: 201KB :)
    Nie żebym sam go napisał - ale teraz to ja muszę z nim pracować.

    Łomatko 200kilo kodu CSS to już jest kobyła niezła :D Jeden plik czy porozrzucane?

    Z ciekawości sprawdziłem jeden z projektów e-commerce:
    * 468K w 19 plikach

    kopilowane z saas'a:
    * 280K w 27 plikach

    Ale to webdeveloperzy tym zarządzają, mi został python.



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Python w temacie Pakiety w Python 3.2
    3.04.2012, 08:00

    Paweł Nowosielski:
    Dzięki za odpowiedź Marek!

    Coś musiało się zadziać nie tak, gdy tworzyłem katalogi. Dla testu utworzyłem analogiczną strukture z innymi nazwami i Python widzi pakiety, jak tego oczekiwałem.

    Czasem coś się zbiesi :)



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Python w temacie Pakiety w Python 3.2
    2.04.2012, 14:06

    Paweł Nowosielski:
    Witam Pythonowych wyjadaczy :)

    Mam dziwny problem, do site-packages dodaję strukturę katalogów:
    katalog A / w nim: plik __init__.py oraz katalog B / w B plik __init__.py.

    W Pythonie 2.7 to już spokojnie wystarczało aby A było pakietem oraz B "podpakietem" A. Czyli instrukcja "import A.B" działa :)

    W Pythonie 3.2 (ActiveState) pakiet A jest widoczny, natomiast B - nie. Powyższy "import A.B" kończy się błędem:
    Traceback (most recent call last):
    File "<pyshell#0>", line 1, in <module>
    import A.B
    ImportError: No module named B

    w przypadku ubuntu i python 3.2.2 (cpython) zadziałało ok:
    *
    Obrazek



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Programiści WWW w temacie Serwis internetowy z OpenSourcowych modułów
    28.03.2012, 15:40

    Jan Janiak:
    Marek Wywiał:
    Wszystkie aplikacje (sklep, portal, e-learning) muszą używać wspólnego systemu autoryzacji użytkowników. Potrzebujesz aplikacji (osobnej lub może to być jedna z już istniejących, np portal), która obsługuje akcje:
    * zarejestruj
    * zaloguj
    * wyloguj
    * zmień hasło
    * przypomnij hasło
    Jest to pewien pomysł. Pytania:
    1. Jak bardzo, Twoim zdaniem, złożona jest implementacja OpenID w przypadku PHP?
    gotowe serwery openid:
    * http://wiki.openid.net/w/page/12995226/Run%20your%20ow...
    2. Implementacja Single Sign On / OpenID leży tylko po stronie programistycznej czy wymaga pewnych zabiegów po stronie administratora serwera / sieci?
    programista, ew. instalacja certyfikatu SSL gdy jest wymagany)
    3. Które z znanych Ci systemów CMS, LMS, e-commerce obsługują Single Sign On / OpenID?
    Trzeba poszukać na stronach danego produktu, lub generalnie google dla produktów, które to mają :)
    4. Co zaś z pozostałymi funkcjonalnościami klocków / elementów OpenSource i jak zrobić, aby całość ze sobą współpracowała? Przykład: użytkownik kupuje w sklepie dostęp do kursu, ale kurs znajduje się w systemie LMS.

    Dodać do sklepu produkty odpowiadające kursom,
    osoba zatwierdzająca zapłacone zamówienie może wtedy dodać dostęp do kursu.

    Ewentualnie całość zautomatyzować - osobny skrypt towarujący sklep,
    i plugin do sklepu tworzący kurs po zapłaceniu zamówienia
    5. W jaki sposób w portalu pokazać historię zamówień, która znajduje się w sklepie? Stworzyć własny fragment kodu, potraktować portal jako nakładkę, centralny element serwisu i wyciągać dane z tabel sklepu czy wczytać (tylko jak?) fragment sklepu i wyświetlić listę zawierającą historię zamówień?

    Wszystkie powyższe, albo wyciągasz dane z drugiej bazy,
    albo w iframe wyświetlasz widok ze sklepu z okrojonym layoutem,
    lub wersja pro, tworzysz akcję API (np. rest) do pobrania listy zamówień i wyświetlasz/replikujesz
    gdzie potrzebujesz



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Programiści WWW w temacie Serwis internetowy z OpenSourcowych modułów
    28.03.2012, 14:38

    Jan Janiak:
    1. Jak te elementy spiąć razem ze sobą?

    słowo klucz Single Sign On / OpenID (http://en.wikipedia.org/wiki/Single_sign-on)

    Wszystkie aplikacje (sklep, portal, e-learning) muszą używać wspólnego systemu autoryzacji użytkowników. Potrzebujesz aplikacji (osobnej lub może to być jedna z już istniejących, np portal), która obsługuje akcje:
    * zarejestruj
    * zaloguj
    * wyloguj
    * zmień hasło
    * przypomnij hasło

    Pozostałe aplikacje w/w akcje powinny nie obsługiwać same, ale przekierowywać do aplikacji, która będzie się zajmować użytkownikami.

    Akcje bardziej złożone to:
    * zaloguj
    * wyloguj
    gdyż muszą poinformować aplikację wywołującą je (lub najlepiej wszystkie aplikacje w pakiecie), że stan użytkownika się zmienił (czyli jest zalogowany lub wylogowany).
    Do zalogowania można użyć OpenID, lub można napisać własny system.

    W chwili logowania/wylogowania dobrze też jest poinformować pozostałe aplikacje (zależnie od potrzeb/mozliwości przez openid, własne API, czy iframe do akcji np /logout)

    Czyli każda aplikacja dzięki OpenID otrzyma własny wpis o uzytkowniku z conajmniej podstawowymi danymi: login, email, imie nazwisko. Pozostałymi danymi specyficznymi dla danej aplikacji (czyli profilem usera w aplikacji) zarządza sama (ew. można jak najwięcej danych umieścić w aplikacji zarządzającej danymi użytkownikami).

    W przypadku wybrania OpenID lub jakiegoś podobnego standardu można wybrać aplikacje, które już obsługują taką integrację (łącznie z providerem OpenID) i będzie trochę roboty z głowy.

    2. Czy może wykonać taki serwis od podstaw pisząc go w frameworku PHP? Trzeba byłoby tylko stworzyć funkcjonalność, która w podanych wyżej klockach OpenSource już istnieje i jest bezpłatna, gotowa do użycia.

    To już jest Twoje wyliczenie kosztów/czasu pracy/możliwości/wiedzy/zasobów i podjęcie decyzji. W tej kwestii niestety nie jestem w stanie pomóc.

    Edit:
    * http://wiki.openid.net/w/page/12995226/Run%20your%20ow...Marek Wywiał edytował(a) ten post dnia 28.03.12 o godzinie 14:57



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Programiści WWW w temacie [sql] skonwertowana wartość pola = zmienna
    26.03.2012, 12:50

    Jan Puczkarski:
    No kolega Marek też dał dobry pomysł, jednak w tym wariancie proszę mi podać wg której kolumny odbywałoby się sortowanie od najświeższych artykułów bo wg slug'ów to nie bardzo to widzę. Tak czy owak kolumna id musi być jeżeli planujemy wykorzystać sortowanie chornologiczne.

    w wątku już pojawiły się odpowiedzi.
    Jeżeli potrzebujemy sortować w/g daty, np. dodania lub częściej publikacji - która jest całkiem różna od daty dodania rekordu, wtedy sortujemy właśnie w/g dedykowanego temu celowi pola.

    Sortowanie w/g id lub w/g slug'a może być potrzebne gdy potrzebujemy posortować slugi alfabetycznie lub id w bazie kolejno, ale nie ma to związku z sortowanie w/g odpowiedniej daty.

    Edit: "Tak czy owak kolumna id musi być jeżeli planujemy wykorzystać sortowanie chornologiczne."

    id służy tylko i wyłącznie jednoznacznemu identyfikowaniu elementu w bazie.

    'ID' może być pojedynczym polem liczbowym z autoincrementem, ale równie dobrze może to być 'slug'
    jeżeli jest niepowtarzalny dla wszystkich rekordów (czasem można dopuszczać powtarzanie slug'a w powiązaniu np z kategorią, itp. Zależy to od architektury jaką sobie założyliśmy na potrzeby naszego projektu).

    więc ID w jakiejś postaci jest wymagane, ale nie możemy opierać na nim sortowania w/g innych kryteriów (chyba, że naszym id (primary key) jest data utworzenia i system pilnuje by na pewno dodać elementy w różnym czasie, np kolejkując równoczesne zapisy) - się rozpisałem ;)Marek Wywiał edytował(a) ten post dnia 26.03.12 o godzinie 12:58



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Programiści WWW w temacie [sql] skonwertowana wartość pola = zmienna
    26.03.2012, 08:13

    Proponuje skonwertowany ciąg znaków (slug), tworzyć podczas tworzenia elementu w bazie (np artykułu).

    Czyli do tabeli dodać pole 'slug' (uniq), i w chwili tworzenia wpisu tworzyć także slug.
    Będziesz wtedy mógł go po prostu użyć podczas tworzenia url'a, a zarazem znaleźć element w bazie.

    W formatce edycyjnej pole slug można tworzyć automatycznie jeżeli użytkownik go nie podał ( z tytułu), a zarazem można pozwolić na ręczne jego podanie. Można wtedy podać krótszy slug niż tytuł (np tytuł z 200ma znakami) lub bardziej ludzki by ciąg znaków nie wyglądał jak szyfr :)



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Programiści WWW w temacie SVN przerywa commit przy wiekszej ilości plików.
    24.02.2012, 15:25

    500 Internal Server Error (http://svn.xxxx.pl)

    z tego co widzę do uploadu używacie protokołu http. Sprawdź (lub ktoś to ma dostęp) w logach serwera www hostującego repozytoria jaki jest komunikat błędu (np, timeout czy cokolwiek innego).



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Frameworki i MVC w temacie Jakiego frameworka używacie
    19.02.2012, 23:32

    1. pyramid/django
    2. Symfony
    3. W symfony konfiguracja w .yml i jej 'generowanie' modele w .yml ich generowanie oraz same ograniczenia php czyli mała w porównaniu z python ilość modułów dodatkowych oraz sposób hostowania. Php nie był stworzony z myślą o długo działających procesach i średnio się w tym sprawdza (da się, trzeba pilnować wycieków np memmon'em itp, ale po co się męczyć jak trzeba oddać projekt :))



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Vim w temacie Vim - paleta kolorów
    19.02.2012, 14:58

    Rafał Lisowski:
    Również polecam. Ten zestaw kolorów jest zajebisty!
    Jak komuś się nie chce samemu kombinować to jest gotowy plugin do vima.


    Obrazek
    ou, ładny status line. Własny czy jakis plugin?
    ja używam http://github.com/millermedeiros/vim-statline



    Zgłoś | Cytuj

  • Marek Wywiał
  • Marek Wywiał
    Wpis na grupie Administratorzy w temacie Drzewiej bywało - czyli wspominki ze świata IT -
    13.02.2012, 08:34

    Takie coś to chyba każdy choć raz zrobił :) (a może nie?).

    Podczas pracy w PST, kolega restartuje swój komputer, terminal, reboot, enter, czekamy ...
    i nic, komunikat, że zostałeś odłączony od sesji :)

    Zrestartował serwer testowy, do którego był podpięty. No to czekamy aż wstanie .... nic ...
    telefon do serwerowni, skąd się dowiadujemy, że jak restartujemy testowy (Red Hat), to trzeba dzwonić,
    by ktoś do niego podszedł i kontynuował init ręcznie :D



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Administratorzy w temacie Drzewiej bywało - czyli wspominki ze świata IT -
    13.02.2012, 08:26

    Krzysztof P.:
    Marek Wywiał:
    * drop_back='find . -name '\''*~'\''|xargs rm -f'

    drop_back='find . -name '\''*~'\'' -exec /bin/rm -f {} \;'

    :)

    Pliki z tyldą na końcu ? joe ? :)
    vim :) teraz trzymam je w ~/.vimbackup dodatkowo



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Administratorzy w temacie Drzewiej bywało - czyli wspominki ze świata IT -
    11.02.2012, 18:12

    kiedyś na swoje uczelniane konto na HP-Uxie zalogowałem się z terminala z win NT
    i wykonałem rm *~ i enter. Tyle, że windows wpisuje tyldę dopiero jak się wciśnie potem jakiś kolejny znak ;)

    takie szybkie czyszczenie 2MB konta :) od tamtej pory zawsze mam alias:
    * drop_back='find . -name '\''*~'\''|xargs rm -f'



    Zgłoś | Cytuj

  • Marek Wywiał
    Wpis na grupie Administratorzy w temacie Drzewiej bywało - czyli wspominki ze świata IT -
    31.01.2012, 12:11

    Krzysztof Kiju Żyliński:
    Dawid Rogaczewski:
    Arkadiusz Z.:
    Marek Wywiał:
    Wersja dla prawdziwych hackerów ;)
    Prawie jak Neo ;)


    W TV zawsze jak jest mowa o jakichkolwiek "Hackierach" to zawsze jest pokazany kawałek kodu HTML z pokolorowaniem i formatowaniem znaczników HTML :P

    Oj, lepsze są amerykańskie filmy. Jeśli czarny charakter niecnie kasuje nam dysk (w tym pliki które mamy otwarte - sic!), albo mamy jakiegoś zjadliwego wirusa, to obraz na monitorze się zaczyna rozmywać, digitalizować, powoli znika... Dla mnie to zawsze była wielka radocha :)

    albo widać stronę logowanie (full screen, inputy dla user'a i hasła), i gość robi włam waląc w klawiaturę jak opętany ... i w końcu do 'czegoś' dochodzi i jest sukces ;)

    jedyny film gdzie praca z komputerem wyglądała normalnie to bodajże Anti Trust

    Edit: http://filmaster.pl/film/antitrust/Marek Wywiał edytował(a) ten post dnia 31.01.12 o godzinie 12:13



    Zgłoś | Cytuj

Wyślij zaproszenie do