Как стать автором
Обновить

Реализация шаблона ECS на python

Python *Анализ и проектирование систем *Программирование *Разработка игр *
Ожидает приглашения

Началось с того что я придумал игру. (Суть этой игры здесь обсуждаться не будет.)

Опыт программирования был, и я сразу приступил к реализации.
Использовал python и библиотеки: pygame и numpy.
Быстро написал прототип для оценки механики и визуальной части игры.
И понял что у меня архитектурные проблемы.

Читать далее

Google QUERY — Пишем запросы с использованием заголовков полей

Google API *JavaScript *SQL *
Ожидает приглашения

Потребовалось мне для произвольной таблицы, загружаемой в гугловскую таблицу с внешнего ресурса, написать запрос. И всё было хорошо до тех пор, пока в таблице администраторами стороннего ресурса не стали меняться местами поля...
Решение напрашивалось простое - написать запрос с использованием названий полей, а не их положения в таблице. Но стандартная функция Google QUERY названия полей в данных не поддерживает. Перерытие интернета, всевозможных манов - готового решения не дали, и пришлось изобретать своё.

Читать далее

Распределение простых чисел. Доказательство очевидного

Алгоритмы *Занимательные задачки Математика *Научно-популярное
Ожидает приглашения

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

Читать далее

MEX sequences

C++ *Алгоритмы *
Ожидает приглашения

Ссылка на задачу.

Какими могут быть МЕХ-последовательности? \forall x_{i}\quad |x_{i} - MEX(x_{1},x_{2},..., x_{i})| \leq 1. Тогда если MEX(x_{1},x_{2},..., x_{i}) = x, то x_{i} \in \{x, x+1, x - 1 \,(елси \,x>0)\}. Тогда МЕХ-последовательности могут быть либо (0,0,0,..., 0, 1,1,...,1, ..., x - 1, x - 1, x - 1 ,..., x - 1, x,x,...,x) либо (0,0,0,..., 0, 1,1,...,1, ..., x - 1, x - 1, x - 1 ,..., x - 1, x + 1,x + 1,...,x + 1).

Давайте считать динамическое программирование dp1_{i}dp1_{i}[j] - количество MEX-С подпоследовательностей первого типа на префиксе длины i с MEX равным j и аналогично dp2_{i}, dp2_{i}[j] - MEX - подпоследовательностей второго типа на префиксе длины i с MEX равным j.

Пусть x текущий элемент последовательности.

В позициях где x < j - 1 или x > j + 1 ничего не меняется.

x = j - 1.

Читать далее

Самый полный гайд по ботам Telegram (python)

Python *Мессенджеры *
Ожидает приглашения

QQ Хабр! В этом гайде мы пройдемся по каждому шагу создания ботов в Telegram - от регистрации бота до публикации репозитория на GitHub. Некоторым может показаться, что все разжевано и слишком много элементарной информации, но этот гайд создан для новичков, хотя будет интересен и для тех, кто уже занимался разработкой в Telegram. Сегодня мы будем делать бота, который отвечает на заданные вопросы.

Читать далее

Финансовая пирамида в новой оболочке. Говорим про игры, построенные на блокчейне

IT-компании Криптовалюты Финансы в IT
Ожидает приглашения

Данная статья состоит из субъективного мнения автора и никого не принуждает к инвестициям. Приятного чтения.

В последнее время довольно часто меня окружают новости про криптоигры, которые невероятным способом могут принести доход. Будь то ходьба по городу или ежедневные действия внутри самой игры (Например, прокачка персонажа). Казалось бы, вот она кнопка “Бабло”. Сиди себе, развивай игровых персонажей и смотри как долларовый баланс увеличивается. Нужно лишь делать это 3 раза в день купить игровой предмет для старта, само собой за криптовалюту.

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

Читать далее

Cпособы конфигурации приложений под .NET

.NET *C# *
Ожидает приглашения

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

Читать далее

Изменение в установке приложений в ОС Linux

*nix *DevOps *Настройка Linux *Разработка под Linux *
Ожидает приглашения

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

Файловая система линукса, гараздо понятней и структоризированней, чем таковая в винде. Как минимум тут используется всем понятная и удобная прямая косая черта /, а не ее зеркальный собрат . В винде это бесячее наследие доса, где вместо всем привычных - и -- для доп ключей к программам использовалась обычная косая черта /. Линукс же сразу был с юниксовой ФС и привычными ключами через тирэ.

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

Читать далее

For SRE

*nix *Python *
Ожидает приглашения

Заголовок статьи многолик и каждый из аудитории Хабра связанный с задачами сопровождения ИТ инфраструктуры по своему интерпретирует аббревиатуру SRE как Site Reliability Engineering, всем известные и хорошо описанные принципы и практики разработанные и успешно обкатанные в компании Google.

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

Читать далее

Дизайн-системы: с чего начать

Веб-дизайн *Интерфейсы *Терминология IT
Ожидает приглашения

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

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

Читать далее

I swear I'm not a weirdo: как снять жилье на английском в другой стране (на примере Лондона). Часть 1

Изучение языков Карьера в IT-индустрии Образование за рубежом
Ожидает приглашения

Недавно я переехала в Лондон и погрузилась в увлекательный квест по съему жилья в новом городе. За неделю мною было упущено около 30 классных (и не очень комнат), отправлено 200+ запросов на просмотр и страшно подумать, сколько часов проведено в лондонской подземке. Я почти поселилась в одном из самых криминальных районов города (Jesus Christ!) и научилась управляться с лондонскими "love" и "darling". О том, как сэкономить время, не повторить мои ошибки и не показаться маньяком-убийцей в переписке, читайте в моей колонке.

Читать далее

Сортировка контейнеров в Python

Python *Проектирование и рефакторинг *Совершенный код *Учебный процесс в IT Хранение данных *
Ожидает приглашения

Этот статья прояснит вам некоторые способы сортировки и упорядочения массивов то есть контейнеров в языке программирования Python.

Читать далее

Мой «сеньорский» опыт Java

Java *
Ожидает приглашения

Вообще кто такой сеньор? Знания java? Или знания проекта? Или "по жизни"? Нет ответа. И все таки - косяки ктр. в сфере сеньора, как я это дело понимаю.

Читать далее

SQLite vs MySQL

MySQL *PHP *SQLite *
Ожидает приглашения

Что выгоднее использовать на относительно небольших проектах?

По итогам тестов результат очевиден!

Читать далее

Sysmon v14.1 ID 28

Информационная безопасность *Системное администрирование *
Ожидает приглашения

Всем привет! В Sysmon v14.1 появился новый тип событий с ID 28, но начну немножко издалека. Прошло совсем не много времени, как популярный инструмент для отслеживания и регистрации действий системы, логирования по-простому, обновился до версии 14. В 14 версии появилось произошли существенные изменения в Sysmon - инструмент научили не только логировать, но и блокировать: появилось событие с идентификатором 27 FileBlockExecutable. Это позволило, например, блокировать запуск исполняемых файлов, загруженных MS Office, блокировать запуск файлов с "двойным расширением" .pdf.exe или docx.exe, блокировать запуск загруженных скриптов и многое другое. Пример хорошего конфига для Sysmon можно посмотреть у Ion-storm

Не все все еще успели освоить события ID 27, как 29 сентября появляется Sysmon версии 14.1. В данной версии возможности по блокированию процессов расширили еще больше. Появилось событие с идентификатором 28: FileBlockShredding. Как кратко гласит описание, это событие создается, когда Sysmon обнаруживает и блокирует измельчение файлов из таких средств, как SDelete. Решил проверить, сможет ли мне пригодится данная возможность, например, для защиты какого-нибудь произвольного .evtx файла от "безопасного удаления", а если точнее, то от удаления без возможности восстановления. За инструментом удаления далеко ходить не стал и скачал SDelete. Конфиг для Sysmon взял опять же от Ion-storm (Построен на матрице MITRE ATT&CK, адаптирован к SIEM, регулярно обновляется, автор принимает предложения и замечания). Ниже фрагмент конфига по ID 28.

Читать далее