Моё первое публичное выступление в рамках XP Days Ukraine, вроде бы, прошло успешно. По крайней мере, точно не провалилось с треском.
Всем, кто потом задавал вопросы: если я на него не ответил и вам будет не лень, задайте его тут в комментариях. После выступления я был в несколько неадекватном состоянии и не всегда правильно понимал, что от меня хотят.
Ниже слайды. Видео, вроде бы, должно быть в начале 2012.
Буду рад любому фидбэку. Спасибо.
Coffee with cinnamon
воскресенье, 18 декабря 2011 г.
воскресенье, 27 ноября 2011 г.
Кто в Рунете в цари крайний?
Я в свои двадцать лет, конечно, не застал времён становления Рунета в середине 90х, когда, говорят, деревья были выше, трава зеленее, сайтов и пользователей мало, и управлять ими особо не надо было. Через полтора десятилетия после этого, в конце 2011, когда у каждого первого есть доступ в интернет и страничка "В Контакте" или "Одноклассниках", во многие светлые умы приходит мысль, что этим богатством нужно как-то управлять. И зарабатывать деньги, естественно.
Бизнес
Признайтесь, у кого при первом прочтении вопроса, вынесенного в заголовок поста, возникли перед мысленным взором лица Аркадия Воложа, Дмитрия Гришина, Павла Дурова и других руководителей главных русскоязычных интернет-компаний? Эти люди управляют разработкой продуктов, которыми пользуются миллионы людей в русскоязычном сегменте сети. Но есть ли у них рычаги управления этими миллионами?
Когда несколько месяцев назад сервера Яндекса лежали в течении четырёх часов, люди, конечно, возмущались и паниковали, но я очень сомневаюсь, что действительно большая доля этих людей не смогла открыть Google и поискать то, что было нужно, в нём. Если внезапно исчезнет "В Контакте", очень много школьников и студентов, конечно, потеряют возможность часами играть в игры и слушать нелицензионную музыку... Вот только играть можно на множестве других сайтов, начиная c Facebook и Одноклассников, а музыку легко найти на трекерах и сайтах вроде zaycev.net.
Мне трудно вспомнить русскоязычный ресурс, предоставляющий конечному пользователю уникальный сервис. Есть, конечно, ЖЖ, с его действительно уникальным сообществом, но, думаю, что в случае полной жжопы это сообщество переберётся на другую площадку, не много при этом потеряв.
Когда несколько месяцев назад сервера Яндекса лежали в течении четырёх часов, люди, конечно, возмущались и паниковали, но я очень сомневаюсь, что действительно большая доля этих людей не смогла открыть Google и поискать то, что было нужно, в нём. Если внезапно исчезнет "В Контакте", очень много школьников и студентов, конечно, потеряют возможность часами играть в игры и слушать нелицензионную музыку... Вот только играть можно на множестве других сайтов, начиная c Facebook и Одноклассников, а музыку легко найти на трекерах и сайтах вроде zaycev.net.
Мне трудно вспомнить русскоязычный ресурс, предоставляющий конечному пользователю уникальный сервис. Есть, конечно, ЖЖ, с его действительно уникальным сообществом, но, думаю, что в случае полной жжопы это сообщество переберётся на другую площадку, не много при этом потеряв.
Значит ли это, что если бизнес не управляет пользователями, то пользователи управляют бизнесом?
Пользователи
Экономтеория говорит, что спрос рождает предложение. Это значит, что именно пользователи решают, что "В Контакте" круче "Одноклассников" и Facebook'а, потому что там есть музыка и фильмы. Именно они голосуют рублём за торрент-трекеры с нелицензионным контентом и за липовые тесты про дату смерти и совместимость с партнёром.
Очень многие наши люди пока ещё, к сожалению, с Интернетом далеко не на "ты". Моя пятидесятилетняя мама уже год как по любому вопросу лезет в Google, но всё ещё не умеет отличать окошки Windows от рекламных баннеров, нарисованных в стиле этих окошек. И таких большинство. Конечно, есть те, кто читает Хабр и слушает Рунетологию, но сколько таких - три процента? пять? А остальные до сих пор боится делать покупки в интернет магазинах, потому что не хочет светить данные своей кредитки.
Не может обыватель управлять тем, что не понимает. А кто может? Кто привык контролировать (или пытаться, или хотя бы делать вид, что пытается) всё, до чего можно дотянуться?
Очень многие наши люди пока ещё, к сожалению, с Интернетом далеко не на "ты". Моя пятидесятилетняя мама уже год как по любому вопросу лезет в Google, но всё ещё не умеет отличать окошки Windows от рекламных баннеров, нарисованных в стиле этих окошек. И таких большинство. Конечно, есть те, кто читает Хабр и слушает Рунетологию, но сколько таких - три процента? пять? А остальные до сих пор боится делать покупки в интернет магазинах, потому что не хочет светить данные своей кредитки.
Не может обыватель управлять тем, что не понимает. А кто может? Кто привык контролировать (или пытаться, или хотя бы делать вид, что пытается) всё, до чего можно дотянуться?
Государство
Пока премьер рассуждает о разнице между глаголами "чикать" и "цыкать", а люди с "активной гражданской позицией" спорят, является ли проявлением государственной цензуры тот факт, что в Яндексе нельзя было найти острополитическую песню Макаревича, это самое государство начинает всё чётче понимать, что отмахиваться от Интернета и называть его "отдушиной для ущербных людей" уже нельзя. Появляется РАЭК, несущий знамя переговорщика между чиновниками и интеренет-бизнесом, министр связи регулярно посещает "Премию Рунета", а нанопрезидент стучит нанокулаком по столу и грозится уволить тех губернаторов, у которых не будет аккаунта в Твиттере.
А есть ли толк в этих потугах? По-моему, пока это выглядит смешно. Блоги, в большинстве своём, ведут сухие и скучные пресс-секретари. Чиновник, попытавшийся самостоятельно высказаться в Твиттере, рискует быть выставлен на посмешыще широкими массами - не умеют наши чиновники пока выступать не с высокой трибуны, а с той позиции, где на каждую твою реплику недовольная общественность ответит пятью сотнями оскорбительных, а потом ещё и какашками закидает.
Могут они, конечно, плюнуть на эту вашу гласность и пойти по стопам китайских товарищей, с их ограничением доступа к неугодным ресурсам и интернетом по паспортам. Могут, но пока не делают. Будем надеяться, и не начнут.
А есть ли толк в этих потугах? По-моему, пока это выглядит смешно. Блоги, в большинстве своём, ведут сухие и скучные пресс-секретари. Чиновник, попытавшийся самостоятельно высказаться в Твиттере, рискует быть выставлен на посмешыще широкими массами - не умеют наши чиновники пока выступать не с высокой трибуны, а с той позиции, где на каждую твою реплику недовольная общественность ответит пятью сотнями оскорбительных, а потом ещё и какашками закидает.
Могут они, конечно, плюнуть на эту вашу гласность и пойти по стопам китайских товарищей, с их ограничением доступа к неугодным ресурсам и интернетом по паспортам. Могут, но пока не делают. Будем надеяться, и не начнут.
Так кто всё-таки в цари крайний?
Возможно, я ещё слишком молод и идеалистичен, но моё мнение - сейчас Рунетом не управляет никто. Пока критическая масса бизнесов не начнёт ставить во главу угла качественный сервис, а не быструю наживу; пока пользователи не перестанут толпами бежать на акции вроде "-50% за легальный iPhone 4S до его официального запуска в России" и научатся платить за качественный контент, а не искать его на торрентах; пока средний чиновник не поймёт разницу между выступлением на телевидении и постом в блоге, - до тех пор Сеть будет оставаться достаточно свободной, чем то средним между Диким Западом и Глубиной из "Лабиринта отражений" Лукьяненко. Местом со своими, не всегда понятными чужаку, правилами и с претензией на большое будущее.
Этот пост написан для конкурса, приуроченного к выходу книги
Максима Спиридонова
Максима Спиридонова
который проходит на spiridonov.ru
Призы — 5 MacBook Air
Ярлыки:
IT-индустрия,
интернет,
конкурс
среда, 2 ноября 2011 г.
XP Days: Анонс
В середине декабря буду выступать на конференции XP Days c 15-минутным докладом на тему использования DVCS в Agile-проектах. Говорить буду о типичных проблемах управления кодом и о том, как DVCS (на примере Git) их решает. Если у кого-то есть вопросы по теме - задавайте, постараюсь осветить.
пятница, 28 октября 2011 г.
О том, как надо и не надо разбивать классы на пакеты в Java

Очень часто в Java проектах можно увидеть такую структуру пакетов, как на картинке слева. На первый взгляд оно может показаться очень логичным и удобным: всё разложено по полочкам, контроллеры к контроллерам, DAO к DAO, и даже для констан отдельный пакетик нашёлся.
В какой-то момент эту идиллию нарушила простая мысль - а как здесь применять такую возможность Java, как классы с пакетной областью видимости. Представим, что нам нужно реализовать новую сущность предметной области и набор CRUD операций над ней. Это значит, что нам нужно добавить доменную сущность в один пакет, DAO для неё - в другой, контроллер - в третий, и так далее. Каждый из этих классов будет связан как минимум с одним классом из другого пакета, а значит, ни одному из них нельзя присвоить область видимости уровня пакета.
Для понимания того, каким образом лучше разбивать классы на пакеты, мне пригодился совет, встреченный где-то на просторах интернета: "Представьте, что каждый пакет - это самостоятельная программа". При всей своей банальности - ведь это в очередной раз повторенная мантра про обособленные модули, слабо связанные (low cohesion) друг с другом - именно этот совет помог мне по другому взглянуть на структуру классов. Теперь я стараюсь проектировать структуру пакетов так, как это показано на рисунке справа (простите за "цензуру" - код не открытый). В каждом пакете - минимум публичных классов, лучше - только интерфейсы. Сразу приходится задумываться над внешним интерфйсом каждого модуля. Приходит понимание того, что даже среди доменных объектов далеко не все могут быть публичными. Дополнительную поддержку в развитии этой идее оказал принцип IoC и фреймворк Google Guice. Теперь для меня "программа максимум" для каждого пакета - это "закрыть всё, кроме внешних интерфейсов и класса Guice-модуля".
Вот такой, довольно очевидный, лайфхак. Если держать всё вышеперечисленное в голове, код становится чище и структурированней.
Ярлыки:
java,
packages,
Разработка
воскресенье, 16 октября 2011 г.
Проектирование API "от желаемого"
Мне очень нравится подход, который я использую, когда мне нужно разработать внешний интерфейс какого-либо модуля. Скорее всего, он совершенно не новый, и явно очень перекликается с TDD. Но я его всё-таки опишу, возможно, кому-то он пригодится.
Очевидно, что при проектировании API необходимо учитывать, кто и как его будет использовать. Проще всего в этом случае, мне кажется, написать небольшой кусок кода, которым, как вам кажется, отражает удобный вариант решения задачи.
Очевидно, что при проектировании API необходимо учитывать, кто и как его будет использовать. Проще всего в этом случае, мне кажется, написать небольшой кусок кода, которым, как вам кажется, отражает удобный вариант решения задачи.
Ярлыки:
API,
java,
проектирование,
Разработка
воскресенье, 25 сентября 2011 г.
Agile Eastern Europe 2011
Только что вернулся из Киева, с конференции Agile Eastern Europ 2011. Пока события не остыли в памяти, спешу записать впечатления.На конференции подобного уровня я был впервые. JavaOne, не смотря на стоящий за ним Oracle, проигрывает в плане организации по всем параметрам. Поскольку я был волонтёром, то немного посмотрел внутреннюю кухню и понимаю количество усилий, которые компания ScrumGuides потратила на эту конференцию. Но усилия не прошли даром - получилось отлично.
Наибольшее впечатления произвели докладчики, которые выступали на keynote'ах. Я человек не очень погружённый в мировую Agile-тусовку, и имена вроде Alister Cockburn, Elisabeth Hendrickson, Jurgen Appelo и J.B. Rainsberger мне ни о чём не говорили - до событий последних дней :) Но выступления этих людей производят неизгладимое впечатление. Сочетание огромного опыта, невероятного энтузиазма и умения вечти себя на сцене перед публикой просто разрывает в колчья и заставлят думать, думать и думать.
Ярлыки:
agileee,
Мероприятия
суббота, 10 сентября 2011 г.
Agile Samurai - "путь воина" в разработке ПО.
Во время отпуска я прочитал несколько классных книг, об одной из которых хочу рассказать сейчас. Книга называется The Agile Samurai.Эта книга, на мой взгляд, очень хорошо подходит для тех, кто (как я) только начинает приобщаться к практикам гибкой разработки ПО. Она врядли расскажет много нового, если вы до этого уже интересовались Agile'ом, но очень хорошо структурирует уже знакомые понятия и постарается передать главное - философию гибкой разработки, идею регулярного привненсения business value в проект.
В книге описаны все основные этапы проекта - его начало, когда нужно понять, зачем и для кого проект разрабатывается; планирование, когда нужно максимально адекватно оценить сроки, бюджет и объём выполняемой работы; итеративный процесс разработки, напрвленный на регулярные и частые поставки работающего ПО; а также коротко рассказано про главные инженерные практики XP - unit testing, рефакторинг, TDD и CI.
Книга небольшая (меньша 300 страниц) и написана лёгким языком. По большому счёту, её можно прочитать за вечер или за два, но если проникнуться описанными там идеями, можно значительно и в лучшую сторону изменить подход к написанию ПО - свой и своей команды.
Купить The Agile Samurai: How Agile Masters Deliver Great Software на Amazon.com
Ярлыки:
Гибкие методологии,
Книги
суббота, 27 августа 2011 г.
Перед отпуском
Завтра я впервые за четыре года еду к морю.
Ещё год назад не мог представить, что буду хотеть "лежачего" отдыха, но сейчас единственное желание - отваляться недельку на пляже и выспаться. Последние год был достаточно тяжёлым - мой первый рабочий год, да ещё вперемешку с универом... скучать не приходилось. Но в целом я доволен - почти всё, к чему я стремился, удавалось осуществить.
Теперь две недели отдыха - и с новыми силами вперёд. Только до конца года у меня в планах сдача одного и начало другого проекта на работе, участие в двух конференциях, начало работы над дипломом, и это ещё не считая довольно сильных изменений в личной жизни ;)
Так что сейчас главная задача - хорошенько отдохнуть. Правда, чтобы мозги совсем не отсохли, взял у друга электронную читалку и закинул туда три книги на английском - одну художественную, одну по программированию и одну по agile-методологиям. Посмотрим, что из этого выйдет ;)
Ещё год назад не мог представить, что буду хотеть "лежачего" отдыха, но сейчас единственное желание - отваляться недельку на пляже и выспаться. Последние год был достаточно тяжёлым - мой первый рабочий год, да ещё вперемешку с универом... скучать не приходилось. Но в целом я доволен - почти всё, к чему я стремился, удавалось осуществить.
Теперь две недели отдыха - и с новыми силами вперёд. Только до конца года у меня в планах сдача одного и начало другого проекта на работе, участие в двух конференциях, начало работы над дипломом, и это ещё не считая довольно сильных изменений в личной жизни ;)
Так что сейчас главная задача - хорошенько отдохнуть. Правда, чтобы мозги совсем не отсохли, взял у друга электронную читалку и закинул туда три книги на английском - одну художественную, одну по программированию и одну по agile-методологиям. Посмотрим, что из этого выйдет ;)
Ярлыки:
Лытдыбр
пятница, 8 июля 2011 г.
Зачем идти работать в Google
Несколько часов назад имел преинтереснейший спор о преимуществах работы в компаниях первого величины, вроде Google, Apple, Facebook, да том же Яндексе (с него, в общем-то, спор и начался). Главным вопросом был следующий: что программист может получить от работы в таких компаниях, чего он не может достичь в рядовых украинских компаниях (чаще всего, аутсорсовых)?
Я для себе выделил такие вещи:
Естественно, эти утверждения спорны, но для себя я их выделил именно так. Ещё можно вспомнить про большие зарплаты (с чем тоже можно поспорить), про стулье за 700 евро и про 27-дюймовые iMac’и на рабочих местах, но это уже менее важно лично для меня.
А вы бы хотели работать в Google? Или ещё в какой-то компании первого эшелона? А почему? Или почему нет?
Я для себе выделил такие вещи:
- Причастность к улучшению мира. Как бы пафосно это не звучало, но такие компании действительно делают мир лучше, а жизнь - удобнее. Конечно, даже стопицотая бухгалтерская программа сделае жизнь десятка человек чуть лучше. Но в масштабах всего мира, качественный поиск, или почта, или социальная сеть - гораздо важнее.
- Интересные задачи. Очень спорный момент, и с ним многие могут не согласиться. Но если сравнивать всё с той же Обычной Бухгалтерской Программой или каким-нибудь Очередным Интернет Магазином, то задачи, решаемые внутри таких компаний, как правило на порядок более нестандартные.
- Коллектив. До того, как я начал работать в компании-разработчике, я был уверен что все программисты - гики. Когда я понял, что это не так, и что большинство разработчиков интересуются программированием не больше 40 часов в неделю, я был несколько… обескуражен. Но таким людям, с режимом работы “с 9 до 5”, как мне кажется, практически не возможно попасть в компании-гиганты. Туда подбирают людей, которые своим делом живут.
Естественно, эти утверждения спорны, но для себя я их выделил именно так. Ещё можно вспомнить про большие зарплаты (с чем тоже можно поспорить), про стулье за 700 евро и про 27-дюймовые iMac’и на рабочих местах, но это уже менее важно лично для меня.
А вы бы хотели работать в Google? Или ещё в какой-то компании первого эшелона? А почему? Или почему нет?
Ярлыки:
google,
IT-индустрия
воскресенье, 22 мая 2011 г.
#JEEConf, Киев, 21 мая
Вернулся из Киева, с конференции JEEConf. Эта конференция мне понравилась гораздо больше, чем предыдущая, на которй я был (JavaOne Moscow), и на то есть причины ;)
Ярлыки:
jeeconf,
Мероприятия
Подписаться на:
Сообщения (Atom)
