All streams
Search
Write a publication
Pull to refresh
447
123.2
Send message

Книга: «System Design: пережить интервью»

Reading time3 min
Views13K
Привет, Хаброжители!

Собеседования по проектированию систем — это боль. Даже опытные разработчики спотыкаются о бесконечные open-ended вопросы и доску, на которой нужно за 45 минут набросать архитектуру, способную пережить апокалипсис.

Хорошая новость: наша новинка поможет успешно пройти интервью.

Книга Чжиюна Таня «System Design: пережить интервью» — это гайд по выживанию. В ней нет воды, только практика: как разбирать задачи, выбирать решения и уверенно их продавать эксперту. Автор знает, о чем говорит — его подход помог разработчикам попасть в Amazon, Apple, ByteDance, PayPal и Uber.
Читать дальше →

Книга: «Машинное обучение: основы»

Reading time19 min
Views7.3K
Привет, Хаброжители!

Машинное обучение — это фундамент, на котором строится современный искусственный интеллект. Оно окружает нас повсюду. Но как оно работает? Что скрывается за алгоритмами, которые управляют нашим миром? Новая книга Сергея Николенко «Машинное обучение: основы» предлагает читателю путешествие в сердце этой науки. От теоремы Байеса до обобщённых линейных моделей, кейсы и задачи: от анализа ретроспективных научных исследований до эффекта «горячей руки» в баскетболе. Готовы ли вы разобраться в том, что стоит за нейронными сетями и искусственным интеллектом?

Сегодня о своей книге расскажет нашим читателям её автор — Сергей Николенко.

Читать дальше →

Каждый бэкенд-инженер должен знать, как обрабатывать платежи. Краткое руководство по повторным попыткам платежа

Reading time4 min
Views38K
Любая система, работающая с платежами, должна быть надежной и отказоустойчивой.

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

Сейчас покажу, как это сделать.
Читать дальше →

Обмен сообщениями в режиме реального времени: опыт Slack

Reading time6 min
Views2.1K


А вы знали, что земные станции передают сигнал спутникам, расположенным на геостационарной орбите на высоте 35 786 метров над экватором, и что ответные сигналы накрывают целое полушарие? Сегодня спутниковые радиостанции обслуживают сотни каналов. Если вы только не работаете на секретном военном объекте или глубоко под землёй, то спутниковый радиосигнал к вашим услугам найдётся практически везде.

Платформа Slack подобна спутникам в том, что на ней ежедневно рассылаются миллионы сообщений по миллионам каналов — всё это в режиме реального времени. Если рассмотреть трафик типичного рабочего дня, оказывается, что большинство пользователей остаются онлайн с 9.00 по 17.00 по местному времени, причём, пиковые нагрузки приходятся на период с 11.00 до 14.00, с небольшим спадом в районе обеденного перерыва. Хотя, в разных регионах рабочее время распределено примерно схоже, на следующем графике наблюдаются два пика. Очевидно, что «час пик» совпадает не везде. В некоторых регионах он приходится на послеполуденные часы, в других наступает до полудня. Цветные линии на следующей диаграмме обозначают разные регионы.
Читать дальше →

Книга: «Искусство юнит-тестирования с примерами на JavaScript. 3-е межд. изд.»

Reading time4 min
Views1.3K
Привет, Хаброжители!

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

Книга: «Blueprints. Визуальный скриптинг игр в Unreal Engine 5. 3-е изд.»

Reading time5 min
Views5.1K
Привет, Хаброжители!

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

Меня зовут Константин, в геймдеве я уже около 5 лет, из которых 3,5 года работаю левел-артистом в ААА-проектах. Разработка игр интересовала меня с детства, но определиться с конкретной специальностью было непросто — хотелось попробовать себя во всем понемногу. В итоге я выбрал направление 3D, по которому сейчас и работаю. Тем не менее спустя годы меня не отпускает желание углубиться в геймдизайн и позаниматься личными проектами. Так как опыта реального программирования у меня немного, взгляд, естественно, падает в сторону разработки на блупринтах в Unreal Engine.

Собственно, с ними нас и знакомит книга «Blueprints. Визуальный скриптинг игр в Unreal Engine 5», поэтапно объясняя всю необходимую базу для комплексного понимания их возможностей.
Читать дальше →

Руководство по слабым ссылкам в Python с применением модуля weakref

Reading time7 min
Views4K
Вполне вероятно, что вы никогда не сталкивались с модулем weakref языка Python и, возможно, даже не слышали о нём. Притом, что ваш код может быть написан и почти без применения слабых ссылок, этот модуль фундаментально важен для внутреннего устройства многих библиотек, фреймворков и самого языка Python. Так что в этой статье мы исследуем, что он собой представляет, чем может быть полезен, и каким образом этот модуль вам было бы удобно встраивать в ваш собственный код.

Основы


Чтобы понять модуль weakref и слабые ссылки, давайте сначала немного подробнее выясним, как в Python происходит сборка мусора.

В качестве механизма, регулирующего сборку мусора, Python использует подсчёт ссылок. Проще говоря, Python ведёт счёт ссылок для каждого создаваемого нами объекта, и счёт ссылок увеличивается на единицу всякий раз, когда на объект ставится очередная ссылка в коде. Когда ссылка с объекта снимается (например, переменная устанавливается в None). Если в какой-то момент количество ссылок падает до нуля, это означает, что вся память, выделенная под объект, у него изымается, и в таком случае объект попадает под сборку мусора.
Читать дальше →

Распродажа в издательстве «Питер»

Reading time1 min
Views18K
image

Добрый день, Хаброжители!

Весна — лучшее время для перемен, открытий и приятных скидок! Мы рады предложить Вам воспользоваться нашей весенней акцией.
Читать дальше →

Ложные убеждения о нулевых указателях

Reading time10 min
Views7.3K
В этой статье предполагается, что вы знаете, что такое неопределённое поведение, и почему его не следует провоцировать, в самом общем виде знаете, как работают процессоры, а также умеете принимать во внимание конкретный контекст, не злоупотребляя излишним обобщением частностей. Эти убеждения можно считать заблуждениями, так как они не применяются глобально, а не потому, что обратное от них действует глобально. Если вы не уверены в себе, то, возможно, от прочтения этого текста вы больше проиграете, тем самым подпортив себе навыки программной инженерии. Поэтому ничего страшного, если вы не будете знакомиться с постом, а просто почитаете комментарии на Reddit — там уже написали, что может пойти не так, если вы, несмотря ни на что, углубитесь в этот материал.

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

О книге «Разработка игр на Unity, 4-е изд.»

Reading time18 min
Views6.8K
Привет, Хаброжители!

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

Готовы вывести свои навыки работы на Unity на новый уровень? Представляем вашему вниманию долгожданное четвертое издание книги «Разработка игр на Unity». Это полноценное руководство, которое поможет раскрыть весь потенциал Unity.
Читать дальше →

Книга: «Карьера разработчика. Стафф — круче, чем senior»

Reading time13 min
Views4.1K
Привет, Хаброжители!

Если вы сеньор-разработчик, то наверняка задавались вопросом: «Что дальше?» Переход в менеджмент кажется очевидным шагом, но что, если вы не хотите управлять людьми? Что, если вы хотите оставаться техническим специалистом, но при этом расти профессионально и влиять на стратегию компании? Ответ на этот вопрос — открыть для себя путь стафф-разработчика.

Новая книга Тани Рейли, опытного инженера и технического лидера, под названием «Карьера разработчика. Стафф — круче, чем senior» — это подробное руководство для тех, кто хочет понять, как стать стафф-разработчиком и в чём заключается его роль.
Читать дальше →

Книга: «Excel с Python и R: раскройте потенциал расширенной обработки и визуализации данных»

Reading time7 min
Views12K
Привет, Хаброжители!

Если вы работаете с данными, то наверняка сталкивались с ситуацией, когда Excel становится вашим лучшим другом и злейшим врагом одновременно. С одной стороны, это удобный и привычный инструмент для работы с таблицами, с другой — его ограничения могут превратить даже простую задачу в настоящий кошмар. Но что, если бы вы могли объединить мощь Excel с гибкостью и возможностями Python и R?

Именно об этом рассказывает новая книга «Excel с Python и R: раскройте потенциал расширенной обработки и визуализации данных».
Читать дальше →

Книга: «Промт-инжиниринг для GenAI»

Reading time18 min
Views12K
Привет, Хаброжители!

В эпоху стремительного развития искусственного интеллекта (ИИ) каждый, кто профессионально использует эту технологию, сталкивается с вызовом: качество результатов напрямую зависит от качества входных данных. Именно поэтому сегодня невозможно обойтись без промт-инжиниринга — набора методов, которые повышают надежность, эффективность и точность работы моделей ИИ.

Книга «Промт-инжиниринг для GenAI. Паттерны надежных запросов для качественных результатов» Джеймса Феникса и Майка Тейлора станет практическим руководством для тех, кто хочет освоить эту дисциплину и эффективно внедрить генеративный ИИ в свои рабочие процессы.
Читать дальше →

Книга: «Дизайн и поведение пользователей. Применение психологии и поведенческой экономики в разработке и UX»

Reading time10 min
Views2.5K
Привет, Хаброжители!

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

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

Фишки Rust, связанные не только с производительностью

Reading time6 min
Views5.4K
Почти весь код, который я пишу из интереса, написан на Rust. Это не потому, что мне нужна высокая производительность, хотя, это безусловный плюс. Я пишу много на Rust, потому что на нем приятно писать. В Rust есть много всего, что может понравиться, помимо быстрой работы без ошибок сегментирования.

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

Книга: «Linux для разработчиков»

Reading time16 min
Views8.9K
Привет, Хаброжители!

Многие разработчики программного обеспечения недостаточно хорошо разбираются в системах семейства Unix, хотя они повсеместно встречаются в мире разработки. Некоторые программисты даже не подозревают, что в их должностные обязанности входит работа с Unix или подобными системами на своих компьютерах (macOS), в среде разработки (контейнеры Docker), в системах сборки и автоматизации (процессы непрерывной интеграции и GitHub), в среде развертывания (серверы и контейнеры Linux) и в других обстоятельствах.

Книга «Linux для разработчиков» поможет вам вывести свои навыки на новый уровень. В ней вы найдете теорию, практические примеры и проекты, которые сделают вас более уверенным и эффективным разработчиком.
Читать дальше →

Собеседование по System Design: рассказ очевидца

Reading time10 min
Views19K
Привет, Хаброжители! Предлагаем вашему вниманию перевод детального руководства о подготовке к собеседованию по LLD (Low-level design). Автор как будто из интереса посещает собеседования по проектированию систем, и в этом руководстве обобщил свой опыт о том, чего стоит ждать и к чему готовиться в зависимости от той позиции, на которую вы претендуете. Вам решать, насколько такая практика себя оправдывает, но, как говорится – «предупреждён – значит, вооружён».

Контекст


Я работаю ведущим инженером-программистом в компании LocoNav. Проходя собеседования, обладая таким профессиональным опытом (около 9 лет), я могу претендовать на следующие позиции:
  1. Программист / старший программист (сеньор),
  2. Ведущий программист / лид,
  3. Менеджер команды разработчиков/SEM (если я захочу развиваться как управленец).
Читать дальше →

Книга: «Визуализация данных для профессионалов. Дизайн понятных диаграмм и дашбордов»

Reading time7 min
Views12K
Привет, Хаброжители!

Задумывались ли вы когда-нибудь о том, насколько сильно визуализация данных облегчает восприятие информации? Мы настолько привыкли к присутствию самых разных диаграмм и графиков в нашей повседневной жизни, что воспринимаем их как должное, не вникая в то, какая сложная это на самом деле задача – придать количественным данным визуальную форму. Казалось бы, выделил столбик в Excel, нажал две кнопки – и готово. Только вот не факт, что вы получите такой результат, который хотелось бы получить, потому что создание хорошей визуализации – это целая наука (и потому что появилось целое множество инструментов, которые позволяют сделать это быстрее и эффективнее, чем Excel).

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

Information

Rating
Does not participate
Works in
Registered
Activity