Search
Write a publication
Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Как мы на новый электронный журнал переходили. Дневники внедряльщика

Reading time12 min
Views13K

За 10 дней до начала нового учебного года наша школа (под ненавязчивым давлением вышестоящих органов) начала экстренный переход на новую систему электронных журналов. Единую для всего региона, конечно же. Продвигаторы сего программного продукта клятвенно обещали на спешно организованных вебинарах, что новый софт будет «более лучшим», «пипец каким надёжным» и вообще позволит снять с учителей и завучей лишнюю нагрузку, поскольку вся нужная информация будет теперича автоматически попадать куда надо.

Ладно, где наша не пропадала. Качаем инструкции к новой ИС. Целых 6 штук на все случаи жизни (на самом деле — нет!). Грустим, глядя на непривычный интерфейс и смутно-знакомую логику построения ИС — разные точки входа в разные части единой (!) системы, периодическая синхронизация БД между этими модулями («Аверс Директор/Журнал», привет! Уж не ты ли это в новом обличии?). Эта логика самая по себе — тихий ужас для администрации школы. Дело в том, что у части модулей идентичный интерфейс, а на школу выдали один логин администратора. Часть функций по управлению школой выполняется в модуле «Мониторинг образования» (добавление учеников), часть — в модуле «Журнал» (например, указание почасовой нагрузки учителей), а часть — собственно в журнале (у него вообще отдельный адрес, и вход там через Госуслуги — свой для каждого учителя). При подготовке журнала к новому году приходится, во первых постоянно перелогиниваться в разных модулях (либо держать открытыми 2-3 браузера); во-вторых, периодически ждать той самой синхронизации БД. Т.е. я добавляю, например, нагрузку учителя в модуле «Журнал», но не могу тут же поставить ему урок в расписание , т. к. БД ещё не успела синхронизироваться (синхронизаций проходит каждые 10 минут; если повезёт, ждёшь недолго, если не повезёт — 10 минут на каждый чих).

Читать далее

Ввод дробных значений без смены раскладки

Reading time3 min
Views15K
Как часто вам приходится вводить в интерфейс какой-либо программы/web-сервиса дробные значения? Если часто, то, вероятно, вы сталкивались с неадекватным поведением таких полей. Я, например, довольно регулярно бьюсь лбом об абсолютно тупые формы. Хотите знать, почему ввод дробных значений может довести до белого каления, и что с этим делать? Добро пожаловать по кат.
Читать дальше →

Библиотека CUtils

Level of difficultyMedium
Reading time2 min
Views2.8K

Друзья! В данной статье мы бы хотели рассказать про кроссплатформенную коллекцию утилитных C++ компонентов CUtils.

CUtils — это довольно полезный инструмент при разработке кроссплатформенного программного обеспечения на языке программирования C++.

Читать далее

MoexBuilder: как я создаю библиотеку на Python. Часть 1

Reading time6 min
Views3.5K

Привет, Хабр! Это моя первая статья и в ней я хочу не только поделиться опытом, полученным в ходе реализации собственного проекта, но и услышать обратную связь\критику\предложения\замечания относительно принятых мною решений. Моя статья не предложит вам "подписаться на телегу" или что-то подобное, я просто расскажу о том, чего добился на текущий момент.

Читать далее

От Гарфилда до Кота Саймона: как кошки становятся прототипами героев фильмов, мультиков и игр

Reading time6 min
Views1.7K

Люди любят наделять своих питомцев человеческими качествами. Кто-то видит в своей кошке мудреца: задумчиво и снисходительно она наблюдает за хозяином, пока тот в семь утра собирается на работу. Кто-то — вечного бунтаря, раздирающего обои и переворачивающего цветочные горшки несмотря на «правильное воспитание». А кто-то — не иначе как представителя королевского рода с соответствующими манерами: хоть красную дорожку к лотку прокладывай. Неудивительно, что питомцы часто вдохновляют мультипликаторов, сценаристов и разработчиков игр на создание персонажей для своих проектов. Как раз о таких пушистых музах сегодня поговорим.

