Search
Write a publication
Pull to refresh
2
0
Send message

Есть ли польза от GoF-паттернов?

Level of difficultyEasy
Reading time5 min
Views12K

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

Читать далее

Увлекательная криптография. Часть 1

Level of difficultyMedium
Reading time7 min
Views7.1K

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

Сегодня я хочу рассказать о первой из трёх задач из категории Crypto с прошлогоднего CTF HTB «Cyber Apocalypse». Задачи на криптографию моя отдельная любовь, поскольку позволяют нетрадиционно взглянуть как на привычные криптографические алгоритмы, так и на неудачные попытки их использования. Особенно интересно искать уязвимость в самописных алгоритмах. Последнее наиболее опасно в реальной жизни, поскольку некоторые разработчики уверены, что уж они то смогут как минимум правильно реализовать известный алгоритм, а не тянуть за собой OpenSSL. Некоторые даже стараются написать свой собственный алгоритм и тем самым обеспечить надежную защиту данных! Множество CTF задач разной сложности обычно позволяют быстро развенчать этот миф :-)

Читать далее

Кластер ElasticSearch на 1Ptb+

Level of difficultyHard
Reading time9 min
Views8.5K

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

На проекте в моем ведении находилось несколько on-premise кластеров в нескольких европейских датацентрах. «Мы» в этой статье — небольшая команда DataOps из 5 человек.

Было дело я читал на Хабре статью про «Кластер Elasticsearch на 200 ТБ+» и примерял написанное к нам, у нас такой кластер считался средним, самый маленький кластер под 0,1Ptb, а большой тогда был под 0,5Ptb. Потом была поставлена задача подготовить кластер к увеличению объемов входящих данных в 2-3 раза, а срок хранения в 2 раза, т. е. объем хранимых данных, если грубо экстраполировать, должен был стать в районе 2-3Ptb.

Хочу поделиться нашим опытом, может кому пригодиться.

Читать далее

Chrome Headless против cloudflare JS challenge

Level of difficultyMedium
Reading time41 min
Views28K

Автоматизация сбора информации с различных ресурсов - обычная задача для людей разных сфер деятельности. Жаль, что не всегда бывает достаточно сделать простой GET запрос и разобрать полученный html. Веб-сайты, с которых собираются данные, принимают защитные меры для предотвращения автоматизированных запросов. Одной из таких мер является использование cloudflare. Сегодня мы посмотрим, как cloudflare выявляет ботов через javascript и коснёмся темы деобфускации скриптов.

Читать далее

Самый простой пример CI/CD

Level of difficultyMedium
Reading time7 min
Views24K

Однажды подслушано:

— А… А что мы сейчас делаем?

— Деплой приложения.

— А что такое деплой?

— Деплой… Ну это деплой, что тут не понятного?

Читать далее

NGINX подготовил бинарники для предварительной версии реализации QUIC+HTTP/3

Level of difficultyMedium
Reading time5 min
Views7.3K

NGINX подготовил бинарники для предварительной версии реализации QUIC+HTTP/3: "Мы рады сообщить, что наша предварительная реализация поддержки NGINX для QUIC+HTTP/3 теперь доступна в виде предварительно собранных бинарных пакетов для двух дистрибутивов: Red Hat Enterprise Linux 9 и Ubuntu 22.04"

Подробности под катом.

Читать далее

[Business English] Ляпы на сайтах и в продуктах крупных компаний

Reading time3 min
Views3K

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

В этом посте я разберу конкретные примеры. Думаю, некоторые из них вас удивят.

***

Хуже всего, когда в корпоративных текстах встречаются грамматические ошибки — неправильное употребление времен, некорректное склонение по числу/роду и т. п.

Взгляните на этот скриншот из Zoom:

Читать далее

Бухучёт для программистов

Level of difficultyMedium
Reading time11 min
Views8.9K

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

Я полагаю, что, к сожалению, большинство бухгалтеров совсем не умеют понятно рассказывать о том, чем они занимаются, объяснять это другим людям. Бухучёт — это область, полная жаргона, акронимов, странных терминов, пришедших из глубины веков. Да у меня даже от книги «Бухучёт для чайников» кружится голова. А на самом деле, наверняка, всё это не может быть таким уж сложным.

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

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

Читать далее

Как передать потомкам исполняемый код? Задача сложнее, чем кажется

Level of difficultyEasy
Reading time5 min
Views11K
Стена в Мачу-Пикчу, древнем городе инков

Вы читали берестяные грамоты жителей Новгорода 11 века? Жёны писали записки мужьям типа «Не забудь в дорогу бутерброды, когда поедешь в Киев», девушки слали любовные записки, мужчины вели учёт долгов перед соседями. Но мы даже близко не можем представить, как жила эта богатая культура до завоевания Москвой.

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

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

Что же делать?
Читать дальше →

Как купить домен и использовать доменное имя для размещения сайта или своих сервисов через NGINX

Level of difficultyMedium
Reading time23 min
Views74K

Этот небольшой гайд для тех, кто давно хотел сделать свой сайт на своем домене и разместить на своем сервере, но все никак.

С чем будем работать далее: 

Узнаем, что такое доменное имя и как оно связано с DNS.

Зарегистрируем свой домен и узнаем, что это быстро, легко и может стоить 199 рублей за первый год.

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

Развернем виртуальную машину, на которой будет работать сайт. (аналогичные действия можно проделать и на каком‑нибудь специально выделенном для этого физическом железе или VPS).

Развернем http‑сервер NGINX.

