Понимая зависимости

Автор: admin от 24-02-2018, 23:30, посмотрело: 76

От переводчика



Мы — внедрители. Мы должны внедрять, а не фантазировать!

(Рина Зеленая, к/ф «Девушка без адреса»)



К переводу этой статьи меня побудили две причины: 1) желание лучше разобраться с фреймворком Spring, 2) небольшое количество источников по теме на русском языке.



Краеугольный камень Spring — «внедрение зависимостей». Если описание процесса «внедрения» в целом, удовлетворительно, то объяснение понятия «зависимость» обычно оставляют за скобками. На мой взгляд, это существенное упущение.



Чтобы не фантазировать, а внедрять, нужно сначала разобраться с тем, что мы внедряем. И в этом нам может помочь лаконичная статья Jakob Jenkov «Understanding Dependencies». Она будет полезна не только тем, кто пишет на Java или изучает Spring, но и тем, кто пишет на других языках и следит за качеством проектирования приложений.



Что такое зависимость
  • Почему зависимости это плохо

  • Типы зависимостей

  • Дополнительные характеристики зависимостей:

    • зависимости реализации интерфейса

    • зависимости времени компиляции и времени исполнения

    • видимые и скрытые зависимости

    • прямые и непрямые зависимости

    • неоправданно широкие зависимости

    • зависимости локальные и контекстные


  • Стандартные vs кастомные зависимости класса/интерфейса

  • Резюме

  • Категория: Операционные системы » iOS

     

    Убить дракона: тернистый путь к Agile

    Автор: admin от 22-02-2018, 11:25, посмотрело: 84

    Убить дракона: тернистый путь к Agile


    Пару-тройку лет назад мы тоже с энтузиазмом взялись переходить на гибкие методологии разработки, а по-простому: внедрять Agile. Наняли внешних консультантов, выделили для обкатки процесса кусочек большого продукта, с воодушевлением начали быстро и качественно делать. Делали-делали, а потом поняли, что получается какая-то ерунда, а не Agile, как в том анекдоте про секретаршу и 1000 знаков. И вроде бы все молодцы, работают как раньше, люди опытные, и продукт работает, только всё как-то «не по Agile-у».



    Мотивация в команде упала. Заказчики в растерянности от того, что предполагаемые «волшебные» сроки не сбываются, и вообще заявляют, что Agile не место в приличном обществе. В результате маленькая группка «Agile-трансформаторов» села и устроила мозговой штурм, почему же у нас ничего не выходит? Начали выписывать любые мешающие нам ограничения. Их оказалось очень много, и мы назвали их драконами.

    Категория: Операционные системы » iOS

     

    Танчики в консоли, статья четвёртая: «Новый сервер — новый протокол»

    Автор: admin от 22-02-2018, 11:25, посмотрело: 74

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



    Сегодня я расскажу об неожиданной идеи и небольшом анализе сетевых протоколов. Подробности под катом.

    Категория: Операционные системы » iOS

     

    Работа большой распределенной команды: преимущества удаленки, решения проблем, полезные инструменты

    Автор: admin от 22-02-2018, 11:25, посмотрело: 128

    Работа большой распределенной команды: преимущества удаленки, решения проблем, полезные инструменты

    Всем привет! Меня зовут Алексей, я тимлид команды Vimbox (платформа для обучения в Skyeng). Не так давно я выступал на конференции с докладом об удаленной работе и особенностях распределенной команды. Неожиданно темой заинтересовалось много людей, хотя я думал, что хайп уже прошел и никого не удивить. Поэтому я решил поделиться и с вами наработками, полученными за четыре года функционирования в этом формате. Поскольку у нас в компании из 55 разработчиков 51 человек постоянно работает вне офиса, да и сам я живу в Калининграде, думаю, наш опыт многим может пригодиться.

    Категория: Операционные системы » iOS

     

    Измерение и формирование частотных характеристик электрогитар

    Автор: admin от 16-02-2018, 11:55, посмотрело: 93

    Поговорим об искусстве. Например, о музыке. Например, о гитарах.



    Создание электрогитар вещь достаточно консервативная. Несмотря на огромные успехи в обработке сигналов, которые позволяют доставать из гитар любые звуки в реальном времени (JTV89), до сих пор достаточно ценится тот самый «теплый и ламповый» звук, которым гитара должна обладать сама по себе. С другой стороны, при этом всем,  звук гитары должен обладать именно теми характеристиками, которые хочет заказчик, которому вдруг захотелось иметь какой-то специфический звук у своей гитары.



    Измерение и формирование частотных характеристик электрогитар

    Категория: Операционные системы » iOS

     

    Знаковый символ: iOS denial of service

    Автор: admin от 16-02-2018, 11:55, посмотрело: 181

    Знаковый символ: iOS denial of service

     

    В операционной системе iOS обнаружен необычный баг, приводящий к перезагрузке устройства. Достаточно прислать на iPhone специальный знак из алфавита индийского языка телугу ???? («знак»), после чего устройство автоматически перезагружается.

    Категория: Операционные системы » iOS

     

    Телеграм бот для удаления спама

    Автор: admin от 11-02-2018, 17:15, посмотрело: 706

    Решил написать эту публикацию т.к. устал объяснять одно и то же людям, которые хотят использовать моего телеграм бота @daysandbox_bot. Итак, несколько месяцев назад я разработал бота для удаления спама по очень простому признаку: если человек зашёл в чат и провёл в нём менее суток, то любые ссылки или forward сообщения от этого человека удаляются. Всё. Никаких нейронных сеток, анализа частотности, модерируемых white- и black-листов и прочих сложных вещей. На удивление бот приобрёл некоторую популярность и работает уже более чем в шестистах чатиках. Далее я попытаюсь развёрнуто описать принцип работы бота, чтобы в дальнейшем давать ссылку на эту статью.

    Категория: Операционные системы » iOS

     

    Майнинг в блокчейн-сетях: как он работает

    Автор: admin от 11-02-2018, 17:15, посмотрело: 112

    В начале января правительство Китая приказало «армии биткойн-майнеров» страны, которые генерируют 3/4 всей мировой криптовалюты, прекратить работу. Одной из главных причин такого решения стало слишком высокое количество электроэнергии, которое потребляют майнинговые фермы — сейчас на обеспечение безопасности биткойн-блокчейна и добычу монет уходит порядка 0,2% всего мирового энергопотребления.



    Сегодня поговорим, почему майнинг потребляет такое количество энергии, зачем он нужен и как реализуется. Мы расскажем об алгоритме хеширования (SHA-256) и о том, почему майнеры «обращаются за помощью» к пулам.



    Майнинг в блокчейн-сетях: как он работает

    Категория: Операционные системы » iOS

     

    Интервью. Контент-маркетинг для стартапа: привлечение первых клиентов и оптимизация расходов

    Автор: admin от 11-02-2018, 17:15, посмотрело: 76

    Интервью. Контент-маркетинг для стартапа: привлечение первых клиентов и оптимизация расходов


    По статистике, через пять лет существования выживает только половина стартапов. Чтобы остаться на плаву думать нужно не только о качественном продукте, но и о его продвижении.



    О том, как привлечь внимание аудитории при скромных ресурсах стартапа с помощью контент-маркетинга, сегодня говорим с профессиональным маркетологом Александром Лашковым, который много работал над продвижением молодых проектов в России и США.

    Категория: Операционные системы » iOS

     

    Изучение Spring Framework 100% через практику. Активные туториалы и язык разметки KML. Проект KciTasks (beta)

    Автор: admin от 11-02-2018, 17:15, посмотрело: 104

    Изучение Spring Framework 100% через практику. Активные туториалы и язык разметки KML. Проект KciTasks (beta)


    Spring Framework традиционно считается одним из самых сложных и при этом высокооплачиваемых. Однако, существующие подходы к его изучению крайне неэффективны. Я хотел бы предложить вам принципиально новый подход к изучению спринга, который заключается в использовании концепции активных туториалов. Они представляют из себя сбалансированный набор инструкций, которые поддерживают внимание разработчика и проводят его через те или иные аспекты фреймворка.



    В результате, мы получаем целенаправленное обучение, но БЕЗ ступоров, проблем непонимания вида «а где это использовать», а также без скучного и пассивного чтения теории. Совсем.



    В рамках статьи представлено 5 учебных задачек, которые покрывают Spring Jdbc/Transactions на 50% от необходимых для сертификации знаний. Главная задача статьи — массово протестировать саму идею, а также вместе с вами разработать большое количество уникальных задачек по всем темам.

    Категория: Операционные системы » iOS