Search
Write a publication
Pull to refresh
27
0.1
Григорьев Андрей @Pochemuk

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

Send message

Вы не знаете как должны работать модальные окна

Reading time10 min
Views28K

Уверен, многие хоть раз создавали всплывающее модальное окно. Но задумывались ли вы об определении этого компонента? Как он должен работать?


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


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


Этот список сформирован на основе спецификаций WAI-ARIA, HTML Living Standard и моего личного опыта. И хотя я буду говорить про веб, большинство правил и рекомендаций применимы для модальных окон где угодно.

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

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

Reading time70 min
Views390K
В продолжение моего поста про вычислимую Вселенную я хочу представить вам свой перевод статьи Стивена Вольфрама, созданной в рамках его проекта The Wolfram Physics Project.


Неожиданное открытие


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

Чесночно-луковый хостинг: как поднять веб-ресурс, чтобы не отобрали домен

Reading time6 min
Views26K


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

Глобальный DNS — прекрасная вещь, пережившая не одно десятилетие. Но у него есть фундаментальная проблема — ваш домен могут просто разделегировать, если вдруг решат, что вы что-то нарушили. Ну или у кого-то с деньгами и связями будет на вас зуб. Историю того же torrents.ru все помнят. Если по каким-то причинам вы хотите убрать подобные риски — можно посмотреть в сторону оверлейных сетей, у которых просто нет регулятора, способного разделегировать доменное имя. Поэтому будем поднимать onion- и i2p-веб-ресурсы.
Читать дальше →

Как я писал кодогенератор на PHP и что из этого получилось

Reading time11 min
Views5.7K

Причины и проблемы, которые нужно было решить


В этой статье я вам расскажу о том как я писал кодогенератор на php. Расскажу о пути, который он прошел от генерации простых таблиц, до довольно полноценного генератора html и css кода. Приведу примеры его использования и покажу уже сделанные проекты.


В этом семестре на одном из предметов можно было использовать только PHP.


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


Написать надо было много, но это не проблема. Основная проблема заключалась в выводе HTML кода через PHP. Я постараюсь объяснить проблему ниже.

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

Список известных SMR дисков

Reading time7 min
Views127K
Англоязычный оригинал опубликован в форуме ixsystems и вряд ли широко известен всем, кто может столкнуться с проблемой. Хотя оригинал датирован 16 апреля 2020, он ссылается в том числе на более поздние публикации, то есть обновлялся.

Жесткие диски, которые записывают данные в перекрывающихся,
Читать дальше →

Как работает атака TCP Reset

Reading time15 min
Views34K
Атака TCP reset выполняется при помощи одного пакета данных размером не более нескольких байт. Подменённый спуфингом TCP-сегмент, созданный и переданный атакующим, хитростью заставляет двух жертв завершить TCP-соединение, прервав между ними связь, которая могла быть критически важной.


Эта атака имела последствия и в реальном мире. Опасения её использования вызвали внесение изменений в сам протокол TCP. Считается, что атака является важнейшим компонентом Великого китайского файрвола («Золотого щита»), который используется китайским правительством для цензурирования Интернета за пределами Китая. Несмотря на её впечатляющую биографию, для понимания механизмов этой атаки необязательно обладать глубокими знаниями работы TCP. Разумеется, понимание её тонкостей способно многому научить вас об особенностях реализации протокола TCP, и, как мы вскоре убедимся, вы даже сможете провести эту атаку против себя при помощи одного только ноутбука.

В этом посте мы:

  • Изучим основы протокола TCP
  • Узнаем, как работает атака
  • Проведём атаку против себя при помощи простого скрипта на Python.

Прежде чем приступать к анализу механики атаки, давайте сначала посмотрим, как она используется в реальном мире.
Читать дальше →

Опасно ли держать открытым RDP в Интернете?

Reading time7 min
Views74K

Нередко я читал мнение, что держать RDP (Remote Desktop Protocol) порт открытым в Интернет — это весьма небезопасно, и делать так не надо. А надо доступ к RDP давать или через VPN, или только с определённых "белых" IP адресов.


Я администрирую несколько Windows Server для небольших фирм, в которых мне поставили задачу обеспечить удалённый доступ к Windows Server для бухгалтеров. Такой вот современный тренд — работа из дома. Достаточно быстро я понял, что мучить бухгалтеров VPN — неблагодарное занятие, а собрать все IP для белого списка не получится, потому что IP адреса у народа — динамические.


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


В этой статье я поделюсь опытом (положительным и не очень) и рекомендациями.

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

Информация о компьютере: просто и быстро

Reading time5 min
Views58K


Довольно часто нужно быстро, кратко, но информативно получить информацию о стационарном компьютере или ноутбуке, без дополнительного ПО и не «вскрывая крышку».

Это можно реализовать, например, средствами командной строки ОС Windows или PowerShell.
CMD — проверенный временем функционал, который есть в любой версии Windows.
Кроме того, для простых задач администрирования cmd использовать привычнее, а где-то и удобнее.

Что лучше — CMD или PowerShell? Я не готов однозначно ответить на этот вопрос.
Впрочем, ничто не мешает нам пользоваться и тем и другим, все зависит от поставленной задачи.

Мы не будем собирать всю информацию о ПК — для этого существует множество специализированного ПО!

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

Когда пандемия пойдёт на спад? Оцениваем на Python с помощью Pandas

Reading time10 min
Views85K
image
Всем привет.

Видел несколько дашбордов по COVID-19, но не нашёл пока главного — прогноза времени спада эпидемии. Поэтому написал небольшой скрипт на Python. Он забирает данные из таблиц ВОЗ на Github'е, раскладывает по странам, строит линии тренда. И по ним делает прогнозы — когда в каждой стране из ТОП 20 по количеству заболевших COVID-19 можно ожидать спада заражений. Признаюсь, я не являюсь специалистом в области эпидемиологии. Приведённые ниже расчёты основываются на общедоступных данных и здравом смысле. Все подробности — под cut'ом.

Update от 10.04.2020 — обновлена основная таблица и графики.

Update от 29.04.2020 — Сейчас стало очевидным, что кривые дневного числа заражений сильно отличаются у различных стран. И, похоже, сильно зависят от масштабов заражения. Идеальная кривая в виде колокола по образцу Южной Кореи — скорее исключение из правил. Более распространена форма с резким нарастанием до пика и последующим более растянутым во времени снижением. Поэтому в реальности спад заболеваемости продлится дольше того, который был предсказан данной моделью в начале апреля.

Update от 24.07.2020 — Картина стран с максимальным числом заражений кардинально изменилась с апреля. Теперь преобладают формы с резким нарастанием и крайне медленным спадом после пика. Делать выводы относительно времени спада числа заражений только на основе дневных графиков невозможно.

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

В рамках импортозамещения Москва закупает ПО Microsoft на 90 млн рублей

Reading time4 min
Views79K


Прочитал сегодня на Cnews забавную заметку — разработчики российского софта пожаловались на закупку Департаментом Информационных Технологий г. Москвы решений Microsoft аж на 90 млн рублей. Мне как админу это событие интересно не столько суммой контракта или жалобой, сколько своей механикой — как они это делают? Нам, простым людям в регионах, администрация руки выкручивает — а в Москве, пожалуйста — берите Microsoft и это типа нормально. Поэтому, я заморочился и пошел искать закупку. Найденное обоснование меня настолько удивило, что я призываю хабросообщество ответить на вопрос — а что, так можно было?
Читать дальше →

Про удаленку, незащищенный RDP и рост числа серверов, доступных из интернета

Reading time3 min
Views26K
Из-за спешного массового перехода компаний на удаленную работу стремительно растет число корпоративных серверов, доступных для злоумышленников из интернета. Одна из главных причин – применение незащищенного протокола удаленного доступа RDP (Remote Desktop Protocol). По нашим данным, всего за одну неделю только в России количество устройств, доступных из интернета по протоколу RDP, выросло на 15%.

image
Читать дальше →

Фракталы в песках, или Больше трёх не собираться

Reading time9 min
Views11K
Мы поговорим о модели песчаной кучи. Песок (не настоящий, модельный), пересыпаясь, создаёт вот такие картинки:



Песчаные кучи можно складывать (это легко, если вы привыкли складывать всякие штуки) и вычитать (а вот это уже нетривиально).

А ещё можно использовать эту штуку в качестве Hello world вместо игры «Жизнь».
Читать дальше →

COVID-19: прогнозируем число больных коронавирусом

Reading time7 min
Views12K
Коронавирус окончательно захватил весь мир — и выражается это не в том, что им успел переболеть каждый житель планеты. На данный момент эта тема является главной и единственной — как в мировых, так и в российских новостях. В этой статье мы постараемся максимально абстрагироваться от политики и рассуждений о том, запустили ли вирус китайские военные, или же Дональд Трамп. Вместо этого мы посмотрим на проблему с математической точки зрения — а именно, выясним, как можно описать эпидемию одним уравнением, а в конце статьи предскажем итоговое число зараженных COVID-19 — в том числе в России.


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

Выбор кабеля для структурированной кабельной системы

Reading time8 min
Views40K


В статье «Технология PoE в вопросах и ответах» мы рассказали о новых коммутаторах Zyxel, предназначенных для построения систем видеонаблюдения и других сегментов ИТ инфраструктуры с применением питания через PoE.


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

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

Julia и клеточные автоматы

Reading time8 min
Views14K


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

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

Zip-файлы: история, объяснение и реализация

Reading time76 min
Views105K


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

В статье очень подробно объясняется, как работают Zip-файлы и схема сжатия: LZ77-сжатие, алгоритм Хаффмана, алгоритм Deflate и прочее. Вы узнаете историю развития технологии и посмотрите довольно эффективные примеры реализации, написанные с нуля на С. Исходный код лежит тут: hwzip-1.0.zip.
Читать дальше →

PHP: array_key_exists ищет быстрее чем in_array в 500 раз

Reading time3 min
Views14K
В 2014 уже писали про обыск массива, но вряд ли кто понял.

C тех пор вышло много версий PHP и не исправили значит обратная связь плохая и об этом мало кто знает. На питоне так же, и в 3* хуже чем в 2.7.

Иногда нужно найти строку в массиве строк — очень частая операция в разных алгоритмах и если массив небольшой и искать немного и не в цикле, то in_array нормально, на общую скорость не влияет, но если big data и искать надо массиве из миллиарда строк и миллиард раз, то это уже критично: лучше час вместо недели.

Простой тест показывает:

in_array ищет за 6-9 сек ideone.com/Yb1mDa 6600ms
а array_key_exists ищет тоже самое, но быстрее в 250(php5.6/py3.*) в 400+ раз (php7.3/py2.7) ideone.com/gwSmFc (цикл увеличен в 100 раз) 12ms (6600/12=550раз +-10% разброс из-за нагрузки и кеша)

Почему же такое происходит? Рассмотрим подробно:
Читать дальше →

Бесплатный прокси-сервер для предприятия с доменной аутентификацией

Reading time6 min
Views66K


pfSense+Squid с фильтрацией https + Технология единого входа (SSO) с фильтрацией по группам Active Directory

Краткая предыстория


На предприятии возникла необходимость во внедрении прокси-сервера с возможностью фильтрации доступа к сайтам(в том числе https) по группам из AD, чтобы пользователи не вводили никаких дополнительных паролей, а администрировать можно было с веб интерфейса. Неплохая заявочка, не правда ли?

Правильным вариантом ответа было бы купить такие решения как Kerio Control или UserGate, но как всегда денег нет, а потребность есть.

Тут то к нам и приходит на выручку старый добрый Squid, но опять же — где взять веб интерфейс? SAMS2? Морально устарел. Тут то и приходит на выручку pfSense.

Описание


В данной статье будет описан способ настройки прокси-сервера Squid.
Для авторизации пользователей будет использоваться Kerberos.
Для фильтрации по доменным группам будет использоваться SquidGuard.

Для мониторинга будет использован Lightsquid, sqstat и внутренние системы мониторинга pfSense.
Также будет решена частая проблема, связанная с внедрением технологии единого входа (SSO), а именно приложения, пытающиеся ходить в интернет под учеткой компа\своей системной учеткой.
Читать дальше →

Полунаучное руководство по размещению WiFi-роутера

Reading time15 min
Views44K

WiFi – как недвижимость; три главных фактора, влияющих на его качество – это местоположение, местоположение и местоположение



С верхним этажом нашего испытательного дома проблем почти нет – хотя, как и многие дома, он страдает от ужасного расположения роутера, далёкого от его центра

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

Эти правила применимы, если речь идёт об одном WiFi-роутере, о меш-наборе типа Eero, Plume или Orbi, или точках доступа с поддержкой Ethernet backhaul вроде UAP-AC от Ubiquiti или EAP от TP-Link. К сожалению, эти правила больше похожи на рекомендации, поскольку с таким количеством переменных невозможно просчитать всё точно, сидя в кресле в тысячах километров от вашего дома. Но если вы ознакомитесь с этими правилами, вы, по меньшей мере, будете чуть лучше разбираться в практических аспектах того, чего можно ожидать – а чего нельзя – от вашего WiFi-оборудования и в том, как выжать из него максимум.
Читать дальше →

Убийца VPN. Правильный удалённый доступ к боевым серверам

Reading time7 min
Views35K
Мнение, высказанное в этой статье, является личным мнением автора. Он подчёркивает, что оно может не совпадать с мнением его работодателя, начальства и отдела безопасности.

Одна из самых крутых штук в нашей компании в плане инфраструктуры — это то, как мы реализуем удалённый доступ. Это просто супер-мега-защищённая магия. Я поговорил со многими моими коллегами-безопасниками и аудиторами, и, похоже, мы случайно изобрели совершенно новую историю, смешав коммерческие решения и свой софт. И вот, я подумал, будет интересно глубоко погрузиться в технические детали того как в индустрии работают с устаревшими решениями удалённого доступа и как это реализуем мы.
Читать дальше →

Information

Rating
5,328-th
Location
Коломна, Москва и Московская обл., Россия
Date of birth
Registered
Activity