#416 RESTful Web Services and Conferences
Вид на Даунтаун Манхэттен с моста Бруклин (Brooklyn Bridge).
Этот подкаст – просто запись моего разговора с коллегой по работе, Виктором Гамовым на программистские темы. Собирались просто поговорить, но потом решили нажать кнопку Запись. Говорили в основном о рестовских Веб сервисах и немного о новом языке программирования Dart.
Виктор еще и ведущий рекомендованного подкаста для программистов Разбор Полетов.
Качаем или слушаем
Follow @yfain
Будам, сделай пожалуйста музычку в начале потише. Она сильно громче голоса и бьет по ушам, не всегда есть возможность оперативно пригасить звук и потом вернуть обратно.
Большое спасибо за подкаст!
Зарядился от этого подкаста. Спасибо, Будам.
Фотка просто великолепная вышла
Будам и Виктор спасибо за подкаст и пищу для размышлений! Прослушал с большим интересом и отметил для себя кое-что интересное.
Фотка – класс!
Начал слушать подкаст и первое, что бросилось в уши – Виктор первый собеседник, которому Будам не предложил перейти на “ты” 🙂
О, еще немного Razbora Poletov -lite на этой неделе.
Чучуть непривычно, что в этом подкасте Виктор с Будамом “на вы”, но ему, в отличие от других гостей, можно, он подчиненный 🙂
Слушал с большим интересом, спасибо. Особенно интересно было узнать мнение о перспективах Dart как языка серверных приложений. Однако пока все по-прежнему туманно. Будет интересно узнать о результатах, полученных на практике. Удачи!
Интересный разговор, вроде и ни о чём, а слушать приятно. Про SOA ничего не объяснили (ну это мол и так всем понятно), потом вспомнили что путают SOAP с XML и тут же сами чуть не перепутали REST с JSON. Вот про идемпотентность интересно, запомним (это же практически часть stateless-концепции, один из принципов SOA, да?).
Интересно было бы, на самом деле, подробнее рассмотреть применение “плохого и сложного” SOAP, а также проектирование (равно как и использование) веб-сервиса в целом. А REST кстати можно сделать совершенно неудобоваримым – доводилось интегрировать веб-сервис, как будто сгенерированный автоматически из java -кода объектов системы – с циклическими зависимостями согласно спецификации (правда, создатели решили эту проблему так же лениво – после первого вхождения объекта последующие вхождения по схеме уже не валидировали).
Уличные столкновения в Киеве.
http://frankensstein.livejournal.com/483040.html
Будами и Виктору спасибо за подкаст! Как говорится: “судя по отсутствию вопросов, или всем все понятно, или никому ничего не понятно”. )
Будам, а можешь рассказать как ты ловил баги в легаси системах:).
Дебаггер – лучший друг баголова!
Интересная статья на эту тему. http://blog.byndyu.ru/2014/01/blog-post_8.html
Привет, Будам. Не мог бы ты сказать, когда ты выпустишь в общий доступ уроки по Java для начинающих?
По ссылке Видео Уроки по Java все написано.
Привет, Будам, что ты думаешь о Test Driven Development?
Пользуется ли популярностью данный подход в США и в частности в вашей компании?
Действительно ли Test Driven Development способен серьезно улучшить качество проектов, и ускорить разработку. Может быть достаточно code review, и выборочного покрытия тестами.
Почему я спрашиваю, потому как у нас в компании сложилась следующая ситуация:
– проекты разрослись в объемах, т.к. разработчиков мало , контролировать их становится проблематично.
– постоянно опаздываем по срокам, при том что работаем очень много в среднем на 30 % больше положенного.
– качество проектов сильно хромает, большое количество ошибок , багов , жалоб от клиентов.
Возможно Вы сталкивались ,с эдакой ситуацией, можете поделиться опытом ?
Было бы интересно послушать.
Для меня, это один из признаков mature senior developer, если он пишет автоматические тесты. Unit testing не сделает чудес, но поможет лучше понять, где у вас проблемы в API. Я не являюсь поклонником 100% покрытия кода тестами.
Мы не раз затрагивали тему unit testing и TDD в другом подкасте, например тут http://razbor-poletov.com/2013/04/episode-38.html. Кстити, там и в комментариях мне полезного слушатели написали.
Поэтому не буду повторятся тут, а просто порекомендую вот эту книгу http://www.amazon.com/Growing-Object-Oriented-Software-Addison-Wesley-Signature-ebook/dp/B002TIOYVW/
Удачи.
Спасибо за наводку , послушаем.
По моему мнению TDD полезен, если используется всей командой и работает CI server, который автоматически гоняет эти тесты при каждом коммите в source control system. А если в вашей команде Вася Форточкин решил работать, как рекомендуют учебники по TDD – толку мало.
Ок , спасибо за ценные советы.
Хоть и не Будам, но отвечу.
Я Вам не скажу за все США, но в нашей компании нет требования, чтобы все разрабатывали по TDD. Мое личное кредо – если разработчик написал кусок кода, автоматизированный тест должен присутствовать. А уж по TDD он работает или нет, мне не очень важно.
Будам, вы с Виктором много говорили о SOAP, REST, RMI, BlazeDS и т.д.
А слышали ли о технологии RPC под названием ICE ZeroC? Очень толковая вещь. Из коробки межъязыковое взаимодействие, синхронные и асинхронные вызовы, проброс исключений. Причем это не игрушка, созданная очередным “мальчиком с моторчиком”, как например Google Protobuf. ICE ZeroC разработан опытными создателями CORBA, как более легковесная и менее запутанная технология.
Лет 5 назад смотрел как на возможную альтернативу для Adobe BlaseDS по сериализации из Java в ActionScript. Причин для иcпользования Ice сервера тогда не увидел. Никогда не смотрел на usability in HTML5. Что Ice предлагает в этой среде?
Честно говоря, не знаю, годится ли ICE для взаимодействия HTML5 с бэкендом.
Мне про ICE рассказал на собеседовании многоопытный бородатый гуру, помнящий аж PDP-11. При этом человек управляет довольно успешным и высоконагруженным ecommerce-проектом. Я думал, людей такой закалки в бизнесе на территории ex-USSR больше нет, и везде рулят наглые анекдотичные “23-летние тимлиды”. Ан нет, оказывается есть мощные контрпримеры.
Так вот, возвращаясь к делу. Что он мне сказал про Google Protobuf: идея отличная, внутренняя реализация никакая. И вспоминая свой опыт по отлову глупейших ошибок внутри C++-имплементации protobuf, всплывших на Android NDK образца 2011 года, смею с ним согласиться. Качество библиотеки на тот момент было столь ужасающее, что применять в бою было страшно. Может, конечно, с тех пор многое изменилось, но верится с трудом. Там были такие ляпы, что хоть с нуля всю библиотеку перепроектируй.
Я это всё к чему вообще веду. ИМХО, стоит с априорным недоверием относиться к библиотекам и фреймворкам, созданным в недрах корпорации “добра”. Пишутся они, как правило, “олимпиадниками” в 20% свободного времени, которое гугл отводит на сайд-проекты.
1. Я тоже работал на PDP-11. A если точнее, на слизанной советской версии – машины серии СМ.
2. Protobuf может и не бьет BlazeDS, но это решение для HTML5 клиентов. А в язык Dart прямо встроена его поддержка.
Спасибо за подкаст!
Dart, честно говоря, вообще не понравился. Я еще пару лет назад его смотрел, он так и не стал популярным. TypeScript – намного лучше, а Dart – это слишком большие изменения в обмен на лишь небольшие улучшения по отношению к обычному JavaScript. Овчинка не стоит выделки.
Записали свежий выпуск, как раз про Dart. Заходите, послушайте, напишите в комментариях, что думаете теперь, пару лет спустя http://razbor-poletov.com/2014/01/episode-54.html
Типа,
“Неа, Манька из деревни Гадюкино не канает. Я ее потрогал пару лет назад на сеновале, так у нее спина вся в прыщах и грязные пятки.”
Так ведь пОдростком была тогда Манька! Прыщи сошли, в деревне горячая вода теперь и пятки отмылись. Бегом на лисапет и мотай в Гадюкино. Звезда там нынче Манька. 🙂
Здравствуйте. А можно как-то задать вопрос приватом?
Искал ссылку на Ваш e-mail, не нашел. Только вышел на сайт faratasystems.com, где есть форма обратной связи, попробовал написать туда, 20 часов прошло – ни ответа, ни привета, получено ли письмо, не получено, работает ли сайт и фирма – ничего не понятно. 🙂 Вообще, как-бы… не сурьезно, для американ бизнес. Может я и не представился как глава инвест. фонда, намеревающегося сделать 20 млдр. долл. инвестицию, но формальное роботизированное “Ваше сообщение получено, в ближайшее время наши сотрудники свяжутся с Вами” – было бы вполне неплохо. Корпоративная культура, высокие стандарты бизнеса и все такое… 🙂
Подскажите пожалуйста, почему то у меня в rss подкаста, выпуски дублируются , в начале названия 1/ 2и 2/2, например
1/2 | #413 Возможно ли массовое…
2/2 | #413 Возможно ли массовое…
Но сам звуковой файл похоже одинаковый.
Это только у меня, или так и задумано?
Хороший разговор!
Мне прям тоже у вас захотелось поработать. 🙂
Спасибо за хороший выпуск! Мне кажется не полностью раскрыли stateless-концепцию, все таки это один из основных принципов REST. Кто ищет альтернативу RMI могу порекомендовать http://docs.spring.io/spring/docs/4.0.2.BUILD-SNAPSHOT/spring-framework-reference/htmlsingle/#remoting-httpinvoker у нас на некоторых проектах успешно использовался, кстати производительность у него получше за RMI.
Спасибо за подкаст!