#HEX • IT
Lady's and gentlemen's! Вторая часть статьи про создание шелла на си. Первая часть тут. Я решил недавно улучшить свой навык владения C, путем написания проектов. Самая первая мысль, которая пришла мне на ум — это командный интерпретатор, командная оболочка…
Поставьте плюс к рейтингу статьи, если не трудно
❤3👍1
Doxygen - Документация За 5 Минут
Привет всем! Сегодня по полной начал использовать Doxygen. Doxygen - это программное обеспечение для автоматического создания документации кода по комментариям. Невероятно удобно, еще и с учетом того, что Doxygen также может сгенерировать статичный сайт. То есть, через Github Actions можно буквально за 10 минут создать онлайн-документацию по своему проекту. Дефолтный стиль сайта, правда, немного устаревший, но можно подключить, например awesome doxygen css, и улучшить дизайн сайта.
Я как раз сейчас пишу мини-библиотеку на C++ для базовых вычислений в сфере физики и математике, и собственно вместей с ней статью пишу. Если хотите увидеть совсем небольшой спойлер - то вот ссылка на онлайн документацию библиотеки. Всем хорошего дня!
#doxygen #CPP #linux #docs #документация
By @hex_warehouse
Привет всем! Сегодня по полной начал использовать Doxygen. Doxygen - это программное обеспечение для автоматического создания документации кода по комментариям. Невероятно удобно, еще и с учетом того, что Doxygen также может сгенерировать статичный сайт. То есть, через Github Actions можно буквально за 10 минут создать онлайн-документацию по своему проекту. Дефолтный стиль сайта, правда, немного устаревший, но можно подключить, например awesome doxygen css, и улучшить дизайн сайта.
Я как раз сейчас пишу мини-библиотеку на C++ для базовых вычислений в сфере физики и математике, и собственно вместей с ней статью пишу. Если хотите увидеть совсем небольшой спойлер - то вот ссылка на онлайн документацию библиотеки. Всем хорошего дня!
#doxygen #CPP #linux #docs #документация
By @hex_warehouse
🎓Анализ данных на python в примерах и задачах
🗣️ Computer Science Center
📎 Ссылка на плейлист: https://youtube.com/playlist?list=PLlb7e2G7aSpRb95_Wi7lZ-zA6fOjV3_l7&si=JI7RLVJQMx7c_Rd9
#АнализДанных #DataScience #Python #BigData
🗣️ Computer Science Center
📎 Ссылка на плейлист: https://youtube.com/playlist?list=PLlb7e2G7aSpRb95_Wi7lZ-zA6fOjV3_l7&si=JI7RLVJQMx7c_Rd9
#АнализДанных #DataScience #Python #BigData
👍1 1
Был ли у вас ноутбук серии Thinkpad
Anonymous Poll
4%
Да, IBM
15%
Да, старый Lenovo Thinkpad
7%
Да, новый Lenovo thinkpad (ex.> T14 gen 1)
56%
Не был
19%
Хочу купить
1👍3❤1🔥1 1
Двоичные файлы создаются в процессе компиляции, то есть трансляции понятного человеку исходного кода, например на языке программирования C/C++, в машинный код, исполняемый процессором.
Компиляция C/C++, или другого кода состоит из четырех этапов — препроцессирование, компиляция, ассемблирование и компоновка. На практике современные компиляторы часто объединяют некоторые или даже все этапы, но для демонстрации можно будет использовать их по отдельности.
Компиляция C/C++, или другого кода состоит из четырех этапов — препроцессирование, компиляция, ассемблирование и компоновка. На практике современные компиляторы часто объединяют некоторые или даже все этапы, но для демонстрации можно будет использовать их по отдельности.
👍2🔥1
C++ очень сложный, с точки зрения функционала. Это уже не "C с классами", шаблоны, перегрузка, std::pair, vector...
Это вам не питон.
Кстати, кто каким компилятором пользуется?
GCC - 👍
CLANG - 🔥
ДРУГОЙ - 👨💻
Это вам не питон.
Кстати, кто каким компилятором пользуется?
GCC - 👍
CLANG - 🔥
ДРУГОЙ - 👨💻
👍11🔥4
Discord внедрил сквозное шифрование🤔
Discord анонсировал внедрение сквозного шифрования (E2EE) через протокол DAVE для защиты 200 миллионов пользователей.
🔻E2EE будет применяться к голосовым и видеозвонкам в личных сообщениях, групповых чатах и стримах Go Live, обеспечивая пользователям возможность подтверждать безопасность звонков и проверять других участников.
Участники звонка будут иметь доступ к зашифрованному контенту, при этом Discord заявляет, что не будет хранить ключи шифрования.❌
🔻Для активации E2EE все участники должны поддерживать этот протокол, а интерфейс будет информировать о статусе шифрования, также внедряя дополнительные меры безопасности для проверки идентичности и предотвращения подмены участников.
Кажется, именно из за этого были в последнее время сбои с дискордом. Или как минимум одна из причин.
Discord анонсировал внедрение сквозного шифрования (E2EE) через протокол DAVE для защиты 200 миллионов пользователей.
🔻E2EE будет применяться к голосовым и видеозвонкам в личных сообщениях, групповых чатах и стримах Go Live, обеспечивая пользователям возможность подтверждать безопасность звонков и проверять других участников.
Участники звонка будут иметь доступ к зашифрованному контенту, при этом Discord заявляет, что не будет хранить ключи шифрования.❌
🔻Для активации E2EE все участники должны поддерживать этот протокол, а интерфейс будет информировать о статусе шифрования, также внедряя дополнительные меры безопасности для проверки идентичности и предотвращения подмены участников.
Кажется, именно из за этого были в последнее время сбои с дискордом. Или как минимум одна из причин.
❤2 2
Начало учебного года - повод обновиться. MacBook Pro 2022 - один из лучших ноутбуков для работы на данный момент.
Качество Apple, надежность и долгая поддержка - что еще нужно для отличной жизни?
https://ya.cc/m/kos6RT5?erid=5jtCeReNx12oajqt5y64b68
https://ya.cc/m/kos6RT5?erid=5jtCeReNx12oajqt5y64b68
https://ya.cc/m/kos6RT5?erid=5jtCeReNx12oajqt5y64b68
Реклама. ООО «ЯНДЕКС», ИНН 7736207543, erid: 5jtCeReNx12oajqt5y64b68
Качество Apple, надежность и долгая поддержка - что еще нужно для отличной жизни?
https://ya.cc/m/kos6RT5?erid=5jtCeReNx12oajqt5y64b68
https://ya.cc/m/kos6RT5?erid=5jtCeReNx12oajqt5y64b68
https://ya.cc/m/kos6RT5?erid=5jtCeReNx12oajqt5y64b68
Реклама. ООО «ЯНДЕКС», ИНН 7736207543, erid: 5jtCeReNx12oajqt5y64b68
😁1
Компилятор Go генерирует абстрактный, портируемый ассемблер, который не привязан к конкретному оборудованию. Следовательно, сборщик Go использует этот псевдоассемблер для создания инструкций, специфичных для целевого оборудования.
Go позволяет использовать ассемблерные вставки в коде. Написание функций на ассемблере прямо в Go не так уж сложно, как кажется. В качестве примера, рассмотрим функцию sum, которая складывает два int64:
Хотя это стандартная функция, в ней отсутствует тело. Поэтому компилятор выдаст ошибку при попытке сборки программы.
Для реализации функции на ассемблере добавим файл с расширением .s:
Теперь мы можем собрать, протестировать и использовать функцию sum как обычную. Этот подход широко применяется в различных пакетах, таких как runtime, math, bytealg, syscall, reflect, crypto, позволяя использовать аппаратные оптимизации процессора и команды, отсутствующие в самом языке. Во многом благодаря этому можно создать полноценное ядро операционной системы.
Однако следует учитывать, что функции на ассемблере не могут быть оптимизированы и встроены компилятором. Для обхода этого ограничения разработчики создали встраиваемые функции.
Встраиваемые функции изначально написаны на Go, но компилятор имеет возможность использовать альтернативный вариант. Эти функции имеют особые сигнатуры, повторяющие сигнатуры процессорных команд, что позволяет компилятору заменить вызовы функций на ассемблерные инструкции, если целевая архитектура такова.
Встраиваемые функции представляют собой элегантное решение, предоставляющее доступ к низкоуровневым операциям без необходимости расширения спецификации языка. В случае отсутствия специфических примитивов sync/atomic (например, в некоторых вариантах arm), или операций из math/bits, компилятор будет вставлять полифил на обычном Go.
Go позволяет использовать ассемблерные вставки в коде. Написание функций на ассемблере прямо в Go не так уж сложно, как кажется. В качестве примера, рассмотрим функцию sum, которая складывает два int64:
func sum(a int64, b int64) int64
Хотя это стандартная функция, в ней отсутствует тело. Поэтому компилятор выдаст ошибку при попытке сборки программы.
Для реализации функции на ассемблере добавим файл с расширением .s:
text sum(sb),$0-24
movq a+0(fp), ax
addq b+8(fp), ax
movq ax, ret+16(fp)
ret
Теперь мы можем собрать, протестировать и использовать функцию sum как обычную. Этот подход широко применяется в различных пакетах, таких как runtime, math, bytealg, syscall, reflect, crypto, позволяя использовать аппаратные оптимизации процессора и команды, отсутствующие в самом языке. Во многом благодаря этому можно создать полноценное ядро операционной системы.
Однако следует учитывать, что функции на ассемблере не могут быть оптимизированы и встроены компилятором. Для обхода этого ограничения разработчики создали встраиваемые функции.
Встраиваемые функции изначально написаны на Go, но компилятор имеет возможность использовать альтернативный вариант. Эти функции имеют особые сигнатуры, повторяющие сигнатуры процессорных команд, что позволяет компилятору заменить вызовы функций на ассемблерные инструкции, если целевая архитектура такова.
Встраиваемые функции представляют собой элегантное решение, предоставляющее доступ к низкоуровневым операциям без необходимости расширения спецификации языка. В случае отсутствия специфических примитивов sync/atomic (например, в некоторых вариантах arm), или операций из math/bits, компилятор будет вставлять полифил на обычном Go.
Небольшое зрительное упражнение. Засекайте 3 минуты и пытайтесь найти одинаковые фигуры.
Среди других упражнений можно выделить:
1. Быстро моргайте глазами и посмотрите вдаль
2. Плотно закройте глаза, откройте, посмотрите до упора глазами налево, направо, вверх, вперед. Так три раза. Потом начинаете крутить глаза (три оборота).
Обязательно иногда отвлекайтесь и выполняйте зрительные упражнения, или хотя бы смотрите вдаль. Зрение очень важная вещь, и не у каждого найдется 60к ₽ на операцию.
#здоровье
Среди других упражнений можно выделить:
1. Быстро моргайте глазами и посмотрите вдаль
2. Плотно закройте глаза, откройте, посмотрите до упора глазами налево, направо, вверх, вперед. Так три раза. Потом начинаете крутить глаза (три оборота).
Обязательно иногда отвлекайтесь и выполняйте зрительные упражнения, или хотя бы смотрите вдаль. Зрение очень важная вещь, и не у каждого найдется 60к ₽ на операцию.
#здоровье
🔥3 1
👨💻 Конструктор Pantasy Retro
Перенеситесь благодаря конструктору Pantasy Retro «Ретро-компьютер» (85005) в недалекое прошлое, когда интернет был в диковинку, а планшетов и вовсе не существовало. Из 1634 деталей набора вы сможет собрать полную комплектацию компьютерного рабочего места, включая системный блок, монитор старого образца на базе электронно-лучевой трубки, мышь, коврик для мыши, клавиатуру, диск и даже дискету! Почувствуйте себя IT-инженером, который конфигурирует компьютер, устанавливая материнскую плату, графическую карту, вентилятор охлаждения процессора, блок питания, дисковод. Насладитесь ностальгическими воспоминаниями, поставив на мониторе заставку с игрой «Сапер».
Цена: ~13.000 рублей
Выглядит очень интересно, я бы купил, если были бы лишние деньги.
https://ya.cc/m/KxjnQaa?erid=5jtCeReNx12oajqt5y64b68
Реклама. ООО «ЯНДЕКС», ИНН 7736207543, erid: 5jtCeReNx12oajqt5y64b68
Перенеситесь благодаря конструктору Pantasy Retro «Ретро-компьютер» (85005) в недалекое прошлое, когда интернет был в диковинку, а планшетов и вовсе не существовало. Из 1634 деталей набора вы сможет собрать полную комплектацию компьютерного рабочего места, включая системный блок, монитор старого образца на базе электронно-лучевой трубки, мышь, коврик для мыши, клавиатуру, диск и даже дискету! Почувствуйте себя IT-инженером, который конфигурирует компьютер, устанавливая материнскую плату, графическую карту, вентилятор охлаждения процессора, блок питания, дисковод. Насладитесь ностальгическими воспоминаниями, поставив на мониторе заставку с игрой «Сапер».
Цена: ~13.000 рублей
Выглядит очень интересно, я бы купил, если были бы лишние деньги.
https://ya.cc/m/KxjnQaa?erid=5jtCeReNx12oajqt5y64b68
Реклама. ООО «ЯНДЕКС», ИНН 7736207543, erid: 5jtCeReNx12oajqt5y64b68
👍2❤1⚡1