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

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Проект «Мультиключ». Как мы побеждали контактные ключи Metacom и Cyfral

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.7K

Как и обещал в предыдущей статье, пишу о нашем опыте работы с контактными ключами Metacom и Cyfral.

Эти ключи построены на микросхемах 1233KT1 и 1233KT2, которые не сильно друг от друга отличаются и имеют очень схожий принцип работы.

При подаче питания ключ просто выдает свой id. При этом никакие команды ключ не принимает и не посылает, а проверка правильности считывания ключа производится путем повторного считывания. Первым, для определения начала передачи, всегда идет стартовое слово. В отличие от ключей Dallas, они работают не по напряжению, а по току. Это менее распространенные и более дорогие ключи. Таким образом, логические уровни определяются сопротивлением ключа (около 400 Ом и 800 Ом). А значение бита определяется длительностью удержания низкого и высокого значения потребления тока.

Разберем эти ключи по отдельности...

Читать далее
Всего голосов 17: ↑18 и ↓-1+19
Комментарии5

Fedora Linux 40: новая версия дистрибутива. Что нового и что изменилось?

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

В мире дистрибутивов Linux всё идёт по плану. Разработчики Fedora Linux 40 выпустили финальный релиз 23 апреля. Уже готовы версии Fedora Workstation, Fedora Server, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition и Live-сборки. Они поставляются c десктоп-окружениями KDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway. Давайте посмотрим, что там нового, что удалили, а что изменилось. Подробности — под катом.

Читать далее
Всего голосов 5: ↑7 и ↓-2+9
Комментарии0

[Перевод] Почему стоит начать писать собственные Spark Native Functions?

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

Это мой вольный перевод статьи "Why You Should Start Writing Spark Custom Native Functions", которая вдохновила меня на некоторые собстенные изыскания по данной теме. Их результат я планирую опубликовать позже, а пока выношу на ваш суд этот перевод.

Статья на примере реализации функции по генератации UUID рассматривает, как писать Spark native функции, которые были бы "прозрачны" для Catalyst (в отличии от UDF, которые являются "черными ящиками" для него). Сравнение производительности ожидаемо показывает, что Catalyst Expressions значительно превосходят UDF при увеличении размера данных.

Кому интересно узнать, как писать Spark native функции - прошу под кат.

Читать далее
Всего голосов 3: ↑5 и ↓-2+7
Комментарии11

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

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.3K

Недавно в фокусе новостных лент вновь оказалась дополненная реальность — Apple наконец-то выпустила свой шлем Vision Pro. Устройство рассчитано на повседневное использование и постоянное ношение, свидетельством чего уже стало множество забавных роликов из США и других стран. В то же время реальность виртуальная, кажется, опять в кризисе; PlayStation приостанавливает производство второго поколения шлемов PS VR из-за того, что склады уже переполнены. В этом посте мы расскажем, что сдерживает развитие виртуальной реальности и каких успехов добились производители в преодолении этих барьеров.

Читать далее
Всего голосов 8: ↑10 и ↓-2+12
Комментарии6

Истории

kafka cluster in docker

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров656

Привет! В этой статье мы развернем dev-cluster kafka последней версии (3.7 на момент написания статьи), без использования zookeeper. Также в нашей сборке будет web-ui и все для мониторинга. В представленной конфигурации настроены SASL, SSL, ACL.

В чем полезность статьи? В статье представлен готовый docker-compose.yml для использования, который будет вам полезен если вы не сильно искушены в вопросах администрирования kafka и docker-compose, но уже хотелось бы начать заниматься разработкой, используя кластер kafka. Беглый поиск в интернет не дал результата в виде готового docker-compose.yml для конкретно такой конфигурации, которая потребовалась нам, поэтому было решено выложить полученный результат.

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии3

Кадры в РФ. Все по прежнему: не нужно. Итоги апреля в прессе и статьях

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров4.7K

Для лиги лени: ничего нового за апрель 2024 не озвучено. Кроме копиума, что деньги не главное, и платить - вредно.

Читать далее
Всего голосов 25: ↑18.5 и ↓6.5+12
Комментарии12

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

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров885

