Рассказ пойдет об одной новой, общедоступной Java/Kotlin библиотеке, для работы с русским языком. Она позволяет получить исходные формы + морфологическую информацию для большинства слов русского языка. Статья предназначена для тех, кто создает ботов, обрабатывает сообщения и занимается поиском. Для справки, ключевое отличие лемматизации от стеммизации (урезания до нормализованной формы) состоит в том, что лемма удовлятворяет правилам языка, например для слова "яблоками" леммой будет "яблоко", а не просто урезанный корень. Лемма может быть и более сложной, например для слова люди, начальная форма – человек. В этой статье мы рассмотрим способ быстрого извлечения такой информации из морфологического словаря.
User
Закрепление в Linux. Linux Persistence
Получив доступ к системе, важно его не потерять. Выключение узла, завершение процесса - все это разрывает бек-коннект. И приходится начинать сначала. Даже если вы успели получить учетные данные валидного пользователя, смена пароля способна создать массу проблем. В статье я собрала в одном месте известные мне способы, начиная от простых и довольно шумных, но есть и элегантные варианты, на мой вкус.
Я много внимания уделила тому, насколько та или иная техника может вас выдать. И надеюсь, что аналитики SOC вынесут из статьи хотя бы несколько вещей, на которые стоит обращать внимание.
Буду благодарна за любую обратную связь. Если вдруг вы знаете еще какие-то техники или интересные приемы, о которых я не написала, обязательно поделитесь. Потому что процесс закрепления в системе очень творческий. Особенно, если у вас есть права root.
Прямоугольные тайловые миры
Тайлы - пожалуй один из самых удобных способов построения игровой логики. Все происходит максимально дискретно, никаких тебе физик с просчетом коллизий и прочими трудностями.
Огромное множество игр на самом деле содержат тайлы - так просто проще представлять игровой мир. Такая упорядоченность помогает геймдизайнерам строить игровые механики, упрощает жизнь художников и делает код программистов понятнее. Самих видов тайлов тоже огромное количество - сегодня поговорим о прямоугольных и изометрических.
Всё, о чём должен знать разработчик Телеграм-ботов
Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.
Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?
Подробный гайд о том, как работать с ботами — под катом.
Ультимативный гайд по поиску утечек памяти в Python
Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим причины появления утечек в Python-приложениях, доступные инструменты для отладки и мониторинга работающего приложения, а также общую методику поиска утечек памяти.
Минимакс на примере игры в зайца и волков
Простое объяснение алгоритмов поиска пути и A*
Часть 1. Общий алгоритм поиска
Введение
Поиск пути — это одна из тех тем, которые обычно представляют самые большие сложности для разработчиков игр. Особенно плохо люди понимают алгоритм A*, и многим кажется, что это какая-то непостижимая магия.
Цель данной статьи — объяснить поиск пути в целом и A* в частности очень понятным и доступным образом, положив таким образом конец распространённому заблуждению о том, что эта тема сложна. При правильном объяснении всё достаточно просто.
Учтите, что в статье мы будем рассматривать поиск пути для игр; в отличие от более академических статей, мы опустим такие алгоритмы поиска, как поиск в глубину (Depth-First) или поиск в ширину (Breadth-First). Вместо этого мы постараемся как можно быстрее дойти от нуля до A*.
Itertools в Python
Модуль itertools стандартизирует основной набор быстрых эффективных по памяти инструментов, которые полезны сами по себе или в связке с другими инструментами. Вместе они формируют «алгебру итераторов», которая позволяет лаконично и эффективно создавать специализированные инструменты на чистом Python.
Модуль itertools находится в стандартной библиотеке Python.
Модуль представляет следующие типы итераторов:
- Бесконечные итераторы;
- Конечные итераторы;
- Комбинаторные генераторы.
Как выглядела разработка… ну скажем, в 80-х годах прошлого века
Попробую рассказать об этом на своем примере.
Итак, 80-е годы прошлого века.
Метаклассы в Python
В этот раз мы обсудим, что такое метаклассы, как, где и зачем их использовать, а также почему обычно этого делать не стоит.
Внедряем оплату BTC куда угодно (Python)
Внедряем оплату BTC куда угодно (Python)
- генерация кошелька на основе seed фразы
- проверка баланса и транзакций
- отправка BTC на другие кошельки
- создаем телеграм бота для выполнения операций с BTC
- исходники бота (github)
Fastcore — недооцененная, но полезная библиотека Python
Недавно я начал оттачивать владение языком программирования Python. Я хотел изучить продвинутые паттерны, идиомы и методы программирования. Начал я с чтения книг по продвинутому Python, но информация, похоже, не откладывалась в голове без применения навыков. Хотелось иметь возможность задавать вопросы эксперту, пока учусь, а такую возможность трудно найти! Тогда ко мне и пришла идея: что, если я найду проект с открытым и достаточно продвинутым кодом и напишу документацию и тесты? Я сделал ставку, что это заставит меня изучать все очень глубоко, а поддерживающие проект люди оценит мою работу и будут готовы ответить на мои вопросы.
Что нужно для создания хорошего подземелья в RPG?
Для начала нужно ответить на вопрос что же такое подземелье?
Не буду углубляться в эту тему, а просто использую определение из третьего издания руководства мастера подземелий (ДМ) D&D:
Понятие «подземелье» очень расплывчато. Подземелье обычно находится под землёй, но могут существовать и надземные «подземелья». Некоторые ДМ называют подземельями любые места, где происходит приключение. Здесь мы будем называть подземельем замкнутое, чётко заданное пространство, состоящее из соединённых определённым образом мест встреч с врагами.
Такое определение мне нравится, оно очень хорошо подходит как для настольных, так и для компьютерных RPG (которые я в дальнейшем буду называть CRPG). Но что же такое хорошее подземелье?
Это может показаться очевидным, но хорошее подземелье в CRPG должно соответствовать игре. Например, мне нравятся огромные переплетённые спагетти-подземелья из Daggerfall:
Они соответствуют игре, потому что в Daggerfall игрок движется быстро, есть такие способы перемещения, как полёты, взбирание, плавание и телепортация (слава богу, что есть телепорты), а встречи с врагами редки и скоро заканчиваются. Благодаря камере с видом от первого лица движение кажется очень удобным, в классическом стиле Doom.
Если бы такой дизайн использовали в Final Fantasy IX с её медленным движением, медленными пошаговыми боями, постоянными случайными врагами и фиксированной камерой, то это было бы невыносимо. То же самое относится к играм, где движение привязано к сетке карты, например, к Legend of Grimrock, или где перемещается большая группа персонажей, например, к Baldur’s Gate.
Рецепты для хворающих SQL-запросов
За прошедшее время вы уже воспользовались им более 6000 раз, но одна из удобных функций могла остаться незамеченной — это структурные подсказки, которые выглядят примерно так:
Прислушивайтесь к ним, и ваши запросы «станут гладкими и шелковистыми». :)
А если серьезно, то многие ситуации, которые делают запрос медленным и «прожорливым» по ресурсам, типичны и могут быть распознаны по структуре и данным плана.
В этом случае каждому отдельному разработчику не придется искать вариант оптимизации самостоятельно, опираясь исключительно на свой опыт — мы можем ему подсказать, что тут происходит, в чем может быть причина, и как можно подойти к решению. Что мы и сделали.
Давайте чуть подробнее рассмотрим эти кейсы — как они определяются и к каким рекомендациям приводят.
От микросервисного монолита к оркестратору бизнес-сервисов
Если вы определите, на каком из этапов находитесь сейчас, это поможет вам понять плюсы и минусы текущего этапа, оценить стоит ли идти на следующий этап и, если стоит, увидеть шаги необходимые для перехода.
Прогнозирование временных рядов с помощью рекуррентных нейронных сетей
UNIX-подобные системы содержат кучу костылей. Крах «философии UNIX»
В первой части статьи перечислю кучу костылей UNIX, и вообще разных недостатков. Во второй — про «философию UNIX». Статья написана наскоро, «полировать» дальше не хочу, скажите спасибо, что написал. Поэтому многие факты привожу без ссылок.
Костыли в UNIX начали возникать ещё с момента появления UNIX, а это было ещё раньше появления не только Windows, но даже вроде бы Microsoft DOS (вроде бы, мне лень проверять, проверяйте сами). Если лень читать, хотя бы просмотрите все пункты, что-нибудь интересное найдёте. Это далеко не полный список, это просто те косяки, который я захотел упомянуть.
Война с тормозами. Оптимизация количества рендеров компонентов в React Native
Я собрал рекомендации, которые помогут минимизировать количество бессмысленных перерисовок компонентов. Для наглядности в примерах сравниваю «плохую» и «хорошую» реализации. Статья будет полезна тем, кто уже столкнулся с низкой производительностью приложения, и тем, кто не хочет допустить этого в будущем.
Мы используем React Native в паре с Redux. Часть советов связана с этой библиотекой. Также в примере я использую библиотеку Redux-thunk — для имитации работы с сетью.
Методики уменьшения размеров образов Docker
Автор статьи, перевод которой мы сегодня публикуем, хочет разобрать основные факторы, влияющие на размеры контейнеров Docker. Он, кроме того, собирается поделиться рекомендациями по уменьшению размеров контейнеров.
15 лучших и крупнейших библиотек иконок
В этой статье ознакомимся с 15 лучшими и крупнейшими доступными библиотеками иконок для веб-сайтов. Многие из них предлагают тысячи, а то и миллионы пиктограмм, так что обязательно найдётся именно то, что нужно.
Сразу уточняем: это не 15 самых лучших библиотек, а 15 из лучших. Разумеется, есть и другие, не менее замечательные, о которых я не упомянул или не знаю.
И, нет, это не рейтинг — список маркированный, а не нумерованный.
Information
- Rating
- Does not participate
- Location
- Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
- Date of birth
- Registered
- Activity