Pull to refresh
0
0
Парамонов Алексей @aparamonov

User

Send message
Для меня ваш cucumber — это огромная пушка, цель которой предоставить аналитикам самим писать тесты.
Это дополнительный уровень инфраструктуры в вашем коде. Имхо, проще добавить groovy/scala в проект в тесты и наслаждаться: etorreborre.github.io/specs2

Более того, cucumber тесты тупо дольше писать — надо писать именно те фразы, которые были определены для конкретного действия: github.com/cucumber/cucumber-jvm/blob/master/examples/java-calculator/src/test/java/cucumber/examples/java/calculator/RpnCalculatorStepdefs.java — ну почему я должен написать 'I add 1 and 2' и реализацию метода вместо простого calc.push(1).add(2) (предположение как выглядел бы вменяемый интерфейс к калькулятору)? Вместо одной строчки!

Это Вам кажется, что сложнее, потому что Вы не пробовали. Попробуете писать на обычных тест-фреймворках — у вас код будет лаконичнее и тестов, и самого тестируемого кода.
Мне кажется, Вы rxjs переизобрели.
А почему, кстати, фреймворк не в open-source?
Что касается пунктов…

Сейчас очень распространены легковесные фреймворки типа Play (со своим шаблонизатором, который компилится в исходный код) и SPA решения…
JSP, конечно, — боль. Но почему сразу сервлеты? У вас же код нечитаемым месивом будет.
И, да, а почему JSP тормозной? Он же в сервлет компилируется.

Совет не писать собственный пул потоков в бд доставило…

Почему вы рассматриваете очереди, deadlocks в этом ключе?
Давно придумали functional, reactive programming, чтобы увести в 0 взаимодействие между потоками. А если взаимодействие есть, то его осуществлять на неблокируемых операциях like CAS.
Кто-нибудь использует J2EE для хай-лоад проектов? Какая нагрузка, стабильность?
Я честно о таком впервые слышу. Обычные отзывы о J2EE контейнерах перемешаны с кровью, потом и слезами даже на простых проектах. Не слышал об исключениях.
По-моему слишком много магии.
Akka и rx frameworks выглядят гораздо приятнее и надежнее.
Нет, нету. И отрабатывает за пару секунд, что очевидно, тоже неправильно.
Решил проблему использованием iReSign — вот он работает :)
А у кого-нибудь возникало, что iModSign завершал подписание, но никакого нового файла не создавалось?
Это и правда кошмарно читается — надо всматриваться где начало и конец блоков/вызовов, слишком много вложенных отступов/блоков.
Пример чуть побольше — и разработчики с ума сойдут.

const findUser = (id) => User.findOne({where: {id}})
const onSuccess = (user) => done(null, user)

passport
  .deserializeUser(findUser)
  .then(onSuccess)
  .catch(done);
Нет, я больше по Scala-стеку. :)
Посмотрите в сторону functional programming (например rxjs), чтобы избавиться от бойлерплейта 'if (!err && response.statusCode == 200) {'
Я бы предпочел видеть API в таком виде:
req
  .post(...)
  .onOk((body, response) -> console.log(body))
  .onStatus(404, () -> ...)
И чем это лучше монолита?
Как будете эти микросервисы масштабировать?
Предполагалось? Должен быть?
А бенчмарки-то где?
    contentType = formats("json")
    basicAuth()


По мне очевидно, что первая строчка устанавливает какую-то переменную в недрах фреймворка, а вторая ну просто должна тоже что-то установить — в противном случае как фреймворк поймет, что надо проверять аутентификацию?

Регулярку писать — тоже плохой тон — оно нечитаемо в сложных случаях.
    Try {
      params("id").toInt
    } match {
      case Success(id) => DB.getUserById(id)
      case Failure(ex) => pass()
    }

Кошмарный бойлерплейт. В Play достаточно объявить аргумент метода — и он будет считаться параметром запроса. А проверки на валидность реализованы на уровне фреймворка.

Mutability в контроллере тоже доставило. :(
Все таки
how’s it going so far?
переводится как
Как дела?
, а не как
Ну как все проходит?
, что не имеет смысла в русском языке.
А зачем решать задачу выгрузки классов в Вашем примере? Чтобы 7 раз в год обновить версии документов?
Ребята, а приведите пожалуйста примеры модульных систем (где в каждом модуле свои сущности), где есть требование выгружать динамически модули/загружать новые? И откуда растут такие требования?
И как теперь приложением на iPad пользоваться!? Приложение отображается железно в портретном режиме!
Я понимаю это. :) Мой скрипт выше по ветке как раз все либы минифицирует в один файл. :)
Попробуйте wiredep. Он должен сам правильно разруливать зависимости

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity