UPDATE z SELECT w MySQL oraz PostgreSQL

Często dostaje pytanie, jak zrobić UPDATE na całej tabeli z wykorzystaniem polecenia SELECT.
To pytanie powstaje przez błędne założenie, że trzeba znać konkretne ID danego wiersza w bazie danych.
Wiele osób próbuje zatem zrobić pętlę w np. w PHP, która robi ręcznie update na każdym wierszu z osobna.

Wygląda to mniej więcej tak:

Niepoprawne rozwiązanie

<?
  $subjectArray = $db->sql('SELECT id FROM subject');
  foreach ($subjectArray as $key => $value)
  {
    $iloscPostowArray = $db->sql('SELECT count(id) AS posts_count FROM posts WHERE subject_id='.$value['id']);
    $iloscPostow = $iloscPostowArray[0]['posts_count'];
    $db->sql("UPDATE subject SET posts_count=$iloscPostow WHERE id=".$value['id']);
  }
?>


Przykładowy schemat naszej bazy

Mamy dwie tabele: subject i posts
Tabela "subject":
- id - id danego tematu
- posts_count - liczba postów w danym temacie

Tabela "posts":
- id - id danego postu
- subject_id - id tematu do którego należy post

Dlaczego powyższe rozwiązanie jest niepoprawne

Z prostego powodu: przy dużej bazie skrypt może nie wyrobić z pamięcią lub nie zmieścić się w czasie wykonywania (nie zawsze mamy możliwość zmodyfikowania odpowiednio plików konfiguracyjnych). Już nie wspomnę nawet o tym, że takie rozwiązanie powoduje u nas ogromną liczbę zapytań SQL.

Poprawne rozwiązanie

UPDATE subject SET posts_count=(SELECT COUNT(id) FROM posts WHERE subject_id = subject.id)


Tak jak widzimy cały kod został sprowadzony do jednego polecenia SQL. Jest to o wiele lepsze rozwiązanie tego problemu.

UWAGA
Przy tworzeniu kolumny działającej na zasadzie naszego posts_count z tabeli subject, pamiętajmy o aktualizowaniu liczby postów najlepiej przy użyciu triggerów

Zapraszam do dyskusji, spisywania innych rozwiązań z użyciem UPDATE i SELECT. Jeżeli znajdziecie jakieś błędy w tym co napisałem, to też proszę mi to zgłosić ;)

GG.pl - Gdzie moja prywatność do cholery!?

Kilka dni temu GG uruchomiło nowy serwis: GG.pl
Okazało się, że GG zbiera od tych kilku dni nasze opisy z komunikatora i wrzuca je do serwisu bez pytania czy się na to zgadzamy. Rozumiem, że według regulaminu mają możliwość wykorzystywania naszych danych jak chcą, ale moim zdaniem to lekkie przegięcie z ich strony. Dlaczego?
- nie można usunąć wpisów, które GG zarchiwizowało
- nie można wyłączyć śledzenia z ich strony
- nie byliśmy nawet pytani czy się na to zgadzamy

Wyobraźmy sobie sytuację, w której ktoś z naszych znajomych zmienia nam opis na: "lubię ssać męskie pałki", abo "mój szef to debil". Problem jest taki, że tego nie można w żaden sposób usunąć z serwisu i wiadomość trafia do wszystkich osób, które mają nas w kontaktach, w tym np. do naszego szefa.

Dodatkowo serwis zrobiony jest dla głupich mas o czym świadczy np. ten obrazek:

No, ale co się niestety sprawdza: jeżeli serwis jest zrobiony tak, żeby go zrozumiał nawet 5 latek to wróży to sukcesowi.

Uwagi końcowe:
- jeżeli ktoś widzi tam możliwość wypisania się z tego lub możliwość usunięcia wpisów proszę o info. Możliwe, że jestem tak ślepy i nie widzę tego :)
- nie używam komunikatora GG, ale jestem zmuszony do korzystania z ich protokołu.

Świetny domowy symulator gier

Dzisiaj śmigając sobie po patrz.pl natknąłem się na ciekawy filmik pokazujący "domowy symulator wyścigów" :)


Kupi mi ktoś taki? :D
Świetnie grałoby się we wszystkie symulatory lotów...ah.. już marze jak to cudeńko leży u mnie w pokoju :D

Zagraniczne gry przez przeglądarkę

Siema ;)
Znacie może jakieś gry przez przeglądarkę al'a plemiona.pl czy travian.pl, których nie ma w Polsce albo nie są spolszczone?
Chodzi mi o jakieś popularne gierki albo jakieś nowości które są ciekawe ;-)
Wszelkie propozycje mile widziane :)

Pozdro :)

Poszukuje programu...

