Нужна помощь специалиста в web
2436
29
Нужны консультации тех, кто участвует в поддержании интернет сайтов

"сами мы не местные" так что сильно не ругайтесь если не в тему :dedsneg:

Предыстория: всё началось с потребности у заказчика выгружать данные в Битрикс из 1С 7.7 Торговля в формате CSV. Не сложную в настройках и т.п. с описанием работы для "деревенских". Получилось вполне универсально ( образец тут )
При сдаче / отладке пришлось немножко поразбираться в работе этого самого Битрикса

Ну и возникло предположение, о правильности которого и хочу спросить:
1. Другие системы управления сайтами работают где-то так же (база данных под SQL и обвязка из PHP скриптов).
2. Во всех используются скрипты обмена (CSV, XML, ...). И эти скрипты не сложно подправить

И ещё вопрос к практикам:
Насколько часто (с какой регулярностью) "конечные" пользователи используют выгрузки из своих информационных систем типа 1С-ки для загрузки данных на сайт ?
itsmith
а я вообще делал собственный скипт обработки cvs.
cvs - это прежде всего текстовый формат и самое главное при его использовании - задать правильность его обработки.

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

mysql, xml здесь вещи не обязательные, поскольку cvs файл выполняет функцию некой базы данных. :миг:
itsmith
1. Другие системы управления сайтами работают где-то так же (база данных под SQL и обвязка из PHP скриптов).
Да
2. Во всех используются скрипты обмена (CSV, XML, ...). И эти скрипты не сложно подправить
Не факт. Хотя в любом случае что-то хранится в базе и нужно написать просто транслятор CSV->БАЗА. Но скрипта обмена вовсе может и не быть.
-Насколько часто (с какой регулярностью) "конечные" пользователи используют выгрузки из своих информационных систем типа 1С-ки для загрузки данных на сайт ?
Если они при заказе сайта об этом говорят то наверно часто. А так скорее-всего нет
itsmith
1. скажем так - подавляющее большинство
2. разные варианты встречаются, от правки скрипта импорта программистом до мастера настройки импорта :live:
Torch
Не факт. Хотя в любом случае что-то хранится в базе и нужно написать просто транслятор CSV->БАЗА.
у меня базы нету. все работает через csv+php - > html
quazare
Не факт. Хотя в любом случае что-то хранится в базе и нужно написать просто транслятор CSV->БАЗА.
у меня базы нету. все работает через csv+php - > html
:respect: не хило

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

Если никаких наворотов / условий / проверок не требуется
(например все проверки / сортировки проходят на момент подготовки CSV в учётной системе) !!! то просто песня :bday:

И во сколько такой двухстраничный сайт обойдётся заказчику?
(дизайн не считаем, учитываем только разбиение на страницы по 20-50-100 позиций)

если вслух нельзя, то в личку, плиз :смущ:
itsmith
:respect: не хило

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

Если никаких наворотов / условий / проверок не требуется
(например все проверки / сортировки проходят на момент подготовки CSV в учётной системе) !!! то просто песня :bday:

И во сколько такой двухстраничный сайт обойдётся заказчику?
(дизайн не считаем, учитываем только разбиение на страницы по 20-50-100 позиций)
Кроме того, есть поиск без базы по различным условиям.. То что такая система работает - даже могу ссылку дать на действующий сайт (в личку).
quazare
И во сколько такой двухстраничный сайт обойдётся заказчику?
(дизайн не считаем, учитываем только разбиение на страницы по 20-50-100 позиций)
Кроме того, есть поиск без базы по различным условиям.. То что такая система работает - даже могу ссылку дать на действующий сайт (в личку).


Есть промышленные решения которые широко применяются и используется. А есть можество велосипедов изобретенных анонимными программистами. Я тоже писал админку которая всё хранила в файлах. Но сейчас такого уже нет - нормальная база данных выигрывает практически по всем параметрам.
Torch
Есть промышленные решения которые широко применяются и используется. А есть можество велосипедов изобретенных анонимными программистами. Я тоже писал админку которая всё хранила в файлах. Но сейчас такого уже нет - нормальная база данных выигрывает практически по всем параметрам.
Ты хочешь сказать, что 1с-битрикс (о котором был выше речь) - это есть "библия" промышленных решений? Ты видел скрипты битрикса? В базовых версиях нет даже полноценной поддержки ПХП5. Код "путается" с разметкой, я был в шоке от этого. Кроме того, битрикс не построен, на архитектуре MVC - это значит, что он уже морально устаревает. Даже любимый шаблон всех "программистов" Джумла уже использует MVC технологию.

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

Есть СТАНДАРТЫ - их нужно соблюдать - это да. И абсолютно никого не волнует каким методом будет формироваться "выход".

Кстати, на счет "такого уже нет" - ошибаешься, есть современные БД, основанные именно на файловой структуре. Главное и очень большое их приимущество - независимость и переносимость. Конечно и применяются они в соответствии со своими возможностями.
quazare
Ты хочешь сказать, что 1с-битрикс (о котором был выше речь) - это есть "библия" промышленных решений? Ты видел скрипты битрикса? В базовых версиях нет даже полноценной поддержки ПХП5. Код "путается" с разметкой, я был в шоке от этого. Кроме того, битрикс не построен, на архитектуре MVC - это значит, что он уже морально устаревает. Даже любимый шаблон всех "программистов" Джумла уже использует MVC технологию.

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

Есть СТАНДАРТЫ - их нужно соблюдать - это да. И абсолютно никого не волнует каким методом будет формироваться "выход".

Кстати, на счет "такого уже нет" - ошибаешься, есть современные БД, основанные именно на файловой структуре. Главное и очень большое их приимущество - независимость и переносимость. Конечно и применяются они в соответствии со своими возможностями.
Естественно БД будет данные хранить в файлах - а где ещё то? Просто одно дело когда это специально написанный мега-оптимизированный и маштабируемый сервер(MySql :улыб:), другое дело когда это коряво написанное на интерпретируемом языке запущенное с минимальным приоритетом самодельное подобие базы данных.

Mvc тут вообще причём? В новой джумле да, он наверно есть. Но вот лично я этот MVC отношу к модным и наверно удобным фенькам, но вовсе не как необходимость. Пусть в этом битриксе код хоть в мясорубке перемешан с выводом - это сказывается лишь на сложности поддерки кода, а это у же не моё дело а битриксовцев.

Про "готовенькое" - на единичках и ноликах программы сейчас уже никто не пишет, т. е используют готовые решения. Кто-то останавливается на фреймвоке, кто-то использует готовую cms - в любом случае сам факт использования чего-то готового ни в коем случае не минус.
itsmith
И во сколько такой двухстраничный сайт обойдётся заказчику?
почему двух- ? "главная" и "прайс-лист" или "прайс-лист" и "загрузить прайс" ?
впрочем, ответ на вопрос существует и без уточнений - ровно во столько, сколько заказчик заплатит разработчику...:миг:
Torch
Естественно БД будет данные хранить в файлах - а где ещё то? Просто одно дело когда это специально написанный мега-оптимизированный и маштабируемый сервер(MySql :улыб:), другое дело когда это коряво написанное на интерпретируемом языке запущенное с минимальным приоритетом самодельное подобие базы данных.

Mvc тут вообще причём? В новой джумле да, он наверно есть. Но вот лично я этот MVC отношу к модным и наверно удобным фенькам, но вовсе не как необходимость. Пусть в этом битриксе код хоть в мясорубке перемешан с выводом - это сказывается лишь на сложности поддерки кода, а это у же не моё дело а битриксовцев.

Про "готовенькое" - на единичках и ноликах программы сейчас уже никто не пишет, т. е используют готовые решения. Кто-то останавливается на фреймвоке, кто-то использует готовую cms - в любом случае сам факт использования чего-то готового ни в коем случае не минус.
Конечно, кто к чему привык - то и кажется ему истиной.

К вопросу о бд: ясно, что MySQL - слишком распространена и слишком "понятна" в своем применении, но, я бы сказал, она не является панацеей от всех возникающих вопросов. Ее основной минус, на мой взгляд, в том, что она не будет работать при отсутствии (по каким либо-причинам) самого "крутящегося" сервера MySQL. Что делает разрабатываемую программу зависимой как минимум от 2-х составляющих PHP+MySQL.

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

О mvc: О нем я написал в ответ на фразу "о выборе промышленных решений". MVC - архитектура программы, разделяющая всю программу на 3 независимых модуля (корнями своими уходит в 90-е годы (java) или еще глубже). Полноценное применение такой архитектуры в php стало возможным с введением принципов ООП. Если рассматривать веб как платформу для полноценной разработки приложений, то думается, что именно за mvc - будущее.

О "готовеньком" - считаю, что на "ноликах и единичках" пишет достаточно много людей (в том числе и я) - это просто необходимо в ряде случаев. Но опять таки повторюсь - выбор решения всегда будет зависить от возможных трудозатрат.
quazare
К вопросу о бд: ясно, что MySQL - слишком распространена и слишком "понятна" в своем применении
бред.
artem2005
Хорошо, насколько углубленно вы знаете MySQL и вообще реляционнные субд в частности?
Не кажется ли вам, что ради таблицы из шести полей и трех записей не стоит использовать вообще SQL-бд?
Mad_Dollar
а из семи полей и четырёх записей?
где тут золотая середина?

поля могут быть разные и размер записей тоже.
quazare
MVC - архитектура программы, разделяющая всю программу на 3 независимых модуля
не особо понял необходимость имени собственного для этой "технологии", но считаю, что противопоставлять ее мускулу неверно и с т.з. идеологии sql и с т.з. формулировки термина "mvc" .
Считаю , что, например, smarty неудобна и избыточна, а ее применение продиктовано в бОльшей степени неспособностью прогрраммиста быть дизайнером и наоборот
Mad_Dollar
Хорошо, насколько углубленно вы знаете MySQL и вообще реляционнные субд в частности?
Не кажется ли вам, что ради таблицы из шести полей и трех записей не стоит использовать вообще SQL-бд?
Это не таблица это конфиг-файл. Речь идёт о cms - там зачастую побольше 6полей и 3х записей.
wobbler
MVC - архитектура программы, разделяющая всю программу на 3 независимых модуля
не особо понял необходимость имени собственного для этой "технологии", но считаю, что противопоставлять ее мускулу неверно и с т.з. идеологии sql и с т.з. формулировки термина "mvc" .
Считаю , что, например, smarty неудобна и избыточна, а ее применение продиктовано в бОльшей степени неспособностью прогрраммиста быть дизайнером и наоборот
совершенно согласен, cкажем так, сравнивать подход mvc с sql это все равно, что сравнивать ж..у с пальцем..
смарти - "почти" mvc. любой квалифицированный программист может написать при необходимости собственный "смарти".
artem2005
где тут золотая середина?
Золотая середина - в правильном проектировании =)
Вы же прекрасно понимаете, что в умелых руках и каток способен на полицейский разворот, вопрос лишь один - оно того стоит и настолько ли умелые руки у нынешнего водителя катка?
Возьмем программу "Hello World" - она есть в любом языке, и выполняет всегда одну функцию - показывает основную структуру и синтаксис языка программирования. Предположим даже, что эта программа должна генерировать windows-окно с неким текстом. Ее можно написать на чистом с++ с использованием винапи, а можно накидать форму в каком-нибудь визуал-студио.
Первый вариант - затратный по времени при разработке/отладке, но дает выигрыш в коде (размер) и наверняка в производительности. Второй - интуитивно понятен и доступен неискушенным новичкам. В обоих вариантах задача решена, но разной ценой и с разной эффективностью.
Так же и с использованием БД - да, удобно при разработке иметь единое хранилище данных, удобно использовать стандартные средства для доступа к этим данным и их контролю, удобно иметь много понятных и доступных средств по резервному копированию этих данных, но так ли необходимо их использовать?
Есть такое устойчивое словосочетание стрелять из пушки по воробъям, так же и с использованием БД - где-то разумно и обоснованно использование БД, где-то разумней и целесообразней использовать альтернативные способы хранения данных.
Вот скажите, на кой черт в вебпроекте из трех страниц, одна из которых является прайс-листом (который просто должен обновлятся - ни о каком интернет-магазине речь при проектировании не шла) использование БД? Зачем туда прикручивать-выдумывать CMS для того чтобы обновлять этот прайс-лист? В этом случае решение с csv-файлом, заливаемым предположим через ftp/вебформу куда как более простое и понятное для реализации программистом и для конечного пользователя в общем случае - ему куда как проще подготовить новый прайс в том же экселе, экспортировать его и просто залить?
Torch
Это не таблица это конфиг-файл. Речь идёт о cms - там зачастую побольше 6полей и 3х записей.
почему идет речь только о реляционных бд для построения cms? а как же xml или еще лучше - json - это ведь тоже базы данных.
Mad_Dollar
Вот скажите, на кой черт в вебпроекте из трех страниц, одна из которых является прайс-листом (который просто должен обновлятся - ни о каком интернет-магазине речь при проектировании не шла) использование БД?
вероятно, чтобы иметь возможность листания, поиска по параметрам и сортировки (упорядочивания) на нескольких тысячах позиций, больше то незачем, действительно.
Андрей Первый
Спасибо всем, кто принял участие в обсуждении :superng:

посмотрел сайт "на чистом CSV" сделанный quazare
Забавно, конечно я не спец в веб-программировании, но забавно :appl:

как "закоренелый разработчик" добавлю в дискуссию, по поводу БД

как только предполагается что-то из следующих вариантов
1. оперативное обновление, управление отображением (чаще чем раз в квартал)
2. поиск сортировка
3. просто большой список позиций

работа с БД тут же начинает сильно выигрывать.у "статической" системы,
хотя бы большей проработкой сервисов и ценой.
Стоимость, например, у Битрикс-Старт ~ 5т.р. вместе с простеньким шаблоном.

Мне недавно пришлось покрутить Битрикс, просто как "оператору контекста" - вполне удобная вещь и довольно толково задуманная (недочёты в реализации есть, но они есть в любой большой и развивающейся системе)

Т.е. за счёт "интуитивно понятного" интерфейса и невысокой стоимости (большие тиражи), регулярного централизованного обновления движка - такие системы потеснят "альтернативные"
(ну среди мелких проектов точно)
Варианты Малый-Бизнес и Бизнес (с интернет-магазином) ещё не крутил по серьёзному.

т.е.для пользователя с небольшими познаниями в этой сфере (типа меня) рекомендую:
1. система с хранением информации в базе данных
2. обязательно "популярная" система, по которой есть кого спросить
3. желательно "на поддержке" у разработчика
itsmith
Спасибо всем, кто принял участие в обсуждении :superng:

посмотрел сайт "на чистом CSV" сделанный quazare
Забавно, конечно я не спец в веб-программировании, но забавно :appl:
Современное веб-программирование на самом деле мало отличается от обычного прикладного.

А я кстати не люблю готовые системы - типа Битриксов, Джумл и т.п. - возможно из-за того, что они достаточно сложны в понимании. Кроме того Битрикс - вообще только через франчайз устанавливается, на сколько я знаю.

мне вот например всегда проще придумать и реализовать собственный алгоритм для чего-либо - написать с нуля класс обработки формата xml или csv (как и было сделано). Ну или например - работа с xls-файлом (как с базой данных)
itsmith
это была реклама типа "1с + Битрикс + я любимый" ? :ха-ха!:
Андрей Первый
это была реклама типа "1с + Битрикс + я любимый" ? :ха-ха!:
ну а куда-же без этого...
Андрей Первый
Грех смеяться над убогими :улыб:

Это мои первые шаги в этой области, всё так интересно и непонятно ...

ну а Битрикс .... - ну не знаю ничего другого :dnknow:

Узнаю - расскажу :umnik:
Андрей Первый
После непродолжительного наблюдения общения руководителя новосибирского битрикс с разработчичками даже не хочу смотреть на битрик. Да и зачем он нужен если есть Joostina?
Torch
Тогда уже Joomla 1.5 на нормальном хостинге.
itsmith
да какой тут смех, ситуация стандартная - новичок, сам спросил - сам ответил, и куча модных слов :1: