По-моему никто еще не придумал критериев, но, похоже, все будет очень сильно зависеть от экспертов. Кстати, а если я обфусцирую чужой исходник, используя случайные данные (очень много случайных данных) (т.е. для получения исходного кода из моей модификации потребуется очень много вычислительных ресурсов), то как доказать, что это плагиат?
И плохо, потому что часто совершается переработка (бессмысленное переливание из пустого в порожнее, а после в урну выкидываешь, потому что архитектура получилась такая себе(я знаю, что такое прототипы, но поверьте это не один розовый цикл разработки из хорошей книжки) ) + неоптимальный код (можете громко смеяться, так громко, как только можете). А вообще стоит про это сказать больше. Я не буду перечислять конкретные причины, как бы это кому-нибудь не хотелось. Все равно все выше архиочевидные журавлики ООП-имуществ, которые для меня лично с лихвой перекрываются его недостатками. Ну как говорится, дело личное.
Можно, но все равно оо часто побуждает к неосознанной инкапсуляции, стремлению к монополии над данными (чтобы состояние менялось исключительно кодом объекта).
Я знаю для чего нужна инкапсуляция, но я считаю, что ее лучше применять для более крупных блоков, нежели обычные объекты в ооп, хотя там все это будет выглядеть не органично.
Это вопрос того, куда логичнее закинуть код. Ведь классы… С какой стати игрок должен знать о том, что есть монстер (вы передаете же монстра в параметрах)? Логично ли писать логику удара в плеере или может быть лучше в монстре? А если так, то xp находится в игроке… Тогда нужно придумать как дать доступ. А ведь на самом деле мы должны просто изменить данные. Но мы думаем о том, какая сущность должна «выполнять» код и как этой сущности дать доступ к данным, ведь у нас же ИНКАПСУЛЯЦИЯ! А еще бывает нахлынет эйфория, когда понимаешь, что по сути тебе нужно передать вот этот массив сюда и использовать его, но вместо этого ты делаешь копию массива (а вдруг твой собственный код изменит данные, а твоя сущность этого не ожидала), а потом в другом месте делаешь еще раз копию, но уже по другой причине. Плохо спроектировал? Когда 4-ый час думаешь об этом… Становится плохо. Этот пример открывает лишь малую часть зла, ведь инкапсуляция вынуждает делать копии данных, преобразования данных, чтобы не пустить внешний (свой собственный чиорт возьми) код в свои кишки. У меня возникает устойчивое ощущение, что я просто толку воду в ступе или думаю в какое наконец ведро ее перелить в зеленое или в красное, что же логичнее? Вы, возможно, подумали, что эта защита оправдывает себя, но порой я действительно делаю абсолютно бесполезную работу. Программист — это… Программист — это философ, капитан корабля, который отчаянно борется с морской болезнью, ведь гребень волны — абстракции, а впадины — жутко неэффективный код. А философ он потому, что никак не может понять, зачем он заплыл в это неспокойное море… Мне кажется, что инкапсуляция имеет место быть, но все-таки сейчас это какая-то крайность, и хорошо бы не прыгнуть из нее в другую крайность.
Кстати, как раз в статье приводится ссылка на наш случай.
Сейчас пойдет немного о содержании:
Главный аргумент всех сторонников ооп — просто у вас понимание ооп не то, ооп — это вот это и мне это нравится. Любые попытки переубедить ооп-чников кончаются тем, что тебе говорят, что ты просто не так понимаешь ооп. Причем все без исключений приводят разные понятия ооп. (Ну да, многие, конечно сходятся общих на аспектах: полиморфизм, инкапсуляция и тд). Также говорится о том, что в ооп записывают то, что не есть ооп — то, что с понятием объектно-ориентированное программирование связь имеет лишь в том, что может с ним использоваться (по-моему это как раз про контракты).
Я считаю, что даже если мы не имеем альтернатив, это вовсе не значит, что наше дальнейшее развитие должно быть прибито к ооп или что лучше уже не придумать. Много пустых споров рождаются всего на всего потому, что каждый под словом «ооп» видит свою боль. Просто иногда происходит диссонанс между дифирамбами о ооп, которые ты прочел в начале пути, и твоей постоянной болью… Просто нужно попробовать что-то новое (я не про существующие парадигмы как есть). Я не думаю, что после того, как мы забудем ооп наши проблемы решаться, нет. Я думаю это посыл к тем, кто потенциально может создать новую парадигму и язык для нее.
Это чем-то похоже на великих литературных классиков. Они поднимают важные проблемы, но навязывать свое мнение (как ты видишь решение, костыли также считаются) — моветон. Классиков в их время обычно критиковали за их взгляд на проблему, на которую у общества есть устойчивые убеждения. А потом мы говорим о том, что они были правы. Это, конечно, замечательно, но, ГДЕ МОЯ СЕРЕБРЯНАЯ ПУЛЯ? Ее не будет? Так что, оставить попытки ее найти?
Все равно эти угрозы вероятностные. Но я согласен с тем, что тем, кому есть что скрывать, лучше создавать полностью стерильное окружение. Правда, тогда надо будет положиться на облачные чаты. Вот и проверят, насколько безопасен телеграм) Наверно, вся суть этой ветки.
Я вас понял. Просто, так сказать, обыватели, вряд ли пытаются создать безопасное окружение. И спор тут о том, что в большей степени помойка — windows юзера или его смартфон. Хотя тоже вилами по воде, у всех по-разному.
О работе чего я не знаю? Того, что мне дали в стоковой прошивке? Может быть, но мы ж вроде в начале говорили о вирусах каких-то случайных разработчиков.
На мобильниках я, как минимум, знаю, что все приложения изолированы друг от друга и одно приложение не будет копаться ни в файлах другого, ни в его рабочем наборе в ОЗУ. Иной расклад возможен лишь при получении рут-доступа, что на последних версиях ведра без активного сознательного участия юзера вряд ли возможно. (утверждать, конечно, не буду, но пока уязвимостей не нашли, чтобы просто запустить приложение и получить рут)
Вопрос в том, какова цель вируса. Обычно просто смс-грабеж. Иногда бывает интересная экзотика, что пытается красть данные. Но опять же, универсальные трояны не делают и не сделать (ну максимум динамическая подгрузка скриптов с сервера злоумышленника). Чтобы красть какие-то конкретные данные автоматически надо думать о конкретном способе их «извлечения» (даже если иметь полный доступ к девайсу, но не написать код, который, скажем, будет переписку архивировать и отправлять, то ну ничего не будет. То есть трояны очень специфичны в своей деятельности).
Чаще всего юзеры ведроида сливают свои данные или смс исключительно из-за своей неграмотности. Оставляют пароли на фишинг сайтах, добровольно перечисляют деньги на чужие счета (скажем, после страшного баннера в соцсетях). Однажды, пришлось удаленно избавлять от вредоносного кода один девайс… Ну просто смс отправило приложение и списали 1000р. Дело было недолго, но я задал вопрос: как ЭТО попало к вам? «Меня по ссылочке перейти попросили, скачал, нажал, что-то там вылезло, разрешил и наслаждаюсь жизнью». Когда юзер видит всплывающее сообщение вы думаете он хотя бы мельком смотрит на текст? НЕТ! Он думает где красивая кнопка «продолжить», «разрешить», «закрыть», «уберите это от меня».
Иными словами большинство «вирусов» надеются на неграмотность юзеров.
Другое дело эскалация привилегий с получением рут-доступа. Это уже действительно ключ от всех дверей. На современных версиях ведра это очень затруднено и вряд ли может пройти без желания владельца (а часто и с желанием не проходит :( ). К слову, эскалация привилегий возможна и на Windows и на Linux (ну не буду сравнивать что легче, я не компетентен в этом).
Я знаю для чего нужна инкапсуляция, но я считаю, что ее лучше применять для более крупных блоков, нежели обычные объекты в ооп, хотя там все это будет выглядеть не органично.
Сейчас пойдет немного о содержании:
Главный аргумент всех сторонников ооп — просто у вас понимание ооп не то, ооп — это вот это и мне это нравится. Любые попытки переубедить ооп-чников кончаются тем, что тебе говорят, что ты просто не так понимаешь ооп. Причем все без исключений приводят разные понятия ооп. (Ну да, многие, конечно сходятся общих на аспектах: полиморфизм, инкапсуляция и тд). Также говорится о том, что в ооп записывают то, что не есть ооп — то, что с понятием объектно-ориентированное программирование связь имеет лишь в том, что может с ним использоваться (по-моему это как раз про контракты).
Я считаю, что даже если мы не имеем альтернатив, это вовсе не значит, что наше дальнейшее развитие должно быть прибито к ооп или что лучше уже не придумать. Много пустых споров рождаются всего на всего потому, что каждый под словом «ооп» видит свою боль. Просто иногда происходит диссонанс между дифирамбами о ооп, которые ты прочел в начале пути, и твоей постоянной болью… Просто нужно попробовать что-то новое (я не про существующие парадигмы как есть). Я не думаю, что после того, как мы забудем ооп наши проблемы решаться, нет. Я думаю это посыл к тем, кто потенциально может создать новую парадигму и язык для нее.
Это чем-то похоже на великих литературных классиков. Они поднимают важные проблемы, но навязывать свое мнение (как ты видишь решение, костыли также считаются) — моветон. Классиков в их время обычно критиковали за их взгляд на проблему, на которую у общества есть устойчивые убеждения. А потом мы говорим о том, что они были правы. Это, конечно, замечательно, но, ГДЕ МОЯ СЕРЕБРЯНАЯ ПУЛЯ? Ее не будет? Так что, оставить попытки ее найти?
Чаще всего юзеры ведроида сливают свои данные или смс исключительно из-за своей неграмотности. Оставляют пароли на фишинг сайтах, добровольно перечисляют деньги на чужие счета (скажем, после страшного баннера в соцсетях). Однажды, пришлось удаленно избавлять от вредоносного кода один девайс… Ну просто смс отправило приложение и списали 1000р. Дело было недолго, но я задал вопрос: как ЭТО попало к вам? «Меня по ссылочке перейти попросили, скачал, нажал, что-то там вылезло, разрешил и наслаждаюсь жизнью». Когда юзер видит всплывающее сообщение вы думаете он хотя бы мельком смотрит на текст? НЕТ! Он думает где красивая кнопка «продолжить», «разрешить», «закрыть», «уберите это от меня».
Иными словами большинство «вирусов» надеются на неграмотность юзеров.
Другое дело эскалация привилегий с получением рут-доступа. Это уже действительно ключ от всех дверей. На современных версиях ведра это очень затруднено и вряд ли может пройти без желания владельца (а часто и с желанием не проходит :( ). К слову, эскалация привилегий возможна и на Windows и на Linux (ну не буду сравнивать что легче, я не компетентен в этом).
То что на десктопе ставятся только проверенные приложения — спорно.