Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
@Jacekalex
A czymże chcesz te dzieci karmić?
Chyba, że na organy przeznaczać, ale to nielegalne
Fervi
Offline
[quote=fervi]@Jacekalex
A czymże chcesz te dzieci karmić?
Chyba, że na organy przeznaczać, ale to nielegalne
Fervi[/quote]
Kupić kilkanaście hektarów ziemi, kury, kaczki, króliki, owoce, warzywa i eurodopłaty, i dzieciaki się uchowają jak pączki w maśle. :D
Wtedy też można się bawić we Freelancera, i tłuc hurtem np sklepy internetowe, albo jakieś stronki firmowe, co by czasem doszło kilka groszy na to czy tamto.
Albo własną firmę programistyczną założyć, taki np mega pro system jak wyroby Insertu, to jest tylko kilkaset komend do bazy danych, do tego okienka, trochę i kodu do zapewnienia sprawnego wyświetlania
i drukowania, i wio, a używają podobnego dziadostwa wszystkie firmy od małych sklepów, po całkiem spore podmioty.
Gdybym poderwał jakąś naprawdę dobrą ekspertkę od prawa podatkowego, to w dwa lata sam bym tłukł coś w stylu Lefthanda czy Subiekta/Rewizora. :D
Z resztą jak widzę czasem wyroby naszych polskich firm programistycznych, to ceny zawsze są dosyć słone, za to soft ma taką jakość i funkcjonalność przeważnie, że się rzygać chce.
I nie mówię tu o jakichś niszowych sprawach, ale np o Symfonii czy RewizorzeGT.
Z tymi szajsami od różnych producentów mam do czynienia dosyć często, i nieraz bym twórców takiego softu wysłał do białoruskiego kołchozu, żeby ziemniaki kopali (choć to może dla nich zbyt trudne i skomplikowane zajęcie).
Ostatnio edytowany przez Jacekalex (2014-04-08 20:19:46)
Offline
@Jacekalex
Czy ty pracujesz w IT czy jesteś marzycielem pasjonatem?
Czasami mam wrażenie że chyba nie do końca sprawy rozumiesz.
W czym masz problem zatem aby wyklepać kilkuset lini kodu do bazy.
Ostatnio edytowany przez hello_world (2014-04-09 08:18:24)
Offline
Idź na POsła PO
Offline
@Jacekalex:
Skoro pisanie kodu takie proste to na co czekasz ? Dowolny język w łapkę i 10 koła bez wysiłku miesięcznie na koncie ;p
Zawsze mnie śmieszy jak osoby które nie robią stronek mówią "Mam taką maluśką zmianę - to w 5 minut zrobicie", a po analizie wychodzi 2 dni minimum ;] podobnie z kodem czy innymi rzeczami.
Goebbels miał kiedyś powiedzieć "Ludzie nie powinni wiedzieć jak się robi kiełbasę i politykę", ja bym do tego dodał "i jak się pisze kod" bo chyba niewielu by wsiadło do samolotu jak by wiedzieli jak pisano kod autopilota ;]
Niewielu wie że jeszcze parę lat temu 80% (!!!) projektów IT przestrzelało budżet, potem dzięki narzędziom (och to znienawidzone VisualStudio, Netbeans czy Eclipse! ;p) spadło to do "tylko" 65%, teraz SCRUM i Agile pomagają znacząco, ale wtedy i TYLKO WTEDY, gdy firma chce to u siebie wprowadzić ORAZ gdy KLIENT się na to godzi i ROZUMIE na starcie że budżet MUSI być nieco elastyczny, podobnie jak czas oddania softu.
A że w Polsce takich klientów jak na lekarstwo to powstaje syf - inna sprawa że ja używałem już w swoim życiu kobyłek w stylu Catia, których koszt zakupu przewyższa życiowe dochody niejednego Polaka, i ten super soft też sypał się na potęgę ;] to nie jest tylko polska specyfika.
Pozdrawiam.
Ostatnio edytowany przez Huk (2014-04-09 08:39:42)
Offline
[b]lis6502[/b] ZASTANÓW SIĘ CO CHCESZ W ŻUCIU ROBIĆ (zadzwoń do wróżki) A POTEM TO RÓB.
Nie ma głupich odpowiedzi są tylko DEBILNE PYTANIA :).
Offline
@Huk
Ja zacząłem z innej strony, roczek przy administrowaniu sklepem internetowym na Oscommerce sprzężonym z Subiektem.
Przy okazji sam zgłaszałem do Subiekta takie kretyńskie błędy OscGT, że śmiech bierze, że ktoś o nich nie pomyślał przy tworzeniu tego programu,
NP towar w danej chwili ma zerowy stan magazynowy, będzie uzupełniony za kilka dni, a dana wersja OscGT z uporem pijaka wywala ze sklepu towary o zerowym stanie magazynowym, na co pomoc Subiekta udaje greka, bo to przecież nie możliwe.
Po prostu nie dali odpowiedniego przełącznika w OscGT, potem były logi z debugowania, potem były wyjaśnienia, i za kilka miechów nowa wersja ten błąd miała poprawiony, choć o tak oczywistych rzeczach to się myśli w czasie planowania aplikacji.
I nie piszę tu o programie od "stolarza" tylko od największego producenta w kraju, i też nie o jakimś niezwykle skomplikowanym kodzie, tylko o jednej funkcji programu, która celowo została zaprojektowana tak, a nie inaczej.
To, ze taki program maił walniętą funkcję nie wynikało ani z żadnego błędu w .NET Framework, a ni w MSSQL, ani w systemie opoeracyjnym,
tylko po prostu ktoś kiepsko zaprojektował taką czy inną funkcję, a potem się w Insercie 3 tygodnie zastanawiali, jak to poprawić.
To w takim razie ten programik, OScGT w tym czasie robili programiści, czy Gang Olsena.
Już nie wspominając, że wypuścili na początku program niezgodny ani z OScommercem, ani z Subiektem, bo np w Subiekcie nie było problemu z wpisaniem kilku cen w zależności od cech produktu (np rozmiaru), w OScmmerce (dowolna wersja) też nie było takiego problemu, ale OscGT akceptował tylko jedną cenę dla produktu, i nie umiał prawidłowo dodawać produktów z kilkoma cenami zależnymi od takiej czy innej cechy.
I próbuj potem używając OscGT i SubiektaGT prowadzić w necie sklep z walizkami czy butami.
W różnych latach takie wtopy zaliczał Insert z jednym ze swoich sztandarowych produktów.
Jak programujesz, to pewnie wiesz, ile takich rzeczy zależy od kodu,
a ile od takiego czy innego zaprojektowania danej funkcji programu.
I pokaż mi z łaski swojej program, przy którym pracowałeś, który nie zaliczył podobnych wtop funkcjonalnych.
Bo przecież oprogramowanie powstaje nie dla satysfakcji autorów, tylko po to, żeby ktoś ich używał, i żeby ułatwiały taką czy inną pracę.
Offline
@Jacekalex:
Nie mam zamiaru nikogo bronić bo to że na rynku jest od cholery crapu mnie przekonywać nikt nie musi ;] natomiast:
I pokaż mi z łaski swojej program, przy którym pracowałeś, który nie zaliczył podobnych wtop funkcjonalnych.[/quote]
Nie pokaże, ponieważ takiego programu nie ma, chyba że mówimy o którejś tam wersji tej samej aplikacji, a czemu? Uuu zacznijmy od tego jak [b]POWINIEN[/b] wyglądać proces developmentu aplikacji:
1. Na jakiejś imprezie, nawalony developer/szef/sprzątacz wpada na pomysł.
2. Zbierają się ludzie i go obmawiają.
3. Wytyczają założenia, piszą księgę wymagań, lub podobny dokument.
4. Wytyczają funkcjonalności itd
5. "Grają" w SCRUM poker w celu znalezienia potencjalnych pitfallów, wyznaczenia ile zajmie implementacja itd.
6. Po tygodniu/miesiącu/kwartale - mają na tyle danych że mogą zaczynać implementację
7. Implementują, najlepiej z wykorzystaniem TDD, lub jakich innych nowoczesnych metodologii.
8. Wydają sprinty, piszą testy do funkcji itd. itp (wiem, wiem, niekoniecznie w tej kolejności ;] )
9. Jak trzeba miesiąc przedłużyć czas to szef czas zapewnia żeby potem nie płacić 10xrazy tyle za poprawki błędów gotowej aplikacji
10. W końcu aplikacja wychodzi, jest super i wszyscy idą się ze szczęścia uchlać do pobliskiego baru ;]
Tyle teoria, a teraz praktyka (której już wstęp opisałem wcześniej w tym wątku):
1. Przychodzi szef/klient który ma "super" pomysł na aplikację!
2. PM mówi "OK, to daj założenia i obmówimy to w zespole" - oczywiście szef/klient założeń nie posiada bo dopiero co "wpadł" na pomysł, ale obiecuje że spisze.
3. Po 2 miesiącach jak już jest inny projekt, szefu przychodzi z założeniami, napisanymi tak że nikt nic z tego nie rozumie ;]
4. PM zamiast 5 chłopa do analizy zostaje sam albo ewentualnie dostaje jedną osobę - oczywiście termin końca analizy tak jakby miał 5 osób.
5. 10 razy dziennie ktoś przychodzi z "wrzutką" z innych systemów "bo trzeba PILNIE poprawić!!"
6. Zbliża się koniec czasu na analizę, a chłopaki opierdzielili 30-50% (no czasami też 40% się trafi ;p), więc pospiesznie opierdzielają resztę.
7. Pełen entuzjazmu szef/klient, dowiaduje się że jest debilem, a połowa założeń jest nie do spełnienia, ale oczywiście klient/szef wie wszystko lepiej i każe Ci robić wg bezsensownych założeń tak czy siak.
8. Nie ma SCRUM, nie ma sprintów, nie ma testów bo nie ma na nie czasu - zamiast tego PM co chwile dowiaduje się ze ten czy inny murzyn z teamu , zostaje oddelegowany do innych SUPER WAŻNYCH projektów.
9. Nagle okazuje się że szef/klient w środku projektu zmienia koncepcję kluczowej funkcjonalności przez co wszystko się zaczyna pier****ć, ale co tam - jesteśmy ekspertami więc damy radę ;]
10. PM próbuje przekonać szefa żeby dał mu jeszcze miesiąc a projekt będzie jako tako skończony - na co słyszy buczenie/wyzwiska/albo teks że w umowie są kary za spóźnienie i że "macie skończyć na czas - nie ważne jak".
11. Jakby tego było mało okazuje się że pattern który na kartce wyglądał super i sprawdził się w 10 innych projektach, w tym jest kompletną klapą, przez co trzeba poświęcać dodatkowy czas na optymalizację.
itd.itp.etc.
No i nastaje dzień wydania, program zamiast super softu jest super gównem - wiedzą to wszyscy, ale zgodnie z tym:
http://img1.demotywatoryfb.pl//uploads/201004/1271183408_by_arcymagcienia_600.jpg
Robią tylko ładne uśmieszki i pija szampana z szefem czy klientem ;]
Za miesiąc okazuje się że jednak nie o to klientowi chodziło, więc zaczyna się łatanie dopiero co napisanego (zwalonego) softu, nowa umowa, wkurwieni programiści którzy nie chcą przy tym crapie siedzieć itd.
W większości firm powyższy "pattern" obowiązuje w mniejszym lub większym stopniu, a potem dziwota że robi się kupę nie soft.
Ponad to - fajnie się pisze że na etapie analizy coś się powinno wyłapać, tylko konia z rzędem temu kto jest taki dobry że nawet przy pełnej analizie, przy kilkuset funkcjonalnościach zawsze wszystko logicznie obmyśli - zwłaszcza pod naciskiem czasowym. Analitycy potrafiący takie rzeczy zarabiają krocie i są na rynku w deficycie. Do tego wszystkiego dochodzą takie kwiatuszki jak bardzo niejasne wymagania większości projektów, w przypadku sklepów i CMS'ów - zmiany w nich wprowadzane pomiędzy wersjami, które rozwalają kompatybilność wsteczną, wielka niechęć szefostwa różnych firm do pozbywania się starego softu mimo że nie jest wspierany itd. Tematy można mnożyć w nieskończoność.
Właśnie dlatego nie ma czegoś takiego jak "prosta zmiana", chyba że Ci to potwierdzi programista który pisał dany soft.
Ponad to powyżej, jest jeszcze nacisk na rozwijanie starego, zwalonego softu zamiast przepisać na nowo ale dobrze - dopiero jak coś seryjnie pierdyknie, to się szefostwo budzi.Bo przecież oprogramowanie powstaje nie dla satysfakcji autorów, tylko po to, żeby ktoś ich używał, i żeby ułatwiały taką czy inną pracę.[/quote]
BARDZO BŁĘDNIE zakładasz że klient nie jest debilem i WIE CO CHCE :P jakbyś zobaczył rozmowę analityka z klientem to byś niezłe oczy robił :) . to zwykle wygląda tak że klient wie że np. chciałby samochód, ale już nie ma pojęcia jaki kolor, silnik, kształt i inne parametry, trzeba to z nich wyduszać. A i tak potem dowiesz się że "Nie ten kolor, co? Nieee wcale nie tak się umawialiśmy!" itd ;]
I nawet jak piszesz soft pod siebie, to nie jest tak różowo bo zwykle osoby które mają tego używać robią wrzutki od siebie - wrzutki które zwykle potrafią więcej zepsuć niż naprawić, ale weź to wytłumacz szefowi dla którego to jest "super funkcjonalność!" ;]
Oczywiście zdarzają się *ujowi programiści - jak też młodzi programiści (samemu do tych drugich - jak myślę - należę) którzy po prostu musza się uczyć na błędach - innej opcji nie ma. Dopiero jak mamy za sobą 5 czy więcej latek i kilka projektów, to zaczyna się zabawa i grubsza kasa ;]
Mam nadzieję że trochę sytuacje rozjaśniłem.
Bottom line - zwykle winni są ci wyżej, a nie murzyni klepiący kod ;]
Pozdrawiam.Ostatnio edytowany przez Huk (2014-04-09 18:23:09)
Offline
@Huk
Piszesz program?
Najpierw chyba trzeba ustalić, co ten program dokładnie ma robić,
w jakim zakresie, i spisać te założenia na wołowej skórze, z przecinkami.
Potem podzielić robotę na etapy, i kodzić funkcję po funkcji, moduł po module.
Wziąłem na tapetę OscGT, kawał czasu temu miałem pecha na nim pracować, ciekawe, czy wreszcie poprawili te wszystkie niedoróbki, które ja znam z czasu, kiedy się tym zajmowałem.
Jak założenia są kiepskie, niekompletne, albo z doopy wzięte, to najlepszy język programowania i najlepsi programiści nic tu nie pomogą.
A zauważyłem, że Polsce największe problemy są nie tyle z kodem,
ile z precyzyjnym rozpoznaniem zróżnicowanych potrzeb rynkowych.
Nawet pisząc program na zamówienie, dla jednego pacjenta, trzeba najpierw dokładnie przepracować założenia z klientem, zanim w ogóle zacznie się projektować aplikację.
Nie ma na świecie 2 jednakowych ludzi, i nie ma dwóch jednakowych firm, dlatego programy muszą mieć dużą elastyczność, czasem realizowaną przez opcje i możliwości konfiguracyjne, czasem przez wtyczki, moduły i rozszerzenia.
W Polskich firmach widać z tym często kosmiczny problem.
Faktem jest, że w sofcie zagranicznym widzę głównie światowe korpo,
które mają tony gotówki, i przetestowały dany soft na swoim własnym podwórku, w Polsce to są najczęściej programy dostosowane do polskiej specyfiki, głównie prawnej i fiskalnej, oraz robione na zamówienie strony i sklepy internetowe.
Co nie zmienia faktu, że zrozumienie potrzeb rynkowych kuleje dość mocno u naszych producentów softu B2B.
Np czy zauważyłeś, jaki straszny problem stwarza użycie bazy danych w polskich programach?
A przecież są dwie opcje.
Możesz komendy do bazy danych dla MSSQL wpisać nie w kodzie, ale w zmiennych wczytywanych z biblioteki dołączonej do programu.
Wtedy dodanie obsługi np Firebirda, czy Postgresa, to kwestia dodania kolejnego liba, a w programie opcja wyboru typu bazy.
Wiec dlaczego jest taki kosmiczny problem, żeby jakiś program korzystający z MSSQL poszedł z OracleDB zamiast MSSQL?
Albo z Postgresem?
Prawda jest taka, że jak założenia kiepskie, to program kiepski, choćby pod względem kodu był idealny.
BARDZO BŁĘDNIE zakładasz że klient nie jest debilem i WIE CO CHCE :P jakbyś zobaczył rozmowę analityka z klientem to byś niezłe oczy robił :) . to zwykle wygląda tak że klient wie że np. chciałby samochód, ale już nie ma pojęcia jaki kolor, silnik, kształt i inne parametry, trzeba to z nich wyduszać. A i tak potem dowiesz się że "Nie ten kolor, co? Nieee wcale nie tak się umawialiśmy!" itd ;][/quote]
BARDZO BŁĘDNIE zakładasz, ze to jest specyfika jednej branży.
Sprzedawałem kiedyś meble biurowe, żebyś widział, jak potrafią tam wydziwiać klienci, i jakie czasami cyrki wychodzą, to być się bardzo zdziwił.
Co prawda nie każdy się tak wpieprzył, jak mój kolega, który negocjując spore zamówienie pozwolił, żeby panie w biurze namyśliły się co do koloru, i zostawił im próbnik tkanin, po czym telefonicznie usłyszał, że krzesła mają być szafirowe, tylko mu się ze szmaragdami pojebało, i zamiast krzeseł niebieskich, zamówił zielone.
Wymiana tapicerki w 180 fotelach biurowych, to potem była bycza zabawa, która kosztowała u producenta tylko 50 zł od krzesła...
W każdym razie jak cokolwiek sprzedajesz, to przygotuj się na to,
co jeden klient, to inne wymagania, i trzeba cholernego sprytu, żeby dobrze wyczaić, o co klientowi chodzi.
Jak nie wierzysz, to spróbuj sprzedawać choćby kuchnie na wymiar albo szafy wnękowe.
Albo spróbuj sprzedawać reklamy w gazecie, tam jest często jeszcze lepsza jazda z klientami, ale przynajmniej ryzyko mniejsze.Ostatnio edytowany przez Jacekalex (2014-04-09 19:13:27)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
@ tajwan Nie! Kto pyta nie błądzi! Jest kompletnie odwrotnie jak piszesz!
Swoją drogą, w tej chwili przeczysz samemu sobie.
Offline
@Jacekalex:
Piszesz program?
Najpierw chyba trzeba ustalić, co ten program dokładnie ma robić,
w jakim zakresie, i spisać te założenia na wołowej skórze, z przecinkami.[/quote]
Łatwo się mówi "spisać założenia", przez ostatni rok robiłem pewien soft do pozycjonowania. Założenia były niby spisane (nie przeze mnie), klepnięte itd. Tylko jak zacząłeś je czytać się okazywało że jest od cholery dziur i przypadków które na pierwszy rzut oka ciężko dostrzec. Do tego później okazało się że Google wprowadziło takie zmiany w API że część założeń można sobie było wsadzić w miękkie zakończenie kręgosłupa ;]
Teraz z kolei robię inny projekt i mam założenie że klienta aplikacji mam rozliczać pod koniec miesiąca, czyli jak ktoś sprytny to sobie będzie co miesiąc zakładał nowe konto i w ten sposób omijał płatności - czy to błąd czy nie? Czy powinienem wymusić przedpłatę czy nie? Jeden powie że tak, inny że nie - a realnie zależy to od założeń biznesowych i nie ma jasnej odpowiedzi (przedpłata spowoduje że mniej osób się będzie rejestrować).
To są najprostsze przypadki, jak w starej firmie robiłem sofcik którego księga wymagań miała wspólnie... 500 stron, to wychodziły SETKI niedomówień, mimo że projekt był analizowane przez doświadczonego analityka przez kilka miesięcy!! Dodaj do tego naciski jakie podałem w pierwszym poście i zastanów się jak to wyglądało.
Jak masz łeb na karku i myślisz że podczas analizy wszystko przewidzisz to składaj papierki na analityka i sruu ;] duża kasa czeka! ;]BARDZO BŁĘDNIE zakładasz, ze to jest specyfika jednej branży.[/quote]
Ale ja tak nie zakładam! Wiem że to się tyczy wszystkich "klientów", tylko zwykle kasa inna.
EDIT:Np czy zauważyłeś, jaki straszny problem stwarza użycie bazy danych w polskich programach?
A przecież są dwie opcje.
Możesz komendy do bazy danych dla MSSQL wpisać nie w kodzie, ale w zmiennych wczytywanych z biblioteki dołączonej do programu.
Wtedy dodanie obsługi np Firebirda, czy Postgresa, to kwestia dodania kolejnego liba, a w programie opcja wyboru typu bazy.
Wiec dlaczego jest taki kosmiczny problem, żeby jakiś program korzystający z MSSQL poszedł z OracleDB zamiast MSSQL?
Albo z Postgresem?[/quote]
Serio? Słyszałeś o czymś takim jak funkcje bazodanowe, procedury składowane, triggery czy nawet typy danych obsługiwane przez poszczególne bazy?
Funkcje i procedury zwykle są database specific - inne są dla Oracle, nieco inne dla MySQL (przynajmniej przed przejęciem przez Oracle były inne), jeszcze inne dla SQL Server itd. Do tego każda baz ma swoje własne wbudowane metody które nie raz ratują dupsko podczas pobierania danych ale są specyficzne dla producenta, no i najważniejsze - różnice w typach. W SQL Server Nnvarchar(max) trzyma znacznie więcej danych niż MySQL'owy odpowiednik (zakładam że nie używamy pola BLOB czy TEXT), pola daty mogą mieć różną precyzję, pola blob'owe różną pojemność (lub nie być obsługiwane), część pól danych w ogóle istnieje tylko w jednej a nie istnieje w drugiej bazie lub nie mapuje się bezpośrednio.
Do tego jest jeszcze Transact SQL i PL/SQL (i pewnie inne), czyli bazodanowe języki programowania które też są database specific - powodzenia życzę w przenoszeniu takiej bazy z jednej na drugą ;] To co piszesz ma zastosowanie tylko przy prostych selectach bez obrabiania danych - a wierz mi bądź nie, aplikacje bardziej złożone niż sklep, są "trochę" bardziej skomplikowane i różne kwiatki wykorzystują. Alternatywa to ORM+obrabianie w kodzie co jest OK o ile nie mamy ogromnych ilości danych.
Pozdrawiam.Ostatnio edytowany przez Huk (2014-04-09 21:19:45)
Offline
[b]Red_Fedora[/b] Możesz zadać każde pytanie, ale nie na każde usłyszysz odpowiedź...a pytanie z serii "Co robić w życiu?" jest właśnie klasycznym pytaniem bez jednoznacznej odpowiedzi i trzeba samemu sobie na nie odpowiedzieć;)...
Ostatnio edytowany przez menel (2014-04-09 19:32:57)
Offline
[quote=menel][b]Red_Fedora[/b] Możesz zadać każde pytanie, ale nie na każde usłyszysz odpowiedź...a pytanie z serii "Co robić w życiu?" jest właśnie klasycznym pytaniem bez odpowiedzi i trzeba samemu sobie na nie odpowiedzieć;)...[/quote]
Ja bym raczej powiedział, że odpowiedź poznać możemy tylko my sami, ale kontekst wypowiedzi rozumiem.
Offline
https://www.youtube.com/watch?v=vFRFmBE736M ;)
Offline
[quote=torrentow]Panie [b]lis6502[/b], zostań perl haxxorem lub specjalistą do walki z pythonami (czyt. programistą pythona/perla).[/quote]
Nawiązując do tematu chciałbym zapytać czy opłaca się teraz jeszcze w ogóle zaczynać nauki od Perla? Czy bardziej przyszłościowa jest nauka Pythona?
Offline
W Polsce Python ale co do tendencji na zachodzie nie byłbym taki pewny
Offline
@Huk
Zgoda z tymi bazami w przypadku, kiedy robisz jakiś mega projekt dla wielkiej instytucji.
Ale pokaż mi taką trudność w bazie programu dla małej lub średniej firmy, coś typie Insertu albo Lefthanda, i porównaj sobie ich programy z możliwościami OpenERP, które działa na Postgresie.
Czasami po prostu użycie jakichś złożonych, charakterystycznych i dostępnych wyłącznie dla jednego silnika bazodanowego procedur, jest czystą przesadą, i strzelaniem z armaty do wróbla.
I nie próbuj mi tu inputować, ze każdy język SQl co jest coś innego, bo bez kosmicznego problemu można tak opracować zapytania do baz, żeby podobnie działały na wszystkich albo większości serwerów.
Jest na to nawet gotowy sposób, wystarczy w tworzeniu zapytań przestrzegać takiej składni, jaką akceptuje mechanizm ODBC:SQL,
czy po prostu trzymać się składni ANSI:SQL.
Zawsze mnie zastanawiało, dlaczego z dowolnego sklepu internetowego można wydrukować każdą fakturę prosto ze skrypta php, który wyciąga dane do faktury z bazy Mysql, i do dowolnego programu księgowo-magazynowego muszę mieć MSSQL, albo czasami Firebirda-1.5 - choć Letfthand chodzi też z Firebirdem aktualnym - 2.5 - o czym u producenta chyba pojęcia nie mają ;).
RaksSQL nie sprawdzałem, ale pewnie też chodzi na nowszej wersji.
Cały czas patrzę na to, co się składa na ofertę dla MiŚia czyli małych i średnich przedsiębiorstw (co najmniej 75% rynku na różne programy), a Ty z drugiej strony wyjeżdżasz z taką niezwykłą złożonością, jakbyś bazę danych ZUSu albo PKO robił.
Ja w takim np RewizorzeGT w ogóle nie widzę, gdzie tam jest miejsce na jakiegoś niezwykle złożonego języka SQL, charakterystycznego wyłącznie dla MSSQL.
A z drugiej strony, jak takie malutkie serwisy internetowe, jak Wiki, FB czy Google spokojnie działają na Mysql/Mariadb, to faktycznie Mysql ani PostgreSQL nie może się nadawać do takiej skomplikowanej i złożonej sprawy, jak książka przychodów i rozchodów albo magazyn, czy plan kont niedużej spółki z oo.
To akurat "rozumiem". :D
W niektórych przypadkach widzę u różnych programistów praktycznie religijne przywiązanie do takiego czy innego rozwiązania, za które chyba czasami są w stanie życie oddać.
Czasem myślę, że po prostu korpoidy tak wspaniale piszą o super możliwościach MSSQL i ORACLE, i takie cudowne szkolenia socjotechniczno-religijne robią, że nikt się nie zastanawia, czy da się zrobić coś, co chodzi na różnych serwerach bazodanowych.
Dla M$ czy Oracle zrobienie z programistów swoich darmowych akwizytorów jest szczytem marzeń i arcydziełem marketingowym.
Dlatego takie złożoności i super procedury wymyślają, żeby uwiązać programistę jak psa do swoich cudownych rozwiązań bazodanowych.
Wystarczy zobaczyć, co RED-HAT zrobił ze zwykłego systemu ACL, jakim jest SELINUX, żeby wiedzieć, jak działa ten marketoidalny mechanizm komplikowania stosunkowo prostych rzeczy.
Albo porównać dokumentację FreeBSD i dokumentację bazującego na FreeBSD JunosOS, działającego w urządzeniach Juniper.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2014-04-11 09:33:17)
Offline
Wow, trochę mi zajęło to realne życie, a za ten czas jaka burza :)
Za wszystkie sugestie (Tobie [b]tajwan[/b] też :)) dziękuję, po przeczytaniu ułożyłem sobie wszystko w głowie i uzyskałem satysfakcjonującą mnie odpowiedź ;)
Przyznam, że nigdy nie widziałem programowania w ten sposób, w jaki przedstawiliście go tutaj, ale też pracuję w korporacji i widzę że pewne schematy się powtarzają. Wychodzi na to, że najspokojniejsza praca u pana Heńka, im wyżej mierzyć finansowo i 'karierowo' tym więcej kawy trzeba pić z rana i nerwosolu po pracy.
Z mojej strony raczej EOT, dziękuję Ci jeszcze raz DUG'u za tą bandę psychopatów z którą dane mi obcować :)
Offline
Niestety tak wygląda dzien powszedi programiasty. Nie chciałbym nikogo urazić ale programista to raczej typ uzytkownika nudnego (oczywiście wg. całej masy ludzi dookoła nas)
bardzo znerwicowanego, wycofanego z realnego życia.
Oczywiście nie dam sobie ręki uciąć że dotyczy to wszystkich programistów ale ogólny trend można nakreślić. Oczywiście żeby nikt kto skrobnął średni skrypt nie poczuł się w tej grupie. Mowa o bardzo zaaawansowanych projektach.
@Jacekalex
Nie masz poszanowania do czyjegoś kodu, wszystkich krytykujesz jakie to partacke oprogramowanie robią i jakie to łatwe natomiast w innym wątku na forum o openssl piszesz:
Tak przy okazji, znacie jakieś automatyczne skrypty, które bez specjalnego angażowania administratora, automatycznie wygenerują nowy
RootCA i certy dla poszczególnych usług?
Zamierzam sobie coś podobnego skołować albo wyrzeźbić, i zastanawiam się, czy użyć expecta, czy kombinować z perlem.
W standardowych openssl, ca.pl trzeba co chwila tłuc hasła, potwierdzać informacje, potem na jednej maszynie jest pół godziny pieprzenia.[/quote]
Proponowałbym trochę pokory i właśnie spróbowania napisania coś większego to wtedy być może zrozumiałbyś co miał na myśli @Huk.
Offline
E tam to bardzo ciekawa i nie koniecznie stresująca praca. Osobiście nie narzekam. Zdarzają się sytuację stresowe, ale na szczęście rzadko. Zależnie od firmy, trzeba trochę popracować tu i tam zanim się coś dobrego trafi, jak nam się nie podoba zmieniamy. Pełna wolność, jak już się ma trochę doświadczenia to można zawsze coś innego znaleźć i strachu o robotę nie ma. Kasa dobra, większość czasu siedzisz w spokoju i dłubiesz swoje. Z mojej perspektywy dobra robota. Aby z siedzeniem po godzinach nie przesadzać bo na zdrowie wpływa.
Offline
@lis6502:
Jeżeli na podstawie moich postów takie wnioski wyciągnąłeś to bardzo mylni niestety. Nie ma prostej zależności (jak to w mediach przedstawiając co jakiś czas) mała firma => luz, korpo => zapierdalana od świtu do nowego ranka, albo vice versa.
Możesz trafić do firmy dużej i dobrego zespołu gdzie masz dupochron w osobie dobrego PM'a (który w razie czego przypi*****i klientowi w zakuty ryj... yyy no ok... tutaj już się rozmarzyłem ;p, powiedzmy że "przekona" klienta/szefa żeby dał jeszcze trochę czasu na projekt), jak i do małej firmy w której będziesz jednocześnie "adminem, programistą, webmasterem, sprzątaczem i "parzycielem" kawy", który co chwilę słyszy zjebkę od szefa że to czy tamto nie zrobione.
Natomiast w większości przypadków, trzeba się liczyć z potencjalnymi nadgodzinami (które w Polsce często są "za uścisk prezesa" :/ ), zwłaszcza pod koniec projektu.
@Jacekalex:
Zgoda z tymi bazami w przypadku, kiedy robisz jakiś mega projekt dla wielkiej instytucji.
[...]
Cały czas patrzę na to, co się składa na ofertę dla MiŚia czyli małych i średnich przedsiębiorstw (co najmniej 75% rynku na różne programy), a Ty z drugiej strony wyjeżdżasz z taką niezwykłą złożonością, jakbyś bazę danych ZUSu albo PKO robił.[/quote]
Pierwszy "poważny" projekt jaki w życiu robiłem, dla poprzedniej firmy, nie był wcale super drogi, kupujący też nie był ZUS'em ale jednak w bazie sporo rzeczy się działo, na tyle sporo że chłopaki musieli ostro się spiąć i pisać procedury składowane w celach optymalizacyjnych, żeby zamiast czekać 20 sekund na znalezienie wpisu, czekać 5.
Jasne, jak mówimy o firmie co zatrudnia 20 osób to i na M$ Access czy Libre Base mogą jechać, ale twierdzenie że "wystarczy" to czy tamto wydzielić i wszystko będzie przenośne i fajne jest niestety bardzo złudne... a potem wychodzą potworki które są "niby" kompatybilne, ale jednak nie do końca.
Z mojego doświadczenia wynika że najgorsze są właśnie małe, subtelne różnice, które zwykle wychodzą w praniu. Przykładowo w Sql Server nie ma ograniczenia (albo jest bardzo duże) na długość nazwy constraina, z kolei w MySQL jest max 64 znaki - przez to dla bazy na której pracowałem nie działał auto-generator z ORM mimo że na Sql Server śmiga bez problemu. Pierdoła, ale jedna z wielu. Potem wyszło że max długość tekstu jest znacząco różna (pierdoła jak mamy pustą bazę, gorzej jak są dane które się na to łapią), potem że precyzja DateTime dla Sql Sever jest inna niż dla MySQL itd. Jakbym chciał to zrobić realnie (porządnie) to dla każdej bazy "niby" wspieranej, powinienem zbudować niezłe testy zgodności, a to zajmuje czas i kaskę, dlatego zwykle wsparcie oficjalne jest pod jedną bazę, a że "na chama" pójdzie z innymi to inna bajka ;]Czasami po prostu użycie jakichś złożonych, charakterystycznych i dostępnych wyłącznie dla jednego silnika bazodanowego procedur, jest czystą przesadą, i strzelaniem z armaty do wróbla.
I nie próbuj mi tu inputować, ze każdy język SQl co jest coś innego, bo bez kosmicznego problemu można tak opracować zapytania do baz, żeby podobnie działały na wszystkich albo większości serwerów.
Jest na to nawet gotowy sposób, wystarczy w tworzeniu zapytań przestrzegać takiej składni, jaką akceptuje mechanizm ODBC:SQL,
czy po prostu trzymać się składni ANSI:SQL.[/quote]
Zakładając że nie będziesz korzystać z metod producenckich wbudowanych w poszczególne bazy to pewnie że się da - tylko ja się pytam na jaki *uj się tak męczyć? Po to (min.) wynaleziono ORM'y, po to Oracle i M$ implementuje PL.SQL/TransactSQL w swoich bazach żeby móc na nich PROGRAMOWAĆ bez użycia narzędzi zewnętrznych. Zrób test - weź sobie dowolną (bardziej złożoną) bazę MySQL, wygeneruj skrypt do tworzenia tabel na podstawie tej bazy a następnie zapuść na Postrage, Oracle, DB2, SqlServer, Sqlite i podaj na ilu bez jakichkolwiek zmian się odtworzy.
Kurde na rynku jest 5 głównych przeglądarek internetowych - niby wszystkie (może do niedawna poza IE) trzymają się standardu HTML, a jednak dla każdej trzeba robić hacki żeby niektóre rzeczy działały tak samo, w przypadku SQL jest podobnie.Zawsze mnie zastanawiało, dlaczego z dowolnego sklepu internetowego można wydrukować każdą fakturę prosto ze skrypta php, który wyciąga dane do faktury z bazy Mysql, i do dowolnego programu księgowo-magazynowego muszę mieć MSSQL, albo czasami Firebirda-1.5 - choć Letfthand chodzi też z Firebirdem aktualnym - 2.5 - o czym u producenta chyba pojęcia nie mają ;).
RaksSQL nie sprawdzałem, ale pewnie też chodzi na nowszej wersji.[/quote]
Nikt Ci nie będzie dla zabawy pisał obsługi wszystkich baz które są na rynku, gdyż ten kod trzeba [b]przetestować[/b], [b]utrzymać[/b] i [b]zapewnić wsparcie[/b] a to kosztuje najwięcej kasy i czasu, nie wiem też po jaką cholerę ktoś miałby to robić? Inaczej się pisze soft OS, inaczej soft na sprzedaż. Łatwo jest głosić frazesy jak się nigdy nic realnego nie pisało, z boczku wszystko się wydaje łatwe...A z drugiej strony, jak takie malutkie serwisy internetowe, jak Wiki, FB czy Google spokojnie działają na Mysql/Mariadb, to faktycznie Mysql ani PostgreSQL nie może się nadawać do takiej skomplikowanej i złożonej sprawy, jak książka przychodów i rozchodów albo magazyn, czy plan kont niedużej spółki z oo.
To akurat "rozumiem". :D[/quote]
Co powyższe zdanie ma wspólnego z czymkolwiek z tego wątku? Czy ja (albo ktoś inny) napisałem że MySQL/MariaSQL/Postrage/Sqlite czy cokolwiek innego jest "bee"? Mam takie "dziwne" wrażenie że dla Ciebie jak coś nie jest OpenSource to jest "bee", a ci co tego używają to już w ogóle. Do tego wszystko jest prościutkie do analizy, szybkie do napisania i łatwe do przetestowania, a jak ktoś twierdzi (na podstawie doświadczenia - o zgrozo!) inaczej to zapewne WSI albo coś w ten deseń... Skoro to takie wszystko prościutkie, to na co czekasz?! Wielka kasa czeka!! Złóż CV już dzisiaj.Czasem myślę, że po prostu korpoidy tak wspaniale piszą o super możliwościach MSSQL i ORACLE, i takie cudowne szkolenia socjotechniczno-religijne robią, że nikt się nie zastanawia, czy da się zrobić coś, co chodzi na różnych serwerach bazodanowych.[/quote]
No... tak samo jak Ty wychwalają OS'we bazy ;] widać religia jest zaraźliwa. Na uczelni miałem takiego wykładowce - podejście, praktycznie słowo w słowo, jak Twoje - tylko przy chwaleniu zamiast MySQL było SQL Server, a przy ganieniu odwrotnie - C++ to był CRAP, C# to było CUDO, Linux to był CRAP, Windos to było CUDO itd. Jak dla mnie takie skrajne podejście w każdym wypadku jest szkodliwe.
I na koniec - już Ci to pisałem innym wątku, napiszę raz jeszcze -> ludzie idą tam gdzie [b]KASA[/b], o dziwo w projektach OS kasy jest mało (a przynajmniej mniej niż w CS) - tyle w temacie.
@kamikaze:
To chyba zależy od firmy i szefostwa - jak gadam z ludźmi mających znajomych w w pewnej Polskiej korpo z Kraka która to ma nazwę zaczynającą się jak pewien stary port w kompie to bym nie chciał tak pracować - ciągłe opierdzielanie przez PM'a że coś nie zrobione, opierdzielanie jak przy szefostwie rzucisz fajny pomysł (bo PM wie że może robotę stracić a Ty w jego miejsce - taka polityka w firmie ponoć panuje), ciągłe dokładanie obowiązków, zatrudnianie studentów za najniższa krajową itd. W mojej starej firmie było fajnie do czasu aż się projekt u klienta nie zaczął sypać, wtedy się "fajność" szybko skończyła ;]
Pozdrawiam.Ostatnio edytowany przez Huk (2014-04-11 19:53:19)
Offline
#47 2014-04-11 20:05:53
kamikaze - Administrator
- kamikaze
- Administrator
- Zarejestrowany: 2004-04-16
Re: Co robić w życiu?
Znam jednego bywalca forum co tam pracuje już parę lat i tylko trochę narzeka ;] Nie no jak coś to trzeba szukać gdzie indziej. Płacenie studentom najniższej krajowej za możliwość nauczenia się czegoś czego nie mieli okazji poznać na studiach to jeszcze nic strasznego. Takie płatne praktyki, jakoś trzeba zacząć i nauczyć się fachu.
Offline
#48 2014-04-11 20:46:29
Jacekalex - Podobno człowiek...;)
- Jacekalex
- Podobno człowiek...;)
- Skąd: /dev/urandom
- Zarejestrowany: 2008-01-07
Re: Co robić w życiu?
@HUK
Czy ja się upieram wyłącznie na MySQL?
Czy może widzę jakąś przesadę z takim elementem, jak precyzja czasu.
Mysql nie jest zbyt zgodny z ANSI:SQL, dlatego się nad nim nie upieram, zastanawiam się tylko, czy wszystkie Twoje argumenty przeciw MySQL obowiązują także wobec Postgresa?
Firebird też nie jest jakąś tragedią, choć wsparcia i dokumentacji do niego jest znacznie mniej, niż do Mysqla i Postgresa.
Z resztą nawet prosta różnica między MSSQL i Oracle - Oracle nie wymusza pakowania się w Win 2003/2008 Serwer, przy Oracle mam wybór, na jakiej platformie ma to chodzić.
Mnie chodzi tylko i wyłącznie o wolność wyboru systemu.
Uważam też, że standardy ANSI:SQL, czy ISO dla języka SQL nie powstały po to, żeby komuś utrudniać życie, tylko po to, żeby ustandaryzować język SQL, żeby był zgodny z różnymi (nie wszystkimi naturalnie) systemami bazodanowymi.
Widzisz dwie skrajności - MSSQL z jednej, Mysql z drugiej.
Mysql nie jest doskonały dla każdego zastosowania, bo optymalizując jego szybkość do działania z aplikacjami internetowymi, tam autorzy zrobili parę kompromisów, które mocno skomplikowały jego zgodność ze standardami ANSI:SQL.
Teraz powstała MariaDB, która się dość ostro rozwija, i część braków Mysqla łata, z jednej strony jest replikacja Master-Master, z innej mechanizm XtraDB, ale też nie oznacza, że nadaję się zawsze i do wszystkiego.
Chociaż Wiki i Google obecnie migrują na MariaDB z takimi zbiorami danych, że boję się myśleć, jak oni to konfigurują.
Facebook, jak mu coś nie pasowało w Mysql, to rozwiązał problem tak:
https://launchpad.net/mysqlatfacebook/51
Oczywiście nie twierdzę, że każdy ma pchać się w Mysqla, i najwyżej pisać do niego własne latki, bo to nie jest możliwe w malej skali.
Ale jak coś strasznie zawadza, to lista mailingowa Developerów zawsze się gdzieś znajdzie.
Natomiast sprawdź na koncie, czy płacą Ci za sprzedawanie SQL-Serwera czy Oracle, bo do tego się sprowadza przywiązanie do cudowności korporacyjnego systemu bazodanowego. :DOstatnio edytowany przez Jacekalex (2014-04-11 20:50:34)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)Offline
#49 2014-04-11 21:59:33
Huk - Smoleńsk BULWA!
- Huk
- Smoleńsk BULWA!
- Zarejestrowany: 2006-11-08
Re: Co robić w życiu?
@Jacekalex:
Czy ja się upieram wyłącznie na MySQL?
Czy może widzę jakąś przesadę z takim elementem, jak precyzja czasu.[/quote]
Najpierw piszesz zdanie:Możesz komendy do bazy danych dla MSSQL wpisać nie w kodzie, ale w zmiennych wczytywanych z biblioteki dołączonej do programu.
Wtedy dodanie obsługi np Firebirda, czy Postgresa, to kwestia dodania kolejnego liba, a w programie opcja wyboru typu bazy.
Wiec dlaczego jest taki kosmiczny problem, żeby jakiś program korzystający z MSSQL poszedł z OracleDB zamiast MSSQL?
Albo z Postgresem?[/quote]
Na które ja podaje przykładowe możliwe problemy - czasami wystąpią czasami nie, ale są REALNE i nie tylko w wielkich bazach trzeba je brać pod uwagę. Jak dla Ciebie różnice w precyzji zmiennych przechowywanych przez bazę to jest coś bez znaczenia to nie wiem nawet jak to skomentować. Profesjonalna firma (a rozumiem że chciałbyś aby takie robiły soft), jak napisze "Wspieramy Sql Server, MySql, Oracle oraz Sqlite", to oznacza że są porobione testy do każdej z tych baz, jakiś programista + bazodanowiec, siedzieli nad KAŻDĄ z tych baz, sprawdzając sposób w jaki działa aplikacja i czy nie będzie różnic w zwracanych danych zapisanych do bazy X, Y czy Z. Z wypowiedzi wnioskuję że olałbyś takie sprawdzanie w przypadku "nieskomplikowanych programów dla małych firm", dając po prostu zgodne zapytania SQL. Opcje są dwie:
-dobrze myślę - wtedy z łaski swojej przestań narzekać jak coś się sypie, bo takie "dobre praktyki", właśnie najczęściej prowadzą do subtelnych błędów które cholernie trudno potem wyłapać. Ostatni błąd w OpenSSL, jest bardzo dobrym przykładem, jak z pozoru bzdety, mogą powodować katastrofalne skutki.
-źle myślę i wcale do tego nie namawiasz - w takim wypadku widać nie masz pojęcia ile kosztuje utrzymanie kilku gałęzi kodu który jest dla różnych baz, zwłaszcza jak masz podział używalności w stylu: MySQL: 90%, Postrage: 5%, Sql Server: 3%, Sqlite: 2%, DB2: 1% . A teraz idź i uzasadnij szefostwu zalety trzymania szpeca/szpeców znających dobrze interfejsy wszystkich baz, bo kilku klientów z tego korzysta - powodzenia życzę. Dodaj do tego że każdy nowy ficzer który będzie korzystał z baz, będzie trzeba przetestować na zgodność ze wszystkimi wspieranymi bazami i robi się nieciekawie - trzeba patrzeć długoterminowo.Mysql nie jest zbyt zgodny z ANSI:SQL, dlatego się nad nim nie upieram, zastanawiam się tylko, czy wszystkie Twoje argumenty przeciw MySQL obowiązują także wobec Postgresa?
Firebird też nie jest jakąś tragedią, choć wsparcia i dokumentacji do niego jest znacznie mniej, niż do Mysqla i Postgresa.[/quote]
Jakie MOJE argumenty PRZECIW MySQL? Zacytuj gdzie ja napisałem coś przeciw MySQL - bo albo mnie już pamięć zawodzi, albo pod moją nieobecność mój kot mi konto DUG'owe hakuje (hmmm... to by wyjaśniało to i owo... bo to wredna bestia...).
Cała dyskusja (a raczej offtop do dyskusji) zaczął się odę Twojego stwierdzenia że łatwo pisać kod, potem że można łatwo pisać uniwersalnego SQL'a, który na każdej bazie się wykona. To że ja - czy ktokolwiek, kto pisał coś bardziej złożonego - twierdzę że nie jest to taka prosta sprawa, NIE ZNACZY ŻE JESTEM przeciwko nikomu, ani ZA NIKIM. Nie wiem skąd Ty wyciągasz jakieś dziwne wnioski. Nie wiem też czemuś się uparł na tego nieszczęśliwego SqlServera - chyba wszyscy na tym forum wiemy jaka do tej pory była polityka M$ (a dokładniej polityka byłego CEO od M$, pana Balmer'a): uzależniać, uzależniać, uzależniać. Oni całą soją strategię oparli o wizję: nasz system, nasz język, nasz server SQL, nasz server Http - więc chyba wiadomo że nie jest to przenośne rozwiązanie, natomiast nawet jakby było to i tak większość aplikacji była by pisana pod jeden server, bo jest to po prostu znacznie tańsze. Kurde już dzisiaj tak naprawdę MySQL jest najpopularniejszym rozwiązaniem - czemu więc Ci co robią na nim soft, nie dodają obsług Postrage, Sqlite i innych ;] ?
Z tego co mi wiadomo, MySQL w wielu zastosowaniach jest NAJSZYBSZYM serverem bazodanowym - min. stąd jego ogromna popularność, a jakieś braki to ma każdy server jak się go odpowiednio porówna do konkurencji (a jak się dwolnego SQL'a porówna do NoSQL to - wg niektórych - już w ogóle masakra ;] )Natomiast sprawdź na koncie, czy płacą Ci za sprzedawanie SQL-Serwera czy Oracle, bo do tego się sprowadza przywiązanie do cudowności korporacyjnego systemu bazodanowego. :D[/quote]
Nic mi na ten temat nie wiadomo - ale bym się nie obraził. A jak by to były odpowiednio wysokie sumy to mogę reklamować ;] [b]Przy czym jeszcze raz podkreślę - nie uważam żebym gdziekolwiek w tym (czy innym) wątku napisał coś co można uznać za reklamę tego czy innego servera.
[/b]
Pozdrawiam.Offline
#50 2014-04-11 22:07:51
kamikaze - Administrator
- kamikaze
- Administrator
- Zarejestrowany: 2004-04-16
Re: Co robić w życiu?
Nie wiem co wy z tymi bazami za problem, ale mamy te ORM-y przecież. Np. Hibernate dla Javy gdzie mamy jeden kod obsługi dostępu do danych, a zmiana bazy to zwykle kwestia konfiguracji.
Offline
Informacje debugowania
Time (s) Query 0.00016 SET CHARSET latin2 0.00005 SET NAMES latin2 0.00137 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.116.81.255' WHERE u.id=1 0.00068 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.116.81.255', 1732745246) 0.00053 SELECT * FROM punbb_online WHERE logged<1732744946 0.00079 DELETE FROM punbb_online WHERE ident='85.208.96.199' 0.00075 SELECT topic_id FROM punbb_posts WHERE id=262743 0.00006 SELECT id FROM punbb_posts WHERE topic_id=25547 ORDER BY posted 0.00061 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25547 AND t.moved_to IS NULL 0.00008 SELECT search_for, replace_with FROM punbb_censoring 0.01132 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25547 ORDER BY p.id LIMIT 25,25 0.00177 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25547 Total query time: 0.01817 s