Pull to refresh
415
126.3
Send message

Что можно рассказать о функциях Python на примере кофемашины?

Reading time7 min
Views4.6K
Поделюсь с вами одной из моих любимых аналогий.

Я раньше сам молол себе кофе. Купил такую старомодную ручную кофемолку с металлической воронкой, крутильной рукояткой и маленьким деревянным подносом, на который ссыпается смолотый кофе.

Может быть, где-то у меня она ещё валяется.

Теперь я слишком занят. Перешёл на кофемашину. Она из таких, которые заправляются капсулами – то есть, максимально потворствует лени, а значит, работает максимально эффективно. Привожу этот пример на лекциях по программированию для начинающих – когда объясняю, что при работе над кодом леность – это хорошо, она свидетельствует об эффективности.
Читать дальше →
Total votes 11: ↑9 and ↓2+11
Comments9

Книга: «Паттерны проектирования JavaScript»

Reading time10 min
Views4.2K
image Привет, Хаброжители!

Раскройте потенциал паттернов проектирования JavaScript. Найдите структурированные решения распространенных задач разработки, пригодные для многократного использования и повышающие масштабируемость, производительность и удобство сопровождения кода. Узнайте, как применение этих паттернов позволяет создавать более чистый и понятный код, способствует организации совместной работы в команде, сокращает количество ошибок и экономит время и силы.Автор дает исчерпывающее представление о паттернах проектирования в современном JavaScript (ES6+) и приводит практические примеры их применения. Сначала вы познакомитесь с порождающими, структурными и поведенческими паттернами проектирования в идиоматическом для JavaScript стиле, а затем переключитесь на архитектурные паттерны и паттерны пользовательского интерфейса. Вы узнаете, как применять паттерны, характерные для таких библиотек, как React, и распространять их на фронтенд и микрофронтенд. В последней части книги представлены и проиллюстрированы паттерны улучшения производительности и безопасности, включая обмен сообщениями, события и стратегии загрузки ресурсов, а также паттерны высокопроизводительных асинхронных вычислений. В издании приводятся примеры использования React и Next.js, а также JavaScript и Web API. Они помогут выбрать и внедрить проверенные паттерны проектирования в различных веб-экосистемах и изменить ваш подход к разработке.
Читать дальше →
Total votes 7: ↑7 and ↓0+15
Comments1

Книга: «Грокаем алгоритмы. 2-е изд.»

Reading time5 min
Views10K
image Хаброжители, привет!

Мы снова возвращаемся с вторым изданием книги “Грокаем алгоритмы”! Красивым, новеньким, актуализированным. От первого тиража всё ещё пахнет типографией, а код примеров обновлен на Python 3!

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

Читать дальше →
Total votes 17: ↑17 and ↓0+23
Comments8

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

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

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

Reading time9 min
Views2.3K
image

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

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

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

Reading time10 min
Views6.3K

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


image

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

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

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

Reading time3 min
Views2.8K
image

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

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

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

Reading time1 min
Views7.8K
image


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

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

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

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

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

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

Level of difficultyMedium
Reading time7 min
Views19K
Как хорошо вы знаете python? Вы только начали делать неуверенные шаги в изучении или уже беглого осмотра кода хватит, чтобы найти ошибки? Для совсем новичков и для настоящих профессионалов-питонистов! Для любой аудитории найдётся своя книга!

image

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

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

Reading time19 min
Views3.6K
image Привет, Хаброжители!

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

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

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

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

Reading time7 min
Views1.3K
image


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

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

Level of difficultyEasy
Reading time8 min
Views6.9K
image Привет, Хаброжители!

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

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

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

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

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

Reading time12 min
Views6.7K
image Привет, Хаброжители!

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

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

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

Level of difficultyEasy
Reading time3 min
Views6K
Международный день знаний уже прошёл, но учиться никогда не рано!

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

image

Читать дальше →
Total votes 10: ↑5 and ↓5+3
Comments5

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

Reading time6 min
Views6.2K

Введение


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

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

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

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

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

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

Reading time10 min
Views995
image


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

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

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

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

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

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

Читать дальше →
Total votes 12: ↑11 and ↓1+14
Comments9

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

Reading time6 min
Views10K
image Привет, Хаброжители!

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

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

Information

Rating
Does not participate
Works in
Registered
Activity