livetv: Включая дизайн и верстку?
Ну тогда все клиенты Ваши. Вы у нас гений.
Мимо кассы, просто если тратить время на функционал, а не на изобретательство велосипедов - получается экономно.
livetv:
Вы пьяный? При чем миграция к коду? Как нужно мигрировать, чтобы убить все данные?
Вы держите миграции вне кода? А как вы откатываетесь, когда миграция некорректна? И как вы их контролируете? Файлами SQL инструкций? Как проводите миграции, которые требуют алгоритмического изменения данных?
livetv:
Вы имеете в виду меня по статье о фреймворках? Так постонно правлю тут статью. Так что мимо лужи.
Я имею в виду поддержку выпущенных продуктов. А то через полгода узнает клиент о критической уязвимости, а сообщества, которое бы ее поправить могло, и не при делах.
livetv:
Подразумевается, что разработчик, до того, как стал грамотным, сумел уже наваять какой-то каркас своих наработок.
Стоп. Секунду. Фреймворк?! 😂
livetv:
Так а в чем проблема подключить модуль? Речь же шла не о написании.
Вот и я говорю, никаких проблем. Покажите как вы за, цитирую, доли секунды подключаете RBAC к самописной системе.
livetv:
Это лишь кажется, что на фреймворках удобно менять разработчиков. О практике я уже 2 раза выше говорил.
Некоторым не везет, некоторым не везет особо.
А мне-то что? Меньше конкурентов - больше заработка. Я только за, самописные системы лучшие! 🍿
livetv: Это все делается. А роутинг во фреймворках, что черт ногу сломит. У меня роутинг в .htaccess.
Эмм.. То есть даже не стандартная одна точка входа на index.php, который дальше роутит, а прям таки по Rewrite правилу на каждый action? Это чертовски круто.
livetv: А в чем проблема подключить модули? Займет доли миллисекунд.
Стооооп, мы же договаривались, полный контроль над кодом. Пол-ный. Так не пойдет. Только сами, только с нуля.
Ну ладно, так и быть, взяли модуль.. или не взяли? Вот честное слово, я отступлю от полного контроля, лишь бы увидеть подключение RBAC'a к самописке.
livetv: Как понять 5 проектов и 100 клиентов? Так 5 или 100?
100 клиентов в любом случае трудно поддерживать.
Но лучше пару крутых клиентов, чем сотни мелких.
В моей картине мира есть локальные умельцы, которые загоняют 10-20 копий самописного проектов задешево, под потребность небольшого круга людей, наплевав на здравый смысл, и все прочее. И есть рынок решений, который хочет качества, надежности и предсказуемости, а предсказуемость для бизнеса - возможность заменить исполнителя среди первых статей.
Не могу не согласиться, что лучше иметь меньшее количество, и лучшее качество, но очень удивлен что бизнес заказы перепадают и на долю наколенных решений.
На счет говнокода - да, он бывает и в проектах на фреймворках, особенно если клиент жаден, и исполнители меняются раз в месяц. Но разница во времени между "сейчас я добавлю здесь метод, впишу туда логику, и моя доработка заработает", и "что это за жесть, как оно может работать, а, вот, тут стоп нет это работать не может только если не ох черт.." все равно маргинальная :)
Вот как-раз скорее всего [абстракция бд, etc] будут лучше на самописе.
Нюанс. В идеальном мире. Вон у товарища ушло два дня (!) на каталог квартир, который на фреймворке делается за два часа включая деплой.
И спорим, если ему потребуется поменять БД, это будет не просто замена одной строчки в конфиге, хотя, казалось бы, PDO в ядре языка, а Doctrine или ActiveRecord в двух кликах. И если ему потребуется добавить миграцию данных, это может занять часы - а может убить все данные влет. Ой, простите, это же чужой функционал - мы потеряем полный контроль над кодом. Надо написать и их с нуля.
И сколько он сделал изменений по указанным статьям за последний год? Примерно ноль. Нет, не потому, что он их сразу написал идеально.
Имея _очень_ хороший опыт в указанных областях, очень много времени и множество тестировщиков (мы же не из воздуха узнаем об ошибках и уязвимостях), а также бесконечное желание чинить их самостоятельно, можно поддерживать пару самописных проектов. Но я бы предпочел заниматься созданием функционала, а не ошибок в давно изобретенных вещах :)
Вот. Чтобы владеть всем кодом самопись лучше. Но владеть всем кодом хуже. Абстракция БД, безопасность, роутинг, модули (сколько модулей ты можешь подключить к друпалу, и сколько к самопиське? Сколько времени это займет? Как хорошо ты сможешь их поддерживать, имея хотя бы 4-5 проектов, и сотню клиентов? Или сделаешь ручкой и исчезнешь с горизонта, а новый исполнитель возьмет втрое выше рынка только потому, что в этом хозяйстве разобраться - ногу сломишь?)
Sah: Зайдя в директорию файлов на сервере можно же определить последние измененные файлы по дате. Не пробовали? Узнав какие файлы он правил уже легче искать решение. А то у меня сегодня один программист долго искал проблему, но не нашел, а так было бы известно направление.
Пообщались с Kedr777, очень приятный и думающий товарищ. Частично починили.
Это порядка 60 координат. И я не знаю как их разобрать, без эмуляции браузера. Если у кого-то есть хороший, добрый и ласковый JS-монстр, можно попробовать его натравить на декодер, который вшит в АПИ яндекс.карт. Из неприятного - он минифицирован. Из приятного - он не обфусцирован. Выглядит так:
Есть очень много водителей, знания которых позволяют ездить не пристегиваясь.
livetv: И да, какой фреймворк магически защищает от SQL-инъекций, etc
Почти любой современный, если используешь его согласно инструкции, а не изобретаешь велосипед. Даже серьезные CMS вроде Друпала имеют встроенную CSRF, а уж защита от SQL инъекций, пардон, уж лет 5 есть в любом продукте. Или вы знаете фреймворк без слоя абстракции БД? Поделитесь.
Chesterfield:
Вордпресса с головой хватит, большинство инфобизнесменов спокойно ставят на WP нужный плагин/скрипт, коих десятки, если не сотни, и работают так годами. Все лежит в открытом доступе, любой фрилансер в теме WP сделает ТСу готовый сервис за небольшие деньги за пару часов.
Про пару часов, хочу такого любого фрилансера, а лучше парочку, лет на 20. Глядишь, и миллиардик поднакоплю :) Есть подозрение что на WP это займет намного больше времени. Вечно так, сначала нафиг чистоту кода и безопасность, потом в этой куче коричневой субстанции сам автор не разберется, а потом тема на форуме, где 20 человек пытаются придумать, чем лечить внезапно почивший в бозе сайт.
Мсье тонко троллит, или действительно так считает? С нуля дольше делать, результат при сравнимых затратах времени более паршивый, и мешок проблем с безопасностью в подарок. Кому оно надо?
Каждый первый такой писатель с нуля даже не думает об экранировании переменных при записи в бд. И все JS тоже с нуля, нафиг jQuery, пускай работает только под моей версией моего любимого браузера.
А именно: один сайт с выбором города, а не 3 сайта для разных городов.
Пардон, неудачно выразился. Да, ты верно сказал, экземпляр кода должен быть один, как и экземпляр БД. Но в плане доменов - все не так очевидно. Вон OLX, к примеру, сейчас посчитал что удачнее каждый город выносить на субдомен, т.е. для поисковика "сайты" разные. Возможно, ТС даже нужны сателлиты на разных доменах.
Еще один вариант - использовать разные шаблоны. Походу так это делается в вордпрессе:
Включая дизайн и верстку?
Ну тогда все клиенты Ваши. Вы у нас гений.
Мимо кассы, просто если тратить время на функционал, а не на изобретательство велосипедов - получается экономно.
Вы пьяный? При чем миграция к коду? Как нужно мигрировать, чтобы убить все данные?
Вы держите миграции вне кода? А как вы откатываетесь, когда миграция некорректна? И как вы их контролируете? Файлами SQL инструкций? Как проводите миграции, которые требуют алгоритмического изменения данных?
Вы имеете в виду меня по статье о фреймворках? Так постонно правлю тут статью. Так что мимо лужи.
Я имею в виду поддержку выпущенных продуктов. А то через полгода узнает клиент о критической уязвимости, а сообщества, которое бы ее поправить могло, и не при делах.
Подразумевается, что разработчик, до того, как стал грамотным, сумел уже наваять какой-то каркас своих наработок.
Стоп. Секунду. Фреймворк?! 😂
Так а в чем проблема подключить модуль? Речь же шла не о написании.
Вот и я говорю, никаких проблем. Покажите как вы за, цитирую, доли секунды подключаете RBAC к самописной системе.
Это лишь кажется, что на фреймворках удобно менять разработчиков. О практике я уже 2 раза выше говорил.
Некоторым не везет, некоторым не везет особо.
А мне-то что? Меньше конкурентов - больше заработка. Я только за, самописные системы лучшие! 🍿
Это все делается. А роутинг во фреймворках, что черт ногу сломит. У меня роутинг в .htaccess.
Эмм.. То есть даже не стандартная одна точка входа на index.php, который дальше роутит, а прям таки по Rewrite правилу на каждый action? Это чертовски круто.
А в чем проблема подключить модули? Займет доли миллисекунд.
Стооооп, мы же договаривались, полный контроль над кодом. Пол-ный. Так не пойдет. Только сами, только с нуля.
Ну ладно, так и быть, взяли модуль.. или не взяли? Вот честное слово, я отступлю от полного контроля, лишь бы увидеть подключение RBAC'a к самописке.
Как понять 5 проектов и 100 клиентов? Так 5 или 100?
100 клиентов в любом случае трудно поддерживать.
Но лучше пару крутых клиентов, чем сотни мелких.
В моей картине мира есть локальные умельцы, которые загоняют 10-20 копий самописного проектов задешево, под потребность небольшого круга людей, наплевав на здравый смысл, и все прочее. И есть рынок решений, который хочет качества, надежности и предсказуемости, а предсказуемость для бизнеса - возможность заменить исполнителя среди первых статей.
Не могу не согласиться, что лучше иметь меньшее количество, и лучшее качество, но очень удивлен что бизнес заказы перепадают и на долю наколенных решений.
На счет говнокода - да, он бывает и в проектах на фреймворках, особенно если клиент жаден, и исполнители меняются раз в месяц. Но разница во времени между "сейчас я добавлю здесь метод, впишу туда логику, и моя доработка заработает", и "что это за жесть, как оно может работать, а, вот, тут стоп нет это работать не может только если не ох черт.." все равно маргинальная :)
Если интересно, вот несколько забавных фактов:
https://css-tricks.com/favicon-quiz/
Но ответ SeVlad правилен и достаточен для большинства "нормальных" сайтов.
Вот как-раз скорее всего [абстракция бд, etc] будут лучше на самописе.
Нюанс. В идеальном мире. Вон у товарища ушло два дня (!) на каталог квартир, который на фреймворке делается за два часа включая деплой.
И спорим, если ему потребуется поменять БД, это будет не просто замена одной строчки в конфиге, хотя, казалось бы, PDO в ядре языка, а Doctrine или ActiveRecord в двух кликах. И если ему потребуется добавить миграцию данных, это может занять часы - а может убить все данные влет. Ой, простите, это же чужой функционал - мы потеряем полный контроль над кодом. Надо написать и их с нуля.
И сколько он сделал изменений по указанным статьям за последний год? Примерно ноль. Нет, не потому, что он их сразу написал идеально.
Имея _очень_ хороший опыт в указанных областях, очень много времени и множество тестировщиков (мы же не из воздуха узнаем об ошибках и уязвимостях), а также бесконечное желание чинить их самостоятельно, можно поддерживать пару самописных проектов. Но я бы предпочел заниматься созданием функционала, а не ошибок в давно изобретенных вещах :)
лучше самопись, чтобы владеть всем кодом.
Вот. Чтобы владеть всем кодом самопись лучше. Но владеть всем кодом хуже. Абстракция БД, безопасность, роутинг, модули (сколько модулей ты можешь подключить к друпалу, и сколько к самопиське? Сколько времени это займет? Как хорошо ты сможешь их поддерживать, имея хотя бы 4-5 проектов, и сотню клиентов? Или сделаешь ручкой и исчезнешь с горизонта, а новый исполнитель возьмет втрое выше рынка только потому, что в этом хозяйстве разобраться - ногу сломишь?)
Зайдя в директорию файлов на сервере можно же определить последние измененные файлы по дате. Не пробовали? Узнав какие файлы он правил уже легче искать решение. А то у меня сегодня один программист долго искал проблему, но не нашел, а так было бы известно направление.
Пообщались с Kedr777, очень приятный и думающий товарищ. Частично починили.
Файлы со стороны сервера:
cron/cron_create_route.php
include/find_route.php
В них дублируется код, изменения аналогичные:
1. Загрузка яндекс.карт переведена на https
2. Геокодер тоже переехал на https:
get_url_from_yandex('https://geocode-maps.yandex.ru/1.x/?geocode=...
=>
get_url_from_yandex('https://geocode-maps.yandex.ru/1.x/?geocode=...
3. Старый сервис роутинга прикрыли
$load_url='https://api-maps.yandex.ru/services/route/1.2/route.xml?
3.1. Изменился формат отдачи данных маршрута,
Изменился значительно, но после небольшого ковыряния почти все стало на место. Кроме координат.
3.2. кроме координат
Ребята из яндекса, для добра и экономии места, закодировали все координаты в одну забавную строку вида
Это порядка 60 координат. И я не знаю как их разобрать, без эмуляции браузера. Если у кого-то есть хороший, добрый и ласковый JS-монстр, можно попробовать его натравить на декодер, который вшит в АПИ яндекс.карт. Из неприятного - он минифицирован. Из приятного - он не обфусцирован. Выглядит так:
base64
coordinates.decode
Мои знания позволяют.
Есть очень много водителей, знания которых позволяют ездить не пристегиваясь.
И да, какой фреймворк магически защищает от SQL-инъекций, etc
Почти любой современный, если используешь его согласно инструкции, а не изобретаешь велосипед. Даже серьезные CMS вроде Друпала имеют встроенную CSRF, а уж защита от SQL инъекций, пардон, уж лет 5 есть в любом продукте. Или вы знаете фреймворк без слоя абстракции БД? Поделитесь.
Вордпресса с головой хватит, большинство инфобизнесменов спокойно ставят на WP нужный плагин/скрипт, коих десятки, если не сотни, и работают так годами. Все лежит в открытом доступе, любой фрилансер в теме WP сделает ТСу готовый сервис за небольшие деньги за пару часов.
Про пару часов, хочу такого любого фрилансера, а лучше парочку, лет на 20. Глядишь, и миллиардик поднакоплю :) Есть подозрение что на WP это займет намного больше времени. Вечно так, сначала нафиг чистоту кода и безопасность, потом в этой куче коричневой субстанции сам автор не разберется, а потом тема на форуме, где 20 человек пытаются придумать, чем лечить внезапно почивший в бозе сайт.
Зачем тянуть тянуть неповоротливые фреймворки?
Можно написать с нуля.
Мсье тонко троллит, или действительно так считает? С нуля дольше делать, результат при сравнимых затратах времени более паршивый, и мешок проблем с безопасностью в подарок. Кому оно надо?
Каждый первый такой писатель с нуля даже не думает об экранировании переменных при записи в бд. И все JS тоже с нуля, нафиг jQuery, пускай работает только под моей версией моего любимого браузера.
А именно: один сайт с выбором города, а не 3 сайта для разных городов.
Пардон, неудачно выразился. Да, ты верно сказал, экземпляр кода должен быть один, как и экземпляр БД. Но в плане доменов - все не так очевидно. Вон OLX, к примеру, сейчас посчитал что удачнее каждый город выносить на субдомен, т.е. для поисковика "сайты" разные. Возможно, ТС даже нужны сателлиты на разных доменах.
Еще один вариант - использовать разные шаблоны. Походу так это делается в вордпрессе:
но если там всего пара переменных - жирно выйдет.
Меня больше интересуют что-то ближе к готовому решению. Функционал описал выше.
Полагаю, такое проще собрать, чем перепилить из "несколько похожей" сборки. Готовые сборки с такими пожеланиями в свободном доступе - сомневаюсь.
Если на друпале, то:
Товары (базы, заказ рассылки) - https://www.drupal.org/project/commerce
Рассылка SMS - https://www.drupal.org/project/smsframework
Рассылка вацапов - https://www.drupal.org/project/whatsapp