Как стать автором
Поиск
Написать публикацию
Обновить
0
@Redlumusread⁠-⁠only

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

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

Тонкости JMS API: как не терять сообщения

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

Типичная ситуация: один сервис добавил сообщение в очередь, другой сервис его прочитал, но из-за ошибки или рестарта сервиса не смог передать дальше. Сообщение потеряно.

В логах при этом не всегда есть что-то полезное, и часто всё заканчивается тем, что разработчики идут ругаться: «Почему в нашей очереди нет вашего сообщения?»

Читать далее

Собрал в одном большом гайде всё, что хотел бы знать, когда изучал язык C

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

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

Своим постом автор Jenny Jam* пытается заполнить этот пробел. Он рассуждает, когда C — идеальный выбор, а когда лучше обратиться к другим языкам. Описывает, как настроить среду разработки и выбрать инструменты, разобраться в версиях, особенностях сборки и тонкостях работы с библиотеками.

Цель статьи — упорядочить представление о языке C и его экосистеме, и, конечно, дать практические советы, которые пригодятся в реальных проектах.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

Читать далее

Новогодняя подборка образовательных материалов для разработчиков

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

Путь разработчика требует непрерывного обучения. Найти же хорошие и по‑настоящему полезные материалы нелегко. Кто поможет не утонуть в океане отснятых видео и напечатанных книг? Только эксперты. Мы попросили коллег вспомнить, какие источники им запомнились и помогли в развитии карьеры.
Читать дальше →

Как спроектировать игровую математическую модель, забалансить её и не сдуреть. Разбор на практических кейсах

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

Мы идём от общего к частному. Задаём системе вопросы на самом общем уровне и постепенно углубляемся в детализацию. Если на какой-то вопрос мы не смогли ответить, значит, скорее всего, мы пропустили какой-то более общий вопрос, от которого зависит рассматривая ступень детализации, в этом случае не стесняемся вернуться на один или несколько уровней абстракции назад.

Читать далее

Уравнение пьезопроводности с точечным источником. Получение точного решения для случая с бесконечной границей

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

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

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

Читать далее

Фундаментальная математика — теория всего в IT и не только. Теория типов и формализация в Coq

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

У нас есть 3 "теории всего" - научная картина мира (все сводится к законам физики), информатика (все сводится к битам) и фундамент математики (все сводится к логике). Именно фундамент математики представляет особый интерес, так как он является фундаментом для двух других фундаментов и имеет глубокий философский смысл. Последние 2 года я сильно им увлекся и проделал довольно большую работу по углубленному изучению теории типов (Calculus of Constructions), и готов поделиться результатами, а также рассказать о девяти направлениях, где можно применить это на практике. Очень многое получилось лучше, чем я планировал. Изначально перспективы были не очень понятными, и поэтому я не рассказывал друзьям и коллегам про мою работу в этом направлении и называл это «Секретный Проект». Но теперь, когда многое прояснилось и получилось, можно поделиться успехом. Собственно, в этой статье я расскажу вам не только про сам фундамент математики, а еще его связь с ежедневной работой программиста, а также с Computer Science/Data Science и AI/ML. Я вам нарисую большую и красивую картину, на которой все понятно и логически следует из маленького набора правил выведений типов (11 штук) и аксиом теории множеств (9 штук).

У нас есть 3 фундамента математики — теория множеств (удобна для человека), теория типов (удобна для компьютера) и теория категорий (не знаю, зачем она вообще нужна). Они примерно одинаковой мощности и одну можно выразить внутри другой. Особый интерс представляет именно теория типов, тк ее довольно легко можно запрограммировать внутри компьютера и использовать как строгий фундамент для других теорий, который не дает совершить ошибку и проверяет каждое ваше действие.

Читать далее

Часть 1: Как я создал идеальный REST API — микросервис инцидентов на Java и Spring

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

В этой статье вы узнаете, как спроектировать и реализовать REST API для микросервиса на Java с использованием Spring Framework.

Рассмотрим лучшие практики, принципы архитектуры, реализацию CRUD-операций и удобные инструменты, такие как Lombok, ControllerAdvice, MapStruct. Эта статья будет полезна как начинающим разработчикам, так и тем, кто хочет улучшить свои навыки в проектировании REST API.

Читать далее

Более 14 лет ставлю цели на год: рассказываю, как и почему этот процесс работает у меня

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

Привет, меня зовут Павел Комаровский – и я из тех душнил, которые в начале января усиленно строят всякие акульи планы на год. Так как делаю я это уже много лет, у меня выработался довольно своеобразный подход к процессу, которым я и хотел с вами поделиться – надеюсь, это поможет вам избежать ошибок, которых в свое время наделал я.

Читать далее

Параллелизм может быть только 1

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

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

Продолжить мяукать

Будущее микросервисов: уйдем ли мы к монолитам 2.0?

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

Микросервисы или монолит? Споры об архитектуре программного обеспечения не утихают, но с 2018-2020 годов наметился интересный тренд: компании начинают переоценивать сложность микросервисного подхода. Возвращение к монолитам, но уже с учетом современных инструментов, вызывает жаркие обсуждения в техническом сообществе.

В этой статье я не буду защищать какую-либо из сторон. И не буду обещать волшебных решений, которые решат все архитектурные проблемы. Вместо этого разберем, что стоит за модной концепцией «монолиты 2.0», как эволюция технологий меняет восприятие архитектуры и почему возвращение к упрощению может быть выгодным. Добро пожаловать в мир архитектурных компромиссов — подробности под катом.
Читать дальше →

lvalues, rvalues, glvalues, prvalues, xvalues, помогите! -

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

Случайно попалась довольно старая статья 2018 года с простым и понятным описанием категорий значений в C++. До неё всякие glvalues, prvalues, xvalues были малопонятными для меня.

cppreference.com просто перечисляет категории, и это не добавляет понимания, всё кажется чрезмерно излишним.

На stackoverflow.com есть 24 поста разной степени ценности, что только добавляет недоумения от сложности этой темы.

Читать далее

Хитрости для программистов: пять команд Linux, с которыми ваша жизнь не будет прежней

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

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

Поначалу Linux многих обескураживает, но как только вы разберётесь с интерфейсом командной строки (CLI), вы поймёте, что это лучший друг программиста. Простые, но эффективные команды Linux могут заметно улучшить любые рабочие процессы — от навигации по каталогам до манипуляции с файлами и даже исправления ошибок.

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

Читать далее

Корпоративный револьвер: как айтишнику выживать в корпорации

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

А еще получать печеньки, респект и уважение.

Бизнес большой, а значит, и печеньки большие.

Бизнес ставит цели для IT. У крупного бизнеса цели расписаны минимум на квартал. Чаще — на год. Такие себе водопадные цели. Их сложно поменять, легко принять и невозможно избежать.

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

Почему я об этом пишу?

Разрешите представиться, я — Иван, I solve problems. Я — тимлид в Цифровом СИБУРе. Помогаю команде доставлять ценность. Техника, процессы, команда, продукт — это все мое, родное. И я угодил в жернова корпорации. Судьба такая. Поделюсь своим кейсом по выживанию — методом револьвера.

Заряжай патроны!

11 способов принимать решения без стресса и сомнений

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

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

Читать далее

Секреты в Java-сервисах на Spring: где брать и как обновлять

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

Привет, Хабр! Меня зовут Андрей Чернов, я Java‑архитектор в СберТехе, где разрабатываю архитектуру микросервисов. Сейчас я расскажу про нюансы работы с секретами в Java‑сервисах на всеми любимом Spring Boot и про наш опыт такой работы. В современном мире практически не осталось автономных, ни с чем не интегрированных, сервисов. А секреты в первую очередь нужны для безопасных интеграций.

Статья будет состоять из двух частей. В первой расскажу про особенности работы с секретами в Java на Spring Boot — где их брать и как применять к вашему сервису на примере того, как мы делаем это в Platform V Sessions Data (распределенный in‑memory кеш для клиентских сессий, который позволяет снизить нагрузку на внешние сервисы и базу данных). Также расскажу про стандартные варианты обновления секретов «на горячую» (не останавливая, не перезапуская сервисы, и даже не снимая с них нагрузку) и что с ними не так.

Во второй части подробно разберу, как мы обновляем секреты «на горячую». Эти советы помогут вам улучшить работу с секретами, а значит сделать сервисы более защищёнными. Ведь если секреты попадут в руки злоумышленников, те смогут атаковать ваш сервис — вывести его из строя, украсть конфиденциальные данные и т. п. А любая успешная атака чревата для компаний потерей денег, нервов, времени и репутации.

Читать далее

SOAP, XML и Python: получаем данные с zakupki.gov.ru

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

Эта статья написана для начинающих пользователей, которые хотят разобраться в работе сервиса отдачи информации zakupki.gov.ru. Мы шаг за шагом разберем, как получить токен для физического лица, как выглядит XML-документ для запроса и как написать простую программу на Python для взаимодействия с сервисом. Это не руководство от профессионала, а скорее дневник выживания: как не сойти с ума, пока пытаешься подружиться с сервисом zakupki.gov.ru.

Читать далее

Эволюция конечных автоматов в бэкенд-разработке. Часть 2

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

Привет! Меня зовут Павел, я программист-эксперт в отделе разработки серверных решений ЮMoney. Продолжу рассказывать о том, как мы организовываем работу сложных пользовательских (и не только) процессов с применением конечных автоматов FSM (Finite-state machine). И разберём, почему наша FSM не совсем типичная и ей скорее подходит название PSM (Process-state machine).

Ссылка на первую часть статьи.

Читать далее

История оболочки Bash и чему она нас может научить

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

В этот день, практически в канун католического рождества, 23 декабря 1996 года, вышла оболочка Bash версии 2.0. Последний мажорный релиз на сегодня — это версия 5.3. Сейчас Bash встроена почти во все версии Linux и MacOS, а также заявлена как встроенный компонент Microsoft Windows.

Bash поставляется по умолчанию почти во всех дистрибутивах Linux и современных версиях MacOS и, как ожидается, вскоре он станет неотъемлемой частью Windows Terminal. Bash действительно повсюду и это не фигура речи. Как до этого дошло? В сегодняшней статье мы глубоко исследуем этот вопрос, задавая вопросы именно тем людям, которые причастны к разработке оболочек.

Читать далее

Композитная архитектура: возвращение к монолиту на новом уровне

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

Привет! Меня зовут Максим Рогоза, я работаю корпоративным архитектором в крупнейших компаниях последние 7 лет. В настоящее время занимаюсь стратегическим IT консалтингом в компании Аксеникс, где мне приходится консультировать крупные компании по вопросам построения эффективной IT архитектуры. В рамках этой деятельности я часто сталкиваюсь с задачами трансформации архитектуры информационных систем, и все чаще приходится рассказывать про композитную архитектуру как оптимальное решение для крупных корпоративных систем.

Мой путь в IT начался 26 лет назад, и за это время я наблюдал всю эволюцию архитектурных подходов: от классических монолитов к микросервисам, и теперь - к новому витку развития в виде композитной архитектуры. Особенно интересно наблюдать, как теоретические концепции находят свое практическое применение в реальных проектах, и как компании адаптируют архитектурные решения под свои конкретные задачи.

Читать далее

Сложно о простом. Самые популярные протоколы и принципы их работы. HTTP, HTTPS, SSL и TLS. Часть 3

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

Приветствую, коллеги! Меня зовут @ProstoKirReal. Сегодня хотелось бы продолжить обсуждение с вами о самых популярных протоколах, а также принципов их работы. В предыдущей части я говорил о протоколах динамической маршрутизации и принципы их работы.

Сегодня хотелось бы рассказать о HTTP и HTTPS протоколах, а так же немного затронуть шифрование SSL/TLS.

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность