• Rails. Как добавлять элементы в массив в хеше?

    viktorvsk
    @viktorvsk
    Попробуйте, вот так полегче читается, вроде:
    def check_docs(docs)
      return false unless docs.present?
      hash = {}
      docs.each do |doc|
        name = doc.original_filename.split('.').last
        hash['pictures']  << doc if pic(name) != false and hash['pictues'] ||= []
        hash['docs']      << doc if doc(name) != false and hash['docs'] ||= []
      end
      hash.presence
    end

    Разве что, две оговорки:
    1. Первая и последняя строчка подразумевают, что используется Rails (ну, или хотябы ActiveSupport)
    2. Если hash будет пустой, вернется не false, а nil

    P.S. Кстати, какая-то плохая идея в блоке each использовать переменную doc и там же обращаться к какому-то методу doc() (с одинаковыми именами)
    Ответ написан
    1 комментарий
  • Как анимировать строку ввода?

    viktorvsk
    @viktorvsk
    Если вы хотите, что б одновременно и палочка крутилась, и вводить текст можно было, то это совсем врядли.
    Если просто что-то анимировать:
    https://github.com/prydonius/spinning_cursor
    https://www.ruby-toolbox.com/categories/CLI_Progre...
    Ответ написан
    Комментировать
  • Недавно попробовал установить сайт на хостинг heroku и при вызове(heroku open) не работают стили, может кто сталкивался?

    viktorvsk
    @viktorvsk
    https://devcenter.heroku.com/articles/rails-4-asse...
    На хероку так просто свои файлы грузить нельзя (ассеты: стили, скрипты, картинки, в том числе) - для этого используют сторонние сервисы: Дропбокс, S3 и т.д.
    Ответ написан
    Комментировать
  • Почему в erb темплейте игнорируется участок кода?

    viktorvsk
    @viktorvsk
    Ладно разметка. Но где логика?
    По вашему коду, что бы получить
    <td class="green">
            8</td>

    нужно, что бы :
    1) @statistics[service] НЕ имел ключа errorsrate
    2) Был String
    3) Был больше 5 (противоречит условию 2)

    В данном конкретном случае errorsrate точно не string.

    Поверьте, там НЕ String, иначе была бы ошибка
    ArgumentError: comparison of String with 8 failed

    (Попробуйте в консоли сравнить "-" > 5)

    В общем, на самом деле беда не форматированию, а описанию задачи. Похоже на лабораторную в универе - a = x + 1 - b ...

    Что сделать-то нужно ?
    Ответ написан
    Комментировать
  • Как правильно хранить данные в массиве Postgresql?

    viktorvsk
    @viktorvsk
    Не понимаю, что вы делаете, но проблема
    Проблема в том что в массив добавляется только 1 последнее значение

    при вызове метода
    @history = @student.add_payment
    кроется здесь:
    self.payment = []

    То есть, вы сначала создаете новый массив, а потом добавляете туда что-то. Естественно, это что-то будет там в гордом одиночестве.
    Ответ написан
    3 комментария
  • Вы работаете со своими проектами на локалке или удаленно?

    viktorvsk
    @viktorvsk
    Тяжела и неказиста жизнь типичного пхп-программиста
    getjump.github.io/ru-php-the-right-way осильте для начала это, если не хотите, что б боль с каждым днем прогрессировала

    Никаких денверов. Никаих мобильных HDD. Никакой синхронизации по фтп.

    Ну а конкретно по вопросу:
    Конечно, локально. Вы описали столько проблем, а это вы работаете сами. Представьте, что нужно будет работать вдвоем. Втроем. Вдесятером. Все разбросаны по миру и есть только скайп.

    У каждого разработчика должно быть свое собственное удобное уникальное окружение.

    0. Вместо винды - *nix
    1. Вместо денвера - встроенный веб-сервер для начала. Потом, при необходимости (с Вашим подходом, она может возникнуть не скоро), - полноценный веб-сервер.
    2. Вместо дропбоксов и мобильных HDD - система контроля версий
    3. Вместо синхронизации по фтп - какой-нибудь нормальный воркфлоу по деплою (например, www.davegardner.me.uk/blog/2012/02/13/php-deployme... ). Плюс что-то следящее за зависимостями (например, https://getcomposer.org/ )
    Ответ написан
    Комментировать
  • Как рассказать о негативном опыте сотрудничества с пользователем Хабра?

    viktorvsk
    @viktorvsk
    Просто пишите на тостер. И всем друзьям посоветуйте. Вы пар выпустите, а нормальные разработчики возьмут на заметку, кого из заказчиков обходить стороной.
    Ответ написан
    Комментировать
  • Как распарсить необычный файл JSON на С#?

    viktorvsk
    @viktorvsk
    К сожалению, это невалидный JSON.
    Если взглянуть на спецификацию: www.json.org справа в слобце используемых лексем можно увидеть, что пустое значение должно передаваться как null.
    У вас же есть последовательность ,,

    Приведенный источник, видимо сам немного умный и делает некоторые допущения при парсинге.

    Вы можете попробовать перед парсингом заменить вот такой регулярное выражение:
    /\,\s?+,/ на такую строку ',null,'

    Для вашего примера сойдет, но надо помнить, что такой вот JSON:
    { "key": "val,,ue" } такой подход тоже превратит в { "key": "val,null,ue" }

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

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

    Это невалидный формат данных. Здесь просто не будет
    Ответ написан
    Комментировать
  • Как отправить HTML письмо не программисту?

    viktorvsk
    @viktorvsk
    MailChimp и аналоги. Собственно, ищите по "Сервис для отправки email"
    Ответ написан
  • Для PHP нужен лок. сервер, а для других ЯП?

    viktorvsk
    @viktorvsk
    Сервер нужен обязательно. LAMP - нет.
    В пхп есть php -S localhost:3000 , кажется, - встроенный веб-сервер
    Во всех остальных языках (руби, питон, например), с минимальными телодвижениями - тоже.
    В качестве базы данных всегда можно использовать sqlite - просто файлик.
    Тут, думаю, ссылочки излишни. Разве что:
    php.net/manual/en/features.commandline.webserver.php

    Ну, и еще на будущее хорошо понимать, что распространенная природа пхп отличается от других. пхп у вас рождается и умирает при запросе, а в других языках привыкли загружать окружение и работать с ним (в общем случае). В итоге вы увидите, что приложение пхп в продакшене может занимать 5 мегабайт, а в руби - 200.
    Ответ написан
    Комментировать
  • Не могу настроить capistrano, что я делаю не так?

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

    Смотрите, от какого юзера делается деплой. Какие у него права. Какие команды выполнились, а какие нет. Смотри все логи, которые только найдете. Попробуйте ради теста перенести исходники на битбакет.
    Ответ написан
    8 комментариев
  • Rails/Carrierwave множественная загрузка по URL?

    viktorvsk
    @viktorvsk
    Всмысле, написать за вас модели, контроллеры, роуты и вьюхи?
    Ну, вы все правильно поняли - и что carrierwave нужно на отдельную модель вешать. И что нестед_аттрибутс надо использовать.

    С такой формулировко вам нам фриланс. Сюда - с конкретными вопросами. Что не получается, где застряли?
    Ответ написан
    4 комментария
  • Как сохранить отступы при замене текста?

    viktorvsk
    @viktorvsk
    Хм, а что вы ожидаете?
    У вас {{ inlucde='file' }} имеет отступ в один таб. Его и получайте в результате (который вас не устраивает) перед первым h1.
    h1 и latest_news наравне, потому что h1 получил отступ от первоначального шаблон. а latest_news - видимо, в файле тоже имеет 1 таб отступа.
    И, в завершении, закрывающийся h1 не имеет отступа, как в файле откуда он взят, так и в файле куда он вставлен.

    Вывод: все вставляется так, как и должно.

    Вы хотите, что б вставляемый файл учитывал отступы родителя? Плюс, наверное, хочется, что б была произвольная вложенность ?

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

    viktorvsk
    @viktorvsk
    У Вас не загрузились стили, а код уже выполняется?
    Тогда самый простой вариант, весь код запускать в
    $(document).ready(function(){ $("#div").load('/url'); });
    Ответ написан
  • Обьективно: Python или Ruby?

    viktorvsk
    @viktorvsk
    Объективно, лучше будет продолжить пхп.
    Действительно, кажется, что говнокодить на руби и питоне сложнее (например, потому что вы так просто без знаний не сдадите заказ на галимую велосипедную-цмску на питоне или руби, как минимум потому, что для этого нужно будет настроить сервер, веб-сервер, сокеты, как-то это все задеплоить и т.д., а не как на пхп - скопировал на шаред по ФТП свое "творение" и думаешь, что программист)

    Но мало разницы между опытным пхп, питон, руби, джаваскрипт и т.д.
    Ответ написан
  • Как зайти на сайт (на Ruby on Rails) имея такие ftp-данные???

    viktorvsk
    @viktorvsk
    Наверное, с юристами и бухгалтерами после девяностых точно так же было ? :)
    Ответ написан
    Комментировать
  • Насколько быстро можно изучить Ruby on Rails до уровня работы над файлообменником?

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

    Разобраться в рельсах с нуля при наличии знаний, что такое веб, браузер, html, frontend, backend, vps, *nix на уровне понимания, откуда баги, как их исправить влоб и сколько примерно уйдет на это времени - полгода. Что править, не увеличивая время дальнейшей поддержки до бесконечности в худшем раскладе - от года до двух. Без указанных знаний - от года до пяти лет, соответственно, в зависимости от целеустремленности, упорства и склада мышления.
    Ответ написан
    Комментировать
  • Как извлечь информацию сайта в удобную таблицу?

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

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