daxon71 список всех сообщений - админ Оценок: 2 Род: Сообщений: 175 Сообщение № 11816 показать ответ -только после авторизации |
Полезная статья, особенно для тех, кто собирается делать сайт для долгосрочного поддержания.
Очевидно, что готовые CMS это несерьезно, только если для тех, у кого нет ни знаний, ни времени...
Я вот сделал сайт с нуля. Вот теперь думаю, как же туды редактор впилить, что бы заказчик мог сам обновлять без проблем.
nan список всех сообщений - админ Оценок: 39 Род: Сообщений: 12275 E-Mail Сообщение № 11817 показать ответ -только после авторизации |
Вообще стараюсь использовать только самодельный код, хотя идеи часто заимствую. Тогда нет зависимости от чужих движков. Вот даже по твоему вопросу использую редактор на основе tiny_mce (считай это советом), но и его во многом адаптировал совим кодом.
Айк список всех сообщений - админ Оценок: 4 Сообщений: 3768 Сообщение № 11818 показать ответ -только после авторизации |
>>> Дизайн будет мало отличаться от тысяч таких же сайтов... хотя внешнее разнообразие как бы есть, но поисковики видят одну и ту же структуру, что, в частности, и снижает рейтинг
Спорно, в алгоритмах говорят, что поисковая система сейчас проводит факторный анализ и как раз таки стремится выявить характерные черты успешных сайтов. То есть, наоборот, следование какой-то общепринятой, разделяемой успешными сайтами в данной области структуре, помогает в оптимизации ресурса для поисковых систем.
>>> Очевидно, что готовые CMS это несерьезно, только если для тех, у кого нет ни знаний, ни времени...
Почему? Много безопасней сделать проект на общеизвестной CMS, для которой легко будет найти специалиста, чем нанимать программиста, который напишет кривой код, который потом никто не захочет поддерживать. Программисты весьма охотно пишут кривой код, который смогут поддерживать только они, чтобы этого избежать в компаниях существуют отдельные методологии разработки, которые не дают возможности поддерживать участки кода только одному программисту, заставляют его обмениваться знаниями с другими.
В общем, написать хороший по архитектуре код серьёзного проекта - непростая задача. Иногда эффективнее работать с готовыми блоками CMS, фреймворков. Порой это разумно ещё и потому, что у компаний и групп выпускающих CMS и фреймворки обычно много больше возможностей для серьёзного тестирования блоков кода, да и специфика работы open source IT сообщества подталкивает писать вменяемый, читаемый код. Так что однозначного ответа: CMS, фреймворк или свой код - нет. Слишком много нюансов.
Я не люблю в web фреймворки и CMS, но это скорее связано с тем, что для большинства моих задач - это избыточно и даже вредно. А вот для мобильных устройств или программ для компьютера изучение и применение чужих кодов, при соблюдении правил лицензирования, кажется, вполне нормальным. Хотя опять же, стараюсь минимизировать зависимость от чужих кодов... Своё получается лучше, легче и многократно быстрее, но так же и багостней и со всеми шишками разработки с нуля -) Поэтому приходится прикидывать сколько ресурсов ты будешь готов тратить в будущем на поддержку своего очередного велосипеда :)
nan список всех сообщений - админ Оценок: 39 Род: Сообщений: 12275 E-Mail Сообщение № 11819 показать ответ -только после авторизации |
автор: Айк сообщение 11818
следование какой-то общепринятой, разделяемой успешными сайтами в данной области структуре, помогает в оптимизации ресурса для поисковых систем |
Война с плагиатом, заимствованием даже на уровне шаблонов дизайна - одно из первейших факторов понижения рейтинга, что было прямо объявлено: важна уникальность.
>> Много безопасней сделать проект на общеизвестной CMS, для которой легко будет найти специалиста, чем нанимать программиста, который напишет кривой код, который потом никто не захочет поддерживать.
В реальности все оказывается ровно наоборот: конструкторщик лабает сайт и его никто не желает поддерживать, а когда возникает необходимость изменить то, что не дается легко конструктором, то и его спецы отказываются. Это - реальные случаи.
Именно в смысле безопасности cms проигрывают из-за открытости кода, а дырки все не заштопать приниципиально.
Чо касается специальной кривизны кода, то везде это можно проделать, вот только сам код cms - настоящая кривизна в смысле, что в нем так просто не разобраться как в простом коде страницы. Код cms возьмется модифицировать только его разработчик.
>> написать хороший по архитектуре код серьёзного проекта - непростая задача. Иногда эффективнее работать с готовыми блоками CMS, фреймворков.
Вот зачем мне разбираться с конкретной cms, на которой кто-то написал данный сайт (а на это нужно положить очень много времени), если неизмеримо легче переписать это сайт заново нормальным кодом? Нет преимуществ у cms перед разработчиком, имеющим решения на все текущие случаи и имеющим потенцию найти новые решения в нетривиальных случаях. cms - для тех, кто не обладает такой квалификацией. Ну и для тех, кто потоками штампует говносайты-однодневки (потому, что стоит сайту продержаться достаточно долго и необходимость его обновления упрется в то, что его нужно переделывать без cms).
У меня есть наработанные, обкатанные коды-движки на все тривиальные случаи и каждый такой код я могу гибко адаптировать, получая в самом деле бесконечное и полное разнообразие возможностей. В нетривиальных же случаях у меня вообще бесспорное преимущество.
Айк список всех сообщений - админ Оценок: 4 Сообщений: 3768 Сообщение № 11820 показать ответ -только после авторизации |
>>> Война с плагиатом, заимствованием даже на уровне шаблонов дизайна - одно из первейших факторов понижения рейтинга
Уникальность не "шаблона сайта", а уникальность контента, а требования к контенту и организации сайта, как раз наоборот, есть. Эти требования умеренно уникальны для каждой специфической области, но в приделах этой области они одинаковы.
Что касается понижения в рейтинге сайтов сделанных на конструкторах, то речь скорее идёт об WYSWIG конструкторах UCOZ, narod, просто в силу того, что на этих системах много спам-ресурсов.
>>> В реальности все оказывается ровно наоборот: конструкторщик лабает сайт и его никто не желает поддерживать, а когда возникает необходимость изменить то, что не дается легко конструктором, то и его спецы отказываются. Это - реальные случаи.
Так может такие спецы?
Я, например, не вижу проблем написать модуль для Joomla и знаю гибкие административные системы на ней написанные.
>>> Вот зачем мне разбираться с конкретной cms, на которой кто-то написал данный сайт (а на это нужно положить очень много времени), если неизмеримо легче переписать это сайт заново нормальным кодом?
Так это говорит о том, что код CMS плохой. А почему не писать с нуля в очередной раз, так очень просто, когда тебе дают код, он хоть в какой-то мере отлажен, прошёл испытание временем, если ты снова пишешь его с нуля, то тебе предстоит новая отладка и ты потеряешь предыдущий опыт отладки.
Другой вопрос, что бывают разные стили разработки, например, если это не отлаженная CMS, а самописный код, который разрабатывался итеративно в постоянном рефакторинге, то вполне возможно, что его всё-таки будет проще написать с нуля. Тут ведь много нюансов на самом деле :)
>>> Нет преимуществ у cms перед разработчиком, имеющим решения на все текущие случаи и имеющим потенцию найти новые решения в нетривиальных случаях.
У CMS есть готовая архитектура и как правило удобно продуманная модульная система, которая подталкивает к определенному стилю написания кода, зачем писать MVC, систему авторизации, если это уже сделано и отлажено? Да и вообще, уметь читать, анализировать, работать и развивать чужой код - это полезный навык, ну правда :) То есть, я тебя понимаю, но, по-моему, ты категоричен, а тут есть место для дискуссии и анализа каждого конкретного случая :)
>>> У меня есть наработанные, обкатанные коды-движки на все тривиальные случаи и каждый такой код я могу гибко адаптировать
Тут вопрос в другом, насколько в твоём коде сможет разобраться другой человек, как только ты переключишься на другой проект. С расхожими CMS и Framework разобраться проще, а вот написать самому код, который потом сможет понять другой или другая группа разработчиков - это настоящее дело. Когда люди пишут код вместе и постоянно обмениваются знаниями об архитектуре проекта и совместно работают над участками кода, то код получается более пригодным для поддержки со стороны.
В общем, я считаю, что писать код самому надо в двух случаях: задача слишком тривиальна, задача уникальна и составление из блоков, даже Framework блоков, ухудшит качество реализации.
>>> У меня есть наработанные, обкатанные коды-движки
А почему не делиться знанием с другими? То есть, я сам не делюсь, но вопросом задаюсь -)
Обычно готовые куски кода решающие определенные участки задач выкладывают на github, где сообщество программистов получает возможность использовать в согласии с лицензией твой код, а в замен ты получаешь его поддержку и развитие, код отлаживают с учетом изменяющихся требований под твоим контролем.
В рамках идей, которые тебе не нужны: ты мог бы написать реализацию своего понимания работы нейронной сети на C, С++, выложить это на github под лицензией и так поделиться своими мыслями с сообществом, сохранив при этом свои авторские права. :))
nan список всех сообщений - админ Оценок: 39 Род: Сообщений: 12275 E-Mail Сообщение № 11821 показать ответ -только после авторизации |
>>насколько в твоём коде сможет разобраться другой человек, как только ты переключишься на другой проект. С расхожими CMS и Framework разобраться проще, а вот написать самому код, который потом сможет понять другой или другая группа разработчиков - это настоящее дело.
Все наоборот. Настоящий код понимают все нормальные программисты, а чтобы разобраться в данной cms нужно стать по ней специалистом. А какую выбрать из тысяч? Пока нет той единственной, центральной, как мелкософт-ворд, чтобы все ее знали и использовали в наиболее подходящее время. Вот когда появится я ее изучу и буду делать простейшие страницы так, как сейчас делаю просто конвертируя ворд в html (c "фильтром", естественно). Я плююсь от получаемого кода, он - явный мусор, но в некоторых случаях так проще. Так я верстаю код статей, когда публикую их эксклюзивными файлами, а не публикатором.
>>Я, например, не вижу проблем написать модуль для Joomla и знаю гибкие административные системы на ней написанные.
Как раз Joomla это то, что сначала пытался освоить, мечтая как удобно теперь будет делать непритязательные вещи. Но это оказалась настоящая пакость. И не я один от нее плевался.
>> У CMS есть готовая архитектура и как правило удобно продуманная модульная система, которая подталкивает к определенному стилю написания кода, зачем писать MVC, систему авторизации, если это уже сделано и отлажено?
Это - самое распространенное заблуждение... Доверяться чужому коду очень опасно и накладно. Это понимают все, кто достаточно долго поддерживал проект на таком коде. Обязательно приходится его корректировать. Стандарты и их поддержка браузерами меняется постоянно и вразнобой, и вдруг ты видишь что то, что работало вчера глючит. И нужно разбираться и приводить в порядок. Чаще всего эти заплатки вынуждают рано или поздно переписывать все самому. Хотя идея обычно заимствуется. Вот идея и есть самое главное в чужих находках, а нее конкретная реализация.
Но, повторяю, это понимают только те, кто в самом деле долго поддерживал проект, а не потоковые изготовители сайтов. Последние будут пищать и находить отмазки, что это вовсе не так :)
У меня множество подобных примеров... Про переделку форума я уже говорил. Был заимствованный движок сложного выпадающего меню, который вдруг перестал работать на некоторых просмотрщках. Я сделал полностью свой код и теперь у меня нет проблем с любыми модификациями такого меню и любым изменяемым, дополняемым функционалом. На скорчере нет ни одного движка не моего кода (кроме активХ ричэдита tiny_mce и его обертки, но значительно адаптированной). Особенно это удобно и показательно оказалось в фотогалерее. Авторизация - тоже мой движок, с которым я делаю что хочу. В общем, в серьезных случаях - никаких cms - точно, даже если появится одна универсально общепризнанная. И это - не моя блажь, а результат эволюции моего опыта (еще до web-программирования).
>> А почему не делиться знанием с другими? То есть, я сам не делюсь, но вопросом задаюсь -)
Это опасно в смысле доступности кода для поиска уязвимостей.
>> ты мог бы написать реализацию своего понимания работы нейронной сети на C, С++,
тщательно прикидывал возможность полноценной реализации и, думаю, ты знаешь из статей доводы почему это невозможно на уровне программного продукта. Но для тех, кто хотел бы попробовать дал рекомендации в Алгоритмах сознания.
skuLL список всех сообщенийInfra Real Оценок: 4 Сообщений: 1480 Телефон: i.skuLL Сообщение № 11822 показать ответ -только после авторизации |
автор: nan сообщение 11821
>> ты мог бы написать реализацию своего понимания работы нейронной сети на C, С++, тщательно прикидывал возможность полноценной реализации и, думаю, ты знаешь из статей доводы почему это невозможно на уровне программного продукта. |
А если вести речь о какой-нть примитивной редукции (до уровня "крысиной колонки" — как в общеизвестном аналогичном проекте), калькулируя её в облачном (полиресурсном) режиме?...... Я бы, к примеру, с удовольствием предоставил для этих целей мощность всех своих 6 камней.
Айк список всех сообщений - админ Оценок: 4 Сообщений: 3768 Сообщение № 11823 показать ответ -только после авторизации |
>>> Как раз Joomla это то, что сначала пытался освоить [...] Но это оказалась настоящая пакость. И не я один от нее плевался.
Я с ней уже много лет не работал, но помню, что каких-то проблем не возникало. Сейчас я не пользуюсь этой CMS из-за её тяжеловесности.
>>> Это понимают все, кто достаточно долго поддерживал проект на таком коде. Обязательно приходится его корректировать
У меня есть две CMS которые я поддерживаю уже больше 10-8 лет. Конечно, я знаю их нутро от и до, CMS эти изначально не мои, переписаны под мои нужды и их поддержка разработчиками прекращена, но в целом, всё отлично, нет с ними каких-то проблем. Да и я спокойно работал с чужими коммерческими CMS.
Есть свой форум, форумы, один из которых сменил уже несколько CMS, ему уже 7-мь лет, там написано 130.000 сообщений и да, приходилось часто отказываться от многих плюсов старых наработок, но были резоны двигать вперёд по линейке законченных продуктов и они остаются, так как на индивидуальный самописный код для этого проекта у меня уже давно нет времени, а чужие наработки - настоящее спасение.
>>> Но, повторяю, это понимают только те, кто в самом деле долго поддерживал проект, а не потоковые изготовители сайтов.
Так об этом и речь, есть ведь и потоковое изготовление. Если ты работаешь на потоке и не хочешь попадать под обязанности вечной поддержки и консультаций по законченному проекту, то есть резоны писать так и делать на том, что сможет поддержать другой :)
Я, например, когда выбираю языки программирования и фреймворки заодно прикидываю, сколько будет стоить мне или моему клиенту специалист по технологии, если я отойду от проекта. То есть нужно, как минимум прикидывать жизненный цикл проекта и его дальнейшую судьбу :)
Например, допустим, ты отходишь от Fornit и переключаешься на другие задачи, какова будет цена входа нового разработчика, разработчиков в твои наработки?
>>> В общем, в серьезных случаях - никаких cms - точно, даже если появится одна универсально общепризнанная.
Конечно. Другой вопрос, что нужно уметь отделять серьёзный случай, от несерьёзного, понимать жизненный цикл проекта и не работать по принципу, а после нас хоть потоп. Одно дело написать с нуля социальную сеть, а другое дело интернет магазин, например. Никто тебе не скажет спасибо за самописный код с багами очередного интернет магазина :))
Palarm список всех сообщений - админ Оценок: 6 Род: Сообщений: 2771 Сообщение № 11824 показать ответ -только после авторизации |
nan список всех сообщений - админ Оценок: 39 Род: Сообщений: 12275 E-Mail Сообщение № 11825 показать ответ -только после авторизации |
Вот точно: еще когда электронные приборы конструировал четко пришел к тому, что использовать нужно только свои схемы и чужие - только после полного понимания и адаптации к текущим своим условиям. Практически не было случая, чтобы какая-то сторонняя схема или решение не требовало такой адаптации по многим причинам: оптимальная комплектация, условия использования, особенности питания и энергопотребления и т.п. Конечно, сам микросхемы и готовые модули делать не станешь, используешь как есть, но и это требует понимания. Я просто не возьмусь делать то, что потребует слишком много специализации и новых заготовок, например, карту типа гугла или даже интернет магазин с поддержкой платежных систем, связью с 1С и отчетами (хотя сделал несколько магазинов без этих прибабахов). Но если решу специализироваться на инетмагазинах, то это будет полностью мой код. Помню когда работал на итальяшек, приходилось использовать готовые библиотеки типа для криптографии, для поддержки вывода изображений и т.п. Их покупали и использовали по лицензии, но и к ним делали свой врап, адаптируя под свою специфику.
! Сообщение пропало?! посмотреть причины...
Написать простое сообщение (только текст) Написать сообщение полноценным редактором |