• Дизайн API для матричной библиотеки?

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

    Вот перебор для разреженных матриц мог бы выглядеть несколько иначе, чем для плотных. Чтобы не перебирать каждый элемент разреженной матрицы можно было бы завести специальный итератор, который бы пропускал нулевые элементы. А для разреженной матрицы можно было бы использовать итератор попроще — не пропускающий элементы, «плотный». С ним и работать было бы легче.

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

    Задача API не только в том, чтобы давать возможности, но и подталкивать к выбору правильных решений. А использование «плотного» итератора для разреженных матриц — неправильное решение, так что его можно было бы в интерфейс разреженных матриц не добавлять совсем.
    Ответ написан
    4 комментария
  • Django vs RoR...?

    firstrow
    @firstrow
    Вот моя короткая история. в основном я пишу на php.

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

    и вот недавно я делал тоже портал на рельсах, но намного больше по функционалу. новости, афиши, поиск по предприятиям, вобщем тоже много разного функционала. Ребята, это превый проект который я сдал в срок, причем весь код покрыт тестами,!
    было круто. причем, руби я знал базово и много узнал по ходу разработки.
    Ответ написан
    Комментировать
  • Django vs RoR...?

    yurtaev
    @yurtaev
    Пишите то на чем удобно и что чаще всего используете (язык в том числе). Имел прекрасную возможность реализовать проект на джанге и на рельсах. Проект с большим развесистым API изначально был на джанге, потом я с горящими глазами за пару дней реализовал его на рельсах, я был в восторге от того что все есть из коробки, программирования на основе соглашений, REST full api описывается тут же в контроллере, куча батареек на все случаи жизни, слежение за зависимостями. Мне казалось дикостью что core девелоперы джанги отказывались ломать совместимость в пользу ускорения введения новых фич. Плюс руби на котором все делали кучу удобных DSL-ей на все случай жизни. Но через большое время жизни проекта я понял что мне очень не хватает опыта с рельсами, а еще больше с руби, мой основной язык работы питон + огромная волна задач на js (полноценные веб приложения с большой логикой), и когда вновь возникали задачи на проект с рельсами я чувствовал дискомфорт от того что простые задачи требовали кучу времени. Затем вновь была джанга, она уже казалась такой родной, я знаю почти все её уголки, и с большей уверенностью смогу решить на ней любые поставленные задачи. У джанги нет того многообразия батареек и фишек из коробки, поэтому стоит немного уделить внимание поиску решений задачи прежде чем писать код. Управление статикой, миграций, деплой, все решается батарейками, не хуже чем на рельсах. Когда я стал замечать рутинные задачи которые решались на рельсах, я старался находить пути решения, обычно на это уходит 5 минут поиска или кодинга (большая часть решается фабриком).
    А в настоящее время набирает просто гигантскую популярность nodejs у которой просто гигантское количество батареек аналогов которых нет не у кого.
    Я это все к тому что надо выбирать инструмент с головой, тот что более знаком, желательно написанном на основном для себя языке. Но если есть возможность то пробовать все то что приносит радость, я очень благодарен моему начальству которое дало мне эту возможность.
    Ответ написан
    2 комментария
  • Django vs RoR...?

    @XimikS
    Я начинал с Django, но однажды наткнулся на рельсы и этот туториал , и влюбился в них.

    Почему Rails?

    — Быстрая разработка. В Rails это поставлено на первое место, и вместе с тем, рельсы неплохо масштабируются.
    — Экосистема. Для рельсов целая туча гемов на все случаи жизни. Devise, Gon, Mongoid, Rails_best_practices…
    — Тестирование. Просто попробуйте такие гемы как RSpec, Cucumber, Capybara.
    — Язык. После более простого питона, я немного побаивался языка с кучей спецсимволов, как оказалось, зря :) Хорошо написанный код читается как текст на английском, в особенности при использовании DSL.
    Ответ написан
    1 комментарий
  • Django vs RoR...?

    jj_killer
    @jj_killer
    Перешел с Python (Flask, Bottle) на Ruby (Sinatra, Rails). Не жалею. В плане web-разработки, ИМХО, Ruby экосистема развита лучше.
    Ответ написан
    2 комментария