О рентгеновских лучах доходчиво
Попался интереснейший диафильм 1973 года о рентгеновских лучах. Кратко, наглядно, понятно. Подаче материала можно только поучиться.
Обратил внимание, что помимо медицины затронута инженерная тема - дефектоскопия рентгеном (слайд 31), которая и сегодня вполне себе используется.
В Формуле 1, например, после каждой гонки узлы автомобиля "просвечиваются" рентгеном на предмет дефектов. Проблемные детали вовремя заменяются, чтобы предупредить разрушение в процессе эксплуатации. Ведь при высоких нагрузках те же микротрещины прогрессируют очень быстро.
Крайне рекомендую просмотреть весь диафильм. Там минут на 5.
#КнижнаяПолка #презентация #стараяшкола #медицина
Попался интереснейший диафильм 1973 года о рентгеновских лучах. Кратко, наглядно, понятно. Подаче материала можно только поучиться.
Обратил внимание, что помимо медицины затронута инженерная тема - дефектоскопия рентгеном (слайд 31), которая и сегодня вполне себе используется.
В Формуле 1, например, после каждой гонки узлы автомобиля "просвечиваются" рентгеном на предмет дефектов. Проблемные детали вовремя заменяются, чтобы предупредить разрушение в процессе эксплуатации. Ведь при высоких нагрузках те же микротрещины прогрессируют очень быстро.
Крайне рекомендую просмотреть весь диафильм. Там минут на 5.
#КнижнаяПолка #презентация #стараяшкола #медицина
👍2🔥2
Unix is user-friendly—it’s just choosy about who its friends are.
А ты дружишь с Unix? 😁
🥰2😢2
В этом полугодии по оценкам компании я молодец на 6 пунктов из 10 возможных! 💪
А в прошлом полугодии был молодец на 7 пунктов.
"Все нормально, падаю!"
А в прошлом полугодии был молодец на 7 пунктов.
"Все нормально, падаю!"
🔥5👍2
Сколько аргументов должно быть у функции
Если коротко, то чем меньше, тем лучше.
Средствами языков этот параметр не ограничивается. Точнее пределы есть, но они неадекватно далеки.
Обычно этот вопрос пытаются закрыть стайл-гайдом, исходя из следующих убеждений:
- код должен быть простым для чтения;
- и простым для поддержки.
Я ориентируюсь на потолок в 4-5 аргументов. При превышении есть повод задуматься о разделении функции или выделении объекта.
Еще мнения можно почитать здесь.
Если коротко, то чем меньше, тем лучше.
Средствами языков этот параметр не ограничивается. Точнее пределы есть, но они неадекватно далеки.
Обычно этот вопрос пытаются закрыть стайл-гайдом, исходя из следующих убеждений:
- код должен быть простым для чтения;
- и простым для поддержки.
Я ориентируюсь на потолок в 4-5 аргументов. При превышении есть повод задуматься о разделении функции или выделении объекта.
Еще мнения можно почитать здесь.
👍4
Что в языке С++ обеспечивает полиморфизм времени компиляции?
Anonymous Quiz
37%
Виртуальные функции
26%
Шаблоны
21%
Статический анализатор
16%
Переопределение с final
🤯4
This media is not supported in your browser
VIEW IN TELEGRAM
Бакалаврский диплом: Шаблон специальной системы автоматизированного проектирования (САПР)
Решил, что буду складывать здесь брифы ярких работ студентов. Для истории.
Я уже писал раньше про учебный проект EduCad. Это комплекс библиотек на основе Qt и OpenCasCade (C++), позволяющий упростить создание САПР-приложений в рамках образовательного процесса.
В этой дипломной работе мы сделали еще один шаг к построению шаблонной функциональности специальных САПР. Шаблон включает в себя блоки базовых элементов окна, инструменты управления сценой и обмена данными, а также блок конструирования модели. В качестве подопытной модели выбран ступенчатый вал.
Идея состоит в том, чтобы разработчик концентрировал свое внимание на конструировании модели, а вся вспомогательная функциональность предоставлялась шаблоном.
В перспективе хотим дойти до реализации этого шаблона в виде мастера создания проекта в среде разработки (QtCreator, VSCode). Тогда можно будет "натыкать" минимальную функциональность приложения перед началом основной работы. Генерация кода как она есть 🙂
Решил, что буду складывать здесь брифы ярких работ студентов. Для истории.
Я уже писал раньше про учебный проект EduCad. Это комплекс библиотек на основе Qt и OpenCasCade (C++), позволяющий упростить создание САПР-приложений в рамках образовательного процесса.
В этой дипломной работе мы сделали еще один шаг к построению шаблонной функциональности специальных САПР. Шаблон включает в себя блоки базовых элементов окна, инструменты управления сценой и обмена данными, а также блок конструирования модели. В качестве подопытной модели выбран ступенчатый вал.
Идея состоит в том, чтобы разработчик концентрировал свое внимание на конструировании модели, а вся вспомогательная функциональность предоставлялась шаблоном.
В перспективе хотим дойти до реализации этого шаблона в виде мастера создания проекта в среде разработки (QtCreator, VSCode). Тогда можно будет "натыкать" минимальную функциональность приложения перед началом основной работы. Генерация кода как она есть 🙂
🔥5👍1
Мем в презентации (часть 2)
Возвращаясь к теме мемов в презентациях, обратил внимание на отношение к юмору на курсе "Визуальные презентации" от Яндекса.
Отдельно там этого не касались, но пару пунктов я выделил:
1. Юмор уместен на живом выступлении. В презентациях на печать он совсем ни к чему.
2. Уместность шутки определяется полезным действием презентации. Полезное действие должно решать проблему слушателя.
То есть здесь шутки не отметают напрочь. Но они должны прямым образом соответствовать цели презентации.
Вообще, лейтмотив курса состоит в принуждении сокращать любой визуальный шум. Только конкретика, только по делу.
Возвращаясь к теме мемов в презентациях, обратил внимание на отношение к юмору на курсе "Визуальные презентации" от Яндекса.
Отдельно там этого не касались, но пару пунктов я выделил:
1. Юмор уместен на живом выступлении. В презентациях на печать он совсем ни к чему.
2. Уместность шутки определяется полезным действием презентации. Полезное действие должно решать проблему слушателя.
То есть здесь шутки не отметают напрочь. Но они должны прямым образом соответствовать цели презентации.
Вообще, лейтмотив курса состоит в принуждении сокращать любой визуальный шум. Только конкретика, только по делу.
👍4
Какой паттерн получим, если отделим все части приложения, в которых создаются экземпляры конкретных классов, от другой части приложения?
Anonymous Quiz
26%
Шаблонный метод
11%
Заместитель
26%
Строитель
37%
Фабричный метод
Обратил внимание на the component gallery - каталог компонентов пользовательских интерфейсов (UI). Помимо очевидной каталогизации, он решает еще 2 проблемы:
1. Именование компонентов. Если забыли или не знаете как называется компонент, можно восполнить пробел.
2. Насмотренность. Стоит потратить несколько минут, чтобы пробежаться по каталогу и открыть для себя что-то новое. Или закрепить старое)
Есть смысл добавить в закладки🔖 Каталог обновляется.
#ui
1. Именование компонентов. Если забыли или не знаете как называется компонент, можно восполнить пробел.
2. Насмотренность. Стоит потратить несколько минут, чтобы пробежаться по каталогу и открыть для себя что-то новое. Или закрепить старое)
Есть смысл добавить в закладки
#ui
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Какой принцип проектирования гласит, что код должен зависеть от абстракций, а не от конкретных классов?
Final Results
70%
Принцип инверсии зависимостей
20%
Принцип открытости/закрытости
0%
Принцип подстановки Лисков
10%
Принцип японской Годзиллы
🤯3
⬆️ ❌ В этой викторине я вмазал правильный ответ не туда 😁
Когда-то это должно было случиться) Видимо принял желаемое за действительное...
Давайте заново!
Когда-то это должно было случиться) Видимо принял желаемое за действительное...
Давайте заново!
Какой принцип проектирования гласит, что код должен зависеть от абстракций, а не от конкретных классов?
Anonymous Quiz
40%
Принцип инверсии зависимостей
30%
Принцип открытости/закрытости
5%
Принцип подстановки Лисков
25%
Принцип японской Годзиллы
Конкуретность или параллелизм
Оба понятия говорят об одновременном выполнении задач. Разница в деталях. #Словарь
Конкуретность - это одновременное выполнение N задач на одной вычислительной единице.
Параллелизм - это одновременное выполнение N задач на N вычислительных единиц.
При параллелизме "одновременность" обеспечиваются многопроцессорным “железом”, а при конкуретности - преимущественно логикой программы с управлением конфликтами.
Эта картинка хорошо показывает различие:
Оба понятия говорят об одновременном выполнении задач. Разница в деталях. #Словарь
Конкуретность - это одновременное выполнение N задач на одной вычислительной единице.
Параллелизм - это одновременное выполнение N задач на N вычислительных единиц.
При параллелизме "одновременность" обеспечиваются многопроцессорным “железом”, а при конкуретности - преимущественно логикой программы с управлением конфликтами.
Эта картинка хорошо показывает различие:
👍2
#include <iostream>
struct B { int n; };
class X : virtual public B {};
class Y : virtual public B {};
struct AA : X, Y
{
AA()
{
X::n = 1;
Y::n = 2;
std::cout << X::n << Y::n << '\n';
}
};
int main()
{
AA a;
return 0;
}
😱3
Выше дан код на C++. Какой вывод будет у программы?
Anonymous Quiz
25%
22
5%
11
30%
12
40%
Никакой. Ошибка сборки
🙏2
Аутсорсинг или аутстаффинг
И то, и другое - это форма взаимоотношений, при которой одна организация привлекает к своей работе другую организацию как внешний ресурс.
При аутсорсинге (outsourcing) компания-заказчик передает выполнение какой-то части своих задач компании-подрядчику. Заказчику не важно как подрядчик будет выполнять работу. Важен результат.
При аутстаффинге (outstaffing) компания-заказчик берет в штат сотрудника компании-подрядчика. Заказчик сам заботится об организации работы сотрудника на аутстаффе.
В ИТ распространены оба формата. Мне, например, удалось поработать и аутсорсером, и аутстаффером 😏
#Словарь
И то, и другое - это форма взаимоотношений, при которой одна организация привлекает к своей работе другую организацию как внешний ресурс.
При аутсорсинге (outsourcing) компания-заказчик передает выполнение какой-то части своих задач компании-подрядчику. Заказчику не важно как подрядчик будет выполнять работу. Важен результат.
При аутстаффинге (outstaffing) компания-заказчик берет в штат сотрудника компании-подрядчика. Заказчик сам заботится об организации работы сотрудника на аутстаффе.
В ИТ распространены оба формата. Мне, например, удалось поработать и аутсорсером, и аутстаффером 😏
#Словарь
👍3
Какое утверждение ложно для паттерна Одиночка?
Anonymous Quiz
35%
Паттерн гарантирует существование не более одного экземпляра класса
41%
Паттерн обеспечивает низкую связность классов
0%
Паттерн обеспечивает глобальную точку доступа к единственному экземпляру
24%
Паттерн требует синхронизации создания экземпляра при многопоточном программировании
git worktree
Команда git worktree создает копию репозитория в отдельной папке.
Главное отличие этой команды от обычного клонирования - это отсутствие дублирования репозитория. Мы остаемся в пределах его локальной копии. Все локальные ветки и коммиты видны из каждого worktree.
Использование worktree упрощает нашу работу в нескольких ветках параллельно. Это особенно актуально для проектов, где переключение между ветками занимает продолжительное время. Например, из-за долгой сборки или трудоемкой конфигурации.
📍Git. Скачем между ветками как древесные лягушки
📍Картинка взята отсюда
Команда git worktree создает копию репозитория в отдельной папке.
Главное отличие этой команды от обычного клонирования - это отсутствие дублирования репозитория. Мы остаемся в пределах его локальной копии. Все локальные ветки и коммиты видны из каждого worktree.
Использование worktree упрощает нашу работу в нескольких ветках параллельно. Это особенно актуально для проектов, где переключение между ветками занимает продолжительное время. Например, из-за долгой сборки или трудоемкой конфигурации.
📍Git. Скачем между ветками как древесные лягушки
📍Картинка взята отсюда
👍2
Известно, что тормозной путь автомобиля со скорости 50 км/ч равен 14 метрам. Дайте оценку, каким будет тормозной путь со скорости 100 км/ч
Anonymous Quiz
13%
10 - 20 метров
17%
20 - 30 метров
42%
30 - 50 метров
29%
50 - 70 метров
Как использовать исключения. Рекомендация
💬 "Либо генерируй исключение, либо обрабатывай его, либо уходи с дороги!"
Используйте оператор
Используйте ключевые слова
📍Саттер Г. - Новые сложные задачи на С++
💬 "Либо генерируй исключение, либо обрабатывай его, либо уходи с дороги!"
Используйте оператор
throw там, где обнаружена ошибка, но нет возможности обработать ее самостоятельно.Используйте ключевые слова
try и catch там, где вы обладаете достаточной информацией для обработки ошибки, ее преобразования или обеспечения границы, определенной стратегией обработки ошибок (например, catch(...) на границе подсистемы).📍Саттер Г. - Новые сложные задачи на С++
👍1🙏1
#include <iostream>
class Base
{
public:
Base() {}
virtual ~Base(){}
void print()
{
std::cout << "Base" << std::endl;
}
};
class Derived : public Base
{
public:
Derived() {}
virtual ~Derived(){}
void print()
{
std::cout << "Derived" << std::endl;
}
};
int main()
{
Base* b = new Derived;
b->print();
delete b;
return 0;
}