Showing posts with label подкасты. Show all posts
Showing posts with label подкасты. Show all posts

Wednesday, March 31, 2010

Слушаете ли вы подкасты?

Я иногда публикую списки интересных подкастов, уже 4 выпуска набралось, но судя по посещаемости на dev.net.ua и Google Analytics, а также комментариям – эта тема не пользуется большой популярностью. Исходя из того, что на выпуски уходит определенное время, хотелось бы узнать, насколько прослушивание подкастов популярно и стоит ли продолжать делать обзоры.

Я создал два опроса в правой панели: “Слушаете ли вы подкасты?” и “Интересны ли вам обзоры подкастов?”, благодаря которым хочу выяснить эти моменты и определиться с дальнейшими действиями.

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

PS. Добавил третий вопрос. Буду признателен, если ответите и на него.

Monday, March 22, 2010

Список интересных подкастов: выпуск #4

Новая подборка интересных подкастов, которые я бы рекомендовал к прослушиванию. Сегодня разбиваем на категории:

.NET 4.0:

Jason Olson проходит по некоторым новым фичам CLR, C# и BCL. Concurrent GC, side-by-side CLR versions, Memory-Map files, co-variants и contra-variants, Parallel Extensions, немного об обновлениях в языках программирования и новых языках. И да, они наконец-то выкинули CAS и заменили его на более простой механизм. Хотя кто его вообще использовал :)

Небольшой обзор изменений в ASP.NET AJAX 4.0. От UpdatePanel до полностью кастомных AJAX-запросов и JavaScript-контролов. jQuery теперь "часть" ASP.NET AJAX, переработанный AJAX Control Toolkit - тоже, более того, AJAX Control Toolkit теперь работает не только с WebForms и MVC, но даже с PHP или любым другим back-end'ом. ASP.NET AJAX поддерживает dual data-binding на клиенте, который работает по аналогии с дата контекстом EF или L2S, на сервере его поддерживает WCF Data Services, которые раньше назывались ADO.NET Data Services. На закуску немного о ScriptLoader, history API, Microsoft CDN, Microsoft AJAX Minifier, Sea Dragon и Deep Zoom.

Честно говоря, еще сам не слушал этот подкаст, но судя по транскрипту - довольно любопытно. Foreign Keys, POCO и поддержка DDD разработки и модульного тестирования, Lazy/Deferred Loading, поддержка N-Tier сценариев при помощи Self-tracking entities, T4 templates, Code Only (в общем, все то, о чем я уже когда-то писал), немного о WCF Data Services, а также история о том, как Julie помогала Oren Eini (Ayende) создавать EFProf.

Обсуждение возможностей первого функционального языка программирования, включенного в .NET 4.0. Немного о том, что такое функциональные языки вообще, зачем нужен функциональный язык в .NET и какую пользу он может принести обычным разработчикам, привыкшим к императивным языкам вроде C#, VB.NET, Java или С++, некоторый ликбез по терминологии функциональных языков. Много интересного контента и шуток благодаря Теду.

Интервью с програм менеджером DLR team. Конечно же, обсуждение DLR, который релизится с .NET 4.0, и его двух основных языков: IronRuby и IronPython. Разговаривают об архитектуре DLR, истории развития, возможностях, отличиях Iron-версий языков Ruby и Python от своих оригиналов, IronRuby on Rails :)

Другое:

И снова непревзойденная Tess. О чем еще с ней можно поговорить, как не об отладке. Что такое Memory Dump, как его создавать и почему об этом важно знать, что такое Allocated и Committed memory, как пользоваться WinDbg и CDB для отладки "утечек памяти" в .NET и проблем с производительностью, а также некоторые улучшения с отладкой многопоточных приложений в VS2010 и в предыдущих версиях, о которых вы, возможно, не слышали.

Интервью с создателем WebFormsMVP - очень интересного MVP-движка для WebForms. Автор рассказывает, что такое MVC и MVP, зачем использовать паттерн MVP в WebForms приложениях, архитектуре движка, особенностях его использования и том, насколько полно он работает с остальной инфраструктурой ASP.NET. Надо будет обязательно попробовать его в боевом проекте - по идее, должен сберечь кучу времени и сил.

