Всем привет!
Сегодня хочу напомнить про очень важный принцип инкапсуляции. Суть его сводиться к скрытию деталей реализации от потребителя.
Я привел выше прекрасную иллюстрацию из книги Грэйди Буча - Объектно-ориентированный анализ, которая отлично показывает это.
Скрытие деталей реализации - очень важный инструмент управления сложностью любой системы. Он позволяет разделить сложную систему на части, а у каждой части продумать максимально простой протокол взаимодействия. Как именно каждая часть будет реализовывать протокол - это ее проблемы. Так даже, имплементируя всю систему самостоятельно, вы можете думать отдельно про каждую часть и не разбираться в других. Получаем лего детальки разного размера и назначения и используя их уже создаем что-то крутое.
Сегодня хочу напомнить про очень важный принцип инкапсуляции. Суть его сводиться к скрытию деталей реализации от потребителя.
Я привел выше прекрасную иллюстрацию из книги Грэйди Буча - Объектно-ориентированный анализ, которая отлично показывает это.
Скрытие деталей реализации - очень важный инструмент управления сложностью любой системы. Он позволяет разделить сложную систему на части, а у каждой части продумать максимально простой протокол взаимодействия. Как именно каждая часть будет реализовывать протокол - это ее проблемы. Так даже, имплементируя всю систему самостоятельно, вы можете думать отдельно про каждую часть и не разбираться в других. Получаем лего детальки разного размера и назначения и используя их уже создаем что-то крутое.
❤10
Очевидно, что принцип инкапсуляции повторяем: его можно применять рекурсивно много раз, создавая еще более сложные системы, сохраняя понятность реализации на каждом этапе.
Кроме того, этот принцип следует соблюдать при проектировании систем взаимодействия с другими разработчиками и пользователями. Никому не нужны сложные инструкции и куча кнопок на интерфейсе. Напротив, другому разработчику просто нужна одна команда для сборки вашего кода (он сам все поймет, скачает все зависимости и все настройки).Пользователь же хочет программу, которая имеет одну команду - сделать все("сделать за@ись") . И ваша программа сама поймет где она, что надо сделать и все сделает сама - ничего настраивать не надо.
Хороший пример: gcc - у него куча опций и настроек, но всегда можно просто написать так: gcc app.c - и все сработает.
Кроме того, этот принцип следует соблюдать при проектировании систем взаимодействия с другими разработчиками и пользователями. Никому не нужны сложные инструкции и куча кнопок на интерфейсе. Напротив, другому разработчику просто нужна одна команда для сборки вашего кода (он сам все поймет, скачает все зависимости и все настройки).Пользователь же хочет программу, которая имеет одну команду - сделать все
Хороший пример: gcc - у него куча опций и настроек, но всегда можно просто написать так: gcc app.c - и все сработает.
❤8
Вот так и надо писать программы, думая о тех, кто будет пользоваться вашим кодом (тем более если это вы сами), продумывая все наперед и думая о том, чтобы потребителю было удобно.
Так получается, что принцип инкапсуляции - это не только принцип ООП или даже программирования, а принцип жизни: думайте о других - помогайте друг другу - инкапсулируйте для других ту сложность, которую вы можете сами взять на себя.
Желаю вам отличного дня и продолжения недели!
Так получается, что принцип инкапсуляции - это не только принцип ООП или даже программирования, а принцип жизни: думайте о других - помогайте друг другу - инкапсулируйте для других ту сложность, которую вы можете сами взять на себя.
Желаю вам отличного дня и продолжения недели!
❤12
Знаю что картинка явный нейрослоп (кроме первой - это оригинал), но мне нравится - и вообще мой канал - что хочу то и делаю.
Я лично рисовать увы не умею, но любители тру творчества - велком. Давайте запустим конкурс рисунка (коллажа/граффити/комикса/ да чего хотите. Я только рад буду разместить не ии изображение, а ваше.
Я лично рисовать увы не умею, но любители тру творчества - велком. Давайте запустим конкурс рисунка (коллажа/граффити/комикса/ да чего хотите. Я только рад буду разместить не ии изображение, а ваше.
❤10
Forwarded from Мастерская системного программирования ИТМО
Quanta_Design.md
13.5 KB
Всем привет!
Предлагаю дизайн системы на обсуждение. В комментариях приветствуются аргументированные замечания и критика.
Время на утверждение и критику до 1.10.2026. Потом я сделаю репу и первый комит, и тогда уже все смогут туда добавлять кто что запланировал. Архитектура (выше), то что мне гпт родил (ниже для ознакомления)
Предлагаю дизайн системы на обсуждение. В комментариях приветствуются аргументированные замечания и критика.
Время на утверждение и критику до 1.10.2026. Потом я сделаю репу и первый комит, и тогда уже все смогут туда добавлять кто что запланировал. Архитектура (выше), то что мне гпт родил (ниже для ознакомления)
Друзья, всем привет!
Чтобы хорошо работать надо и хорошо отдыхать! А отдых это смена деятельности. Если есть возможность, съездить на природу, погулять, поиграть во что-то, провести время с друзьями, уделить время семье, все что угодно, что вас наполнит!
Желаю всем сегодня отлично провести время, набраться сил и порадовать себя чем-нибудь!
Ну а завтра вновь к трудовым подвигам!
Чтобы хорошо работать надо и хорошо отдыхать! А отдых это смена деятельности. Если есть возможность, съездить на природу, погулять, поиграть во что-то, провести время с друзьями, уделить время семье, все что угодно, что вас наполнит!
Желаю всем сегодня отлично провести время, набраться сил и порадовать себя чем-нибудь!
Ну а завтра вновь к трудовым подвигам!
🥰22🍌1
В рамках исследования возможностей ИИ и чтобы лучше научиться работать с этим инструментом я решил сделать такой эксперимент: заставил сделать его комикс. Я придумал сюжет, он расписал кадры и нарисовал. Контекст конечно сбивается между страницами, но на мой взгляд любопытно получилось. По крайней мере миленько. Напишите в комменты, что за механизм в инфобезе лег в основу сюжета.
🔥4
Сорян за нейронки. Повторюсь рисовать не умею, а мне было интересно вывезет ли он комикс. На мой взгляд средненько.
Обещаю больше так спамить не буду 😂
Просто эксперимент. Пусть и так себе результат
Обещаю больше так спамить не буду 😂
Просто эксперимент. Пусть и так себе результат
🔥8😁1
Товарищ в комментариях предложил проверить распознает ли нейронка по комиксу что за механизм инфобеза тут представлен.
Я проверил и получил так:
GPT 6 Astra - распознала и переполнение буфера и канарейку ~3мин
Kimi 3 Max - распознала переполнение буфера но канарейку нет (тоже порядка 3х минут)
Grok Expert - не распознал там ничего) про бизнес процессы начал затирать)
* поправка Grok - в новом контексте распознал переполнение и ROP - но очень пространные рассуждения без конкретики, в отличие от других проверенных моеделей.
Промпт был такой: Привет! вот тебе комикс - какой механизм в рамках инфобеза тут описывается?
Поделитесь результатами других нейронок у кого что есть
Я проверил и получил так:
GPT 6 Astra - распознала и переполнение буфера и канарейку ~3мин
Kimi 3 Max - распознала переполнение буфера но канарейку нет (тоже порядка 3х минут)
Grok Expert - не распознал там ничего) про бизнес процессы начал затирать)
* поправка Grok - в новом контексте распознал переполнение и ROP - но очень пространные рассуждения без конкретики, в отличие от других проверенных моеделей.
Промпт был такой: Привет! вот тебе комикс - какой механизм в рамках инфобеза тут описывается?
Поделитесь результатами других нейронок у кого что есть
Forwarded from Мастерская системного программирования ИТМО
Всем привет!
Появилась запись нашей первой встречи по проекту quanta:
https://youtu.be/CyUW6jH8X1Y
https://vkvideo.ru/video-215805549_456239091
https://rutube.ru/video/4de7d64f2f616f474e84f470f9e8e753/
Осталось пару дней на ваши замечания по документу и проекты и я его утверждаю и уже скоро делаю первый комит.
Появилась запись нашей первой встречи по проекту quanta:
https://youtu.be/CyUW6jH8X1Y
https://vkvideo.ru/video-215805549_456239091
https://rutube.ru/video/4de7d64f2f616f474e84f470f9e8e753/
Осталось пару дней на ваши замечания по документу и проекты и я его утверждаю и уже скоро делаю первый комит.