User
Книга: «Рецепты чистого кода»
6 min
8K
Привет, Хаброжители! Если ваша первая и единственная реакция на эти словосочетания — смех, то вполне вероятно, что от вашего кода «пахнет». Запах кода (code smell) — термин, который был введен разработчиком Кентом Беком и популяризирован Мартином Фаулером. По сути, запах кода — это симптом, признак проблемы; он указывает на такой фрагмент кода, который можно (и нужно) улучшить.
Чем чище код, тем проще его читать, понимать и — что самое важное — поддерживать. И «Рецепты чистого кода» как раз про это! Четкая структура и краткость кода, а также осмысленные имена переменных, функций и классов, отражающие их суть, сокращают количество времени, которое тратится на поиск и устранение проблемы, — не говоря уже о том, что код, этими свойствами не обладающий, с трудом поддается масштабированию.
+4
Попробуйте синхронный «сэндвич»
4 min
1.8KTranslation
Ваша команда с трудом сохраняет концентрацию во время многочасовых совещаний и чтения презентаций?
Вы завалены сотнями писем с «быстрыми вопросами», которые могли бы быть решены за пять минут разговора?
Когда дело доходит до эффективной удалённой работы, многие из нас делают всё наоборот. И это делает нашу жизнь одновременно стрессовой и скучной.


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


+13
Что такое ChatGPT?
9 min
5.9KTranslation
Вначале, вероятно, стоит обсудить, что же на самом деле представляет собой ChatGPT.
Для отшельников, которые могли всё пропустить, поясню: ChatGPT — это так называемая большая языковая модель, или LLM. По сути, это гигантский кластер алгоритмов и данных, но он был специально разработан для понимания и генерации человекоподобного текста.
Не так давно исследовательская организация под названием OpenAI научила компьютер читать и писать, предоставила ему доступ к огромной библиотеке, полной книг и статей, а затем каким-то образом научила его вести беседу так, чтобы коммуникация строилась по-человечески.
Безумие, правда?
Для отшельников, которые могли всё пропустить, поясню: ChatGPT — это так называемая большая языковая модель, или LLM. По сути, это гигантский кластер алгоритмов и данных, но он был специально разработан для понимания и генерации человекоподобного текста.
Не так давно исследовательская организация под названием OpenAI научила компьютер читать и писать, предоставила ему доступ к огромной библиотеке, полной книг и статей, а затем каким-то образом научила его вести беседу так, чтобы коммуникация строилась по-человечески.
Безумие, правда?
+4
Книга: «Пространство, время и движение. Величайшие идеи Вселенной»
11 min
5.8KTranslation

Люди, увлекающиеся космосом, наверняка знают Шона Кэрролла: известного популяризатора науки и космолога, которого часто сравнивают со Стивеном Хокингом.
Все его книги сразу после выхода становились бестселлерами Амазон: «Квантовые миры и возникновение пространства-времени», «Вселенная. Происхождение жизни, смысл нашего существования и огромный космос», «Вечность. В поисках окончательной теории времени»…
Наша новинка открывает серию книг Шона Кэрролла, посвященную «Величайшим идеям Вселенной». Знакомьтесь — «Пространство, время и движение» — для тех, кто боится физики и математики, но хочет познакомиться с временем и пространством, не продираясь через загадочные формулы и уравнения.
+5
Книга: «Разработка приложений на базе GPT-4 и ChatGPT. 2-е изд.»
10 min
10K
Кто никогда не пользовался нейросетями? Всего за несколько лет технологии искусственного интеллекта и обработки естественного языка претерпели изменения, которые открывают новые горизонты для разработчиков.
Всего за пять дней с момента выхода ChatGPT его аудитория возросла до одного миллиона пользователей, что стало настоящим шоком для технологической индустрии. API OpenAI, существовавший уже три года, внезапно обрел огромную популярность благодаря возможности генерации текстов с помощью ИИ. Появление ChatGPT продемонстрировало невероятный потенциал языковых моделей, побудив программистов и разработчиков исследовать новые возможности.
И в книге «Разработка приложений на базе GPT-4 и ChatGPT. 2-е изд.» содержится подробное руководство для разработчиков на Python, желающих научиться создавать приложения с использованием больших языковых моделей.
+8
Книга: «Изучаем OpenTelemetry: современный мониторинг систем»
8 min
6.3K
С развитием облачных технологий особую популярность приобрели микросервисные архитектуры, распространение которых, в свою очередь, вызвало развитие распределенных систем. Но вместе с новыми решениями появляются и новые проблемы: да, микросервисы упрощают масштабируемость приложений, но одновременно с этим усложняют их мониторинг. Традиционные инструменты отслеживания процессов, происходящих внутри систем, разрабатывались с прицелом на монолитные приложения – они не были рассчитаны на выявление нетривиальных связей между разрозненными сервисами. Из-за этого возникла проблема обеспечения наблюдаемости (observability) систем.
Классическое определение наблюдаемости звучит так: наблюдаемость – это свойство системы, отражающее то, насколько об ее внутреннем состоянии можно судить по ее внешним проявлениям. Иными словами, наблюдаемость – это степень прозрачности системы. А данные, позволяющие анализировать и контролировать работу системы, называют данными телеметрии.
+14
Чем отличается пессимистическая и оптимистическая блокировка в MySQL
5 min
6.4KTranslation
При проектировании приложений, использующих базы данных, часто возникают такие ситуации, в которых требуется конкурентный доступ к данным. Это может приводить к самым разным последствиям, поскольку состояние базы данных может нарушиться, или некоторые данные могут быть потеряны. Чтобы предотвратить такие сценарии, существуют различные способы контролировать доступ к ресурсам. Например, применяется оптимистическая и пессимистическая блокировка, о которых мы здесь поговорим.
+23
Книга: «Внутреннее устройство Windows. Ключевые компоненты и возможности. 7-е изд.»
10 min
6.9K
Книга «Внутреннее устройство Windows» состоит из 2-х томов, первый из которых был выпущен издательством «Питер» в 2019 году. Она продолжает длинную серию изданий на тему устройства Windows и является масштабным учебником, где на в объеме почти 1 000 страниц рассматривается множество тем, начиная с важнейших внутренних механизмов ОС и инструментов виртуализации, заканчивая кэшированием, файловыми системами и разбором процессов загрузки ОС.
Эта книга предназначена для специалистов по программированию, информационной безопасности и системному администрированию, желающих углубить свои знания в этой сфере и повысить уровень профессионализма при решении повседневных задач. Её цель – подробно познакомить вас с устройством компонентов ядра Windows 10 и Windows Server, в том числе, с некоторыми компонентами Windows 11X и операционной системы Xbox.
+8
Книга: «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3е изд. дополненное и переработанное»
16 min
20K
Вы ждали. Вы спрашивали. И наконец мы сделали!
Если вы хотели ворваться в программирование и освоить Python, то «Изучаем Python» может стать отличным стартом на этом увлекательном пути! Это не просто руководство — это проводник в мир программирования на Python. Он поможет вам заложить прочный фундамент для дальнейшего обучения и работы над своими собственными проектами.
В этой статье мы хотели бы рассказать про третье издание Эрика Мэтиза «Изучаем Python: программирование игр, визуализация данных, веб-приложения», дополненное и переработанное.
Идеальный старт для начинающих пайтонистов.
+9
Раскрытие возможностей асинхронного программирования в Core Java
12 min
4KTranslation

Введение
В сфере разработки современного программного обеспечения успех напрямую зависит от отзывчивости и масштабируемости. Асинхронное программирование в Core Java помогает разработчикам мощный арсенал для решения этих задач. В этом подробном посте мы погрузимся в мир асинхронного программирования в Core Java, исследуем соответствующие концепции, техники и практику применения на наглядных примерах кода.
+6
+6
+12
Почему прозрачность — основа доверия в сфере кибербезопасности
7 min
1.1KTranslation

Один мудрец однажды сказал: «Чем больше людей вы приглашаете в свой дом, тем аккуратнее он становится». Тот же принцип открытости можно с легкостью применить и к миру бизнеса. Чем прозрачнее организация на уровне бизнес-процессов и корпоративной культуры, тем более дисциплинированной она, скорее всего, будет в своей деятельности. Прозрачность является основой для построения доверия между поставщиками, клиентами и партнерами, и это еще более актуально в отношении кибербезопасности. Здесь мы рассмотрим фундаментальные факторы, обеспечивающие прозрачность, а вместе с ней и доверие.
+8
Книга: «Рецепты TypeScript»
6 min
5.7K
«Рецепты TypeScript» Стефана Баумгартнера – книга из серии «книг рецептов» O’Reilly. Такое название серии объясняется структурой этих книг: вместо бесконечных теоретических выкладок, сквозь которые продираться не то что нелегко, а попросту скучно, авторы предлагают погружаться в материал через «рецепты» – примеры реальных задач, которые сопровождаются лаконичными и понятными решениями и их подробным обсуждением – того, как автор к ним пришёл и почему они являются действенными. В этот ряд «поваренных книг» вписывается и та, о которой мы поговорим сегодня.
+8
Разумный подход к «Considered Harmful»
7 min
1.9KTranslation

Недавно мне попалась статья Against Best Practices, и в целом я согласен с посылом этого поста. Но у меня были и собственные мысли на эту тему, поэтому изложу их здесь.
Даже не особенно углубляясь в историю разработки ПО, вы легко найдёте манифест в жанре Considered Harmful («Считается вредным»), самый знаменитый из которых составил легендарный учёный-информатик Эдсгер Дейкстра. Другая распространённая аналогия таких документов в духе времени — это «наилучшие практики». Это не менее субъективный кодекс подобных законов, которым зачастую критически не хватает такой обоснованности, как у манифестов из первой категории. Притом, что, на мой взгляд, и первые, и вторые имеют право на существование, их важно понимать в контексте, так как без контекста их значение легко размывается.
+6
Книга: «Прозрачное программное обеспечение: Безопасность цепочек поставок ПО»
24 min
1.4KTranslation

Мы живем во времена, когда программное обеспечение затрагивает все аспекты нашего общества. Оно применяется повсюду, начиная с критических инфраструктур и цифровой коммерции и заканчивая национальной безопасностью. Тем не менее тот же отчет о перспективах ВВП показывает, что только 45 % людей доверяют технологии, лежащей в основе современных экономик и общества. Отчасти это можно связать с длинной историей громких взломов систем безопасности и давней проблемой с прозрачностью цепочек поставок ПО.
Именно об этом мы хотим рассказать в связи с выходом книги “Прозрачное программное обеспечение: Безопасность цепочек поставок ПО” Криса Хьюза, Тони Тернера.
+7
Книга: «История всего. 14 миллиардов лет космической эволюции. 3-е межд. издание»
12 min
2KTranslation

«В начале всех начал была физика». Прошло 14 миллиардов лет, и жизнь продолжается. Вокруг нас бескрайние просторы Вселенной, далёкие звёзды и загадочные планеты. Но в самом начале, сразу после Большого взрыва, Вселенная была такой крошечной, что могла уместиться в грейпфрут. За невероятно короткий промежуток времени — всего 10(-33) секунды — в ее истории прошла целая эпоха.
Завораживающая книга для тех, кто любовался просторами Млечного Пути, с интересом всматривался в звёзды и задавал себе множество вопросов.
«История всего. 14 миллиардов лет космической эволюции» приоткрывает завесу тайны такой загадочной Вселенной.
+7
+26
Книга: «Простое объектно-ориентированное проектирование: чистый и гибкий код»
9 min
13K
Объектно-ориентированное проектирование (ООП) — не просто чисто инженерная задача; оно перерастает в искусство. Никакая заданная последовательность шагов не приведет к оптимальному проекту. Объектно-ориентированное проектирование требует творческого подхода.
В книге «Простое объектно-ориентированное проектирование: чистый и гибкий код» Маурисио Аниче рассматривает ООП с двух точек зрения: как предотвратить резкое увеличение сложности системы и как получить «достаточно хорошую» архитектуру.
+9