Pull to refresh
48
0
Дмитрий Белобородов @dbelob

Пользователь

Send message

JPoint 2017 — конференция, которая смогла. Обзор лучших докладов в открытом доступе

Reading time22 min
Views27K

Недавно коллега задал привычные уже вопросы про «зачем ходить на конференции» и «зачем смотреть записи на YouTube». Так как это друг, а не просто какой-то произвольный человек, захотелось ответить более обстоятельно, детально и по чесноку. К сожалению, в режиме онлайн, при живом общении, сделать это сложно: просто не упомнишь всех подробностей. С другой стороны, это отличная тема для хабрапоста: можно один раз написать развёрнутый обзор и потом, как истинный социофоб, отвечать на все вопросы ссылками на Хабр.


Идея проста: надо взять наиболее популярные доклады с JPoint 2017, кратенько пересказать, о чём там речь, почему это круто и зачем нужно лично мне. Каждый из этих докладов заслуживает отдельного разбора, но вначале — краткий обзор первой десятки. Поехали!



Читать дальше →

Стратегия ветвления ThreeFlow

Reading time15 min
Views24K
Из всех моих разговоров с коллегами о разных аспектах разработки программного обеспечения одна тема всплывает чаще других. Да что там «чаще» — она повторяется снова и снова, как заезженная пластинка — это беседы на тему того, чем плох GitFlow и почему его стоит избегать.

Статья "Удачная модель ветвления для Git" описывающая метод, получивший в последствии название «GitFlow» стала де-факто стандартом того, как нужно начинать использовать Git в вашем проекте. Если поискать в Google что-то типа "git branching strategy" то вот как раз этот метод будет описан по первой ссылке (а скорее всего и по нескольким следующим).

Лично я ненавижу GitFlow и за последние годы убедил много команд разработчиков перестать его использовать, чем, как мне кажется, сохранил им уйму времени и нервов. GitFlow заставляет команды организовывать управление изменениями кода хуже, чем оно может быть реализовано. Но поскольку это такой популярный метод (по крайней мере в результатах поисковика), то команды без достаточного опыта, которые ищут «что-то, хотя бы как-то работающее» находят именно его при быстром поиске, да ещё и видят слово «успешный» прямо в заголовке статьи с его описанием — ну и начинают бездумно использовать. Я хочу хотя бы немного изменить этот паттерн поведения, описав в этой статье более простую и не менее успешную стратегию использования веток Git, которую я внедрил во многих командах. Часто эти команды пробовали использовать GitFlow, но испытывали проблемы, которые, пропали с переходом на ThreeFlow.

Я называю эту стратегию ThreeFlow потому, что в ней есть ровно три ветки. Не четыре. Не две. Три.
Читать дальше →

Создание дистрибутивов для разных операционных систем в Java 9 и 10

Reading time5 min
Views12K


В статье рассказывается о построении полноценных дистрибутивов для Windows, macOS и Linux стандартными средствами Java 9 и 10.

Дополняет ранее опубликованную статью об уменьшении размера дистрибутива, делая акцент не на модульности, а на особенностях создания дистрибутива для разных операционных систем.

Перечисляются произошедшие с Java 9 изменения. Описывается последовательность шагов, выполняемых скриптом сборки, с указанием мест, где возможны изменение поведения и настройка. Приводится история со счастливым финалом преодоления особенностей и ошибок, появившихся в Java 9.
Читать дальше →

Как изменение двух строк кода может занять несколько дней

Reading time3 min
Views21K
Интересно верит ли кто-либо еще что работу разработчика можно измерить количеством строк кода? Попробуем вместе развенчать этот старый, как мир, миф своими красными глазами.


Сложно ли изменить две строчки кода?
Как прочувствовал это на своей шкуре...

Git снизу вверх

Reading time27 min
Views131K
У этого перевода не совсем обычная история. Системы контроля версий далеки от моих профессиональных интересов. Для рабочих проектов они мне требовались нечасто, причем, разные, так что, каждый раз, когда возникала такая необходимость, я заново вспоминала, как в них делается та или иная операция. А для личных проектов мне хватало возможностей Dropbox, хранящей историю версий файлов.


Изображение из твиттера @girlie_mac

Но вот однажды я на три незабываемых дня попала в роддом — это иногда случается с женщинами. Из развлечений у меня были новорожденная дочь и телефон с большим экраном. Дочь поначалу развлекала плохо (дома она быстро исправилась), а на телефоне помимо книг и фильмов обнаружился текст «Git from the bottom up», который оказался более чем годным… С тех пор прошло почти 3 года, подросшей дочке уже пора самой начинать использовать Git Git стал мейнстримом, если не сказать стандартом в современной разработке, а я с удивлением обнаружила, что перевода на русский этого чуда, полезного не только начинающим, но и продвинутым пользователям Git, до сих пор нет. Исправляю эту ситуацию.
Читать дальше →

