Дисковая и файловая подсистемы
Диски в Linux: LVMRAID - Программный RAID-массив средствами LVM (Logical Volume Management)
Диски в Linux: Перенос каталога /home на отдельный раздел/том LVM
Диски в Linux: Основы LVM - Logical Volume Management, Менеджер логических томов
Файловые системы в Linux: Квотирование в XFS
Хранение файлов в Linux: Индексные дескрипторы (inodes)
Хранение файлов в Linux: Жесткие ссылки (hard links)
Резервное сохранение в Linux: Использование утилит копирования
Резервное сохранение в Linux: Возможности жестких ссылок
Диски в Linux: LVMRAID - Программный RAID-массив средствами LVM (Logical Volume Management)
Диски в Linux: Перенос каталога /home на отдельный раздел/том LVM
Диски в Linux: Основы LVM - Logical Volume Management, Менеджер логических томов
Файловые системы в Linux: Квотирование в XFS
Хранение файлов в Linux: Индексные дескрипторы (inodes)
Хранение файлов в Linux: Жесткие ссылки (hard links)
Резервное сохранение в Linux: Использование утилит копирования
Резервное сохранение в Linux: Возможности жестких ссылок
Bython - python со скобками
Это проект, который заменяет все отступы в Python на фигурные скобки. Больше не нужно о них париться — если накосячите с табами и пробелами или перенесете кусок кода с другим стилем отступов, то ничего не сломается.
https://pypi.org/project/Bython/
Это проект, который заменяет все отступы в Python на фигурные скобки. Больше не нужно о них париться — если накосячите с табами и пробелами или перенесете кусок кода с другим стилем отступов, то ничего не сломается.
https://pypi.org/project/Bython/
👍1😁1
Перегрузка функций
C++ позволяет определять функции с одним и тем же именем, но разным набором параметров. Подобная возможность и называется function overloading. Компилятор уже сам выбирает нужный тип функции.
При этом различные версии функции могут также отличаться по возвращаемому типу. Однако компилятор при выборе ориентируется именно на кол-во параметров и их тип.
Простейший пример:
Функции могут отличаться и количеством аргументом, и их типом и так далее.
Но стоит учитывать что функция с параметрами-ссылками и обычными параметрами считаются одинаковыми. Но если в одной функции параметр является константой и ссылкой/указателем, то эти функции уже будут различаться компилятором.
C++ позволяет определять функции с одним и тем же именем, но разным набором параметров. Подобная возможность и называется function overloading. Компилятор уже сам выбирает нужный тип функции.
При этом различные версии функции могут также отличаться по возвращаемому типу. Однако компилятор при выборе ориентируется именно на кол-во параметров и их тип.
Простейший пример:
#include <iostream>
int max(int, int);
double max(double, double, double);
int main() {
int result1 = {max(1, 3)};
double result2 = {max(3.0000001, 3.000001)};
std::cout << result1 << std::endl;
std::cout << result2 << std::endl;
return 0;
}
int max(int a, int b) {
return (a >= b ? a : b);
}
double sum(double a, double b) {
return (a >= b ? a : b);
}
Функции могут отличаться и количеством аргументом, и их типом и так далее.
Но стоит учитывать что функция с параметрами-ссылками и обычными параметрами считаются одинаковыми. Но если в одной функции параметр является константой и ссылкой/указателем, то эти функции уже будут различаться компилятором.
👍1🔥1
«Ненавижу, _____, C++-массивы», или Почему про них нужно знать, но не нужно использовать в своей каждодневной работе
Встроенные массивы нужно уметь готовить, но вот вопрос: а стоит ли, если в С++ есть более безопасные альтернативы? Вопрос этот, скорее, риторический, может быть даже и философский. Оставим себе лишь надежду на то, что после этой небольшой заметки ответить на этот вопрос будет чуточку легче.
Встроенные массивы нужно уметь готовить, но вот вопрос: а стоит ли, если в С++ есть более безопасные альтернативы? Вопрос этот, скорее, риторический, может быть даже и философский. Оставим себе лишь надежду на то, что после этой небольшой заметки ответить на этот вопрос будет чуточку легче.
👍1🔥1
Утилита ss (Socket Statistics) в Linux предоставляет информацию о сетевых сокетах, соединениях TCP/UDP, маршрутах и других сетевых параметрах.
Несколько примеров использования ss:
Отобразить все открытые сокеты:
Отобразить информацию о всех TCP-соединениях:
Отобразить информацию о всех UDP-соединениях:
Отобразить статистику по сетевым сокетам в реальном времени:
Отобразить подробную информацию о TCP-соединениях и фильтровать вывод по заданному адресу и порту (например, IP-адресу
Отобразить информацию о сетевых интерфейсах и маршрутах:
Отобразить информацию о сокетах, которые находятся в состоянии ожидания:
Отобразить подробную информацию о конкретном сокете с заданным идентификатором:
Отобразить информацию о сокетах, установленных в режиме прослушивания:
Отобразить информацию о сокетах с указанным типом протокола (например, RAW, DGRAM, STREAM):
Несколько примеров использования ss:
Отобразить все открытые сокеты:
ss -a
Отобразить информацию о всех TCP-соединениях:
ss -t
Отобразить информацию о всех UDP-соединениях:
ss -u
Отобразить статистику по сетевым сокетам в реальном времени:
ss -s
Отобразить подробную информацию о TCP-соединениях и фильтровать вывод по заданному адресу и порту (например, IP-адресу
192.168.0.1 и порту 80):ss -t -a 'dst 192.168.0.1:80'
Отобразить информацию о сетевых интерфейсах и маршрутах:
ss -i
Отобразить информацию о сокетах, которые находятся в состоянии ожидания:
ss -o state wait
Отобразить подробную информацию о конкретном сокете с заданным идентификатором:
ss -t -a -e sport = :<порт>
Отобразить информацию о сокетах, установленных в режиме прослушивания:
ss -l
Отобразить информацию о сокетах с указанным типом протокола (например, RAW, DGRAM, STREAM):
ss -t -a -K <тип_протокола>Ставим пароль на GRUB
1. Генерация хэш-пароля
За данное действие отвечает утилита:
А затем два раза ввести будущий пароль для GRUB. Полученный хэш – это длинная строка, которая начинается с
2. Изменить настройки
Теперь нужно назначить супер-пользователя для GRUB. Это удобно делать через файл
Вместо
Теперь выполните:
Пролистайте его содержимое до самого конца и на новой строке вставьте ранее подготовленную команду из 4 строк, которая сохранена в текстовом документе. Сохраните изменения.
3. Обновить конфигурацию
4. Проверить работу
1. Генерация хэш-пароля
За данное действие отвечает утилита:
grub-mkpasswd-pbkdf2 А затем два раза ввести будущий пароль для GRUB. Полученный хэш – это длинная строка, которая начинается с
grub.pbkdf2. Ее нужно скопировать и куда-нибудь сохранить.2. Изменить настройки
Теперь нужно назначить супер-пользователя для GRUB. Это удобно делать через файл
/etc/grub.d/00_header, отредактировав его содержимое. Удобнее сначала открыть текстовый документ, куда все было сохранено, и вставить команду следующего вида:cat << EOFset superusers="user_name"password_pbkdf2 user_name хэш-парольEOFВместо
user_name во второй и третьей строке укажите предпочтительное имя супер-пользователя GRUB, а также замените хэш пароль на свой.Теперь выполните:
sudo nano /etc/grub.d/00_headerПролистайте его содержимое до самого конца и на новой строке вставьте ранее подготовленную команду из 4 строк, которая сохранена в текстовом документе. Сохраните изменения.
3. Обновить конфигурацию
sudo update-grub4. Проверить работу
reboot👍2⚡1🔥1 1
Unix на работе. Часть первая: Качая железо
🐧 Далее под катом...
#Linux
Серия статей про реальное повседневное использование Linux и *BSD-систем в качестве основной ОС для работы. И начнем мы с общих принципов и выбора подходящего оборудования.
#Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3 2
Каждый имеет право быть похожим на себя. Расстройство аутистического спектра и карьера в IT: личный опыт
«Я офигеваю от нелогичности окружающих, а они — от того, что я робот». Эта фраза идеально описывает особенности моего взаимодействия с окружающим миром. Я такой же робот. Или инопланетянин. Я могу только догадываться, каким я кажусь окружающим. Но теперь...
Читать статью
#хабр #статья
«Я офигеваю от нелогичности окружающих, а они — от того, что я робот». Эта фраза идеально описывает особенности моего взаимодействия с окружающим миром. Я такой же робот. Или инопланетянин. Я могу только догадываться, каким я кажусь окружающим. Но теперь...
Читать статью
#хабр #статья
Хабр
«Каждый имеет право быть похожим на себя». Расстройство аутистического спектра и карьера в IT: личный опыт
« Я офигеваю от нелогичности окружающих, а они — от того, что я робот ». Эта фраза идеально описывает особенности моего взаимодействия с окружающим миром. Я такой же робот. Или инопланетянин. Я могу...
👍1🔥1
«Голая Java» или разработка без всего
Рассказываю что можно сделать на одном только голом JDK. Это старое и ныне почти забытое искусство разработки без внешних библиотек и фреймворков. Работать будем «как в былинные времена» — киркой и лопатой голыми руками и немного мозгом.В работе. Disclai...
Читать статью
#хабр #статья
Рассказываю что можно сделать на одном только голом JDK. Это старое и ныне почти забытое искусство разработки без внешних библиотек и фреймворков. Работать будем «как в былинные времена» — киркой и лопатой голыми руками и немного мозгом.В работе. Disclai...
Читать статью
#хабр #статья
Хабр
«Голая Java» или разработка без всего
Рассказываю что можно сделать на одном только голом JDK . Это старое и ныне почти забытое искусство разработки без внешних библиотек и фреймворков . Работать будем «как в былинные...
👍1🥰1
Восставший из пепла… и утиля: как я оживил ретро-ноутбук на 386'ом, который старше меня в полтора раза?
Буквально с самого детства, как я начал писать код, я испытываю большой интерес к классическим ЭВМ. В основном круг моих интересов — это IBM-PC совместимые машины и, конечно же, спек, однако и ретро-консоли с теми же 6502 и M68K мне не менее интересны бл...
Читать статью
#хабр #статья
Буквально с самого детства, как я начал писать код, я испытываю большой интерес к классическим ЭВМ. В основном круг моих интересов — это IBM-PC совместимые машины и, конечно же, спек, однако и ретро-консоли с теми же 6502 и M68K мне не менее интересны бл...
Читать статью
#хабр #статья
Хабр
Восставший из пепла… и утиля: как я оживил ретро-ноутбук на 386'ом, который старше меня в полтора раза?
Буквально с самого детства, как я начал писать код, я испытываю большой интерес к классическим ЭВМ. В основном круг моих интересов — это IBM-PC совместимые машины и, конечно же, спек, однако и...
👍1👏1
Что стоит знать и уметь начинающему мастеру по ремонту ноутбуков? Опциональные варианты
Я написал две статьи на тему того, что нужно знать и уметь начинающему специалисту по ремонту ноутбуков. Вероятно, будет и третья статья. А сегодня предлагаю вместе подумать над тем, что ремонтнику могло бы пригодиться помимо таких базовых навыков, как...
Читать статью
#хабр #статья
Я написал две статьи на тему того, что нужно знать и уметь начинающему специалисту по ремонту ноутбуков. Вероятно, будет и третья статья. А сегодня предлагаю вместе подумать над тем, что ремонтнику могло бы пригодиться помимо таких базовых навыков, как...
Читать статью
#хабр #статья
Хабр
Что стоит знать и уметь начинающему мастеру по ремонту ноутбуков? Опциональные варианты
Я написал две статьи на тему того, что нужно знать и уметь начинающему специалисту по ремонту ноутбуков. Вероятно, будет и третья статья. А сегодня предлагаю вместе подумать над тем, что ремонтнику...
👍1 1
Flappy Bird на Си для Android весом APK всего 92 Килобайта
Приветствую всех!Невозможное возможно, сегодня об этом и будет статья.ИсторияВсё началось в далёком 2021 году. Тогда я наткнулся на репозиторий rawdrawandroid. Появилась мотивация сделать какую-нибудь игру с минимальным весом APK, но при этом, что бы игр...
Читать статью
#хабр #статья
Приветствую всех!Невозможное возможно, сегодня об этом и будет статья.ИсторияВсё началось в далёком 2021 году. Тогда я наткнулся на репозиторий rawdrawandroid. Появилась мотивация сделать какую-нибудь игру с минимальным весом APK, но при этом, что бы игр...
Читать статью
#хабр #статья
Хабр
Flappy Bird на Си для Android весом APK всего 92 Килобайта
Приветствую всех! Невозможное возможно, сегодня об этом и будет статья. История Всё началось в далёком 2021 году. Тогда я наткнулся на репозиторий rawdrawandroid . Появилась мотивация...
⚡1👍1