Как стать автором
Обновить
0
0

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

Отправить сообщение

Глубокое погружение в Java Memory Model

Время на прочтение53 мин
Количество просмотров141K


Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.


В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

Читать дальше →
Всего голосов 109: ↑109 и ↓0+109
Комментарии60

PostgreSQL под капотом. Часть 1. Цикл сервера

Время на прочтение7 мин
Количество просмотров15K

Продолжаем изучать исходный код PostgreSQL

В этот раз исследуем главный цикл сервера:

- Принятие входящих подключений;

- Проверка окружения;

- Обработка упавших воркеров.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии3

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

Время на прочтение9 мин
Количество просмотров28K

Привет, Хабр! Если основательно задаться вопросом оптимальности зарядки, станет понятно, что в этом отношении не всё так однозначно. Далеко не каждый зарядник позволяет получить быструю и качественную зарядку вашего устройства(будь то Apple или Android, смартфон или ноутбук). В этом посте мы подробнее рассмотрим типы зарядников и вопросы их совместимости, поговорим о том, какие ситуации реально снижают скорость зарядки и вредят аккумулятору устройства, а также посмотрим, какой powerbank нужен для нормальной зарядки различных типов гаджетов. Если вы не закапывались глубокого в вопросы зарядки гаджета, а привыкли просто подключать кабель и оставлять телефон у розетки, давайте скорее под кат!

Читать далее
Всего голосов 17: ↑15 и ↓2+15
Комментарии41

Пайплайн gitlab для Spring REST приложения. Часть 3

Время на прочтение4 мин
Количество просмотров3K

В статье описан мой первый опыт подготовки нетривиального пайплайна gitlab ci/cd при разработке микросервиса.

Предыдущие части:

Первая часть
Вторая часть

Читать далее
Всего голосов 9: ↑7 и ↓2+6
Комментарии0

Spring изнутри. Этапы инициализации контекста

Время на прочтение11 мин
Количество просмотров347K


Доброго времени суток уважаемые хабравчане. Уже 3 года я работаю на проекте в котором мы используем Spring. Мне всегда было интересно разобраться с тем, как он устроен внутри. Я поискал статьи про внутреннее устройство Spring, но, к сожалению, ничего не нашел.

Всех, кого интересует внутреннее устройство Spring, прошу под кат.
Читать дальше →
Всего голосов 57: ↑53 и ↓4+49
Комментарии16

Учимся разворачивать микросервисы. Часть 3. Helm

Время на прочтение21 мин
Количество просмотров70K


Привет, Хабр!


Это третья часть в серии статей "Учимся разворачивать микросервисы", и сегодня речь пойдет о Helm 3. В прошлой части мы создали Kubernetes конфигурацию для учебного проекта из 2 микросервисов (бекенда и шлюза) и задеплоили все это в Google Kubernetes Engine. В этой статье мы напишем Helm-чарт для нашей системы, создадим для него репозиторий на основе GitHub Pages и задеплоим проект в GKE с помощью Helm.

Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии1

Практическое знакомство с пакетным менеджером для Kubernetes — Helm

Время на прочтение11 мин
Количество просмотров76K


Статья является логическим продолжение нашей недавней публикации об истории пакетного менеджера для Kubernetes — Helm. В этот раз мы снова затронем вопросы устройства и функционирования нынешнего Helm (версия 2.x), а также управляемых им чартов и репозиториев, после чего перейдём к практике: установке Helm в кластер Kubernetes и использованию чартов.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии9

Базы данных. Тенденции общемировые и в России

Время на прочтение33 мин
Количество просмотров48K

Эта статья не является ответом на множество вопросов по базам данных (БД) и системам управлениям базами данных (СУБД). Я как автор выражаю своё собственное мнение о  трендах, стараясь опираться на беспристрастные показатели, статистики и т.д., но для примера приводя собственный опыт. Я не являюсь ангажированным представителем какой-либо компании и выражаю точку зрения опираясь на опыт более 25 лет работы с разными СУБД, в том числе, которую создавал своими руками. Не так много даже опытных программистов и архитекторов, которые знают все термины, технологии, какие подводные камни и куда идёт движение. Тема поистине огромная, поэтому в рамках одной статьи не раскрыть даже верхний уровень информации. Если кто-то не встретит свою любимую СУБД или её невероятный плюс, который стоит упомянуть, то прошу в комментариях указать и этим дополнить общую картину, что поможет другим разобраться и понять лучше предметную область. Поехали!

Open Source DBMS vs Commercial DBMS

 Для начала приведён график с сайта, db-engines.com, по моим ощущениям, неплохо отслеживающим тренды БД. Именно этот график добавил желания написать статью о текущем положении дел.

Читать далее (в конце краткие итоги)
Всего голосов 51: ↑47 и ↓4+61
Комментарии106

Как синхронизировать сотни таблиц базы в Kafka, не написав ни одного продюсера

Время на прочтение18 мин
Количество просмотров33K


Привет, Хабр! Меня зовут Сергей Бевзенко, я ведущий разработчик Delivery Club в команде Discovery. Наша команда занимается навигацией пользователя по приложению Delivery Club: мы отвечаем за основную выдачу ресторанов, поиск и всё, что с этим связано.

Я расскажу про Kafka Connect: что это такое, какова общая концепция и как работать с этим фреймворком. Это будет полезно тем, кто использует Kafka, но не знаком с Kafka Connect. Если у вас огромный монолит и вы хотите перейти на событийную модель, но сталкиваетесь со сложностью написания продюсеров, то вы тоже найдёте здесь ответы на свои вопросы. В комментариях можем сравнить ваш опыт использования Kafka Connect с нашим и обсудить любые вопросы, которые с этим связаны.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии10

Как мы Schema Registry для Kafka настраивали, и что могло пойти не так…

Время на прочтение11 мин
Количество просмотров36K

Всем привет.

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии4

Kubernetes или с чего начать, чтобы понять что это и зачем он нужен

Время на прочтение5 мин
Количество просмотров40K

Данная статья рассчитана на новичков. Если вы опытный ниндзя, просто вспомните о том, как когда-то подобная информация могла быть полезной и для вас.

Kubernetes
был создан Google на основе собственного опыта работы с контейнерами в производственной среде, и своим успехом он во многом обязан именно Google.

Так что же такое Kubernetes и для чего мы в принципе хотим использовать именно его, а не обычные контейнеры, например Docker.

Читать далее
Всего голосов 12: ↑6 и ↓6+2
Комментарии7

Поиск под капотом. Облачная индексация

Время на прочтение10 мин
Количество просмотров7.3K

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



Заодно у меня получилось рассмотреть основные функции и методы Apache Spark, так что данную статью можно рассматривать еще и как небольшой туториал по спарку.

Всего голосов 20: ↑19 и ↓1+18
Комментарии6

Устройство поисковых систем: базовый поиск и инвертированный индекс

Время на прочтение24 мин
Количество просмотров27K

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

В статье описано устройство поиска, инвертированного индекса и его оптимизаций с отсылками к теории. В качестве подопытного кролика взят Tantivy — реализация архитектуры Lucene на Rust. Статья получилась концентрированной, математикосодержащей и несовместимой с расслабленным чтением хабра за чашкой кофе, осторожно!
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии6

Собрать сервер для глубокого обучения за пол ляма может и ребенок. Или нет?

Время на прочтение12 мин
Количество просмотров32K

“Комп, пусть и такой крутой, соберет ребенок с отверткой”. - с этими словами я приступал к сборке специфичного компьютера для нашей компании. Кто же знал, что она не только по железу окажется самой специфичной из всех сборок настольных ПК, но и закончится только через месяц?

Читай как собрать комп для 4х GPU
Всего голосов 33: ↑30 и ↓3+37
Комментарии100

Подкаст «Хочу в геймдев» #22 — текстовая версия

Время на прочтение4 мин
Количество просмотров3K

Двадцать второй выпуск подкаста - мы говорим о профессии 3D-художник (3D artist). Чем занимается 3D-художник, каковы особенности этой профессии? Что нужно делать, чтобы стать им? Об этом и не только вы узнаете в 22-м выпуске!

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Выгорание — норма? Часть 3. Моя история выгораний и обучения в процессе

Время на прочтение11 мин
Количество просмотров17K

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

Ссылки на предыдущие статьи: 

Выгорание — норма? Часть 1. (Вводная)

Выгорание — норма? Часть 2. Подробно про фазы и «Что делать?»

Напоминаю, что выгорание — это часть реакции на стресс; состояние, в которое приводит продолжительный стресс средней и даже малой интенсивности. Стресс либо незаметный, вытесненный за пределы внимания, либо мы его терпим по какой-то причине, но результат в итоге один: в мозге ломается реакция на раздражители, и система мотивации / поощрения. 

В моём случае стресс копился годами и слоями, но был вытеснен в кладовую подсознания. Обнаружила я это только тогда, когда сдалась врачам, и мы стали копать от симптомов к первопричине, попутно отпаивая меня таблеточками в стационаре.

Но обо всём по порядку.

Читать далее
Всего голосов 21: ↑14 и ↓7+14
Комментарии27

Ухань — оптическая долина

Время на прочтение6 мин
Количество просмотров4.6K
image

Китайский производственный центр столкнулся с серьезным кризисом – и все из-за пандемии.

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

В наши дни Ухань позиционируется как «Оптическая долина». Именно здесь находится самое крупное в мире производство оптоволокна. Также в Ухане базируются производители микросхем для устройств памяти, включая такие компании как Wuhan Xinxin Semiconductor Manufacturing (XMC, производят флеш-память) и Yangtze Memory Technologies Co. (YMTC, специализируются на 3D NAND). Этот регион олицетворяет собой усилия правительства Китая по ослаблению зависимости от зарубежных поставщиков микросхем.

Расположившаяся на слиянии рек Янцзы и Хан, территория вокруг Уханя на протяжении 2000 лет была критически важным оплотом для властей и тех, кто стремится свергнуть династии – а значит эта земля была ареной многих сражений.

Ухань – китайский эквивалент Виксбурга, конфедератской крепости, расположившейся вдоль реки Миссисипи, захваченной армией Союза во время американской гражданской войны.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+9
Комментарии2

В Китае создали настольный квантовый компьютер стоимостью $5000

Время на прочтение3 мин
Количество просмотров35K

Дешёвый квантовый компьютер, предназначенный для школ и университетов, должен быть выпущен в конце этого года. Он получил название SpinQ и предназначен для изучения принципов квантовых вычислений. Cloud4Y рассказывает, что это за устройство и почему у него такой низкий ценник.  

Читать далее
Всего голосов 28: ↑27 и ↓1+35
Комментарии28

Как войти в игровой бизнес и не сойти с ума: обзор путеводителя по геймдев-индустрии

Время на прочтение9 мин
Количество просмотров15K
image

Литературы и разных материалов по разработке игр сейчас хватает. Геймдизайн и левел-дизайн, игровая аналитика и психология геймеров, нарратив и история популярных проектов — рассказывают много, содержательно и интересно, по крайней мере для тех, кто только “вкатывается” в индустрию геймдева. Которая стремительно растет: миллиардные сделки у всех на слуху и рисуют перед начинающими разработчиками будоражащие перспективы.

И вот тут проблема. Да, игровая индустрия давно уже стала большим конвейерным бизнесом, со своими собственными законами, процессами, практиками, терминами, этикетом и т.д., общими для участников рынка. Но, тем не менее, этот сверхважный аспект часто остается за кадром, — как своеобразный эзотерический опыт, недоступный новичкам и людям со стороны. Как следствие — часть разработчиков выходят на рынок вслепую, без ориентиров, наступают на разного рода грабли и тратят ресурсы на изобретение велосипедов. И это одна из причин, почему далеко не всем, пусть даже и с многообещающим продуктом, удается выжить в этом бизнесе.
Как раз этот информационный лаг и закрывает книга “Игра как бизнес. От мечты до релиза” (2020) Алексея Савченко.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+31
Комментарии2

История развития Boston Dynamics: от Плоского Одноногого Прыгуна до танцующего Atlas

Время на прочтение11 мин
Количество просмотров16K

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

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

Но есть одна компания, которая, вопреки всем соображениям практичности, создает роботов, максимально похожих на человека и животных — Boston Dynamics. А недавно они научили своего робота танцевать! 

Смотрите этот ролик под катом.
Всего голосов 28: ↑27 и ↓1+44
Комментарии33
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность