Data Warehouse, Data Lake, Data Lakehouse, Data Fabric, Data Mesh – что это такое, и в чем разница между концепциями
Данные сегодня стали важным ресурсом для бизнеса, но для того, чтобы на их основе принимать правильные управленческие решения, нужно их правильно хранить и обрабатывать.Хранилища данных предоставляют инфраструктуру и инструменты сбора, хранения, обработк...
Читать статью
#хабр #статья
Данные сегодня стали важным ресурсом для бизнеса, но для того, чтобы на их основе принимать правильные управленческие решения, нужно их правильно хранить и обрабатывать.Хранилища данных предоставляют инфраструктуру и инструменты сбора, хранения, обработк...
Читать статью
#хабр #статья
Хабр
Data Warehouse, Data Lake, Data Lakehouse, Data Fabric, Data Mesh – что это такое, и в чем разница между концепциями
Данные сегодня стали важным ресурсом для бизнеса, но для того, чтобы на их основе принимать правильные управленческие решения, нужно их правильно хранить и обрабатывать. Хранилища данных предоставляют...
👍2 1
Руководство по CMake для разработчиков C++ библиотек
Разработчик C++ библиотеки, очевидно, должен дать своим пользователям возможность легко ее использовать. И раз уж мы пишем на компилируемом языке, то к этому относится и то, насколько быстро пользователь сможет пройти путь от клонирования ваших исходников до получения бинарного файла библиотеки под свою платформу.
Когда мы говорим о пользователях библиотеки, то в первую очередь думаем о других разработчиках, которые захотят использовать функциональность библиотеки в своих проектах.
https://habr.com/ru/articles/683204/
P.S. Возьму эту статью на вооружение для второй части уже моей статьи про создание C++ библиотеки.
P.P.S Спасибо за комментарии и лайки!
Разработчик C++ библиотеки, очевидно, должен дать своим пользователям возможность легко ее использовать. И раз уж мы пишем на компилируемом языке, то к этому относится и то, насколько быстро пользователь сможет пройти путь от клонирования ваших исходников до получения бинарного файла библиотеки под свою платформу.
Когда мы говорим о пользователях библиотеки, то в первую очередь думаем о других разработчиках, которые захотят использовать функциональность библиотеки в своих проектах.
https://habr.com/ru/articles/683204/
P.S. Возьму эту статью на вооружение для второй части уже моей статьи про создание C++ библиотеки.
P.P.S Спасибо за комментарии и лайки!
Хабр
Руководство по CMake для разработчиков C++ библиотек
В этой статье я расскажу о том, как правильно писать современные CMakeLists.txt файлы для C++ библиотек. Идеи, используемые в ней, основаны на докладе Крейга Скотта (разработчик CMake) и докладе...
👍3
ByteWeaver в Open Source: инструментирование байт-кода во имя великого блага
Про байт‑код написано уже немало. Он везде, и никого этим не удивить: его генерирует компилятор, переупаковывает система сборки, «портит» обфускатор и изредка читают программисты. Естественно, для работы с байт‑кодом есть немало инструментов, которые исп...
Читать статью
#хабр #статья
Про байт‑код написано уже немало. Он везде, и никого этим не удивить: его генерирует компилятор, переупаковывает система сборки, «портит» обфускатор и изредка читают программисты. Естественно, для работы с байт‑кодом есть немало инструментов, которые исп...
Читать статью
#хабр #статья
Хабр
ByteWeaver в Open Source: инструментирование байт-кода Java во имя великого блага
Про байт‑код написано уже немало. Он везде, и никого этим не удивить: его генерирует компилятор, переупаковывает система сборки, «портит» обфускатор и изредка читают программисты....
👍2 1
👩💻 Linux Hardening Guide.
• Это руководство включает в себя полезные советы для повышения безопасности и конфиденциальности в ОС на базе ядра Linux.
• Choosing the right Linux distribution;
• Kernel hardening;
• Mandatory access control;
• Sandboxing;
• Hardened memory allocator;
• Hardened compilation flags;
• Memory safe languages;
• The root account;
• Firewalls;
• Identifiers;
• File permissions;
• Core dumps;
• Swap;
• PAM;
• Microcode updates;
• IPv6 privacy extensions;
• Partitioning and mount options;
• Entropy;
• Editing files as root;
• Distribution-specific hardening;
• Physical security;
• Best practices.
➡️ https://madaidans-insecurities.github.io
#Linux
• Это руководство включает в себя полезные советы для повышения безопасности и конфиденциальности в ОС на базе ядра Linux.
• Choosing the right Linux distribution;
• Kernel hardening;
• Mandatory access control;
• Sandboxing;
• Hardened memory allocator;
• Hardened compilation flags;
• Memory safe languages;
• The root account;
• Firewalls;
• Identifiers;
• File permissions;
• Core dumps;
• Swap;
• PAM;
• Microcode updates;
• IPv6 privacy extensions;
• Partitioning and mount options;
• Entropy;
• Editing files as root;
• Distribution-specific hardening;
• Physical security;
• Best practices.
➡️ https://madaidans-insecurities.github.io
#Linux
#HEX • IT
https://habr.com/ru/companies/timeweb/articles/845074/ В мире программирования создание собственных библиотек — это не просто возможность пополнения своего портфолио или способ структурировать код, а настоящий акт творческого самовыражения (и иногда вело…
Спасибо всем за плюсы! Вторая часть уже наполовину готова. Напоминаю, после второй части этой статьи будет "Все что вы хотели знать о звуковых системах в Linux"
👍2❤1
Взлом вашей первой программы
Наша задача — сделать так, чтобы программа выводила «Good» независимо от того, что пользователь ввёл в поле пароля. Если вы захотели декомпилировать данную программу, закинув EXE-файл в программу по типу dotPeek или ILSpy, то у вас ничего не выйдет. Ведь данная программа написана не на C#, исходный код которого можно легко посмотреть, а на C++, декомпилировать который нельзя.
Наша задача — сделать так, чтобы программа выводила «Good» независимо от того, что пользователь ввёл в поле пароля. Если вы захотели декомпилировать данную программу, закинув EXE-файл в программу по типу dotPeek или ILSpy, то у вас ничего не выйдет. Ведь данная программа написана не на C#, исходный код которого можно легко посмотреть, а на C++, декомпилировать который нельзя.
👍3
• Выпущенный в 1995 году угловой компьютер Packard Bell полностью оправдывает свое название. Это ПК, который должен стоять в углу!
• ПК, оснащенный процессором Pentium, 64 МБ ОЗУ, дисководами для гибких дисков и компакт-дисков в каждом углу, является типичным для середины 90-х. Устройство при этом не самое дешевое, базовая версия на момент выпуска стоила более 2000 долларов.
• Тем не менее, дизайн, а не внутренности, главный аргумент в пользу его покупки, поскольку Packard Bell заявила, что это «первый десктоп, разработанный для того, чтобы поместиться в углу». Отличная идея, которую Packard Bell реализовал довольно плохо.
• Неудивительно, что, чтобы все шнуры не торчали из передней части устройства, все слоты были вынесены на заднюю часть компьютера. Это означало, что не было возможности аккуратно разместить его в углу стола, как планировали дизайнеры. Если только этот стол не стоит посреди комнаты и рядом нет стен.
#Разное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Пет-проекты или работа?
Если вы недавно начали работать в программировании, будь то по найму или на фрилансе, можно заметить, что времени на свои проекты не остаётся.
С одной стороны когда ты работаешь на фрилансе или по найму - то ты развиваешь какие либо навыки, когда решаешь ту или иную преграду. Но с другой - времени на изучение новых технологий и создания проектов у тебя становится все меньше и меньше.
Хотя есть выход - сделать популярный Open Source проект и тогда можно будет получать деньги с него, путем донатов или даже сотрудничества с компаниями. Но мало кто способен осилить это. Ведь скорее всего, человек быстро сдуется, ведь проект будет потреблять энергию, и может денежные средства, но не будет давать что то взамен для восполнения. Да, первое время, на энтузиазме, проект будет жить. Но если никто не заинтересуется твоим проектом и не захочет помочь, то можно сказать, он обречён на провал.
Также я слышал мысль - если хочешь чтобы твой пет проект был доделан, продумай получение прибыли. Можно даже сделать мини-приложения, решающие одну или две небольшие, но вызывающие неудобство, проблемы.
Например, я слышал, что есть программист, который зарабатывает на своём проекте около тысячи долларов в месяц. Этот проект просто помогает синхронизировать гугл таблицы и систему заметок Notion. Да, на этот проект были затраты, для привлечения внимания, но он окупил себя, и благодаря тому что есть прибыль, проект живет. Главное - решить общественную проблему, и тогда люди сами к тебе пойдут.
Вообще, все более менее хорошие проекты так и зараждаются - у разработчика возникли трудности или нужда в чем-то, и он решил ее.
И вернемся к теме. Я думаю, что надо соблюдать золотую середину. И работать, но давать время на обучение и создание своих проектов. Главное отдыхать. В этом хорош фриланс - работаешь когда хочешь.
Ну и в конце скажу, что если наработать качественно портфолио работ, оформить свой гитхаб - то шанс пройти собеседование повышаются.
Если вы недавно начали работать в программировании, будь то по найму или на фрилансе, можно заметить, что времени на свои проекты не остаётся.
С одной стороны когда ты работаешь на фрилансе или по найму - то ты развиваешь какие либо навыки, когда решаешь ту или иную преграду. Но с другой - времени на изучение новых технологий и создания проектов у тебя становится все меньше и меньше.
Хотя есть выход - сделать популярный Open Source проект и тогда можно будет получать деньги с него, путем донатов или даже сотрудничества с компаниями. Но мало кто способен осилить это. Ведь скорее всего, человек быстро сдуется, ведь проект будет потреблять энергию, и может денежные средства, но не будет давать что то взамен для восполнения. Да, первое время, на энтузиазме, проект будет жить. Но если никто не заинтересуется твоим проектом и не захочет помочь, то можно сказать, он обречён на провал.
Также я слышал мысль - если хочешь чтобы твой пет проект был доделан, продумай получение прибыли. Можно даже сделать мини-приложения, решающие одну или две небольшие, но вызывающие неудобство, проблемы.
Например, я слышал, что есть программист, который зарабатывает на своём проекте около тысячи долларов в месяц. Этот проект просто помогает синхронизировать гугл таблицы и систему заметок Notion. Да, на этот проект были затраты, для привлечения внимания, но он окупил себя, и благодаря тому что есть прибыль, проект живет. Главное - решить общественную проблему, и тогда люди сами к тебе пойдут.
Вообще, все более менее хорошие проекты так и зараждаются - у разработчика возникли трудности или нужда в чем-то, и он решил ее.
И вернемся к теме. Я думаю, что надо соблюдать золотую середину. И работать, но давать время на обучение и создание своих проектов. Главное отдыхать. В этом хорош фриланс - работаешь когда хочешь.
Ну и в конце скажу, что если наработать качественно портфолио работ, оформить свой гитхаб - то шанс пройти собеседование повышаются.
👍5
Arch Linux
Одержимая созданием альтернативы Windows для геймеров, Valve включилась в разработку ключевых компонентов дистрибутива Arch Linux.
Проект имеет огромное значение для Valve: на основе дистрибутива построена операционная система SteamOS 3.0, на которой работает Steam Deck.
Помимо прямого финансирования разработчиков, компания выпускает слой совместимости Proton для запуска игр на Linux, участвует в работе над графическим протоколом Wayland, сотрудничает с Google над операционной системой для хромбуков на базе того же Arch Linux и спонсирует создателей графического окружения KDE.
VIVA LA ARCH!
Одержимая созданием альтернативы Windows для геймеров, Valve включилась в разработку ключевых компонентов дистрибутива Arch Linux.
Проект имеет огромное значение для Valve: на основе дистрибутива построена операционная система SteamOS 3.0, на которой работает Steam Deck.
Помимо прямого финансирования разработчиков, компания выпускает слой совместимости Proton для запуска игр на Linux, участвует в работе над графическим протоколом Wayland, сотрудничает с Google над операционной системой для хромбуков на базе того же Arch Linux и спонсирует создателей графического окружения KDE.
VIVA LA ARCH!
👍5
https://habr.com/ru/companies/timeweb/articles/845074/
Вторая часть статьи статьи выше уже написана, будет опубликована на следующей неделе. Теперь займусь статьей про звуковые системы линукса. После будет статья про "BIOS и UEFI: история и различие"
Вторая часть статьи статьи выше уже написана, будет опубликована на следующей неделе. Теперь займусь статьей про звуковые системы линукса. После будет статья про "BIOS и UEFI: история и различие"
Хабр
Создаем свою простую (C++) библиотеку с документацией, CMake и блекджеком
В мире программирования создание собственных библиотек — это не просто возможность пополнения своего портфолио или способ структурировать код, а настоящий акт творческого самовыражения (и иногда...
👍4
Спасибо за то что читаете канал! Заметил, что реакции и просмотры упали. Что вам не хватает? Напишите в комментариях 👇
👍2
Контент план
Anonymous Poll
80%
3 поста в день
7%
4 поста в день
0%
5 постов в день
13%
В комментариях свой вариант
#HEX • IT
https://habr.com/ru/companies/timeweb/articles/845074/ Вторая часть статьи статьи выше уже написана, будет опубликована на следующей неделе. Теперь займусь статьей про звуковые системы линукса. После будет статья про "BIOS и UEFI: история и различие"
Не хватает 2 плюса до +50.
Может кто то поставить?
Может кто то поставить?
👍1
Как известно, цифровой сигнал — это набор значений уровня сигнала, записанный через заданные промежутки времени. Процесс преобразования непрерывного аналогового сигнала в цифровой сигнал называется дискретизацией (по времени и по уровню). Есть две основные характеристики цифрового сигнала — частота дискретизации и глубина дискретизации по уровню.
Частота дискретизации указывает на то, с какими интервалами по времени идут данные об уровне сигнала. Существует теорема Котельникова (в западной литературе её упоминают как теорему Найквиста — Шеннона, хотя встречается и название Котельникова — Шеннона), которая утверждает: для возможности точного восстановления аналогового сигнала из дискретного требуется, чтобы частота дискретизации была минимум в два раза выше, чем максимальная частота в аналоговом сигнале. Если брать примерный диапазон воспринимаемых человеком частот звука 20 Гц — 20 кГц, то оптимальная частота дискретизации (частота Найквиста) должна быть в районе 40 кГц. У стандартных аудио-CD она составляет 44.1 кГц
Глубина дискретизации по уровню описывает разрядность числа, которым описывается уровень сигнала. Эта характеристика накладывает ограничение на точность записи уровня сигнала и на его минимальное значение. Стоит специально отметить, что данная характеристика не имеет отношения к громкости — она отражает точность записи сигнала. Стандартная глубина дискретизации на audio-CD — 16 бит. При этом, если не использовать специальную студийную аппаратуру, разницу в звучании большинство перестаёт замечать уже в районе 10-12 бит. Однако большая глубина дискретизации позволяет избежать появления шумов при дальнейшей обработке звука.
Частота дискретизации указывает на то, с какими интервалами по времени идут данные об уровне сигнала. Существует теорема Котельникова (в западной литературе её упоминают как теорему Найквиста — Шеннона, хотя встречается и название Котельникова — Шеннона), которая утверждает: для возможности точного восстановления аналогового сигнала из дискретного требуется, чтобы частота дискретизации была минимум в два раза выше, чем максимальная частота в аналоговом сигнале. Если брать примерный диапазон воспринимаемых человеком частот звука 20 Гц — 20 кГц, то оптимальная частота дискретизации (частота Найквиста) должна быть в районе 40 кГц. У стандартных аудио-CD она составляет 44.1 кГц
Глубина дискретизации по уровню описывает разрядность числа, которым описывается уровень сигнала. Эта характеристика накладывает ограничение на точность записи уровня сигнала и на его минимальное значение. Стоит специально отметить, что данная характеристика не имеет отношения к громкости — она отражает точность записи сигнала. Стандартная глубина дискретизации на audio-CD — 16 бит. При этом, если не использовать специальную студийную аппаратуру, разницу в звучании большинство перестаёт замечать уже в районе 10-12 бит. Однако большая глубина дискретизации позволяет избежать появления шумов при дальнейшей обработке звука.
5👍5🔥3 1
https://habr.com/ru/companies/timeweb/articles/845074/?telegram_habr
не хватает один плюс до 50( извиняюсь что выклянчиваю(
не хватает один плюс до 50( извиняюсь что выклянчиваю(
Хабр
Создаем свою простую (C++) библиотеку с документацией, CMake и блекджеком
В мире программирования создание собственных библиотек — это не просто возможность пополнения своего портфолио или способ структурировать код, а настоящий акт творческого самовыражения (и иногда...
👍2
Что такое прерывания?
Прерывание — это событие, которое изменяет нормальный поток выполнения программы и может быть сгенерировано аппаратными устройствами или даже самим процессором. При возникновении прерывания текущий поток выполнения приостанавливается и запускается обработчик прерывания. После запуска обработчика прерываний предыдущий поток выполнения возобновляется. Они бывают синхронные — вызваны текущим контекстом исполнения и асинхронные — вызваны извне. Согласно терминологии Intel синхронные — исключения, асинхронные — прерывание.
Классификация прерываний
Маскируемые прерывания — запросы на прерывания (IRQ запросы) могут быть “замаскированы” и не вызвать прерывания исполнения.
Немаскируемые прерывания NMI (Non Mascable Interrupt) — всегда должны быть обработаны, достаточно небольшое количество прерываний являются таковыми.
Каждое прерывание и исключение в x86 идентифицируется 8 битным беззнаковым числом — вектором прерывания.
#Linux #ComputerScience #ОперационнаяСистема #Прерывания
Прерывание — это событие, которое изменяет нормальный поток выполнения программы и может быть сгенерировано аппаратными устройствами или даже самим процессором. При возникновении прерывания текущий поток выполнения приостанавливается и запускается обработчик прерывания. После запуска обработчика прерываний предыдущий поток выполнения возобновляется. Они бывают синхронные — вызваны текущим контекстом исполнения и асинхронные — вызваны извне. Согласно терминологии Intel синхронные — исключения, асинхронные — прерывание.
Классификация прерываний
Маскируемые прерывания — запросы на прерывания (IRQ запросы) могут быть “замаскированы” и не вызвать прерывания исполнения.
Немаскируемые прерывания NMI (Non Mascable Interrupt) — всегда должны быть обработаны, достаточно небольшое количество прерываний являются таковыми.
Каждое прерывание и исключение в x86 идентифицируется 8 битным беззнаковым числом — вектором прерывания.
#Linux #ComputerScience #ОперационнаяСистема #Прерывания
Я думаю, ни для кого из интересовавшихся темой аудиостандартов не секрет, что существуют в мире две большие (и непримиримые между собой) парадигмы развития этих самых стандартов. А именно:
• Lossless форматы (например, популярный FLAC);
• Форматы на базе перцептивного (от англ. "perceptual" — относящийся к восприятию) кодирования (например, легендарный MP3 (MPEG-1/2/2.5 Layer 3) и его логическое продолжение AAC).
За первыми закрепилось звание тяжеловесных стандартов для меломанов. За вторыми стоит многолетняя практика применения: начиная от некачественных подборок музыки на дисках для MP3-плееров, кончая современными (достаточно качественными) потоковыми сервисами прослушивания музыки.
В чем состоит их принципиальное отличие?
Если в двух словах, то первые стараются максимально точно воспроизвести исходный аудио-файл, убирая лишь избыточность (см. redundancy), а вторые на основе целой теории о том, как человек воспринимает звук, стараются максимально сжать исходный аудио-файл при минимально возможных потерях качества.
Источник
P.S. На фото в наушниках создатель MP3
• Lossless форматы (например, популярный FLAC);
• Форматы на базе перцептивного (от англ. "perceptual" — относящийся к восприятию) кодирования (например, легендарный MP3 (MPEG-1/2/2.5 Layer 3) и его логическое продолжение AAC).
За первыми закрепилось звание тяжеловесных стандартов для меломанов. За вторыми стоит многолетняя практика применения: начиная от некачественных подборок музыки на дисках для MP3-плееров, кончая современными (достаточно качественными) потоковыми сервисами прослушивания музыки.
В чем состоит их принципиальное отличие?
Если в двух словах, то первые стараются максимально точно воспроизвести исходный аудио-файл, убирая лишь избыточность (см. redundancy), а вторые на основе целой теории о том, как человек воспринимает звук, стараются максимально сжать исходный аудио-файл при минимально возможных потерях качества.
Источник
P.S. На фото в наушниках создатель MP3
👍3
Вопрос по нашему сайту.
Скиньте пожалуйста в комментарии примеры сайтов, дизайн, контент, функции которым вам понравились
Скиньте пожалуйста в комментарии примеры сайтов, дизайн, контент, функции которым вам понравились
👍3