3 dni temu pobralem wersje z svn’a no i zaczolem robic podstawowa funkcjonalnosc Aktualnie jest 60 % Mileston 1
Co mamy ?:
- Kategorie
- Fora dla kategorii
- Fora potomne (60%, brakuje synchronizacji last_post in forum w forach nadrzednych)
- Tablice dla forow:
a. tworzenie tablicy
b. usuwanie tablicy
c. usuwania postow z tablicy 30 % (brakuje synchornizacji z forami dla last_post in forum w forach nadrzednych w forum do ktorego nalezy topic wszystko jest synchronizowane)
c. przyklejanie/zamykanie tablicy
Czego brakuje ?:
I. Aplikacja - dzielenie topicow
- przenoszenie topicow
- scalanie topicow
II. Adminitracja aplikacja
praktycznie wszystkiego do wyzej wymienionej funkcjonalnosci aktualnie jest tylko to co zrobil karol na svn
Nic z wyzej wymienionej funkcjonalnosci nie znajduje sie jeszcze na svnie poniewaz nie dostalem dostepu, dzis postaram sie skonczyc synchornizacje topicow/postow z forami.
Ogolnie przyjolem zalozenie nie korzystania wszedzie gdzie sie tylko da z has_many poniewaz uawzam ze sam jezyk ruby jest wystarczajaco wolny… od php i nie nalezy obciazac nim systemu. Lepiej jest pobrac dane raz i je cachowac niz wiele razy zmuszac activerecord do parsowania jednego zapytania. Wiec zamiast uzywac :include oraz has_many uzywam np:
def topics
@topics = Topics.find(:all, :conditions => […], :order => ‘…’) unless @topics
@topics
end
Ba… takie podejscie do sprawy daje nawet wieksze mozliwosci poniewaz w :conditions mozna stosowac wtedy smialo self.atrybut Dane cachowane sa wtedy w obrebie jednej instancji, wiec praktycznie nie ma zadnych problemow jak narazie W przypadku has_many bez :include baza potrafila wykonac 5-6 zapytan do jednej tabeli… teraz wykonywane jest jedno.
Zaraz pewnie znajda sie przeciwnicy tej ideii “Jak to ? przeciez has_many jest takie zajebiste i wogole :include robi wszystko co trzeba :)” no ok :include potrafi robisz wszystko co trzeba ale zupelnie olewa :conditions i :order z has_many (trzeba je robic bezposrednio podczas zapytania w ktorym wystepuje :include) no i zaloze sie ze w momencie gdy baza urosnie do wielkosci 90 tys postow i 1200 tablic oraz 150 forow to mozna bedzie odczuc znaczny spdek mocy przez typecasting ruby na 20 zapytaniach sql niz na 5 zapytaniach sql oraz przetwarzaniu danych w obrebie rubego (for, each, select, find, collect). Chociaz moge sie pomylic i napewno bedzie zapytanie ktore bedzie dzialac w ten sposob wolniej, zobaczymy wszystko wyjdzie w praniu, ja mam tylo nadzieje ze ten sposob bedzie lepszy i nie bede musial zmieniac pogladow na temat has_many
Czy administrator moglby dac mozliwosc moderacji tym forum dlamnie i dla Karola ? (albo dlamnie albo dla karola ? (hasiawka?