Pull to refresh
-2
0

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

Send message

15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли

Reading time8 min
Views117K


Есть «Super Mario», признанная классика видео игр. Есть «Doom», который запускают на чайниках и тестах на беременность. Есть супер-популярные по статистике twitch.tv игры («League of Legends», «GTA V», «Fortnite», «Apex Legends») которые стримят пятая часть всех стриммеров.

А есть игры, на которые очень мало обзоров, но они супер крутые — игры про алгоритмы. Игры, в которых можно кодить на ретро-компьютере; игры, которые надо взламывать; игры, где можно программировать контроллеры или поведение персонажей; игры, где можно создавать свою игру внутри игры.

Под катом подборка классных игр про алгоритмы за последние 10 лет. Если что-то упустила — буду рада дополнениям.

Еще я создала канал в Telegram: GameDEVils, буду делиться там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →

О шаблонах в С++, чуть сложнее

Reading time40 min
Views39K

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

Потрогать здесь

Работаем с XML как с массивом, на PHP

Reading time5 min
Views31K

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

XML ещё жив и иногда его приходиться парсить. Особенно если вы работаете со СМЭВ (привет всем ребятам для которых "ФОИВ" не пустой звук :) ).

Цели у такого парсинга могут быть самые разные, от банального ответа на вопрос какое пространство имён используется в xml-документе, до необходимости получить структурированное представление для документа вцелом.

Инструмент для каждой цели будет свой. Пространство имён можно найти поиском подстроки или регулярным выражением. Что бы сделать из xml-документа структурированное представление (DTO) - придётся писать парсер.

Для работы с XML в PHP есть пара встроенных классов. Это XMLReader и SimpleXMLElement.

Читать далее

Datalore Enterprise 2021.3: ячейки SQL, подключение Jupyter-ноутбуков к БД, интерактивные отчеты и многое другое

Reading time4 min
Views3.3K

Привет, Хабр!

Datalore Enterprise — это data science платформа для совместной работы с Jupyter-ноутбуками. Ее можно установить в частное облако или на приватный сервер компании.

Новая версия 2021.3 позволяет специалистам по анализу и обработке данных работать с базами данных и SQL-кодом внутри Jupyter-ноутбуков, а также легко делиться результатами работы с коллегами. Также мы интегрировали поддержку ноутбуков R и Scala, добавили новый реактивный режим, реализовали конструкторы графиков и множество других функций.

Читайте дальше, чтобы узнать о новых возможностях Datalore Enterprise 2021.3!

Читать далее

Страх и ненависть в RouterOS: что такое сетевое соединение в ядре Linux (часть 1 — теория)

Reading time6 min
Views37K

В статье рассмотрено понятие «соединение» для TCP и UDP протоколов в ядре операционной системы Linux на примере работы оборудования MikroTik. Дополнительно рассматриваются особенности работы технологии NAT в указанном контексте. Материалы носят в основном теоретический характер и предназначены для людей, тонко настраивающих Firewall, Qos и маршрутизацию, где им придётся непосредственно работать с рассматриваемыми connections.

В этой части статьи подробно описана сущность сетевого соединения глазами ядра маршрутизатора. В практической части закрепим информацию в результате рассмотрения работы прикладного протокола DNS через подсистемы RouterOS. В заключительной части речь пойдёт о диаграмме потока пакетов, при работе с которой важно понимать сущность рассматриваемого сетевого соединения, а также о не документированной в явном виде особенности работы NAT. Материала достаточно много, и чтобы читатель не потерял смысловую нить к концу статьи, она разделена на 3 части: теория, практика и особенность NAT.
Цикл статей не предназначен для новичков и может их только запутать. Полагаю, что читатель хорошо знаком с предметом разговора.
Читать дальше →

Работы или услуги: результат или процесс? Какой договор нужно заключить, чтобы не облажаться

Reading time5 min
Views35K

Зачем отличать работы от услуг, а услуги — от работ? Действительно ли отличаются эти два понятия? Какие юридические риски влечёт неправильная квалификация действия при заключении сторонами договора? Все эти вопросы встали передо мной, юристом компании Alente, в рамках задачи по наведению порядка в договорной базе. 

Сразу обозначу: содержание статьи не направлено на то, чтобы удивлять коллег из сферы юриспруденции каким-либо фактами или рассуждениями, и даже на то, чтобы привести в пример умопомрачительную судебную практику. Эта публикация — «лишь» объяснение важных нюансов по вопросу разграничения работ и услуг на человеческом языке. Основная её цель — понимание людьми премудростей законодательства. 

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

