All streams
Search
Write a publication
Pull to refresh
46
0
bioroot @bioroot

User

Send message
О полной независимости друг от друга всех объектов мечтают все. Часто и много. Но это просто идеал не достежимый в концепции ООП. Какие-то связи у вас всё-равно останутся. Главный вопрос — как их реализовать? Из традиционных способов первыми на ум приходят Visitor, Mediator и Observer. Но у вас то, насколько я понимаю, получается что класс module_test_2 вообще напрямую знает о существовании класса module_test_1. Какая же это абстракция? Это злобный хардкодинг.

К тому же, как вы верно заметили, полная абстракция и не всегда обязательна. Например, если я хочу получить варианты цветов некого товара из корзины пользователя, то мне проще идти по пути «Корзина -> Товар -> Цвета», а не «Корзина -> Посредник -> Товар -> Посредник -> Цвета». Знать о товарах внутри себя — прямая обязанность корзины. Точно так же как и товар должен знать о своих цветах. Иначе не понятно, что они вообще делают в системе. Представляют набор функций-дёргалок, а вся логика зашита в ядро? Ну это и есть God Object.

Единственный бонус который вы получите при реализации всего этого хозяйства через посредника, это то, что сможете подвесить некоторые дополнительные действия на выбор товара из корзины или на выбор всех цветов товара. Но мне кажется, что это сомнительный бонус. События конечно штука хорошая, но там где они нужны. Некоторым системам, типа голосовалок, корзин с товаром и т.п. лучше предоставить вариться в собственном соку.

>> любой модуль может послать сообщение module_test_1.run
Это вообще потенциальная дырка безопастности, т.к. безобидный модуль news сможет дёрнуть метод uninstall для какого-нибудь компонента. Я, конечно, утрирую, но если вы хотите наделить все объекты системы такими возможностями, то неплохо было бы ещё и позаботится о правах доступа.
Строго говоря вы скорее всего правы. Хотя можно конечно ещё поговорить относительно того, насколько вообще пременимо слово «цикл» к конечным автоматам.

Ну а в данном случае под циклом я подразумевал именно человеко-очевидный цикл. Рекурсия в регулярках под него лучше всего подходит, как мне кажется.

Впрочем, верно написано выше — вопрос филосовский. )
По первым впечатлениям похоже на Mediator ( sourcemaking.com/design_patterns/mediator ), который метит в God Object'ы ( en.wikipedia.org/wiki/God_object ).
>> Если совсем кратко, то это такой язык программирования, который создан для поиска текста. Очень-очень простой язык программирования. Условий, циклов и функций у него нет…

Не совсем так. В Питоне есть минимум условные выражения. В реализациях других языков встречаются и рекурсии, т.е. практически циклы.

Вот что говорит документация про условие поиска:
(?(id/name)yes-pattern|no-pattern)
Will try to match with yes-pattern if the group with given id or name exists, and with no-pattern if it doesn’t. no-pattern is optional and can be omitted.

С чисто академической целью ваш последний паттерн можно было бы привратить во что-то подобное:
r'({)?(?(1)(?P<section>[^}\n]+])}|(?P<name>[^\n=]+)=(?P<value>[^\n=+]))'

Конечно, в такой реализации (если сначала найдена фигурная скобка искать section, в противном случае пару name=value) от него толку мало, но вот если понадобится обработать специфическим образом «number section», например, такая конструкция может помочь. Жаль только, что для условия обязательно нужно его захватывать и потом ссылаться по id или имени. В других реализациях можно писать что угодно, вплоть до заглядываний.
Конечно. Не победами же на олимпиадах с вами мерятся. Меня только один раз училка отпинала, чтобы я какую-то чушь на паскале написал. Даже книжку какую-то подарили. 1 к 15 получается. Статистика не на моей стороне.
>> А прежде чем кидать оскорбления, советую трижды подумать, ибо Вашим адресатом может быть человек гораздо Выше квалификации, чем Вы того можете ожидать.;)

Ага. Или школьник с большой пиписькой. Никогда не знаешь что может случится.
Эксперимент конечно интересный, но в целом отношения не знающих друг друга заказчика и фрилансера часто похожи на военные действия. Заказчик думает: «Так, чтобы не нарваться на ламера надо поставить требования по жёсче. Пусть будет 10 лет опыта работы, зание минимум 5-ти языков программирования и всех фреймворков. А если всё-равно нахлобучат, то чтобы обидно не было ещё и цену в два раза убавлю». Нормальные люди глядят, фигеют и проходят мимо. В это время появляется абициозный писх-оптимист, который почти ничего не умеет, зато самомнение раздуто до размеров вселенной. Думает: «Ага, фигня какя-то. Надо знать то-сё… Ладно, дальше читать не буду, разберусь по ходу». Ну и стучится заказчику в надежде, что 1 из 50 таки лохонётся.

В итоге заказчик нахлебавшись в следующий раз ставит требования ещё страшнее. Псевдокодер же видит, что половина требований была для красного словца, наглеет и начинает игнорировать практически все требования. Замкнутый круг. При этом обиднее всего находится в положении проходящего мимо. Особенно когда выясняется, что делалось всё с пол пинка, но требования на всякий случай сильно ужесточили. Писали бы что ли отдельно требования для быдлокодеров и для нормальных людей. )
Смешенное впечатление получилось. С одной стороны я сам нахожусь в положении близком к вашему. Пару месяцев не могу найти себе хорошее место работы. С другой — аргументы коллег тоже вполне обоснованы. По этому поводу вспоминается заметка из книжки Learning Python: «Python is Engineering, Not Art». Правда там Питон сравнивается с Перлом, но оснавная мысль такова, что когда существует крайне много способов сделать что-то (знаменитый перловский «There's more than one way to do it») разработка только усложняется. В свою очередь когда существует лишь несколько способов адекватно решить задачу, то программист со стороны легче войдёт в курс дела, т.к. задача решена ожидаемым способом. На самом деле парадоксально получается, что быдлокодинг является более творческим, нежели «езда по рельсам», т.е. когда делаешь всё по правилам.

И ещё мне кажется, что сам факт наличия MVC или SVN ничего особо не даёт. Они должны быть плотно интегрированы в процесс. А собеседования в духе «защиты от дурака» вообще путают. Приходишь, тебе кто-нибудь самый умны задаёт пару каверзных вопросов по ява-скрипту, SQL, чему-нибудь ещё. Говорят: «Вы знаете, нам нужно умение великолепно работать с консолью Линукса, знать на зубок jquery, умение писать запросы с десятью джойнами и всякое такое. Ещё у нас тест-драйв-девелопмент...» ну и тому подобное. А на деле оказывается, что надо иногда делать mysqldump, через jquery в 3-х проектах идут аякс-запросы, а тест-драйв-девелопмент значит, что кто-то из уволенных пол года назад программеров написал штук 6 тестов для какого-то старого проекта и их всё-равно никто не юзает. MVC — отдельная песня. Многие считают, что если в 3-х разных классах употребят слова «Model», «Controller» и «View», то это уже оно. Честно говоря у меня уже складывается впечатление, что нормальная организация работы имеется только в очень крутых конторах, типа Яндекса, Гугла, Микрософта и т.п. Но в хорошую контору попасть без опыта плотной работы со всем этим хозяйством не получится. А где его взять, опыт? Сам дома ковырял — это далеко не то же самое, что в боевом проекте.
Ну справедливости ради надо сказать, что все модели наследуются от общего предка, а любое расширение функционала будь то ввод своих тегов в шаблонизатор или создание полей для моделей делается через наследование, т.е. вполне себе оопшным подходом.
Ну, на правах китайской пропаганды скажу, что на счёт напрастности жертв там момент спорный. По некоторым версиям «мирная демонстрация» студентов при попытке разгона привратилась в хорошо вооружённую толпу. Некоторые даже считают, что если бы правительство дало слабину, то покатился бы Китай к демократии а-ля от царя Бориса. Во многом столкновения были похожи на спланированную провакацию недругов Китая.
Названия у них разные. Пока по качеству пользовательского интерфейса ваша система больше похожа на CMF, а по качеству кода — на CMS. Должно быть наоборот.

Собственно не понимаю почему вас не устравает родная админка Джанго, если вы гонетесь за простотой. Чуть-чуть подтюнить и будет не хуже вашей.
На счёт Джанго вы шутите? Собственно на нём и подобную CMS написать не сложно будет. Шаблоны админки подверстать малость и всё. С Симфони практически не сталкивался, но думаю, что пишушие на ней скажут примерно то же самое.
Кстати, у меня кажется лыжи не едут. Ну или вы отдаёте файлы в utf-8, а в них русские комментарии в cp1251.
Ну велосипед велосипедом. Не лучше и не хуже других. Именно по этому ему суждено бесславно сгинуть в бездне времён.
Ну это смотря чем вы занимаетесь. Если просто верстаете основной шаблон, то это действительно не ваша проблема.

Программистам же могу посоветовать почитать что-то типа этого: www.spravkaweb.ru/php/sovet/mail/image
Коротко и корявенько, но по делу. Суть в том, чтобы пришивать файл к самому письму, а в аттрибуте src тега img cid-идентификатор. Суть в том, что т.к. такая картинка не берётся из внешнего источника она скорее всего не будет порезана почтовиком как возможно небезопасная. Так что письмо сразу отразится по-человечески.
На счёт картинок в письме. Как известно они часто режутся почтовиком (если ссылки внешние), а без них письмо обычно очень страшное. Так что их лучше кодировать в base64 и отправлять в самом письме. В таком случае они нормально открываются. Только это большой гемморой.

Виидел спорный, но интересный вариант решения этой проблемы. На серверной стороне по запросу к скрипту генерится картинка. Всё письмо соответственно представляет из себя одну эту картинку и ссылк в духе «Нажмите, если письмо отображается некорректно». Главный плюс в том, что можно не заморачиваться с вёрсткой и с помощью графической библиотеки скриптом на сервере накидать поверх картинки-шаблона текст. Кстати, ссылки можно делать как map на картинку. В целом получается неплохо. Для сайтов с малой и средней нагрузкой вариант достаточно привлекательный.
Честно говоря я не понимаю как пользоваться этой штукой. Однажды посмотрел от балды штук 20 авторов — какой-то бессвязный поток сознания.
В чём цель? Если бы у меня была цель что-то продать, то я бы вынес всё, кроме шапки и форму поиска чуть-чуть упростил. В форме скидки и кухню в печку. Это должно быть в результатах выдачи. Соответственно всё, что ниже ссылок просто снести нафиг. Компанию и форум тоже упростить, дабы не отвлекать посетителей на всякую ерунду. Раздел для новичков в облаке тегов — это супер. ))) Снести облака. Всё, можно юзать. )))

Если же вы хотите делать социальную сеть, тогда наоборот товары и сопроводительную шушеру надо задвигать в поиск и банеры, а новости, регистрацию и форум выпячивать. Можно больше новостей с последними камментами и куски камментов из форума. Обсуждаемые темы и всякое такое.

Всё что ниже ссылок я бы в любом случае распихал по подразделам или убил бы.
Брехня. Как раз на неделе недостающее звено эволюции нашли.
Ну с Китаем там особая ситуация. Это коммунисты его пытаются выставить как коммунистическую державу по большей части. На самом деле там всегда был свой особый строй, равно как и своя особая религия. Я некоторое время общался с востоковедами. Однозначного мнения нет, но огромный вклад в успехи Китая менталитета и религиозно-филосовской позиции населения (по крайней мере раньше, сейчас действительно всё очень усредняется) никто не отрицает. Есть у них такое понятие, которое на русский язык переводят обычно как Поднебесная. В нём сосредоточена помесь патриотизма и даосизма. Т.е. всё в Поднебесной происходит так как должно и задача рядового китайца просто следовать за этим течением событий и поддерживать его.

Про эмпирическое познание. Ну Гроф кажется даже в ранних трудах писал про эксперименты с ЛСД, когда человек в определённом состоянии и под небольшой дозой препарата угадывал сочитания цвета и формы на карточках, которые доставал человек в соседней комнате. Если не ошибаюсь, угадано было 5-6 сочитаний. Потом сам подопытный испугался и отказался продолжать эксперимент. Понятно, что это направление находится на стадии зачатков шаманизма, но использование ЛСД в исследовательских целях запретили. А так может быть и развили бы куда. С другой стороны Гроф холотропное дыхание придумал. Понятно, что научность и качество других методов не дотягивают до опытного познания, но во многом потому, что им ставятся палки в колёса.

Ну я не оспариваю тот факт, что рано или поздно людям придётся осваивать космос более активно. Вопрос в том, когда это станет уместно. Наша с вами разница в подходах в том, что вы предлагаете построить ещё одну лодку с некоторым количеством изъянов, а я предлагаю сначала уменьшить число изъянов, а затем строить такую же лодку. Можно сказать экстравертный и интровертный подходы. )

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity