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

Компания VDSina.ru временно не ведёт блог на Хабре

Сначала показывать

Опенсорсные альтернативы Google Analytics на своём хостинге

Время на прочтение5 мин
Количество просмотров25K

Веб-интерфейс опенсорсного сервиса аналитики Matomo

Дегуглификация онлайновой жизни требует внедрения свободных альтернатив во всех областях. Защитники приватности ведут списки таких продуктов по категориям.

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

К счастью, есть ряд свободных, опенсорсных альтернатив Google Analytics, которые к тому же работают быстрее, поскольку скрипты меньше по размеру и загружаются с вашего собственного хостинга, а не со стороннего сервера. Информация о пользователях никуда не отправляется, а многие сервисы не используют куки и соответствуют законодательству GDPR о защите личных данных.
Читать дальше →

Картинка, которая одновременно является кодом на Javascript

Время на прочтение6 мин
Количество просмотров63K

Изображения обычно хранятся как двоичные файлы, а файл Javascript по сути является обычным текстом. Оба типа файлов должны следовать собственным правилам: изображения имеют конкретный формат файла, определённым образом кодирующий данные. Для того, чтобы файлы Javascript можно было исполнять, они должны следовать определённому синтаксису. Я задался вопросом: можно ли создать файл изображения, одновременно являющийся допустимым синтаксисом Javascript, чтобы его можно было исполнять?

Прежде чем вы продолжите чтение, крайне рекомендую изучить эту песочницу кода с результатами моих экспериментов:

https://codesandbox.io/s/executable-gif-8yq0j?file=/index.html

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

https://executable-gif.glitch.me/image.gif
Читать дальше →

Google продвигает новый стандарт WebBundles — потенциально опасную для веба технологию «упаковки» веб-сайтов

Время на прочтение5 мин
Количество просмотров49K
В общем потоке новостей остался незамеченным совместный призыв продукт-менеджера Chrome Кенджи Бахе и веб-консультанта Google Юсуке Уцуномии об использовании нового стандарта Web Bundles, разработанного Google. На chromium.googlesource появился соответствующий мануал по использованию WebBundles и, собственно, особо о нем больше не говорилось. Запись от лица Базе и Уцуномии была опубликована еще в ноябре 2019 года, но вызвала реакцию сообщества только сейчас, и то, исключительно на нескольких профильных площадках и в одном блоге, посвященном кибербезопасности.



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

Консоли против ПК. Бесконечная война?

Время на прочтение5 мин
Количество просмотров21K


Приветствую вас, хабровчане! Вот и пятница подкралась незаметно. Сегодня пойдёт речь о давней и непрекращающейся войне ПКшников с консольщиками. Этому противостоянию нет равных. Битвы внутри консольного рынка не идут ни в какое сравнение с баталиями ПК vs консоли. Так же, как и батлы ПКшников между собой: какая «видяха» лучше и у кого сколько fps.

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

Естественно, статья будет миксом моего личного опыта и мнения извне.
Читать дальше →

Как игры стали движущей силой двух школ исследований ИИ

Время на прочтение15 мин
Количество просмотров5.8K
Сегодня мир штурмом захватывает ИИ, основанный на глубоком обучении и нейронных сетях. Однако многие алгоритмы, управляющие поиском в вебе и построением автомобильных маршрутов, гораздо старше, они уходят корнями в так называемый «старый добрый ИИ», также известный как «символический» искусственный интеллект, являвшийся основным видом ИИ с 1950-х до конца 1990-х. Затмевание символического ИИ глубинным обучением иллюстрируется двумя важнейшими вехами в истории искусственного интеллекта, каждая из которых связана с победой ИИ-системы над лучшим игроком-человеком.


Чемпион мира Гарри Каспаров победил компьютер IBM Deep Blue в 1996 году, но потерпел поражение в 1997 году, проиграв со счётом 4:2.

Некоторые аспекты управления VDS-сервером под Linux

Время на прочтение9 мин
Количество просмотров15K
VDS (Virtual Dedicated Server) — услуга, в рамках которой пользователь получает виртуальный выделенный сервер с максимальными привилегиями. Это эмуляция реального физического сервера, у него есть рутовый доступ, возможность установки произвольных операционных систем и любого софта. При этом он обходится значительно дешевле аренды сопоставимого по мощности физического сервера.

На сервер можно поставить ОС со своего образа или воспользоваться готовым образом в панели управления.



Предположим, мы поставили Debian 10 и веб-сервер Nginx, который идёт в стандартном репозитории (apt install nginx). Давайте посмотрим, какие полезные утилиты и команды помогут в управлении сервером под Linux. Рассмотрим и отдельно Nginx, и сам VDS-сервер в целом.
Читать дальше →

Визуализация данных при отладке в Visual Studio Code

Время на прочтение2 мин
Количество просмотров17K


Вообще Debugger Visualizers для обычного Visual Studio — это очень старая тема (статья 2009 года), но не очень популярная. В большинстве случаев принято учить сразу дебажить, представляя процессы в голове, а штуки вроде сортировок и списков показываются на доске. В вебе часто визуальную часть предоставляет браузер, и все всем довольны. Но бывает, что списки или деревья в голове уже не умещаются, таблицы хочется отсортировать, а графики строить не выходя из среды отладки. Для всего этого и был создан плагин для VS Code — Debug Visualizer.
Читать дальше →

Как использовать простую утилиту для поиска уязвимостей в программном коде

Время на прочтение4 мин
Количество просмотров9.3K
Graudit поддерживает множество языков программирования и позволяет интегрировать тестирование безопасности кодовой базы непосредственно в процесс разработки.


Источник: Unsplash (Markus Spiske)

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

Очевидно, что в современных реалиях разработки программного обеспечения важно обеспечить безопасность процессов. В своё время был даже введён специальный термин DevSecOps. Под этим термином понимают ряд процедур, направленных на выявление и устранение уязвимостей в приложении. Существуют специализированные open source решения для проверки уязвимостей в соответствии со стандартами OWASP, которые описывают различные типы и поведение уязвимостей в исходном коде.
Читать дальше →

Мы тратим годы на то, что делается неделю — потому что все ларьки заигрались в IT-гигантов

Время на прочтение5 мин
Количество просмотров128K


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

Если бы меня кто-то спросил, за сколько можно сделать такое приложение в одиночку — я бы сказал: «два месяца на разработку, один на тестирование». Но нас было много, поэтому мы работали больше двух лет.
Читать дальше →

Одна из функций Chromium создаёт огромную нагрузку на корневые DNS-серверы

Время на прочтение6 мин
Количество просмотров18K


Браузер Chromium, активно развивающийся open-source-родитель Google Chrome и нового Microsoft Edge, обратил на себя серьёзное негативное внимание из-за функции, которая задумывалась с благими намерениями: она проверяет, не «похищает» ли провайдер пользователя несуществующие результаты запросов доменов.

Intranet Redirect Detector, создающий поддельные запросы случайных «доменов», существование которых статистически маловероятно, ответственен примерно за половину общего трафика, получаемого корневыми DNS-серверами по всему миру. Инженер Verisign Мэтт Томас написал пространный пост в блоге APNIC с описанием проблемы и оценкой её масштаба.
Читать дальше →

Кто в доме хозяин: ПК, ноутбук, смартфон или… планшет?

Время на прочтение5 мин
Количество просмотров19K


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

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

Как всегда, личный опыт, приправленный наблюдениями и социальными привычками. Устраивайтесь поудобнее, поехали.
Читать дальше →

Оригинальный способ генерации мастер-пароля: используй специальный набор костей

Время на прочтение5 мин
Количество просмотров13K
Каждый раз, когда речь заходит о криптостойком мастер-пароле, на ум приходит стандартные генераторы, встроенные в тот же 1password, KeePass или любой другой менеджер паролей по вкусу. Сначала ты его генерируешь, потом учишь как «Отче Наш», а потом уже на самом деле молишься о том, чтобы не забыть его. Но у любого софта, который генерирует случайные стойкие пароли, есть уязвимые точки.

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



Этого человека зовут Стюарт Шехтер, он ученый-информатик из Калифорнийского университета в Беркли. Вопреки все усложняющимся алгоритмам и привлечению все новых и новых методов генерации шифров и паролей, Шехтер предложил крайне элегантный в своей простоте способ генерации базы символов для последующего создания мастер-пароля. Ученый создал набор из 25 шестигранных костей, на грани каждой есть пара из случайной цифры и буквы латинского алфавита. Назвал он свое творение также просто, как выглядит и сама идея, — «DiceKeys».

Как защитить Python-приложения от внедрения вредоносных скриптов

Время на прочтение7 мин
Количество просмотров8K


Python-приложения используют множество скриптов. Этим и пользуются злоумышленники, чтобы подложить нам «свинью» — туда, где мы меньше всего ожидаем её увидеть.

Одним из достоинств Python считается простота использования: чтобы запустить скрипт, нужно просто сохранить его в .py-файле и выполнить команду python с этим файлом (например, python my_file.py). Так же легко разбить наш файл, например, на модули my_app.py и my_lib.py и далее для подключения модулей использовать конструкцию import...from: import my_lib from my_app.py.

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

Отечественный хостинг-провайдер предлагает тарифы с частотой ядра до 5,3 GHz. И это полная бессмыслица

Время на прочтение4 мин
Количество просмотров11K


По всей видимости, ребята, которые в пятом-шестом классе мерялись, у кого на процессоре выше частота, теперь выросли и стали маркетологами в хостинг-провайдерах: это первый на нашей памяти случай, когда хостинг предлагает тарифы с тактовой частотой 5 GHz, а «максимальное» предложение и вовсе манит потребителя цифрой в 5,3 GHz.

И первое впечатление сразу где-то на уровне: «ого». Однако частота серверного процессора выше привычных нам 2,8-3,6(4,0) GHz сейчас не имеет никакого смысла, это очевидно для большинства специалистов. Но давайте разбираться по порядку, почему неизвестный маркетолог уверенно ездит на наших с вами травмах юности.

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

Ближайшие события

Нам надо создать веб с чистого листа

Время на прочтение11 мин
Количество просмотров27K
image


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

Этот кризис влияет на платформы, творцов и потребителей.
Читать дальше →

Мониторинг сервера — бесплатно или за деньги? Утилиты Linux и специализированные сервисы

Время на прочтение10 мин
Количество просмотров39K


Есть много полезных инструментов, которые помогают отслеживать нагрузку на сервер, начиная с утилит Linux и заканчивая специализированными службами.

Простые утилиты Linux показывают текущее потребление памяти для каждого процесса, нагрузку на CPU, свободное место на диске и статистику по трафику.

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

Не прыгайте выше головы — останетесь тупицей в плену больших денег

Время на прочтение5 мин
Количество просмотров55K


В C# есть такие штуки — структуры. Это как классы, но хранятся на стеке, и работают не по ссылке, а по значению. В среднестатистической разработке их почти не используют. У структур много преимуществ, и я искренне топил за то, что их можно применять для улучшения кода. Типа, смотрите, мы можем использовать особенности структур, чтобы писать более безопасный и отказоустойчивый код.

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

Airport — маркетплейс для приложений в TestFlight

Время на прочтение3 мин
Количество просмотров14K


У пользователей iOS сейчас непростые времена: App Store теряет крупные приложения и блокирует успешные стартапы, многие компании обвиняют Apple в монополизме, а Epic Games вообще в открытую нарушает ToS. В этой ситуации всё больше разработчиков и юзеров начинает пользоваться TestFlight — официальной платформой Apple для тестирования приложений под iOS.
Читать дальше →

Что случилось с фотостоками? Старожилы вытеснили новичков? Точка входа

Время на прочтение4 мин
Количество просмотров24K


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

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

Пора переходить в красный лагерь: выбираем лучший AMD EPYC для сервера

Время на прочтение9 мин
Количество просмотров23K
Сложно поверить, но последний серьезный успех AMD на рынке серверных микропроцессоров датирован далеким 2004 годом. Более 15 лет назад компания представила 64-битные Opteron, которые удачно конкурировали с интеловскими Xeon на ядрах Gallatin, обеспечивая требуемую производительность при умеренном на то время тепловом пакете. Дальнейшие годы прошли в полной доминации «синих», а отсутствие прямого конкурента позволило им занять лидирующие места в большинстве сегментов рынка. Но с выходом линеек Ryzen (для настольных ПК) и EPYC (для серверных станций) AMD не просто наверстывает упущенное, а всерьёз претендует на звание единоличного короля. Какие сильные стороны «красных» камней и что взять для создания недорогой и производительной серверной станции? Об этом и не только расскажем далее.


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