Ответы пользователя по тегу Веб-разработка
  • Как извлечь информацию сайта в удобную таблицу?

    viktorvsk
    @viktorvsk
    Начните с того, что поймите, что вы описали не инструмент, а сервис (приложение или инфраструктуру). Разделите это "что-то" уже на инструменты. А дальше думайте, что можно найти в платном\бесплатном виде, а что выгоднее заказать разработать.

    В таком виде как описали, вы решения точно не получите ( и парсинг, и добавление в сферичскую базу, и фильтры, и просто решить проблему клиента ).
    Ответ написан
    Комментировать
  • Как из шаблона html создается сайт?

    viktorvsk
    @viktorvsk
    Всегда поражала или глупость, или жадность. Все сразу хотят знать, как это сделать, за какой срок и сколько будет стоить. То есть, просят фиксировать сроки и цену, оставляя объем работы плавающим.

    Ну вот разве нужны знания программирования для того, что бы понять, что что б использовать этот шаблон, можно:
    1. Скопировать его и оставить информацию статической
    2. Единожды поменять текст в нужных местах и оставить статчиеским
    3. Оставить как есть, все статическое, но дать возможность менять цены в xml файле
    4. Сделать админку для модерирования поездок. Статические страницы оставить статическими
    5. Сделать админку для модерирования статических страниц и поездок
    6. Сделать разделение по ролям на сайте для посетителей, пользователей, менеджеров, админов
    ...
    N. Сделать парсер, который с выбранных источников собирает горязие путевки по всем агенствам и выставляет наценки взависимости от эмоционального окраса текста описания из источника

    И, как ни странно, все это впишется в продемонстрированный html шаблон сайта :)

    Ответ непосредственно по вопросу: нанять менеджера или другого компетентного человека, который возьмется перевести Ваши мысли и идеи в удобо-понимаемую форму.
    Ответ написан
    Комментировать
  • Обязательно ли нужен html шаблон при разработке сайта?

    viktorvsk
    @viktorvsk
    Краткий ответ: что б вы не сделали, это все является html-шаблонами. Потому что в итоге все рендерится в html. Натягивать его куда-то сразу или нет, завист от поставленной задачи, целей и ресурсов. Например, если вы хотите сделать шаблон и выставить его на Envato, то нет ровно никакого смысла верстать его именно под друпал.

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

    Как происходит в реальном мире?
    У человека есть идея
    С ней он идет к бизнес-аналитику. Тот, в свою очередь, указывает на базовые ошибки, недочеты, формирует какую-то общую картину продукта
    Потом он знакомит человека-заказчика с архитектором. На своем языке аналитик объясняет архитектору задачу. Архитектор решает, какой стек технологий лучше всего применить в данном случае.
    Далее архитектор идет к проектному менеджеру и ставить уже конкретные задачи.
    Менеджер распределяет и доводит задачи до разработчиков и идет на поиски дизайнеров и юзабилистов, которые решают, зачастую уже с заказчиком, как будет выглядеть интерфейс.
    После чего результат работы дизайнеров и юзабилистов передается верстальщикам, что бы он мог воплотить их реализацию в машинное представление.
    После этого верстальщик отдает html в руки front-end разработчика, который в простейшем случае подключает плагины jquery, в сложном - делает SPA.
    Ну, а дальше, по крайней мере сегодня, завист от того, толтый клиент или тонкий. Если сделана SPA, то господа backend'erы могут ограничиться документацией API. А если рендер идет в основном на сервере - то будут "натягивать" результат работы фронтендера на свой движок.
    А после этого в игру может вступить (а может и раньше, для поднятия тестового\стейджинг окружения) - администратор для деплоя на серверы. Или даже группа оных, модно именуемых сегодня - DevOps

    К чему так много писанины? К тому, что б понять, как примерно выглядит идеальный процесс. Конечно, все описано очень абстрактно, какие-то з венья могут дублироваться, могут дробиться на более узкоспециализирвоанные и т.д., но в общем случае часто выглядеть должно как-то так. Хорошо о процессе расписано у Ф. Брукса (например, Мифический человекомесяц).

    Так вот, а в реальном мире, конечно же, все эти роли может выполнять даже 1 человек. Благо, обилие сегодняшних готовых технологий, сервисов, высоких уровней абстракции, фримиум моделей и документаций, разжеванных в марктинговых целях - позволяет.

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

    Вывод: всегда исходить из задачи, целей и ресурсов. Знание html нужно в любом случае, backender вы или frontender. А сверстанный голый статический html имеет гораздо более высокий показатель переиспользования, чем шаблон друпала.
    Ответ написан
    Комментировать
  • На каком языке заказывать интернет-магазин на 500 тыс товаров? (Django vs RoR?)?

    viktorvsk
    @viktorvsk
    500к товаров - это мелочь. С другой стороны, если вы каждую секунду захотите обновлять на них цену - это уже совсем другой разговор. Но это уже совсем другая история.

    500к посетителей в день - это сущая мелочь. 500000 / 24 / 60 / 60 у меня получилось чуть больше, чем 5 requests per second - попробуйте скажите кому-нибудь, что это высоконагруженный проект.

    со связаннаыми фильтрами: отображением разных цен и наличия для разных городов,
    сравнение, подбор и тп.


    все вышеперечисленное можно сделать и на вордпрессе. 500к товаров и посетителей, как я писал выше - в описанном случае тоже сущие пустяки и потянуть сможет даже хороший шаред хостинг.
    Да, имеется ввиду все перечисленное, кроме и т.п. :)

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

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

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

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

    Возможно, поначалу покажется, что такой подход очень дорогой, но скажу, что он довольно быстро окупается. Правда, подтвердить слова десятилетним опытом успеха такой системы не могу. Мнение все-таки довольно субъективное.
    Ответ написан
    3 комментария
  • Какие порекомендуете статьи на русском про архитектуру WEB-приложений?

    viktorvsk
    @viktorvsk
    www.ozon.ru/context/detail/id/5430638 - изложено на разборе реальных примеров топовых проектов
    Еще есть сборник www.ozon.ru/context/detail/id/8684879 - несовсем по архитектуре, местами - бред, но есть интересные мысли для общего повышения квалификации
    Ответ написан
    Комментировать
  • Как реализовать логику работы с БД для нестандартного решения?

    viktorvsk
    @viktorvsk
    Где нестандартность то и зачем делать кеш джсона?
    Ну есть "статья". Ну есть у нее статус "в черновиках". Ну да, по нажатию "сабмит" у нее обновляется последнее время доступа. Действительно, мобильный девайс при сравнении имеющейся инфы не смотрит на ту, где время совпадает с уже загруженным.

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

    В общем, ничего нестандартного, вариантов ответов масса. Конкретной информации - ноль: зачем джсон, что за файлы в контенте, что и для чего нужно искать, как часто происходит чтение\обновление данных, собственно, какие стеки технологий и т.д.
    Ответ написан
    1 комментарий
  • Кол-во блоков CSS. Какое количество является оптимальным?

    viktorvsk
    @viktorvsk
    непоняпутанстица
    какая-то :(
    Ответ написан
    Комментировать
  • Как перенести крупное PHP приложение на Python?

    viktorvsk
    @viktorvsk
    Откуда уверенность, что поддерживать Франкенштейна будет проще, чем просто сложное приложение? И что значит "поддерживать"? Вам не хватает гибкости для дальнейшего расширения? Тогда однозначно затык не в языке или базе, а в структуре.

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

    Не хотите даже структуру базы и работу с сессиями менять? Тогда все просто:
    1. Разработчиков Джанго меньше, чем разработчиков пхп (подставьте ваш фреймворк)
    2. Разработчиков перепиленного под пхп джанго еще меньше, чем просто разработчиков джанго.

    Я бы может сказал, что в Rails есть некоторые возможности поизвращаться, что б поддерживать кастомные названия таблиц, структуры и т.д., но как-то не логично: использовать фреймворк (культуру, опыт и бестпрактис сообщества), что бы пойти против культуры, бестпрактис и опыта сообщества.
    Ответ написан
    9 комментариев
  • Как называется специалист, анализирующий бизнес процессы перед созданием веб-сайта?

    viktorvsk
    @viktorvsk
    Это может быть один человек (и в мелким проектах такое очень часто бывает), но это не может быть одна специальность.
    Где-то нужно больше из области бизнес-аналитики, где-то - из области юзабилити, где-то - из архитектуры, где-то - из маркетинга и т.д.

    Если вы непосредственно про сайты-визитки, то этому чеовеку больше всего подойдет слово "сейлс-менеджер".
    Ответ написан
    2 комментария
  • Какие требования для первой работы php программистом?

    viktorvsk
    @viktorvsk
    500-700 баксов сходу?
    Для начала надо понимать, что написать класс Enimal, унаследовать от него Dog и выучить определение полиморфизма, инкапсуляции и наследование - это не знания С++ ООП.

    А, и еще Вас должно подсознательно тошнить от вопросов типа:
    Вот интересует какими знаниями должен обладать кандидат у которого нету опыта
    Ответ написан
  • Как создаются крупные интернет проекты? Типа того же habrahabr?

    viktorvsk
    @viktorvsk
    Обычно, херак-херак и в продакшн. Постоянно "скоро перепишем" и "это в следующей итерации". А те, которые делаются по продуманным бизнес-планам с заранее привлеченным инвестициям, как правило, не доживают до релиза.

    Вас никто и нигде не научит ни создавать крупные и успешные продукты, ни разрабатывать таковые. Ни даже клепать идеи.
    Ответ написан
    Комментировать
  • Возможно ли реализовать части MVC на разных технологиях в рамках одного приложения?

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

    Какого случая?
    Ответ написан
    Комментировать
  • Какие вопросы стоит задать при покупке веб-сайта, написанного на Ruby on Rails?

    viktorvsk
    @viktorvsk
    Видно, что автор не знаком с рельсами)
    Ответ написан
    Комментировать
  • Как узнать реальные цены на создание сайта?

    viktorvsk
    @viktorvsk
    А если заказчик пока сам ни в зуб ногой чего там будет в итоге, но цену хочет знать сейчас?

    Не перестает умилять :)

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

    Совет, которому явно не последует 99% заказчиков: если сами не располагаете большим опытом в управлении веб-проектами, но хотите сделать серьезный продукт (ориентировочно, планируете потратить на все-про-все не менее 5000 $, например), то самый дешевый способ это:
    1) Очень четко уяснить идею. Прописать в уме и на бумаге всевозможные сценарии. Придумать "персонажей" и юзерстори. Поделиться с друзьями и найти первую сотню изъянов, недочетов и не соответствий в задумке.
    2) После того, как идея более-менее оформлена и вы смогли донести ее суть до нескольких человек, нужно попробовать составить "блочное" тз (например, пользователи могут регистрироваться. через соцсети. только контакт и ФБ. Пользователи могут приглашать других пользователей. Пользователь может загрузить 10 картинок. Следующие - платно". Такое ТЗ тоже можно попробовать составить самому и с друзьями.
    3) После этого нужно найти человека, у которого есть более-менее нормальный опыт в разработке или управлении подобных систем и заплатить ему, например, четверть бюджета, что вы хотели вложить изначально, когда искали отклики подешевле на фрилансе, что бы он помог вам грамотно составить функциональное ТЗ.
    4) После этого с функциональным ТЗ нужно определиться со стеком технологий. Тут можно найти разных исполнителей и попросить их аргументировать, какие технологии лучше использовать и почему.
    5) Опросить этих исполнителей о примерном времени, которое может потребоваться на реализацию каждого блока (не функции). Посмотреть, есть ли серьезные различия в оценке в разных командах и стеках.
    6) Самое сложное - из тех, кто дал самые адекватные оценки (скорей всего, совершенно не самые минимальные), выбрать тех, к кому просто больше доверия.
    7) То время в часах, которое они укажут умножить на 2 и ориентироваться на эту сумму (про себя). Так же быть готовым к х3-х5 сумме.
    8) Задачу лучше всего разбить на мелкие независимые этапы, что бы лучше понимать, укладываются ли исполнители в сроки и что б всегда безболезненно для обоих сторон можно было прекратить работу.

    Иначе (если взять тех, кто обещает быстрее, дешевле и готов работать за заранее оговоренную сумму, а не time + materials) будет очередная Сиднейская опера

    Конечно, если бюджет на приложение 500 долларов на приложение, то единственный вариант - найти леприкона с горшком на фрилансе, отдать ему сразу все деньги, и молиться.
    P.S. Средняя цена приложения на западе (среднего, но законченного) - $100 K
    Ответ написан
    2 комментария
  • Как сделать подобный сайт?

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

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

    Но с другой стороны неужели так сложно научиться делать сайты более-менее нормального вида? =)

    Просто невозможно. Потому что не существует "сайтов более-менее нормального вида". Всегда есть предметная область и конкретная специализация. Дизайн? Фотошоп, иллюстратор, графический дизайн, веб-дизайн, десктопы, мобильные приложения, адаптивность ? Фронтэнд? Верстка, SPA, конкретная мобильная платформа ? Бэкенд? Банковские приложения или социальные сети?

    В вашем случае полезнее всего, мне кажется, взять за образец ваш сайт из примера (раз так понравился) и за месяц-два попробовать сделать его копию на чистом HTML (используя для удобства, скорости разработки и что б не отставать от времени и получить реальную пользу), такие вещи, как генераторы статических сайтов, систему контроля версий, багтрекеры и препроцессоры (для html - haml\slim\jade... , для css: LESS\SAS, для JS, думаю, для начала не стоит. Если вообще круто удариться в верстку (фронтэнд), то еще и использовать CSS методологию (smacss, bem...) ), а так же все это делать в нормальной OS (unix-like), и не в блокноте, а в IDE.

    Таким образом за несколько месяцев можно хорошо познакомиться с современным стеком технологий. Не вдаваясь особо в серверные языки, думаю, придет общее понимание, как вообще в целом устроен веб. Плюс, должны получить неслабые знания верстки, которые в любом случае пригодятся, даже если вы вплотную уйдете в серверные языки, т.к. html\css приходится писать всем иногда.

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

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

    После того, как ТЗ будет готов, уже и определитесь, что лучше, взять CMS и допилить или использовать фреймворк. Так же, определитесь со стэком технологий (не стоит делать сайт визитку на erlang и mongodb, а cms\ecommerce на ruby).
    Ответ написан
    Комментировать
  • Какую выбрать технологию и язык для написания диплома (ASP.NET MVC 4 или Yii PHP Framework или Ruby on Rails)?

    viktorvsk
    @viktorvsk
    Врядли за такое короткое время, не располагая большим опытом, самому получится написать что-то стоящее по типу CRM, менеджера проектов и т.д.
    Конечно, все зависит от того, что значит "с с# намного больше", но если нет реального опыта разработки продакшн приложения на нем, то я бы посоветовал взять https://github.com/redmine/redmine на ruby и к нему клиент написать клиент на фронтэенде (backbone, angular...), далее, если будет время, завернуть в экстеншн для браузера, или с фонгапом сделать приложение.

    Ruby - много синтаксического сахара для быстрой разработки
    Redmine - его используют даже там, где о руби вообще не знают, насколько мне известно, довольно качественный и гибкий продукт: не придется городить тонну своих велосипедов.
    Клиент на фронтэнде - это довольно популярный скилл, заставит освоить много технологий, очень большое количество юзкейсов, просто интересно.
    Плюс, если все-таки хоть что-то получится, то хорошие клиенты на рейдман покупают, вроде как ( rmclient.org/ru )
    Ответ написан
    7 комментариев
  • 1 папка и 10 000 картинок или 10 000 папок и по одной картинке в каждой?

    viktorvsk
    @viktorvsk
    Если прямо отвечать на вопрос, то я думаю дела обстоят так (если ошибаюсь, поправьте):
    1) Если в базе у вас хранится путь к картинке, то по производительности абсолютно не важно, это users/user_10000/avatar.png или users/avatar_10000.png
    2) Каждая созданная директория - это накладные расходы (на большинстве файловых систем около 4 КБ, как я понимаю)
    3) Фрагментирование здесь не играет роли, так как сервер обычно на юниксе, так что ничего страшного (вот тут не уверен)
    Ответ написан
    Комментировать
  • Правильный запрос на удаление

    viktorvsk
    @viktorvsk
    Или как написано на 53 строчке исходника - изменить значение на POST.
    В любом случае, этот запрос должен быть или POST или DELETE
    Грубо говоря, отправляться из элемента form с method=delete или method=post
    Ответ написан
    Комментировать