Это плохая идея - теплоизолировать радиатор холодильника, так вы обеспечите только очень краткосрочный эффект понижения температуры воздуха, после чего сработает тепловая защита холодильника, он выключится и тепло от радиатора постепенно пройдет через вашу теплоизоляцию, радиатор очень медленно остынет, а воздух всё равно нагреется и по такому циклу будет происходить нагрев воздуха.
Учитывая, что теплоноситель в обычной комнате - это воздух, то никак не получится обеспечить отвод тепла от холодильника к стенкам комнаты не нагревая воздух. Без замены теплоносителя задача по охлаждению воздуха не имеет решения.
Давайте я вам подскажу вариант в сторону которого можно поразмышлять. Могут ли стены комнаты по каким-то причинам быть очень сырыми и соответственно воздух в комнате очень влажным (влажный климат, протекающая крыша, подвальное помещений и т.п.)? Можно ли каким-то образом использовать эту влагу для отвода тепла от радиатора холодильника за пределы комнаты так, чтобы воздух в ней охлаждался ?
В исходном условии нет ничего про термоизоляцию комнаты, есть только про изоляцию воздуха в комнате - по условию комната закрытая. И в этой комнате стоит исправный работающий холодильник без утечек фреона, но с открытыми дверцами. Если это обычная комната в обычном доме, то воздух в ней нагреется до температуры, при которой будет обеспечен полный отвод энергии подводимой к холодильнику через стены комнаты - это стандартное решение этой задачи.
Мой вопрос в том, а могут ли быть в некой закрытой комнате такие специфические земные условия, при которых после включения исправного открытого холодильника температура воздуха станет ниже той, которая была до его включения? И да - человек там может дышать без скафандра довольно продолжительное время, пока в воздухе не закончится кислород, так как условию - комната закрытая.
А вы на 100% уверены, что не может быть закрытой комнаты, но с такими стенами и вполне себе реальными земными условиями, в которой включение описанного вами холодильника приведет к охлаждению воздуха, особенно если в холодильнике есть функция автоматической разморозки ?
Цитаты Алана Кея - отца ООП, которые "в тему" статьи:
Я придумал термин «объектно-ориентированный», и я уверяю вас, что не имел в виду C++.
Я жалею, что придумал термин «объекты» много лет назад, потому что он заставляет людей концентрироваться на мелких идеях. По-настоящему большая идея — это сообщения.
Ключ к тому, чтобы делать большие и расширяющиеся системы, заключается в том, чтобы придумывать, как модули будут общаться друг с другом, а не заботиться об их внутренних свойствах и поведении.
Я пишу про то, что в большинстве случаев вполне достаточно указать реализацию интерфейса применительно к определенным условиям запуска программы - и не менять её во время выполнения. Т.е. после запуска программы есть однозначное соответствие одному интерфейсу одной реализации.
Возвращаясь к моему примеру выше: Вам нет никакого смысла находясь в Боинге после взлета менять во время полета в бортовом компьютере его реализацию на Эмбраер (конечно если вы не задумали что-то очень плохое).
Если же все-таки во время выполнения программы очень хочется использовать несколько разных реализаций конкретного интерфейса, то придется городить еще больше вспомогательных костылей для основного костыля (DI-контейнера, менеджера объектов, etc), чтобы он понимал - какую из возможных реализаций надо вернуть в этом месте программы при запросе конкретного интерфейса.
Одна и та же программа может выполняться в разных условиях-режимах-средах-окружениях, для каждого из них может быть указано какие реализации интерфейса надо использовать в каждом конкретном случае - например как вы и указали, что для тестов и обычного выполнения реализации могут отличаться.
Мое понимание того, что вовремя выполнения программы применительно к принципу инверсии управления должна использоваться только одна конкретная реализация интерфейса - верное. Попробую объяснить на примерах.
Например для интерфейса работы с БД во время выполнения программы используется только одна конкретная реализация, зависящая от типа БД с которым работает программа, например только для MySQL или только для PostgreSQL.
Еще пример : допустим программа управления использует интерфейс самолета, если она запускается для управления Боингом то используется только его реализация, а если программа запускается для управления Эмбраером - то используется только его реализация, но никак не две одновременно.
Обычно интерфейсы либо нормально интегрированы в язык, никаких конфигов не нужно
В PHP есть интерфейсы. Инструкция, что класс реализует интерфейс - прекрасно работает. Но для того чтобы пойти в обратную сторону и узнать кто реализует интерфейс - в фреймворке Magento используется XML конфиг.
Как, читая чужой код, узнать, какая из нескольких существующих реализаций интерфейса будет вызвана в рантайме?
Если в рантайме надо использовать сразу несколько реализаций одного интерфейса, то скорее всего это ошибка архитектуры. Обычно для каждого интерфейса однозначно указывается, кто его реализует в конкретном проекте. Для этого чаще всего используется некий конфиг, где прямо указано соответствие интерфейсов и их реализаций в конкретном проекте.
Собственно в этом и смысл реализации инверсии контроля, когда для инстанцирования или доступа к объекту используется не имя класса (например как параметр оператора "new"), а имя интерфейса. Для этого обычно создается некий костыль (который часто называют менеджером объектов), он в качестве параметра получает имя интерфейса, лезет в конфиг, узнает какой класс этому интерфейсу сопоставлен и возвращает объект этого класса.
в ide просто невозможно получить список методов-реализаций, которые могут вызываться через метод интерфейса. А это есть далеко не во всех IDE
Обычно для конкретных фреймворков, использующих вышеописанный конфиг, для IDE пишут плагин, который "понимает" этот конфиг и помогает IDE находить реализации интерфейсов.
Прочитал вашу статью. Для того чтобы определится с устройством под ваши требования надо уточнить - как именно путешествует программист в вашей статье?
Если он путешествует в пределах цивилизации, то всегда будет доступен телевизор и достаточно оборудовать "спутник" одним или несколькими типами популярных видеовыходов для подключения большинства телевизоров-мониторов.
Если он путешествует по "дикой" местности на авто/мото/велике или даже пешком, то ему нужен "спутник" оборудованный мини-проектором, как я написал в коменте ниже.
Я уже написал апдейт к статье, где объяснил, что использую термин носимый "сервер" постольку поскольку телефон это "клиент", а так да - это компьютер, который можно использовать как угодно - и как сервер и как десктоп или как-то еще на ваше усмотрение.
В случае десктопа - шестидюймовый экран это ограничение клиента-телефона и скорее вариант использования в крайней необходимости. Для полноценного использования в десктопном варианте придется оборудовать устройство видеочипом с микро разъемом HDMI или DisplayPort и тогда его без проблем можно будет подключать к большинству современных мониторов и телевизоров.
Можно сделать несколько вариантов устройства: подешевле - без видеовыхода, подороже - с видеовыходом(ми) и каким-то еще дополнительным "обвесом". В топовой версии встроить мини-проектор, чтобы можно было работать даже на стенке палатки при необходимости.
Спасибо за ссылку, не знал что Termux так продвинулся - обязательно потестирую Termux X11. Но мне очень важно, чтобы интересующие меня программы и данные "жили" на отдельном устройстве.
В termux много чего нельзя запустить. Например у меня есть такая задача - запустить фреймбуффер с иксами - например Xvfb и в нем какое нибудь иксовое приложение, например тот же Хром или Телеграм и потом организовать работу с этим приложением например через VNC со смартфона. Сделать такое через termux точно не получится.
Вы правы, что большинству пользователей как раз и не хватает "батареи и объема памяти". Но мне нужно не только это, добавил UPD 1 в статью, чтобы было понятнее чего именно я хочу.
Тут страшнее не спам, а затопление "входящих" ящиков потоком мусора. Поначалу никто "топить" почту точно не будет. А по мере развития можно придумать много методов борьбы с намеренным флудом, не думаю что это совсем не решаемая проблема.
Я вам в первом же ответе написал про аналогию с СКВ, после чего вы все равно спрашиваете о том, что новый клиент не получит старой информации или потеряет часть информации. Если вы пользуетесь гитом, то должны знать как такие проблемы решаются в гите - зачем тогда вообще задавать такие вопросы?
Проблема "точки" в том, что это уязвимость. С точки зрения ИБ. Только и всего.
Без конкретики - это просто пустые слова. Только и всего.
Даже по законам РФ это персоналка.
Нет, даже по ссылке, которую вы дали - написано:
адрес электронной почты будут являться персональными данными, если они зарегистрированы на определенное физическое лицо, что позволит идентифицировать конкретного человека.
Когда вы регистрируете (создаете) email в большинстве бесплатных почтовиков - от вас не требуют идентификации физического лица. Следовательно такой ящик может использоваться кем угодно, любым физлицом, юрлицом, группой людей, организацией, программой или даже животным и его адрес не является персональными данными.
Просто используйте email не привязанный юридически напрямую к вам и у вас никаких проблем с анонимностью не будет.
Вы можете описать в чем именно вы видите проблему такой "точки входа" ?
хранение моего почтового адреса - еще большее нарушение анонимности
Как именно нарушается ваша анонимность если бот знает ваш email? У вас единственный emal на все случаи жизни, который вам выдали после предъявления паспортных данных?
Это плохая идея - теплоизолировать радиатор холодильника, так вы обеспечите только очень краткосрочный эффект понижения температуры воздуха, после чего сработает тепловая защита холодильника, он выключится и тепло от радиатора постепенно пройдет через вашу теплоизоляцию, радиатор очень медленно остынет, а воздух всё равно нагреется и по такому циклу будет происходить нагрев воздуха.
Учитывая, что теплоноситель в обычной комнате - это воздух, то никак не получится обеспечить отвод тепла от холодильника к стенкам комнаты не нагревая воздух. Без замены теплоносителя задача по охлаждению воздуха не имеет решения.
Давайте я вам подскажу вариант в сторону которого можно поразмышлять.
Могут ли стены комнаты по каким-то причинам быть очень сырыми и соответственно воздух в комнате очень влажным (влажный климат, протекающая крыша, подвальное помещений и т.п.)?
Можно ли каким-то образом использовать эту влагу для отвода тепла от радиатора холодильника за пределы комнаты так, чтобы воздух в ней охлаждался ?
В исходном условии нет ничего про термоизоляцию комнаты, есть только про изоляцию воздуха в комнате - по условию комната закрытая. И в этой комнате стоит исправный работающий холодильник без утечек фреона, но с открытыми дверцами. Если это обычная комната в обычном доме, то воздух в ней нагреется до температуры, при которой будет обеспечен полный отвод энергии подводимой к холодильнику через стены комнаты - это стандартное решение этой задачи.
Мой вопрос в том, а могут ли быть в некой закрытой комнате такие специфические земные условия, при которых после включения исправного открытого холодильника температура воздуха станет ниже той, которая была до его включения? И да - человек там может дышать без скафандра довольно продолжительное время, пока в воздухе не закончится кислород, так как условию - комната закрытая.
А вы на 100% уверены, что не может быть закрытой комнаты, но с такими стенами и вполне себе реальными земными условиями, в которой включение описанного вами холодильника приведет к охлаждению воздуха, особенно если в холодильнике есть функция автоматической разморозки ?
Цитаты Алана Кея - отца ООП, которые "в тему" статьи:
Я пишу про то, что в большинстве случаев вполне достаточно указать реализацию интерфейса применительно к определенным условиям запуска программы - и не менять её во время выполнения. Т.е. после запуска программы есть однозначное соответствие одному интерфейсу одной реализации.
Возвращаясь к моему примеру выше: Вам нет никакого смысла находясь в Боинге после взлета менять во время полета в бортовом компьютере его реализацию на Эмбраер (конечно если вы не задумали что-то очень плохое).
Если же все-таки во время выполнения программы очень хочется использовать несколько разных реализаций конкретного интерфейса, то придется городить еще больше вспомогательных костылей для основного костыля (DI-контейнера, менеджера объектов, etc), чтобы он понимал - какую из возможных реализаций надо вернуть в этом месте программы при запросе конкретного интерфейса.
runtime = время выполнения
Одна и та же программа может выполняться в разных условиях-режимах-средах-окружениях, для каждого из них может быть указано какие реализации интерфейса надо использовать в каждом конкретном случае - например как вы и указали, что для тестов и обычного выполнения реализации могут отличаться.
Мое понимание того, что во время выполнения программы применительно к принципу инверсии управления должна использоваться только одна конкретная реализация интерфейса - верное. Попробую объяснить на примерах.
Например для интерфейса работы с БД во время выполнения программы используется только одна конкретная реализация, зависящая от типа БД с которым работает программа, например только для MySQL или только для PostgreSQL.
Еще пример : допустим программа управления использует интерфейс самолета, если она запускается для управления Боингом то используется только его реализация, а если программа запускается для управления Эмбраером - то используется только его реализация, но никак не две одновременно.
Например в Magento
В PHP есть интерфейсы. Инструкция, что класс реализует интерфейс - прекрасно работает. Но для того чтобы пойти в обратную сторону и узнать кто реализует интерфейс - в фреймворке Magento используется XML конфиг.
Если в рантайме надо использовать сразу несколько реализаций одного интерфейса, то скорее всего это ошибка архитектуры. Обычно для каждого интерфейса однозначно указывается, кто его реализует в конкретном проекте. Для этого чаще всего используется некий конфиг, где прямо указано соответствие интерфейсов и их реализаций в конкретном проекте.
Собственно в этом и смысл реализации инверсии контроля, когда для инстанцирования или доступа к объекту используется не имя класса (например как параметр оператора "new"), а имя интерфейса. Для этого обычно создается некий костыль (который часто называют менеджером объектов), он в качестве параметра получает имя интерфейса, лезет в конфиг, узнает какой класс этому интерфейсу сопоставлен и возвращает объект этого класса.
Обычно для конкретных фреймворков, использующих вышеописанный конфиг, для IDE пишут плагин, который "понимает" этот конфиг и помогает IDE находить реализации интерфейсов.
Прочитал вашу статью. Для того чтобы определится с устройством под ваши требования надо уточнить - как именно путешествует программист в вашей статье?
Если он путешествует в пределах цивилизации, то всегда будет доступен телевизор и достаточно оборудовать "спутник" одним или несколькими типами популярных видеовыходов для подключения большинства телевизоров-мониторов.
Если он путешествует по "дикой" местности на авто/мото/велике или даже пешком, то ему нужен "спутник" оборудованный мини-проектором, как я написал в коменте ниже.
Я уже написал апдейт к статье, где объяснил, что использую термин носимый "сервер" постольку поскольку телефон это "клиент", а так да - это компьютер, который можно использовать как угодно - и как сервер и как десктоп или как-то еще на ваше усмотрение.
В случае десктопа - шестидюймовый экран это ограничение клиента-телефона и скорее вариант использования в крайней необходимости. Для полноценного использования в десктопном варианте придется оборудовать устройство видеочипом с микро разъемом HDMI или DisplayPort и тогда его без проблем можно будет подключать к большинству современных мониторов и телевизоров.
Можно сделать несколько вариантов устройства: подешевле - без видеовыхода, подороже - с видеовыходом(ми) и каким-то еще дополнительным "обвесом". В топовой версии встроить мини-проектор, чтобы можно было работать даже на стенке палатки при необходимости.
Спасибо за ссылку, не знал что Termux так продвинулся - обязательно потестирую Termux X11. Но мне очень важно, чтобы интересующие меня программы и данные "жили" на отдельном устройстве.
В termux много чего нельзя запустить. Например у меня есть такая задача - запустить фреймбуффер с иксами - например Xvfb и в нем какое нибудь иксовое приложение, например тот же Хром или Телеграм и потом организовать работу с этим приложением например через VNC со смартфона. Сделать такое через termux точно не получится.
Вы правы, что большинству пользователей как раз и не хватает "батареи и объема памяти". Но мне нужно не только это, добавил UPD 1 в статью, чтобы было понятнее чего именно я хочу.
Про термин "сервер"и для чего он нужен добавил UPD 1 в статью.
Тут страшнее не спам, а затопление "входящих" ящиков потоком мусора. Поначалу никто "топить" почту точно не будет. А по мере развития можно придумать много методов борьбы с намеренным флудом, не думаю что это совсем не решаемая проблема.
Да вроде ж гуглится без проблем по запросу: "free email without phone number verification"
Такие например : ProtonMail, Tutanota, Mailfence, Hushmail
Что конкретно вам непонятно в рекомендации:
?
Вас кто-то заставляет пользоваться почтовиками, которые требуют ФИО, геолокацию и т.п. для регистрации и работы?
Я вам в первом же ответе написал про аналогию с СКВ, после чего вы все равно спрашиваете о том, что новый клиент не получит старой информации или потеряет часть информации. Если вы пользуетесь гитом, то должны знать как такие проблемы решаются в гите - зачем тогда вообще задавать такие вопросы?
Без конкретики - это просто пустые слова. Только и всего.
Нет, даже по ссылке, которую вы дали - написано:
Когда вы регистрируете (создаете) email в большинстве бесплатных почтовиков - от вас не требуют идентификации физического лица. Следовательно такой ящик может использоваться кем угодно, любым физлицом, юрлицом, группой людей, организацией, программой или даже животным и его адрес не является персональными данными.
Просто используйте email не привязанный юридически напрямую к вам и у вас никаких проблем с анонимностью не будет.
Вы можете описать в чем именно вы видите проблему такой "точки входа" ?
Как именно нарушается ваша анонимность если бот знает ваш email? У вас единственный emal на все случаи жизни, который вам выдали после предъявления паспортных данных?