#HEX • IT
390 subscribers
504 photos
104 videos
64 files
480 links
Channel by @alexeev_dev.

Авторский блог.

IT, статьи и другая информация.
Download Telegram
Принципы X11

Боб Шейфлер и Джим Геттис изложили принципы X следующим образом:


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

С тех пор X в основном придерживается этих принципов. Фонд X.Org разрабатывает эталонную реализацию с целью расширения и улучшения реализации, сохраняя при этом ее почти полную совместимость с первоначальным протоколом 1987 года.

Можно сказать, что эти принципы — это ответ на вопрос, как иксы дожили до наших дней.
👍1👨‍💻1
Wayland кратко

Лишь один из протоколов, графических серверов дожил до наших дней и стал более-менее популярным и стабильным — это Wayland. Есть конечно Mir, но кому он нужен?

Для начала немного узнаем, что связано с вейландом:


Композитор/Compositor — композитный оконный менеджер. Можно сказать, что он отвечает за анимации, прозрачность и все остальное, то есть создает композицию графических эффектов. Вот примеры композиторов в мире линукса:
Weston — эталонный композитный менеджер для Wayland
Muffin — композитор в cinnamon
Mutter — композитор в Gnome (поддерживает wayland)
Marco — композитор MATE
KWin — композитор KDE (поддерживает Wayland)
Sway – тайлинговый композитный оконный менеджер. Sway использует wlroots – модульную реализацию Wayland, которая функционирует как база для нескольких композиторов.
1👍11
#HEX • IT
Последние посты в канале...
Прошу писать в комментарии, что не нравится, будем исправлять
👍2
Пространства имён в C++

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

Пространство имен позволяет сгруппировать функционал в отдельные контейнеры. Пространство имен представляет блок кода, который содержит набор компонентов (функций, классов и т.д.) и имеет некоторое имя, которое прикрепляется к каждому компоненту из этого пространства имен. Полное имя каждого компонента — это имя пространства имен, за которым следует оператор :: (оператор области видимости или scope operator) и имя компонента. Примером может служить оператор cout, который предназначен для вывода строки на консоль и который определен в пространстве имен std. Соответственно чтобы обратиться к этому оператору, применяется выражение std::cout.

#include <iostream>

int main() {
std::cout << "Hello, HEX!" << std::endl;

return 0;
}

Но также можно создавать и свои пространства:

#include <iostream>

namespace hello {
const std::string message{"hello work"};
void print(const std::string& text) {
std::cout << text << std::endl;
}
}

int main() {
hello::print(hello::message); // hello work
}

Директива using позволяет ссылаться на любой компонент пространства имен без использования его имени:

#include <iostream>

namespace console
{
const std::string message{"hello"};
void print(const std::string& text)
{
std::cout << text << std::endl;
}
}

using namespace console; // подключаем все компоненты пространства console

int main()
{
print(message); // указывать пространство имен не требуется
}
👍2🔥2😁1
Совет учащимся.

Друзья, если вы изучаете что-либо по книжке / курсам, то:

1. Изучите предлагаемый пример кода глазами. Читайте его несколько раз, пока вам не станет всё понятно. Каждая строчка должна быть достаточно очевидной.

2. Перепишите в тетрадку по памяти этот фрагмент. Этот совет может показаться олдскульным, но он реально работает! Вы вдруг обнаружите, что всё было не так очевидно. Я лично пишу сразу ручкой. Невозможность быстро и красиво исправить написанное заставляет более усердно думать, что я пишу. И если после исправлений листинг получается слишком грязный, его стоит переписать заново. По памяти.

3. Наберите по памяти то, что вы написали в тетрадку. Откомпилируйте / запустите, и ищите ошибки. Они, с большой вероятностью, всё равно будут. На этом этапе старайтесь самостоятельно разобраться, в чём причина, попробуйте не подсматривать в книжку с тем примером. Лучше полезьте в документацию, на стэковерфлоу, в гуглы, но найдите себе ответ на вопрос: почему этот код не работает? Найденный ответ запишите себе в тетрадку рядом с кодом. Или можете сохранить в отдельный текстовый файл, но мне лично больше нравится запись в тетрадке.

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

В таком режиме вы будете учиться очень медленно. Это значит, что 1 минута видео будет занимать примерно 30-60 минут работы.

Но! Всё изученное будет по-настоящему вашим. Полученные знания никто у вас никогда не сможет отобрать, и это то, за что вас будут ценить.

Всех люблю, всем удачи!

ИСТОЧНИК
1👍3🔥11
Если вам не трудно, напишите в комментариях, какие конкретно посты вам понравились или что вы хотите видеть? (конкретно)
1👍1
#Анонс

Завтра. Ждите.
👍2🔥1👨‍💻11
https://habr.com/ru/companies/timeweb/articles/845074/

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

Если вы ловили себя на мысли: «А почему мне бы не создать свою полноценную библиотеку? », то я рекомендую прочитать вам мою статью.

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

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

https://habr.com/ru/companies/timeweb/articles/845074/
🔥4👍21
#HEX • IT pinned «https://habr.com/ru/companies/timeweb/articles/845074/ В мире программирования создание собственных библиотек — это не просто возможность пополнения своего портфолио или способ структурировать код, а настоящий акт творческого самовыражения (и иногда вело…»
Тетрис на ATtiny10

Решив использовать последние дни отпуска для приведения имеющихся у меня запасов электронных компонентов к некоторому подобию порядка я наткнулся на неизвестную михросхему SOT-23-6 с еле читаемой маркировкой.Микроскоп и гугл помогли идентифицировать мико...

Читать статью

#хабр #статья
👍22
Отечественная портативная консоль своими руками

Привет, читатель!

Как-то я отлаживал приложение для телефона на отечественной ОС «Аврора» и вдруг заскучал. Тогда я поставил на него RetroArch и скачал несколько игр. Подключив геймпад, провел за ними пару часов. Позже, листая раздел с играми в чате ра...

Читать статью

#хабр #статья
211
Как устроен робот-доставщик Яндекса: от восприятия до планирования движения

Уже пять лет по улицам Москвы колесят роботы‑курьеры Яндекса, доставляя нам еду из любимых ресторанов и магазинов быстрее, чем мы успеваем проголодаться. На пути им встречается много препятствий: от безобидной клумбы, которую можно просто объехать, до во...

Читать статью

#хабр #статья
👍2
Электросмачивание как интересный эффект для применения в самоделках и не только

Картинка — youtube-канал GaudiLabs, University of Cincinnati, Etulipa, Image Sensors World

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

Читать статью

#хабр #статья
👍2
Блеск и нищета WebAssembly

Картинка 1: Уильям Фрайт Пауэлл. Бедность и богатство [1888]. (модифицированная)Всем привет! Сейчас за окном осенние деньки 2024 года. Вещает Пройдаков Евгений. Сейчас я руковожу группой разработки среды исполнения языка eXtraction and Processing в R&D д...

Читать статью

#хабр #статья
👍2