🖥 Гибкая вёрстка(Flexbox)
Как по мне самый удобный способ вёрстки, который решает множество проблем мобильного адаптива
Если вы уже верстали, то наверняка видели это:
Это и есть flexbox
В родительский класс передаётся свойство display: flex, что позволяет создать гибкую коробку, в которой можно будет задать независимую форму элементов, перенос на другую строку если не хватает места(очень полезно при создании какого-нибудь каталога), адаптивность и расположение элементов. Также плюс такого подхода - это упрощённая работа с макетами
🔗 Руководство по flexbox
#полезное
Как по мне самый удобный способ вёрстки, который решает множество проблем мобильного адаптива
Если вы уже верстали, то наверняка видели это:
.box {
display: flex;
}Это и есть flexbox
В родительский класс передаётся свойство display: flex, что позволяет создать гибкую коробку, в которой можно будет задать независимую форму элементов, перенос на другую строку если не хватает места(очень полезно при создании какого-нибудь каталога), адаптивность и расположение элементов. Также плюс такого подхода - это упрощённая работа с макетами
🔗 Руководство по flexbox
#полезное
Хабр
Полное руководство по Flexbox
Полное руководство по CSS flexbox. Это полное руководство объясняет все о flexbox, сосредотачиваясь на всех возможных свойствах для родительского элемента (контейнер flex) и дочерних элементов...
👍2🔥2
"Взлом" sublime text
Ищешь, где у тебя бинарник Sublime Text
4113
Открываешь хекс-редактором
Ищешь
50befcd82000baab10210031ffe8bd79180084 c07416488b05b9ed4a00bea7ae210031ff31d2
31c94158ffe058
Заменяешь на:
9090909090909090909090909090909090909 0909090909090909090909090909090909090
9090909090909090
Забываешь о табличке, и наслаждаешься
Sublime'ом
10:16 РМ
👍2 2
Замена системных вызовов с помощью модулей ядра
Из книги https://tldp.org/LDP/lkmpg/2.6/lkmpg.pdf:
You can even write modules to replace the kernel's system calls, which we'll do shortly. Crackers often make use of this sort of thing for backdoors or trojans, but you can write your own modules to do more benign things, like have the kernel write Tee hee, that tickles! everytime someone tries to delete a file on your system.
Другими словами: существует возможность создания модулей для ядра операционной системы, которые могут заменять системные вызовы. Это может использоваться как злоумышленниками для создания бэкдоров и троянов, так и для более безобидных задач, таких как добавление пользовательского сообщения при попытке удаления файла.
Из книги https://tldp.org/LDP/lkmpg/2.6/lkmpg.pdf:
You can even write modules to replace the kernel's system calls, which we'll do shortly. Crackers often make use of this sort of thing for backdoors or trojans, but you can write your own modules to do more benign things, like have the kernel write Tee hee, that tickles! everytime someone tries to delete a file on your system.
Другими словами: существует возможность создания модулей для ядра операционной системы, которые могут заменять системные вызовы. Это может использоваться как злоумышленниками для создания бэкдоров и троянов, так и для более безобидных задач, таких как добавление пользовательского сообщения при попытке удаления файла.
👍1👨💻1 1
Что вам не хватает в интернете? Какой микро сервис, выполняющий конкретно одну задачу быстро и четко? То есть без лишних движений, просто, качественно. Как говорится, соблюдая принцип UNIX - каждая программа должна выполнять одну задачу. Никаких сложных меню, просто одна кнопка "Сделать все хорошо".
Какой вам сайт, расширение, хотелось бы иметь всегда под рукой?
Напишите в комментариях 👇
Какой вам сайт, расширение, хотелось бы иметь всегда под рукой?
Напишите в комментариях 👇
👍1🔥1
Media is too big
VIEW IN TELEGRAM
⚡️ Загрузка Linux на Intel 4004 just for fun.
Энтузиаст запустил Debian на 4-разрядный микропроцессор Intel 1971 года выпуска -это первый микропроцессор в мире - 4004.
Это настоящее ядро Linux с рутфайлом Debian на реальной плате, единственным процессором которой является Intel 4004 1970-х годов.
На видео показан процесс запуска. Часы и календарь в видео отображаются точно.
📌 Подробнее про процесс запуска
Энтузиаст запустил Debian на 4-разрядный микропроцессор Intel 1971 года выпуска -это первый микропроцессор в мире - 4004.
Это настоящее ядро Linux с рутфайлом Debian на реальной плате, единственным процессором которой является Intel 4004 1970-х годов.
На видео показан процесс запуска. Часы и календарь в видео отображаются точно.
📌 Подробнее про процесс запуска
👍1👨💻1
Флибуста закрывается
У создателя обнаружили глиобластому (неизлечимо).
Проект Flibusta была запущена в 2009 году, туда загружаются книги на русском и других языках. После многочисленных претензий правообладателей суд в 2016 году вынес решение о пожизненной блокировке проекта.
О самом Stiver известно лишь то, что он постоянно проживает в Германии.
Великий человек, великий проект
У создателя обнаружили глиобластому (неизлечимо).
Проект Flibusta была запущена в 2009 году, туда загружаются книги на русском и других языках. После многочисленных претензий правообладателей суд в 2016 году вынес решение о пожизненной блокировке проекта.
О самом Stiver известно лишь то, что он постоянно проживает в Германии.
Великий человек, великий проект
😢8
Процесс компиляции программы на C/C++
Двоичные файлы создаются в процессе компиляции, то есть трансляции понятного человеку исходного кода, например на языке программирования C/C++, в машинный код, исполняемый процессором.
Компиляция C/C++, или другого кода состоит из четырех этапов — препроцессирование, компиляция, ассемблирование и компоновка. На практике современные компиляторы часто объединяют некоторые или даже все этапы, но для демонстрации можно будет использовать их по отдельности.
Двоичные файлы создаются в процессе компиляции, то есть трансляции понятного человеку исходного кода, например на языке программирования C/C++, в машинный код, исполняемый процессором.
Компиляция C/C++, или другого кода состоит из четырех этапов — препроцессирование, компиляция, ассемблирование и компоновка. На практике современные компиляторы часто объединяют некоторые или даже все этапы, но для демонстрации можно будет использовать их по отдельности.
Механика работы TLS/SSL #сети #полезное
TLS и SSL используют:
Ассиметричная криптография для аутентификации. Кстати, этот тип шифрования более ресурсоемкий, поэтому его комбинируют с симметрическим шифрованием.
Симметричное шифрование для конфиденциальности.
Коды аутентичности сообщений для сохранения целостности сообщений.
Данный протокол широко используется в приложениях, работающих с сетью. Вообще, можно сказать, что это одно и тоже, ведь с версии 3.0 SSL появился его приемник — TLS, но название так прижилось, что до сих пор под SSL чаще всего подразумевают TLS.
Когда пользователь заходит на какой-то сайт по HTTPS, браузер запрашивает сертификат у сервера, который высылает копию SSL-сертификата с открытым ключом шифрования. После браузер проверяет и подтверждает этот сертификат. Кроме того, проверяется дата действия сертификата и наличие корневого сертификата, выданного надежным центром сертификации. Если браузер доверяет сертификату, то он генерирует предварительный секрет (pre-master secret) сессии на основе открытого ключа, используя максимально высокий уровень шифрования, который поддерживают обе стороны. Сервер расшифровывает предварительный секрет с помощью своего закрытого ключа, соглашается продолжить коммуникацию и создать общий секрет (master secret), используя определенный вид шифрования. Теперь обе стороны используют симметричный ключ, который действителен только для данной сессии. После ее завершения ключ уничтожается, а при следующем посещении сайта процесс рукопожатия запускается сначала.
Принцип работы SSL и TLS — практически один и тот же. Поверх протокола TCP/IP устанавливается защищенный канал, внутри которого передаются данные по прикладному протоколу (HTTP, DNS, FTP, SMTP и другие).
Прикладной протокол находится в канале TLS/SSL, а тот в свою очередь уже в TCP/IP. По сути данные передаются именно по TCP/IP, но суть в том, что данные зашифрованы, и расшифровать их может только машина, которая установила соединения.
TLS и SSL используют:
Ассиметричная криптография для аутентификации. Кстати, этот тип шифрования более ресурсоемкий, поэтому его комбинируют с симметрическим шифрованием.
Симметричное шифрование для конфиденциальности.
Коды аутентичности сообщений для сохранения целостности сообщений.
Данный протокол широко используется в приложениях, работающих с сетью. Вообще, можно сказать, что это одно и тоже, ведь с версии 3.0 SSL появился его приемник — TLS, но название так прижилось, что до сих пор под SSL чаще всего подразумевают TLS.
Когда пользователь заходит на какой-то сайт по HTTPS, браузер запрашивает сертификат у сервера, который высылает копию SSL-сертификата с открытым ключом шифрования. После браузер проверяет и подтверждает этот сертификат. Кроме того, проверяется дата действия сертификата и наличие корневого сертификата, выданного надежным центром сертификации. Если браузер доверяет сертификату, то он генерирует предварительный секрет (pre-master secret) сессии на основе открытого ключа, используя максимально высокий уровень шифрования, который поддерживают обе стороны. Сервер расшифровывает предварительный секрет с помощью своего закрытого ключа, соглашается продолжить коммуникацию и создать общий секрет (master secret), используя определенный вид шифрования. Теперь обе стороны используют симметричный ключ, который действителен только для данной сессии. После ее завершения ключ уничтожается, а при следующем посещении сайта процесс рукопожатия запускается сначала.
Принцип работы SSL и TLS — практически один и тот же. Поверх протокола TCP/IP устанавливается защищенный канал, внутри которого передаются данные по прикладному протоколу (HTTP, DNS, FTP, SMTP и другие).
Прикладной протокол находится в канале TLS/SSL, а тот в свою очередь уже в TCP/IP. По сути данные передаются именно по TCP/IP, но суть в том, что данные зашифрованы, и расшифровать их может только машина, которая установила соединения.
👍1👨💻1
Алгоритм Диффи-Хеллмана #криптография
Это специальный криптографический протокол, который позволяет нескольким сторонам получить общий секретный ключ, используя незащищенный от прослушивания канал связи. Полученный ключ используется для шифрования дальнейшего обмена с помощью алгоритма симметричного шифрования. Но, к сожалению, он не такой безопасный, как может показаться, на него работает MITM атака. Но данный алгоритм и не задумывался решить эту проблему. Но одно из главных преимуществ этого алгоритма — ключ создается без прямого обмена им между сторонами.
Алгоритм Диффи-Хеллмана используется для того, чтобы две стороны могли создать общий секретный ключ, его еще называют "транспортный ключ", который затем используется для шифрования и дешифрования сообщений.
Это специальный криптографический протокол, который позволяет нескольким сторонам получить общий секретный ключ, используя незащищенный от прослушивания канал связи. Полученный ключ используется для шифрования дальнейшего обмена с помощью алгоритма симметричного шифрования. Но, к сожалению, он не такой безопасный, как может показаться, на него работает MITM атака. Но данный алгоритм и не задумывался решить эту проблему. Но одно из главных преимуществ этого алгоритма — ключ создается без прямого обмена им между сторонами.
Алгоритм Диффи-Хеллмана используется для того, чтобы две стороны могли создать общий секретный ключ, его еще называют "транспортный ключ", который затем используется для шифрования и дешифрования сообщений.
👍1 1
Большое руководство по сетям и шифрованию, 1 и 2 часть #архив #статья #хабр #моё
Приветствую вас, читатели Хабра! В этой статье я бы хотел уделить внимание такой вещи как шифрование трафика на Linux системах. Наверное, каждый из нас прекрасно понимает, насколько важна защита нашей приватности. Ведь в эпоху, когда многие компании собирают данные, а иногда хакеры могут перехватить наш трафик, это становится особенно важно. Просто необходимо позаботиться о безопасности своих данных. Например, быть уверенным, что какая-либо корпоративная сеть не прослушивается злоумышленниками. Информационная безопасность сегодня — это не просто мода, а насущная необходимость. Постоянно растет киберпреступность, и защита трафика от перехвата — это основной аспект цифровой жизни человека или бизнеса.
В рамках этой статьи мы рассмотрим основные методы шифрования, которые можно использовать в Linux, и разберем, как их внедрить. Мы попытаемся разобраться, как работает криптография на уровне протоколов, как работает сеть в Linux, что такое сквозное шифрование и виртуальные частные сети.
Особенно эта статья будет актуальна для людей, которых заботит конфиденциальность и защита данных, в том числе для корпораций.
+ Первая часть
+ Вторая часть
Приветствую вас, читатели Хабра! В этой статье я бы хотел уделить внимание такой вещи как шифрование трафика на Linux системах. Наверное, каждый из нас прекрасно понимает, насколько важна защита нашей приватности. Ведь в эпоху, когда многие компании собирают данные, а иногда хакеры могут перехватить наш трафик, это становится особенно важно. Просто необходимо позаботиться о безопасности своих данных. Например, быть уверенным, что какая-либо корпоративная сеть не прослушивается злоумышленниками. Информационная безопасность сегодня — это не просто мода, а насущная необходимость. Постоянно растет киберпреступность, и защита трафика от перехвата — это основной аспект цифровой жизни человека или бизнеса.
В рамках этой статьи мы рассмотрим основные методы шифрования, которые можно использовать в Linux, и разберем, как их внедрить. Мы попытаемся разобраться, как работает криптография на уровне протоколов, как работает сеть в Linux, что такое сквозное шифрование и виртуальные частные сети.
Особенно эта статья будет актуальна для людей, которых заботит конфиденциальность и защита данных, в том числе для корпораций.
+ Первая часть
+ Вторая часть
🔥1👨💻1 1
#HEX • IT
Вы бы хотели поддержать канал финансово?
Если кто хочет, может задонатить
Сбер, СПБ: +79538762319
Ton coin:
USDT (trc20):
Часть средств пойдет на оплату сервера для нашего сайта.
Благодарю.
Сбер, СПБ: +79538762319
Ton coin:
UQCeNdt_oTXg9Y-oHuA7RDBA7MEzNKg-u-KCi6VH95VS9TlhUSDT (trc20):
TEWSFXhZmYmSm1ozVcE3615UzkZvRp5HVrЧасть средств пойдет на оплату сервера для нашего сайта.
Благодарю.
❤2👍2
Для анализа системы существует утилита systemd-analyze.
Итак, если вы запустите ее, то вы увидите следующее (на скрине)
Как мы видим, за 7 секунд загрузилось ядро а за 11 секунд — пользовательское пространство. Всего система загрузилась за 18.5 секунд.
Если вам этого недостаточно, то можно использовать команду systemd-analyze blame, которая показывает также время запуска сервисов:
Итак, если вы запустите ее, то вы увидите следующее (на скрине)
Как мы видим, за 7 секунд загрузилось ядро а за 11 секунд — пользовательское пространство. Всего система загрузилась за 18.5 секунд.
Если вам этого недостаточно, то можно использовать команду systemd-analyze blame, которая показывает также время запуска сервисов:
$ systemd-analyze blame
3.869s dev-sda2.device
2.288s NetworkManager.service
1.606s user@1000.service
1.467s systemd-tmpfiles-setup-dev-early.service
1.445s upower.service
1.215s systemd-udev-trigger.service
996ms systemd-journal-flush.service
996ms systemd-journald.service
919ms systemd-rfkill.service
900ms iio-sensor-proxy.service
769ms systemd-tmpfiles-setup.service
653ms systemd-logind.service
546ms accounts-daemon.service
518ms polkit.service
459ms systemd-udevd.service
445ms systemd-tmpfiles-clean.service
425ms systemd-userdbd.service
395ms udisks2.service
384ms systemd-timesyncd.service
# ...
👍2 2
Journalctl — это утилита из состава systemd, отвечающая за работу с журналами и демоном journald.
Итак, чтобы просто просмотреть логи, можно просто ввести команду journalctl.
Данная команда выводит все записи из всех журналов, начиная с момента загрузки системы. Время указано по локальному времени в системе, для того чтобы вывести время в формате UTC, надо использовать флаг --utc.
Итак, но допустим, мы не хотим читать абсолютно все логи, и нам нужны только ошибки.
Для уровней важности, приняты следующие обозначения:
0: emergency (неработоспособность системы)
1: alerts (предупреждения, требующие немедленного вмешательства)
2: critical (критическое состояние)
3: errors (ошибки)
4: warning (предупреждения)
5: notice (уведомления)
6: info (информационные сообщения)
7: debug (отладочные сообщения)
Для того, чтобы указать код важности, требуется флаг -p. Когда мы, например, будем использовать journalctl -p 3, то в журнале будут сообщения с 0, 1, 2 и 3 уровнем (то есть включая предыдущие).
Итак, чтобы просто просмотреть логи, можно просто ввести команду journalctl.
Данная команда выводит все записи из всех журналов, начиная с момента загрузки системы. Время указано по локальному времени в системе, для того чтобы вывести время в формате UTC, надо использовать флаг --utc.
Итак, но допустим, мы не хотим читать абсолютно все логи, и нам нужны только ошибки.
Для уровней важности, приняты следующие обозначения:
0: emergency (неработоспособность системы)
1: alerts (предупреждения, требующие немедленного вмешательства)
2: critical (критическое состояние)
3: errors (ошибки)
4: warning (предупреждения)
5: notice (уведомления)
6: info (информационные сообщения)
7: debug (отладочные сообщения)
Для того, чтобы указать код важности, требуется флаг -p. Когда мы, например, будем использовать journalctl -p 3, то в журнале будут сообщения с 0, 1, 2 и 3 уровнем (то есть включая предыдущие).
👍2⚡1❤1 1