Простое объяснение принципов SOLID

Автор: admin от 30-05-2018, 22:45, посмотрело: 52

Простое объяснение принципов SOLID


Принципы SOLID — это стандарт программирования, который все разработчики должны хорошо понимать, чтобы избегать создания плохой архитектуры. Этот стандарт широко используется в ООП. Если применять его правильно, он делает код более расширяемым, логичным и читабельным. Когда разработчик создаёт приложение, руководствуясь плохой архитектурой, код получается негибким, даже небольшие изменения в нём могут привести к багам. Поэтому нужно следовать принципам SOLID.



На их освоение потребуется какое-то время, но если вы будете писать код в соответствии с этими принципами, то его качество повысится, а вы освоите создание хорошей архитектуры ПО.



Чтобы понять принципы SOLID, нужно чётко понимать, как использовать интерфейсы. Если у вас такого понимания нет, то сначала почитайте документацию.



Я буду объяснять SOLID самым простым способом, так что новичкам легче будет разобраться. Будем рассматривать принципы один за другим.

Категория: Программирование

 

Профессия: кибердетектив

Автор: admin от 30-05-2018, 18:25, посмотрело: 71

Веста Матвеева — эксперт в области информационной безопасности компании Group-IB, признанной изданием Business Insider UK одной из 7 самых влиятельных мировых организаций в индустрии кибербезопасности. За 6 лет она провела десятки экспертиз — технических разборов инцидентов в роли криминалиста, после чего перешла в отдел расследования и раскрыла несколько дел.



Веста приехала в Университет Иннополис по приглашению преподавателей и студентов программы магистратуры Разработка безопасных систем и сетей в рамках курса CyberCrime and Forensics. Гостья прочла лекцию о том, как глобализируется киберпреступность, какие тактики и инструменты используются для атак на финансовые и промышленные организации и какими методами пользуются киберкриминалисты для борьбы с хакерами.



Профессия: кибердетектив

Категория: Информационная безопасность

 

Разбор конкурса Leave ATM Alone на PHDays 8

Автор: admin от 30-05-2018, 18:25, посмотрело: 32

На Positive Hack Days 8 в очередной раз прошел старый добрый конкурс по взлому банкоматов Leave ATM Alone. В распоряжении участников были два банкомата, аппаратная часть была предоставлена нашим партнером по банковской безопасности Альфа-Банком. Специально для соревнования мы настроили банкоматы и заложили в них уязвимости. За 15 минут нужно было обойти средства защиты и извлечь деньги из устройства. Призовой фонд составил 40 000 ?. Попробовать обойти защиту пришли около 40 участников. Леонид Кролле, организатор конкурса и специалист отдела исследований безопасности банковских систем Positive Technologies, рассказал, как это было, и подробно разобрал задания.



Разбор конкурса Leave ATM Alone на PHDays 8



Участники конкурса Leave ATM Alone



В распоряжении участников было два банкомата. На одном из них установлено программное обеспечение аpplication сontrol от наших партнеров, предотвращающее запуск недоверенных приложений. Оно не дает запустить ни одно приложение, которое требуется для снятия наличности (привет, Cutlet Maker, BubbleMaker и nemagiya!).



Второй банкомат подключен по сети к тестовому процессингу, позволяющему провести операцию по снятию наличности (которая есть в банкомате). Однако процессинг посылает сигнал на выдачу из той кассеты, в которой нет денег. Поэтому задача участников — подменить ответ процессинга для выдачи денежных средств из правильной кассеты.



Кабели подключения от банкомата и тестового процессинга находятся снаружи, с возможностью подключиться к ним с помощью сетевого шнура (LAN).



Все уведенные из системы деньги игроки забирали себе.

Категория: Информационная безопасность

 

Настоящее и будущее безопасной работы с null и undefined в JavaScript

Автор: admin от 30-05-2018, 14:45, посмотрело: 73

Автору материала, перевод которого мы сегодня публикуем, недавно попался один вопрос на StackOverflow, который заставил его задуматься об обработке значений codev_0.



Настоящее и будущее безопасной работы с null и undefined в JavaScript

Категория: Веб-разработка

 

Multisig-контракты и адреса в Bitcoin и Ethereum

Автор: admin от 30-05-2018, 13:50, посмотрело: 272

Multisig-контракты и адреса в Bitcoin и Ethereum

Multisig-контракты в современных децентрализованных сетях — это мощный инструмент, который позволяет просто и надёжно защищать средства на коллективных счетах, а также проводить сделки с несколькими участниками. Если вам интересно, как использовать такие адреса, то вы попросту обязаны понимать механику владения ими и прекрасно представлять себе порядок транзакций. Для работы с такими адресами требуется участие нескольких аккаунтов.



Несмотря на одинаковое название и схожую логику работы, внутренние алгоритмы и способы взаимодействия с адресами, защищёнными мультиподписью, довольно сильно различаются в Bitcoin и Ethereum. Именно об этом внутреннем устройстве и пойдёт речь в данной статье.



Мы будем говорить о двух сетях: Bitcoin и Ethereum. В других блокчейнах multisig-доступ к криптоактивам может быть реализован совершенно иначе.

Категория: Криптография

 

Microsoft 365 и его фишки

Автор: admin от 30-05-2018, 12:45, посмотрело: 95

Привет, Хабр! Сегодня мы рассмотрим три источника проблем во многих компаниях. Первый из них — использование сотрудниками множества разных устройств для работы, второй — администрирование серверов, и третий — поиск решения этих проблем (да, он тоже может доставлять проблемы). Также под катом вы найдете небольшой экскурс в новую платформу Microsoft 365. Присоединяйтесь!



Microsoft 365 и его фишки

Категория: Системное администрирование, Microsoft, Windows

 

Комиксы о сисадминах: вся жизнь пронеслась перед глазами

Автор: admin от 30-05-2018, 10:20, посмотрело: 134

Это было самое нецелевое использование рабочего времени в истории нашей команды… Но до этого в офисе прозвучала фраза: «Я тут комикс 1996 года нашёл! Про админов». В нас проснулся дух авантюризма и мы решили собрать разные комиксы и пронаблюдать, как эволюционировала система ценностей системных администраторов: что-то ушло в небытие, что-то новое появилось. Получилось много картинок, мало текста и немало смысла. В общем, Хабр, таким нельзя не поделиться. Даёшь ностальгию со слезами на глазах в середине рабочей недели!



Комиксы о сисадминах: вся жизнь пронеслась перед глазами
Источник: Я плакалъ

Категория: Системное администрирование

 

Опыт настройки и использования WSL (подсистемы Linux в Windows 10)

Автор: admin от 30-05-2018, 10:05, посмотрело: 114

К написанию данной статьи меня побудил вопрос на Тостере, связанный с WSL. Я, после нескольких лет использования систем на ядре Linux, около полугода назад перешел к использованию Windows 10 на домашнем ПК. Зависимость от терминала и Linux окружения в моей работе практически сразу привели меня к вопросу: или ставить виртуалку или попробовать WSL. Я выбрал второе, и остался вполне доволен.



Под катом я расскажу как установить и настроить WSL, на какие я наткнулся проблемы и ограничения, как запускать Linux приложения из Windows и наоборот, а так же как интегрировать элементы окружения Xfce в окружение рабочего стола Windows.



Опыт настройки и использования WSL (подсистемы Linux в Windows 10)

Категория: Windows, Linux

 

Однотипные методы? Хватит это писать

Автор: admin от 30-05-2018, 09:50, посмотрело: 42

Вы когда-нибудь писали адаптеры для Keychain или NSUserDefaults? Они полностью состоят из однотипных сеттеров и геттеров. Предлагаю написать логику один раз, предоставив остальное рантайму. За реализацией прошу под кат.



Однотипные методы? Хватит это писать

Категория: Веб-разработка, Game Development, iOS

 

Вы просто не умеете редактировать данные

Автор: admin от 30-05-2018, 07:45, посмотрело: 51

Вы просто не умеете редактировать данные


Конечно, вы постоянно что-то редактируете и прекрасно умеете это делать. А что насчёт данных в мобильном приложении, когда на экране нужно разместить большое количество элементов? Не забудьте, что сделать это нужно максимально аккуратно для пользователя, эффективность которого напрямую зависит от удобства ввода. Задача перестаёт быть тривиальной.



Прочитав статью, вы узнаете, как:




  • организовать структуру данных, чтобы их было удобно редактировать

  • обеспечить «динамизм» вашему UI

  • определять, изменилось ли что-то

  • сохранять историю изменений

  • сделать многопользовательский режим за 5 минут



В конце вас ждет готовый прототип с исходным кодом, демонстрирующим описанный подход.

Уже хочу

Категория: Программирование, Веб-разработка, Game Development, Android