Pull to refresh
-6
0

DevOps

Send message

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

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


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

Апгрейд системы для облачного гейминга: теперь с Nvidia и Moonlight

Reading time5 min
Views9.7K

Третья, заключительная часть серии, посвященной пробросу видеокарт в виртуальную машину и организации облачной игровой системы для удаленного подключения по локальной сети с различных устройств.
Читать дальше →
Total votes 22: ↑21 and ↓1+33
Comments13

Сквозь тернии к IPv6

Reading time7 min
Views22K
В этом году тихо и незаметно прошёл десятилетний юбилей Международного дня IPv6. Данное событие носило скорее диагностический характер проверки готовности запуска и перехода на IPv6 в масштабах интернета. Через год состоялось более активное и помпезное мероприятие, которое можно принять за точку отсчёта и начало новой эпохи глобальных вычислительных сетей.


Эмблема дня запуска IPv6.
Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments127

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

Reading time18 min
Views122K
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

Few-shot-learning и другие страшные слова в классификации текстов

Reading time9 min
Views6.7K

“Не значил он анапеста от анапеста, 

как мы ни колотились отличить.”

nevmenandr (https://github.com/nevmenandr)

В настоящий момент количество курсов, на которых вы сможете получить знания, необходимые для трудоустройства по специальности «Аналитик данных» (Data Scientist, ML Engineer), растет и растет. И это замечательно. Но количество информации, которую требуется усвоить, просто зашкаливает и, даже уже работая в этой области, постоянно удивляешься, сколь многое ты еще не знаешь. Скорость появления новых словосочетаний в DS-специальностях тоже крайне высокая, но за многими страшными словосочетаниями может прятаться совершенно простой смысл. Кроме того, часто подход к задаче следующий: сначала навесить на нее некоторый ярлык - например, object detection и копать в этом направлении. И это правильный и эффективный подход. Оказывается, что иногда несколько подходов с разными названиями могут решать одну и ту же задачу. Недавно в работе Центра компетенции больших данных и искусственного интеллекта ЛАНИТ (ЦК ДАТА), мы столкнулись с одной задачей по классификации текстов, на которой мне захотелось такой эффект продемонстрировать. 

Читать далее
Total votes 23: ↑22 and ↓1+30
Comments3

Что должен, но не знает про конкуренцию в PostgreSQL каждый разработчик?

Reading time13 min
Views21K

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

Читать далее
Total votes 37: ↑36 and ↓1+42
Comments6

DOM, который построил Chrome. Или не построил? Или не Chrome? Или не DOM?

Reading time15 min
Views25K

Обычный, теневой, виртуальный, инкрементальный… Как получилось, что простой программный интерфейс доступа к элементам веб-страниц обзавелся таким количеством «родственников»? Чем современные фреймворки не устраивает стандартная объектная модель документа или просто DOM? Что и как на самом деле отрисовывает браузер в процессе рендера веб-страницы?

Всем привет, это Макс Кравец из Holyweb. Помните сцену из Матрицы, в которой один из юных кандидатов в Избранные наставляет Нео: «Не пытайся согнуть ложку. Первое, что ты должен понять — ложки не существует!»? Давайте переформулирую: «Не пытайся изменить DOM...». А вот о том, что прячется под многоточием, мы сегодня и поговорим.

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

Сравнение подходов к реализации распределенных транзакций для микросервисов

Reading time21 min
Views42K

Как архитектор-консультант в Red Hat, я имел возможность поработать над множеством проектов для наших клиентов. У каждого из них есть свои особенности, которые, однако, имеют некоторые общие черты. Большинство клиентов хотят знать, как скоординировать запись в несколько систем одновременно. Ответ на этот вопрос обычно включает подробное объяснение двойной записи, распределенных транзакций, современных альтернатив, а также возможных сценариев сбоев и недостатков каждого подхода. Как правило, именно в этот момент заказчик понимает, что разделение монолитного приложения на микросервисы - долгий и сложный путь, обычно требующий компромиссов.

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

CRDT: Conflict-free Replicated Data Types

Reading time10 min
Views46K

Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments14

YARL: как Яндекс построил распределённый Rate Limiter с нулевым влиянием на время ответа сервисов

Reading time14 min
Views28K

Yandex Rate Limiter (далее просто YARL) — это сервис лимитирования нагрузки для распределённых сервисов. Его особенность в том, что он способен работать с миллионами квот, имея при этом очень низкие накладные расходы на проверку квоты. Если совсем кратко, это система распределённых Leaky Bucket'ов, с помощью которых можно ограничивать разные величины, связанные со временем: скорость передачи данных по сети, запросы в секунду и т. п.



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

Читать дальше →
Total votes 67: ↑66 and ↓1+78
Comments26

PoW вместо капчи

Reading time4 min
Views8.5K

Для чего обычно используется капча? Для защиты от автоматических регистраций (либо автоматической отправки сообщений на форумах, в чатах, через форму обратной связи и т. п.) и для предотвращения брутфорса пары логин/пароль при аутентификации. Более экзотические случаи ее использования достаточно редки.

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

Под катом — простейший альтернативный вариант защиты от автоматической отправки сообщений и от брутфорса логина/пароля, основанный на идее PoW (proof of work, доказательство выполнения работы).

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

Как нужно обрабатывать изображения, чтобы не расстраивать математику?

Reading time4 min
Views14K

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

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

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

Апскейл, который смог

Reading time15 min
Views73K
Термин «апскейл» используется для обозначения процесса увеличения разрешения цифровых изображений с фокусом на создание иллюзии «настоящего» высокого разрешения. Правда, 90% таких продуктов — это барахло, больше намёк на перспективы, чем волшебство. Недавно мои ручки добрались до двух алгоритмов повышения чёткости, которые оказались настолько хороши, что появилась эта статья. Будут субъективные и объективные тесты алгоритма Real-ESRGAN для увеличения разрешения и алгоритма GFPGAN для детализации лиц.
Traffic_Warning: в статье демонстрируется множество примеров.
Читать дальше →
Total votes 122: ↑120 and ↓2+160
Comments79

Если крысе не давать спать, она умрёт через 3 недели — как работают мозг и сон

Reading time19 min
Views47K

Посмотрела 2х-часовую лекцию профессора МГУ Вячеслава Дубынина про влияние сна на мозг и мозга на сон. Под катом конспект минут на 20 чтения. Если попытаться сжать до 1 минуты, то получится что-то вроде этого:

  • Сколько нужно спать. Индивидуально, от 6 до 10 часов — для взрослого человека в пределах нормы.
  • Гигиена сна — правила, чтобы нормально засыпать и высыпаться. (Просто якорь на слайд-список).
  • Биологические часы — реальный физиологический процесс, который ориентируется на циркадные ритмы. Смена часовых поясов и работа по сменам «расшатывает» механизмы биологических часов.
  • Спать надо ложиться не позже, чем… — фигня. Просто в одно и то же время.
  • Если вы спите днем, купите себе хорошие шторы. Мелатонин коррелирует с освещением. Если в глаза (даже закрытые) светит солнце, вы не отдыхаете полноценно.
  • Сколько можно не спать. Без необратимых серьезных последствий взрослый человек выдержит до 4-х суток.
  • Сон делится на медленную и парадоксальную фазы.
  • Медленная фаза сна — про очищение организма. Если нет медленной фазы сна, иммунитет, эндокринка, обменные процессы и гомеостаз идут лесом. Экспериментальные крысы умирают на 15-20 день без сна от воспаления, когда кишечные бактерии попадают в кровь.
  • Парадоксальная фаза сна участвует в обработке информации. По уровню электрической активности мозга она близка к состоянию активного решения сложных задач.
  • Когда правильно просыпаться. На переходе от парадоксальной фазы к медленной.
  • Как определить на глаз, когда можно будить. Когда человек лежал спокойно и начал ворочаться, можно будить.
  • Кофеин не позволяет организму получить сигнал об усталости, но не дает дополнительную энергию.
  • Как затормозить перевозбужденную нервную систему нежно. Фенобарбитал в малых дозах — корвалол, валокордин, валосердин. Противогистаминные препараты.

Читать дальше →
Total votes 89: ↑86 and ↓3+104
Comments32

Геоанализ этажности Санкт-Петербурга алгоритмом KDE, или Как меняется облик города

Reading time4 min
Views3.8K

Всем привет, меня зовут Максим Шаланкин, в Ситимобил я занимаюсь машинным обучением. Мы используем множество крутых алгоритмов для оптимизации наших сервисов и улучшения бизнес-процессов. В этой публикации я расскажу, как использовать в геоаналитике алгоритм ядерной оценки плотности (Kernel Density Estimation) и строить полигоны на карте, основываясь на распределении географических данных.

Врууум
Total votes 23: ↑21 and ↓2+26
Comments3

Дообучаем готовую нейросеть для классификации данных

Reading time12 min
Views7.4K

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

• approved — картинки идут в раздел collective (развлекательный контент и мемы);
• not suitable — не попадают в общую ленту, но остаются в ленте пользователя (селфи, пейзажи и другие);
• risked — получают бан и удаляются из приложения (расизм, порнография, расчленёнка и всё, что попадает под определение «противоправный контент»).

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

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

Работаем с текстами на Python: кодировки, нормализация, чистка

Reading time9 min
Views88K

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

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

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

Так как всё-таки происходит обработка таких запросов?

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

Геоаналитика с помощью Python и открытых данных: пошаговое руководство

Reading time11 min
Views45K

Геоаналитика с помощью Python: GeoPandas, folium, Uber H3, OSM + примеры как можно определять лучшие локации для поиска помещений под открытие кофейни (и не только).

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

Соседняя очередь всегда движется быстрее

Reading time13 min
Views25K

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

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

Читать далее
Total votes 43: ↑42 and ↓1+51
Comments2

Information

Rating
5,604-th
Location
Черновцы, Черновицкая обл., Украина
Registered
Activity