• Как из шаблона html создается сайт?

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

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

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

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

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

    Ну, поигрались и хватит.

    Берете этот мануал - habrahabr.ru/post/120368 и делаете простой деплой.
    Капистрано 2 уже старая. Новая - 3я, с совершенно другим синтаксисом и т.д. Но нельзя сказать, что она лучше. Просто совсем другая. И ориентрована меньше на руби и рельсы, и больше для универсального деплоя, я бы сказал.

    Русскоязычных статей по 3й капистране и рельсам немного - habrahabr.ru/post/213269 но она перегружена для начала. Английских тоже не ахти.

    Так же, есть такой инструмент как Mina. После капистраны надо попробовать.

    И в конце прийти ко всяким ансиблам, чифам, паппетам, докку.
    Ответ написан
    Комментировать
  • Есть сайта на Ruby on Rails, как сделать загрузку товаров в excel файл из БД средствами ruby (или RoR)?

    viktorvsk
    @viktorvsk
    В простом случае можно обойтись просто рендерингом xml: railscasts.com/episodes/362-exporting-csv-and-exce...

    Для более сложных (цвета, форматирование, графики, объединение ячеек...), кроме axlsx есть другие решения:
    https://github.com/woahdae/simple_xlsx_reader
    https://github.com/harvesthq/simple_xlsx_writer
    https://github.com/roo-rb/roo

    simple_reader\writer работают, кажется, только с xlsx (без xls), но, кажется, порядком быстрее.
    Roo - просто альтернатива, по большому счету.

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

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

    viktorvsk
    @viktorvsk
    Аутентификация через соцсеть
    Ответ написан
    Комментировать
  • Как написать бэкэнд под задачу?

    viktorvsk
    @viktorvsk
    Сделал инструмент на Ruby для парсинга произвольного количества источников используя формат JSON + немного псевдо-DSL - обертку над DOM-парсером (css/xpath селекторы + фильтры). В качестве бонуса - веб-админ, более-менее простое масштабирование, кое-какой Планировщик. Все очень сыро, но, надеюсь, будет активно разрабатываться. В какой-то мере, реально используется уже сейчас.

    Надо понимать, что парсер - должен оставаться парсером. А вашу бизнес-логику (что куда добавить, когда что сохранить\кешировать в базу, когда что вывести) - должно решаться на уровне приложения

    Судя по Вашему вопросу, Вам для реализации описанного нужен будет квалифицированный исполнитель. Но, авось, пригодится: https://github.com/victorvsk/apify-kit
    Ответ написан
    Комментировать
  • Обязательно ли нужен 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 комментария
  • С чего начинать верстку сайта на движок?

    viktorvsk
    @viktorvsk
    Для начала определитесь, чем вы занимаетесь и не беритесь за такие вещи сходу.
    Что значит, "сверстать сайт, неважно под какой движок и там еще должна быть продукция"?
    Вы понимаете, что вас купили в качестве дизайнера, верстальщика, контентщика, натягивальщика и программиста? Уверены, что хотите за это браться?

    На вопрос "С чего начинать верстку сайта на движок?"
    Ответ:
    С того, что б клиент выбрал движок. Или предложить ему варианты и из них он выбрал.
    Ответ написан
    Комментировать
  • Где хранить данные, которые меняются раз в 3-6 месяцев?

    viktorvsk
    @viktorvsk
    Эмм, ну явно не в редисе. Он должен хранить данные в оперативке, а реляционные базы - на диске. Кто в итоге больше подходит под хранение данных, которые изменяются редко ?
    Именно в mysql и храните. Тем более, пока нет никаких ограничений. Почему вам "не хочется" их там хранить ?
    Ответ написан
  • Как продвинуть хостинг?

    viktorvsk
    @viktorvsk
    Может, проблема в самих шаредах?
    Все уже поголовно идут в паасы, саасы, баасы, мбаасы ...
    Виртуалки, довольно неплохие, уже за копейки продают, а многие и бесплатно.
    Кому нужен шаред? Кто ваша целевая аудитория ? Может, она просто перевелась?

    И даже если мне нужен шаред, почему мне нужно идти к вам (которых, я так понимаю, мало кто знает), а не к крупным конкурентам, у которых, по отзывам, очень пристойное качество вечно-бесплатных тарифов?

    Если вы сисадмины с большим опытом, может, следует что-то интересное ? Решения проблем инфраструктуры сейчас, вроде как, ой как очень в тренде.

    Кстати, интересно было бы, если бы вы рассказали, что такого в "техподдержке" и зачем она нужна. Везде исповедуют ее как бонус, но мне, лично, ни разу не приходилось обращаться в техподдержку по своим вопросам. Чаще всего это были вопросы из серии "что с вашим инетом\сервером\панелью". Но тут не техподдержкой надо решать, а отсутствием таких проблем. Плюс качественными мануалами на сайте.
    Действительно, мне очень сложно приходят кейсы необходимости техподдержки на шаредах или бюджетных впс.
    Ответ написан
  • Какая актуальная литература для Ruby + RoR?

    viktorvsk
    @viktorvsk
    Если есть опыт, то railstutorial Майкла Хартла - хватит с головой, освоить за неделю-две
    А дальше, уже исходя из предметной области, смотреть специализированные вещи.

    На мой взгляд, агил веб девелопмент, где 400 страниц создают магазин, рассказывая о том, что такое аякс и jquery.ui - лишнее.
    Ответ написан
    Комментировать
  • Как переназначить пути моделей в Rails?

    viktorvsk
    @viktorvsk
    Обычно, если компьютер что-то неправильно определяет, значит он используется не по назначению. Особенно легко допустить такую ошибку в такой "конвенциальной" среде, как рельсы.

    Что значит, неправильно определяет?
    Вы делаете ссылку вида:
    /users/username вместо /users/id ?

    Тогда есть метод to_param
    Ответ написан
    5 комментариев
  • Как в Rails при создании одной модели брать данные из других моделей?

    viktorvsk
    @viktorvsk
    Есть.
    Tire.create

    А если нужно что-то еще, оформите вопрос в блоки кода и опишите задачу нормально (например, более подробно)
    Ответ написан
  • [Rails] Devise Omniauth + Vkontakte. При попытке залогиниться "Not found. Authentication passthru." В чем дело?

    viktorvsk
    @viktorvsk
    В поиске довольно много ответов по этой проблеме. Ни один не подошел?
    Где пишут, что рестарт надо делать, где - что это легаси омниауса.

    Свиду, вроде, все правильно, но:
    1. Что за ссылка localhost:8080/users/auth/vkontakte.user ? Обычно она выглядит как localhost:8080/users/auth/vkontakte
    2. Для чего аттр_акссессоры у юзера?
    3. Почему идентифицируете пользователя по ссылке, а не по паре провайдер+uid ? Люди любят менять никнеймы
    4. Это опечатка?
    resource_name, provider:provider

    provider передается как параметр, а не как часть хэша. Вот скопировал из своего рабочего проекта:
    link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider)
    Ответ написан
    1 комментарий
  • [param is missing or the value is empty: task] Как решить?

    viktorvsk
    @viktorvsk
    Во-первых, сделайте
    # config/routes.rb
    resources :tasks do
     match :complete_todo, on: :member, as: :finished_task, via: :post
    end


    А дальше, пока непонятно, что за ошибка и где. Порядок дебага:
    1. Убедиться, что существует нужный роут и формируется правильная ссылка с правильным методомо (пост, гет) и форматом (html, js и т.д.)
    2. Убедиться, что запрос попадает в нужный экшн
    3. Убедиться, что таск выбран

    Про попытке отметить задачу выполненной вылетает ошибка: param is missing or the value is empty: task


    Непонятно, ошибка на клиенте или на сервере. Непонятно, что за ошибка (у эксепшенов есть классы). Непонятно, в каком месте возникает (у эксепшенов есть трейс)

    Ну, а вообще, скорее всего, вы забыли про стронг парамс и просто так написали:
    @task.update(task_params)

    и не обновили сам метод:
    private
    def task_params
    params.require(:task)
    ...
    end


    Или вообще не написали его
    Ответ написан
    5 комментариев
  • Как реализовать фоновое выполнение пользовательских задач в RoR?

    viktorvsk
    @viktorvsk
    resque, sidekiq, delayed_job
    +
    whenever, clockwork
    Ответ написан
    Комментировать
  • Agile и инструменты от Atlassian - куда пойти учиться?

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

    Просто именно "изъясняться правильно" - это первое, чему надо научиться менеджеру. Какие б ни были методологии
    Ответ написан
    Комментировать