Pull to refresh
22
0

Опускаю сказуемые

Send message

Семь архетипов превращения по принципам DevOps

Reading time17 min
Views11K
Вопрос «как внедрить у себя девопс» стоит не первый год, но хороших материалов не так много. Иногда вы становитесь жертвой рекламы не особо умных консультантов, которым нужно продать свое время, неважно как. Иногда это мутные, крайне общие слова о том, как корабли мегакорпораций бороздят просторы вселенной. Возникает вопрос: а нам-то с этого что? Уважаемый автор, можете внятно списочком сформулировать свои идеи?

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



Джон Уиллис — один из отцов DevOps. За плечами у Джона — десятки лет работы с огромным количеством компаний. В последнее время Джон стал для себя замечать специфические паттерны, которые имеют место быть в работе с каждой из них. Используя эти архетипы, Джон наставляет компании на истинный путь DevOps-трансформации. Подробнее об этих архетипах — в переводе его доклада с конференции DevOops 2018.
Total votes 27: ↑27 and ↓0+27
Comments1

Сверхсовременные иммутабельные структуры данных

Reading time22 min
Views31K
Годами эксперты в С++ рассуждают о семантике значений, иммутабельности и разделении ресурсов за счет коммуникации. О новом мире без мьютексов и гонок, без паттернов Command и Observer. На деле все не так просто. Главная проблема по-прежнему в наших структурах данных.



Иммутабельные структуры данных не меняют своих значений. Чтобы что-то с ними сделать, нужно создавать новые значения. Старые же значения остаются на прежнем месте, поэтому их можно без проблем и блокировок читать из разных потоков. В итоге ресурсы можно совместно использовать более рационально и упорядоченно, ведь старые и новые значения могут использовать общие данные. Благодаря этому их куда быстрей сравнить между собой и компактно хранить историю операций с возможностью отмены. Все это отлично ложится на многопоточные и интерактивные системы: такие структуры данных упрощают архитектуру десктопных приложений и позволяют сервисам лучше масштабироваться. Иммутабельные структуры — секрет успеха Clojure и Scala, и даже сообщество JavaScript теперь пользуется их преимуществами, ведь у них есть библиотека Immutable.js, написанная в недрах компании Facebook.

Под катом — видео и перевод доклада Juan Puente с конференции C++ Russia 2019 Moscow. Хуан рассказывает про Immer — библиотеку иммутабельных структур для C++. В посте:

  • архитектурные преимущества иммутабельности;
  • создание эффективного персистентного векторного типа на основе RRB-деревьев;
  • разбор архитектуры на примере простого текстового редактора.

Total votes 84: ↑84 and ↓0+84
Comments57

Playwright — драматургия от Microsoft и новый инструмент для тестирования

Reading time5 min
Views54K


Я десять лет тестирую и пишу код, а последние четыре года — тестирую доклады в программном комитете конференции Heisenbug. Сегодня расскажу о сквозных тестах, кросс-браузерности и ощущениях от использования Playwright версии 0.10.0.

Из конца в конец


Зачем нужны сквозные (end-to-end) тесты? Они управляют браузером и имитируют действия пользователя. Например, я описал пользовательские сценарии и хочу, чтобы они были проверены с каждой версией продукта. Проверять все сценарии для всех версий вручную — дороже и дольше, чем автоматикой.

Есть разные инструменты: Selenium, Puppeteer, Protractor, Cypress и другие. Две недели назад вышел новый инструмент — Playwright, над которым работал Андрей Лушников, разработчик Puppeteer. Эта библиотека полностью решает проблему написания кросс-браузерных тестов.

Ничего себе, серьёзно?
Total votes 25: ↑24 and ↓1+31
Comments10

Что под капотом компиляторных оптимизаций GraalVM?

Reading time7 min
Views6.4K

Продолжаем разбираться с работой GraalVM, и на этот раз у нас перевод статьи Aleksandar Prokopec «Under the hood of GraalVM JIT optimizations», изначально опубликованной в блоге на Medium. В статье есть несколько интересных ссылок, позже мы постараемся перевести и эти статьи.





В прошлый раз на Medium мы рассматривали вопросы производительности Java Streams API на GraalVM в сравнении с Java HotSpot VM. GraalVM отличается высокой производительностью, и в тех экспериментах мы достигли ускорения от 1.7 до 5 раз. Конечно, конкретные значения выигрыша в производительности всегда будут зависеть от запускаемого кода и нагрузочных данных, поэтому, прежде чем делать какие-то выводы, стоит самостоятельно попробовать запустить ваш код на GraalVM.


В этой статье мы глубже проникнем во внутренности GraalVM и посмотрим, как происходит JIT-компиляция.


Читать дальше →
Total votes 26: ↑25 and ↓1+34
Comments1

Java-дайджест за 27 декабря

Reading time5 min
Views6.1K


  • Рон Пресслер собрал и выложил новый «официальный» прототип Project Loom (файберы для Java). В качестве основы используется JDK 14. Скачать можно здесь, прочитать анонc можно здесь. Люди потихоньку начинают втягиваться в тему, и на GitHub уже лежит несколько проектов, использующих Loom: Loom Date Server, Fibry (реализация акторов с поддержкой файберов), RxJavaFiberInterop (мост между RxJava 3 и Loom), и пара примеров использования Loom (раз, два). На всякий случай напоминаю, что Рон есть на Reddit, временами он пишет туда анонсы и оставляет хорошие развернутые комментарии.


  • InfernoPlus опубликовали видео про то, как сделали фанатскую игру в жанре Battle Royale про Super Mario, которая неожиданно хайпанула. На бэке там были Java + Tomcat. Конец истории: авторам позвонили из Nintendo и пообещали засудить, из-за чего игрушку пришлось убить.

Читать дальше →
Total votes 25: ↑24 and ↓1+30
Comments4

«Создавать технологии, не думая о том, кто ими пользуется — совершенно бессмысленно»: большое интервью с Антоном Вайсом

Reading time20 min
Views3.3K


Этот хабрапост — интервью с Антоном Вайсом, совладельцем технологического консалтинга Otomato Software, обладателем более чем 15-летнего опыта в области высоких технологий. Является экспертом по техническому преподаванию, инициатором и соавтором первого в Израиле курса DevOps-сертификации. Антон участвует в международных конференциях и известен как крутой докладчик.

Мы поговорим на следующие темы:

Читать дальше →
Total votes 8: ↑7 and ↓1+9
Comments2

AI против тестировщиков, Брандашмыг, уточки: как прошёл Heisenbug 2019 Moscow

Reading time6 min
Views3.1K


На самом деле на фото: спикеры Алексей Виноградов и Барух Садогурский спорят, кто из них настоящий


UPD: Когда мы писали эту статью, некоторые указанные в посте спикеры (включая Дядюшку Боба и Маркуса) планировали приехать на конференцию. К сожалению, ситуация изменилась. Также из-за запрета на проведение массовых мероприятий мы перенесли конференцию на другие даты. Следите за обновлениями на сайте конференции. 13 марта мы обновили этот пост, чтобы он не содержал некорректную информацию.

У Heisenbug есть две онлайн-трансляции, и в открытую для всех попадают доклады первого дня из первого зала (а в платной есть доступ ко всем докладам обоих дней). И чтобы пост о том, как прошла конференция, был для вас интереснее и полезнее, мы для начала разобрали, что попало в открытую: так вы сможете не только узнать, что увидели люди в зале, но и по ссылке сразу же увидеть это самостоятельно.


А в конце написали, кто из спикеров следующей Heisenbug 2020 Piter уже известен — и среди них будет, например, Роберт «Uncle Bob» Мартин!

Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments0

Java-дайджест за 18 декабря

Reading time5 min
Views5.2K


  • Вышел первый пробный билд JDK 15. Страничка проекта — здесь, но смотреть там пока совершенно нечего.
  • RedHat зарелизили WildFly 18. Заявлена поддержка Jakarta EE 8, MicroProfile 3.0, JDK 13, есть куча изменений в подсистемах безопасности и EE, и многое другое.
  • Tobias Hartmann, HotSpot-инженер в Oracle, опубликовал в почтовой рассылке valhalla-dev большое письмо «Optimizing the way to Valhalla: JIT Status Update». Valhalla — это проект в OpenJDK, представляющий из себя инкубатор самых крутых современных идей в виртуальной машине и языке Java, такие как Value Types и Generic Specialization. Письмо представляет собой сплошной чеклист, и копипастить его в этот дайджест бессмысленно. В целом, там подробности про оптимизацию доступа к массивам и скаляризацию в C2.
Читать дальше →
Total votes 22: ↑21 and ↓1+28
Comments3

C++ Russia: прошлое, настоящее и будущее

Reading time8 min
Views3.7K


UPD: Когда мы писали эту статью, некоторые указанные в посте спикеры планировали приехать на конференцию. К сожалению, ситуация изменилась. Также из-за запрета на проведение массовых мероприятий мы перенесли конференцию на другие даты. Следите за обновлениями на сайте конференции. 13 марта мы обновили этот пост, чтобы он не содержал некорректную информацию.

В 2019-м конференция C++ Russia сильно изменилась организационно — и отзывы говорят, что к лучшему. Конец года — подходящее время, чтобы и подытожить результаты, и заглянуть в будущее: хотя до C++ Russia 2020 Moscow ещё четыре месяца, кое-что о ней уже известно.


Поэтому этот пост состоит из трёх частей:


  • «Прошлое»: как конференция развивалась и что изменилось с этого года
  • «Настоящее»: как прошла недавняя C++ Russia 2019 Piter (и какие из её лучших докладов уже доступны онлайн)
  • «Будущее»: что готовит 2020-й
Читать дальше →
Total votes 21: ↑20 and ↓1+29
Comments0

DevOps-инженеров не существует. Кто тогда существует, и что с этим делать?

Reading time7 min
Views25K


В последнее время такие объявления заполонили интернет. Несмотря на приятную зарплату, не может не смущать, что внутри написана дикая ересь. Вначале предполагается, что «DevOps» и «инженер» можно каким-то образом склеить вместе в одно слово, а далее идет рандомный список требований, часть которых явно скопирована из вакансии сисадмина.


В этом посте хочется немного поговорить, как мы дошли до жизни такой, что такое DevOps на самом деле и что теперь с этим делать.


Такие вакансии можно всячески порицать, но факт остается фактом: их много, и так устроен рынок на данный момент. Мы сделали девопс-конференцию и открыто заявляем: «DevOops — не для DevOps-инженеров». Тут многим покажется странным и диким: почему люди, делающие совершенно коммерческое мероприятие, идут против рынка. Сейчас всё объясним.

Читать дальше →
Total votes 29: ↑24 and ↓5+28
Comments35

Java-дайджест за 10 декабря

Reading time2 min
Views4.8K


  • Вышла четвертая альфа-версия «Remnants of the Precursors» — написанного на Java бесплатного аналога «Master of Orion» (это игра 1993 года). Пятую альфу обещают 5-го сентября. Автор обещает выложить исходники после перехода в бету. Скачать четвертую альфу можно по ссылке.


  • Вышла NestedJ — библиотека, которая в виде репозитория Spring Data реализует сортированное дерево, оптимизированное на чтение. Логика обхода в этой библиотеке стоит O(n) и позволяет делать такие штуки, как поиск узлов-детей и узлов-родителей. 144 коммита и 31 звездочка на GitHub.

Читать дальше →
Total votes 25: ↑23 and ↓2+30
Comments10

Войны платформ и приезд Uncle Bob в Россию: что было и что будет на DotNext

Reading time8 min
Views3.1K


UPD: Когда мы писали эту статью, некоторые указанные в посте спикеры (включая Дядюшку Боба) планировали приехать на конференцию. К сожалению, ситуация изменилась. Также из-за запрета на проведение массовых мероприятий мы перенесли конференцию на другие даты. Следите за обновлениями на сайте конференции. 13 марта мы обновили этот пост, чтобы он не содержал некорректную информацию.

С недавнего московского DotNext прошло уже достаточно времени, чтобы улеглась пыль и были подсчитаны зрительские оценки каждого доклада.


На петербургском DotNext 2020-го должно быть особенно масштабно: например, приедет Роберт «Uncle Bob» Мартин.


Какие ещё известные спикеры там будут? А какие доклады прошедшего DotNext, особенно понравившиеся зрителям, можно прямо сейчас посмотреть в записи? И что интересного было, помимо докладов? Мы сделали пост и о том, как всё прошло в Москве, и о том, чего ждать в Петербурге.

Читать дальше →
Total votes 15: ↑14 and ↓1+21
Comments3

Революция или эволюция Page Object Model?

Reading time12 min
Views24K
Всем привет! Меня зовут Артём Соковец. Хочу поделиться переводом своей статьи об Atlas: реинкарнации фреймворка HTML Elements, где представлен совершенно иной подход работы с Page Object.

Перед тем, как перейти к деталям, хочу спросить: сколько обёрток для Page Object вы знаете? Page Element, ScreenPlay, Loadable Component, Chain of invocations…

А что будет, если взять Page Object с реализацией на интерфейсе, прикрутить Proxy Pattern и добавить немного функциональности Java 8?

Если интересно, предлагаю перейти под кат.


Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments14

Сглупил ли Ричард Хендрикс, или Линейный поиск против бинарного

Reading time3 min
Views28K


Думаю, на Хабре есть любители сериала «Кремниевая долина» (Silicon Valley). На этой неделе там впервые за все шесть сезонов крупно показали код — разумеется, сразу хочется обсудить его здесь.


Желая унизить главного героя Ричарда Хендрикса, его бывший начальник показывает на совещании фрагмент его старого кода. Там к уже отсортированным данным применён линейный поиск — так что задача будет выполнена, но выглядит это очень неэффективно.


Сам Ричард не спорит с тем, что код плохой. Однако среди зрителей сериала у его решения внезапно нашлись защитники, и теперь мне интересно, что об их позиции думает Хабр.

Читать дальше →
Total votes 49: ↑39 and ↓10+46
Comments54

Конкретное и глобальное: программа Mobius 2019 Moscow

Reading time7 min
Views2K


Что может интересовать мобильного разработчика? Самые разные вопросы: от конкретных технических («как бы ускорить сборку в Xcode») до глобальных карьерных («а не податься ли мне в инди-разработчики с собственным приложением»). А если действительно заняться собственным приложением, сразу возникают новые вопросы: например, как эффективнее всего взаимодействовать с Google Play/App Store?


И программа приближающегося московского Mobius хорошо отражает это многообразие. Как всегда, там всем хватит технической конкретики, но будет и ряд выступлений не про код, которые тоже полезны для мобильного разработчика. Под катом — подробный разбор (и ссылки на видеозаписи предыдущих докладов некоторых спикеров!)


Total votes 20: ↑19 and ↓1+18
Comments2

Атакуем Joker 2019 полностью: как прошла самая крупная Java-конференция в России

Reading time5 min
Views5.3K
В октябре я далеко не впервые загрузился в самолет и отправился из далекого Иркутска в направлении Санкт-Петербурга. На Java-конференциях JUG Ru Group я оказывался и раньше, но всё равно не ожидал, что в этот раз будет побит рекорд, и в «Экспофоруме» соберутся более двух тысяч Java-программистов и им сочувствующих. Хардкор, угар, инженерные доклады, розыгрыши и запись видео-шоу в прямом эфире окружали нас два дня. Сразу оговорюсь, что на хабре уже писали про Joker 2019, например: dbelob — «Joker 2019: триумф года», gayka_m8 — «Чем нам запомнилась последняя JokerConf». Но теперь доступны финальные фоточки, посчитаны зрительские оценки и улеглись эмоции, поэтому мои впечатления от конференции — под катом.


Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments8

Quality pipelines в мобильной разработке, часть 1: Android

Reading time6 min
Views6.6K


фото с Unsplash по запросу "pipeline"


Общий подход


Привет! Я начинаю серию постов о пайплайнах в разработке и не только, которые помогают удостовериться в качестве разрабатываемых мобильных приложений. Главная идея в том, чтобы осветить все подходы к мобильной разработке, актуальные сейчас: нативную разработку для Android и iOS, React Native, Xamarin и Flutter. Я начну с Android, но сначала хотел бы дать общее представление, о чём это всё.


Имейте в виду, что это общий обзор инструментов и практик, способных пригодиться вам в процессе разработки Android-приложений, а не туториал по настройке этих инструментов.

Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments0

Могут ли автотесты заменить человека в поиске уязвимостей: интервью с Александрой Сватиковой

Reading time8 min
Views5.5K


Александра Сватикова работает экспертом по информационной безопасности в Одноклассниках. Более 8 лет назад она перешла от разработки на Java к тестированию безопасности приложений.


Мы взяли у неё интервью, где обсудили:


  • сложно ли перейти разработчику в аналитику приложений;
  • различия в работе пентестера, ресерчера и аналитика;
  • security development lifecycle или SDLC;
  • роль человека в поиске уязвимостей;
  • как обстоят дела с аналитикой безопасности в других компаниях.

В этой статье не будет хардкора — за ним можно съездить на Heisenbug 2019 Moscow, где Александра расскажет о статическом тестировании безопасности. Подробнее к её докладу перейдём в конце поста, а пока добро пожаловать под кат.

Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments2

«Никто не говорит другим, что им нужно делать»: Nicolò Ribaudo о разработке Babel и многом другом

Reading time10 min
Views2.5K


Nicolò Ribaudo — один из ключевых разработчиков Babel, приглашённый эксперт TC39 и при этом ещё и студент-математик.

Nicolò выступит завтра на HolyJS 2019 Moscow. И в преддверии этого участники программного комитета HolyJS Евгений Кот (bunopus) и Дмитрий Махнёв (DmitryMakhnev) поговорили с ним о разработке Babel, задачах приглашённого эксперта, учёбе, предстоящем докладе на HolyJS… и о том, как при всём при этом можно умудряться высыпаться.

Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments0

Information

Rating
Does not participate
Registered
Activity