Krótko i na temat:
Poszukuje programu/strony www do tworzenia projektów wyglądu strony
Chodzi mi o coś takiego żeby po prostu w tym programie rozmieszczać różne części strony i układać je według własnej fantazji.

Tak wiem, od tego jest kartka i długopis, ale sęk w tym że te projekty interface trzeba nieraz wysłać komuś innemu a skan obsmarowanej kartki nie jest zbyt profesjonalny.

Z na ktoś takie programy/strony www itp?

Z góry dzięki za pomoc :)

Fuck turkish script-kiddies - cyberwojna rozpoczęta?


Rafał Pawlak - hacking.pl

Wczoraj w późnych godzinach wieczornych miał miejsce największy cybernetyczny atak polskich hakerów. Celem ataku padły tureckie strony rządowe. Nieformalna grupa udostępniła manifest, będący wytłumaczeniem dla ich poczynań.

"Balansując na granicy prawa polskiego jak i tureckiego, postanowiliśmy działać. Nie podoba nam się fakt, podmieniania przez tureckich "script kiddies", wszystkich witryn bazujących na gotowym, ogólnodostępnym oprogramowaniu. Nie mamy zamiaru tolerować, rosnącej ilości włamań, które serwują tureccy pseudo-hakerzy, wykorzystujący tylko i wyłącznie znane powszechnie luki, oraz gotowe rozwiązania (exploity). Tureckie władze nie chcą, bądź też nie są w stanie zająć się własnymi internetowymi wandalami, zatem my, naszym atakiem mamy zamiar uświadomić im, że nie są bezkarni. Oko za oko zab za zab !"

Podmienionych zostało okolo 20 stron rządowych, 25 stron edukacyjnych, oraz ponad 250 stron wielu roznych firm. Z nieoficjalnych informacji wynika, iż sprawcami ataków są hakerzy o pseudonimach: G997, ElusiveN, cOnd, Pr0metheuS, Adish, 0in, Mario_VS i suN8Hclf. Osoby te twierdzą również, iż nie mają nic wspólnego z sobotnim atakiem na witrynę sądu w Wałbrzychu, którego dokonali ich znajomi. Polscy hakerzy zapewniają, iż w razie odwetu, atak na tureckie strony i serwery będzie powtarzany.


Więcej info: hacking.pl

Wreszcie!

Powiem tyle: Cieszę się, że wreszcie ktoś "coś robi" w tej sprawie.
Może metody stosowane wobec Turków nie są zbyt ładne i Polacy robią to samo co oni, to i tak brawa dla nich ;-)
Ile razy zdarzyło nam się wejść na jakąś polską stronę, gdzie zamiast oczekiwanej przez nas treści znajdowało się "ogłoszenie" tureckich super "hakerów" o ich wyższości nad nami, całym światem itp.
"Jak Kuba Bogu, tak Bóg Kubie"

Polecam też wszystkim list Kozaków zaporoskich do sułtana Mehmeda IV.;-)
NA PRAWDĘ WARTO PRZECZYTAĆ ;-)
Pytanie do czytelników: Jak Wy to wszystko widzicie? :-)

Spis polskich miast


Jako, że potrzebowałem do swojego projektu (który niedługo będzie miał oficjalna premierę ;)) spisu miast Polski, a coś nie mogłem za bardzo znaleźć go w całości to postanowiłem sam go stworzyć.

Udostępniam go specjalnie dla wszystkich zainteresowanych w dwóch wersjach: małej i dużej. Mała posiada 305 miast a duża 879.

DOWNLOAD

Miasta Polski - wersja mała - 305 miast
Miasta Polski - wersja duża - 879 miast

Mam nadzieję, że nie pominąłem żadnych województw itp, w razie czego piszcie ;-)

Pozdrawiam ;-)

Atak DDoS na Firefoxa czyli bicie rekordu Guinessa rozpoczęte!

Co tu dużo mówić.
Godzina 19.00 17stego czerwca czyli zaplanowany start w biciu rekordu Guinessa przez Firefoxa i jego użytkowników :) Niestety strona z której mieliśmy pobierać Firefoxa czyli: spreadfirefox.com przeżywa teraz atak DDoS :D
Niestety musimy cierpliwie poczekać, aż Mozilla poradzi sobie z obciążeniem.. miejmy nadzieje, że do jutra wszystko się ustabilizuje :)



Aktualizacja:
marcoos udostępnił na swoim blogu działające (?) mirrory do Firefoxa:

Windows
Linux
Mac OS X

Tak wyglądać będzie przyszłość gier komputerowych

Nie ma co się rozpisywać. To trzeba po prostu zobaczyć.

W skrócie:
Cam-Trax Technologies - to nowy system który pozwala na stworzenie kontrolera do gier z dowolnego przedmiotu wyłącznie przy użyciu kamerki internetowej. Coś niesamowitego:

Hacking.pl:

Odpowiedzialni za rozwój gier inżynierowie są przekonani, iż przyszłość domowego przemysłu rozrywkowego leży w wyjątkowym projekcie kontrolera. Jedna z opisywanych przez nas firm próbuje natomiast zachęcić miłośników gier do wykorzystywania podczas gry przedmiotów będących pod ręką – od plastikowej butelki po napoju, po instrukcję korzystania z systemu Windows. Firma Cam-Trax Technologies utrzymuje, iż stworzyła “wyjątkowe opatentowane rozwiązanie programowe”, które jest w stanie śledzić w czasie rzeczywistym dowolny obiekt. Różni się ono od oferowanych już systemów dla konsol (np eye toy), gdyż charakteryzuje się wysoką precyzją i niezawodnością. System składa się z opatentowanego oprogramowania i kamery internetowej. O samym rozwiązaniu wiadomo niewiele, zapraszamy więc do obejrzenia filmu prezentującego możliwości systemu Cam-Trax Technologies.



"Darmowy" laptop dla każdego ucznia.

Dzisiaj przeglądając Dziennik Internautów natrafiłem na ciekawy news... lecz wydaje się jednocześnie bardzo nieprawdopodobny.

W skrócie: Rząd planuje "rozdać" laptopa każdemu uczniowi gimnazjum by wyrównać jego szanse w rozwoju oraz pozwolić na "skuteczną rywalizację z kolegami z Zachodu"

Kupno laptopów ma być sfinansowane przez rząd, samorządy oraz przez samych rodziców (niestety nie ma informacji ile tak naprawdę taki rodzić będzie musiał za tego laptopa zapłacić oraz co z rodzinami gdzie jest np. kilkoro rodzeństwa w podobnym wieku)

Komputer nie będzie zastępował książek i zeszytów – będzie do nich dodatkiem. Arabski zapytany o ciężary jakie będzie musiał dźwigać uczeń powiedział, że prawdopodobnie w wybrane dni uczeń będzie szedł do szkoły z komputerem zamiar książek. Aby tak mogło być potrzebne jest zmodyfikowanie programów nauczania. Możliwe też, że potrzebne będą szkolenia dla nauczycieli.



Pomysł bardzo ciekawy, jednak osobiście wróże marne szanse na jego wdrożenie, zwłaszcza że Polska nadal jest w tyle jeśli chodzi o redukcje kosztów związanych np. licencją na system operacyjny oraz offica M$. Przejście na Linuksa oraz OpenOffice wydaje się być tutaj czymś nieuniknionym

Po za tym nie mogę sobie wyobrazić małych gówniarzy zasuwających z laptopem pod ręką z hasłem na ustach "ale masz super wypasionego laptopa... może pouczymy się o bilansowaniu równań chemicznych? To takie fajne!" :)

Jeśli jednak projekt wypali, dzieci zyskają cudowne dzieciństwo oraz będą miło wspominały jak na lekcjach fizyki poznawały swobodny spadek ciała... w Counter Strike Source :D
Rozpoczyna się nowa era gier multiplayer ;)

Pożyjemy, zobaczymy, ale zbytnio nie wierzę by ten projekt wypalił całkowicie. Możliwe, że rząd wprowadzi takie rozwiązania, aczkolwiek będą one raczej tylko w szkołach elitarnych lub takich które posiadają wysoki budżet.

Jeśli kogoś interesuje więcej info na ten temat to:
Każdy gimnazjalista z laptopem za dwa lata
Rząd obiecuje: gimnazjaliści z laptopami w roku szkolnym 2010/11

Guitar Hero - Wersja na Commodore 64!

Wielu z Was na pewno pamięta jeszcze stare dobre czasy gdy w naszych domach królował... Commodore! :D
Dziś szperając po necie znalazłem przerobiona wersję gry Guitar Hero w wersji na Commodore. Dla tych którzy jednak nie wiedzą co to jest Guitar Hero oraz jak to wygląda np. na Xbox'ie zamieszczam poniżej dwa filmiki:




Guitar Hero - Trailer




Warto też wspomnieć, w grze najważniejszy jest refleks i szybkość Twoich paluszków :D
Co z resztą widać na poniższym filmiku:


Guitar Hero w praktyce



No i po tym krótkim wstępie przejdźmy do konkretów czyli Guitar Hero w wersji na Commodore 64!


Guitar Hero - Wersja Commodorowa ;)




Ah...szkoda, że za czasów gdy Commodore wymiatał ktoś nie wpadł na pomysł zrobienia takiej gierki :D