Pull to refresh
380
0
Олег Чирухин @olegchir

Основатель Anarchic AI, продакт GigaIDE Cloud

Send message

Android Oreo: чего ждать разработчикам?

Reading time8 min
Views21K
Есть ли в Android Studio 3.0 что-то революционно новое? В чем основной недостаток Java 9 и каковы плюсы Kotlin? Про это, а также про профайлеры, компиляторы, IoT и многое другое — в нашем интервью с Денисом Неклюдовым — первым разработчиком из России, получившим статус GDE.


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

.NET Security — это просто

Reading time17 min
Views17K

Представляем интервью с ведущими экспертами в области безопасности: Владимиром Кочетковым (руководителем отдела исследований анализа защищенности приложений в Positive Technologies) и Михаилом Щербаковым (независимым разработчиком и консультантом в области информационной безопасности).


О чем эта статья? Процитирую одну из реплик Михаила:


«Разработка защищенного приложения – это частный случай разработки приложения, не содержащего ошибок вообще. Кроме этого, ваше приложение использует сторонние библиотеки, защищенность которых тоже не гарантируется, далее оно выполняется на ОС и железе. Часто мы даже не можем сказать, на какой именно ОС и на каком железе. И все это со временем изменяется!»


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

Функциональная архитектура — это порты и адаптеры

Reading time9 min
Views24K
Представляю вашему вниманию новую статью Mark Seemann. Похоже, с таким количеством переводов он скоро станет топовым хаброавтором, даже не имея здесь аккаунта!

Чем интересна функциональная архитектура? Она имеет тенденцию попадать в так называемую «яму успеха» («Pit of Success»), в условиях которой разработчики оказываются в ситуации, вынуждающей писать хороший код.


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

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

DotNext 2017 Moscow: возвращение хардкора

Reading time25 min
Views7.5K


12-13 ноября (то есть всего через пару недель) состоится DotNext 2017 Moscow, крупнейшая в России конференция, посвященная разработке на платформе .NET. Среди наших докладчиков — ведущие отраслевые эксперты из России, Европы и США. Основные темы конференции — внутренности работы платформы (CLR, GC, JIT), лучшие практики по использованию инструментов, профилирование и оптимизация производительности, многопоточное программирование, нововведения платформы, решения сложных кейсов.


Под катом — детальный разбор программы, несколько слов о нововведениях этого года и секретный промокод со скидкой.

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

На дворе почти 2018, а мы любим колбэки

Reading time9 min
Views25K
Если в первый момент идея не кажется абсурдной, она безнадёжна.
— Альберт Эйнштейн

Мы собрали для вас самые популярные темы из обсуждений Node.js на Хабре, и попросили рассказать о них признанных экспертов: некоммерческого Node-хакера Матиаса Мэдсена и автора множества книг и курсов по Node, Азата Мардана.


Вот точный список тем:


  1. Потоки в Node.js и способы распараллеливания вычислений;
  2. Асинхронность в Node.js;
  3. Отладка и логирование в Node.js;
  4. Проблемы мониторинга производительности на продакшене;
  5. Инструменты для мониторинга нод.


    Азат Мардан (Azat Mardan) — Tech Fellow, менеджер в компании Capital One, и эксперт по JavaScript/Node.js с несколькими онлайн-курсами на Udemy и в Node University, а также автор 14 книг по той же тематике, включая «React Quickly» (Manning, 2017), «Full Stack JavaScript» (Apress, 2015), «Practical Node.js» (Apress, 2014) и «Pro Express.js» (Apress, 2014).






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

Что такое Spring Cloud и как его готовить – интервью с Евгением Борисовым и Кириллом Толкачёвым

Reading time15 min
Views106K

Вам нужно вести разработку с использованием микросервисной архитектуры. Все советуют Spring Cloud, но почему? Достаточно ли он обкатан? Как он устроен внутри, какой логикой руководствовались разработчики, насколько удобно всё это применять?


На эти и другие вопросы ответили в интервью редакции JUG Ru Group спикеры конференции Joker 2017 — Евгений Борисов и Кирилл Толкачёв.


Евгений Борисов работает в Naya Technologies. Он разрабатывает на Java с 2001 года, и принял участие в большом количестве Enterprise-проектов. Пройдя путь от простого программиста до архитектора и устав от рутины, он стал свободным художником. Сегодня Женя пишет и проводит курсы, семинары и мастер-классы для различной аудитории: live-курсы по J2EE для офицеров израильской армии, Spring — по WebEx для румын, Hibernate через GoToMeeting для канадцев, Troubleshooting и Design Patterns для украинцев.

Кирилл Толкачёв работает в Альфа-Лаборатории. Он разрабатывает различные банковские API. Формирует принципы и наборы инструментов для работы с микросервисной архитектурой. Большой поклонник Groovy, Gradle, Spring и стека технологий Netflix-а. Постоянный резидент подкаста «Разбор Полётов». Методологию DevOps знает не понаслышке и имеет почти двухлетний опыт её применения.

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

DevOps в Сбербанк-Технологиях. Инструментальный стандарт

Reading time18 min
Views34K

В этой статье пойдет речь об организации инструментального стека DevOps на примере Сбербанк-Технологий и ППРБ. Статья предназначена для инженеров по автоматизации инфраструктуры, которым необходима объективная оценка структуры работ по внедрению DevOps — и для всех, кто хочет ознакомиться с их работой.

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

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

Reading time12 min
Views44K

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


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


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

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

Как дела у CatBoost? Интервью с разработчиками

Reading time4 min
Views11K


Накануне конференции SmartData 2017 Анна Вероника Дорогуш дала обзорное интервью о текущем положении дел в CatBoost — относительно молодой библиотеке для машинного обучения на градиентном бустинге. Анна — руководитель группы, которая занимается развитием алгоритмов машинного обучения в Яндексе.

В интервью обсуждается новый метод машинного обучения, основанный на градиентном бустинге. Он разработан в Яндексе для решения задач ранжирования, предсказания и построения рекомендаций. Если вы еще не знакомы с этой технологией, рекомендуется прочитать анонс на Хабре.
Читать дальше →

О чем болит голова Android DevOps-инженера

Reading time6 min
Views7.1K


Так получилось, что инструменты DevOps обычно иллюстрируются на примере CI/CD какого-то масштабного веб-сервиса. Отчасти так получилось по историческим причинам, отчасти свою роль сыграли замечательные книги типа Google SRE Book.


К черту, давайте посмотрим на что-нибудь действительно новое. На Mobius 2017 к нам приезжает Jing Li из Viacom, с докладом «Android meets Docker».


Накануне конференции удалось найти несколько минут в его плотном графике и задать пару вопросов. В этом интервью Jing рассказывает о DevOps в мобильной разработке, приводит примеры задач и дает конкретные рекомендации по улучшению вашего DevOps процесса.

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

Готовимся к Java 9. Обзор самых интересных улучшений

Reading time7 min
Views56K


В эту среду, 30 августа, в офисе компании Oracle состоялась встреча JUG.ru с Олегом Шелаевым, Developer Advocate в компании ZeroTurnaround, которая делает JRebel и XRebel. Тема встречи — инструменты создания многопоточных программ на Java (от конструирования велосипедов и запуска потоков ручками, до ForkJoinPool-ов, зеленых потоков и транзакционной памяти).


Конечно, мы поинтересовались, какие фишки Java 9 считают в ZeroTurnaround наиболее полезными. В результате, разжились статьей, которую вы сейчас читаете. Оригинал статьи Олег опубликовал в блоге RebelLabs, там есть еще много интересного.

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

JEP 181: контроль доступа ко вложенным классам

Reading time9 min
Views5.9K


Продолжаем знакомиться с не слишком известными JEPами. На этот раз, у нас еще один подпроект из Valhalla, который так и называется — nestmates. Эта фича позволяет вложенным классам иметь неограниченный доступ друг к другу. Как именно — описано ниже. По сути, эта статья — формальный перевод JEP 181, ибо он весьма внятно описывает суть вопроса для новичка.

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

Эволюция DevOps

Reading time14 min
Views19K

Эта статья посвящена эволюции разработки и администрирования, и определению собственной позиции во всеобщей картине всего. Статья вдохновлена слайдами Marc Hornbeek, но имеет к ним опосредованное отношение. Для широкого круга хаброжителей (опсов, девов и девопсов).

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

Minimal Value Types

Reading time43 min
Views16K

Эта статья — перевод спецификации, посвященной описанию минимальной реализации типов-значений в Java, которую с нетерпением ждут уже несколько лет. Добро пожаловать в MVT!


Замечания к переводу


Этот текст предназначен, в первую очередь, для разработчиков платформы Java. Мы даже немного поспорили с разработчиками: насколько может быть интересен такой текст широкой общественности? В нем слишком много посторонних, очень точных деталей про внутреннюю магию.

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

[Археология Live] Стыдный разговор о синглтонах

Reading time8 min
Views20K

Аудитория: Java Junior, любители холиворов, профессиональные написатели синглтонов



Любые замечания и предложения — очень приветствуются. Это мое первое видео, и не совсем понятно, нужен ли тут вообще такой контент. Считайте это закрытым альфа-тестом, только для посетителей хаба Java :)


Ниже дана полная текстовая расшифровка, кому не хочется тратить время на просмотр.

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

Moby/Docker в продакшене. История провала

Reading time18 min
Views73K

Обновление: у этой статьи появилось продолжение, переведённое @achekalin. В каком порядке читать — на ваше усмотрение: в этой статье можно получить удовольствие от обширной попоболи автора, а в продолжении — от сделанных им выводов.


Примечание переводчика: в предыдущей статье о подготовке к девопс-конференциям, Gryphon88 задал резонный вопрос: как отличить cutting-edge и хайп? Нижеследующая статья наполнена сочной незамутненной истерикой, которую так приятно читать с утра, попивая чашечку кофе. Минус в том, что она написана в ноябре 2016, но нетленка не стареет. Если после прочтения захочется добавки, есть комментарии на Hacker News. А у тебя, юзернейм, такой же ад? Пиши в комментариях. Итак, начнем.


В первый раз я встретился с Докером в начале 2015. Мы экспериментировали с ним, чтобы понять, для чего бы его можно употребить. В то время нельзя было запустить контейнер в фоне, не было команд чтобы посмотреть что запущено, зайти под дебагом или SSH внутрь контейнера. Эксперимент оказался быстрым, Докер был признан бесполезным и более похожим на альфу или прототип, чем на релиз.


Промотаем нашу историю до 2016. Новая работа, новая компания, и хайп вокруг докера поднялся безумный. Разработчики уже выкатили докер в продакшен, так что сбежать с него не удастся. Хорошая новость в том, что команда run наконец-то заработала, мы можем запускать и останавливать контейнеры. Оно шевелится!


У нас 12 докеризованных приложений, бегающих на проде прямо в момент написания этой заметки, размазанные на 31 хост на AWS (по одному приложению на хост, дальше объясню — почему).


Эта заметка рассказывает, как мы путешествовали вместе с Докером — путешествие полное опасностей и неожиданных поворотов.

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

Посещение конференции — чеклист

Reading time14 min
Views15K
Это статья появилась за распитием пива с друзьями в Академгородке — стало понятно, что лучше её перенести в текстовый вид, дабы не повторять сто раз.

Существуют легенды на тему того, что единственный смысл конференции — это найти себе работу покруче за деньги текущего работодателя. Несмотря на внешнюю неэтичность, в этом хотя бы есть смысл. В реальности бывает куда хуже: люди приходят на конфу, и потом не знают, чем заняться, кроме как хавать булочки в переходе (особенно если они бесплатные). Давайте я расскажу, что делать, чтобы не тратить свои и чужие ресурсы зазря.
Читать дальше →

[Археология Java] Контекстно-зависимый инлайнинг трейсов в Java

Reading time48 min
Views11K

Коротко о статье


Инлайнинг методов – одна из наиболее важных оптимизаций в JIT-компиляторах (которые благодаря ей называются «основанными на методах» или «блочными»). Эта оптимизация расширяет область компиляции, позволяя оптимизировать несколько методов как единое целое, что повышает производительность приложений. Однако, если использовать инлайнинг методов слишком часто, время компиляции станет излишне большим, и будет сгенерировано слишком много машинного кода. И вот это скажется на производительность уже негативно.

Трассирующие JIT-компиляторы собирают не всё подряд, а только часто исполняемые пути, так называемые трейсы. С помощью этого можно получить более быструю компиляцию, уменьшить количество сгенерированного машинного кода, и улучшить его качество. В предыдущих наших работах, мы реализовали инфраструктуру для записи трейсов и трассирующий Java-компилятор, модифицируя код Java HotSpot VM. Основываясь на этой работе, мы посчитали, какой эффект инлайнинг трейсов оказывает на производительность и количество генерируемого кода.
Читать дальше →

Хачим IntegerCache в Java 9

Reading time5 min
Views14K
Для многих переход на Java 9 выглядит как нечто абстрактное. Давайте переведем это в практическую плоскость одним коротким победоносным примером, который привел в своей статье Питер Варгас [1].
Читать дальше →

Новый GC Epsilon. У джавы может не быть сборки мусора. Шок. Сенсация

Reading time6 min
Views38K
Добрый день, господа! Спешу сообщить, что настают последние дни. Кажется, мир Java развился до такой степени, что то ли мы теперь можем спокойно использовать Rust вместо Java, то ли Java вместо Rust. Кровавые подробности ждут вас под катом.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Works in
Date of birth
Registered
Activity

Specialization

Chief Technology Officer (CTO), Chief Executive Officer (CEO)
Lead
From 2,000,000 ₽
Product management
Project management
Marketing research
Game Development
Web development
Software development