Блеск и нищета джавовых веб-фреймворков

Reading time8 min
Views39K

Привет, Хабр! Помоги выбрать веб-фреймворк? Требования: модный, молодежный, популярный, качественный фреймворк для соло-технономада.


Надо ли нам каждый месяц читать очередной пост про это?



Несколько лет участия в проектах на границе энтерпрайза и системщины окончательно отбили нюх. Чтобы разобраться в вопросе, я заглянул в топ гугла и обнаружил там кучу однобоких рейтингов. Наверное, самым лучшим оказался Java Web Frameworks Index от ZeroTurnaround.

Читать дальше →

«Я всегда должен быть на виду» — Интервью с Олегом Шелаевым из ZeroTurnaround (часть 1)

Reading time23 min
Views6.1K


Всем привет! Вашему вниманию — очередной выпуск шоу «Без Слайдов». На этот раз гостем стал Олег Шелаев, Developer Advocate компании ZeroTurnaround, которая делает разные продукты для Java-разработчиков. За время, которое прошло с момента интервью, произошло два важных события:

  • Олег получил звание Java Champion
  • Компанию ZeroTurnaround купила компания Rogue Wave Software

Поэтому сейчас — самое время для того, чтобы выпустить это интервью. Оно получилось длинным, поэтому, как и в предыдущем случае, я разбил его на две части. Первая часть — перед вами. О чём мы поговорили в ней с Олегом:

  • кто такие ZeroTurnaround;
  • как стать Developer Advocate;
  • о правильном маркетинге;
  • о продажниках и инвесторах;
  • об инструментах маркетинга и продаж;
  • о задачах и проблемах маркетинга.

Получилось много про маркетинг и технологии в маркетинге. А также о том, что такое «правильный айтишный маркетинг».



Расшифровка как всегда — под катом. Приятного вам просмотра или чтения.
Читать дальше →

Пять идей «на вооружение», или Впечатления от московского «Гейзенбага»

Reading time13 min
Views7.3K
image

Как убедиться, что на конференции, на которую ты берёшь билет, не будет «лажи»? На мой взгляд, лучший способ — стать спикером одной из конференций того же организатора и на себе протестировать процесс отбора и подготовки докладов. Весной я был спикером на конференции, проводимой компанией JUG.ru Group, а всё происходившее перед этим напоминало защиту учёной степени. Несколько раз мой доклад прослушивал программный комитет, после каждого из прогонов я получал длинный список вопросов и замечаний. Один из членов комитета стал «оппонентом» и в бесконечных дискуссиях в Slack-е требовал дополнительных экспериментов, чтобы получить безусловные доказательства эффективности того, о чём я собирался рассказать в докладе. Когда пришла новость, что доклад одобрен — это был ещё не финал: мне было предложено вместе с другими докладчиками пройти двухдневные курсы ораторского мастерства. Пройдя через это испытание, я знаю: ребята из JUG.ru Group не допустят на своих конференциях ни капли «лажи». И я доверяю им: в этом году я посетил большинство их конференций.
Читать дальше →

Каких ответов я жду на собеседовании по тестированию

Reading time15 min
Views920K
Я провожу собеседования на тестировщиков. У меня иногда болит голова.

Долго собирался написать статью… И вот, наконец, выполнил свое намерение. Вопросы, поднимаемые в статье, обсуждались уже не раз и не два, но усердные поиски компиляции ответов на эти вопросы так и не увенчались успехом. Но, как подсказывает мой опыт, такая компиляция очень нужна. Прежде всего она требуется юниорам, ибо в сети по запросу «тестирование» на них (соискателей) обрушивается огромный объем информационного мусора, который плохо структурирован и часто противоречит сам себе.
Читать дальше →

Интеграционные тесты для Java с помощью TestContainers. Меньше безумия, больше порядка, и всё это автоматически

Reading time9 min
Views59K

На Хабре совсем нет информации про TestContainers. На момент написания этой статьи, в поисковой выдаче есть анонсы наших же конференций, и всё. Между тем, в проекте на GitHub у них уже более 700 коммитов, 54 контрибьютора и 5 лет истории. Похоже, все эти пять лет проект тщательно скрывался спецслужбами и НЛО. Настало время выйти из тени на свет.



Чукча — читатель, а не писатель. Поэтому, вместо написания своего текста, я попросил разрешения на перевод соответствующей статьи из блога RebelLabs.


Итак, здесь мы поделимся парой слов о наимоднейшей Java-библиотеке для интеграционного тестирования — TestContainers. Кроме этого, будет немного о том, почему интеграционное тестирование настолько важно для ZeroTurnaround и их требования к интеграционным тестам. И конечно, будет полнофункциональный пример интеграционного теста для Java-агента. Если кто-то никогда в глаза не видел код Java-агента, то сейчас самое время. Добро пожаловать под кат!

Конференция Joker 2017: удивительные истории

Reading time7 min
Views6.4K
Дополнение к обзору с подведением итогов конференции Joker, проходившей в Санкт-Петербурге 3-4 ноября 2017 года.

На какие темы какие доклады были на конференции, кто из спикеров принял участие, что было интересного, чем отличался этот год от предыдущих — обо всём можно прочитать дальше.


Читать дальше →

Назад в будущее: как прошёл Joker 2017

Reading time6 min
Views7.4K


Давно в Java-мире не было такого оживления, как этой осенью: наконец-то вышла «девятка», завершены и другие «долгострои» (Java EE 8, JUnit 5, Spring Framework 5), Java EE отправляется в Eclipse Foundation, коммерческие фичи Oracle JDK решено опенсорснуть, а сама Java переходит на полугодовой релизный цикл.

Как в таком урагане новостей может выглядеть Java-конференция? Надо сосредоточиться на этих новых темах, или думать о тех разработчиках, которые не то что на «девятку», а на «восьмёрку» ещё не перешли? Мы провели в Петербурге пятый по счёту Joker — и под катом подробно написали о том, как это было.
Читать дальше →

«Россия, институт, кафедра и я» — вторая часть интервью с Анатолием Абрамовичем Шалыто, профессором Университета ИТМО

Reading time20 min
Views8.7K


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

Вашему вниманию — вторая часть этого интервью. Вот о чем мы поговорили:

  • что нужно сделать, чтобы выпускники оставались работать в своем ВУЗе;
  • как изменить модель финансирования образования;
  • как чемпионов-олимпиадников пытались забрать в научные роты;
  • стоимость лабораторных мышей;
  • направление биоинформатики в Университете ИТМО;
  • лекция Олега Тинькова перед студентами;
  • отношение к Анатолию Абрамовичу среди его выпускников.




Текстовая расшифровка — под катом.
Читать дальше →

«В ЕЕ всегда есть альтернатива» — Дмитрий Александров (T-Systems) о Java EE / EE4J

Reading time6 min
Views7.9K


В последнее время вокруг Java EE много шумихи: сначала выход восьмой версии, затем новость о переходе в Eclipse Foundation и о переименовании. Но многие обсуждения новостей сводятся к тому, что люди думают о новом названии EE4J. Мы решили этим не ограничиваться и расспросить Дмитрия Александрова (ведущего эксперта-программиста в T-Systems): он и имеет дело с Java EE в своей работе, и активен в EE-сообществе, и выступает с EE-докладами на конференциях. Так что вопросы мы ему задали и с точки зрения «применимость в вашей работе», и с точки зрения «что думает сообщество в целом», и заодно про доклады: он как раз уже завтра выступит у нас на Joker.
Читать дальше →

Объясняем современный JavaScript динозавру

Reading time15 min
Views267K


Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


Я не понял ни слова из предложения и стал разбираться, как это может помочь мне как разработчику.


Цель статьи — рассказать о контексте, в котором инструменты в JavaScript развивались вплоть до 2017-го. Начнём с самого начала и будем делать сайт, как это делали бы динозавры — безо всяких инструментов, на чистом HTML и JavaScript. Постепенно станем вводить разные инструменты, поочерёдно рассматривая решаемые ими проблемы. Благодаря историческому контексту вы сможете адаптироваться к постоянно меняющемуся ландшафту JavaScript и понять его.

Первый деплой: как прошла конференция DevOops 2017

Reading time6 min
Views5.5K


В организации конференций есть свои «dev» и «ops»: для успеха требуется и «разработать» программу из отличных докладов, и «выкатить её на прод». И с любой новой конференцией, как с любым новым софтовым продуктом, многое может пойти не так на обоих этапах. Мы впервые провели DevOops — что там происходило, и не получился ли «упс»? На Хабре уже появился отзыв одного из участников, а теперь мы публикуем свой текст.
Читать дальше →

DevOops 2017: Как это было и Docker, Docker, Docker

Reading time5 min
Views11K
20.10.2017 я посетил конференцию DevOps в Питере и описал свои впечатления. Не рассчитывайте на хардкор, реальные примеры в духе «как внедрить DevOps в компании за 5 дней» или бесконечные осанны Docker, под катом их нет.


Читать дальше →

Бесплатная YouTube-трансляция DevOps-конференции DevOops 2017

Reading time5 min
Views13K
Если вы ранее видели мои посты, вы знаете, что мы в JUG.ru Group делаем большие технические конференции для IT-инженеров (разработчиков, исследователей, тестировщиков, сисадминов). И вот, пару недель назад я обратился к одному из ребят из сообщества с просьбой поддержать конференцию постом в блоге, на что получил категорический отказ. Мол, раз билеты платные, то вы находитесь на оси зла, не поддерживаете сообщество, не помогаете индустрии, а только развлекаете богатые корпорации и помогаете им еще больше «корпоратеть».

Тогда я ответил, что все видеозаписи докладов мы через несколько месяцев выкладываем на YouTube в общий доступ, делаем открытые JUG'и и вообще, деньги берем только за то, что мы делаем интересный для индустрии продукт, а не преследуем свои цели (как большинство крупных корпораций, которые собирают базы для отделов HR или отделов продаж): отбираем доклады, которые нужны людям и которые будут покупать, это наш козырь и наш хлеб.

Вот только я совсем забыл еще кое о чем: о бесплатных трансляциях наших конференций. Если покопаетесь в нашем блоге, вы поймете, что весь 2017 год мы делали открытые трансляции главных треков наших конференций.

20 октября 2017 в 9:30 утра (по московскому времени) начнется бесплатная онлайн-трансляция из главного зала конференции DevOops 2017! И не просто трансляция, а 2к трансляция, наконец-то ваши Retina и 4k мониторы окажутся нужны для чего-то полезного!


Читать дальше →

Моноиды, полугруппы и все-все-все

Reading time12 min
Views44K

Если ты на практике используешь ООП, то хорошо разбираешься в таких вещах, как «паттерны проектирования». А знаешь ли ты, что есть множество полезных паттернов, которые не укладываются в этот стандартный список? К сожалению, многие из них связаны с «функциональным программированием», которое, согласно легенде, сложное и заумное. Если десять раз сказать слово «моноид», можно вызвать Дьявола.


Mark Seeman расскажет о функциональном программировании просто и быстро. Для этого он начал писать цикл статей, посвященных связи между паттернами проектирования и теорией категорий. Любой ООПшник, у которого есть 15 минут свободного времени, сможет заполучить в свои руки принципиально новый набор идей и инсайтов, касающихся не только функциональщины, но и правильного объектно-ориентированного дизайна. Решающим фактором является то, что все примеры — это реальный код на C#, F# и Haskell. Этот хабрапост — перевод самого начала цикла, первых трех статей, слитых воедино для удобства понимания.


Кроме того, с Марком можно пообщаться вживую, посетив конференцию DotNext 2017 Moscow, которая состоится 12-13 ноября 2017 г. в Москве, в «Славянская Рэдиссон». Марк прочитает доклад на тему «From dependency injection to dependency rejection». Билеты можно взять здесь.

Читать дальше →

«Информационные науки могут преподавать только молодые люди» — Интервью с А.А. Шалыто, профессором Университета ИТМО

Reading time21 min
Views19K
Всем привет! Шоу «Без слайдов» вернулось из длительного отпуска. На самом деле, всю весну и лето я был завален разной работой, поэтому не было времени толком ни доехать до студии, ни разобрать накопившийся материал. Чтобы вы понимали глубину проблемы — выпуск с моим сегодняшним героем снимался полтора месяца назад, но руки до него дошли только сейчас. В новом сезоне я постараюсь делать выпуски чаще, чесслово. Но к чёрту лирику, пора переходить к делу.



Анатолий Абрамович Шалыто — личность легендарная. Профессор, доктор технических наук, заведующий кафедрой технологии программирования Университета ИТМО, работающий в основном на знаменитой кафедре компьютерных технологий, которая учит и выпускает всех знаменитых олимпиадников, побеждающих на той самой олимпиаде по программированию ACM ICPC, лауреат премии Правительства России в области образования. Анатолий Абрамович знаменит и своей непримиримой позицией по поводу взаимодействия ВУЗов с бизнесом и своим вкладом в автоматное программирование и моими любимыми заметками о мотивации.

Хотели поговорить минут 50-60, а получилось полтора часа. Поэтому я решил разбить это интервью на две части. Вашему вниманию — первая часть, в которой мы поговорили:

  • о премии Правительства России в области образования;
  • о ребрендинге ИТМО;
  • о всемирных олимпиадах по программированию;
  • в какие ВУЗы поступают чемпионы школьних олимпиад по программированию;
  • как в ВУЗе готовить специалистов для реальной работы;
  • как сделать так, чтобы лучшие студенты после выпуска оставались работать в ВУЗе;
  • (внезапно!) как Андрей Паньгин оказался в Одноклассниках.




Приятного просмотра.

Для тех, кто предпочитает читать, а не слушать — расшифровка как всегда под катом.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity