Как стать автором
Обновить
0
0
Отправить сообщение

Справочник-шпаргалка по методологиям и паттернам на Python

Уровень сложностиСредний
Время на прочтение40 мин
Количество просмотров10K

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

В этой статье мы изучим методологии программирования и паттерны проектирования на Python. Я бы даже сказал, что это больше компиляция полезных материалов, справочник, большая шпаргалка по всем паттернам.

Читать далее
Всего голосов 15: ↑12 и ↓3+9
Комментарии3

Flutter Web. Часть 1

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.3K

Как работает Flutter Web, и есть ли особенности взаимодействия с платформой? Разбираемся с этим в серии статей. Эта — первая.

Читать дальше
Всего голосов 16: ↑14 и ↓2+16
Комментарии3

Взаимодействие с MOEX ISS через Python

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров17K

В этой статье я хочу дать поверхностное представление о том, как работает взаимодействие с MOEX ISS на Python requests. Да, сегодня уже существуют готовые решения для работы с MOEX, например aiomoex. Но как по мне, лучше всегда сначала что‑то захардкодить и понять, как это работает под капотом. Если вы только знакомитесь с MOEX ISS или начинаете заниматься анализом временных рядов, думаю, вам эта статья будет полезна. Если же вы более продвинутый специалист, то вряд ли найдете здесь что‑то новое.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Знакомимся с Flutter GPU

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров4.2K

Привет, Хабр! Меня зовут Станислав Чернышев, я автор книги «Основы Dart», телеграм-канала MADTeacher и доцент кафедры прикладной информатики в Санкт-Петербургском государственном университете аэрокосмического приборостроения.

Вчера на меня напала жуткая прокрастинация к одной задаче по работе. А именно – написать кучу тестов для рабочей программы дисциплины, которая тупо значится как альтернативная и, соответственно, никогда не преподается, но, т.к. пришли новые требования от мониторинговых организаций – все равно придется их составлять >_<...

В результате возложения детородного органа на написание тестов, сделал перевод статьи посвященной знакомству с Flutter GPU с Medium. Его лучше всего отнести к разряду вольных, т.е. он не дословный и отбрасывает некоторый авторский текст, сокращая его в тех местах, где это не критично для смысла. А последующее редактирование добавило статье щепотку забавных реплик ;)

Читать далее
Всего голосов 5: ↑5 и ↓0+6
Комментарии2

Как работают изоляты в Dart?

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров988

При разработке Dart изначально была заложена идея полной независимости динамической памяти (objectstore / heap), снимка кода и event loop между изолятами. Одним из сценариев использования такой изоляции является разделение сервисного процесса виртуальной машины (vm-service, используется в том числе в DevTools) и основного кода, но также API для изолятов позволяет создавать собственные независимые процессы для выполнения кода с автономной памятью. Но как на самом деле работают изоляты сейчас и почему порты на самом деле существуют в модели «плоского мира», попробуем разобраться в этой статье.

Читать далее
Всего голосов 8: ↑8 и ↓0+14
Комментарии2

Различные вычисления, многопоточность, асинхронность и мультипроцессность в Python

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров10K

Всем привет! Меня зовут Дмитрий Первушин, я лидер Python-компетенций трайба ИСУ в Сбере. 

Эта статья рассчитана на людей, которые уже знакомы с Python, хотя бы на уровне junior+. Я объясню, какие есть отличия и особенности в многопоточности, асинхронности и мультипроцессорности в Python, где и когда они используются. Как говорится в пословице: «Всё познаётся в сравнении», именно в таком стиле я подготовил примеры. Кроме этого, буду специально делать ошибки и рассматривать неправильные подходы, чтобы можно было сразу разобраться, убедиться и запомнить, почему так делать нельзя и какой другой подход в этом случае нужно использовать.

Читать далее
Всего голосов 31: ↑28 и ↓3+38
Комментарии17

Давайте сделаем крупное приложение на Flask (язык Python)

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

На Хабре я часто вижу статьи о реализации тех или иных фич на Python-фреймворках. Я объединил все эти фичи в реальный проект с открытым исходным кодом, чтобы у вас сложилась целостная картина. Мы с вами создадим UX/UI на Figma, напишем фронтенд на HTML, CSS, SASS, Bootstrap и JavaScript, создадим ER-диаграмму в MySQL Workbench, напишем бекэнд на Flask, создадим регистрацию через социальные сети OAuth 2.0 в один клик, используем брокер сообщений и асинхронную очередь Celery для отправки писем на электронную почту, сделаем WYSIWYG-редактор, реализуем полнотекстовый поиск Elasticsearch, закешируем Redis, покроем тестами pytest и запустим в Docker-контейнерах, поговорим о многопроцессности для WSGI-шлюза Gunicorn.

Читать далее
Всего голосов 19: ↑19 и ↓0+25
Комментарии43

Пишем собственный макрос на Dart 3.5: глубокий разбор

Уровень сложностиСложный
Время на прочтение36 мин
Количество просмотров1.4K

Я потратил месяц фул‑тайма, чтобы поиграть и разобраться с макросами. И вот всё, что вам нужно, чтобы быстро стартовать.

В первой части мы установили бета‑версию Dart для экспериментов с макросами, испытали макрос @JsonCodable, который команда Dart выпустила для демонстрации технологии, и написали свой hello‑world макрос.

В этой второй части я разберу свой макрос, который создаёт парсер параметров командной строки, и на его примере расскажу всё, что узнал про написание и тестирование макросов.

Потребуются знания из первой статьи.

Осторожно: Макросы в Dart это пока эксперимент, и много всего сломается, пока они станут стабильными. Просто мне было слишком интересно.

Читать далее
Всего голосов 6: ↑6 и ↓0+10
Комментарии4

Создаём приложение на gtk

Время на прочтение3 мин
Количество просмотров11K
Я вижу часто отсылки на то, как реализуется то или иное на qt, но gtk тоже хорош. Я пишу на C и не хочу учить каждые три года стандарты C++, чтобы быть на волне. Мне хватает простой сишечки и чтобы делать графический софт, выбор пал на gtk.
Читать дальше →
Всего голосов 26: ↑19 и ↓7+21
Комментарии31

Пишем приложение на GTK+ используя C++ и GTKMM библиотеку

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

Эпиграф


Однажды попросила меня жена написать ей простенькую программку, которая сможет вычислять площади фигур, периметры, и другие параметры при наличии достаточных данных. Например, нужна площадь треугольника, указаны его стороны. Вводим стороны нажимаем кнопочку и получаем площадь. Или указана только сторона и два угла. В общем любые данные, достаточные для того чтобы вычислить остальное.
Стоит отметить, что я являюсь последние лет 5 только веб-разработчиком, в основном PHP, хотя конечно иногда что-то нужно сделать и на ruby и на perl. В общем язык для меня особо не проблема, главное понять смысл процессов в компьютере, а дальше хоть Assembler (когда-то даже занимался дизасемблированием и небольшим патчингом приложений под Windows). Но все-таки когда писал десктопные приложения уже и не помню. Но тут решил написать именно десктопное, чтобы жене было удобно им пользоваться при отсутствии интернета и не нужно было на ее ноутбук ставить вебсервер с PHP. Кроме того уже давно хотел попробовать себя в использовании языка C++. Ну что ж. У жены стоит на ноутбуке Linux Ubuntu. Графическая система — Unity, основанная на Gnome3. А там где Gnome, там GTK+.
Вот так и было решено написать десктопное приложение под Linux используя Gtk+. Интересно? Добро пожаловать под кат!
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии20

Макросы на Dart: первые ощущения от использования и лайфхаки на будущее

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.5K

Макросистема Dart — это новая важная языковая функция. Она добавляет поддержку статического метапрограммирования в язык Dart, но в настоящее время находится в разработке.

Макрос Dart — это определяемый пользователем фрагмент кода, который принимает другой код в качестве параметров и работает с ним в режиме реального времени для создания, изменения или добавления кода.

В отличие от генерации кода с помощью сторонних пакетов (например, build_runner) макросы полностью интегрированы в язык Dart и автоматически работают в фоновом режиме. Это делает макросы более эффективными, чем использование вспомогательного инструмента:

Читать далее
Всего голосов 4: ↑4 и ↓0+6
Комментарии4

Проектная, конструкторская или технологическая документация. Основные системы стандартов

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров6.3K

Правовая основа стандартизации в России заложена в ст. 71 Конституции Российской Федерации — «В ведении Российской Федерации находятся: … р) метрологическая служба, стандарты, эталоны, метрическая система и исчисление времени; геодезия и картография; наименования географических объектов; метеорологическая служба; официальный статистический и бухгалтерский учет; …»

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

— Федеральный закон «О стандартизации в Российской Федерации» от 29.06.2015 N 162-ФЗ;
— Федеральный закон «О техническом регулировании» от 27.12.2002 N 184-ФЗ.

Читать далее
Всего голосов 2: ↑2 и ↓0+3
Комментарии24

ИТ с пеленок. 6 игр, которые познакомят детей с программированием. Часть 1

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

Если ты влюблен в программирование, перетащить своего ребенка «на эту сторону» тоже однажды захочется. Годовасику про JSON рассказывать, конечно, рано (хотя за колыбельную прокатит), а вот с детьми 4+ уже можно прикоснуться к основам. Помогут в этом специальные игры для детей — 6 из них собрали в этом посте. Некоторые подойдут для дошкольников, другие — для детей постарше.

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

Читать далее
Всего голосов 20: ↑19 и ↓1+23
Комментарии13

Что нового в мире обхода блокировок Интернета в середине 2024

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров154K

Представляю вашему вниманию короткий обзор что же произошло в России и в мире в области цензуры интернета и того, как этому противостоят энтузиасты. На всякий случай напоминаю, что статья «Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному» заблокирована на Хабре для пользователей из РФ, но по‑прежнему без проблем открывается через прокси/VPN с иностранных адресов. Ну а мы сейчас разберем, что же изменилось с тех пор.

Сегодня в программе: Замедление YouTube — проблемы с Google Cache или намеренное вредительство? Можно ли заблокировать Shadowsocks и как РКН смог это сделать? Новые транспорты в XRay: HTTPUpgrade и SplitTunnel. Новости из мира Tor, и многое другое.

Читать далее
Всего голосов 167: ↑162 и ↓5+190
Комментарии105

Ускоряем код на Питоне с помощью расширений на Cи

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

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

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии26

Использование python-docx-template для динамического создания закладок и ссылок на них в документах Word

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров8.3K

Я использую модуль python-docx-template для генерации файлов docx по шаблону.

Подробнее о модуле можно почитать здесь.

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

Здесь я предлагаю свой способ вставки закладок (bookmarks) и ссылок (hyperlinks) на них при помощи python-docx-template.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Настройка Git сервера с нуля

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров12K

Любой начинающий DevOps начинает своё знакомство с Git. Этот инструмент стал неотъемлемой частью рабочего процесса разработчиков по всему миру. Во многих курсах и руководствах по DevOps описывается настройка серверов через популярные платформы, такие как GitLab, а иногда и Gitea. Однако мне стало интересно попробовать другой путь — использовать встроенный в Git инструмент GitWeb.

Подробнее
Всего голосов 28: ↑25 и ↓3+24
Комментарии21

Автоматизируем создание отчетов в Word с данными из Excel на Python

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров41K

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

Читать далее
Всего голосов 35: ↑33 и ↓2+33
Комментарии55

Пишем собственный макрос на Dart 3.5 вместо старого генератора кода

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.2K

В Dart 3.5 большое новшество: макросы. Это как старая генерация кода, но прямо в памяти, без временных файлов, плюс ещё много преимуществ.

В этой статье разбираем пилотный макрос JsonCodable, который команда Dart выпустила, чтобы мы разобрались в новой технологии. И пишем собственный простейший макрос.

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

В помощь джунам: как легко разместить сайт на VPS

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров10K


Думаю, ни для кого не секрет, что… Чуть больше года назад именно с этой фразы начиналась наша статья о том, как разместить на виртуальном выделенном сервере свой сайт. Тогда мы на Linux-системе развернули стек LAMP, подняли FTP-сервер и с его помощью скопировали файлы сайта с локального компа на нашу виртуалку. Но всё-таки тема показалась нам недостаточно раскрытой. Как и тогда, данный материал рассчитан на не очень опытных пользователей, на тех, кто ещё только набирается опыта в вёрстке, кто пробует делать свой пет-проект на вебе, кто выполняет тестовое задание в качестве джуна-фронтендера. Речь пойдёт о том, как быстро и безболезненно перенести уже готовый сайт на только что созданный VPS.
Читать дальше →
Всего голосов 32: ↑26 и ↓6+30
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность