Как стать автором
Обновить
2
0
Евгений Балаганский @twixus_vulgaris

Инженер VoIP

Отправить сообщение

Настраиваем LDAP в ОС Linux

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

В этой статье мы продолжим разворачивать и настраивать LDAP под Linux. В первой части мы выполнили базовую установку slapd, развернули домен domain.com, и добавили записи в каталог.

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

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

Мокинг внешних API в Python

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

В этом руководстве я покажу, как протестировать использование внешнего API с помощью Python моков.

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

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

Модульный ноутбук Framework Laptop модернизируется: дополнительные модули, 16-дюймовый экран и кое-что ещё

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

О ноутбуке Framework Laptop на Хабре уже писали, причём не один и не два раза. И действительно, это устройство привлекает внимание, ведь оно позиционируется разработчиками как легко ремонтируемый модульный ноутбук. Достоинство устройства не только в том, что его может без проблем отремонтировать даже не особо разбирающийся в «железе» пользователь. А ещё и в том, что его отдельные компоненты можно апгрейдить плюс добавлять различные разъёмы и коннекторы, выполненные в качестве модулей.

Сейчас компания, которая производит эти устройства, объявила о скором выходе в продажу новой модели, предоставив ряд технических подробностей, неизвестных ранее. Подробности — ниже.

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

Python3 + C, есть ли смысл?

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

Доброго времени суток! В данной статье рассмотрим стоит ли интегрировать методы из С в проекты написаные на Python3 и как это сделать.

Перейти к публикации --->
Всего голосов 8: ↑6 и ↓2+4
Комментарии14

Решение проблемы «падения» процессов в приложении, работающее 24/7 в режиме мультипроцессинга

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

Есть приложение, в котором выполняет несколько функций, например, сбора данных из различных источников, их обработки и помещения результатов в БД. Приложение, по задумке, должно работать 24/7, чтобы в любой момент можно было подключиться к БД и получить свежайшую информацию.

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

Решаем
Всего голосов 12: ↑3 и ↓9-4
Комментарии20

Когнитивные искажения или мои мысли о том, как мы мыслим

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

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

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

На русском языке когнитивные искажения часто называют “ошибками мышления”. Мне не очень нравится этот термин, потому слово “ошибка” подразумевает, что когнитивные искажения являются обязательно чем-то неправильным. Но это не совсем так, когнитивные искажения - это просто особенности мышления, которые очень часто помогают нам выживать, однако, в некоторых ситуациях могут играть не в нашу пользу.

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

Читать далее
Всего голосов 71: ↑70 и ↓1+82
Комментарии161

7 полезных книг по Python для старта и развития навыков: выбор сотрудников Selectel

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

Попросили коллег порекомендовать книги по изучению Python, которые когда-то помогли им прокачать свои навыки. Сохраняйте подборку в закладки — она пригодится и начинающим, и опытным специалистам. А также делитесь своими вариантами в комментариях.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+42
Комментарии11

Исчерпывающее руководство по множествам в Python

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

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

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

RTC, почти RTC и Франкенштейн

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

Не смотря на то, что технологии WebRTC уже больше 10 лет, сейчас она очень активно развивается. За последний год, использование WebRTC в браузерах выросло в 100 раз, апишка стала IETF-стандартом и научилась делать новые интересные трюки.

Я — Полина Гуртовая, занимаюсь фронтенд-разработкой и изобретаю велосипеды. В статье расскажу об RTC (Real-time communication) и быстрой доставке данных. Если мы говорим об RTC в Web, то мы говорим о WebRTC. Когда я только начинала работать с WebRTC, мне встретилось множество таинственных сокращений: TCP, NAT, SCTP, DTLS, ICE, STUN, TURN, RTP, UDP, AVC…

Хорошие новости: разобраться в них оказалось совсем не сложно. Сейчас мы сделаем это вместе. WebRTC crash course. Поехали!

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

Как перестать велосипедить или 4 self-hosted сервиса для начинающего СТО

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

Я знаю многое о велосипедах в Enterprise-разработке. Видел издали, катался на них, собирал сам, но наступают моменты, когда типичные задачи пора перевести на типичные решения. В статье расскажу о 4 self-hosted сервисах, которые освобождают уйму времени на действительно важные вещи.

Слезть с велосипеда
Всего голосов 30: ↑29 и ↓1+32
Комментарии5

Алгоритмы поиска решений лабиринтов и их практическое применение в реальном мире — Кит Берроуз и Ванесса Клотцман

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

Первое упоминание термина “maze” датируется тринадцатым веком, а “labyrinth” — к четырнадцатым. Сама концепция лабиринтов восходит к эпохе греческого мифологического героя Тесея — древнего героя, успешно прошедшего Кносский лабиринт и сразившего Минотавра.

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

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

[Python Intermediate] Урок 1. Конфигурация приложения

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

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

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

Цифровой манифест

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

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

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

Для достижения этой цели предлагается новая форма управления государством - цифровая демократия или цифровизм.

Читать далее
Всего голосов 12: ↑8 и ↓4+5
Комментарии38

Как разрезать полметра стали, в домашних условиях, почти бесшумно — используя электричество?

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

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

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

Читать дальше →
Всего голосов 101: ↑99 и ↓2+127
Комментарии59

Руководство к дескрипторам

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

Краткий обзор


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

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

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

Новый одноплатник StarFive VisionFive 2 на 4-х ядерном RISC-V процессоре всего за $46

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

Совсем недавно программировали на Python и устанавливали Docker для Sipeed Lichee RV RISC-V. Модуль Lichee RV стал первым массовым дешевым решением на процессоре RISC-V с возможностью запуска Linux. Развитие архитектуры не стоит на месте, так компания StarFive, разработчик RISC-V процессоров, представила новый 4-х ядерный процессор RISC-V JH7110 с графическим ускорителем. Предыдущие процессоры, построенные на RISC-V ядрах, например Allwinner D1 (используется в модуле Sipeed Lichee RV), не содержат GPU, а значит, не позволяют запускать 3D приложения и игры. На новом одноплатном компьютере VisionFive 2 на процессоре RISC-V JH7110 с 3D GPU, размещено 8 ГБ ОЗУ, интерфейсы HDMI 2.0 и MIPI DSI, два порта Gigabit Ethernet, 4 порта USB 3.0/2.0, флэш-память QSPI для загрузчика, а также интерфейс eMMC для подключения флеш-памяти, порт M.2 NVMe SSD, и слот для microSD карт памяти.

Для самых ранних покупателей, доступна версия с 2 Гб ОЗУ всего за 46$ + доставка.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+10
Комментарии15

Как защититься от сканирования портов и Shodan?

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

Серверы в опасности!

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

Это может быть перебор портов с целью найти открытые от какой-то компании, которая позиционирует себя борцом за безопасность, но которая собирает статистику открытых портов на будущее по всем доступным IP (например Censys).

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

Ну и собственно целевые атаки, во время которых ваши серверы в первую очередь тестируются на наличие открытых портов, а затем производятся атаки на найденные сервисы. Это может быть подбор эксплоитов для использования известных дыр или пока неизвестных 0-day, как и обычный DDoS.

Во всех этих сценариях используется предварительный перебор открытых портов. Скорее всего применение nmap или подобных утилит в каких-то скриптах.
Как защитить сервер от сканирования портов без CloudFlare и подобных прослоек?

Как стать невидимым для Shodan, Censys?
Всего голосов 13: ↑8 и ↓5+3
Комментарии24

Best Practices для Python

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

Лучшие практики в Python по моему мнению

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

В этой статье я расскажу о подобных негласных правилах, о своих наблюдениях в мире Python и о своих Best Practices.

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

Экструдер для получения филамента из PET тары

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

Всем привет! Цены на филамент в последнее время вообще не радуют. Также особенностью 3D печати является тот факт, что некоторые детали приходится перепечатывать по нескольку раз для достижения желаемых результатов. Процесс разработки и печати детали иногда бывает достаточно итеративным и медитативным )).А что если бы у Вас был безлимитный пластик? Эдакая "супер способность" - человек-филамент? Помогло бы это Вам в Вашем 3D ремесле?

Представляю Вашему вниманию компактный экструдер филамента из PET бутылок!

Читать далее
Всего голосов 70: ↑67 и ↓3+81
Комментарии33

Правило 3-х часов: Сколько нужно работать в день

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

Размытое зрение, стук по клавиатуре и одно глобальное правило продуктивности.

Я был там. Слишком долго работаю над проектом. Я начинаю ошибаться. Я теряю детали. Ошибки продолжают появляться, а качество падает.

Делаю что-нибудь творческое в течение нескольких часов, и это утомительно.

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

Великие умы всех времен имеют нечто общее:

Читать далее
Всего голосов 72: ↑68 и ↓4+80
Комментарии89

Информация

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

Специализация

System Administration, Network Engineer
Senior
От 150 000 ₽
Ansible
Asterisk
Linux
Zabbix
Mikrotik
Debian
Python
Bash