Завандалил
Глядя на разрисованный лифт, я вспомнил случай с моими студентами.
На картинке выше фрагмент гугло-дока, куда ребята должны были самостоятельно вписать выбранные темы курсовых работ. Они это и сделали, все большие молодцы)
Но захожу я однажды в этот документ, чтобы сверить темы, и вижу...🤨 Даже не знаю как описать. Такого я никак не ожидал увидеть. Вставлять скрин этой жести в сам пост я не стал. Смотрите в комментариях.
Получилось так, что кто-то из ребят взял и размалевал гугло-док словно лифт в пятиэтажке. С той же пестротой, тональностью и безрассудством.
Почему, зачем? Да кто его знает. Потому что может. Потому что анонимно. Человек сам же там написал: "анонимочка так что по..."
🤦♂️
Анонимность и безнаказанность воистину срывают тормоза.
Глядя на разрисованный лифт, я вспомнил случай с моими студентами.
На картинке выше фрагмент гугло-дока, куда ребята должны были самостоятельно вписать выбранные темы курсовых работ. Они это и сделали, все большие молодцы)
Но захожу я однажды в этот документ, чтобы сверить темы, и вижу...
Получилось так, что кто-то из ребят взял и размалевал гугло-док словно лифт в пятиэтажке. С той же пестротой, тональностью и безрассудством.
Почему, зачем? Да кто его знает. Потому что может. Потому что анонимно. Человек сам же там написал: "анонимочка так что по..."
Анонимность и безнаказанность воистину срывают тормоза.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
Как создать оконное приложение на Qt в среде QtCreator
В этом видео мы рассмотрим процесс создания простого оконного приложения с помощью библиотеки Qt в среде разработки QtCreator. Мы поработаем с лэйаутами, то есть с разметкой элементов окна, добавим в окно таблицу, несколько полей ввода данных и кнопку.
Библиотека Qt - это набор классов C++ для создания кросс-платформенных приложений с графическим интерфейсом. С помощью этой библиотеки созданы, например, среда разработки QtCreator и инструмент для записи видео OBS Studio.
✍️ Статья | 📱 YouTube | 📱 ВКонтакте
В этом видео мы рассмотрим процесс создания простого оконного приложения с помощью библиотеки Qt в среде разработки QtCreator. Мы поработаем с лэйаутами, то есть с разметкой элементов окна, добавим в окно таблицу, несколько полей ввода данных и кнопку.
Библиотека Qt - это набор классов C++ для создания кросс-платформенных приложений с графическим интерфейсом. С помощью этой библиотеки созданы, например, среда разработки QtCreator и инструмент для записи видео OBS Studio.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
namespace std
{
struct A
{
int _array[256];
bool _filled;
};
}
bool is_filled(std::A obj)
{
return obj._filled;
}
int main()
{
std::A a;
return is_filled(a);
}
Выше дан код на C++. Проведите код-ревью и напишите в комментариях свои замечания. Если ваши замечания уже кто-то написал, ставьте палец 👍 комментатору)
Лично мне здесь принципиально не нравятся 4 момента 🧐
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Анонимные пространства имен в C++
Пространства имен
Например, у стандартной библиотеки STL есть свое пространство имен по названием
Но есть в C++ отдельный тип пространств имен - анонимные (unnamed). Анонимные пространства имен объявляются... 🥁 без указания имени. Вот так:
У анонимных пространств есть 2 важных свойства:
1️⃣ Они ограничивают область видимости всех сущностей внутри себя только тем файлом исходного кода, в котором они объявлены.
2️⃣ Они являются закрытыми. То есть из разных исходных файлов нельзя добавить сущности в одно и то же анонимное пространство имен.
При этом не стоит объявлять анонимные пространства имен в заголовочных файлах. Это приведет к тому, что в каждой единице компиляции, где включается этот заголовочник, будут созданы копии символов этого пространства.
А о том, почему не стоит запихивать свои символы в пространство имен std, мы вспоминали на прошлой неделе. Смотрите комментарии под постом.
Пространства имен
namespace в C++ служат для решения конфликтов имен классов, функций, переменных и прочего. Другое назначение - смысловое; чтобы повысить читаемость кода.Например, у стандартной библиотеки STL есть свое пространство имен по названием
std. Благодаря этому имена в нашем пользовательском коде никогда не пересекутся с именами стандартной библиотеки. Если конечно мы не будем везде лепить using namespace std; 🤨Но есть в C++ отдельный тип пространств имен - анонимные (unnamed). Анонимные пространства имен объявляются... 🥁 без указания имени. Вот так:
namespace
{
// Что-то внутри нейм-спейса
}
У анонимных пространств есть 2 важных свойства:
При этом не стоит объявлять анонимные пространства имен в заголовочных файлах. Это приведет к тому, что в каждой единице компиляции, где включается этот заголовочник, будут созданы копии символов этого пространства.
А о том, почему не стоит запихивать свои символы в пространство имен std, мы вспоминали на прошлой неделе. Смотрите комментарии под постом.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1
Выше дан код на C++. Какой вывод будет у программы?
Anonymous Quiz
47%
0
16%
0b000001
16%
0b101111
21%
1
🥴2
Моргнул свет и потух комп.
Пробую включать. Он не реагирует. Перещёлкнул блок питания - включился.
Запускаю веб-сервер Apache - не алё. Контрольная панель что-то там ругается, что апача больше нет.
Слабо верится.
Иду смотреть, может конфиги какие слетели, а там... А там реально нет апача. Ну, в смысле нет бинаря httpd. Удалился.
Уже интереснее. Восстановил бинарь. Запускаю его и узнаю, что куча библиотек-зависимостей тоже не в чате...
Получается, все бинари, которые были загружены апачем в память, теперь удалены с диска.
Вот такая фишечка
👍 👍 👍
Похоже, пятница сегодня у апача. Будьте бдительны 😁
Пробую включать. Он не реагирует. Перещёлкнул блок питания - включился.
Запускаю веб-сервер Apache - не алё. Контрольная панель что-то там ругается, что апача больше нет.
Слабо верится.
Иду смотреть, может конфиги какие слетели, а там... А там реально нет апача. Ну, в смысле нет бинаря httpd. Удалился.
Уже интереснее. Восстановил бинарь. Запускаю его и узнаю, что куча библиотек-зависимостей тоже не в чате...
Получается, все бинари, которые были загружены апачем в память, теперь удалены с диска.
Вот такая фишечка
Похоже, пятница сегодня у апача. Будьте бдительны 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
😢3
Библиотека или фреймворк
🔜 Библиотека - это набор функциональности, решающий определенную задачу.
🔜 Фреймворк - это набор функциональности, определяющий структуру приложения.
То есть понятия похожие, но фреймворк рассматривается в более широком смысле, чем библиотека. Фреймворк навязывает нам определенную структуру приложения, проникая во все его части. Библиотека же предполагает более изолированное использование.
Например, minizip - это библиотека, работающая с архивами, то есть решающая конкретную задачу. А Qt - это уже фреймворк, определяющий все основные элементы приложения: интерфейс, обработка событий, ввод/вывод и др.
#Словарь
То есть понятия похожие, но фреймворк рассматривается в более широком смысле, чем библиотека. Фреймворк навязывает нам определенную структуру приложения, проникая во все его части. Библиотека же предполагает более изолированное использование.
Например, minizip - это библиотека, работающая с архивами, то есть решающая конкретную задачу. А Qt - это уже фреймворк, определяющий все основные элементы приложения: интерфейс, обработка событий, ввод/вывод и др.
#Словарь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Какой паттерн обеспечивает несколько вариантов алгоритмов, которые легко заменяют друг друга в процессе работы программы?
Anonymous Quiz
6%
Наблюдатель
71%
Стратегия
0%
Одиночка
23%
MVC
🤯1
Продолжая тему проектирования.
Эта картинка - супер-иллюстрация бардака с абстракциями на проекте 😁
Надеюсь, все помнят эту сцену и Гарри Поттера)
Пофантазируем ⤵️
Был проект, где машины ездили, поезда ходили, самолеты летали. Как-то это работало.
Потом в рамках рефакторинга выделили из самолета абстракцию Транспорт и унаследовали от нее Машину, Самолет и Поезд. При этом забыли перенести методы полета в Самолет, оставив их в Транспорте.
Получилось, что теперь Машина умеет летать!
Поезд, кстати, тоже умеет летать, но об этом пока никто не знает. Да никому это и не надо. А вот Уизли докопались и берут от абстракций всё: если есть методы полета, будем их вызывать!
Рон Уизли идет еще дальше и при решении своих задач пробует поставить Машину на Железную дорогу. И ему это удается, так как Железная дорога, оказывается, работает с абстракцией Транспорт 🫢
В итоге в процессе выполнения на проде возникает состояние гонки, и Поезд вступает в конфликт с Машиной.
😨 Все в панике!
Но не понятно из-за чего паника больше: из-за ошибки абстракций или из-за того, что на Поезд подтянулись скины вообще из другого проекта...
Эта картинка - супер-иллюстрация бардака с абстракциями на проекте 😁
Надеюсь, все помнят эту сцену и Гарри Поттера)
Пофантазируем ⤵️
Был проект, где машины ездили, поезда ходили, самолеты летали. Как-то это работало.
Потом в рамках рефакторинга выделили из самолета абстракцию Транспорт и унаследовали от нее Машину, Самолет и Поезд. При этом забыли перенести методы полета в Самолет, оставив их в Транспорте.
Получилось, что теперь Машина умеет летать!
Поезд, кстати, тоже умеет летать, но об этом пока никто не знает. Да никому это и не надо. А вот Уизли докопались и берут от абстракций всё: если есть методы полета, будем их вызывать!
Рон Уизли идет еще дальше и при решении своих задач пробует поставить Машину на Железную дорогу. И ему это удается, так как Железная дорога, оказывается, работает с абстракцией Транспорт 🫢
В итоге в процессе выполнения на проде возникает состояние гонки, и Поезд вступает в конфликт с Машиной.
😨 Все в панике!
Но не понятно из-за чего паника больше: из-за ошибки абстракций или из-за того, что на Поезд подтянулись скины вообще из другого проекта...
😁4😱1
Как начать работать с репозиторием Git на GitHub
В этом видео мы рассмотрим базовые приемы работы с репозиторием git. Мы создадим простой проект из пары файлов, инициализируем на нем репозиторий, научимся делать коммиты и загрузим весь код на GitHub.
📱 YouTube | 📱 ВКонтакте
✍️ Другие способы загрузки кода на GitHub описывал в статье
В этом видео мы рассмотрим базовые приемы работы с репозиторием git. Мы создадим простой проект из пары файлов, инициализируем на нем репозиторий, научимся делать коммиты и загрузим весь код на GitHub.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Скинули вакансию на технического директора с интересным требованием:
Уж простите, но не удержался 😁⤵️
Нам подойдут те управленцы, которые читали книжки по инженерии, а поэтому понимают, что:
- Тестировщики не нужны – разработчики должны сдавать работающий код
Уж простите, но не удержался 😁⤵️
😁3🤡2
Так себе программист
Скинули вакансию на технического директора с интересным требованием: Нам подойдут те управленцы, которые читали книжки по инженерии, а поэтому понимают, что: - Тестировщики не нужны – разработчики должны сдавать работающий код Уж простите, но не удержался…
This media is not supported in your browser
VIEW IN TELEGRAM
😁5🤡2
#include <iostream>
namespace First
{
int var = 1;
}
namespace Second
{
int var = 2;
}
int main()
{
{
using namespace First;
var = 3;
}
std::cout << First::var << Second::var << std::endl;
return 0;
}
Выше дан код на C++. Какой вывод будет у программы?
Anonymous Quiz
30%
12
48%
32
7%
13
15%
Никакой. Ошибка сборки
This media is not supported in your browser
VIEW IN TELEGRAM
😠 Хэй, все знают, что даже у старых жигулей есть душа!
😁4
Так себе программист
😠 Хэй, все знают, что даже у старых жигулей есть душа!
Кстати, про ИИ, нейросети и все такое.
В "Аэлите" Толстого есть эпизод, где прибывшие на Марс люди изучают язык местных с помощью специальной приспособы. Там что-то крутится-вертится, и азбука, фразы и понятия постепенно проникают в сознание.
После "загрузки" знания в голову, им оставалось лишь вздремнуть для закрепления)
Но я что подумал...
Если нам сейчас кажется, что созданные нами нейросети в будущем заменят специалистов, то почему мы не думаем от том, что вместо компьютерных нейросетей, мы будем обучать мозг человека напрямую?
Ну, возьмем и построим все необходимые нейросвязи прямо в мозгу. Врачу - свои, инженеру - свои. Не будем писать учебники, статьи, посты в тележке, а начнём распространять нейросетевые модели обучения. Коммерческие и бесплатные. Специальные и общеобразовательные.
Представьте, грузишь в голову базу и работаешь, копишь опыт. Как скопил что-нибудь интересное, извлекаешь свою нейросеть и выставляешь её на маркетплейс.
Фантастика
#КнижнаяПолка
В "Аэлите" Толстого есть эпизод, где прибывшие на Марс люди изучают язык местных с помощью специальной приспособы. Там что-то крутится-вертится, и азбука, фразы и понятия постепенно проникают в сознание.
Лось чувствовал, – мозг его яснеет, будто поднимается туманная пелена, и новые слова и понятия отпечатлеваются в памяти.
После "загрузки" знания в голову, им оставалось лишь вздремнуть для закрепления)
Но я что подумал...
Если нам сейчас кажется, что созданные нами нейросети в будущем заменят специалистов, то почему мы не думаем от том, что вместо компьютерных нейросетей, мы будем обучать мозг человека напрямую?
Ну, возьмем и построим все необходимые нейросвязи прямо в мозгу. Врачу - свои, инженеру - свои. Не будем писать учебники, статьи, посты в тележке, а начнём распространять нейросетевые модели обучения. Коммерческие и бесплатные. Специальные и общеобразовательные.
Представьте, грузишь в голову базу и работаешь, копишь опыт. Как скопил что-нибудь интересное, извлекаешь свою нейросеть и выставляешь её на маркетплейс.
Фантастика
#КнижнаяПолка
👍2😁2🥴1