Как стать автором
Обновить
46
0
Дмитрий Белобородов @dbelob

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

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

Signals – новая веха развития Angular

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров22K

Angular Signals является частью будущей спецификации 16-й версии Angular. В первую очередь Signals нацелены на решение проблемы с обнаружением изменений в Angular, однако Angular Team позаботилась и о том, чтобы разработчики смогли не только писать более оптимальный код с точки зрения самого фреймворка, но и чтобы самим разработчикам было удобнее и приятнее писать код на Angular. Сигналы предлагают более декларативный подход для написания приложений, позволяя новичкам быстрее вкатываться в Angular и по-новому посмотреть на использование RxJs в своём приложении.

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

Почему PASETO лучше для аутентификации, чем JWT

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

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

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

Митап JUG.MSK: Алексей Рагозин про SJK (Swiss Java Knife)

Время на прочтение2 мин
Количество просмотров1K
19 января 2024 года на встрече московского сообщества Java-разработчиков JUG.MSK Алексей Рагозин рассказал о том, как при помощи набора инструментов с открытым кодом SJK (Swiss Java Knife) можно провести анализ производительности и профилирование решений, исполняемых на JVM.


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

React + Three.js. Создаём собственный 3D шутер. Часть 3

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.6K

Привет, дорогие пользователи мира IT!

В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетать мощь Three.js с гибкостью React, чтобы создать собственную игру прямо в браузере.

В статье вы познакомитесь с библиотекой React Three Fiber и научитесь создавать интерактивные 3D-игры.

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

Почему B-деревья быстрые?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров46K

B-дерево — это структура, помогающая выполнять поиск в больших объёмах данных. Она была изобретена более сорока лет назад, однако по-прежнему используется в большинстве современных баз данных. Хотя существуют и более новые структуры индексов, например, LSM-деревья, B-дерево пока никто не победил в обработке большинства запросов баз данных.

После прочтения этого поста вы будете знать, как B-дерево упорядочивает данные и выполняет поисковые запросы.

Читать далее
Всего голосов 185: ↑184 и ↓1+183
Комментарии13

Как мы строили Норильск «на ледяной планете»

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


60–65% территории России занимает вечная мерзлота. Она бывает разная: где-то это много относительно сухой земли, а где-то прямо линза льда (до 95% воды), причём глубиной до нескольких километров. В районе Норильска можно грубо сравнить её с замёрзшим океаном.

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

Земляне высадились в эти места строить город. Практически как на снежную планету. И это оказалась очень суровая планета: холод до -56 градусов Цельсия, разрушающий конструкции, ураганный ветер и снег, который всё заметает. Ну и ко всему этому тут есть длинная полярная ночь, если вам не хватает сложностей.

Строить на линзе льда ничего нельзя. Тепло от здания означает, что его фундамент просто разорвёт при подвижках льда. Но тогда, конечно, про сюрпризы с мерзлотой мы не знали, и потому первое поселение — позже его назовут Аварийным посёлком — разрушилось через полгода.

Современный город стоит на скальных выходах как на островах: есть центральный жилой остров, есть Оганер — остров с больницей, есть Талнах — добывающий район, отдельно есть аэропорт, есть Надежда — ещё один комбинат, есть остров Дудинка — порт в 90 километрах от центра. Есть кусок скалы — можно строить. Нет скалы — нельзя строить.

В общем, я хочу рассказать вам про удивительно прекрасный и, как это ни странно, уютный Норильск.
Читать дальше →
Всего голосов 342: ↑337 и ↓5+332
Комментарии614

Встречаем Angular 17

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров19K

В прошлом месяце исполнилось 13 лет с момента появления "красного щита" Angular. AngularJS стал отправной точкой для новой волны JavaScript-фреймворков, появившихся для поддержки растущей потребности в богатом веб-опыте. Сегодня с новым внешним видом и набором перспективных функций мы ведем всех в будущее с версией 17, устанавливая новые стандарты производительности и удобства для разработчиков.

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

Многомерный анализ данных: исследование многомерных кубов и SQL OLAP-запросов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.8K

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

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

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

SQL (Structured Query Language) и OLAP (Online Analytical Processing) – два важных инструмента, которые помогают осуществлять многомерный анализ данных. SQL – это стандартный язык запросов для работы с реляционными базами данных. Он позволяет выбирать, фильтровать, суммировать и агрегировать данные.

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

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

Вышла Java 21

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров55K
Вышла общедоступная версия Java 21. В этот релиз попало около 2500 закрытых задач и 15 JEP'ов. Release Notes можно посмотреть здесь. Изменения API – здесь.

Java 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода.
Читать дальше →
Всего голосов 74: ↑74 и ↓0+74
Комментарии49

Как запомнить что-нибудь навсегда?

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров28K

Привет, это история о разработке самого удобного приложения
для зубрежки английских слов инди-разработчиком. Еще одно?!

– Да, но с GenAI-особенностями и алгоритмами!

Читать далее
Всего голосов 38: ↑36 и ↓2+34
Комментарии76

IntelliJ IDEA 2023.2. Language Server Protocol, AI Assistant, IntelliJ Profiler в редакторе, GitLab merge requests, ftw

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

Только что вышла IntelliJ IDEA 2023.2. В этом релизе в IDE появилась куча интересных фичей и важных улучшений.

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

Этот релиз IntelliJ IDEA 2023.2 представляет вам AI-ассистента, вооруженного набором инструментов машинного обучения. IntelliJ Profiler показывает подсказки в редакторе, делая профилирование более интуитивным и иформативным. Еще, в этом релизе появилась интеграция с GitLab.

В том посте мы пробежимся по всем основным фичам IntelliJ IDEA 2023.2. В отличие от официального анонса, вся европейская политкорректность выкинута на свалку, автор перевода не видит никакой ценности в соблюдении повесточки.

Кроме того, в этот четверг в Питере будет встреча Javawatch, посвященная Java 21. Я прочитаю мини-доклад минут на 30 о новых фичах, и потом мы сможем все вместе собраться и за кружкой пива это обсудить. Анонс события в телеге, обсуждение в чате. Я бывший PMM в JetBrains Big Data и тимлид в Remote Development/Projector, а сейчас работаю над российским дистрибутивом Java - Axiom JDK.

Волшебно. Читать далее.
Всего голосов 40: ↑35 и ↓5+30
Комментарии40

Проектирование алгоритма под рекомендательную систему

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.4K

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

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

Митап JUG.MSK: Константин Кривопустов о Jmix и Семён Киреков о Spring Data JPA

Время на прочтение2 мин
Количество просмотров1.5K
14 июля 2022 года на встрече московского сообщества Java-разработчиков JUG.MSK Константин Кривопустов рассказал про платформу разработки Jmix, Семён Киреков — про антипаттерны тестирования при использовании Spring Data JPA.


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

Redux. Простой как грабли

Время на прочтение5 мин
Количество просмотров189K
Мне уже доводилось заглядывать в репозиторий библиотеки redux, но откуда-то появилась мысль углубиться в его реализацию. Своим в некотором роде шокирующим или даже разочаровывающим открытием я хотел бы поделиться с сообществом.

TL;DR: базовая логика redux помещается в 7 строк JS кода.

О redux вкратце (вольный перевод заголовка на гитхабе):
Redux — библиотека управления состоянием для приложений, написанных на JavaScript.

Она помогает писать приложения, которые ведут себя стабильно/предсказуемо, работают на разных окружениях (клиент/сервер/нативный код) и легко тестируемы.
Я склонировал репозиторий redux, открыл в редакторе папку с исходниками (игнорируя docs, examples и прочее) и взялся за ножницы клавишу Delete:

  • Удалил все комментарии из кода
    Каждый метод библиотеки задокументирован с помощью JSDoc весьма подробно
  • Убрал валидацию и логирование ошибок
    В каждом методе жёстко контролируются входные параметры с выведением очень приятных глазу подробных комментариев в консоль
  • Убрал методы bindActionCreators, subscribe, replaceReducer и observable.

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

А теперь давайте разберём то, что осталось
Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии159

Создание Native Images со Spring Native и GraalVM

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

В этой статье я хочу исследовать возможности технологии Java Native Image, поделиться опытом взаимодействия с ней и со средствами Spring для генерации нативных образов.

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

Отладка React для самых маленьких

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

Эта статья для тех, кто только начинает свой путь в написании больших React приложений, но все еще использует только console.log для их дебага. Мы с вами рассмотрим работу с расширением для браузера "React Developer Tools" на простом примере, который в дальнейшем вы сможете применить в своих проектах. Это расширение дает возможность просмотра дерева компонентов, их props, состояния и контекста. Также достаточно просто отловить неэффективные компоненты, которые подвергаются повторному рендерингу, посмотреть сколько на это уходит времени и построить графики для визуализации эффективности компонентов. Благодаря этой информации вы не только сможете оптимизировать ваше приложение, но и более глубоко изучить React и понять все тонкости работы с ним.

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

Возможности Java — от Java 8 до Java 17

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

С момента появления в 1995 году до сегодняшнего дня в Java многое изменилось. Java 8 была революционным выпуском, вернувшим Java на пьедестал лучших языков программирования.

Мы рассмотрим большинство изменений в языке Java, которые произошли с Java 8 в 2014 году до сегодняшнего дня. Мы постараемся быть как можно более краткими по каждой функции. Намерение состоит в том, чтобы иметь ссылку на все новые фичи языка Java 8 - 17 включительно.

Примечание переводчика,

Эта статья переведена по просьбе одного из читателей Хабр. Надеюсь она будет полезна как краткий справочник по новым фичам языка Java 8 - 17.

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

Прогресс GC от JDK 8 до JDK 17

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

JDK 17 с нами уже несколько месяцев и он не только про новые возможности языка Java. Прирост производительности в сравнении с более старыми версиями JDK очень заметен. Это становится особенно очевидно, когда мы сравниваем его с предыдущими LTS версиями: JDK 8 и JDK 11. Большая доля в улучшении производительности происходит из новых функций и оптимизаций в JVM, и в этой статье фокус будет на улучшениях, которые были сделаны в области сборки мусора в JVM

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

Как сейчас лечат ожоги, если всё плохо

Время на прочтение8 мин
Количество просмотров38K
image
Кожа тилапии в качестве ксеногенного трансплантата

Один из главных принципов выживания в лаборатории гласит: «Горячая пробирка выглядит точно так же, как холодная». Вокруг нас есть огромное количество горячих предметов, начиная от кастрюли и заканчивая утюгом. Большинство бытовых ожогов мелкие и неопасные. Чаще всего они ограничиваются I и II степенью и не требуют специализированного лечения. Если что-то очень сильно пошло не так, и человек не просто прикоснулся к горячей кастрюле, а опрокинул её на себя, то ткань может погибнуть вплоть до росткового слоя. Такие ожоги не заживают сами по себе и требуют сложного лечения и трансплантации кожи.

Сегодня будем говорить про термические повреждения кожи и о том, как их лечат:

  • Как глубоко можно обжечь кожу и почему IIIа степень намного лучше, чем IIIb.
  • Что делать при поверхностных ожогах и надо ли бежать за сметаной.
  • Откуда взять много кожи, если своей лишней вроде нет.
  • Ксеногенные трансплантации. Ищем донора среди других видов.

Disclaimer: под катом есть фотографии ожогов различной степени тяжести. Мы постарались не включать наиболее неприятные снимки.
Читать дальше →
Всего голосов 129: ↑126 и ↓3+123
Комментарии89

Какой JS-фреймворк выбрать новичку — мнения шести экспертов

Время на прочтение19 мин
Количество просмотров33K
Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Frontend в СберМаркете.

В первой статье о JS-фреймворках я рассказал о самых популярных из них: Angular, React, Vue и других. В комментариях опытные разработчики спорили о том, какой фреймворк лучше, а новички спросили у меня, какой же инструмент выбрать для проекта и с чего начать знакомство с библиотеками.



Большую часть пути разработчика я писал на React. Хоть я и начинал с AngularJS, но убеждён, что это не единственный путь и можно начать с любого другого фреймворка, поэтому для статьи я решил собрать мнения знакомых разработчиков, которые пишут на разных фреймворках. Статья не даст однозначного ответа на вопрос «Что же выбрать?», но поможет решить, в каком направлении двигаться. А ещё подскажет, какие инструменты лучше применять в пет-проектах, а какие — в энтерпрайзе. Если нет времени читать статью целиком, в конце я собрал список лучших фреймворков для новичков на основе личных мнений экспертов.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии26
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность