
Мы изучили, что происходит в компаниях, и выяснили, почему хорошие специалисты не выдерживают и уходят. Разбираем 5 проблем, которые не компенсируют высокая зарплата и интересные задачи.
Веб-разработчик
Мы изучили, что происходит в компаниях, и выяснили, почему хорошие специалисты не выдерживают и уходят. Разбираем 5 проблем, которые не компенсируют высокая зарплата и интересные задачи.
Командная строка — это как суперспособность для тех, кто знает, как её использовать и дальше я попытаюсь вам это доказать на примерах.
С каждым годом рекламы в интернете становится все больше, а подают ее с каждым разом все навязчивее. Дошло уже до почты: реклама в интерфейсе почтового ящика выглядит как первое непрочитанное письмо, которое машинально хочется открыть. Я не против рекламы, особенно когда она в тему и не сбивает с толку. Но маскировать её под непрочитанное письмо ‒ это перебор. Чувствуется, что следующим шагом рекламу начнут вставлять прямо в тело письма.
Добрый день, уважаемые читатели Хабра. В один день для моего pet-проекта понадобилось сделать добавление адресов клиентов, и проверка входит ли этот адрес в зону доставки.
Так как статей на эту тему на хабре раз и обчелся, то вот держите еще одну 😁
В этой статье мы разберем, что такое геометрия, как с ней можно работать в sql и no-sql базах данных. Приступим.
Несмотря на то, что данная статья была опубликована более полугода назад, команда Spring АйО по-прежнему считает ее актуальной, важной и интересной.
Себастьян Делойзе, контрибьютор Spring Framework, делится обзором усилий команды Spring по оптимизации эффективности приложений во время выполнения. Он рассматривает Virtual Threads, GraalVM Native Image, Project CRaC, Project Leyden и всё это в контексте Spring!
В мире видеоигр игровая физика играет важную роль, определяя реалистичность и взаимодействие игрового мира с игроком. Что же происходит под капотом? Какие алгоритмы и подходы используются в современных движках? И что же значит «застрять в текстурах»? (спойлер: чушь полнейшая)
В этой статье мы рассмотрим основные принципы и технологии, лежащие в основе работы физических движков, а также предоставим советы по ее оптимизации для улучшения производительности игрового движка.
Всем привет! Ранее рассказывал о том, как создать REST API и Web-сервер на PowerShell для Windows, а также упоминал, что подобный сервер будет работать и в системе Linux, благодаря кроссплатформенной версии PowerShell Core. Безусловно, для подобных целей лучше используются специализированные серверные фреймворки или библиотеки, такие как Flask
или Django
в Python
, но меня не покидала идея реализации похожего сервера, где описание логики будет производиться на языке одного только Bash. Приведу примеры, с помощью которых можно создать такой сервер используя сетевые сокеты netcat
, socat
и ncat
, а также веб-сервера Apache
с использованием встроенных модулей.
Задачей этого класса является предоставление решений на уровне типа-обертки для обеспечения удобства обработки возможных null-значений
unsigned int
(char
, long
), то в Java так не получится. Однако нередко возникает необходимость в выполнении арифметических операций именно с числами без знака. На первый взгляд кажется, что беззнаковые типы в принципе-то и не особо нужны (подумаешь, MaxInt
для чисел со знаком меньше в два раза, если нужны числа больше, я просто возьму long
и далее BigInteger
). Но основное различие на самом деле не в том, сколько различных неотрицательных чисел можно положить в signed или unsigned int, а в том, как над ними производятся арифметические операции и сравнения. Если вы работаете с бинарными протоколами или с двоичной арифметикой, где важен каждый используемый бит, нужно уметь выполнять все основные операции в беззнаковом режиме. Рассмотрим эти операции по порядку:(int) myByte
выполнит расширение до 32 бит со знаком — это означает, что если старший бит байта был установлен в 1, то результатом будет то же самое отрицательное число, но записанное в 32-битном формате:0xff -> 0xffffffff (-1)
0x000000ff
, в Java можно записать:int myInt = myByte & 0xff;
short myShort = myByte & 0xff;
int compareUnsigned(int a, int b) {
return Integer.compare( a ^ 0x80000000, b ^ 0x80000000 );
}
0x80
, 0x8000
и 0x8000000000000000L
.