void Transmogrify( int, int );
int count = 5;
Transmogrify( ++count, ++count );
Выше дан код на С++. В каком порядке будут вычислены аргументы функции?
Anonymous Quiz
46%
Прямой порядок: сначала первый аргумент, затем второй
0%
Обратный порядок: сначала второй аргумент, затем первый
15%
Прямой порядок до стандарта С++14 и обратный - после
38%
Порядок вычислений не известен
Иногда я отхожу от основной темы канала. Бывает редко, но бывает. Я писал и про технику, и про природу, и про людей.
Чем шире наш кругозор, тем лучше. Особенно в тех сферах деятельности, где есть место творчеству и изобретательству. А в разработке ПО этого хоть отбавляй.
В общем… киты.
Чем шире наш кругозор, тем лучше. Особенно в тех сферах деятельности, где есть место творчеству и изобретательству. А в разработке ПО этого хоть отбавляй.
В общем… киты.
Киты
Киты, конечно, не обезьяны и не тигры, но тоже очень интересные. Это млекопитающие, которые устали ходить по земле и эволюционировали обратно в воду. Это самые крупные животные за всю историю жизни на Земле. Да-да, крупнее синего кита мы не знаем никого!
Еще несколько фактов о синем гиганте:
- За один выдох он выпускает столб пара высотой с двухэтажный дом.
- Воздухом, прошедшим через его легкие, можно наполовину заполнить бетономешалку.
- Его сердце с сосудами размером с суповую тарелку питает тело сквозь 500 млн км артерий, капилляров и вен.
- Среди всех организмов он издает самый мощный звук, распространяющийся более чем на 1500 км.
- Самая большая зафиксированная длина тела - 33,22 м.
- Самая большая зафиксированная масса тела - 136,4 т при длине 27 м.
Палеонтологи уверяют, что киты никогда не были такими крупными как сегодня. Самостоятельно изучить останки древних китов можно по 3D-сканам в открытом доступе. Кстати, просмотр 3D-моделей там вертится на Voyager, написанном на TypeScript. Опенсорс.
Ник Пайенсон - Наблюдая за китами
#КнижнаяПолка
Киты, конечно, не обезьяны и не тигры, но тоже очень интересные. Это млекопитающие, которые устали ходить по земле и эволюционировали обратно в воду. Это самые крупные животные за всю историю жизни на Земле. Да-да, крупнее синего кита мы не знаем никого!
Еще несколько фактов о синем гиганте:
- За один выдох он выпускает столб пара высотой с двухэтажный дом.
- Воздухом, прошедшим через его легкие, можно наполовину заполнить бетономешалку.
- Его сердце с сосудами размером с суповую тарелку питает тело сквозь 500 млн км артерий, капилляров и вен.
- Среди всех организмов он издает самый мощный звук, распространяющийся более чем на 1500 км.
- Самая большая зафиксированная длина тела - 33,22 м.
- Самая большая зафиксированная масса тела - 136,4 т при длине 27 м.
Палеонтологи уверяют, что киты никогда не были такими крупными как сегодня. Самостоятельно изучить останки древних китов можно по 3D-сканам в открытом доступе. Кстати, просмотр 3D-моделей там вертится на Voyager, написанном на TypeScript. Опенсорс.
Ник Пайенсон - Наблюдая за китами
#КнижнаяПолка
👍4❤1
Выше дан код на С++. В чем разница между строками A и B?
Anonymous Quiz
29%
Разницы нет
36%
В строке B будет исключение, если вектор пуст
21%
В строке A будет исключение, если вектор пуст
14%
В строке B элемент изымается из вектора
Как запустить приложение на PySide6 под Windows 7
Если вкратце, то никак 🤷♂️
PySide6 (Qt6) использует рантайм Windows 10 и выше. Поэтому на старых виндах он работать не будет. Но если очень надо, то можно попробовать откатить проект до PySide2 и Python 3.8. Это последние версии, поддерживающие Windows 7.
В статье я начал собирать чек-лист по миграции проекта с PySide6 до PySide2 на примере YouTubeAnalyzer. Там сейчас есть такая необходимость. Чек-лист будет пополняться, пока не прекратим поддержку Windows 7.
Чек-лист преследует цель не только показать как перейти на PySide2, но и остудить горячие головы, которым вдруг вздумается это делать. YouTubeAnalyzer - это маленький проект. На проектах побольше я бы перед началом хорошо подумал.
Если вкратце, то никак 🤷♂️
PySide6 (Qt6) использует рантайм Windows 10 и выше. Поэтому на старых виндах он работать не будет. Но если очень надо, то можно попробовать откатить проект до PySide2 и Python 3.8. Это последние версии, поддерживающие Windows 7.
В статье я начал собирать чек-лист по миграции проекта с PySide6 до PySide2 на примере YouTubeAnalyzer. Там сейчас есть такая необходимость. Чек-лист будет пополняться, пока не прекратим поддержку Windows 7.
Чек-лист преследует цель не только показать как перейти на PySide2, но и остудить горячие головы, которым вдруг вздумается это делать. YouTubeAnalyzer - это маленький проект. На проектах побольше я бы перед началом хорошо подумал.
👍4
В каком паттерне проектирования при изменении состояния одного объекта, все зависимые объекты получают оповещения?
Anonymous Quiz
68%
Наблюдатель
18%
Нет такого паттерна
0%
Одиночка
14%
Команда
Шаблонный UI
Если шаблоны кодирования у всех на слуху, то с шаблонами UI (user interface) ситуация поскучнее. И хорошо, что предпринимаются попытки шаблонизировать UI для систем определенной направленности. Например, систем разработки неважно чего.
Это отличная статья, мастрид. Шаблон описан детально, с вредными и полезными советами.
Ключевые пункты:
1. Вверху окна располагаются вкладки для переключения рабочего контекста.
2. Чуть ниже - панель с рабочими инструментами (тулбар).
3. Слева - панель навигации по структуре документа, проекта, директории и т.п.
4. Справа - панель свойств для выбранных элементов.
5. Центральное пространство занимает основная рабочая область с самой ценной информацией.
Кстати, последнее время наблюдается тенденция к расширению рабочей области до размера окна (Blender). Все панели при этом остаются на своих привычных местах, но отображаются поверх рабочей области.
Keep it together: 5 essential design patterns for dev tool UIs
Если шаблоны кодирования у всех на слуху, то с шаблонами UI (user interface) ситуация поскучнее. И хорошо, что предпринимаются попытки шаблонизировать UI для систем определенной направленности. Например, систем разработки неважно чего.
Это отличная статья, мастрид. Шаблон описан детально, с вредными и полезными советами.
Ключевые пункты:
1. Вверху окна располагаются вкладки для переключения рабочего контекста.
2. Чуть ниже - панель с рабочими инструментами (тулбар).
3. Слева - панель навигации по структуре документа, проекта, директории и т.п.
4. Справа - панель свойств для выбранных элементов.
5. Центральное пространство занимает основная рабочая область с самой ценной информацией.
Кстати, последнее время наблюдается тенденция к расширению рабочей области до размера окна (Blender). Все панели при этом остаются на своих привычных местах, но отображаются поверх рабочей области.
Keep it together: 5 essential design patterns for dev tool UIs
👍4🔥1
Мем в презентации
Сегодня народ любит вставить в презентацию какой-нибудь мем, гифку и т.п. Студенческие работы в этом плане иногда доходят до невероятных высот. Стикеры, неон, стритрейсеры, политика, кино, цветочки и куча чего ещё.
Цель - повеселить публику, привлечь внимание, дать отдохнуть. Это с одной стороны. А с другой - чем-то занять пустоту. Пустоту на слайдах и в материале.
Бывает, что весёлые вставки действительно имеют место. Редко-редко. Юмор автора должен подходить аудитории. Чтобы было весело, должно сойтись много факторов: возраст, специализация, настроение, фаза луны...
Поэтому я рекомендую сводить хохмочки в презентациях к минимуму. Лучше сделать сам материал интересным и доступным. Хотя это очень непросто.
Сегодня народ любит вставить в презентацию какой-нибудь мем, гифку и т.п. Студенческие работы в этом плане иногда доходят до невероятных высот. Стикеры, неон, стритрейсеры, политика, кино, цветочки и куча чего ещё.
Цель - повеселить публику, привлечь внимание, дать отдохнуть. Это с одной стороны. А с другой - чем-то занять пустоту. Пустоту на слайдах и в материале.
Бывает, что весёлые вставки действительно имеют место. Редко-редко. Юмор автора должен подходить аудитории. Чтобы было весело, должно сойтись много факторов: возраст, специализация, настроение, фаза луны...
Поэтому я рекомендую сводить хохмочки в презентациях к минимуму. Лучше сделать сам материал интересным и доступным. Хотя это очень непросто.
😢4🔥1
int value = 12345;
char buf[5];
sprintf(buf, "%4d", value);
printf( "%s\n", buf );
printf( "%d\n", value );
Выше дан код на С++. Какой ожидаете вывод программы? (в постах можно найти подсказку)
Anonymous Quiz
8%
Первая строка "12345", вторая строка "12345"
0%
Одна строка "1234512345"
25%
Первая строка "1234", вторая строка "12345"
67%
Неопределенное поведение
Зачем нужна ротация логов
Ротация логов нужна для контроля размера файлов журнала. Но зачем, если современный софт без проблем позволяет просматривать текстовые файлы гигантских размеров?
Вопрос логичный, если бы не некоторые “но”. Когда мы не используем ротацию, то:
1. Рискуем потерять весь файл логов при ошибке записи (например, при внезапном отключении питания).
2. Рискуем заполнить логами всё дисковое пространство.
3. Рискуем снизить производительность своего софта (что проявится у клиента, когда файл логов “разжирнеет”).
4. Делаем практически невозможным бэкап логов.
5. Усложняем запрос логов у клиента (164 гигабайта?! 😳 У меня нет такой флешки… Сейчас спрошу в отделе матобеспечения…)
6. Усложняем анализ логов (тут есть и техническая сторона, и психологическая).
Ротация логов нужна для контроля размера файлов журнала. Но зачем, если современный софт без проблем позволяет просматривать текстовые файлы гигантских размеров?
Вопрос логичный, если бы не некоторые “но”. Когда мы не используем ротацию, то:
1. Рискуем потерять весь файл логов при ошибке записи (например, при внезапном отключении питания).
2. Рискуем заполнить логами всё дисковое пространство.
3. Рискуем снизить производительность своего софта (что проявится у клиента, когда файл логов “разжирнеет”).
4. Делаем практически невозможным бэкап логов.
5. Усложняем запрос логов у клиента (164 гигабайта?! 😳 У меня нет такой флешки… Сейчас спрошу в отделе матобеспечения…)
6. Усложняем анализ логов (тут есть и техническая сторона, и психологическая).
👍1
Выше дан код на C++. У какой функции вариант постановки фигурных скобок правильный?
Anonymous Quiz
55%
У всех правильный
18%
func1
18%
func1 и func2
9%
func3
Как провести DOS-атаку
DOS-атака - это воздействие на вычислительную систему с целью доведения ее до отказа. Провести атаку можно с помощью утилиты hping3, завалив целевой хост кучей TCP-пакетов.
Команда может быть такой:
где :
Таким образом hping3 задудосит SYN-запросами целевой хост, игнорируя все ответы от него (а хост будет отвечать, пытаясь добросовестно подтвердить соединение).
Используйте инструмент, чтобы исследовать собственные системы и выстраивать стратегии защиты.
DOS АТАКА С HPING3
#сети #безопасность
DOS-атака - это воздействие на вычислительную систему с целью доведения ее до отказа. Провести атаку можно с помощью утилиты hping3, завалив целевой хост кучей TCP-пакетов.
Команда может быть такой:
hping3 -S -a 192.168.2.10 --flood -p 5201 192.168.1.10
где :
-S - SYN-флаг (запрос на установку соединения),-a 192.168.2.10 - адрес источника пакета,--flood - отправка пакетов без ожидания ответа с максимальной скоростью (режим флуда),-p - порт назначения,192.168.1.10 - атакуемый адрес.Таким образом hping3 задудосит SYN-запросами целевой хост, игнорируя все ответы от него (а хост будет отвечать, пытаясь добросовестно подтвердить соединение).
Используйте инструмент, чтобы исследовать собственные системы и выстраивать стратегии защиты.
DOS АТАКА С HPING3
#сети #безопасность
❤1🤯1
Воистину, так себе программист
Пошел к коллегам с проблемой: "не собирается проект из песочницы, ничего не могу сделать, помогите!".
Конечно же народ откликнулся, накидали варианты. Исключительное участие и сочувствие. Но увы, не помогает. Уже в другую команду написал письмо...
И тут, спустя 3 часа, заметил, что неправильно ввожу команду.
Надо так:
А я вот так:
🤦♂️ чёрточки...
#факап
Пошел к коллегам с проблемой: "не собирается проект из песочницы, ничего не могу сделать, помогите!".
Конечно же народ откликнулся, накидали варианты. Исключительное участие и сочувствие. Но увы, не помогает. Уже в другую команду написал письмо...
И тут, спустя 3 часа, заметил, что неправильно ввожу команду.
Надо так:
> schroot -c debian9.amd64.buildd -- make
А я вот так:
> schroot -c debian9.amd64.buildd make
🤦♂️ чёрточки...
#факап
🤯5
Этот паттерн наиболее полно соблюдает принцип открытости/закрытости и предпочитает композицию вместо наследования. О чем речь?
Anonymous Quiz
6%
Одиночка
6%
Шаблонный метод
61%
Декоратор
28%
Фабрика
Дайте оценку. В какой из указанных диапазонов попадает максимальная зафиксированная масса синего кита?
Anonymous Quiz
13%
50 - 100 тонн
25%
100 - 200 тонн
38%
200 - 250 тонн
25%
250 - 350 тонн