Читать далее

Костыли и колеса (не от велосипеда) — как я структурировала прием таблеток

Reading time5 min
Views9.9K

Так уж получилось, что в последнее время я много и долго болею ?

Мой стандартный способ лечения "если простуду лечить — она пройдет за 7 дней, а если не лечить — за неделю" перестал работать (ох уж эта старость).

Пришлось обращаться к врачу и прибегать к особенному лечению.

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

Запомнить это все невозможно - поэтому пришлось визуализировать с помощью костылей и велосипедов.

Читать далее

Как писать bash-скрипты надежно и безопасно: минимальный шаблон

Reading time8 min
Views71K

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

Я не буду пытаться сделать из вас эксперта в Bash, а просто покажу минимальный шаблон, который поможет сделать ваши скрипты более надежными и безопасными.

Читать далее

Python: Логируем как профессионалы

Reading time13 min
Views54K

Часто вижу, что помимо обработки исключений, люди мучаются кое с чем еще, а именно с логированием.

Большинство людей не знают, что писать в логи, поэтому решают логировать все, что угодно, думая, что все подряд – это в любом случае лучше, чем ничего, и, в конечном итоге, просто создают шум. А шум – это информация, которая никак не помогает вашей команде понять, в чем дело и как решить проблему.

Читать далее

Reversing для чайников — ассемблер x86 и код на С (для начинающих/ADHD friendly)

Reading time10 min
Views24K

До того как заняться реверс-инжинирингом, исполняемые файлы казались мне черной магией. Я всегда интересовался, как все работает под капотом, как двоичный код представлен внутри .exe файлов, и насколько сложно модифицировать “исполняемый код” без доступа к исходникам.

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

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

Читать далее

Поднимаем прозрачный прокси Squid на FreeBSD 13.0

Reading time4 min
Views16K

Хочу поделиться информацией по поднятию прозрачного HTTP и HTTPS прокси сервера Squid с фильтрацией сайтов и без подмены сертификатов на FreeBSD 13.0 RELEASE. На Хабре уже есть похожая статья по настройке прозрачного прокси сервера Squid с фильтрацией ресурсов и без подмены сертификатов на Linux. Решил актуализировать информацию на свежо установленной ОС FreeBSD 13.0 и поделиться с вами.

При использовании действий «peek-and-splice», сквид выдергивает имя ресурса с помощью SNI и клиент дальше работает с ресурсом. Т.е. не происходит подмена сертификата. Этот режим подходит для нашего прозрачного прокси.

Ставить Squid мы будем из портов, так как необходимо включить некоторые параметры в сборку, также для заворачивания трафика на порт прокси мы будем использовать пакетный фильтр PF.

Для начала скачиваем порты:

Читать далее

3. Частотные характеристики. 3.10 Минимально-фазовые и не минимально-фазовые звенья

Reading time8 min
Views7.7K

Лекции по курсу «Управление Техническими Системами» читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки» факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность!

Данные лекции готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется. В предыдущих сериях:

1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 — 2.32.3 — 2.82.9 — 2.13.
3. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ РЕГУЛИРОВАНИЯ.
3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ.
3.2. Типовые звенья систем автоматического управления регулирования. Классификация типовых звеньев. Простейшие типовые звенья.
3.3. Апериодическое звено 1–го порядка инерционное звено. На примере входной камеры ядерного реактора
3.4. Апериодическое звено 2-го порядка
3.5. Колебательное звено
3.6. Инерционно-дифференцирующее звено
3.7. Форсирующее звено
3.8. Инерционно-интегрирующее звено (интегрирующее звено с замедлением)
3.9. Изодромное звено (изодром).

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

Как всегда будет интересно познавательно и жестко.

Читать далее

Сам себе РКН или родительский контроль с MikroTik (ч.2)

Reading time10 min
Views19K

Вторая и заключительная статья в цикле организации родительского контроля на оборудовании MikroTik. Ранее подробно рассмотрены организация DNS, работа Firewall Filter и Ip Kid-control. В текущей части поговорим о прикладном применении маркировки трафика посредством Firewall Mangle, а также сделаем общие за представленный цикл статей выводы, касающихся возможностей RouterOS по организации родительского контроля.
Читать дальше →

Тайные знания: библиотеки для С++

Reading time5 min
Views33K

Рун не должен резать
Тот, кто в них не смыслит.
В непонятных знаках
Всякий может сбиться.
Десять знаков тайных
Я прочел и знаю...(Сага об Эгиле)

Многие начинающие программисты, уже освоив синтаксис C++, обнаруживают, что нет простого способа, как подключить библиотеку, так и собрать программу для другой ОС, или чего хуже, под другим компьютером с той же ОС. Эта проблема отчасти порождается спорной практикой обучения, когда код учат писать и запускать лишь средствами IDE, таких как Visual Studio, Code::Blocks, и других.
Поначалу такой подход работает, но лишь до первой реальной задачи сделать что-то, что запустится не только на вашей машине. Тут-то новички и сталкиваются с отсутствием стандартной системы сборки и менеджера зависимостей. После осознания этой сложности, большинство студентов, как правило, переходят на другие языки, попутно тиражируя в индустрии миф о том, что C++ де не кроссплатформенный язык, а вот мой Python/Java/C# - да.
Между тем нас окружает множество замечательных кроссплатформенных программ написанных на C++. Если вы обучаетесь C++ и хотите понять как создавать такое ПО, то эта статья для вас.

Узнать заклинания кроссплатформености

Очевидное, невероятное, корпоративное. Эпизод 1. Проблема воина в команде

Reading time16 min
Views7.2K

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

Чем больше масштаб – тем заметнее становится то, что подготовленный строй солдат действует эффективнее, чем толпа индивидуалистов.

Об этом и поговорим

Что почитать аналитику данных: 5 книг для саморазвития

Reading time3 min
Views48K

Аналитик данных — профессия перспективная, и спрос на специалистов растет стремительно. Но тому, кто ее выбрал, важно успевать за быстрым темпом развития IT-отрасли: нужно постоянно учиться и совершенствовать свои компетенции. В помощь — профессиональная литература. 

Чтобы вы быстрее освоились в профессии, если только начинаете карьеру аналитика, эксперты курса «Аналитик данных» от онлайн-университета Skypro советуют книги для новичков.

Читать далее

Книга «Эффективный C. Профессиональное программирование»

Reading time13 min
Views11K
image Привет, Хаброжители! Мир работает на коде, написанном на C, но в большинстве учебных заведений программированию учат на Python или Java. Книга «Эффективный С для профессионалов» восполняет этот пробел и предлагает современный взгляд на C. Здесь рассмотрен C17, а также потенциальные возможности C2x. Издание неизбежно станет классикой, с его помощью вы научитесь писать профессиональные и надежные программы на C, которые лягут в основу устойчивых систем и решат реальные задачи.
Читать дальше →

Как гореть не выгорая, или 10 лайфхаков, помогающих структурировать рабочий процесс и не ощущать себя в горящем танке

Reading time9 min
Views20K

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

Читать далее

Создание статической библиотеки на С++ для работы с большими числами

Reading time6 min
Views29K

Я всегда слышал, что с библиотеками в С++ что-то не так, как и с ограничением максимального целочисленного значения, да и вообще то, что язык сложный и непонятный. Что же, сегодня, мы начнём писать собственную библиотеку больших чисел, полностью своими руками c 0, и узнаем, так ли страшен С++, как его малюют?

Если вы не разбираетесь в С++, не переживайте, эта статья имеет нулевой порог вхождения. Мы начнём с лёгкого, но вы даже не заметите, как начнёте разбираться в более сложных и непонятных, на первый взгляд, вещах. Главное, писать код логично. Думаю, данная статья будет интересна не только начинающим, ведь я постарался затронуть достаточно много тем. (для старожилов: моя цель не сделать оптимизирование или быстрее, а показать, что С++ не такой уж и сложный язык программирования. И да, я знаю, что существуют другие библиотеки, которые делают это быстрее и лучше. И да, было бы круче, если бы мы использовали булевую алгебру. И да, С++ про вечную оптимизацию, но это статья не про это. Спасибо.)

За сегодня мы узнаем, что такое: Перегрузка функций/конструкторов, прототипы функций, обработка исключений, пространство имён, псевдонимы типов, заголовок.h, как пользоваться отладчиком и как писать продвинутые/красивые комментарии. Пристёгивайтесь, будет безумно интересно.
Читать дальше →

MikroTik: L2VPN = EoIP + WireGuard (часть 2)

Reading time5 min
Views29K

В прошлый статье остановились на том что, мы собрали MikroTik в единую сеть, обойдя NAT с помощью "облачного" сервера. Далее, в данной статье, мы настроим связность между нашими площадками, да так чтобы казалось, как будто мы их подключили прямым кабелем (L2). Мы должны получить L2VPN.

Читать далее

Information

Rating
Does not participate
Location
Томская обл., Россия
Registered
Activity