Napisane: 8.09.2010, 10:27:34 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
https://rpxnow.com/ użyj tego widżeta Ogólnie każde źródło społecznościowe ma swój identyfikator - czy to OpenID, czy Facebook i są to łańcuchy, nie liczby. Widżet JanRain po autoryzacji użytkownika wysyła na wskazany URL POSTem dane użytkownika / wynik autoryzacji. Logujesz wtedy użytkownika po identyfikatorze. Oczywiście każdy user ma swój login i może mieć zwykłe hasło żeby logować się też normalnie. U mnie zrobione jest to w oddzielnej tabeli - relacja do usera, identyfikator społeczny. Reszta trzymana jest w tabeli profili użytkownika (login, imię, awatar, mail itd.) |
Forum: Bazy danych · Podgląd postu: #787556 · Odpowiedzi: 2 · Wyświetleń: 1 623 |
Napisane: 16.05.2010, 19:56:29 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Tak samo jak w Pythonie można pisać system operacyjny (a jest taki projekt). PHP było i jest realnie tylko do www bo tylko do tego było i jest projektowane. Python jest językiem skryptowym ogólnego przeznaczenia, a do www są praktycznie tylko frameworki Pythonowe bo do tego zostały specjalnie zaprojektowane. Nie kłóćmy się na najbardziej abstrakcyjne zastosowania danego języka - bo każdy ma takich pełno. Biznesowo takie abstrakcje są martwe |
Forum: Hydepark · Podgląd postu: #747068 · Odpowiedzi: 26 · Wyświetleń: 3 770 |
Napisane: 1.03.2010, 12:22:53 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Przed zamknięciem DIVa daj Kod <br style="clear:both;" /> |
Forum: Przedszkole · Podgląd postu: #719068 · Odpowiedzi: 4 · Wyświetleń: 800 |
Napisane: 27.02.2010, 14:19:09 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Opanuj się trochę . Zapytania nie są kosmicznym wysiłkiem. Od lat relacyjne bazy danych te zapytania obsługują i internet jakoś się nie zawalił. Chcesz to optymalizować? To napisz stronkę w HTMLu i odpal na serwerze napisanym w asemblerze.... bo przecież ten Pehap i te okrutne zapytania SQL są takie obciążające dla serwera. Jak chcesz skrypt ogólnoużytkowy na darmowe i tanie hostingi współdzielone, to raz że o wykorzystanie skryptu do stron o jakimś ogromnym ruchu nie musisz się martwić w początkowych latach istnienia projektu, a dwa że na takich hostingach nie masz dostępu do narzędzi jakie są wykorzystywane do skalowanie dużych serwisów na lepszych platformach hostingowych (memcache, gearman, sphinx/lucene/solr, czy też układy wieloserwerowe z load balancerem, czy replikacją bazy danych). Notka: nie używaj subselectów (mają naturę do nie używania indeksów), wykonaj je oddzielnie i wstaw gotowe listy do tego zapytania. |
Forum: Bazy danych · Podgląd postu: #718381 · Odpowiedzi: 3 · Wyświetleń: 725 |
Napisane: 18.01.2010, 02:09:47 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Kod USE="flaga1 flaga2" php Plus wcześniej z -pv żeby zobaczyć, czy flagi są zaznaczone. |
Forum: Serwery WWW · Podgląd postu: #702786 · Odpowiedzi: 1 · Wyświetleń: 1 363 |
Napisane: 29.11.2009, 22:17:58 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Na ilu forach wrzuciłeś ten temat ? :] możesz generować dla każdego wpisu unikalną kopię tytułu złożonego tylko ze znaków dopuszczalnych w URLach, lub też doklejać do unikalnego numerycznego ID. Ot cała filozofia. 5 minut, a dla ciebie to z 5 lat |
Forum: PHP · Podgląd postu: #686245 · Odpowiedzi: 2 · Wyświetleń: 638 |
Napisane: 27.11.2009, 23:52:35 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
|
Forum: Szukam · Podgląd postu: #685610 · Odpowiedzi: 3 · Wyświetleń: 884 |
Napisane: 21.11.2009, 14:36:19 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Jeżeli masz różne wersje językowe strony - to możesz użyć GeoIP (pecl.php.net) do geolokalizacji adresu IP użytkownika (kraj, obszar, miasto). |
Forum: Przedszkole · Podgląd postu: #682890 · Odpowiedzi: 3 · Wyświetleń: 622 |
Napisane: 12.11.2009, 17:37:42 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Tyle że Linux to nie Windows. Pod Okularem CHM mi otwiera raczej bez problemu, choć przymula. |
Forum: Komputery i oprogramowanie · Podgląd postu: #679624 · Odpowiedzi: 8 · Wyświetleń: 1 960 |
Napisane: 23.10.2009, 21:24:08 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Dalego temu do jakiejś poprawności, tym bardziej linkowi do localhosta WHERE PicNum = '$num'" -- umieszczając wartość w ' oznaczasz ją jako string, a pola auto_increment stosują liczby. Także przyczepiłbym się addslashes na binarnych danych. Poza tym serwowanie grafik z bazy nie jest wydajne. |
Forum: Przedszkole · Podgląd postu: #673555 · Odpowiedzi: 3 · Wyświetleń: 1 504 |
Napisane: 17.09.2009, 11:13:41 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
PHP generalnie działa jak CGI - żądasz jakiśurl/plik.php - on się wykonuje, zwraca wynik i wszystko jest zabijane. Aplikacje n. Python, Ruby działają jako ciągłe procesy (do tego mogą być wielowątkowe) - na przychodzące żądanie czeka gotowy "prekomplikowany" kod, który przyjmie żądanie i zwróci wynik (tak w uproszczeniu). Tego typu sposób działania daje (może dać) większą wydajność, tyle że całość musi być dostosowana do pracy wielowątkowej (threadsafe) - głównie rozszerzenia w C/C++. |
Forum: Serwery WWW · Podgląd postu: #661975 · Odpowiedzi: 1 · Wyświetleń: 1 160 |
Napisane: 15.09.2009, 23:27:13 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
iPhone, Android, nowsze BlackBerry, (Opera Mini) bez problemu obsługują współczesne standardy. Wszystkie "niższe" starsze przeglądarki mobilne obsługują tylko ich część. Wersję mobilną można zrobić rozpoznając user-agent, czy też dla tych nowszych przeglądarek (i stanowiących raczej gros ruchu mobilnego) można dodać alternatywny arkusz CSS Polecam Emulatory mobilnych przeglądarek internetowych i Tworzenie stron pod iPhone, Androida i inne urządzenia mobilne - wykorzystując oddzielny arkusz CSS |
Forum: Przedszkole · Podgląd postu: #661545 · Odpowiedzi: 3 · Wyświetleń: 1 227 |
Napisane: 27.08.2009, 20:48:29 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Edytujesz panel i dodajesz nowy plasmoid do niego - nowe menu. Jak dla mnie te nowe wersje są mało poręczne bo trzeba sporo się naklikać |
Forum: Komputery i oprogramowanie · Podgląd postu: #654510 · Odpowiedzi: 1 · Wyświetleń: 590 |
Napisane: 8.08.2009, 12:26:52 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Gentoo samo dodaje moduły, które instalujesz przez portage (dev-php5/pecl-memcache na pewno zainstalowane) i nie trzeba ich dodawać ręcznie. Pod Linuksem nie ma rozszerzeń DLL - są tylko i wyłącznie SO, więc dodając dll na pewno ci nie zadziała |
Forum: Serwery WWW · Podgląd postu: #645791 · Odpowiedzi: 3 · Wyświetleń: 906 |
Napisane: 16.06.2009, 17:50:04 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Kod phpize make (root) make install I dodanie stosownego modułu do php.ini. W readme pewnie jeszcze będzie informacja o pliku-bibliotece adresów IP (do ściągnięcia ze strony firmy odpowiedzialnej za to rozszerzenie). |
Forum: Serwery WWW · Podgląd postu: #620927 · Odpowiedzi: 2 · Wyświetleń: 1 062 |
Napisane: 13.06.2009, 21:26:33 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Framework gotowcem nie jest, a gdy zaczniesz szukać dobrej pracy to spytają cię na starcie o znajomość takich narzędzi. A jak chcesz pisać wszystko od zera - twój wybór. Też kiedyś tworzyłem takiego CMSa "od zera" zintegrowanego z punBB, a gdy poznałem CodeIgnitera zmieniłem pogląd jak tworzyć aplikacje webowe. Jak chcesz zaczynać od zera to zacznij od stworzenia prostego systemu wywołującego kontrolery (klasa/metoda) na podstawie np. ustalonych parametrów GET. A gdy to będzie działać rozbuduj kontroler tak by mógł ładować szablony, później też modele wykonujące zapytanie/zwracające wyniki. Taką prostą ramówkę mam w punFramework - plik mvc.php (download) Co do wzorców projektowych - nie są po to by ich używać, czy przeprowadzać wzorcowe implementacje, tylko po to by łatwiej się programowało. Dlaczego nikt nie robi nic "samodzielnie"? Bo takie są realia rynku - klienta nie obchodzi jak pięknie zaimplementowałeś dany wzorzec - interesuje go funkcjonalność za którą zapłacił. |
Forum: Object-oriented programming · Podgląd postu: #619523 · Odpowiedzi: 15 · Wyświetleń: 3 433 |
Napisane: 8.01.2009, 19:16:16 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
jednowątkowo - jeden skrypt, który po kolei wszystko robi (pętle itp.) |
Forum: Przedszkole · Podgląd postu: #556185 · Odpowiedzi: 7 · Wyświetleń: 1 704 |
Napisane: 30.12.2008, 10:51:01 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
tak, wkleiłeś dodatkowy BBtag "code" A tak na poważnie to nie $znajdz, a $_POST['znajdz'] poza tym: - dorzuć walidację/filtrowanie zmiennych wstawianych do zapytania (patrz SQL Injection) - echo może używać ' a nie tylko ", przez co nie musisz slaszować \ każdego cudzysłowu w kodzie HTML drukowanym przez echo |
Forum: PHP · Podgląd postu: #552632 · Odpowiedzi: 4 · Wyświetleń: 898 |
Napisane: 29.12.2008, 13:53:41 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
I tak wynik - kod HTML będzie ten sam (czy to z bazy, czy z plików), z tym że od strony kodu pliki tekstowe są gorsze w przechowywaniu danych o określonej strukturze. |
Forum: PHP · Podgląd postu: #552287 · Odpowiedzi: 4 · Wyświetleń: 1 170 |
Napisane: 29.12.2008, 15:20:42 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
tam masz obiekt, a nie tylko sam kod grafiki. PS. na dużą skalę wydajne to to nie będzie |
Forum: PHP · Podgląd postu: #552310 · Odpowiedzi: 10 · Wyświetleń: 2 075 |
Napisane: 22.12.2008, 13:52:17 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Po wierszu z $zapytanie2 możesz dać $tablica2[] = array(); żeby wyczyścić tablicę przed zapełnieniem ją kolejnymi forami. Po zakończeniu pętli dla $zapytanie2 musisz tą $tablica2 dodać do głównej tablicy kategorii np: Kod $tablica[] = array($rekord, $tablica2); Usuwając zarazem $tablica[] = $rekord;. Dzięki temu masz jedną tablicę do przekazania do szablonu. $tablica[ELEMENT][0] to dane kategorii, a $tablica[ELEMENT][1] to tablica z forami dla tej kategorii - czyli w szablonie dajesz foreach as $cośtam na $tablica i w nim kolejnego foreach na $cośtam[1] |
Forum: PHP · Podgląd postu: #550213 · Odpowiedzi: 26 · Wyświetleń: 2 688 |
Napisane: 22.12.2008, 12:35:00 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Pomyśl trochę. Jeżeli pobiera wszystkie fora to znaczy że warunek WHERE jest błędny. Zakładając że masz relację jeden do wielu w tabeli for powinna być kolumna z numerem ID danej kategorii - i wstawiając w warunku where id obecnie przemiatanej kategorii musi zadziałać Dla przykładu fragment struktury mojego forum: Kod CREATE TABLE IF NOT EXISTS `rk_category1` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `order` smallint(5) unsigned NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS `rk_forum1` ( `id` int(11) NOT NULL auto_increment, `category_id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `description` varchar(255) NOT NULL, `topics` int(10) unsigned NOT NULL, `posts` int(10) unsigned NOT NULL, `lastposter` varchar(255) default NULL, `lasttopic` varchar(255) default NULL, `modification_date` datetime NOT NULL, `order` smallint(5) unsigned NOT NULL, `use_prefixes` tinyint(1) NOT NULL, `allow_anonymous` tinyint(1) NOT NULL, `use_moderators` tinyint(1) NOT NULL, PRIMARY KEY (`id`), KEY `rk_forum1_category_id` (`category_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; Tabela rk_forum1 ma kolumnę "category_id" przechowującą wartość "id" kategorii (rk_category1), do której jest przypisane |
Forum: PHP · Podgląd postu: #550186 · Odpowiedzi: 26 · Wyświetleń: 2 688 |
Napisane: 21.12.2008, 22:28:43 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Można to jakoś prościej?? Prościej to nie znaczy czytelniej i łatwiej w rozbudowie Chcesz robić forum? Użyj frameworka (Kohana, CI, inne) i oddziel zapytania od widoku i od szablonu odpowiedzialnego za wygląd - jeżeli chcesz stworzyć coś funkcjonalnego, co można pokazać Cytat Nie wiem kto teraz pisze własne systemy template ze sładnią z dupy, która wygląda troche inaczej niż czyste PHP, a działa wolniej. SMARTY = crap. to napisz serwis pokroju nasza klasa, grono, czy też fotka bez szablonów, stosując PHP, a później próbuj to rozbudowywać i poprawiać. Szablony i inne rozwiązania, wzorce projektowe nie są stosowane po to by kod był szybszy (bo będzie nieco wolniejszy niż napisany jednym ciurkiem), ale żeby ten kod dało się utrzymać, modyfikować i rozwijać. I taka mała notka - szablony smarty są kompilowane do kodu PHP (kesz) i przy kolejnych wywołaniach szablonu te gotowe postacie są stosowane niewidzialnie dla programisty/użytkownika. |
Forum: PHP · Podgląd postu: #550049 · Odpowiedzi: 26 · Wyświetleń: 2 688 |
Napisane: 21.12.2008, 20:11:46 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Wg mnie, o ile logika ogranicza się do wyświetlania, nie ma żadnego problemu. Zawsze można np. do klasy view dopisać metody pomocnicze, np. cycle(), co umożliwi np. takie coś: Po pobieżnej analizie przykładów z dokumentacji szablonów Django nie widzę żadnych istotnych korzyści (prócz minimalnym uproszczeniem zapisu) z dołączania dodatkowego kodu typu Calypso. Ale jak kto woli Ja tam polecam wg. mnie najprostsze rozwiązanie, czyli 'bezpośrednie' stosowanie PHP - bo przecież po to ono jest? Kod <?php } ?> Ładnie to nie wygląda, front-end designer zapewne coś pokopie w tego typu znacznikach... plus jak tego trochę zagnieździsz to będzie jeszcze gorzej. Przydają się też takie funkcjonalności jak dziedziczenie szablonów, obsługa bloków itd. I nie należy zakładać że programista posłucha się ciebie żeby nie wrzucać do szablonu logiki. Jeżeli może - to to zrobi. Swego czasu używałem CI, teraz używam Django i nie mam najmniejszej ochoty ponownie stosować "szablony" zawierające w sobie język skryptowy plus z brakiem funkcjonalności typowych szablonów. W przypadku zalogowania, w skrypcie zamieniam niezalogowany na "nic", a zalogowany na zalogowany bez {zalogowany}{/zalogowany}. Jak wywalić te tagi {zalogowany}{/niezalogowany}, tak aby to co jest po między nimi zostąło nienaruszone?? Tworzenie statycznych bloków nie jest zbyt elastyczne ({zalogowany}{/zalogowany}, czy {wiadomości}{/wiadomości}), bo to trochę ogranicza elastyczność parsera. W Django wygląda to ogólnie tak: Kod {% if user %} Witaj {{ user }} {% else %} Witaj nieznajomy {% endif %} Gdzie za logikę szablonu odpowiada warunek IF wykonany na zmiennej przekazanej do szablonu z widoku. |
Forum: PHP · Podgląd postu: #549982 · Odpowiedzi: 26 · Wyświetleń: 2 688 |
Napisane: 21.12.2008, 19:28:38 | |
Grupa: Zarejestrowani Postów: 640 Dołączył: 8.02.2004 Ostrzeżenie: (0%) |
Duży ruch ci raczej nie grozi, więc i trudno mówić o wydajności danego rozwiązania. Operacje na długich łańcuchach mogą trochę zajmować, ale ogólnie większym "problemem" wydajnościowym będzie pobieranie danych - np. z bazy danych. |
Forum: PHP · Podgląd postu: #549972 · Odpowiedzi: 26 · Wyświetleń: 2 688 |
Nowe odpowiedzi Brak nowych odpowiedzi Popularny temat (Nowe) Popularny temat (Brak nowych) |
Sonda (Nowe) Sonda (Brak nowych) Zamknięty temat Przeniesiony temat |
Wersja Lo-Fi | Aktualny czas: 13.06.2024 - 06:53 |