Приятно, что в нашем уголке мира появляются хорошие подкасты :) В гостях у питерской группы ALT.NET подкаста Александр Бындю и Виталий Стахов. Разговор идет о вполне понятных вещах: принципах ООП (SOLID), TDD, практиках XP, полезных инструментах, развитии программиста и различных вариантах построения и развития команд. Прикольно, что Александр Бындю точно так же понимает разницу между Scrum и XP, как и я.

Себе на заметку: надо будет как-нибудь написать про практики, сходства и различия основных методологий разработки (по крайней мере, тех, в которых я хоть немного разбираюсь).

Обсуждение Domain-Driven Design и CQRS (Command and Query Responsibility Segregation pattern) с Мишей Чалым и frozen_space. Если про DDD многие хотя бы краем уха слышали, то что такое CQRS для меня для самого тайна :) Где помогает DDD и зачем он нужен, что такое CQRS, его преимущества и недостатки. В общем, самое острие программной инженерии - не пропустите! Подкаст только записали, завтра буду слушать сам.

И напоследок, как всегда, тема попроще :)

Скотт общается с Warren Sande и его 10-летним сыном об их опыте написания книги по обучению программированию для детей и других начинающих программистов. Вроде бы ничего особенного, но удивляет этот 10-летний малыш. Мало того, что он помогал отцу в написании книги и примеров для нее на Питоне, но он еще и рассуждает обо всем по-взрослому. Интересно, он просто настолько умен или изучение программирования действительно ускоряет развитие у детей?

Приятного прослушивания!

Sunday, December 6, 2009

Список интересных подкастов: выпуск #3

Продолжаем традицию публикации интересных подкастов после почти полугодового перерыва:

Подкаст о том, что должны знать разработчики о базах данных в целом, и SQL Server в частности. Например, стоит ли использовать GUID (и, главное, какого типа) или identity field, что делать для улучшения производительности SQL Server, как правильно использовать и обслуживать базу данных в больших приложениях и многое другое, включая советы по железу и виртуализации. В общем, не совсем про программирование, но для общего развития однозначно полезно, а на некоторых проектах даже необходимо.

Советую всем ASP.NET-разработчикам: что будет нового в ASP.NET 4.0 от одного из програм менеджеров Microsoft. Новый взгляд на будущее WebForms и MVC, интеграция с Dynamic Data, ASP.NET Ajax, улучшенная генерация HTML кода в стандартных контролах, и т.д. На самом деле, они проходятся по далеко не всем фичам, но в целом неплохо. Больше можно увидеть здесь, или почитать полный список на официальном сайте. Наконец-то Microsoft сделало реальное обновление ASP.NET, которого все ждали уже несколько лет. WebForms избавляется от "лишнего жирка", что не может не радовать.

Сказал А, нужно говорить и Б - дал ссылку на подкаст про WebForms 4.0, нужно давать аналогичную на MVC 2.0 :) Скотт и Фил, которые вместе участвовали в создании MVC 1.0, обсуждают новые возможности MVC 2.0. Надо сказать, что изменения не столь радикальны, как в 1.0, полный список можно глянуть здесь. Часть команды перебросили на внедрение фич MVC в WebForms и другие улучшения в ASP.NET, поэтому в результате получилось меньше, чем мы все ожидали, но все-таки развитие продолжается.

Отличный подкаст с одним из авторов StackOverflow.com, Jeff Atwood, с которым Скотт обсуждает принципы и практики правильного создания высоконагруженных вебсайтов в .NET-стеке на примере StackOverflow.com. Использование LINQ to SQL, оптимизация Ajax, JavaScript minification, GZIP-компрессия, CDN, переключение SQL Server в менее агрессивный locking-режим, и много другое.

И напоследок немного не о .NET, а о Ruby. Отличный подкаст с человеком, который перешел из .NET в Ruby on Rails и теперь сравнивает не только эти технологии, но и языки программирования. Просто потрясающе, не знал, что в Ruby все так интересно - надо бы присмотреться к динамическим языкам и к Ruby on Rails.

У меня уже почти готова подборка на следующий выпуск. Stay tuned! ...если вам это интересно :)

Saturday, July 25, 2009

Список интересных подкастов: выпуск #2

Где-то 3 месяца назад я написал первый выпуск списка интересных подкастов. Время идет, новые подкасты появляются и прослушиваются. Подошло время второго выпуска, надеюсь, вам понравится:

В гостях у Карла и Ричарда человек, который не нуждается в особом представлении: Дино Эспозито. Дино рассказывает о том, чем занимается в данный момент времени, об архитектуре веб-приложений (и не только), сравнивает ASP.NET и ASP.NET MVC, а также немного проходится по другим веб-технологиям и библиотекам: AJAX, jQuery, Silverlight. Хороший подкаст для тех, кто хочет немного расширить свой кругозор и, возможно, узнать что-то новенькое.

Эрик Эванс в особом представлении тоже не нуждается. Еще один подкаст об архитектуре, но направленный в сторону не технологий, а подходов. А точнее, одного конкретного подхода: Domain Driven Design. Если вы уже слышали про DDD, но еще не вполне представляете себе, что это, попробуйте послушать рассказ наверно самого основного автора этого подхода к разработке ПО. Кроме DDD, Эрик также затрагивает вопросы сложности крупных приложений, архитектуры, слоев приложений и устаревшего кода.

Гость Скотта, Рой Ошеров (Roy Osherove), рассказывает о модульном и интеграционном тестировании, основных различиях между ними, принципах написания хороших тестов, отличиях между моками и стабами (я тоже уже как-то писал об этом здесь, но Рой делает это намного лучше и проще), а также их практической пользе. Даже если вы считаете, что вы умеете писать тесты, думаю, вам все равно будет полезно послушать этот подкаст. Мне очень понравилось.

Uncle Bob возвращается! В этот раз Скотт обсуждает с Бобом вопросы, не связанные с SOLID, и даже не касающиеся качественного кода или дизайна. Речь идет о профессионализме. Можно ли считать, что индустрия разработки ПО уже созрела и нас всех с вами можно считать профессионалами? Чего нам не хватает для этого? Что такое быть профессионалом в сфере разработки? А также немного о том, как, по мнению Боба, будет выглядеть программирование через 40 лет. Очень интересный подкаст.

Ну, и напоследок снова нетехнический подкаст. Жена Скотта, Мо, берет интервью у него. Если вы хотите узнать, как и чем живут люди, похожие на Скотта, какие у него и его семьи планы на жизнь, как он умудряется соблюдать баланс работы и семьи, не надоедает ли ему то, что он делает, то это стоит прослушивания. Меня приятно увидило, что у Скотта есть далекоидущие планы, не связанные ни с разработкой ПО, ни тем более с работой в Microsoft. Хотите узнать, какие? Тогда слушайте :)

Приятного прослушивания!

Sunday, April 12, 2009

Список интересных подкастов: выпуск #1

Недавно прослушал несколько интересных подкастов. Хотел бы поделиться некоторыми наиболее интересными на мой взгляд:

Carl, Richard и Ward Bell обсуждают вопросы использования ORM в целом и Entity Framework в частности. Послушав этот подкаст, вы узнаете какие проблемы есть у Entity Framework v1.0 (дизайнер, POCO, etc.), еще раз про ситуацию с LINQ to SQL и Entity Framework, о которой я уже писал, почему NHibernate, несмотря на свои функциональные преимущества, не очень популярен в широких кругах программистов, когда стоит использовать ORM, когда не стоит, а также какие есть проблемы разработки RIA приложений, в частности проблема единственности модели данных, когда и на сервере, и на клиенте приходится делать одинаковую модель, чем тут может быть полезен DevForce .NET Silverlight-разработчикам (хотя после выхода RIA Services часть проблемы с моделью вроде бы как уходит).

Гость программы, Doug Crockford рассказывает про свой профессиональный опыт, а также про создание формата данных JSON, автором которого он является (!). Также довольно много обсуждений того, почему DOM - ахиллесова пята клиентских скриптов, различных стандартов, на которых строится JavaScript, а также его будущего. Весьма познавательно.

Robert C. Martin (Uncle Bob) в гостях у Скотта рассказывает последнему, что такое Single Responsibility Principle, Open Closed Principle, Liskov Substitution Principle, Interface Segregation и Dependency Inversion Principle (SOLID). Очень детально и на примерах. Рекомендую всем, кто начинает понимать, что кроме внешнего качества продукта, есть еще его внутреннее качество - качество кода.

Просто отличный подкаст о людях, которые разрабатывают софт не только для крупных организаций, и не только за деньги. Приложение, которое вносит свою лепту в дело борьбы с раком, разработанное в Scripps Institute, в котором поучаствовало много программистов со всего мира, объединенных одной целью. WPF, Sharepoint, Scrum, и многое другое. Если вы хотите изменить мир к лучшему, то послушайте как это делают другие люди: возможно, у вас появится руководство к действию.

Совершенно не технический подкаст, в котором Скотт общается со своим отцом, пожарным, который сумел вырастить двух отличных сыновей, достигших успеха в своих областях. Много о детстве, воспитании, учебе, отсутствии денег и первом бизнесе, мудрых жизненных решениях и о том, как вырастить прекрасных сыновей. Потрясающий подкаст, в котором мало технической информации, зато много жизненного опыта. Рекомендую всем.

А какие подкасты нравятся вам?

Thursday, March 5, 2009

Будущее тестирования от Microsoft

Всем девелоперам, QA и менеджерам советую подкаст .NET Rocks по тестированию. В гостях – James Whittaker, Software Architect из Microsoft, который всю жизнь посвятил тестированию, а также написал кучу научных работ, посвященных этому предмету.

Девелоперам стоит послушать про то, что такое тестирование на самом деле, чем отличается тестирование на стороне девелопмента и на стороне тестирования, а также, наконец, понять, что QA – это не человек, который хочет сломать то, что ты написал, а человек, проверяющий качество продукта и несущий за это качество ответственность. Также немного обсуждается unit-тестирование, TDD и работа с legacy-кодом.

QA стоит послушать про то, как тестируют в Microsoft, как Джеймс понимает тест кейсы, в чем их проблемы, что такое покрытие тест кейсами продукта и как достичь его максимума. Но самое главное, Джеймс рассказывает кое-что про новые фичи VS 2010 для тестирования и свои идеи про то, как должно выглядеть тестирование в будущем. Test cases, которые сами оповещают QA, что их необходимо проверить после изменения кода. Или которые являются переносимыми и настолько умными, что могут сами определить, что именно нужно протестировать на новом проекте. Или автоматические тесты, которые подобно нанороботам расползаются по приложению и тестируют его сами. Ну, это уже фантастика, но компьютер когда-то тоже был фантастикой :) В общем, взрыв мозга в определенной степени.

Менеджерам и лидам стоит послушать про организацию тестирования в Google и Microsoft, а также размышления на тему, какое должно быть соотношение девелоперов к тестерам.

И еще пара шуток оттуда же:

- why did it take God only seven days to create the universe?

- no installed dates, no legacy to screw up. You want a planet there, put a planet there. Super nova there...

-----------------------

Возможно, вы уже слышали, что green field – это код, который пишется с чистого листа, а brown field – это код, который пишется на базе другого кода (legacy). Ну, аналогия понятна: зеленая трава, пожухлая трава. Brown field очень часто дает кучу проблем на голову, т.к. нужно слишком много поменять, чтобы продолжить работу. Так что есть еще одна аналогия :) “It was the Greenfield and Brownfield development and I like to joke that we know what's making the field brown, don't we? :)”

В общем, рекомендую. И наверно, буду почаще что-то стоящее рекомендовать из того, что слушаю.

Thursday, October 30, 2008

Архитектура StackOverflow.com

Сегодня по дороге на работу/с работы прослушал подкаст Hanseminutes #134 о том, как Jeff Atwood, Joel Spolsky и его команда создали сайт StackOverflow.com. Пара слов о сайте: это с одной стороны типичный Q&A сайт-сообщество, а с другой – немного другая песня. Джефф и Джоэль провели достаточно серьезный анализ похожих сайтов и вроде как постарались сделать максимально удобный и продвинутый ресурс, ориентированный на IT-специалистов. Не могу судить о том, успешен он или нет, но вроде бы за месяц у них уже много пользователей.

В этом подкасте не было бы ничего особенного, если бы не техническое обсуждение особенностей реализации сайта. Во-первых, сайт написан с использованием ASP.NET MVC, что уже примечательно для меня, т.к. я последнюю неделю занимался его изучением. И это несмотря на то, что ASP.NET MVC еще только недавно вышел в бете. То есть это один из первых достаточно популярных сайтов, которые используют эту технологию. Во-вторых, несмотря на то, что это сайт, предполагающий высокую нагрузку, они использовали Linq to SQL в качестве ORM. Также они сами признаются, что им пришлось напрячься, чтобы реализовать output-кеширование разных разделов страницы (некоторые куски страницы обновляются раз в минуту, некоторые – чаще). Еще у них были большие проблемы с локами и дедлоками в MS SQL сервере и они были вынуждены перейти на read committed snapshot”-транзакции (как это сделать в Linq to SQL и Entity Framework, можно почитать здесь). И это еще не все. Они использовали GZIP-сжатие страниц, причем не только для уменьшения размера страницы, но и для уменьшения размера страницы в кеше. И им действительно удалось добиться быстрой работы сайта на серьезных нагрузках. Можете проверить сами.

Однако это была лишь присказка :) Сказка начинается теперь. Угадайте, какое у них железо, сколько у них серверов? 4? 8? Больше? ОДИН! Один сервер, на котором крутятся и web-приложение, и база данных. 8-ядерный процессор, 4 Гб ОЗУ, 64-битная архитектура (процессор, ОС, .NET Framework, MS SQL сервер). Ничего особенного. В ответ на это Скотт говорит что-то вроде «это же не best practice, как вообще можно так делать?». И ему отвечают: «ну, мы перейдем со временем на ДВА сервера... когда будет нужно :)». И в конце добавляют контрольный выстрел в голову: их build-сервер, построенный на CC.NET, работает на ТОМ же production-сервере. Это какой-то ужас с точки зрения развертывания приложений, но это работает! :)

Со всем этим они умудряются делать ежедневные релизы новой версии, прогоняя ее на unit-тестах при каждом билде (обычный CI). Это значит, что у них получается нормальная стабильная версия, готовая к выходу в люди, каждый день. Думаю, нам всем есть чему поучиться в плане написания качественного софта, не говоря уже про performance на таком железе :) Да, нагрузка у них пока еще не слишком большая, но все же уже не детская. Я знаю продукты, на которых сайт лежал уже на десятке пользователей :)

А вы говорите, различные facebook’и работают на десятках, а то и сотнях серверов? Ну-ну :)

PS. Да, там уже доступна вторая серия этого общения. Еще не успел послушать, но если будет что-то интересное, сделаю update.

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

Upd2. Если кому-то интересно подробнее почитать про то, как рождался сайт StackOverflow.com, кому пришла в голову идея, сколько людей и как долго его писали, какие есть идеи его монетизации и сколько стоит обслуживание сайта в месяц - Джоэль рассказывает об этом в своей статье "How Hard Could It Be?: The Unproven Path"

Thursday, June 26, 2008

Continuous Tech Development

Наверно, одно из основных отличий IT-профессий от всех остальных в том, что нам приходится постоянно совершенствовать свой уровень как специалистов. Чтобы успевать за прогрессом, расширять кругозор, выходить на новый уровень мастерства, увеличивать свою производительность и стоимость в глазах работодателя. Однако профессия – это ведь не самое главное в жизни, есть семья, хобби, отдых, которым тоже нужно посвящать много времени. Как же найти хороший способ получения знаний о новых технологиях, подходах и новостях в нашей отрасли, который был бы наименее временезатратен, но в то же время интересен и эффективен? Можно читать книги, но это занимает довольно много времени и не совсем отвечает исходной задаче. Книги – это не поверхностный и широконаправленный материал, а более глубокое описание конкретной технологии/подхода, их нужно читать, когда хочется овладеть темой на серьезном уровне. Можно участвовать в различных технических форумах или ресурсах наподобие Хабра, однако это удовольствие на любителя – отнимает много времени и требует участия в сообществе, что не всем подходит (у меня «форумный» период прошел в институте, сейчас как-то не тянет). Однако есть и другие способы, удовлетворяющие первоначальным критериям. Я для себя нашел два:

1) Чтение технических блогов.

С появлением блогосферы стало появляться много людей, которые хотят делиться своими знаниями и делают это прекрасно. Настраиваешь удобный RSS-reader и – вперед. Я использую Google Reader, потому что его можно читать и из дому, и на работе, при этом не напрягаясь с синхронизацией. Подписался на интересные для меня блоги, постоянно их читаю и обновляю этот список. Неинтересные или скатившиеся до уровня переписывания новостей с других блогов фиды я удаляю, как бесполезные, а новые интересные добавляю. Основное преимущество блогов - это их широкий охват и небольшой размер постов. С одной стороны, можно быть в курсе того, что происходит в окружающем мире, с другой - иногда можно попасть на интересное решение, которое тебе будет действительно полезно, то есть воспользоваться реальным опытом другого человека. Приводить здесь список блогов, на которые я подписан, не буду, их довольно много, если кому-то интересно, могу выложить отдельным постом.

2) Прослушивание подкастов

Так как время на чтение статей/блогов тоже не резиновое, есть еще один хороший вариант повышать свою квалификацию – слушать подкасты. Сейчас в инете довольно много различных подкастов, часть из которых я сейчас перечислю:

http://www.hanselminutes.com/ - подкасты от Scott Hanselman. Нравятся мне больше всех остальных. Интересные темы, известные гости, очень грамотный ведущий, отличный юмор. Темы касаются не только .NET, есть обзоры других технологий и даже отвлеченные от программирования подкасты. Узнал из его подкастов много интересного. Заходите на закладку Archives – там полный перечень из более чем сотня подкастов. Хватит надолго :) Обычная длина – 30 минут.

http://www.dotnetrocks.com/ - подкасты от Carl Franklin (собеседник Скотта в половине его подкастов) и Richard Campbell. Пока что слышал всего несколько штук. Впечатления двоякое. С одной стороны, много тем, интересные гости, с другой – мешают звуки из зала и ведущим не очень хватает технического бекграунда. Подкастов там уже за три с половиной сотни, так что есть из чего выбрать. Основная тема - .NET, но есть и различные отклонения в пределах шага влево-вправо.

http://www.se-radio.net/ - Software Engineering Radio. Также очень хорошие подкасты. Темы абсолютно разные, не привязаны к одной технологии, гости интересные, но, на мой взгляд, много левых тем, которые мне не интересны. Небольшой недостаток – подкасты в среднем идут около часа, и это не делает их динамичнее. Иногда бывает откровенно скучно. Подкастов около сотни.

http://radio-t.com/ - Радио-Т. Подкасты на русском языке на самую различную тематику. В отличие от предыдущих здесь нет явной центральной темы, люди просто общаются о том, что им интересно. Я эти подкасты не слушаю пока, потому что мне не очень нравится формат, но друг отзывается о них очень хорошо. Подкастов уже набежало около сотни.

http://blog.stackoverflow.com/ - подкасты от Joel Spolsky. Думаю, в представлении не нуждается. Я их пока не слушал, так как, опять же, формат там такой же, что и в Радио-Т, и мне хватает «нормальных» подкастов. Начали выпускаться только недавно, наверно на волне популярности этого способа распространения информации.

http://www.polymorphicpodcast.com/ - .NET подкасты, которые я только что случайно нашел в инете :) Не слушал, но возможно понравится.

http://aspnetpodcast.com/ - подкасты по ASP.NET, пока что не было шансов ознакомиться, но посмотрю обязательно.

В заключение приведу ссылку на официальную страницу нашего всеми горячо любимого Microsoft'а, там можно видеть новинки по 4 из приведенных 7 ссылок:

http://www.asp.net/learn/podcasts/

Ну, и совсем напоследок, в тему данного поста ссылка на один из подкастов Скотта для затравки (хотя мой любимый подкаст у него немножко другой ;)):

http://www.hanselminutes.com/default.aspx?showID=90