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

Компилируем и выполняем C на JavaScript

Время на прочтение13 мин
Количество просмотров5K
Мир работает на C. Этот язык лежит в основе сжатия файлов, сетевых взаимодействий и даже браузера, в котором вы читаете эту статью. Если код не написан на C, он всё равно взаимодействует с ABI, написанном на C (речь о C++, Rust, Zig, т.д.) и доступен в виде библиотеки на C. Язык C и C ABI — это прошлое, настоящее и будущее системного программирования.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+32
Комментарии7

Рефакторинг вглубь

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

Рефакторинг – это “это контролируемая техника совершенствования структуры существующего кода” [Фаулер]. Сейчас уже написано так много всего о запахах кода и приёмах рефакторинга в микромасштабе (есть, например, книги и целые сайты). А я хочу рассмотреть ситуацию крупным планом и обсудить, как именно и в каком порядке следует применять эти приёмы. В частности, берусь утверждать, что рефакторинг лучше всего выполнять наизнанку, то есть, начинать от границы с внешним API, а далее прорабатывать код вглубь, переходя к классам, методам, алгоритмам, типам, тестам или именам переменных.

Примеры кода в этом посте написаны на Rust, но техника рефакторинга наизнанку также применима и в других языках программирования. Я выбрал для примера Rust, так как рефакторинг тем удобнее, чем сильнее система типов.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+15
Комментарии2

Деконструкция монолита: Максимально производительный подход к проектированию программ

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

Как и почему компания Shopify перешла от монолитной архитектуры к модульно-монолитной.


image

У компании Shopify одна из крупнейших баз кода на Ruby on Rails. Над ней трудились более десяти лет свыше тысячи разработчиков. Она включает множество разнообразных функций, например, выставление счетов продавцам, управление сторонними приложениями, обновление информации о товарах, обработка доставки и так далее.

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

Издательство Питер. Колонка редактора, сентябрь 24 г

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

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

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

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

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


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

С летом мы уже попрощались, но не прощаемся с хорошими новостями — с сегодняшнего дня стартует сентябрьская распродажа!
Читать дальше →
Всего голосов 14: ↑13 и ↓1+18
Комментарии2

Типы проб в Kubernetes: проверяем работоспособность систем

Время на прочтение6 мин
Количество просмотров2.7K
В Kubernetes существует три типа проб, предназначенных для проверки работоспособности подов. В этой статье рассказано, как использовать эти пробы, а также объяснены отличия между ними.

Пробы — важнейшая возможность Kubernetes, обеспечивающая удобное предоставление услуг, что незаменимо для конечных пользователей. По своей сути пробы регулярно отслеживают, может ли под адекватно обрабатывать трафик, и при необходимости принимают меры, например, выполняют перезапуск.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+18
Комментарии1

Книги Python — рекомендации для вдумчивого изучения

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров19K
Как хорошо вы знаете python? Вы только начали делать неуверенные шаги в изучении или уже беглого осмотра кода хватит, чтобы найти ошибки? Для совсем новичков и для настоящих профессионалов-питонистов! Для любой аудитории найдётся своя книга!

image

Мы собрали 8 вспомогательных книг для тех, кто решил связать свою жизнь с python. Разнообразные книги для вдумчивого знакомства.
Присаживайтесь поудобнее, открывайте блокноты для записей.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+14
Комментарии11

Книга: «Безопасность веб-приложений. Разведка, защита, нападение. 2-е изд.»

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

Поговорим немного о безопасности? О защите, нападении и об Эндрю Хоффмане. Тем более, что вышло второе издание его известной книге о безопасности веб-приложений! Обновлённое, дополненное, актуализированное!

Три столпа безопасности приложений — разведка, нападение и защита. Во втором издании Эндрю Хоффман рассматривает десятки смежных тем — от новейших типов атак и средств защиты до моделирования угроз, жизненного цикла безопасной разработки ПО (SSDL/SDLC) и архитектуры нулевого доверия.

Вы получите подробную информацию об эксплойтах и средствах защиты от атак с использованием GraphQL, облачных технологий и доставки контента (CDN). В главы, посвященные атакам и их предотвращению, добавлены сведения для более продвинутых читателей.
Читать дальше →
Всего голосов 2: ↑2 и ↓0+4
Комментарии1

Камень, ножницы, бумага: путешествие во времени, стратегия и код

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


«Камень, ножницы, бумага» — простая, но очень популярная жестовая игра, которой вот уже не первый век развлекаются люди во всём мире. Поскольку правила игры просты, а жесты общепонятны, ею широко пользуются для улаживания споров, принятия решений или просто чтобы провести время. В этой статье мы исследуем богатую историю игры «Камень, ножницы, бумага», поговорим о том, как в неё играть, напишем саму игру и разберём структуру её кода, а также узнаем, как на материале этой игры можно прокачать навыки программирования.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+5
Комментарии1

Книга: «Поговорим на Python. Разработка ПО для начинающих»

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.8K
image Привет, Хаброжители!

Поговорим на Python?

Точнее о книге, которая будет понятна новичку любого возраста, желающему разобраться с Python. Подходит для самостоятельного изучения.

Программирование — это приключение, полное трудностей, нового опыта, побед и поражений. В книге “Поговорим на Python” вы присоединитесь к Эрику и Саймону, которые учатся программировать на Python и создают свое первое приложение. Книга написана специально для будущих программистов и идеальна, чтобы начать осваивать навык, который останется на всю жизнь!

Книга “Поговорим на Python” учит писать код, задавать вопросы, делать ошибки и пробовать разные решения — прямо как в жизни. Вы шаг за шагом будете создавать приложение для небольшой кофейни, начиная с онлайн-меню и заканчивая хранением заказов в базе данных. Уникальные практические задания приведут вас туда, куда не добираются другие книги для начинающих.
Читать отрывок.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+14
Комментарии3

Книга: «Рецепты PHP. Для профессиональных разработчиков»

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

Важнейшая книга на кухне разработчиков на PHP!
В ней нет ни слова о том, как разделывать фазана, зачем солить воду и сколько в минутах будет «до готовности». Лишь практическое руководство, как использовать современную версию PHP для задач, встречающихся в современной практике программистов.

В этом сборнике рецептов разработчики на PHP найдут надежные и проверенные решения распространенных задач. PHP — удивительно простой язык программирования, что объясняет, почему на нем написано более 75% веб-сайтов в Интернете. Но он также невероятно терпим к ошибкам программирования, что может привести к тиражированию сомнительного кода.
Читать дальше →
Всего голосов 10: ↑7 и ↓3+10
Комментарии11

Такому в школе не научат! Компьютерная литература для будущих программистов

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5.9K
Международный день знаний уже прошёл, но учиться никогда не рано!

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

image

Читать дальше →
Всего голосов 10: ↑5 и ↓5+3
Комментарии5

Как оптимизировать размер контейнерного образа в Docker

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

Введение


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

Я для сравнения покажу различные варианты Dockerfile, а в конце этой статьи приведу таблицу, в которой будет показано, образы какого размера получаются из каждого файла. Так вам будет проще оценить, каково влияние от каждого варианта оптимизации.
Читать дальше →
Всего голосов 11: ↑9 и ↓2+11
Комментарии6

Книга: «Грокаем конкурентность»

Время на прочтение9 мин
Количество просмотров8.3K
image
В продолжение серии «Грокаем» — очередная новинка. В этот раз грокать мы собираемся конкурентность!

Представьте себе мир, в котором за развитием технологии угнаться сложнее, чем за гепардом, накачанным стимуляторами, а спрос на эффективное конкурентное программирование неудержимо растет. В этом мире разработчики сталкиваются с серьезной задачей: как создавать системы, которые способны справиться с колоссальными объемами данных и обрабатывать их достаточно проворно, чтобы удовлетворить неутолимые потребности пользователей? В этом мире конкурентность не только пленила умы, но и стала головоломкой, которую приходится разгадывать. И самое поразительное — в этом мире мы живем сегодня.
Читать отрывок.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+12
Комментарии23

Как написать собственный графический клиент для ChatGPT при помощи NextJS и Wing

Время на прочтение10 мин
Количество просмотров988
image


В этой статье рассказано, как написать и развернуть клиент для ChatGPT при помощи Wing и Next.js.

Рассмотренное здесь приложение может работать локально (в локальном симуляторе облака), либо его можно развернуть в облаке у вашего провайдера.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+7
Комментарии0

Серия книг “Грокаем” от издательства “Питер”

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

Мы решили рассказать о всей серии “Грокаем”.
А заодно подарить скидку!

Чем хороши “Грокаем”? Каждая книга яркая и оставляющая след. Важная особенность книг этой серии в том, что сложные вещи, описанные в тексте, дополняются интересными нестандартными иллюстрациями, из-за чего тема проще понимается и запоминается.
Это книги, которые приятно читать и смотреть.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+14
Комментарии9

Книга: «Алгоритмы? Аха!»

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

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

В число алгоритмов, рассмотренных в книге, вошли различные методы сортировки, перебор, поиск в глубину и ширину, обход графов, четыре алгоритма поиска кратчайшего пути, два алгоритма минимального остовного дерева, алгоритмы определения вершин и ребер разреза, а также поиск наибольшего паросочетания в двудольных графах и многое другое.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+7
Комментарии10

Книга: «Алгоритмы и структуры данных на Python»

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

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

Кем бы вы ни были — начинающим программистом, опытным разработчиком, желающим расширить знания, или специалистом с нетехническим образованием, интересующимся анализом данных, — книга поможет улучшить понимание и навыки решения задач.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+13
Комментарии0

Книга: «PowerShell: практическая автоматизация»

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

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

Вы узнаете, как создавать скрипты PowerShell для автоматизации локальных и облачных систем. Найдете советы по определению задач, которые стоит автоматизировать, по организации структуры скриптов и управлению ими, а также множество примеров кода с подробными пояснениями. Научитесь адаптировать уже готовые скрипты к новым условиям применения и упрощать работу специалистов не-технического профиля при помощи простых и понятных интерфейсов SharePoint.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+9
Комментарии7

Как улучшить время сборки в iOS с помощью модуляризации

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


Большинство команд мобило понимают и ценят преимущества быстрой сборки. Возможность быстро компилировать и тестировать код означает ускорение разработки и итераций, что, в свою очередь, позволяет команде осуществлять доставку новых версий более регулярно и эффективно. Но на самом деле бывает сложно добиться стабильно быстрой сборки и внедрить долгосрочное решение, позволяющее поддерживать высокую скорость сборки по мере роста кодовой базы. Существует множество различных тактик, и если некоторые из них относительно тривиальны — например, уменьшение размера доставляемых ресурсов, — то другие могут быть гораздо более сложными и даже опасными (вспомните сомнительные трюки с компилятором)!
Читать дальше →
Всего голосов 4: ↑4 и ↓0+8
Комментарии0
1
23 ...

Информация

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