Pull to refresh
4
0.1
Send message

Полное руководство по обработке ошибок в Python

Reading time15 min
Views9.2K

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

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

Вы готовы узнать секреты обработки ошибок в Python? Тогда поехали!
Читать дальше →
Total votes 20: ↑19 and ↓1+27
Comments5

Вычисления с GPU-ускорением на Python

Level of difficultyHard
Reading time9 min
Views7.1K

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

Читать далее
Total votes 33: ↑28 and ↓5+37
Comments4

Установка и использование утилиты screen в Linux, Ubuntu

Level of difficultyMedium
Reading time6 min
Views6.1K

Утилита Screen — это менеджер окон Linux, который позволяет переключаться между несколькими процессами в одном физическом терминале. Screen предоставляет буфер истории для прокрутки и механизм копирования и вставки текста между окнами.

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

Читать далее
Total votes 18: ↑14 and ↓4+19
Comments17

Собираем бюджетный домашний NAS на 14 ТБ. Часть 2 — софт, железо и всё такое

Level of difficultyMedium
Reading time12 min
Views38K


Сборка из статьи «Собираем бюджетный домашний NAS на 14 ТБ» и по сей день работает прекрасно, позволяя взаимодействовать с файлами по сети через SMB шару. Но мои задумки обширнее того, что реализовано сейчас. Об апгрейдах, новых приложениях и разных удобных фишках TrueNAS поведаю далее в статье.
Читать дальше →
Total votes 62: ↑61 and ↓1+83
Comments107

Записки оптимизатора 1С (Часть 8). Нагрузка на диски сервера БД при работе с 1С. Пора ли делать апгрейд?

Reading time9 min
Views5.7K

Поговорим про падения производительности ИТ-систем, которые на первый взгляд связаны с дисковой подсистемой. Но это только «на первый взгляд».

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

Читать далее
Total votes 14: ↑14 and ↓0+20
Comments11

Обходим замедление Youtube на Android TV без VPN

Level of difficultyMedium
Reading time3 min
Views252K

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

Читать далее
Total votes 51: ↑48 and ↓3+56
Comments85

Использование подчеркивания в коде на Python

Level of difficultyEasy
Reading time13 min
Views10K

Подчёркивание _ — это символ, который используются в именах в коде на Питоне. Он влияет на то, как код работает и как код читают. Знания о том, куда поместить подчёркивание, помогает писать код.

Читать далее
Total votes 19: ↑19 and ↓0+24
Comments13

Очистка таблицы-очереди Истории данных 1С средствами SQL

Reading time13 min
Views3.1K

На связи Никита Скирдин, программист 1С компании «Белый код».

Одна из проблем механизма Истории данных в 1С – это значительное увеличение объема базы данных. При этом старые версии истории данных, даже если настроено хранение истории данных в течение 3 месяцев, могут оставаться в базе и занимать место. В статье рассказываю пошагово алгоритм действий.

Читать далее
Total votes 7: ↑7 and ↓0+9
Comments4

Блиновская, Лерчек, Zenden и «Корчма Тарас Бульба» — так делать не стоит. Разбираю, как «дробить» бизнес по закону

Reading time10 min
Views2.6K

В развитии компании однажды настает момент, когда ей становится тесно в рамках малого и среднего бизнеса. Вот тогда-то собственники начинают придумывать варианты, как извернуться, чтобы сэкономить на налогах. Предприниматели, чтобы сохранить льготы по УСН или патенту, готовы разделить дело на 100500 крошечных ИП и записать их на родню и знакомых. В статье расскажу, чем метод структурирования бизнеса отличается от обычного «дробления» и в чем его преимущества для МСП.

Читать далее
Total votes 7: ↑3 and ↓4+1
Comments9

$1697 за выключатель кондиционера: DIY ремонт управляющего планшета

Level of difficultyMedium
Reading time10 min
Views15K

Примечание переводчика: Представьте себе ситуацию, когда ваша система кондиционирования воздуха полностью исправна, но перестает работать из-за отказа простого планшета, который служит обычным выключателем. Вам предлагают решить проблему, заменив всю систему за $1697. Эта история — не просто рассказ о возмутительной ценовой политике, а о том, как инженерный подход и немного упорства могут сэкономить вам кучу денег. В этой статье автор делится своим опытом DIY-ремонта, который позволил ему обойтись без ненужных затрат и вернуть контроль над системой кондиционирования.

Заставлять клиентов менять всю систему из-за поломки самого дешевого компонента — возможно, и выгодно, но меня это так взбесило, что я решил разобраться сам. Я понимаю, что мои действия могут оказаться сложными для большинства пользователей Advantage Air, но в ходе моего исследования я выяснил, что причина несовместимости современных планшетов с более старыми системами управления кроется только в программном обеспечении. Если бы они просто добавили в свои приложения функцию выбора "системы", это решило бы проблему для всех, а их кастомный POE-разъем все равно бы заставлял использовать их оборудование.

Читать далее
Total votes 88: ↑86 and ↓2+105
Comments45

Справочник элементной базы в формате телеграм бота

Reading time6 min
Views2.3K

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

Именно такую задачу предлагаю сегодня рассмотреть.

Стандартно поставим Python и PyCharm. С использованием BotFather создадим бот и получим токен. Для обеспечения защиты токена я храню его в отдельной файле secrets.py и импортирую.

Читать далее
Total votes 6: ↑6 and ↓0+8
Comments4

ByeDPI для Android, SpoofDPI для Mac и Linux – чиним YouTube и не работающие в России сайты на Андроид, Линукс и Мак

Level of difficultyEasy
Reading time2 min
Views222K

Вчера писал о графической оболочке Launcher for GoodbyeDPI, позволяющей интуитивно-понятно воспользоваться решением GoodbyeDPI от ValdikSS для решения проблемы замедления YouTube и недоступности в России ряда сайтов. Все хорошо, но это были решения лишь под Windows. В комментариях основные вопросы были о том, как быть с Android, Linux и Mac, и почему не в исходниках. Увы, репрессии РКН заставляют администрацию Хабра цензурировать статьи, во вчерашнюю статью внесение изменений мне запрещено, и сама ссылка доступна лишь вне России, потому объясняю про Андроид, Линукс и Мак здесь, со ссылками на исходники.

Итак, для Android есть масса проектов, мне подошел Release ByeDPI 1.0.0 · dovecoteescapee/ByeDPIAndroid · GitHub. Для Mac и Linux я бы ставил https://github.com/xvzc/SpoofDPI/releases. Все в исходных кодах.

ByeDPI for Android, это приложение, которое запускает локальный VPN-сервис для обхода DPI (Deep Packet Inspection) и цензуры. На вашем устройстве локально запускается SOCKS5-прокси ByeDPI и весь трафик перенаправляется через него.

Снятие блокировок на Android/Mac/Linux
Total votes 76: ↑75 and ↓1+91
Comments71

Топ-20 платных и бесплатных уроков программирования в Roblox для детей

Reading time7 min
Views2.3K

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

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

Читать далее
Total votes 13: ↑11 and ↓2+14
Comments0

Как Orange Pi вернула мне Ютуб

Reading time5 min
Views62K

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

В связи с последними событиями вокруг видеохостинга YouTube, ситуация вынуждает искать технические решения для восстановления доступа к сервису. В этой статье я хочу поделиться своим техническим опытом по восстановлению доступа к сервису с помощью дешевого одноплатника Orange Pi Zero2 от компании Xunlong Software.

Читать далее
Total votes 83: ↑79 and ↓4+83
Comments124

Список из 100 полезных фраз для IT на английском языке с примерами употребления

Reading time12 min
Views18K

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

Чтобы иметь обоснованное представление об этом, предлагаю воспользоваться гайдом из 100 слов наиболее часто встречающихся в теме IT. Этот список наработан мною за 2 года работы с видео и статьями из таких изданий, как MIT, TechLife News, Bloomberg, Science Today, Harvard Business Review. 

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

Можно ли выучить английский по списку слов? Нет, конечно. Но по нему можно оценить в процентном соотношении, сколько из 100 вам уже известно. 

Важно: не воспринимайте перевод слишком буквально и попробуйте предложить свой, исходя из описания на английском.

Читать далее
Total votes 27: ↑23 and ↓4+26
Comments25

Playwright: Поиск, фильтрация и ожидание элементов на странице

Level of difficultyEasy
Reading time14 min
Views5K

Друзья, приветствую! Для тех, кто не в теме, Playwright — это инструмент для автоматизации и тестирования веб-приложений, который, по моему мнению, уже обошел своего предшественника Selenium, долгое время лидировавшего в автоматизации и тестировании браузеров.

О том, почему Playwright лучше Selenium и зачем вам стоит перейти на Playwright, я подробно писал в предыдущей статье. Там же, хотя и поверхностно, я затронул тему поиска и ожидания элементов на странице.

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

Чем мы займемся сегодня?

В рамках этой статьи мы рассмотрим основные методы для поиска, фильтрации и ожидания элементов на странице.

Читать далее
Total votes 15: ↑11 and ↓4+7
Comments7

Раскочегариваем YouTube без установки софта на конечные устройства

Level of difficultyMedium
Reading time3 min
Views201K

В последнее время для потребителей контента YouTube настали тяжелые времена. Даже самые мелкие местечковые провайдеры уже внедрили то самое замедление видео. В некоторых случаях (как у меня) - это даже не замедление, а просто ограничение функционала. Видео попросту не грузятся.

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

Для этого есть несколько путей:

Читать далее
Total votes 60: ↑50 and ↓10+53
Comments291

Взламываем игры с помощью Python

Level of difficultyEasy
Reading time4 min
Views25K

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

А на днях мне вдруг захотелось вспомнить молодость и поиграть в бумерский диаблойд под названием Titan Quest, выпущенный аж в 2006 году. Да вот только времени на беготню, прокачку, и вот это вот всё, у меня нет. И ArtMoney нет. Зато есть определенные знания программирования. Вот я и решил совместить приятное с полезным, написав аналог ArtMoney на Python, а заодно стать супербогатым, хотя бы в Titan Quest.

Читать далее
Total votes 33: ↑30 and ↓3+30
Comments38

Playwright: Лучшая альтернатива Selenium. Первое знакомство

Level of difficultyEasy
Reading time13 min
Views12K

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

Материал станет первой частью нового цикла. Если тема вам интересна, с удовольствием продолжу делиться своими знаниями о Playwright.

Читать далее
Total votes 16: ↑16 and ↓0+19
Comments26

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

Reading time18 min
Views20K

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

Читать далее
Total votes 19: ↑19 and ↓0+25
Comments43

Information

Rating
3,765-th
Location
Паттая, Чон Бури, Таиланд
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Application Developer
Lead
Python
PHP
Nginx
Linux
SQL
C#