Выше дан код на C++. Какой вывод будет у программы?
Anonymous Quiz
25%
0
39%
Неизвестно (неопределенное поведение)
31%
Никакой. Ошибка компиляции
6%
Никакой. Ошибка времени выполнения
🤯6
Хэширование или шифрование
Иногда эти понятия путают, и причина путаницы понятна. При обоих операциях исходный текст превращается в нечитаемый набор символов. Происходит своего рода кодирование информации.
При этом хэширование - это однонаправленная функция. То есть то, что было захэшировано, обратно "расхэшировать" уже нельзя.
Шифрование же - функция двунаправленная. Зашифрованный текст мы можем расшифровать.
#Словарь
Иногда эти понятия путают, и причина путаницы понятна. При обоих операциях исходный текст превращается в нечитаемый набор символов. Происходит своего рода кодирование информации.
При этом хэширование - это однонаправленная функция. То есть то, что было захэшировано, обратно "расхэшировать" уже нельзя.
Шифрование же - функция двунаправленная. Зашифрованный текст мы можем расшифровать.
#Словарь
🔥2😁1
#include <iostream>
int foo()
{
return 1;
}
double foo()
{
return 2.0;
}
int main()
{
std::cout << foo() << " " << foo() << std::endl;
return 0;
}
Выше дан код на C++. Какой вывод будет у программы?
Anonymous Quiz
9%
1 2.0
6%
2.0 1
21%
По-разному. Неопределенное поведение
64%
Никакой. Ошибка сборки
Делай проще, говорили они.
Согласен, конечно. Но делать проще как-то ... сложновато 😐
📍 Career Advice: Simplifiers Go Far, Complexifiers Get Stuck
Согласен, конечно. Но делать проще как-то ... сложновато 😐
📍 Career Advice: Simplifiers Go Far, Complexifiers Get Stuck
😁2
Соискатели
В канун Нового года предлагаю поговорить о действительно важных вещах🤨
Помню, в аспирантуре помимо аспирантов были соискатели. Соискатель - это тот, кто тоже хочет защитить кандидатскую диссертацию, но не учится при этом в аспирантуре.
И меня всегда забавляло это слово, соискатели. Ну есть же, например, слова "сотрудники" и "сослуживцы". Сотрудники совместно трудятся над чем-то, а сослуживцы совместно служат где-то.
Что же тогда совместно ищут соискатели, и, главное, совместно с кем? Диссертации то, по сути, авторские.
Наверное, все ищут научную истину. Только аспиранты делают это в стенах университета, а соискатели - дома за компом. Но тогда и аспиранты тоже должны называться соискателями 🤨!
Но не называются.
Короче, вопрос открыт 🤷♂️
---
А пока вы раздумываете над "соискателями", принимайте поздравление с наступающим Новым годом!
🧦 🎁 🌲
В канун Нового года предлагаю поговорить о действительно важных вещах
Помню, в аспирантуре помимо аспирантов были соискатели. Соискатель - это тот, кто тоже хочет защитить кандидатскую диссертацию, но не учится при этом в аспирантуре.
И меня всегда забавляло это слово, соискатели. Ну есть же, например, слова "сотрудники" и "сослуживцы". Сотрудники совместно трудятся над чем-то, а сослуживцы совместно служат где-то.
Что же тогда совместно ищут соискатели, и, главное, совместно с кем? Диссертации то, по сути, авторские.
Наверное, все ищут научную истину. Только аспиранты делают это в стенах университета, а соискатели - дома за компом. Но тогда и аспиранты тоже должны называться соискателями 🤨!
Но не называются.
Короче, вопрос открыт 🤷♂️
---
А пока вы раздумываете над "соискателями", принимайте поздравление с наступающим Новым годом!
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉9🔥3
#include <iostream>
struct A
{
int a1;
int a2;
void afoo() {}
};
struct B
{
int b1;
int b2;
};
int main()
{
std::cout << (sizeof(A) == sizeof(B)) << std::endl;
return 0;
}
CMake. Подключение внешних библиотек
По просьбетрудящихся учащихся записал видео-инструкцию по подключению внешних библиотек в проектах на CMake.
Рассмотрены 2 способа подключения:
1. С использованием функции find_package(). Способ самый простой и лаконичный.
2. Прямое подключение заголовочных файлов и библиотек с использованием функций target_include_directories(), target_link_directories().
Второй способ подойдет, если библиотека поставляется без конфигурационных файлов вида
В качестве примера подключается библиотека Qt.
В следующий раз рассмотрим организацию проекта на CMake с созданием и подключением собственных библиотек.
📱 YouTube | 📱 ВКонтакте
По просьбе
Рассмотрены 2 способа подключения:
1. С использованием функции find_package(). Способ самый простой и лаконичный.
2. Прямое подключение заголовочных файлов и библиотек с использованием функций target_include_directories(), target_link_directories().
Второй способ подойдет, если библиотека поставляется без конфигурационных файлов вида
*Config.cmake. В остальных случаях лучше использовать первый способ.В качестве примера подключается библиотека Qt.
В следующий раз рассмотрим организацию проекта на CMake с созданием и подключением собственных библиотек.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Исключение или код ошибки
В C++ и некоторых других языках программирования обработка ошибок может быть организована как с помощью механизма исключений, так и путем возврата кода ошибки.
И главная проблема - решить, какой из этих способов использовать в своем проекте. А мнений тут не одно и не два 🤭
Я обычно использую и то, и другое, руководствуясь следующим:
🔜 Исключение - для исключительной ситуации, когда ошибка не позволяет продолжить работу программы.
Далее:
🔜 На исключениях не должна строиться логика программы. Тогда лучше использовать статус-коды, которые могут определять как ошибки, так и известные неошибочные состояния.
🔜 Если код ошибки приходится "поднимать" по стеку высоко наверх, то вместо него лучше использовать исключение.
🔜 Напротив, если ошибка должна быть обработана вызывающим элементом, то вместо исключения подойдет код ошибки.
🔜 Исключения C++ не ABI-совместимые и это надо учитывать. Если отдельные компоненты программы собраны разными компиляторами, то исключение, брошенное из одного компонента, не может быть обработано другим компонентом. Тут - только коды ошибок.
И последнее:
🔜 Если на проекте определена стратегия обработки ошибок, то надо просто ей следовать.
А что используете вы?
👍 - исключения,
🔥 - коды ошибок,
🤓 - it depends
В C++ и некоторых других языках программирования обработка ошибок может быть организована как с помощью механизма исключений, так и путем возврата кода ошибки.
И главная проблема - решить, какой из этих способов использовать в своем проекте. А мнений тут не одно и не два 🤭
Я обычно использую и то, и другое, руководствуясь следующим:
Далее:
И последнее:
А что используете вы?
👍 - исключения,
🔥 - коды ошибок,
🤓 - it depends
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2🤓1
int main()
{
char const* buf = "hello";
++buf; // 1
buf[0] = 'u'; // 2
return 0;
}
Выше дан код на C++. В каком месте будет ошибка компиляции?
Anonymous Quiz
31%
1
31%
2
9%
Ошибок нет
28%
Оба места с ошибкой
Павлов об уме
Прошлым летом я посетил дом Ивана Петровича Павлова в Рязани (на фото). Да, того самого Павлова, который на собаках что-то там исследовал.
По своему обыкновению я приобрел местной литературки со сборником лекций Ивана Петровича. Лекции, конечно, производят впечатление. Особенно зацепили выводы о нашем уме. Именно нашем, не собак. Потому что собаки собаками, а все таки они у Павлова были инструментом познания человека.
Говоря об уме, Павлов выделял несколько его особенностей. Хороших и не очень. Все я здесь приводить не буду, а остановлюсь на сосредоточенности и преимуществах молодого ума.
По Павлову к сосредоточенности "мы не наклонны". Предпочитаем скорее беготню мысли.
Ничего не напоминает? Совещание, митинг, статус, дейлик, ретро - как хотите назовите😵💫
Согласитесь, что хотя бы раз, но вы ловили себя на мысли: "что мы здесь вообще делаем..."
В то же время:
Не знаю как у вас, а у меня с сосредоточенностью ума все в порядке. Я легко могу неожиданно сосредоточиться на какой-нибудь ерунде, совершенно забыв, что вообще должен был сделать 😅
Особняком Павлов выделяет молодой ум.
Поэтому:
Думай головой, пока молодой 😉
Я бы сюда добавил еще один аргумент: свободное время. Чем мы моложе, тем его больше. Надо этим пользоваться.
Короче, читайте лекции Павлова. Среди них есть очень простые, понятные не только физиологам. Как-никак они отражают опыт большого человека и большого ученого.
#КнижнаяПолка
Прошлым летом я посетил дом Ивана Петровича Павлова в Рязани (на фото). Да, того самого Павлова, который на собаках что-то там исследовал.
По своему обыкновению я приобрел местной литературки со сборником лекций Ивана Петровича. Лекции, конечно, производят впечатление. Особенно зацепили выводы о нашем уме. Именно нашем, не собак. Потому что собаки собаками, а все таки они у Павлова были инструментом познания человека.
Уже 18 лет, как я занимаюсь изучением высшей нервной деятельности на одном близком и родном для нас животном, на нашем друге - собаке. И можно себе представить, что то, что в нас сложно, у собаки проще, легче выступает и оценивается.
Говоря об уме, Павлов выделял несколько его особенностей. Хороших и не очень. Все я здесь приводить не буду, а остановлюсь на сосредоточенности и преимуществах молодого ума.
По Павлову к сосредоточенности "мы не наклонны". Предпочитаем скорее беготню мысли.
Возьмем наши заседания. ... До чего заседания длинны, многоречивы и в большинстве случаев безрезультатны и противоречивы! Мы проводим многие часы в бесплодных, ни к чему не ведущих разговорах. Ставится на обсуждение тема, и сначала обыкновенно и благодаря тому, что задача сложная, охотников говорить нет. Но вот выступает один голос, и после этого уже все хотят говорить, говорить без всякого толку, не подумав хорошенько о теме, не уясняя себе, осложняется ли этим решение вопроса или ускоряется.
Ничего не напоминает? Совещание, митинг, статус, дейлик, ретро - как хотите назовите
Согласитесь, что хотя бы раз, но вы ловили себя на мысли: "что мы здесь вообще делаем..."
В то же время:
Возьмите гениальных людей. Ведь они сами говорят, что не видят никакой разницы между собой и другими людьми, кроме одной черты, что могут сосредотачиваться на определенной мысли, как никто. И тогда ясно, что эта сосредоточенность есть сила, а подвижность, беготня мысли есть слабость.
Не знаю как у вас, а у меня с сосредоточенностью ума все в порядке. Я легко могу неожиданно сосредоточиться на какой-нибудь ерунде, совершенно забыв, что вообще должен был сделать 😅
Особняком Павлов выделяет молодой ум.
Молодой ум - ум деятельный. Едва ли можно сомневаться, что в молодости человек читает больше, чем какой-либо записной ученый, весь погруженный в книги. А восторг, когда одолеваешь какую-нибудь трудную задачу. А отчаяние, когда сила новых фактов, идей разрушает твоих старых богов.
Молодой ум - ум философский. ... Молодой ум восприимчивый, свободный, без предрассудков.
Поэтому:
Основной целью молодости - должно приучить себя думать. Думать - это упорно исследовать предмет, иметь его в виду и ныне и завтра, писать и говорить о нем, подходить к нему и с одной и с другой стороны, короче испытать и радость и горе серьезного умственного напряжения, умственного труда.
Думай головой, пока молодой 😉
Я бы сюда добавил еще один аргумент: свободное время. Чем мы моложе, тем его больше. Надо этим пользоваться.
Короче, читайте лекции Павлова. Среди них есть очень простые, понятные не только физиологам. Как-никак они отражают опыт большого человека и большого ученого.
#КнижнаяПолка
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓5❤2
Red Team или Blue Team
Оба термина относятся к информационной безопасности.
Red Team - это команда атакующих, цель которых состоит в нарушении работы информационной системы и кражи данных с помощью кибератак. "Плохие" ребята, так сказать. А иногда "плохие" и без кавычек.
Blue Team - это команда защиты информационной системы, призванная обнаруживать и предотвращать кибератаки.
#Словарь
Оба термина относятся к информационной безопасности.
Red Team - это команда атакующих, цель которых состоит в нарушении работы информационной системы и кражи данных с помощью кибератак. "Плохие" ребята, так сказать. А иногда "плохие" и без кавычек.
Blue Team - это команда защиты информационной системы, призванная обнаруживать и предотвращать кибератаки.
#Словарь
👍3🤓2
#include <iostream>
int main()
{
int a = 1, b = 3, c = 6, d = 8;
d += c = b += a;
std::cout << d << std::endl;
return 0;
}
Сопротивление новому
Вычитал в мемуарах полярного летчика Водопьянова М.В. сразу два примера сопротивления прогрессу.
1️⃣ - извозчики в Москве, которые недолюбливали водителей машин и искали возможность их подколоть на поломках техники. Машины тогда только появлялись и сновали по улицам вперемежку с гужевым транспортом.
2️⃣ пример - когда те же извозчики, но уже на востоке, не обрадовались появлению авиации. Водопьянов тогда перегонял самолет для работы на маршруте Хабаровск-Сахалин:
🔽🔽🔽
Как же мне всё это напоминает сегодняшнее сопротивление со стороны части разработчиков развивающимся чат-ботам ИИ. Чего стоит только битва на Хабре между авторами, поющими оды ИИ как вундервафле, и теми, кто смеется: "Все это пустая ерунда!"
Истина, наверное, где-то между. А если так, то игнорировать инструменты ИИ будет нерационально.
Поэтому можно и лошадку пока оставить, но и мотор завести 😉
📍 Водопьянов М.В. "Полярный летчик"
#КнижнаяПолка
Вычитал в мемуарах полярного летчика Водопьянова М.В. сразу два примера сопротивления прогрессу.
Если же у автомобиля посередине улицы глох мотор или случалась какая-нибудь другая неприятность, шофёр подвергался издёвкам со стороны почтенных, бородатых извозчиков. Эти представители умирающего средства передвижения были очень рады, когда приключалась беда с передовым транспортом.
Если приходилось подливать воду в закипевший радиатор грузовика, они «сочувственно» подсказывали:
– Овса, овса теперь маленько подсыпь, она и пойдёт!… Без овса далеко не уедешь. Уж мы-то знаем…
И тут они поднимали хохот на всю улицу.
Теперь, когда я еду по блестящим магистралям столицы, мне кажется, что это совсем другой город, а тот, по которому я ездил более сорока лет назад, существует только в моих воспоминаниях.
А вот в большом селе Мариинском, где была тоже предусмотрена посадка, нас встретили очень недружелюбно. Никто не позвал даже в дом погреться, выпить чаю. В чём дело? Оказывается, в селе жило много богатеев, которые хорошо зарабатывали на извозном промысле. Они держали по многу лошадей и кучеров и за большие деньги брались перевозить людей через Татарский пролив. Кулаки не без причин смотрели на лётчиков как на опасных конкурентов. Самолёт приходил на смену лошадям, напряжённым в розвальни. Встретились в селе на берегу Амура прошлое с будущим.
🔽🔽🔽
Как же мне всё это напоминает сегодняшнее сопротивление со стороны части разработчиков развивающимся чат-ботам ИИ. Чего стоит только битва на Хабре между авторами, поющими оды ИИ как вундервафле, и теми, кто смеется: "Все это пустая ерунда!"
Истина, наверное, где-то между. А если так, то игнорировать инструменты ИИ будет нерационально.
Поэтому можно и лошадку пока оставить, но и мотор завести 😉
📍 Водопьянов М.В. "Полярный летчик"
#КнижнаяПолка
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
Дорожная карта разработчика
Если вам надо изучить какую-то тему, но вы не знаете с чего начать, куда идти и чем закончить, то предлагаю обратить внимание на сборник дорожных карт для разработчиков Developer Roadmaps.
Дорожная карта разработчика - это своего рода план развития специалиста в определенной теме. Структурный, последовательный, компактный.
На Developer Roadmaps собрано множество дорожных карт, разделенных по специализациям и технологиям:
🔜 Каждая карта содержит последовательность тем с обозначенным уровнем сложности.
🔜 Темы сопровождаются содержательными тезисами с практическими примерами.
🔜 Некоторые темы предлагают материалы для дополнительного изучения.
🔜 Есть возможность отслеживания прогресса обучения при регистрации на ресурсе.
Также вы можете создавать свои собственные карты и делиться ими с сообществом. Или не делиться 🤐🤫
Пользуйтесь)
📍 https://roadmap.sh
Если вам надо изучить какую-то тему, но вы не знаете с чего начать, куда идти и чем закончить, то предлагаю обратить внимание на сборник дорожных карт для разработчиков Developer Roadmaps.
Дорожная карта разработчика - это своего рода план развития специалиста в определенной теме. Структурный, последовательный, компактный.
На Developer Roadmaps собрано множество дорожных карт, разделенных по специализациям и технологиям:
Также вы можете создавать свои собственные карты и делиться ими с сообществом. Или не делиться 🤐🤫
Пользуйтесь)
📍 https://roadmap.sh
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👌1
#include <iostream>
struct A
{
uint32_t a:4;
uint32_t b:4;
uint32_t c:8;
uint32_t d:16;
};
struct B
{
uint32_t a:4;
uint32_t b:4;
};
int main()
{
A a;
B b;
std::cout << int(sizeof(a) == sizeof(b));
return 0;
}