Настроим конфигурацию для размещения сайта и проверим, что сайт‑лендинг открывается.

Узнаем, как прикрутить ssl сертификаты и https.

Если используются какие‑то другие сервисы, например, nodered, узнаем, как использовать купленный домен в своих сервисах в варианте, например, nodered.mydomainhere.ru и т.д., вместо 77.88.111.222:1880 или mydomainhere.ru:1880 (т. е. поработаем с доменами третьего уровня).

Получим бесплатные Wildcard SSL сертификаты от Lets Encrypt при помощи утилиты Cerbot, и настроим их для использования в NGINX.

Тех, кому интересно, приглашаю далее.

Читать далее

Матч Postgres vs Redis — как выбрать правильный инструмент для разных задач

Level of difficultyMedium
Reading time6 min
Views11K
image

PostgreSQL и Redis — распространенные СУБД, которые «обросли» аудиторией. Их популярность варьируется от задачи к задаче, а сами они имеют свои сильные и слабые стороны.

Нашим клиентам бесплатно на тест доступны PostgreSQL и Redis по модели DBaaS, поэтому мы решили подробнее рассмотреть эти инструменты с точки зрения надежности, производительности и простоты настройки, а также обсудить тематические кейсы.

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

Каббалистическая вычислительная машина Dataghost 2

Level of difficultyEasy
Reading time3 min
Views4.1K

Французский коллектив RYBN изучил каббалистическую нумерологическую систему преобразований, ассоциаций и замен, создав удивительное устройство. Их установка Dataghost 2, представленная на выставке Artefact в Париже, представляет собой вычислительную машину, которая стремится выявить скрытые сообщения, скрытые в потоке сетевых данных.

Читать далее

Cicada 3301: кого и куда должны были отобрать загадки таинственной «Цикады»? Часть 2

Level of difficultyEasy
Reading time14 min
Views60K

В первой части рассказа о том, как команда энтузиастов пыталась распутать загадки и шифры таинственной «Цикады 3301», мы дошли до момента, когда общедоступные послания 2012 года закончились. Маркус, Текк и немногие другие из тех, кто добрался до получения персонального письма с личными инструкциями, рассказали кое-что — но знаем о дальнейшем мы в основном с их слов.

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

Конвертация MIDI-времени в такты и доли

Level of difficultyEasy
Reading time12 min
Views3.2K

Представьте: вы создаёте новый шедевр в любимой DAW, вставляете в проект MIDI-файл, редактор показывает, что ноты в нём имеют восьмую длительность. Не обращая на это внимания, вы продолжаете творить. Но, постойте. А как DAW, собственно, понимает, что ноты в файле восьмые?

В статье попробуем разобраться, как времена в MIDI-файле соотносятся с главным форматом времени при работе с музыкой – тактами и долями. Результатом наших исследований будет законченный алгоритм на C#.

Читать далее

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

Reading time7 min
Views33K

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

Читать далее

А вы давно заглядывали внутрь ваших зависимостей?

Level of difficultyHard
Reading time8 min
Views18K

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

Последние истории с node‑ipc и CTX заставили задуматься о том, что лежит внутри этих репозиториев. Оказалось, не только легитимный код. Там есть и попытки заработать без особых усилий, просто собирая информацию, и даже полноценные стиллеры. Причем негативных изменений стало больше после известных событий.

За подробностями о сканировании пакетов npm и PyPI добро пожаловать под кат.

Читать далее

Не надо ждать когда bing запустит chatGPT — уже есть ИИ, который отвечает исходя из результатов поиска

Level of difficultyEasy
Reading time1 min
Views7.6K

И кстати, он даже не требует регистрации.

Как можно заметить, сейчас системы а-ля chatGPT начали расти как грибы после дождя. И мне попался такой сайт как perplexity.ai

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

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

Читать далее

RISC-V ноутбуков становится больше: open-source девайс Balthazar. Просто апгрейдить и легко чинить

Reading time4 min
Views11K


Во всяком случае, так говорят авторы проекта. Девайс, по задумке команды, должен быть полностью открытым, как в плане ПО, так и аппаратного обеспечения. Кроме того, само устройство и запчасти к нему будут недорогими (во всяком случае, это тоже обещают авторы проекта).

Ну а цель, которую стоит перед командой — предоставить пользователю возможность самостоятельно контролировать работу своего девайса. А также — настраивать функции, дополнять и апгрейдить отдельные модули устройства. В целом, это в значительной степени похоже на идею Framework-ноутбука. Но здесь еще и открытая архитектура процессора, так что весь девайс — open-source на все 100%. Больше подробностей — под катом.
Читать дальше →

Инфантильность как стратегия: когда она мешает жить, а когда помогает

Level of difficultyEasy
Reading time7 min
Views40K

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

Читать далее

Что означают околосмертные переживания, и почему они нас завораживают?

Reading time9 min
Views9.7K

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

"Есть физиологические гипотезы, которые теоретически кажутся правдоподобными, - говорит он, - но ни одна из них не прижилась. Выделяются ли в организме в момент опасности химические вещества, повышающие настроение, такие как эндорфины, вызывающие эйфорию? Испытывает ли мозг кислородное голодание, вызывая реальные фантазии? Начинают ли различные участки мозга внезапно работать согласованно, создавая странные, измененные состояния? Никто не знает наверняка. "Мы продолжаем думать: "О, это должно быть именно это", - говорит Грейсон. "Нет, данные этого не показывают. "Значит, это? Ну, нет, данные не показывают и этого".

Хостинг в России

А что будет после...

Information

Rating
6,309-th
Registered
Activity