если есть доступ к БД - то при чем тут register_globals? Когда запросы вводятся напрямую - они или выполняются, или вываливаются с ошибкой. Произошло первое или второе? Если второе - то какая ошибка? Если первое и до сих пор не пускает - то значит дело не в пароле:)
DenIT добавил 03.02.2009 в 19:26
fine: UPDATE User SET Password='ppp' WHERE User_ID=1
fine, пароль шифруется с помощью PASSWORD, а инсталляционная база неткета идет с пустым паролем (он задается в процессе установки), т.к. в зависимости от версии mysql - хеш разный.
В целом все так, да. Товар обладает свойствами (описываются в классе), с товаром можно совершать манипуляции (методы описываются в классе и могут использовать сохраненные значения свойств товара). Но это все можно сделать и функциями, основное отличие в взаимодействии - в документации описываются методы и свойства для данного класса, и все ими пользуются, не о чем больше не парясь. И можно не бояться пересечения имен методов с другим классом, который разрабатывает совершенно другой человек (например, статистику для того же магазина).
edogs: Мысль верная, но этот пример надуманный. Никто не мешает создать функцию, которая будет приводить объект в строковое представление, в зависимости от его типа.
Надуманный, да:) Но если абстрагироваться от названия метода, то в рамках большого проекта, например, один человек может не в состоянии написать функцию для всех классов (т.к. классы разрабатывают разные люди), да и количество классов постоянно увеличивается - придется тратить ресурсы на поддержание этой функции в актуальном состоянии.
U3RlcA==, классу не передают тип данных. Класс уже содержит всю необходимую информацию о своих объектах (их тип, свойства и т.п.), поэтому и выполняет те действия, которые характерны для его объектов. Если вызвать метод для какого-либо объекта - то вызовется метод, описанный в его классе. Поэтому кодер может даже не знать, с каким классом работает (а работает он с конкретным объектом) - он просто получит требуемый результат.
частный случай (на примере JS): у каждого объекта есть метод toString, который переводит объект в строковое представление. При этом операции выполняются разные, они зависят от класса данного объекта, и соответственно описываются в этих классах. А кодеру не нужно помнить наборы функций int2string(), string2string(), array2string(), проверять тип данных и т.п. - нужно просто вызвать метод toString.
PS: по правилам хорошего тона, если создается свой класс, то в нем тоже желательно описать общеупотребительные методы (тот же toString), который выдаст удобное строковое представление объекта данного класса. Тот, кто будет впоследствии использовать этот класс, по привычке поставит .toString() - и поблагодарит разработчика:)
Вообще, у всех своя ниша - и востребованы на рынке обе стороны (благо, клиентура только расширяется). Но я часто вижу клиентов, которые приходят за разработкой на коробке, имея неработающий сайт на "Персональной ЦэМС by Vasya Pupkin" с грустной историей, что Вася пропал полгода назад и они ничего не могут сделать с сайтом.
Я тоже (с позиции разработчика) не готов гарантировать заказчику пожизненную поддержку его сайта на "DenIT-CMS", даже за деньги (может мне завтра припрет вид деятельности сменить, и нафига мне лишние обязательства?), зато проект на коробке спокойно и без лишних проволочек могу передать другому, не менее профессиональному разработчику.
Более того, мы периодически меняемся клиентами по поддержке и доработке, т.к. иногда с клиентами после некоторого срока возникают терки из-за накопившихся за все время мелочей - и тут проще не сраться насмерть, а просто передать проект, дав возможность на нем заработать другу и оставив клиента на позитиве. Ну и соответственно сам тоже часто получаю такие проекты в работу.
При этом важно знать коробку достаточно хорошо, т.к. даже в ограниченных средствах разработки можно такого наколбасить, что ни один адекватный человек не возьмется поддерживать.
KosoyRoman: для заказчика под не стандартные решения всёже лучше заказать самопись (если проект более менее серьезный)
Было бы кстати очень интересно услышать про плюсы самописных движков с точки зрения заказчиков, которых интересует только стабильность и прибыльность своего бизнеса. А в данной ситуации, имхо, можно остаться с серьезным проектом за серьезные деньги абсолютно без поддержки.
DenIT добавил 01.02.2009 в 20:53
nikitian: Вот тут и требуется дописывание руками, так что уже не из коробки.
Только дописывание обычно идет в рамках документированного API и в том стиле программирования и способах хранения данных, которые пропагандирует коробка. Т.е. другой спец сможет без проблем разобраться в косяках, т.к. знает, как формируются запросы, в каких таблицах что хранится и т.п.
Jackyk: Я лично пока наблюдаю полную безнаказанность фашистов
Ну это, по моим наблюдениям, началось достаточно недавно, уж не знаю отчего - реально ли есть причины, или оборзели, или от безысходности, но последние несколько лет я наблюдал обратную ситуацию (рассказывали знакомые, которые живут этим) - и про сокрытие беспредела гостей нашей необъятной, и про навешивание русским "разжигание межнациональной розни" за удар в морду (статью, кстати, год-два назад очень сильно изменили), и про танцы лезгинки на Манежке и т.д. и т.п.
Сейчас с теми людьми не общаюсь, а СМИ, естественно, не верю - думаю, не наврали они только в названии города. При этом вживую наблюдаю "почернение" рядов обычных ментов, а также количество корочек МВД и ФСБ у них.
Просто, думаю, если бы проблему действительно хотели бы решить - то решили бы уже привычным силовым методом моментально (на международном уровне не церемонятся, а в столице порядок не могут навести? ха-ха!). Но не обладая вообще никакой информацией по современным инцидентам, не готов обсуждать это - правда может оказаться очень неожиданной и печальной.
эээ
если есть доступ к БД - то при чем тут register_globals? Когда запросы вводятся напрямую - они или выполняются, или вываливаются с ошибкой. Произошло первое или второе? Если второе - то какая ошибка? Если первое и до сих пор не пускает - то значит дело не в пароле:)
DenIT добавил 03.02.2009 в 19:26
UPDATE User SET Password='ppp' WHERE User_ID=1
fine, пароль шифруется с помощью PASSWORD, а инсталляционная база неткета идет с пустым паролем (он задается в процессе установки), т.к. в зависимости от версии mysql - хеш разный.
UPDATE User SET Password='' WHERE User_ID=1
Если конечно админ под номером 1 остался.
Открыть исходный код страницы и посмотреть, как реализовано. Неужели для этого нужно совет спрашивать?
лучше сделать социальную сеть для потенциальных грузчиков - уволенных в кризис it-шников:) Сначала помогут развить, а потом будут сами пользоваться.
В программировании новичек
Все б новички такими понятливыми были:)
В целом все так, да. Товар обладает свойствами (описываются в классе), с товаром можно совершать манипуляции (методы описываются в классе и могут использовать сохраненные значения свойств товара). Но это все можно сделать и функциями, основное отличие в взаимодействии - в документации описываются методы и свойства для данного класса, и все ими пользуются, не о чем больше не парясь. И можно не бояться пересечения имен методов с другим классом, который разрабатывает совершенно другой человек (например, статистику для того же магазина).
Например, так построен фреймворк extjs, вот пример описания класса: http://extjs.com/deploy/dev/docs/?class=Ext.tree.TreeEditor. У других классов есть такие же методы, но выполняют они другие функции.
Мысль верная, но этот пример надуманный. Никто не мешает создать функцию, которая будет приводить объект в строковое представление, в зависимости от его типа.
Надуманный, да:) Но если абстрагироваться от названия метода, то в рамках большого проекта, например, один человек может не в состоянии написать функцию для всех классов (т.к. классы разрабатывают разные люди), да и количество классов постоянно увеличивается - придется тратить ресурсы на поддержание этой функции в актуальном состоянии.
U3RlcA==, классу не передают тип данных. Класс уже содержит всю необходимую информацию о своих объектах (их тип, свойства и т.п.), поэтому и выполняет те действия, которые характерны для его объектов. Если вызвать метод для какого-либо объекта - то вызовется метод, описанный в его классе. Поэтому кодер может даже не знать, с каким классом работает (а работает он с конкретным объектом) - он просто получит требуемый результат.
частный случай (на примере JS): у каждого объекта есть метод toString, который переводит объект в строковое представление. При этом операции выполняются разные, они зависят от класса данного объекта, и соответственно описываются в этих классах. А кодеру не нужно помнить наборы функций int2string(), string2string(), array2string(), проверять тип данных и т.п. - нужно просто вызвать метод toString.
PS: по правилам хорошего тона, если создается свой класс, то в нем тоже желательно описать общеупотребительные методы (тот же toString), который выдаст удобное строковое представление объекта данного класса. Тот, кто будет впоследствии использовать этот класс, по привычке поставит .toString() - и поблагодарит разработчика:)
Вообще, у всех своя ниша - и востребованы на рынке обе стороны (благо, клиентура только расширяется). Но я часто вижу клиентов, которые приходят за разработкой на коробке, имея неработающий сайт на "Персональной ЦэМС by Vasya Pupkin" с грустной историей, что Вася пропал полгода назад и они ничего не могут сделать с сайтом.
Я тоже (с позиции разработчика) не готов гарантировать заказчику пожизненную поддержку его сайта на "DenIT-CMS", даже за деньги (может мне завтра припрет вид деятельности сменить, и нафига мне лишние обязательства?), зато проект на коробке спокойно и без лишних проволочек могу передать другому, не менее профессиональному разработчику.
Более того, мы периодически меняемся клиентами по поддержке и доработке, т.к. иногда с клиентами после некоторого срока возникают терки из-за накопившихся за все время мелочей - и тут проще не сраться насмерть, а просто передать проект, дав возможность на нем заработать другу и оставив клиента на позитиве. Ну и соответственно сам тоже часто получаю такие проекты в работу.
При этом важно знать коробку достаточно хорошо, т.к. даже в ограниченных средствах разработки можно такого наколбасить, что ни один адекватный человек не возьмется поддерживать.
для заказчика под не стандартные решения всёже лучше заказать самопись (если проект более менее серьезный)
Было бы кстати очень интересно услышать про плюсы самописных движков с точки зрения заказчиков, которых интересует только стабильность и прибыльность своего бизнеса. А в данной ситуации, имхо, можно остаться с серьезным проектом за серьезные деньги абсолютно без поддержки.
DenIT добавил 01.02.2009 в 20:53
Вот тут и требуется дописывание руками, так что уже не из коробки.
Только дописывание обычно идет в рамках документированного API и в том стиле программирования и способах хранения данных, которые пропагандирует коробка. Т.е. другой спец сможет без проблем разобраться в косяках, т.к. знает, как формируются запросы, в каких таблицах что хранится и т.п.
Я лично пока наблюдаю полную безнаказанность фашистов
Ну это, по моим наблюдениям, началось достаточно недавно, уж не знаю отчего - реально ли есть причины, или оборзели, или от безысходности, но последние несколько лет я наблюдал обратную ситуацию (рассказывали знакомые, которые живут этим) - и про сокрытие беспредела гостей нашей необъятной, и про навешивание русским "разжигание межнациональной розни" за удар в морду (статью, кстати, год-два назад очень сильно изменили), и про танцы лезгинки на Манежке и т.д. и т.п.
Сейчас с теми людьми не общаюсь, а СМИ, естественно, не верю - думаю, не наврали они только в названии города. При этом вживую наблюдаю "почернение" рядов обычных ментов, а также количество корочек МВД и ФСБ у них.
Просто, думаю, если бы проблему действительно хотели бы решить - то решили бы уже привычным силовым методом моментально (на международном уровне не церемонятся, а в столице порядок не могут навести? ха-ха!). Но не обладая вообще никакой информацией по современным инцидентам, не готов обсуждать это - правда может оказаться очень неожиданной и печальной.