Читать далее

Действительно ли смартфон может работать в режиме скрытой прослушки?

Reading time3 min
Views18K


Много лет среди обывателей распространена конспирологическая теория, что телефоны «подслушивают» пользователей даже в выключенном состоянии. Например, чтобы регистрировать ключевые слова и потом показывать актуальную контекстную рекламу. Некоторые замечали, что после обсуждения в офлайне какого-то специфического предмета они потом видят в Google рекламу на эту тему.

Загадочный феномен идёт ещё дальше. Даже необязательно произносить ключевые слова вслух. Google начинает показывать рекламу даже зубной пасты, которой вы случайно почистили зубы. Учёные говорят о феномене Баадера-Майнхофа (иллюзия частотности), но широкие массы не слишком верят в такое простое объяснение.

Однако недавно теория о работе смартфона в режиме скрытой прослушки получила косвенное подтверждение.
Читать дальше →

Практические варианты использования port knocking

Level of difficultyEasy
Reading time17 min
Views8.7K

Многие компании не успевают оперативно устранять уязвимости. При этом время эксплуатации уязвимости после ее раскрытия сокращается. Существуют различные варианты попыток защиты\сокрытия сервисов от "любопытных глаз". Основные: использование нестандартного порта, fail2ban, ACL и tarpit (и их сочетание).
Есть ещё port knocking: как дополнительный фактор защиты - может снизить обнаружение сервиса, а не пытаться бороться с последствиями (брутфорс, эксплуатация), когда сервис уже обнаружен. Но, очень часто эта технология оказывается не используемой. Где-то из-за незнания технологии (хотя, статей хватает). Но, чаще из-за проблем на практике, которые мешают её внедрению:

‣ сложности использования технологией неподготовленным пользователям;
‣ фильтрация трафика (как на стороне клиента, так и сервиса);
‣ "раздувание" сгенерированных правил;
‣ несогласованность с другими отделами безопасности (трафик для port knocking может считаться зловредным).

Часто игнорирование port knocking приводит к тому, что задачи по безопасности пытаются решать другими технологиями. Что приводит к решениям, простота и эффективность которых вызывает вопросы. Усугубляется это частым отсутствием знаний в области наступательной безопасности: непониманием как атакующие могут обходить средства защиты. Я за годы работы пентестером и архитектором безопасности очень полюбил port knocking и нашёл варианты решить самые частые проблемы с его использованием. Ими и хочу поделиться.

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

В статье обсудим:

‣ зачем (и как) пытаться убрать сервис из базы поисковиков (Censys, Shodan);
‣ использование нестандартного порта, fail2ban, ACL, tarpit и какие подходы используют атакующие для попытки обхода этих мер;
‣ варианты port knocking и практические проблемы их использования;
‣ "прозрачный" port knocking (не требующий от пользователей дополнительных действий, не подверженный фильтрафии трафика и согласующийся с сетевыми мерами безопасности);
‣ port knocking в docker контейнере: когда полезен и как его сделать;
‣ использование ipset для повышения эффективности port knocking;
‣ некоторые спорные практики защиты.

Читать далее

Расширения VSCode для комфортной работы с проектами

Level of difficultyEasy
Reading time4 min
Views43K

Для работы с проектами существует куча редакторов кода и IDE (VSCode, NeoVim, SublimeText, WebStorm и т.д.). В данный момент наиболее популярны VSCode и Webstorm и у каждого есть свои плюсы и минусы. Webstorm является примером прекрасного IDE от компании JetBrains, где многие вспомогательные модули идут “из коробки”. К сожалению, сейчас нет возможности легально получить доступ к этому продукту гражданам России, поэтому многим приходится искать альтернативу. Такой альтернативой вполне может стать Visual Studio Code от компании Microsoft, который имеет открытую кодовую базу, полностью бесплатный и гибко настраиваемый под ваши нужды. В данной статье мы рассмотрим пример настройки рабочего пространства VSCode для комфортной работы с нашими проектами. Я покажу вам, какими расширениями я пользуюсь для лучшего удобства и продуктивности. Эти расширения я использую давно и они хорошо зарекомендовали себя, но возможно некоторые из них могут не подойти под ваш стиль работы и написания кода. Итак, начнем!

Читать далее

Как и где создавать ментальные карты для работы и учебы

Level of difficultyEasy
Reading time3 min
Views8K

Добрый день! Меня зовут Игорь. Уже 3 года Я делаю бесплатный сервис для создания ментальных карт MIND IN MAP 🍀. За это время, я создал сотни ментальных карт для работы и учебы. В этой статье я делюсь опытом. Покажу как создавать ментальные карты и расскажу, где это можно делать бесплатно.

Читать далее

Госзакупки, «Точка Роста» и 3D-принтер за тройную цену. Четыре года спустя

Reading time12 min
Views13K

Дисклеймер. Эта история началась в разгар пандемии, в сентября 2020 года. Отдельные её эпизоды я за минувшие годы успел рассказать в личном блоге, на одном профильном сайте для 3D-печатников и даже снять видео для своего Youtube-канала с 3 подписчиками. Однако совсем недавно (в марте 2024 года) история получила своё продолжение, и я решил собрать отдельные её фрагменты воедино и поведать более широкой аудитории, поскольку... Но об этом - в само конце, а пока...

Читать далее

Как я писал «Вирус-бякус» на Delphi (шутка родом из конца 90-х)

Level of difficultyEasy
Reading time5 min
Views2.8K

Началось всё в самом конце 90-х годов, когда мне в руки попал диск с пиратской копией Delphi какой-торанней версии и на глаза попалась статья из Delphi World про управление лотком CD‑ROM'а. «Блин, да это же идея для вируса!», — подумал я...

Читать далее

Вентиляция  крытых бассейнов и аквапарков в холодном климате: Как избежать конденсата на окнах?

Reading time16 min
Views5.2K

 

У меня зазвонил телефон…

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

Так случилось и у меня в один из недавних вечеров.

На это раз меня  хотели пригласить в качестве консультанта по вопросу «проектирование систем отопления и вентиляции в крытых плавательных бассейнах и аквапарках».

Договориться  о сотрудничестве не удалось, но зато я нашёл тему для очередной статьи.

 

Проблемы вентиляции  крытых бассейнов

Вентиляция  крытых бассейнов- это острая тема в проектирование, так как никаких особых нормативов  и методик не существует, а проблем при эксплуатации объектов прорва.

Основной проблемой является конденсат, возникающий на стенах и окнах в зимнее время.

То есть проблема связана  не только с вентиляцией, но и с  системой отопления помещения.

 

Когда возникает конденсат?

Конденсат на стёклах возникает тогда, когда температура поверхности оказывается ниже так называемой «точки росы» для данного помещения.

«Точка росы»- эта температура, при которой возникает 100% относительная влажность воздуха при существующем количестве влаги в воздухе данного помещения.

Определяется  «точка росы» при заданном влагосодержании и температуре воздуха по I-d-диаграмме влажного воздуха (см.рис.1.)

Читать далее

Как я снимал трейлер несуществующего фильма. Часть 2

Level of difficultyEasy
Reading time4 min
Views2.7K

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

Читать далее

Как я снимал трейлер несуществующего фильма

Reading time4 min
Views10K

Продолжаю снимать видео на фотоаппарат. Сегодня расскажу, как снимал трейлер несуществующего фильма про постапокалипсис. Опять снимаю практически без бюджета и почти все делаю сам.

Читать далее

Не усложняй: простые фреймворки, чтобы быстрее принимать решения и приоритизировать задачи

Reading time3 min
Views14K

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

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

Amazon: обратимые и необратимые решения
Матрица "Ценность vs. Затраты"
Матрица Эйзенхауэра

Читать далее

Миллиомметр своими руками

Level of difficultyEasy
Reading time2 min
Views15K

Необязательно покупать специализированный миллиомметр чтобы пару раз в году измерить сопротивление шунта для амперметра. Или вы решили измерить сопротивление сомнительного провода чтобы проверить из чего он сделан.

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

Читать далее

$800 000 на фейковой аналитике: история самого юного биржевого мошенника

Level of difficultyEasy
Reading time5 min
Views22K

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

Однако у такого положения дел есть и бенефициары: например, заработать могут те, кто эти новости создает или вовсе выдумывает. Наверняка все, кто имел дело с рынком ценных бумаг, слышали о манипулятивной стратегии «Pump and Dump» (накачать и сбросить). Суть метода — завысить стоимость активов ложными рекомендациям и фейковыми новостями, а потом обвалить рынок.

Для таких манипуляций, конечно, нужно быть не хомяком и не обезьяной, но спросите себя прямо: ожидали бы вы подобной прыти от тринадцатилетнего подростка? Однако именно таким был Джонатан Лебед, герой нашего сегодняшнего текста, прославившийся как самый юный биржевой мошенник, за полгода заработавший $800 000 с помощью своего сайта stock-dogs.

Читать далее

Ускорение сборки C и C++ проектов

Reading time13 min
Views44K
Многие программисты не понаслышке знают о том, что программа на языке C и C++ собирается очень долго. Кто-то решает эту проблему, сражаясь на мечах во время сборки, кто-то — походом на кухню «выпить кофе». Это статья для тех, кому это надоело, и он решил, что пора что-то предпринять. В этой статье разобраны различные способы ускорения сборки проекта, а также лечение болезни «поправил один заголовочный файл — пересобралась половина проекта».

Picture 1
Читать дальше →

Тяжелый H[header]

Level of difficultyEasy
Reading time16 min
Views11K

Всегда хотел написать о чем-нибудь легком и воздушном, как пишет например @antoshkkaпро userver или о том, как легко и непринужденно обернуть какую-нибудь хрень алгоритм в десяток шаблонов, полить это все std::optional и попивая кофе ждать, когда компилятор соизволит это всё пережевать. Но судьба (а не тимлид, нет, как вы могли такое подумать) постоянно подкидывает задачки, где суровые объятия отладчика не отпускают мечтательную душу программера до поздней ночи, да вечная борьба с компилятором рушит все попытки обернуть результат хрени алгоритма в другой десяток шаблонов. На этот раз судьба ясным июньским утром подкинула забавную задачу - время полной сборки бандла подбиралось к двум часам, да собирать бандлы нынче удовольствие не из быстрых, но посмотрев статистику стало понятно, что ~55% процентов времени тратится на сборку ресурсов: текстур, моделей, локализацию, и тд. Там есть что чинить, но это царство билд-инженеров. Еще 30% или сорок минут тратится на тесты, теперь все что мы насобирали и переконвертили надо проверить, загрузить, пострелять, побегать, монстров поубивать, BT-шки погонять, с этим пусть QA разбираются. А вот оставшиеся 15% или около 15 минут мы занимались настоящей работой, собирали сердце проекта - бинарь. Да норм, у нас всегда так, даже на пустом проекте UE - сказали наши мобильщики и ушли пить кофе на терассу . Но мы же не мобильщики, мы серьезные AAA ребята, у нас свой движок и кастомный пайплайн на билдферме. И потом 15 минут это очень много, даже если у тебя 27к файлов в проекте, айда смотреть куда время потратили.

Убить немного времени

Почему программное обеспечение движется только вперёд

Level of difficultyEasy
Reading time6 min
Views8.8K

В случае масштабных систем не происходит ни откатов, ни запланированных переходов (cut-over) — ваше ПО движется только вперёд.

Примечание: это электронное письмо, взятое из книги, которую я пишу последние три недели. В ней я отражаю сложную идею, которую вынашивал 10 лет. Я постарался сократить его содержание для удобства восприятия и хотел бы услышать ваши мысли по этому поводу.
Читать дальше →

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity