Сверхбыстрая и компактная CMS Блоголёт - убийца WordPress

DeveloperRu
На сайте с 27.02.2009
Offline
72
#211

по-разному говорят, я привык говорить о перегрузке функций в стиле этого автора http://gamedev.gameslife.ru/cpp/cpp_article3_1.html#_toc2

DeveloperRu добавил 22.07.2009 в 13:55

Храк, про 0,02 сек ты может и прав, но у тебя и система-то не такая сложная, к тому же функциональность пока что слабая

когда нарастишь функционал, добавишь голосования и прочее в количестве хотя бы 20 модулей - тогда и поговорим, посравниваем с битриксом и прочими аналогами по скорости

Ответы на вопросы (http://telenok.com)
B
На сайте с 25.02.2009
Offline
68
#212

HraKK писал: "Вообще private можно использовать только в final классах, в других надо protected. А во вторых, как бы тебе объяснить, это не моя прихоть, это архитектура на ооп"

Бредятина - видимость расставляется по требованиям задачи, ну никак уж ооп, а тем более маразм насчет final. Мне даже любопытно откуда ты такой хрени набрался? Ей богу лучше бы ты этого не писал.

Бесплатная CMS LitePublisher это блог, вики, тикет система, голосование (http://litepublisher.ru/) на высокой скорости с минимум памяти
wir
На сайте с 14.07.2009
Offline
178
wir
#213

класс CMS. Респект ТС!

Твоя партнерская сеть - конвертит все! (https://aff1.com)
ZiNTeR2001
На сайте с 28.05.2008
Offline
42
#214
blogolet:
Простой и работающий алгоритм:
1. сохранить во временный файл
2. переименовать текущий файл в старый
3. переименовать временный в текущий

Я поперхнулся пивом, негодяй! :)

Что тебе плохого сделали производители винчестеров что ты из за одного комментария будешь файлам по несколько метров с комментами устраивать танцы по винту?

Насколько быстрее ты на сервере при таком подходе запилишь дисковый массив подумал?

Почитай как устроены БД нормальные - не читай быдлокод где каждая таблица - просто Excel лист и все.

У базы данных есть главное свойство - состояние целостности информации в любой момент времени.

То есть случается какой-то слет: часть инфы может потеряться, но ее целостность не потеряется никогда.

Почитай про индексные массивы на таких БД как SQL Server, PostgreSQL и как в реальности работают БД.

Вывести информацию по ID это не задача работы с информацией.

Ее любая блондинистая мартышка с мышкой в руках сделает.

Не изобретай велосипед - лучше научись на нем ездить.

Я серьезно - прочитай что такое разделяемый пул, структура индексов, внутреннее представление данный.

И еще - делай промышленные решения, а не творчество на коленке.

Работа на файлах это все равно что обычные кухонные ножи сейчас не отливать а ковать в кузнице по спецзаказу.

Насколько легко, настолько и продуктивно.

ZiNTeR2001 добавил 24.07.2009 в 22:36

zzeus:
Аргументы? Почему нельзя писать распределенные системы на ФП? Особенно если брать предназначенные для подобного языки, например erlang.

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

Сложность и поведение ООП кода намного превышает суммарную сложность его отдельных модулей.

Ты создал единую нотацию, и только и делаешь что ей следуешь.

Ты разбиваешь неосознаваемую задачу на иерархию маленьких описанных кодом правил и все работает.

у ФП есть понятие функция и все.

у любого объекта ООП есть понятие состояние и на один и тот же запрос объект в зависимости от своего состояния может отработать по разному.

+ не забывайте что мы код пишем в идеальных условиях, а работает он в реальности - а реальность это постоянные ошибки.

В ООП коде можно один раз описать стандартную реакцию на ошибку и потом вести доработку, не прекращая деятельности живого проекта.

в ФП надо на каждом шаге деалть проверку - нет ли ошибки вручную.

К тому же почитайте книгу Гради Буч-а "Объектно ориентированный подход и проектирование с примерами на языке C++"

Там приведена статистика, что обычно при ФП подходе когда размер программы приближается к 10 000 строк, разработчик теряет над кодом контроль. Сколько строк в том же WordPress-e?

К тому же единственную нобелевскую премию программисту (нобелевка дается на за само открытие, а за то, насколько оно применяется на практике и облегчило людям жизнь) в 85 году получил Страуструп за теоретическую разработку ООП подхода!

Перед тем как спорить все же лучше почитать первоисточники, однако.

ZiNTeR2001 добавил 24.07.2009 в 22:53

Chikey.ru:
Под принципиальность я понимаю постоянную проверку на инстансоф, максимальная приватность класса (да, это бывает неопраданно) ну и вообще полную об-ориентированность, которой не место в вебе!

protected $responseArray = array();

public function __construct( array $responseArray )
{
$this->responseArray = $responseArray;
}

Какой смысл проверять на array, это пустое?

if( class_exists( $responseClass ) )
ага, а если не нашли, промолчим?)

if( !$responseObject instanceof Core_Response_Interface )
тоже проверка на соответствие интерфейсу, зачем она? как вы писали - чтобы ошибок небыло вдруг. Но вы наверно знаете зачем существуют исключения? Весь предохранительный ооп код лишен смысла, лучше писать с целью написать а не закрыть маловозмож ошибки, которые должны ловится исключениями, я прав?

вообще показанный класс можно было сделать более наглядно процедурно прямо в коде, откуда он должен был вызываться, не вижу смысла в этом десятке строчек как классе

Прочитай про 4 основы ООП подхода: абстрагирование, инкапсуляцию, модульность, иерархичность а потом уже подумай - стоит ли задавать вопросы, ответы на которые описаны во введении в нормальных книгах по ООП.

максимальная приватность класса - это инкапсуляция. Один раз написали отдал как готовое решение. Кто бы как это класс объектов не использовал - он всегда будет работать одинаково!

Повторное использование кода, знаете ли

постоянную проверку на инстансоф - ООП подход подразумевает жесткую типизацию. Постоянные проверки на instanceof связаны с косяком PHP. Конкретнее - чтобы нельзя было как в анектоде скрестить Слона с Обезьяной, а потом думать что с этой фигней делать.

Какой смысл проверять на array, это пустое - потому что не проверишь, будет пустое, обратишься к нему а оно тебе сообщение отдаст "упаковка куекн абырвагл 34833293/240 " - после этого сиди и ищи себе ошибку. :)

Хотя вообще по нотации PHP5 следует использовать


try{
...
}
catch(exception $){
//make something while Exception, for example throw exception to highest level of application:
throw new exception ($e);
//
}
final{
//make something
}

тогда как только в try{} на любой строке появится ошибка - код в этом блоке ДАЛЕЕ не выполняется, идет переброс в catch и делается то что в нем.

final выполняется в любом случае - было ли исключение или нет.

Система должна сама корректно отрабатывать ситуацию, когда возникает ошибка, а не крашиться полностью при первом notice

Лабаю Медицинского центра "Евразия" (http://http://xn----7sbbhoobaglcj1a2c6o.xn--p1ai/) Плюс ещё Пытаюсь отреставрировать и воссоздать "сообщество любителей поиграть в футбол шаговой доступности" (http://www.kubgoal.ru)
[Удален]
#215
Прочитай про 4 основы ООП подхода: абстрагирование, инкапсуляцию, модульность, иерархичность а потом уже подумай - стоит ли задавать вопросы, ответы на которые описаны во введении в нормальных книгах по ООП.

Вообще-то, есть только три основы, на которых базируется ООП: наследование, инкапсуляция, полиморфизм.

но мне, все же, интересно, что вы имели в виду под "абстрагирование", "модульность", "иерархичность"?

ZiNTeR2001
На сайте с 28.05.2008
Offline
42
#216
MOP1:
Вообще-то, есть только три основы, на которых базируется ООП: наследование, инкапсуляция, полиморфизм.
но мне, все же, интересно, что вы имели в виду под "абстрагирование", "модульность", "иерархичность"?

Лучше возьмите ссылку и почитайте, ка я писал ранее - не вижу смысла переписывать своими словами то, что без меня гораздо лучше описали + не сторонник мегабайтных комментариев.

http://www.helloworld.ru/texts/comp/other/oop/index.htm

Точнее тут http://www.helloworld.ru/texts/comp/other/oop/ch02.htm

С момента:

Каждый стиль программирования имеет свою концептуальную базу. Каждый стиль требует своего умонастроения и способа восприятия решаемой задачи. Для объектно-ориентированного стиля концептуальная база - это объектная модель. Она имеет четыре главных элемента:

Для совсем ленивых можно, правда сделать так: :)

Абстракция фокусируется на существенных с точки зрения наблюдателя характеристиках объекта.

Инкапсуляция скрывает детали реализации объекта.

Модульность позволяет хранить абстракции раздельно.

Абстракции образуют иерархию.

На всякий случай плюсы в карму не мне, а Гради Буч-у

HraKK
На сайте с 02.03.2009
Offline
128
#217

zzeus, фп по определению не может хорошо поддерживатся. Приведи пример как можно легко подменить например работу с базы на файлы на фп? Только извратами с эмуляцией ооп на фп.

DeveloperRu, бла-бла-бла. У меня там функциональности очень много. А твои "головосания" это вообще плевое дело. Хоть 100 модулей, потому что юзается pattern Lazy initialization

blogolet,

blogolet:
Бредятина - видимость расставляется по требованиям задачи, ну никак уж ооп, а тем более маразм насчет final. Мне даже любопытно откуда ты такой хрени набрался? Ей богу лучше бы ты этого не писал.

Как только ты поставишь метод private значит этот метод нельзя перегрузить, а значит нарушается полиморфизм. И нельзя подменить этот класс другим. А еще для этого класса нельзя будет сделать Unit test. Это мой последний детальный ответ Вам. Потому что с Вами мне разговаривать не о чем.

HraKK добавил 25.07.2009 в 00:00

ZiNTeR2001, им Гради Буча думаю рановато, достаточно сложная для понимания книга.

Хотя, я ее из-за того что брат программист на С++ прочитал первой =)

я гарант (/ru/forum/493343) уже не оказываю данные услуги, извините.
ZiNTeR2001
На сайте с 28.05.2008
Offline
42
#218
HraKK:
[ ZiNTeR2001, им Гради Буча думаю рановато, достаточно сложная для понимания книга.
Хотя, я ее из-за того что брат программист на С++ прочитал первой =)

Не правда - там есть картинки :)

HraKK
На сайте с 02.03.2009
Offline
128
#219

Не конечно лучше понимаешь чем Бьёрна, но все же без годов практики многие вещи не поймешь.

W
На сайте с 10.05.2009
Offline
114
#220

Я так понял блоголет с сейф моде работать не будет?

У меня после установки выдало кучу варнингов, в админку войти нельзя, стандартные записи в блог не добавились...

Если есть возможность заставить его работать в сейф моде, скажите что надо сделать...

UPD

Попытка переноса блога с вп на блоголет тоже потерпела неудачу, прийдется все откатить назад... Жаль, а так хотелось...

Имхо - все таки отказ от мускла - очень сомнительная фича. В этом плане блоголет вордпресу проигрывает, вордпрес в отличии от блоголета работает в сайфмоде...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий