Pull to refresh
-4
0
Александр @popov654

Веб-разработчик

Send message

Я уволился, потому что с зумерами невозможно работать

Level of difficultyEasy
Reading time16 min
Views240K

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

Читать далее

Почему командная строка всё ещё актуальна или 5 примеров, как PowerShell может сэкономить вам часы работы

Level of difficultyEasy
Reading time4 min
Views17K

Командная строка — это как суперспособность для тех, кто знает, как её использовать и дальше я попытаюсь вам это доказать на примерах.

Читать далее

Настраиваем домашний почтовый сервер и уходим с «бесплатной» почты

Reading time15 min
Views367K

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

Читать далее

Работа с геометрией в JPA и Spring Boot 3

Level of difficultyMedium
Reading time12 min
Views5.3K

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

Так как статей на эту тему на хабре раз и обчелся, то вот держите еще одну 😁

В этой статье мы разберем, что такое геометрия, как с ней можно работать в sql и no-sql базах данных. Приступим.

Читать далее

Всё ещё нерешённая загадка замерзания воды

Level of difficultyMedium
Reading time6 min
Views12K

В школе нас учат, что вода замерзает при нуле градусов Цельсия, но так бывает редко. Учёные обнаружили в облаках переохлаждённые капли воды до температуры -40 °C, а в 2014 году в лабораторных условиях они охладили воду до целых -46 °C без замерзания. Вы можете переохладить воду и дома: засуньте бутылку дистиллированной воды в морозилку, и она вряд ли кристаллизуется, пока вы её не встряхнёте.

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

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

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

Эффективность Spring-приложений в рантайме. Текущее состояние дел и планы на будущее

Level of difficultyMedium
Reading time12 min
Views11K

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

Себастьян Делойзе, контрибьютор Spring Framework, делится обзором усилий команды Spring по оптимизации эффективности приложений во время выполнения. Он рассматривает Virtual Threads, GraalVM Native Image, Project CRaC, Project Leyden и всё это в контексте Spring!

Читать далее

Как работает физика в играх

Level of difficultyMedium
Reading time17 min
Views23K

В мире видеоигр игровая физика играет важную роль, определяя реалистичность и взаимодействие игрового мира с игроком. Что же происходит под капотом? Какие алгоритмы и подходы используются в современных движках? И что же значит «застрять в текстурах»? (спойлер: чушь полнейшая)

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

Читать далее

REST API сервер на Bash с использованием сокетов и Apache

Level of difficultyMedium
Reading time14 min
Views9.2K

Всем привет! Ранее рассказывал о том, как создать REST API и Web-сервер на PowerShell для Windows, а также упоминал, что подобный сервер будет работать и в системе Linux, благодаря кроссплатформенной версии PowerShell Core. Безусловно, для подобных целей лучше используются специализированные серверные фреймворки или библиотеки, такие как Flask или Django в Python, но меня не покидала идея реализации похожего сервера, где описание логики будет производиться на языке одного только Bash. Приведу примеры, с помощью которых можно создать такой сервер используя сетевые сокеты netcat , socat и ncat, а также веб-сервера Apache с использованием встроенных модулей.

Читать далее

Введение в CMake

Reading time7 min
Views601K
imageCMake — кроcсплатформенная утилита для автоматической сборки программы из исходного кода. При этом сама CMake непосредственно сборкой не занимается, а представляет из себя front-end. В качестве back-end`a могут выступать различные версии make и Ninja. Так же CMake позволяет создавать проекты для CodeBlocks, Eclipse, KDevelop3, MS VC++ и Xcode. Стоит отметить, что большинство проектов создаются не нативных, а всё с теми же back-end`ами.
Читать дальше →

Беззнаковая арифметика в Java

Reading time5 min
Views95K
Как известно, в Java нет беззнаковых типов. Если в Си вы могли написать unsigned int (char, long), то в Java так не получится. Однако нередко возникает необходимость в выполнении арифметических операций именно с числами без знака. На первый взгляд кажется, что беззнаковые типы в принципе-то и не особо нужны (подумаешь, MaxInt для чисел со знаком меньше в два раза, если нужны числа больше, я просто возьму long и далее BigInteger). Но основное различие на самом деле не в том, сколько различных неотрицательных чисел можно положить в signed или unsigned int, а в том, как над ними производятся арифметические операции и сравнения. Если вы работаете с бинарными протоколами или с двоичной арифметикой, где важен каждый используемый бит, нужно уметь выполнять все основные операции в беззнаковом режиме. Рассмотрим эти операции по порядку:

Преобразование byte в short (int, long)


Обычный каст (int) myByte выполнит расширение до 32 бит со знаком — это означает, что если старший бит байта был установлен в 1, то результатом будет то же самое отрицательное число, но записанное в 32-битном формате:

0xff -> 0xffffffff (-1)

Часто это не то, чего бы мы хотели. Для того, чтобы выполнить расширение до 32 бит без знака и получить 0x000000ff, в Java можно записать:

int myInt = myByte & 0xff;
short myShort = myByte & 0xff;

Сравнение без учёта знака


Для беззнакового сравнения есть лаконичная формула:

int compareUnsigned(int a, int b) {
    return Integer.compare( a ^ 0x80000000, b ^ 0x80000000 );
}

Для byte, short и long, соответственно, константы будут 0x80, 0x8000 и 0x8000000000000000L.
Читать дальше →

Кого давить беспилотному автомобилю: результаты эксперимента Moral Machine

Reading time3 min
Views100K
Два года назад MIT запустила платформу Moral Machine. Каждый желающий мог пройти тест из смоделированных 13 ситуаций: указать, как стоит вести себя беспилотному автомобилю и кем предпочтительней пожертвовать, когда потери неизбежны. За два года в исследовании приняли участие больше 2 млн людей со всего мира. Они предоставили 40 млн решений для смоделированных ситуаций.

Вчера MIT опубликовало результаты этого эксперимента.


Пример задания из теста. Тормоза беспилотного автомобиля отказали. Что предпочтительнее: сохранять курс (тогда погибнут трое пожилых людей, переходящих дорогу на красный свет) — или свернуть и врезаться в ограждение (погибнут двое взрослых людей и ребенок, находящиеся в машине)?
Читать дальше →

Загадочные канцелярские приспособления. Тест на сообразительность

Reading time2 min
Views183K
Хабравчанам предлагается тест на сообразительность. Догадайтесь, что за канцелярские приспособления изображены на картинках. Подсказываю, что машинка, изображенная под номером один, использовалась в основном в банках (используется ли сейчас, не знаю, но вряд ли), а устройство под номером шесть – специфически бухгалтерское. Последний вопрос самый каверзный, что называется на засыпку.
Ответы находятся под катом.

image
Смотреть ответы

Файл, который нужно закоммитить перед уходом с работы

Reading time2 min
Views113K
Немножко пятничного настроения в субботу. Я думаю, все видели этот код:

image

Но Aras Pranckevičius пошел еще дальше. Как написать код, который не так просто обнаружить?
И если вначале идут простые примеры, то дальше начинается…
Осторожно, чистое зло

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity