Wypowiedzi
-
Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Projekty start-up
-
Janusz dzięki kumam już baze :P
-
I zapytam tak:
jaka jest różnica między inner join a where? man mowi, że tego się używa naprzemiennie
Explain select a select?
PS. to co mam jest szybsze :P
tylko jakie to może mieć wady? i gdzie mogą wystąpić problemy?
I tak php to wrzuca w tablicę :PAdrian Stolarski edytował(a) ten post dnia 08.04.13 o godzinie 00:31 -
Janusz pokaż mi jako sampel jedno z tych zapytań. Ps. są dodane indeksy
już ci to wyrzucam :P
CREATE TABLE `modules_settings`(
`id` INT NOT NULL PRIMARY KEY,
`sitename` VARCHAR ( 255 ) NOT NULL,
`siteurl` VARCHAR( 255 ) NOT NULL,
`siteonline` BOOL NOT NULL,
`templatename` VARCHAR (255) NOT NULL,
`access_level` INT NOT NULL,
UNIQUE INDEX `sitenames`(`sitename`),
UNIQUE INDEX `siteurls`(`siteurl`),
CONSTRAINT `foreign_key_site_access_level` FOREIGN KEY(`access_level`) REFERENCES `access_levels`(`access_level`) ON UPDATE NO ACTION ON DELETE NO ACTION
);
CREATE TABLE `meta_modules`(
`id` INT NOT NULL PRIMARY KEY,
`page_id` INT NOT NULL,
`page_meta_keywords` TEXT NOT NULL,
`page_meta_description` TEXT NOT NULL,
`page_meta_title` TEXT NOT NULL,
CONSTRAINT `foreign_key_module_meta_page_id` FOREIGN KEY(`page_id`) REFERENCES `modules_settings`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION
);
CREATE TABLE `content_modules`(
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`page_id` INT NOT NULL,
`page_title` TEXT NOT NULL,
`page_description` TEXT NOT NULL,
`page_content` TEXT NOT NULL,
CONSTRAINT `foreign_key_module_content_page_id` FOREIGN KEY(`page_id`) REFERENCES `modules_settings`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION
);Adrian Stolarski edytował(a) ten post dnia 08.04.13 o godzinie 00:41 -
Na wstępie:
w obu tabelach, meta_modules i content_modules page_id jest foreign key dla id z tabeli modules_settings. To ma pobierać dokładnie te dane, które ma wypisane. Oto zapytania:
1)
SELECT
meta_modules.page_id,
modules_settings.siteonline
FROM
modules_settings,
meta_modules
WHERE
modules_settings.sitename = 'Login'
AND
modules_settings.id = meta_modules.page_id
AND
modules_settings.siteonline = '1'
;
2)
SELECT
modules_settings.sitename,
modules_settings.siteurl,
modules_settings.templatename,
modules_settings.access_level,
meta_modules.page_meta_keywords,
meta_modules.page_meta_description,
meta_modules.page_meta_title,
content_modules.page_title,
content_modules.page_description,
content_modules.page_content
FROM
modules_settings,
meta_modules,
content_modules
WHERE
modules_settings.sitename = 'Login'
AND
modules_settings.id = meta_modules.page_id
AND
modules_settings.id = content_modules.page_id
AND
content_modules.page_id = '0'
AND
meta_modules.page_id = '0'
LIMIT
1
Jak je można zoptymalizować? Każda z kolumn ma przypisane NOT NULL i nie może być pusta :P
Proszę o wyrozumiałość :PAdrian Stolarski edytował(a) ten post dnia 08.04.13 o godzinie 00:19 -
Chodzi ci o uu? Ile płacisz od odwiedzin? I jaki masz budżet miesięczny? W sumie wszystko co nie dotyczy seo, to powiem ci tak brakuje mi fanpage, twittera etc etc. Jest jeszcze kilkanaście innych sposobów na ruszenie z miejsca. Dogadać się z blogerami, jakiś mądry program partnerski. Pozycja do nie wszystko, ale jak tak chcesz dogonić konkurencje, zlec analizę konkurencji komuś... Ja w sumie olewam SEO w projektach, bardziej się skupiam na innych rzeczach, od ux do marketingu internetowego.
Ps a kto u was się ux zajmuje? To jest okropne.... Adrian Stolarski edytował(a) ten post dnia 07.04.13 o godzinie 19:09 -
Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Projekty start-up
-
Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Projekty start-up
-
Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Projekty start-up
-
Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Projekty start-up
-
Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Projekty start-up
-
Moj skype:
adrian_stolarski
odezwij się na skype dam ci trochę namiarów na nieźle płatne fuchy jak znasz angielski, leżąc możesz wyciągnać 5-6 tysięcy miesięcznie. Ale jak to pójdzie dalej, to już dla mnie będziesz spalony. I jak ktoś spyta mnie o grafika jakiego polecam, powiem otwarcie kogo nie polecam, tyle.
Pewna praca, kontrakt amerykanski, pieniadze zawsze na czas. -
Wojciech J.:
Normalna praca w Agile, założenia sprawdzone przez lata: najlepsze rezultaty przynosi praca samoformujących się zespołów cross-funkcjonalnych.
Adrian S.:
I kłótnie z zespołem :P Ale nie kłótnie i przepychanki personalne, tylko wysoka dyskusja merytoryczna w kwestii rozwiązań.
Przy pierwszym pojawieniu frazy "po co ?" opuszczam "merytoryczną" dyskusję i idę w diabły. Zgorzkniały się zrobiłem przez ostatnie lata :\
Co jest do wszystkiego, to jest do d...., nie licząc programu netcat. Ale taki wordpress np potwierdza ta reguła.Co do UX, jak jeden człowiek może zrobić UX? UX to rozkosz, która trwa i trwa ;) Idealnym sposobem w sprincie na UX jest to, że ktoś musi poświęcić powiedzmy piątek czy sobotę, zaprosić sobie zespół testowy, im większy tym lepiej, [...]
bo o 9 spotkanie projektowe....
Jak to jaki człowiek ? Orkiestra !
Ten co się zajmuje kodowaniem, programowaniem, UX, UI, kontaktem z klientem, helpdeskiem i robieniem zakupów :)Aaaale wymieniony usecase testowania ma spory mankament - zbyt duże odchyły w wynikach.
Nikt nie zrobi UX sam. Bardzo dobrze że są odchyły w wynikach. Czy muszę Cię uczyć UX? Odchyły będą się różnicować ze względu na płeć, wiek, wykształcenie, umiejętności techniczne, a nawet kraj zamieszkania. W normalnym procesie developmentu tworzy się personas od razu po badaniach rynkowych, a potem jak robisz jak należy UX to aktualizujesz persony, żebyś wiedział, dla kogo mniej więcej piszesz soft. A przy okazji grupa testowa pokazuje Ci obszary zmian, wtedy użyj MoSCoW, żeby sprecyzować, które zmiany mają jaki priorytet.
Grupa testowa ? Przez weekend ? W pon. rano jeszcze 0.4 wydmuchasz szefowi prosto w nos ;)
Temat rzeka w sumie, wiec ja wracam do swojej aplikacji i BDD (behaviour driven development) bo Matt ma dla mnie godzinę czasu... ;) -
Wojciech, zawsze wszystko powinno być pieknę i czyste, jeśli chodzi o kod. Każdy błąd architektoniczny się mści okrutnie. Ostatnio łapę się na tym, że kilka godzin dziennie coś tam rysuje, jakieś diagramy, czy sobie pisze USer Stories i od razu do tego BDD. Potem samo napisanie kodu to jakieś 2 godzinki z słuchawkami na uszach i potem znowu flipchart. I kłótnie z zespołem :P Ale nie kłótnie i przepychanki personalne, tylko wysoka dyskusja merytoryczna w kwestii rozwiązań.
Co do UX, jak jeden człowiek może zrobić UX? UX to rozkosz, która trwa i trwa ;) Idealnym sposobem w sprincie na UX jest to, że ktoś musi poświęcić powiedzmy piątek czy sobotę, zaprosić sobie zespół testowy, im większy tym lepiej, uruchomić soft do rejestrowania czynności użytkownika oraz rejestrowania wyrazów twarzy użytkownika, wrzucić kilka user stories dotyczących danej funkcjonalności, kazać to zrobić grupie testowej, potem grupa testowa odpowiada na kilka pytań i potem ktoś to musi sklecić w całość na poniedziałek na rano bo o 9 spotkanie projektowe.... -
LOL. A wiecie o czym się zapomina? Jeżeli człowiek ma jakiś talent, i chce go rozwijać, niech go sobie rozwija. Potem znajduje nisze i zaczyna zarabiać ciężki cash.
Powiem tak, ja już dawno zrezygnowałem z ohydnej pracy na etacie, która nic nie daje. Doradzam, piszę teksty i wdrażam swoje pomysły. Zarabiam dużo powyżej średniej krajowej.
A kiedyś to było kiedyś...
Pracę na etacie wspominam jako niemiłe doświadczenie. Dla przykładu, czasami jest tak, że nie dość że mam darmową wycieczkę do Londynu, Paryża czy NY na koszt zleceniodawcy, to potem sobie przepracuje 2-3 dni nad jakimś problemem z dziedziny bezpieczeństwa czy procesów biznesowych, a potem mogę sobie miesiąc albo dwa odpocząć. I mi się podoba moje życie.
W wolnych chwilach pracuję nad problemami software dla Infosec Institute i zagadnieniami User Experience Design dla Tandem Seven. I może za 10 - 15 lat jak się zestarzeję wrócę na etat... Ale to już nie w Polsce. Myślę, że za 10 - 15 lat może sobie znajdę ciepłą fuchę w formie etatu w Tandem Seven, bo mnie to po prostu bawi. Zabawa z interfejsami użytkowników oraz badania UX są naprawdę bardzo wciągającym tematem. Tak samo jak pisanie testów automatycznych czy automatycznych testów penetracyjnych.
I wypowiadam się, jako przedstawiciel pokolenia Y ;) -
koszmar inzyniera - ogolnodostepne systemy blogowe i frameworki
po co komus do serwisu z ogloszeniami coś co zajmuje 5, 10 czy 20 mb?
po co komus to do bloga?
Ale to sie zaczyna tak:
laik pyta - znacie jakis cms?
wordpress, joomla,...
znacie jakis framework?
yii, zend .... (z czego yii jest swietny)
nie widzialem jeszcze nigdy rozwiazania opartego o darmowy framework/cms ktore jest komercyjne. rozbudowa tego to sie musi snić komus po nocach.... mozna ze wszystkiego zrobic wszystko tylko po co?
dwóch kumatych devow dwa tygodnie picia wodki i serwis ogłoszeniowy działa :P a potem tylko to się rozbudowuje. -
Taka jedna klasa może się komuś przydać :P
http://adrian-stolarski.pl/index.php/post/43/Klasa+for...
Szybko i prosto generuje formularze, do walidacji sam używam java scriptu ;) -
Wiem, Bartek. Chodzi o to, że mam czas na eksperymenty. I tak wybór technologii pobierania danych to dopiero za miesiąc. I tak muszę zrobić Soap albo Rest, a więc myślę z czym mi będzie lepiej. Czy odrazu pójść w XML-e, czy postawić SOAP z dostępem do bazy i z tego generować XML albo WSDL.
Aczkolwiek na XML-ach będzie łatwiej operować, a potem można to przerzucić w bazę. Tu jest kwestia dobrego rozwarstwienia aplikacji. I tak logika nic nie będzie wiedzieć skąd data pobiera dane. Logika będzie tylko i wyłącznie wywoływać pewne rzeczy z warstwy danych i przesyłać je dalej.
Po prostu nie narzucam sobie danych odgórnie, tylko na razie jest tam mock do testów logiki. Ale najprawdopodobniej będzie to miało wejście i do plików tekstowych i do kilkunastu baz i do xml-a.
A bazy muszę zakumać. Całe szczęście workbench mi to wizualizuje, bo bez diagramów UML to ja ślepy jestem. Na razie to jest takie stąpanie po omacku i eksperymentowanie, dopóki nie zostaną zrobione inne badania, w tym podwaliny UX, czyli badania użytkowników i dobra specyfikacja kliencka ( coś koło 2 stron a4) :P
Czyli w ciągu tygodnia coś się może wyklaruje. -
Dlatego sie zajmuje bezpieczeństwem nie bazami. Na bazy za glupi jestem...
Ps. a czy XML nie ma pseudo-ORM w sobie? plik XML to obiekt, prawda? A zasada ORM to jest zwrócenie obiektu...
Druga rzecz i drugi temat. A jak przy XML nie masz serializacji? Powiedzmy masz 15 user stories i masz 15 razy różne dane to po co Ci ORM? Nie lepiej wtedy uciec w architekture bardziej wielowarstwowa, utworzyć sobie warstwe data w aplikacji, która jest w warstwie danych, tam napisac sobie funkcje do odczytu zapisu danych i je wywoływać przez logike? tak zwane po bożemu? musze sie z tych okropnych baz podciagnać więc będę was molestował trochę, mimo że nie rozumiem czasami o czym wy do mnie mówicie ;) jak mówię na bazy za głupi jestem...Adrian Stolarski edytował(a) ten post dnia 04.04.13 o godzinie 21:57 -
noSQL pójdzie w innym projekcie :P
ale już powoli dochodzę do wniosku, że zamiast SQL-a lepiej wykorzystać XML. Szybciej sprawniej .. Mówię w kwestii mysql jestem zielony :P Tak to jest jak się nie miało baz danych na studiach. W bazie chce sobie tylko przechować pewne rzeczy, więc nie będę ustawiał relacji bo sobie z tym nie poradzę. :P Za głupi na to jestem.
Tylko mi odpowiedzcie na jedno pytanie, jak to jest z foreign key? Czy wartość foreign key zawsze odpowiada pewnej wartości pola z tabeli bazowej?
A co w przypadku kiedy mam jakieś dane w innej tabeli w jakims polu i mam foregeing key na ta komorka a sobie chce przypisac jakas wartość? A nie po kolei?
Na przykładzie, mam takie tabele:
CREATE TABLE `module_settings`(
id INT NOT NULL AUTO_INCREMENT,
`site_name` VARCHAR(255) NOT NULL DEFAULT 'Adrian Stolarski',
`site_motto` VARCHAR(255) NOT NULL DEFAULT 'moje motto',
`site_url`VARCHAR(255) NOT NULL DEFAULT 'http://adrian-stolarski.pl',
`site_online` BOOL NOT NULL DEFAULT '1',
`template_path` VARCHAR(255) NOT NULL DEFAULT 'views',
`template_name` VARCHAR(255) NOT NULL DEFAULT 'homepage.php',
`extension_path` VARCHAR(255) NOT NULL DEFAULT 'modules',
`modules_enabled` BOOL NOT NULL DEFAULT '1',
`user_login` BOOL NOT NULL DEFAULT '1',
PRIMARY KEY(`id`)
);
CREATE TABLE `module_metadata`(
`id` INT NOT NULL AUTO_INCREMENT,
`module_id` INT NOT NULL DEFAULT '0',
`keywords` TEXT NOT NULL,
`description` TEXT NOT NULL ,
`link_alt` VARCHAR(255) NOT NULL,
`link_title` VARCHAR(255) NOT NULL,
PRIMARY KEY(`id`)
);
CREATE TABLE `module_content`(
`id` INT NOT NULL AUTO_INCREMENT,
`module_id` INT NOT NULL DEFAULT '0',
`title` TEXT NOT NULL,
`description` TEXT NOT NULL ,
`content` VARCHAR(255) NOT NULL,
`access_level` VARCHAR(255) NOT NULL,
PRIMARY KEY(`id`)
);
Kluczem obcym będzie zawsze module_id, który będzie odpowiadał id z tabeli module_settings. Ale chcę mieć możliwość ustawienia pola module_id, a jak chcę to update zrobić to mi wywala błąd, jeśli module_id jest kluczem obcym. Dlaczego?Adrian Stolarski edytował(a) ten post dnia 04.04.13 o godzinie 17:25