Pull to refresh
46
0
Дмитрий Белобородов @dbelob

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

Send message

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

Level of difficultyHard
Reading time9 min
Views23K

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments9

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

Reading time8 min
Views12K

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

Читать далее
Total votes 16: ↑14 and ↓2+12
Comments9

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

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


Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments0

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

Level of difficultyMedium
Reading time9 min
Views9.7K

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

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

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

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

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

Level of difficultyEasy
Reading time7 min
Views47K

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

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

Читать далее
Total votes 185: ↑184 and ↓1+183
Comments13

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

Reading time13 min
Views52K


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

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

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

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

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

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

Встречаем Angular 17

Level of difficultyEasy
Reading time17 min
Views20K

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments6

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

Level of difficultyEasy
Reading time8 min
Views6.9K

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

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

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

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

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

Читать далее
Total votes 14: ↑9 and ↓5+4
Comments7

Вышла Java 21

Level of difficultyMedium
Reading time18 min
Views56K
Вышла общедоступная версия Java 21. В этот релиз попало около 2500 закрытых задач и 15 JEP'ов. Release Notes можно посмотреть здесь. Изменения API – здесь.

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

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

Level of difficultyEasy
Reading time9 min
Views28K

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

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

Читать далее
Total votes 38: ↑36 and ↓2+34
Comments76

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

Reading time8 min
Views11K

Только что вышла 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.

Волшебно. Читать далее.
Total votes 40: ↑35 and ↓5+30
Comments40

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

Level of difficultyMedium
Reading time5 min
Views3.4K

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

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments14

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

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


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

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

Reading time5 min
Views189K
Мне уже доводилось заглядывать в репозиторий библиотеки redux, но откуда-то появилась мысль углубиться в его реализацию. Своим в некотором роде шокирующим или даже разочаровывающим открытием я хотел бы поделиться с сообществом.

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

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

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

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

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

А теперь давайте разберём то, что осталось
Читать дальше →
Total votes 52: ↑49 and ↓3+46
Comments159

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

Reading time4 min
Views5.5K

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

Читать далее
Total votes 46: ↑45 and ↓1+44
Comments4

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

Reading time3 min
Views17K

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

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments1

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

Reading time19 min
Views29K

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

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

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

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

Читать далее
Total votes 20: ↑13 and ↓7+6
Comments12

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

Reading time5 min
Views22K

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

Читать статью
Total votes 19: ↑19 and ↓0+19
Comments13

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

Reading time8 min
Views38K
image
Кожа тилапии в качестве ксеногенного трансплантата

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

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

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

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

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

Reading time19 min
Views33K
Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Frontend в СберМаркете.

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



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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity