Pull to refresh
0
Максим @Ckyllread⁠-⁠only

Пользователь

Send message

Сортировка файлов в командной оболочке Linux

Reading time5 min
Views43K
Ищете новый способ организации своих файлов и выполнения над ними каких-либо операций? Тем, кто работает с компьютерами, часто надо что-то отсортировать. Например, список файлов. Сортировка файлов с помощью Bash-команд sort и ls поможет вам навести порядок в своих материалах. Здесь мы поговорим об основах сортировки файлов и их содержимого в Linux.


Читать дальше →
Total votes 38: ↑33 and ↓5+28
Comments8

Написание скриптов для tmux

Reading time3 min
Views12K
Мне, когда я пользуюсь tmux, часто надо открывать похожие рабочие пространства. Например, мне всегда нужно выводить последние строки пары файлов журналов в панели, или мне нужно открывать и vim, и mysql. Бывает, что мне нужно и что-то другое.



Если вы попробуете найти сведения об открытии рабочих пространств tmux, то почти гарантированно обнаружите советы по использованию программы-обёртки вроде tmuxinator, tmux-resurrect или tmux-continuum. Эти программы, возможно, хороши, но я предпочитаю что-нибудь попроще.
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments9

О недавней уязвимости в банкоматах Diebold Nixdorf

Reading time9 min
Views17K

На днях Positive Technologies опубликовала новость о том, что банкоматы производителя Diebold Nixdorf (ранее Wincor), а точнее модели диспенсеров RM3 и CMDv5, содержат уязвимость, благодаря которой можно производить выдачу наличных и заливать модифицированную (уязвимую) прошивку. И поскольку я и мой бывший коллега Алексей Стенников имеем непосредственное отношение к нахождению этой уязвимости, я хотел бы поделиться некоторыми ее деталями.

Читать далее
Total votes 60: ↑60 and ↓0+60
Comments40

Шарим (в) консоль

Reading time5 min
Views18K
Мы уже все привыкли, что конференции проводятся виртуально. Мы все работаем через зумы, скайпы, миты и тимзы. Удобно, конечно, но у нас есть одна занудная проблема. Когда нам, программистам надо расшарить экран, мы тяжело вздыхаем и нажимаем кнопку Share Screen. Всё это не без проблем.


Как показать детям те прелести, которые происходят в консоли?

Самое неприятное — это когда возникает необходимость показать какую-то ссылку на экране. После завершения операции в консоли отобразилась ссылка, или ключ, который надо расшарить с командой. Естественно, приходится выделять, копировать и «дублировать в чатик». Особенно это неудобно, когда в чатик надо продублировать то, что выплюнула тебе какая-нибудь команда терминала. Строки, конечно же, заботливо съедут, форматирование потеряется, а цвета поблёкнут.
Читать дальше →
Total votes 83: ↑79 and ↓4+75
Comments27

IPv4 адреса: правовые аспекты дефицитного товара

Reading time16 min
Views9.5K

Несколько месяцев назад одна из крупнейших онлайн бирж IP-адресов выступила с заявлением, что в первом квартале 2021 года цены на адреса протокола IPv4 достигли исторического пика и превысили 32$ за адрес. Судя по всему, на данный момент цены продолжают расти, доходя до 60$ за адрес и выше.

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments19

8 проблем в архитектуре Kubernetes

Reading time7 min
Views16K
Архитектура Kubernetes хорошо подходит для организаций типа FAANG, но может оказаться избыточной и чрезмерно сложной для прочих.

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

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

1. Kubernetes разработан для компаний типа FAANG


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

Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments93

Зачем мониторить трафик локальной сети?

Reading time6 min
Views23K

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

Читать далее
Total votes 6: ↑3 and ↓30
Comments6

Ультимативный гайд по поиску утечек памяти в Python

Reading time7 min
Views24K

Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим причины появления утечек в Python-приложениях, доступные инструменты для отладки и мониторинга работающего приложения, а также общую методику поиска утечек памяти.

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

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python

Reading time9 min
Views15K
Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio популярность асинхронных Python-фреймворков сильно выросла, потеснив таких монстров, как Django и Flask, и стало намного проще писать веб-приложения, способные пережить высокий RPS.

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

Статья поможет новичкам посмотреть, как можно использовать вместе различные асинхронные библиотеки. А опытные программисты могут сравнить представленное ниже решение со своими наработками и конструктивно покритиковать.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments10

Липкие сессии для самых маленьких [Часть 2], или Как понять Kubernetes и преисполниться в своём познании

Reading time8 min
Views18K

Липкие сессии (Sticky-session) — это особый вид балансировки нагрузки, при которой трафик поступает на один определенный сервер группы. Как правило, перед группой серверов находится балансировщик нагрузки (NginxHAProxy), который и устанавливает правила распределения трафика на доступные сервера.

В первой части цикла мы уже разобрали как создавать липкие сессии с помощью Nginx. Во второй части разберем создание подобной балансировки средствами Kubernetes.

Так как статьи в основном направлены на начинающих - придется коснуться основ kubernetes. Да-да, я знаю в интернете полно материала для изучения куба. Но здесь будет минимум душной теории и максимум практики. Лучше один раз развернуть тестовое приложение в кластере и понять основные принципы, чем читать тонну скучных мануалов.

Преисполниться
Total votes 54: ↑53 and ↓1+52
Comments2

Ультимативный гайд по созданию CI/CD в GitLab с автодеплоем в Kubernetes на голом железе всего за 514$ в год ( ͡° ͜ʖ ͡°)

Reading time23 min
Views51K

Шел 2021 год, русские хакеры продолжают переигрывать и уничтожать загнивающий Запад, вмешиваясь в выборы, ломая фейсбуки и пентагоны. Тем временем на Хабре выходят статьи о создании неубиваемых Kubernetes-кластеров, которые, по видимому, всех нас переживут. А кто-нибудь подумал о простых пацанах (пацанессах)??? Как быть обычному программисту, который хочет свой небольшой кластер и ламповый CI/CD с автодеплоем приложения, чтобы кенты с района не засмеяли?

Всем привет, меня зовут Алексей и я алкоголик разработчик на Python/Go в Домклик. Сегодня мы будем понижать порог входа в self-hosted Kubernetes и GitLab AutoDevops.

Читать далее
Total votes 42: ↑41 and ↓1+40
Comments32

Одноплатники, появившиеся в продаже относительно недавно, на которые стоит обратить внимание

Reading time3 min
Views27K

Одноплатные компьютеры можно использовать для самых разных целей, от любительских до профессиональных. Одноплатники продолжают набирать популярность, разработчики выпускают как относительно сложные, так и весьма навороченные модели. О некоторых из них, появившихся в продаже несколько недель/месяцев назад, сегодня и поговорим.
Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments20

Особенности работы с POSIX-сигналами

Reading time10 min
Views14K

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

Читать далее
Total votes 64: ↑64 and ↓0+64
Comments18

Алиса, Маруся, Алекса и все-все-все: 10 умных колонок для дома и офиса

Reading time13 min
Views114K

Популярность умных колонок с голосовым управлением продолжает оставаться на достаточно высоком уровне. Если в 2020 году в России было продано около 750 тыс. таких устройств, то прогнозные оценки по текущему году говорят о как минимум 1 млн. Аналитики отмечают, что рост связан как с увеличением количества моделей, так и с появлением всё новых функций на уже купленных колонках. Команда М.Видео-Эльдорадо изучила представленные на рынке смарт-девайсы и подготовила перечень наиболее интересных из них.

Читать далее
Total votes 26: ↑25 and ↓1+24
Comments30

Популярные расширения для PostgreSQL: как установить и для чего использовать

Reading time5 min
Views14K

Облачные базы данных Selectel поддерживают 40 расширений для PostgreSQL. Некоторые добавляют небольшие радости оптимизации баз данных, другие — заменяют отдельные модули разработки на стороне приложения. На данный момент расширениями пользуются 26% пользователей DBaaS. Мы узнали, какие экстеншены наиболее популярны у клиентов и где они их применяют.

Если вы опытный DBA, вы точно нужны в комментариях — расскажите, какие расширения используете и как они решают ваши задачи.
Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments4

Переход с iptables на nftables. Краткий справочник

Reading time18 min
Views107K
image

В Debian теперь нет iptables. Во всяком случае, по умолчанию.

Узнал я об этом, когда на Debian 11 ввёл команду iptables и получил “command not found”. Сильно удивился и стал читать документацию. Оказалось, теперь нужно использовать nftables.

Хорошие новости: одна утилита nft заменяет четыре прежних — iptables, ip6tables, ebtables и arptables.

Плохие новости: документация (man nft) содержит больше 3 тысяч строк.

Чтобы вам не пришлось всё это читать, я написал небольшое руководство по переходу с iptables на nftables. Точнее, краткое практическое пособие по основам nftables. Без углубления в теорию и сложные места. С примерами.
Читать дальше →
Total votes 126: ↑126 and ↓0+126
Comments46

Начинающему сетевому программисту

Reading time17 min
Views108K

Тема сетевого программирования является для разработчиков одной из важнейших в современном цифровом мире. Правда, надо признать, что большая часть сетевого программирования сосредоточена в области написания скриптов исполнения для web-серверов на языках PHP, Python и им подобных. Как следствие - по тематике взаимодействия клиент-сервер при работе с web-серверами написаны терабайты текстов в Интернете. Однако когда я решил посмотреть, что же имеется в Интернете по вопросу программирования сетевых приложений с использованием голых сокетов, то обнаружил интересную вещь: да, такие примеры конечно же есть, но подавляющее большинство написано под *nix-системы с использованием стандартных библиотек (что понятно – в области сетевого программирования Microsoft играет роль сильно отстающего и менее надежного «собрата» *nix-ов). Другими словами все эти примеры просто не будут работать под Windows. При определенных танцах с бубнами код сетевого приложения под Linux можно запустить и под Windows, однако это еще более запутает начинающего программиста, на которого и нацелены большинство статей в Интернете с примерами использования сокетов.

Ну а что же с документацией по работе с сетевыми сокетами в Windows от самой Microsoft? Парадоксальность ситуации заключается в том, что непосредственно в самой документации приведено очень беглое описание функций и их использования, а в примерах имеются ошибки и вызовы старых «запрещенных» современными компиляторами функций (к примеру, функция inet_addr() - https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-listen ) - такие функции конечно же можно вызывать, заглушив бдительность компилятора через #define-директивы, однако такой подход является полным зашкваром для любого даже начинающего программиста и категорически не рекомендуется к использованию. Более того, фрагмент кода в примере от Microsoft по ссылке выше.

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments50

NAT (Network Address Translation) для новичков

Reading time6 min
Views192K

Приветствую всех читателей статьи!

Данная статья будет полезна как новичкам в IT сфере, так и неопытным системным администраторам/ сетевым инженерам. Здесь затрагиваются понятия и принцип работы технологии NAT, ее значение в наше время, виды и создание с конфигурированием в программе-симуляторе Cisco Packet Tracer.

Читать далее
Total votes 13: ↑10 and ↓3+7
Comments43
1
23 ...

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity