Ja pier***le

Maj 22, 2009

… nie moge juz tego mulenia wyrzymac.

Nowy adres: http://otsoft.pl/blog


SimpleDB 0.1.3

Maj 22, 2009

Stabilna wersja klasy SimpleDB wydana! Tumturum farara, wiwaty, oklaski, majonez!

Tak jest :) Możecie już ściągnąć wersję SimpleDB 0.1.3, chętnie zobacze jak radzą sobie jakies strony z tą klasą bo aktualnie nie mam czasu dodać jej do Otsoft.pl, chociaż kusi mnie to bardzo.

Oprócz zwykłych funkcji jak query, czy fetch dodałem optymalizację bazy, czyszczenie tabeli z rekordów, przełączanie użytkowników i pare różnych dupereli jak statystyki, przechowywanie składni zapytań etc. Więcej informacji na stronie projektu oraz w folderze z przykładami zastosowania.

Oprócz tego zabrałem się za Advanced Status Checkera, ten pozornie łatwy skrypt nastręczył trochę problemów, tak czy siak można juz na nim działać, jakby ktoś chciał przetestować to zapraszam TUTAJ. Mam nadzieje, że więcej błędów nie uświadczycie.

Właściwie to tyle, a zapomniałem dodać jeszcze że prace nad XML Validatorem zostają wstrzymane na jakiś czas.


SimpleDB – prosta klasa do połączeń z MySQL vol. 2

Maj 8, 2009

Zdecydowałem sie kontynuować prace nad SimpleDB, poszukując prostej klasy w sieci nie natknąłem się na nic ciekawego, oprócz klasy PMC.

Z założenia będzie to bardzo prosta klasa, wykorzystująca podstawowe funkcje mysql, z mozliwością głębokiego debuggowania (na liście TODO :) ). Jak narazie można pobrać wersję beta z Google Code. Na niej można spokojnie już działać bez problemów.

Następny krokiem będzie wykonanie klas dla:

  • PostrgreSQL
  • SQLite

Jeśli ktokolwiek chciałby dołączyć do projektu – czekam na maile: pavlus@otsoft.pl.


[`]

Maj 4, 2009

Dziś rano po 14 latach opóścił mnie mój najlepszy przyjaciel :(


SimpleDB – prosta klasa do połączeń z MySQL

Maj 1, 2009

Patrze na zegarek w pokoju – 6:45, czas na dedyku 00:56, czas na kompie 01:57 i badz tu madry xD.

Ale nie o tym chciałem, leń mnie dopadł i jak to zwykle bywa robie wszystkie rzeczy dookoła byleby tylko nie robić tego co kazano, albo tego co trzeba ;] Dość popularne zjawisko u mnie ostatnio – trzeba się uczyć – sprzątam w szufladach, segrguje płyty i robie porządki na dysku :) Nie inaczej było dzisiaj. Fakt wziąłem się do roboty po południu, ale leń mnie przechytrzył i szybko wróciłem do zajęć które bardziej mnie interesują.

Zawsze myślałem o napisaniu dobrej klasy do połączeń z MySQL, dzisiaj zabrałem się do pisania i w 2 godziny wyszło coś, co nazwałem SimpleDB – no bo jak można inaczej nazwać klasę, która nic nowego nie wprowadza, zwykłe query, fetche i inne pierdy w bardzo prostej formie. Mimo wszystko ta klasa zawiera to co ma zawierać, raczej niczego w niej nie brakuje a na pewno jest wystarczająca dla początkującego programisty.

W wolnym czasie chętnie ją rozbuduję, chociaż i tak pewnie nikt nie będzie jej używał oprócz mnie ;)

W razie jakby ktoś jednak chciał potestować to tutaj jest LINK całe 2,6 KB :)

Przykład wykorzystania included.


Jestem jak motyl przesadnie zmęczony

Kwiecień 29, 2009

Audio

i jest dobrze


Otsoft.pl (1.4) i PVP Challange

Kwiecień 14, 2009

Otsoft.pl po raz kolejny został updatowany. Wersja 1.4 nie jest przełomowa, ale wprowadza dodatkowe opcje serwisu oraz usprawnia pracę redaktorów i moją :)

Główne zmiany:

Status Checker – to już tradycja, że serwisy o Open Tibia dodają go do swojego contentu, nie inaczej jest na Otsofcie, pozwoliłem sobie jednak na dodanie przedrostka „Advanced” przed nazwą tego tworu, dlaczego? Ano dlatego że zwykły Status Checker sprawdzał tylko czy serwer jest online czy offline, nasz sprawdza:

  • liczbę graczy
  • nazwę serwera
  • lokalizację
  • uptime
  • założyciela serwera
  • URL serwera
  • liczbę mobów
  • MOTD

No dobra przesadziłem troche z tym advanced ;) Nic szczególnego w sumie, ale dobre podwaliny na liste są ;)

Hall Of Fame – pomysł ciekawy i warty rozwinięcia, na tą chwilę po prostu dane wyciągnięte z bazy, np liczba nieprzeczytanych pmek, albo czas spędzony na forum :) Czasami z nudów – można przejrzeć.

OTW - komentować raczej nie trzeba (?)

Raporty downloadu – do tej pory baardzo niużyteczne narzędzie, a to dlatego że wystarczyło kliknąć, żeby informacja o raporcie dostała się do bazy i tym sposobem boty od Googla, Yahoo czy nawet spam boty znajodowały sobie pole do popisu. A sprawdzanie tych raportów w panelu mijało się z celem.

Pewnie się spytacie czemu nie zastosowałem filtrowania ip botów, bo przecież są wszystkim znane, albo nawet prostszego zabiegu: <a rel=”no follow” .  Pierwszy sposób byłby dobry, ale nie zatrzymałby spam-botów, drugi natomiast sprawdzał się tylko dla botów Googla, reszta pustych robocików nie robiła sobie z tego wpisu nic, dziwne ale sprawdzone.

Najłatwiejsze rozwiązanie – dodać pole tekstowe w którym użytkownik będzie musiał wpisać uzasadnienie raportu a przy okazji można będzie się dowiedzieć w panelu, dlaczego jegomość kliknął: Raportuj. Boty indeksujące nie mają mozliwośći wypełniania form, natomiast spam boty tak :) Ale dodatkowe filtrowanie mam nadzieje nie przepuści już żadnego, albo chociaż większej ich ilości – jakoś nie mam zamiaru co chwila wrzucać captche i inny gówna nad którymi przeciętny internuta spędza mnóstwo czasu…

Parę słówn na temat PVP Challange, otóż nigdy w życiu nie miałem podobnej sytuacji, nie wychodziło mi dosłownie nic co chciałem zrobić – kompilacja serwera (umierała na ./configure), połączenie z bazą (z niewiadomych powodów nie dochodziło do sukcesu).

Co się okazało, jeśli chodzi o kompilację zawiniły biblioteki, a wspomogliśmy sobie updatem Debiana z Etch na Lenny, dodatkowo zaciągneliśmy libasio-dev i poszło.

Z połączeniem z bazą – brakowało extension PDO dla MySQL – dobrze że wrzasq ładnie komentuje swojego pota, bo ciężko byłoby dojść po samym kodzie do tego. A i phpinfo(); zyskało w moich oczach niezmiernie :) Po instalacji PDO, wsio zaczęło działać, no może niekoniecznie od razu, ale działa :>

ALE

Na Lenny nie chciał się kompilować Akademicki :D Na szczęście rozwiązanie wpadło mi szybko do głowy i w kilkanaście minut serwer pod 7.6 kompilował się jak dawniej. Wystarczyło użyc starszej wersji gcc do kompilacji, a mianowicie 4.1.

Wpis do Makefile: (dla potomnych ;D)

export CC=/usr/bin/gcc-4.1

Do usłyszenia.


XML Validator i Open Tibia Wiki

Marzec 29, 2009

(Ledwo żyje, ale w końcu napisać coś trzeba ;) )

Po sezonie ogórkowym czas było wziąć się do roboty, długiei żmudne prace nad Wiki opłaciły się i w końcu udało się doprowadzić most Vbulletin – Mediawiki do końca. Potem już było z górki, skin z forum dało się dość ładnie przekształcić i wrzucić do wiki a liczba edycji w wikipedii każdego usera widoczna pod avatarem to już pestka.

Dodałem też BBCode [wiki] fraza [/wiki] do forum, kierujący użytkownika do danej frazy w wikipedii, a to dzięki pomysłom załogi z Otsoft.pl, jeśli chodzi o to to są w tym niezrównani (masa pomysłow)

Jedyna rzecz jaka leży mi na sercu to domena, bo http://forum.otsoft.pl/w/ jakoś do mnie nie przemawia, ale to może jeszcze poczekać.

W każdym razie zapraszam wszystkich do edycji: Open Tibia Wiki

Druga rzecz, która dzisiaj ujrzała światło dzienne to XML Validator, zapowiadany przeze mnie od dawna. Przypomne ogólną zasadę działania tego skryptu, otóż założenie jest takie żeby skrypt wychwycił błędy w składni XML dla plików players i accounts, nie od dziś wiadomo że te błędy powodują crash silnika, albo chociaż debugi postaci, czy wszystkich dookoła.

Poza składnią, atrybuty też są brane pod uwagę, często zdarza się że skrypt acc jest dziurawy, albo w wyniku ataku ktoś kombinuje przy plikach postaci, najczęstszym symptomem są zmienione atrybuty sex oraz vocation, YurOTS nie radzi sobie z tym całkowicie (akademicki ma stosowną łatkę).

No więc o czym to ja….a no i Validator bada sobie atrybuty, sprawdza ilość dni premmium, looktype, pass, experience i jeśli napotka na nietypową wartość wyrzuca ją w raporcie, na przykład zamiast liczby jest string, albo liczba jest mniejsza od zera.

Przykładowy raport:

Raport

Na tą chwilę Validator usuwa (jeśli pozwolimy mu na to w configu):

  • pliki z błędem składni
  • pliki account bez postaci
  • pliki postaci bez odpowiedników w postaci pliku account
  • pliki account, których liczba cyfr przekracza ustawioną przez nasz stałą (np. 6)

Validator posiada też możliwość poprawiania błędnych wpisów, w tej chwili jest to tylko:

  • premDays (jeśli liczba przekracza ustawiony przez nas limit)
  • account type (standardowo zmieniane na „1″)

Poza tymi funkcjami możemy ustalić w jaki sposó Validator ma nam pokazać wynik, są 3 mozliwości:

  1. Wyświetlanie wyniku w przeglądarce + raport generowany do pliku .html
  2. Wyświetlanie wyniku tylko w preglądarce
  3. Tylko eksport do .html

Ostatnia opcja jest dobra, gdy zechcemy używać regularnie Validatora, tak jak jest on używany na Akademickim, czyli dodajemy wpis do crona, aby Validator o 3 nad ranem sprawdził konta, po czym wygenerował raport do pliku, nastepnego dnia budzimy się i przeglądamy co jest nie tak :) i ewentualnie ręcznie poprawiamy błędy.

Skrypt był testowany na Akademickim z $unlink = 1; oraz $change =1; i wszystko działa jak należy, trzeba jdnak pamiętać, że jeśli chcesz używać unlinka, musisz mieć mozliwość zmiany chmodów z poziomu php, chyba że masz wszystkie katalogi z chmodem 777 ;)

Aha, radze nie kombinować przy pliku validation.php jeśli nie znasz chociażby podstaw php, to może się skończyć baaardzo źle :)

Nie zostało mi nic innego jak podać link do downloadu:

Open Tibia XML Validator

Żegnam :>


Update na Otsmedia ;)

Luty 12, 2009

Nie mogłem się powstrzymać, szczerze współczuje utraty wzroku przez GMa  :/


„Za dużo myśli naraz mam na myśli”

Luty 10, 2009

Od kiedy Panda nabrała dla mnie nowego znaczenia i już wcale nie kojarzy mi się z biało czarnym miśkiem (sesja), to dosłownie stanęły wszystkie moje projekty, a na gmailu liczba nieodebranych wiadomości osiąga już 3 cyfrową liczbę…

Żeby tego było mało mieliśmy małą wpadkę na Otsofcie, a właściwie nie małą ;) OGROMNA jak czołg t-55 – w skrócie: skrypt backupujący home się zapętlił i zaczął sam sobie radzić z brakiem wolnego miejsca na dysku usuwając według niego niepotrzebne katalogi ;) I tym sposobem na moich oczach znikały gigabajty danych, jak się również okazało backup zjadł backup (a wykonywany jest codziennie) więc pozostało zasięgnąć po starszy wysłany na inny serwer, niestety z przed 2 dni. No ale nie ma co biadolić, wraz z Bvbb wzieliśmy się za robotę – jeszcze raz to samo :]

Więc Validator XML się kurzy, EW się kurzy, Turniej PVP równierz,  Akademicki tak samo, do normalnego życia przed klawiaturą zamierzam wrócić jak zrobię porządek z zaliczeniami, zostało ich niewiele: 2 kursy, mimo wszystko najbardziej męczące.

Do usłyszenia.


Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.