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

Моя лента

Тип публикации
Порог рейтинга
Уровень сложности
Предупреждение
Войдите или зарегистрируйтесь, чтобы настроить фильтры
Статья

Сериализация данных в C++ с библиотекой Cereal

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

Привет, Хабр!

Сегодня рассмотрим библиотеку Cereal в C++, которая позволяет сохранять и загружать состояние объектов, не теряя производительности.

Cereal — это заголовочная библиотека для C++, предназначенная для сериализации данных. Она поддерживает XML и JSON. Помимо этого поддерживает практически все стандартные типы данных в C++ и имеет инструменты для работы с пользовательскими типами. В отличие от, например, библиотек Boost, Cereal не требует сложных настроек и имеет интуитивно понятный синтаксис, знакомый юзерам Boost.

Читать далее
Рейтинг0
Комментарии0

Новости

Пост

Всем привет!

Продолжаю серию полезных видео - https://youtu.be/j-i3NQiKbccТут по полочкам расписывает как работает логирование в Java.

Краткий конспект по архитектуре логирования:

  • адаптер - предоставляет API, которое вызывается из кода. Их всего 3 - SL4J, JCL (Apache Common Logging) и JBoss Logging. Самый распространенный и рекомендуемый - SLF4J

  • bridge - нужен, когда какая-то библиотека использует не тот адаптер, что мы хотим. По сути адаптер на адаптер, который эмулирует API, вызываемое из кода, и пробрасывает вызовы в нужный адаптер, как правило SLF4J. Понятно, что когда у нас есть адаптер на адаптер, есть риск бесконечной рекурсии. Про это надо помнить)

  • движок логгера - компонента, которая пишет логи. Примеры: log4j, log4j2, logback, JUL\JDK (встроенный в JDK)

  • appender - компонент, определяющий физическое место, куда пишутся логи: консоль, диск, БД, MQ... Вот полный список для log4j2 https://logging.apache.org/log4j/2.x/manual/appenders.html

  • фильтры и конверторы - позволяют отфильтровать или преобразовать сообщения на клиенте

Плюс 3 хороших совета:

  • соблюдать гигиену classpath - чистить его от лишних библиотек

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

  • не добавлять в свои библиотеки как зависимость движок логгера. Пусть его выберет потребитель, а не разбирается с транзитивными зависимостями

И 2 полезные утилиты - миграторы на logback и SLF4J с альтернативных библиотек.

Теги:
0
Комментарии0
Статья

Строим свой SSO. Часть 5: Итоговый SSO, Защита от XSS/CSRF, Custom Grant Type

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

Всем привет! Мы продолжаем нашу серию статей по созданию собственного SSO. В этой статье мы увидим итоговый проект и разберём самые интересные решения из него. Подумаем над безопасностью приложения и настроим защиту от XSS и CSRF атак, а также изучим разные Security Headers. В заключение статьи мы создадим собственый Grant Type.

Читать далее
Рейтинг0
Комментарии0
Пост

Павел Дуров поделился впечатлениями о Киргизии и назвал эту страну скрытой жемчужиной Центральной Азии.

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

Более половины населения страны ежемесячно пользуется Telegram, и только за последние четыре месяца популярность Telegram выросла на 30%. Находясь там, мы встретились с местными телекоммуникационными лидерами и обсудили пути улучшения работы кыргызстанских пользователей Telegram

Спасибо тебе, Кыргызстан, — мы скоро вернёмся. Твоё гостеприимство вдохновляет меня на мои будущие поездки по прекрасной Центральной Азии.

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

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

Теги:
0
Комментарии0

Истории

Статья

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

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

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

В статье излагаю свой опыт выбора ноутбуков на онлайн-барахолках. Но не рабочих устройств, а сломанных. Расскажу о том, как выбираю такие девайсы. Основная цель — купить дешево, чтобы починить и получить в свое распоряжение дорогое устройство. Его можно использовать самому, подарить или продать. Тут уж выбирайте самостоятельно. Что же — поехали.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+8
Комментарии2
Пост

Разработчики Microsoft Flight Simulator сообщили, что аудитория игры с момента релиза в августе 2020 года составила больше 15 миллионов пользователей.

По состоянию на 23 июня в авиасимуляторе игроки на ПК и Xbox Series X|S совершили минимум миллиард полётов и продолжают набирать игровой опыт.

Теги:
0
Комментарии0
Статья

Разработка ядра – API для прошивки

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

Что касается абсолютного большинства устройств, поддерживаемых в ядре Linux, от вас не требуется почти никакого вмешательства, чтобы пустить их в работу. Пожалуй, устройство потребуется включить (например, при помощи регулятора), отменить команду сброса или обратиться к нескольким конфигурационным регистрам. Но среди устройств есть и достаточно сложные; чтобы в полной мере использовать имеющиеся в них функции или добавлять собственные, для таких устройств требуется специализированная прошивка. Некоторые подобные устройства изначально рассчитаны на подключение заранее запрограммированной персистентной памяти, но в других предусматривается механизм, получающий им подтягивать прошивку из какого-либо приложения. Есть даже такие устройства, в которых одновременно предоставляются обе эти возможности.

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

Как определить обладает ли Искусственный Интеллект «Сознанием»?

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

В последнее время в сети появилось множество роликов, в которых обсуждается - имеет искусственный интеллект (ИИ) сознание или нет? Но довольно часто в них даже не пытаются дать определение «сознанию» и более чётко указать критерии наличия «сознания» у ИИ.

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

Читать далее
Всего голосов 7: ↑3 и ↓40
Комментарии31
Статья

Как с помощью систем ЖКХ анализировать потенциально экстренные ситуации

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

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

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

Резюмируем

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

Netmiko: упрощение сетевой автоматизации на Python

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

Привет, Хабр!

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

Netmiko — это обертка над библиотекой Paramiko, разработанная для сетевых инженеров. Она упрощает работу с SSH-соединениями и добавляет ряд методов и интерфейсов для взаимодействия с сетевыми устройствами.

Этот модуль поддерживает большой спектр сетевых устройств — от Cisco и Juniper до Arista и HP. Всё, что нужно, это определить параметры устройства в виде словаря, и Netmiko позаботится обо всем остальном.

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

Использование библиотеки для профилирования в Spring Boot

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

Эта статья посвящена использованию библиотеки для профилирования методов в приложениях Spring Boot. Она предоставляет механизм для мониторинга времени выполнения методов, используя аннотацию @ActuatorProfiling и Spring Boot Actuator для экспонирования данных профилирования через настраиваемые конечные точки (эндпоинты).

GitHub https://github.com/litefunction/spring-boot-starter-actuator-profiling

Введение

Профилирующее приложение предназначено для помощи разработчикам в мониторинге и анализе времени выполнения методов, аннотацией @ActuatorProfiling. Данные профилирования экспонируются через Spring Boot Actuator.

Особенности

• Профилирование времени выполнения методов.

• Настраиваемые параметры профилирования.

• Информация получения данных профилирования в actuator.

• Потокобезопасное управление данными профилирования.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии0
Статья

Алгоритм Backpropagation на Python

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

Привет, Хабр!

Алгоритм backpropagation, или обратное распространение ошибки, является некой базой для тренировки многослойных перцептронов и других типов искусственных нейронных сетей. Этот алгоритм впервые был предложен Полем Вербосом в 1974 году, а позже популяризирован Дэвидом Румельхартом, Джеффри Хинтоном и Рональдом Уильямсом в 1986 году.

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

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

AdIndex City Conference 2024
Дата26 июня
Время09:30
Место
Москва
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область
Пост

Игровые движки и HTML5: а что по размеру билдов?

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

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

Тестовая сцена влючает в себя лого Godot 128x128 32 бита, размер 4,209 килобайт.
Результаты сборки при максимальных возможных оптимизациях на уровне движка:
1. Godot - 18.7 мегабайта. Остались включенными только модули GDScript, OpenGL, Brotli. Для полноценной работы маловато, но терпимо. Снизить ниже уже в разы сложнее.
2. Unity - 8.42 мегабайта. Потенциально можно дойти до 3-5 мегабайт.
3. Defold - 2.62 мегабайта. Размер сборок мониторится, графики правдоподобные.
4. Game Maker - 2.32 мегабайта. Ужать дальше можно только с сжатием контента.

Сюда не вошли:
1. Unreal Engine. Последняя версия с поддержкой web-платформ была 4.24, дальше только в виде отдельного расширения.
2. Нативные для браузеров движки на JS/TS, коих множество.
3. Прочие решения, которые не подошли мне по разным параметрам: Phaser, PlayCanvas, Construct, GDevelop и другие.

Теги:
+1
Комментарии2
Статья

Читаем ключевой контейнер КриптоПро (ч.2)

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

В прошлой части я разбирался с транспортным ключевым контейнером от КриптоПро (он же PFX, PKCS12, P12). В этой статье пойдёт речь о собственном формате ключевого контейнера КриптоПро (те самые 6 файлов .key)

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

System Analyst Roadmap или что нужно знать системному аналитику

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

Забудь про хаос в карьере!

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

Не упусти шанс стать экспертом! Узнавай новое уже сегодня и открой для себя мир успешной карьеры в IT!

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

Релиз открытого менеджера буфера обмена с функциями редактирования и создания скриптов CopyQ 9.0

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

22 июня 2024 года состоялся релиз открытого мультиплатформенного (поддерживает Linux, Windows и OS X 10.9+) менеджера буфера обмена с функциями редактирования и создания скриптов CopyQ 9.0. Исходный код проекта написан на языках C++ и C и опубликован на GitHub под лицензией GNU General Public License v3.0.

Читать далее
Всего голосов 10: ↑10 и ↓0+13
Комментарии1
Статья

Базы данных не существует

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

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

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

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

Нам ваш ORM совсем не нужон!
Всего голосов 11: ↑6 и ↓5+3
Комментарии26
Статья

Анти-паттерны в Go Web Applications

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

В какой-то момент моей карьеры меня перестало радовать ПО которое я разрабатывал.

Больше всего мне нравилось работать с низкоуровневыми деталями и сложными алгоритмами. Но после перехода на пользовательские приложения эта часть работы почти исчезла. Теперь программирование казалось мне просто перемещением данных из одного места в другое с помощью уже готовых библиотек и инструментов. Знания, которые я получил раньше о программном обеспечении, уже не были такими полезными.

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

Пользователи выяснили, какие слова на английском языке можно написать с помощью калькулятора:

147 существительных: slob, Ellie, silo, bile, sell, Gil, belles, highs, Bessie, losses, giggles, Liz, hobo, Leslie, Bob, lies, bellies, soil, Hess, hells, Isis, Gog, Hiss, boogie, holes, bliss, oils, gel, leg, lobes, globes, Gill, Leigh, geese, bogies, bilge, Lizzie, Leo, boil, legs, shoe, shells, Ozzie, giggle, ooze, size, eel, high, bill, gob, hole, hog, soles, libel, Hill, bee, shills, ills, Lois, glee, Bess, lobe, gig, Beebe, sizes, Gogol, sloe, hiss, Ellis, Sol, boos, Ohio, bees, HBO, bobbles, ill, lie, sobs, booze, bibles, Gibbs, hobbies, sighs, shell, isle, bib, Hegel, hills, Zoe, Eloise, Giles, sill, Elsie, Bill, bells, loss, egg, eggshell, bills, hoses, Shiloh, siege, Bible, solos, sigh, Hillel, logs, hose, lobbies, hill, log, hob, bell, shoes, Lee, gloss, heels, Hobbes, bosses, soils, solo, Oslo, hoes, goose, oil, Bell, blob, goggles, Eli, sole, ego, silos, hogs, lilies, Billie, gibes, ell, hell, shill, globe, oblige, loose, eggs, gibe, boss, heel, Bobbie.

34 глагола: sells, loses, Lie, boil, sell, ebb, lob, seize, solo, begs, see, ebbs, sizzle, beg, lie, besiege, ooze, size, goes, hole, lies, hobble, bog, obsesses, soil, boils, loose, bless, solos, sigh, gobbles, shies, lose, sees.

9 прилагательных: sole, loose, ill, high, less, glib, big, beige, eligible.

5 наречий: 5 loose, ill, less, high, else.

Другие: gosh, hello, see, hell, his, Les, les, she.

А какие слова знаете вы?

Теги:
-1
Комментарии8
1
23 ...