www.fgks.org   »   [go: up one dir, main page]

Как стать автором
Обновить
Сначала показывать

Next.js и революционные изменения в React

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


React.js — это сейчас одна из самых популярных библиотек для создания современных веб-приложений. React славится гибкостью и богатством экосистемы. Одним из значительных достоинств этой экосистемы является Next.js — и то, как он успешно развивается. С этим фреймворком стало значительно удобнее разрабатывать приложения на основе React, их возможности расширились. В этой статье мы рассмотрим, как Next.js улучшил React, затронем его особенности, преимущества, и что из них вытекает.
Читать дальше →
Всего голосов 11: ↑5 и ↓6+2
Комментарии4

Коварные утечки памяти в React: как можно обжечься на useCallback и замыканиях

Время на прочтение9 мин
Количество просмотров5.6K
image

Я работаю в Ramblr, это ИИ-стартап, где мы строим на React сложные приложения для аннотирования видео. Недавно мне попалась сложная утечка памяти, которая возникает при одновременном использовании замыканий JavaScript и хука useCallback в React. Поскольку я вырос на .NET, мне потребовалось немало времени, чтобы разобраться в происходящем. Поэтому я решил написать этот пост и рассказать вам, чему меня научила эта ситуация.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+20
Комментарии14

Книга: «Тюнинг систем: экспериментирование для инженеров от A/B-тестирования до байесовской оптимизации»

Время на прочтение19 мин
Количество просмотров1.1K
image Привет, Хаброжители!

Работает ли программа так, как следует? Изменения сделали систему лучше или хуже? Стоит ли заниматься повышением производительности вместо разработки нового функционала? На подобные вопросы можно ответить только с помощью экспериментов. «Тюнинг систем» раскроет секреты современных экспериментальных практик, разработанных и проверенных мировыми индустриями с самой высокой конкуренцией. Предложенные практики помогут усовершенствовать разработку программного обеспечения, системы машинного обучения и количественного трейдинга.

Книга предоставляет набор инструментов для оптимизации программируемых систем. Вы пройдете путь от изучения А/В-тестирования до передовых экспериментальных стратегий, которые используют преимущества машинного обучения и вероятностных методов. Навыки, которые вы получите из этого практического руководства, помогут минимизировать затраты на эксперименты и быстро выбрать подходы и инструменты, которые дадут наилучший результат для бизнеса.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+5
Комментарии0

Go развивается в неверном направлении

Время на прочтение7 мин
Количество просмотров14K
Язык программирования Go известен своей простотой в использовании. Благодаря продуманному синтаксису, возможностям и инструментарию, Go позволяет писать легко читаемые и поддерживаемые программы произвольной сложности (см. этот список на GitHub).

Некоторые инженеры-программисты называют Go «скучным» и «устаревшим», поскольку в нем отсутствуют передовые возможности других языков программирования, такие как монады, опциональные типы, LINQ, средства проверки заимствований, абстракции с нулевыми издержками, аспектно-ориентированное программирование, наследование, перегрузка функций и процедур и т. д. Хотя эти возможности могут упростить написание кода для определенных областей, они имеют ненулевые издержки в дополнение к преимуществам. Эти возможности обычно хороши для тренировки мозга. Но нам не нужна дополнительная умственная нагрузка при работе с производственным кодом, поскольку мы и так заняты решением бизнес-задач. Основная цена всех этих возможностей – возрастание сложности результирующего кода:
Читать дальше →
Всего голосов 30: ↑24 и ↓6+23
Комментарии23

Книга: «Java для опытных разработчиков. 2-е издание»

Время на прочтение22 мин
Количество просмотров5.1K
image Привет, Хаброжители!

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

Узнайте, как Java работает на уровне байт-кода. Освойте ценные приемы конкурентного выполнения и оптимизации быстродействия, а еще ключевые методы сборки, тестирования и развертывания. Также рассмотрите альтернативные языки для JVM – Kotlin и Clojure. Изучив материал, вы будете выделяться на фоне других разработчиков!
Читать дальше →
Всего голосов 3: ↑3 и ↓0+5
Комментарии4

Об извлечении кода в Python

Время на прочтение6 мин
Количество просмотров5.6K
Я начал изучать Python в 2009 году, столкнувшись с очень нетривиальной и, кстати, необычной задачей на этом языке. Тогда я разрабатывал приложение для ПК, где графический пользовательский интерфейс создавался на PyQT, а основным языком в программе был Python.

Чтобы скрыть код, я встроил интерпретатор Python в самостоятельный исполняемый файл Windows. Это можно сделать при помощи множества инструментов (напр., pyinstaller, pyexe), все они функционально похожи. Они компилируют в байт-код ваши скрипты, написанные на Python, а далее, связывая их с интерпретатором, укладывают в исполняемый файл. Если компилировать скрипты, понижая их до байт-кода, то злоумышленникам становится сложнее добраться до вашего исходного кода и взломать ваше приложение. Байт-код приходится извлекать из исполняемого файла и декомпилировать. Кроме того, таким способом можно выполнять обфускацию кода, и в результате код становится гораздо сложнее понимать.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+15
Комментарии2

FastAPI: веб-разработка на Python

Время на прочтение14 мин
Количество просмотров12K
image Привет, Хаброжители!

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

Билл Любанович рассказывает о тонкостях разработки с применением FastAPI и предлагает множество рекомендаций по таким темам, как формы, доступ к базам данных, графика, карты и многое другое, что поможет освоить основы и даже пойти дальше. Кроме того, вы познакомитесь с RESTful API, приемами валидации данных, авторизации и повышения производительности. Благодаря сходству с такими фреймворками, как Flask и Django, вы легко начнете работу с FastAPI.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+11
Комментарии3

Издательство Питер. Колонка редактора

Время на прочтение3 мин
Количество просмотров2.8K
image

Привет, Хаброжители!

Предлагаем ознакомиться с краткими обзорами новинок, отправленных в типографию.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+13
Комментарии0

Основы TypeScript

Время на прочтение22 мин
Количество просмотров8.9K
image Привет, Хаброжители!

TypeScript — популярная надстройка над JavaScript с поддержкой статической типизации, которая наверняка покажется знакомой программистам на C# или Java. TypeScript поможет вам сократить количество ошибок и повысить общее качество кода на JavaScript.

«Основы TypeScript» — это полностью обновленное третье издание классического бестселлера Адама Фримена. В нем освещены все возможности TypeScript 5, включая новые, такие как декораторы. Сначала вы узнаете, зачем и почему был создан язык TypeScript, а затем почти сразу перейдете к практическому применению статических типов. Ничего лишнего! Каждая глава посвящена навыкам, необходимым для написания потрясающих веб-приложений.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+16
Комментарии7

Книга: «Антипаттерны SQL. Как избежать ловушек при работе с базами данных»

Время на прочтение10 мин
Количество просмотров15K
image Привет, Хаброжители!

Язык SQL необходим для работы со структурированными данными. Программисты, прекрасно знающие свой любимый язык (Java, Python или Go), не могут разбираться во всем, и часто не являются экспертами в SQL. Это приводит к появлению антипаттернов — решений, которые на первый взгляд кажутся правильными, но со временем создают все больше проблем.

Научитесь выявлять и обходить многие из этих распространенных ловушек! Проведите рефакторинг унаследованного кошмара и превратите его в жизнеспособную модель данных!

Примеры SQL-кода основаны на версии MySQL 8.0, но в тексте также упоминаются другие популярные РСУБД. В примерах кода используется Python 3.9+ или Ruby 2.7+.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+11
Комментарии11

Книга «Микросервисы и API»

Время на прочтение16 мин
Количество просмотров10K
image Привет, Хаброжители!

Простые и понятные API — необходимое условие успеха микросервисных приложений. Хорошо продуманные API гарантируют надежную интеграцию сервисов и помогают упростить сопровождение, масштабирование и дальнейшее совершенствование. Познакомьтесь с паттернами, протоколами и стратегиями, которые помогут вам проектировать, реализовывать и развертывать эффективные микросервисы с REST и GraphQL API.

Книга наполнена проверенными советами и примерами кода на языке Python. Авторы фокусируются на реализации, а не на философии. Изучите проверенные методы проектирования простых в использовании API для микросервисных приложений. Создавайте надежные API микросервисов, тестируйте, защищайте и развертывайте их в облаке, следуя принципам и шаблонам, применимым в любом языке программирования.
Читать дальше →
Всего голосов 5: ↑4 и ↓1+5
Комментарии1

Книга «Основы Dart»

Время на прочтение7 мин
Количество просмотров3K
imageПривет, Хаброжители!

Книга «Основы Dart» адресована тем, кто интересуется этим удивительным языком программирования. Вы узнаете об истории создания, синтаксисе и особенностях языка, таких как встроенные типы данных, и многом другом. В главе 2 вас ждет проект, который будет изменяться и расти вместе с вашими знаниями и навыками, а к главе 6 преобразится в полноценное клиент-серверное приложение. После каждой новой итерации проекта вас будут ждать предложения по внесению изменений в его кодовую базу, что позволит прокачать свои hard-скиллы. Исходный код рассматриваемых в книге примеров можно найти в GitHub-репозитории автора (весь код в книге соответствует Dart 3.4).
Читать дальше →
Всего голосов 7: ↑7 и ↓0+10
Комментарии2

Книга: «Алгоритмы с нуля»

Время на прочтение20 мин
Количество просмотров15K
image Привет, Хаброжители!

Погрузитесь в мир алгоритмов! Разберитесь в их принципах, особенностях проектирования и практического применения.

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

Каждая глава содержит понятные объяснения, наглядные примеры и задачи, помогающие закрепить изученный материал. Особый акцент сделан на вычислительном мышлении и анализе эффективности алгоритмов — важнейших навыках в области современных технологий.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+10
Комментарии14

Разделяемость данных между микросервисами

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


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

Но здесь есть важная тонкость, которую я осознал далеко не сразу. Чтобы как следует применять это правило, необходимо различать совместное использование источника данных и совместное использование данных как таковых.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+15
Комментарии2

Проблема «Грохочущего стада»

Время на прочтение5 мин
Количество просмотров3.5K
Ещё одна история о распределённых системах

Давайте перенесёмся в апрель 2018 года. Тогда я работал на стартапе, который собирался выпустить очень востребованную новую функцию. Мы уже сформировали лист ожидания, но о дате запуска не распространялись (в основном потому, что не знали, когда закончится разработка).

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

Мы не ожидали такого наплыва входящего трафика, и вскоре стали поступать предупреждения о падении сервисов из-за неконтролируемой паники, которую мы не учли. После исправления мы повторно развернули систему, на мгновение поток предупреждений прекратился, и мы могли расслабиться. Однако это было недолго, так как через 5 минут начал появляться совершенно другой набор предупреждений (высокая задержка, высокое использование ЦП). Пришло время снова поработать в аврале.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+18
Комментарии3

Книга «Пульсирующая Вселенная»

Время на прочтение19 мин
Количество просмотров11K
imageПривет, Хаброжители!

Мы живем в эпоху космологической революции. Открытие в 2015 году гравитационных волн от слияния множества черных дыр звездных масс закрывает проблему «темной материи», существование которой не могли объяснить более полувека. Это открытие привело к созданию модели осциллирующей Вселенной, в динамике которой гравитационное излучение и черные дыры играют ключевую роль.

Стивен Хокинг считал, что ничто до Большого взрыва не может повлиять на нас. Мы полагаем, что он ошибался: история Вселенной до Большого взрыва имеет важное значение для нашего космологического цикла, и реликты прошлых циклов в изобилии рассеяны вокруг. Главными реликтовыми объектами являются массивные черные дыры.

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

Популярное изложение ключевых проблем космологии и их разрешение с помощью теории осциллирующей Вселенной доступно самому широкому кругу читателей, интересующихся данной темой. В приложении содержится исчерпывающее математическое описание осциллирующей Вселенной с переменной гравитационной массой.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+30
Комментарии24

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

Время на прочтение1 мин
Количество просмотров7.2K
image

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

Стартовала майская распродажа от издательства «Питер».
Читать дальше →
Всего голосов 12: ↑11 и ↓1+17
Комментарии2

Когда целый день программировал на Zig: впечатления Rust-энтузиаста

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

Я — большой фанат Rust, так как в этом языке предоставляется отличное инструментальное оснащение, и, когда я пишу на этом языке, я могу быть вполне уверен, что этот код будет работать надёжно. Но иногда Rust ненавистен. Чтобы написать код на Rust, требуется немало времени, а некоторые вещи реализовать достаточно сложно (да, async, это я о тебе).

В прошлом году мне не раз доводилось слышать о новом низкоуровневом языке программирования, он называется Zig. И вот, наконец, я нашёл время, чтобы опробовать его на практике. В этой статье я хочу рассказать, что мне понравилось и не понравилось Zig (который я рассматривал с точки зрения Rust-программиста и тех высоких стандартов, к которым я привык в Rust).
Читать дальше →
Всего голосов 24: ↑21 и ↓3+27
Комментарии26

Книга: «Laravel. Полное руководство. 3-е издание»

Время на прочтение19 мин
Количество просмотров6.2K
image Привет, Хаброжители!

Что отличает Laravel от других PHP-фреймворков? Скорость и простота. Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом. Третье издание, обновленное с учетом Laravel 10, — это практическое руководство по использованию одного из самых популярных на сегодняшний день веб-фреймворков.

Мэтт Стаффер, известный преподаватель и ведущий разработчик, представляет полный обзор фреймворка и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро разобраться с темой, чтобы реализовать проект на Laravel. В обновленном руководстве рассматриваются в том числе совершенно новые инструменты аутентификации и разработки пользовательских интерфейсов, а также ряд сторонних инструментов, появившихся после выхода в свет второго издания.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+20
Комментарии1

Книга: «Сам себе тестировщик. Пошаговое руководство по тестированию ПО»

Время на прочтение5 мин
Количество просмотров8.7K
imageПривет, Хаброжители!

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

Вы познакомитесь со всеми этапами тестирования, чтобы разобраться, как планируются, выполняются и контролируются задачи тестирования на практике. Эта книга не только поможет новичку стать тестировщиком, но и послужит хорошим подспорьем в повседневной работе.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+16
Комментарии0
1
23 ...

Информация

Сайт
piter.com
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия