A może jednak będzie sprawdzaczka?

14 czerwca 2007, 01:35:37

Poziom: 0 | Kategoria: Komputerowo-internetowo, Przemyślenia, Ruby on Rails, Studia. | 1 komentarz

W zasadzie skończyłem projekt z baz danych. W aktualnej wersji zadania wysłane przez użytkowników są sprawdzane przez sędziów, jednak cały czas chodzi mi po głowie napisanie automatycznej sprawdzaczki. Problem w tym, że — niestety — nie wiem jak zablokować możliwość otwierania nowych plików i tworzenia nowych wątków lub procesów przez sprawdzany przez sprawdzaczkę program. Próbowałem bawić się ulimitem, którym ustawiam limity czasowe i pamięciowe, ale nie do końca wiem, czy tędy droga. Ustawienie ulimit -n 1 nie działa, podobnie ulimit -u 1.

Jeżeli ktoś z czytających ma jakąś koncepcję — będę wdzięczny za pomoc!

Tagi:

Coś się ruszyło

04 czerwca 2007, 02:40:25

Poziom: 0 | Kategoria: Komputerowo-internetowo, Ruby on Rails, Studia, Web Design. | 4 komentarze

Zacząłem wreszcie pisać projekt na bazy danych. Z każdą linią kodu utwierdzam się w przekonaniu, że Ruby on Rails to świetne środowisko do przyjemnego pisania aplikacji. Wychwalać też będę doskonałe NetBeansy w wersji 6, bez których pisało by się kilka razy wolniej.

W tej chwili mam już prostą autoryzację użytkowników opartą na trzech kategoriach – zwykłych użytkowników, którzy będą mogli nadsyłać rozwiązania, sędziów, którzy te rozwiązania sprawdzą i ocenią (zrezygnowałem na razie z pisania sprawdzaczki) oraz administratorów, którzy mogą dodawać zadania, konkursy, itp. Skończyłem też administrację konkursami – można dodawać/edytować/usuwać konkursy oraz wgrywać pliki z zadaniami. Proste forum w zasadzie też mam już skończone, muszę je tylko zintegrować.

Przede mną chyba najgorsza część, czyli implementacja wysyłania rozwiązań, oceniania ich przez sędziów oraz wyświetlanie jakiś rankingów. Myślę też nad prezentacją statystyk w formie wykresów.

Oczywiście nie obyło się bez problemów – nie mam pojęcia dlaczego giną mi parametry przesyłane z formularza do dodawania nowych zadań i muszę szpecić definicję metody kontrolera dodatkowymi liniami kodu, które uzupełnią brakujące pola. Wygląda to mniej więcej tak:

def create
    if request.post?
      @problem = Problem.new(params[:problem])
      @problem.name = params[:problem][:name]
      @problem.short_name = params[:problem][:short_name]
      @problem.contest_id = params[:problem][:contest_id]

      if @problem.save
        flash[:notice] = 'Zadanie zostało dodane.'
        redirect_to :action => 'list'
      else
        redirect_to :action => 'new'
      end
    end
  end

Szkoda tylko, że nie wiem, ile mam czasu, bo nigdzie nie podano terminu oddania pierwszej części projektu...

Tagi:

Wcześniejsze wpisy Nowsze wpisy