Как небольшому интернет-магазину мебели увеличить свои продажи, конкурируя с крупными игроками рынка и их огромными рекламными бюджетами? Чем опасно отсутствие рекламы? Как эффективно использовать свой  рекламный бюджет? Делимся методикой контекстной рекламы для e-com. Рассказываем, как адаптируем ее для мебельного проекта, ищем нестандартные решения и тестируем гипотезы. Бонус: чек-лист с методикой. 

Спойлеры: 

- Собранный руками кастомный фид повысил отдачу от Яндекс Директ в 2 раза

- Доработки сайта подняли конверсию интернет-магазина в 2,5 раза

- Привлечение более платежеспособной ЦА принесло еще 35% заказов

- Стимулировали звонки, а не заявки и приросли в 1,5 раза

Кейс демократичной мебельной фабрики, которая без роста рекламного бюджета увеличила объем заявок в 2 раза. 

Читать кейс
Всего голосов 19: ↑17 и ↓2+15
Комментарии16

Рисуем рабочий процессор в Paint и запускаем на нём ОС | Ритуал по призыву демона Тьюринга

Уровень сложностиПростой
Время на прочтение28 мин
Количество просмотров3.7K


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

Термос этот он нашёл на улице и хотел перепрошить его маленький и беззащитный Cortex-M0+.
Человек бредил. Раз в пару минут его глаза загорались и он издавал душераздирающий крик: «Если что-то существует, то на этом можно запустить Doom!».

Но действительно ли это так? И что вообще значит «запустить»?

Почему нельзя просто вывести изображение логотипа или распиновать VGA для вывода изображения на дисплей абсолютно любого устройства?
Ведь все так и делают)


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

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

Ну а если вы всё ещё здесь — добро пожаловать под кат.
Читать дальше →
Всего голосов 36: ↑43.5 и ↓-7.5+51
Комментарии10

Самые интересные задачи для безопасников — Джабба одобряет

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

Мы решили не один CTF-турнир. За плечами остались KnightCTF, 0xL4ugh и DiceCTF. Найти по-настоящему интересные и сложные задачи все труднее, поэтому будем смотреть в оба глаза и следить за несколькими мероприятиями одновременно.

На этот раз — порешаем задачи сразу двух CTF-турниров: Space Heroes и ThCon 2024. Уже интересно, что подготовили безопасники из США и Франции? Тогда добро пожаловать!
Читать дальше →
Всего голосов 23: ↑26 и ↓-3+29
Комментарии0

Я программист, и я тупой

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

Никаких особых медицинских диагнозов мне не ставили, но мои умственные способности крайне ограниченны. Даже те задачи на Leetcode, которые попроще, вызывают у меня затруднения. Когда я читаю о самом обычном алгоритме консенсуса, у меня кипит мозг. У меня плохо получается отслеживать сложные зависимости в кодовой базе. Я не способен освоить модные языки вроде Rust (пытался, но по правде сказать, для меня это чересчур). Я терпеть не могу микросервисы и современный фронтенд: там слишком много движущихся частей, и уследить за всеми я не в состоянии.

Как же я выхожу из положения?
Читать дальше →
Всего голосов 131: ↑135.5 и ↓-4.5+140
Комментарии140

Креативность для аналитика данных: нужна ли, как проявляется и как развивать

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров357

Нужна ли аналитику креативность? Работодатели, похоже, считают, что нет или что креативность не важна. Например, на hh.ru всего 10 вакансий «с креативностью» по всей России на момент написания статьи. И только в двух из них (Ozon и «Ростелеком») говорят напрямую, что креативность нужна.

Я работаю с данными почти 20 лет, и из них семь набирала и растила джунов, три — наставник в Практикуме на курсе «Аналитик данных». Предлагаю вместе подумать, а нужна ли нам креативность, как проверить, есть ли она, можно ли её чем-то заменить и как прокачать.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Попасть в IT: невозможное возможно

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.3K

В последние годы конкуренция на рынке IT стала велика и самым очевидным способом войти в эту сферу – начать путь с нуля, а именно попасть на стажировку в одну из соответствующих компаний. Так получилось у меня. Привет, Хабр! Меня зовут София, я эксперт в Дивизионе информационных технологий в ОТП Банке. Свой профессиональный путь начала в компании в качестве стажёра-разработчика хранилища данных (DWH). В этой статье я поделюсь своим опытом и расскажу, как стать специалистом и получить заветную должность.

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии1

Моделирование курса валют методом Монте-Карло

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров803

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

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

Ключевой аспект использования Монте-Карло в финансах — это его способность учитывать и анализировать волатильность и дрейф курсов валют. Для повышения точности моделирования и реалистичности получаемых данных часто применяется ГАРЧ модель (Generalized Autoregressive Conditional Heteroskedasticity). ГАРЧ помогает адекватно оценить и моделировать изменчивость волатильности, что является критичным при анализе финансовых временных рядов.

Идейно код выполнялся без готовых реализованных методов из различных либ.

Проект использует следующие библиотеки и инструменты:

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии2

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

Причина смерти в черном ящике: о crash dump, панике и продолжение следует

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров544

Уже давно при интерактивной инсталляции RHEL/CentOS/Rocky и других дистрибутивов сразу после завершения процесса нам предлагают сконфигурировать Kdump. Некоторые инженеры от предложения отказываются – и зря. Участок резервируемой памяти не такой уж и большой, а при паниках системы или же зависаниях возможность создать дамп критически важна. Возникают неприятные ситуации, когда этот файл просто необходим. Случилась такая и у нас. Поэтому мы решили написать эту статью – о сrashdump’е и о том, для чего Kdump в Linux, как его правильно готовить и как с минимальными затратами подготовить стенд для последующего анализа дампов.

Читать далее
Всего голосов 3: ↑4 и ↓-1+5
Комментарии0

Стажировки в SOC. Часть 1: как организовать обучение на 1 тыс. человек

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров369

Пока в ИБ-отрасли говорят о дефиците готовых специалистов, мы в ГК «Солар» выявили действенный рецепт подготовки кадров, благодаря которому значительно увеличили число сотрудников нашей команды – и решили этим рецептом поделиться. Наш цикл статей будет состоять из нескольких частей. В этой мы поэтапно расскажем, как у нас получилось организовать стажировку в центре противодействия кибератакам Solar JSOC на 1,1 тыс. человек.

Читать далее
Всего голосов 4: ↑5 и ↓-1+6
Комментарии0

Руководство по Next.js. 2/3

Уровень сложностиСредний
Время на прочтение52 мин
Количество просмотров958


Hello world!


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



На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений.


Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js.


Обратите внимание: руководство актуально для Next.js версии 14.


При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться) 😁 При обнаружении подобного не стесняйтесь писать в личку 😉


Парочка полезных ссылок:


Читать дальше →
Всего голосов 6: ↑9.5 и ↓-3.5+13
Комментарии0

Как мы сделали визуализатор трехмерных изображений с нуля

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.6K

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

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

Читать далее
Всего голосов 15: ↑17 и ↓-2+19
Комментарии2

Заработало! — или 4 детали пазла, без которых контекст деняк не принесёт

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров185

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

Читать далее
Всего голосов 5: ↑2 и ↓3-1
Комментарии1

Вычислительные выражения: Реализуем Delay и Run

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров321

Скотт Влащин продолжает рассказ о вычислительных выражениях в F#. Вычислительные выражения очень похожи на монады из Haskell, но у них есть свои особенности.

Одной из необычных особенностей Haskell являются ленивые (отложенные) вычисления. В F# вычисления энергичные, как и в большинстве других языков, поэтому там нельзя просто так взять и "прервать" вычисление.

Но если очень хочется, то можно. В этой статьей Скотт рассказывает, как сделать ленивые вычислительные выражения в F#.

Читать далее
Всего голосов 3: ↑4 и ↓-1+5
Комментарии0

Анализ доменов-доноров с помощью chatGPT и Data Analyst

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

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

Хочу рассказать про плагин Data Analysis. Это разработка от OpenAI, представляющая собой плагин, благодаря которому возможно создание и выполнение кода прямо в интерфейсе ChatGPT, а также работа с файлами, загруженными пользователем. Ранее известный как Code Interpreter, данный плагин ранее был доступен лишь как бета фича, а сейчас плагин доступен всем обладателем подписки chatGPT Plus. 

Покажу способ, как с помощью Data Analysis можно сделать анализ ссылочного сайта и выбрать домены для отклонения в Google Search Console.

Читать далее
Всего голосов 3: ↑0 и ↓3-3
Комментарии0