Search
Write a publication
Pull to refresh
-1
0
Send message

Как запустить мобильное приложение за две недели с помощью PWA

Reading time9 min
Views19K

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

Читать далее

Применение языка Python в инженерной практике. Обзор модуля Pint

Level of difficultyMedium
Reading time16 min
Views20K

Язык Python (правильно это читается "Пайтон", но в русскоязычном сообществе так же прижилось и прочтение "Питон", мне оно тоже больше по душе ;) в последнее время получил очень большую популярность в среде непрограммистов по двум причинам:

- лёгкий синтаксис, очень близкий к естественным языкам и математическому мышлению;

- огромное количество различных библиотек (модулей), написанных как на самом питоне, так и на более быстрых языках С/С++ и Фортран.

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

Читать далее

Устаревшие Python-библиотеки, с которыми пора попрощаться

Reading time11 min
Views34K

В Python, с каждым релизом, добавляют новые модули, появляются новые и улучшенные способы решения различных задач. Все мы привыкли пользоваться старыми добрыми Python-библиотеками, привыкли к определённым способам работы. Но пришло время обновиться, время воспользоваться новыми и улучшенными модулями и их возможностями.

Читать далее

Как [не надо] ломать систему типов Python, или Криминал в сопоставлении с образцом

Reading time5 min
Views5.4K

__subclasshook__ — один из моих любимых элементов Python. Абстрактные базовые классы (ABC — Abstract Base Class) с помощью __subclasshook__ могут указывать, что считается подклассом ABC, даже если целевой класс не знает об ABC:

Прочитать до конца

Как обновить 100 Excel файлов, чтобы не отсохли руки и пару слов о немецкой диджитализации

Reading time13 min
Views17K

Всем привет! На связи Максим и я продолжаю описывать свой университетский опыт работы VBA программистом с Excel. В сегодняшней статье поговорим о том, как можно произвести изменения в десятках, сотнях, миллионах Excel файлов за один заход с помощью одного макроса и как этот концепт может сэкономить вам кучу времени, сил и средств. Данная статья будет полезна тем, кто вынужден часто совершать одинаковые изменения в большом количестве подобных друг другу Excel файлах, тем, кто устал от рутины и хочет автоматизировать процесс обновления рабочих документов или молодым студентам, которые находятся в поисках идей того, как можно выделится своими скиллами на рабочем месте. Бонусом внутри вы найдете пару моих рассуждений на тему дискуссий, которые возникли под моей прошлой статьей (если еще не читали ее, то советую ознакомиться, чтобы лучше понимать фон этой), а именно на тему актуальности Excel и VBA в европейских реалиях и общего уровня диджитализации на немецком рынке. Погнали!

Читать далее

Будни техпода. Пробрасываем USB наĸопитель через RDP соединение

Level of difficultyMedium
Reading time6 min
Views18K

Если вдруг кто-то не знает, или не внимательно следит за нашим блогом, то первого августа был праздник. Не такой грандиозный, как Новый год, День защитника Отечества, 8 Марта и др., чтобы выделить на него пару выходных и отмечать всей страной, но для нас, не менее значимый — «Всемирный день работника техподдержки». В честь этого события, было принято решение взять специалиста поддержки, поставить его на праведный путь и запрячь немного написать о непростых буднях работника поддержки (очевидно, это шутка. Или нет…). Возможно, всё закончится здесь, а может — будет небольшая серия из нескольких статей (если клиенты не загрызут его раньше), описывающих достаточно популярные вопросы и их простые и наглядные решения.

Передаём слово нашему специалисту поддержки.
Читать дальше →

TeamViewer — быть или не быть

Reading time4 min
Views32K

Как мы помним, с 5 мая 2022 года в Беларуси и России перестал работать сервис TeamViewer. В комментариях к данному посту, я упомянул, как довольно несложно решил эту проблему и пообещал написать более развёрнутое руководство. К сожалению, примерно в то же время я начал заниматься вопросами собственной трудовой иммиграции и со временем стало сложновато. Теперь, когда я уже более менее освоился на новом месте, пришло время закрыть этот технический долг.

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

Читать далее

Drag-and-Drop на Python+OpenCV

Reading time5 min
Views8.2K

В данной статье расскажу про простой Drag-and-Drop на Python+OpenCV.

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

Читать далее

Как настроить зависимые выпадающие списки в MS Excel, используя СМЕЩ и СУММПРОИЗВ

Reading time1 min
Views11K

Привет, Хабр!

В этой статье мы демонстрируем простой способ по настройке зависимых выпадающих списков в MS Excel.

Статья будет особенно полезна тем, кто еще не пользуется ни формулами массива, ни клавишей F9 при их написании.

С уважением,
Владимир

Читать далее

Микроконтроллеры по 5 рублей. Программируем микросхемы PADAUK

Reading time16 min
Views60K

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

В статье расскажу о своём опыте освоения микроконтроллеров PADAUK. Кратко рассмотрим особенности архитектуры, средствах разработки и отладки, посмотрим что нужно учесть перед тем как использовать эти микросхемы в своих проектах. Протестируем микроконтроллер PFC161 на отладочной плате.

Читать далее

История о том, как Python помог купить мебель в ИКЕА

Reading time9 min
Views28K

5-го июля 2022 года стартовала масштабная онлайн распродажа в интернет-магазине мебели ИКЕА по причине ухода компании с российского рынка. В связи с этим началось несравнимое ни с чем по своим масштабам паломничество покупателей к сайту магазина. Шведско-нидерландский идол не выдержал такого натиска. Разработчикам ИКЕИ пришлось создать электронную очередь на сайте, чтобы распределить нагрузку. Как бы это парадоксально не звучало, этим шведско-нидерландское божество создало "ад" для рядового покупателя. Ему пришлось выстаивать часами/днями в очереди, постоянно обновлять страницу в надежде увидеть на сайте жёлтое кресло, а не пугающее объявление. Я был в их числе, но спустя сутки решил делегировать эту задачу своим союзникам - Python и Telegram-боту.

Нажимаем кнопку "ЧИТАТЬ ДАЛЕЕ" и смотрим

Простейший обход И-нет блокировок с обеих сторон

Reading time3 min
Views16K
C некоторых пор к задачам по обходу блокировок по IP страны добавились проблемы работы специализированного лицензионного софта. Последние не всегда решаются с помощью VPN (в переводе виртуальной частной сети [предприятия]). Кроме того, на провайдеров VPN, особенно предоставляющих бесплатный сервис, сложно полагаться в вопросах конфиденциальности. Поэтому разумно рассмотреть ручное решение с помощью удаленной виртуальной машины (VPS), которая имеет доступ в Интернет из страны её физического расположения.

Автор в свое время перебрал несколько вариантов и остановился на создании локальной сети из трех машин. Здесь будет изложен наипростейший вариант решения наглядным способом. Нужно собрать и сконфигурить локальную сеть в простейшей конфигурации, например, такую:
         +-----------+              +-------------+      +-----------------+
И-нет <->| VPS(Linux)|<-ssh tунель->| Mocт(Linux) |<-ЛС->| клиент(Windows) |
         +-----------+              +-------------+      +-----------------+
Читать дальше →

Эволюция игрового фреймворка. Сервер на Python. Часть 2 из 2. Слои логики

Reading time15 min
Views2.6K

В прошлый раз мы отделили логику от инфраструктуры и разбили последнюю на четыре слоя: Server → Parser → Application → Repository. Классы инфраструктуры составляют основной фреймворк, который берет на себя всю рутинную работу, а нам предоставляет писать одну только логику.

Логика состоит из контроллеров, которые составляют пятый и пока что последний слой. Они полностью независимы не только от инфраструктуры (им доступно только хранилище), но и друг от друга. Контроллеры — это, на данный момент, базовые единицы бизнес-логики.

Если сильно обобщить, то контроллеры занимаются преобразованием одних команд в другие с сопутствующим изменением состояния приложения (Repository). В зависимости от команды и текущего состояния пользователя Application выбирает соответствующий контроллер и передает ему ссылку на Repository. Контроллер обрабатывает команду, изменяет состояние хранилища и возвращает другие команды, которые должны быть отправлены инфраструктурой по назначению. В общей схеме контроллеры занимают промежуточное место между движком и хранилищем:

... → Application → Controller → Repository.

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

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

При такой организации кода отдельные игры — это лишь соответствующая настройка и использование классов из жанровой библиотеки. Идеальный проект тогда будет состоять вообще из одного main-скрипта в пару строк и yml-файла конфигурации.

О том, как писать классы такого уровня обобщения, чтобы исходный код проектов состоял всего из нескольких строк, как раз и пойдет речь в данной статье:

Читать далее

Эволюция игрового фреймворка. Сервер на Python. Часть 1. Слои инфраструктуры

Reading time22 min
Views3.9K

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

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

В качестве языка программирования выберем Python за его простоту и элегантность. Мы начнем в сокетов (asyncio), а закончим HTTP-сервером. Наша задача состоит в том, чтобы код логики не зависел от типа сервера и задействованных сетевых протоколов.

Читать далее

Парсинг сайтов судов общей юрисдикции в России

Reading time10 min
Views12K

История о том, как выявлять новые иски к клиенту.

Решил заменить ручной труд по конкретной задаче программой. Смотри, что из этого вышло.

Погнали

Ограничения векторизации Python как метода повышения производительности

Reading time7 min
Views7K

В материале от автора Python-профайлера Sciagraph к старту курса по Fullstack-разработке на Python вспомним о пользе векторизации и преодолеем некоторые её проблемы при помощи PyPy и Numba. За подробностями приглашаем под кат.

Читать далее

Система озвучки для игр с плагином для Unity, часть 2, упрощенная

Reading time2 min
Views1.6K

Я немного упростил изначальную концепцию, хотя весь код всё еще доступен и работает.

Сама концепция: вы делаете игру, создаёте озвучку своими силами только на своём языке, а дальше отдельные переводы и озвучки вам делают сторонние люди, за деньги или без - договоритесь сами, пока что платить некуда :) .


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

Начинаем :)

Qubes — защищенная ОС

Reading time9 min
Views28K

Qubes OS использует виртуализацию для реализации доменов безопасности посредством изоляции и компартментализации. Это хорошо, потому что виртуализация снижает количество интерфейсов между доменами безопасности, но несмотря на это позволяет доменам безопасности сосуществовать и коммуницировать. Представьте, что на "железе" вашего лэптопа запущен гипервизор первого типа Xen с каким-нибудь ядром Linux и дополнительным кодом для поддержания связи между имеющимися виртуальными машинами, плюс ряд дополнительных средств обеспечения безопасности - это и будет Qubes.

Читать далее

Information

Rating
Does not participate
Registered
Activity