Это третья статья из цикла. В прошлой части мы разбирали типы метрик, и уже там начали встречаться перцентили. Это полезная штука, но для неподготовленного читателя она выглядит просто как математическая дичь. Эта статья поможет разобраться в перцентилях по-инженерному, не заканчивая профильный факультет.
Java-разработчик
Готовим Window Inset под соусом Jetpack Compose и щепоткой View
Обожаю запах свежей мобильной разработки по утрам, дням и вечерам 🍕📱
Все примеры из статьи можно посмотреть в этом репозитории.
Вот только почему, почему ещё не все используют режим edge2edge? Разве для того я покупал огромный безрамочный телефон, чтобы смотреть на траурные черные полоски с кнопками?!
К сожалению, сейчас все еще встречаются Android-приложения, которые не поддерживают edge-to-edge. Складывается ощущение, что разработчики либо не знают об insets, либо просто не умеют их готовить. На самом деле реализовать edge-to-edge не сложно, а благодаря этой статье вы сможете разобраться с insets в разы быстрее.
Сегодня я надену специальный мобильный фартук и расскажу, что такое режим edge-to-edge в мобильных приложениях и как работать с insets в Android. А ещё мы разберём примеры обработки insets не только во view, но и в compose. Если статьи о работе с insets в view еще можно найти на просторах интернета, то информацию про работу с ними в compose можно найти только в официальной документации.
Глубокое погружение в Java Memory Model
Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.
В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.
Как ускорить работу PostgreSQL с помощью конфигурации базы и оптимизации запросов
Когда работаешь с данными, скорость запросов — один из главных показателей эффективности. Чтобы повысить эту скорость, нужно знать не только как оптимизировать сами запросы, но и как конфигурация самой базы влияет на скорость выполнения запроса.
Администратор баз данных в Southbridge и ведущий инженер компании Data Driven Lab Иван Чувашов занимается базами данных 15 лет и сегодня хочет поговорить про оптимизацию запросов. Разбирать все будет на примере PostgreSQL, так как именно с этой базой он сейчас работает плотнее всего.
Эта статья — конспект бесплатного вебинара об оптимизации PostgreSQL от «Слёрма». Если вам удобнее смотреть, а не читать, переходите на YouTube.
12 схем архитектуры английской грамматики
Я предприняла попытку смоделировать в 12 схемах и 16 пунктах пояснительных заметок английский как систему: общую структуру его уровней, логику и принципы, по которым он, в рамках моего подхода, функционирует. Мне хотелось, насколько это возможно, в своём описании грамматики придерживаться формата технической документации.
Данная раскладка может быть полезной для предварительного ознакомления с устройством предмета освоения - английский как иностранный, для упорядочения фрагментарных грамматических знаний и выведения их на осмысленный уровень, или, возможно, для применения в NLP.
Магия Dispatcher'ов и как сделать свой Main
Я думаю сейчас не осталось людей, незнакомых с корутинами в Kotlin. Волшебный инструмент, согласны?
Неожиданная находка, которая освобождает 20 GB неиспользованного индексного пространства
Раз в несколько месяцев мы получаем предупреждения от системы мониторинга базы данных о том, что свободное место скоро закончится. Обычно мы просто выделяем больше места и забываем об этом, однако в этот раз мы мы были на карантине и система была нагружена меньше, чем обычно. И тут мы подумали, что это хорошая возможность провести чистку.
Начнем с конца: в итоге нам удалось освободить более чем 70 GB не оптимизированного и неиспользуемого пространства без удаления индексов и данных.
PostgreSQL Antipatterns: обновляем большую таблицу под нагрузкой
Как живет IT-шник на фрилансе с БАР без таблеток
БАР была со мной долгие годы, но в 22 года появилась ясность.
С сезонной депрессией знакомо немало людей, привыкли, что от недостатка витамина D наш организм начинает страдать. Мы чувствуем упадок сил, теряем положительные эмоции, не выходит собрать себя с постели для легкого подъема, еле доживаем до конца рабочего дня. При БАР депрессия наступает внезапно, длится невыносимо долго, проходит, как по щелчку пальца.
Биполярное аффективное расстройство (БАР) — психическое расстройство с поломкой работы тела. Если у человека БАР, то «взять себя в руки» не получится. Болезнь остается на всю жизнь и прогрессирует со временем.
Люди с БАР немного отличаются. Болезнь протекает периодами. Наличие смен состояний позволяет поставить диагноз человеку. Итак, у этих состояний есть названия: мания, депрессия, гипомания, смешанные состояния и «ремиссия». При этом депрессия и мания — две крайности. Одно состояние выключает человека из жизни, приятных ощущений и радости, а второе вызывает прилив сил до невозможности уснуть и восстановиться. Из-за того, какие состояния присутствуют в большей степени у человека, биполярное расстройство различают двух типов: в первом случае наблюдаются мании, во втором случае только гипомания, человек чаще живет в депрессии.
У меня расстройство второго типа, так что риск не спать сутками, решить продать все имущество и резко помчаться за билетами на Бали — не мой случай.
Первые симптомы биполярного расстройства
Когда одноклассники покоряли Doom и Dota, в моей жизни произошло много перемен. Мать выгнала из дома. В попытках выживать самостоятельно я разносил листовки и мыл авто, когда хватало времени - сидел за партой и читал книги. Через полгода “поверхностной учебы”, учителя забили тревогу, о ситуации узнал отец. Чтобы разобраться в вопросе, повел в Психоневрологический диспансер (коротко ПНД). Так я впервые оказался на приеме у психиатра.
«Ленивый сахар» PostgreSQL
SQL - декларативный язык - то есть вы описываете "что" хотите получить, а СУБД сама решает, "как" именно она будет это делать. Некоторые из них при этом позволяют им "подсказывать", как именно лучше выполнять запрос, но PostgreSQL - нет.
Тем не менее, "синтаксический сахар" некоторых языковых конструкций позволяет не только писать меньше кода (учите матчасть!), но и добиться, что ваша база будет делать часть вычислений "лениво", только при фактической необходимости.
Thymeleaf + Spring WebFlux + Spring Security
Thymeleaf появился довольно давно, как минимум 10 лет назад, но он до сих пор весьма популярен и активно поддерживается. Шаблоны Thymeleaf удобны тем, что при простом открытии в браузере они выглядят как обычные HTML-страницы и их можно использовать как статический прототип приложения.
В этой статье рассмотрим, как создать простое приложение Spring WebFlux с Thymeleaf, аутентификацией Okta OIDC, защитой от CSRF-атак и контролем полномочий.
11 хитростей Chrome DevTools, которые помогут Вам стать Senior FrontEnd-разработчиком
Я полагаю, вы знакомы с инструментами разработчика браузера Chrome. Мы можем использовать его для просмотра сетевых запросов, анализа производительности веб-страницы и отладки последних функций JavaScript.
В дополнение к этому, он также предоставляет множество мощных, но необычных функций, которые могут значительно повысить эффективность нашей разработки!
Java 17 для тех, кто не следил. Часть 2: API
Если обновляешься со старой Java на LTS-версию Java 17, как разобраться сразу во всех фичах за несколько лет? Чтобы помочь с этим, мы уже публиковали расшифровку доклада tagir_valeev с нашего IT-фестиваля TechTrain. Но доклад такой подробный, что разделили его на два текста: в предыдущем была основная часть про языковые изменения, а теперь представляем вам завершающую часть про API.
И напоминаем, что следующий TechTrain состоится уже 14 мая (онлайн, бесплатно), а в июне будет много Java-докладов на JPoint (онлайн + офлайн).
Далее повествование идёт от лица спикера.
Этапы работы Jetpack Compose
Как и большинство UI-фреймворков, Compose рендерит кадр в несколько различных этапов. В системе Android View есть 3 этапа: Measure, Layout и Drawing. Compose очень похож, но имеет важный дополнительный этап Composition в начале.
1. Composition: какой UI показывать. Compose запускает composable-функции и создает описание вашего UI
2. Layout: где размещать UI. Этот шаг состоит из двух: измерение и размещение (measurement и placement). Элементы верстки измеряют и помещают самих себя и все дочерние элементы в 2D-координатах.
3. Drawing: как рендерить. UI-элементы отрисовываются в Canvas, обычно на экране устройства.
CSS :has() селектор
Вы когда-нибудь задумывались о селекторе CSS, где вы проверяете, существует ли конкретный элемент внутри родителя? Например, если у компонента карты есть миниатюра, нам нужно добавить к нему display: flex. Это было невозможно в CSS, но теперь у нас будет новый селектор CSS :has, который поможет нам выбрать родителя определенного элемента и многое другое.
В этой статье я объясню проблему, которую решает :has, как он работает, где и как мы можем его использовать с некоторыми вариантами использования и примерами, и, самое главное, как мы можем использовать его уже сегодня.
Атрибуты HTML, которыми вы никогда не пользовались
В январе этого года Мэдисон Канна спросила у своих подписчиков в Twitter:
Какие языки/технологии вам бы хотелось изучить или узнать глубже в этом году?
Мой выбор: typescript, next.js, react, graphql, solidity, node — Мэдисон Канна (@Madisonkanna) January 3, 2022
Мой ответ был очень простым: HTML. И я ни в коей мере не был саркастичным или насмешливым. Разумеется, я неплохо знаю, какие теги использовать в каких случаях и как обеспечивать семантику и доступность моего HTML.
Однако существует целая куча малоиспользуемых атрибутов, о которых я забыл, и, вероятно, целая куча атрибутов, о существовании которых я и не знал. Этот пост стал результатом моих исследований, и я надеюсь, что он окажется для вас полезным при создании страниц на HTML.
17 лучших инструментов и технологий для работы с большими данными, о которых нужно знать в 2022 году
Мир больших данных становится только еще больше. Организации всех мастей производят огромное количество данных из года в год, и находят все больше способов использовать их для улучшения работы, лучшего понимания клиентов, более быстрой доставки продукции и снижения затрат, а также для других целей. Кроме того, руководители компаний, стремящиеся быстрее получить отдачу от данных, ищут возможности анализа в режиме реального времени.
Все это стимулирует значительные инвестиции в инструменты и технологии работы с большими данными. В своем отчете за август 2021 года компания IDC, занимающаяся исследованием рынка, оценила ожидаемые мировые расходы на системы больших данных и аналитики в $215,7 млрд в 2021 году, что на 10,1% больше, чем в прошлом году. Она также прогнозирует, что расходы будут расти на 12,8% в год до 2025 года.
Пожалуйста, прекратите писать shell-скрипты
Когда вы автоматизируете какую-либо задачу, например, упаковываете свое приложение для Docker, то часто сталкиваетесь с написанием shell-скриптов. У вас может быть bash-скрипт для управления процессом упаковки и другой скрипт в качестве точки входа в контейнер. По мере возрастающей сложности при упаковке меняется и ваш shell-скрипт.
Все работает хорошо.
И вот однажды shell-скрипт совершает что-то совсем неправильное.
Тогда вы осознаете свою ошибку: bash, и вообще shell-скрипты, в основном, по умолчанию не работают. Если с самого начала не проявить особую осторожность, любой shell-скрипт достигнув определенного уровня сложности почти гарантированно будет глючным... а доработка функций корректности будет довольно затруднительна.
Как сделать alter table в высоконагруженной таблице
Ещё лет 5 назад на собеседованиях с backend-разработчиками был популярен вопрос: как переименовать колонку в высоконагруженной таблице (возможны вариации: как сделать любой другой alter table)?
Вопрос всё ещё часто звучит на собесах. И актуальность его выросла, так как за последние 5 лет стало намного больше масштабных проектов с высокой нагрузкой.
Java: есть ли жизнь на десктопе?
Привет! Я Виктор Барсуков, Java-разработчик в Lamoda. В этой статье хочу рассказать о своем опыте разработки десктопного Java-приложения в рамках пет-проджекта. Что из этого получилось и что можно было бы сделать иначе.
Information
- Rating
- 4,692-nd
- Location
- Тульская обл., Россия
- Date of birth
- Registered
- Activity