Трансдьюсеры были анонсированы еще в далеком 2014, с тех пор по ним было написано немалое количество статей (раз, два), но ни после одной статьи я не мог сказать, что понимаю трансдьюсеры кристально ясно. После каждой статьи у меня возникало ощущение, что я приблизительно понимаю что-то сложное, но оно все равно оставалось сложным. А потом однажды в голове что-то щелкнуло: "я ведь уже видел этот паттерн, только он назывался иначе!"
Пользователь
О технических аспектах внешней и внутренней мотивации
Одной из проблем текущего образования является низкий уровень мотивации учащегося. Не секрет, что большая часть выпускников престижных (и не только) вузов идет работать не по полученной специальности. Основная причина, по мнению авторов, кроется в том, что за время обучения учащийся не был достаточно заинтересован в предмете обучения. В результате уровень его внутренней мотивации, после выхода из стен учебного заведения недостаточен для того, чтобы устроиться на работу, где могли бы быть полезны полученные знания.
Рассмотрим мотивацию как силу, толкающую студента на повышение собственного уровня развития. Допустим, имеется курс информации некоторого объема и определенной длительности, которым должен овладеть студент. Представим, что студент находится на некотором текущем уровне знаний, и задача преподавателя — повысить уровень знаний студента на некоторую «высоту» , за определенное время (рисунок 1).

Рисунок 1: Действие различных сил на студента
Условно можно сравнить задачу с подъемом тела по наклонной плоскости (будем считать трение о поверхность равным нулю). На студента в этот момент действуют две силы:
- Сила мотивации , задача которой заключается в том, чтобы студент достиг более высокого уровня знаний;
- Сила деградации , которая будет определять стремление студента вернуться на текущий уровень развития. Будем считать, что сила деградации постоянна и не зависит от уровня знаний студента
Инфраструктура онлайн игры
Здравствуйте, меня зовут Александр Зеленин, и я на дуде игрец веб-разработчик. Полтора года назад я рассказывал о разработке онлайн игры. Так вот, она немного разрослась… Суммарный объём исходного кода превысил «Войну и мир» вдвое. Однако в данной статье я хочу рассказать не о коде, а об организации инфраструктуры проекта.
Невидимые друзья вашего github-репозитория

Github это незаменимый инструмент, прочно вошедший в жизнь практически каждого разработчика.
Хотя многие из нас используют его постоянно, не все знают, что существует большое количество сторонних (и бесплатных) сервисов и инструментов, которые тесно интегрированы с github и расширяют его функциональность.
В данной статье мы уделим внимание, в основном, инструментам, работающим в инфраструктуре npm. Полный список сервисов, интегрирующихся с github, можно посмотреть на странице github integrations directory.
Сегодня в выпуске:
- Настраиваем continuous integration c travis ci
- Настраиваем отчеты о test coverage с coveralls
- Мониторим статус зависимостей с david
- Настраиваем автоматическое обновление зависимостей с greenkeeper
- Улучшаем сообщения коммитов с commitizen
- Генерируем changelog и release notes с conventional-changelog
- Управляем задачами с zube
Качество сервиса на три буквы

«В старом мире, мы тратили 30% нашего времени на создание хорошего сервиса и 70% времени на то, чтобы рассказать о нём. В современном мире всё наоборот» — Джефф Безос, CEO, Amazon
“Это самый ужасный сервис на свете! Верните мне мои деньги немедленно!” — каждый инженер техподдержки хотя бы раз, но слышал такое от пользователя. Да что и говорить, чаще всего высказываются самые недовольные: “Я 27 минут висел на телефоне", “Мою проблему не могут решить уже четвертый день!”. Те, кто никогда не работал в саппорте судят о качестве предоставляемого сервиса по своему личному опыту. А как о нем судим мы, те, кто отвечает на звонки и решает проблемы? Как определить, хороший ли сервис вы предоставляете своим пользователям?
+500 бесплатных инструментов для запуска вашего стартапа в 2017 году

Сейчас доступно огромное количество отличных бесплатных инструментов. Но используя бесплатный или условно-бесплатный инструмент, вам понадобится больше времени на достижение своей цели, потому что такой инструмент не будет полностью соответствовать вашим потребностям.
С другой стороны, в начале пути важно минимизировать издержки и внимательно следить за своими платными подписками. В конце месяца они могут незаметно вылиться в огромные накладные расходы.
Итак, мы нашли в интернете бесплатные и условно-бесплатные инструменты для роста вашего бизнеса. Когда они дадут вам желаемый результат, вы можете оформить платную подписку.
Засуньте этот инфостиль себе в текст: 22 заповеди сильного редактора
Периодически в книге встречаются фразы в жирной оранжевой рамке — это основные идеи авторов. Фразы как бы закрепляют ранее описанные советы. Очень ценный ресурс.
Я быстро забываю прочитанное, поэтому выписал весь текст из оранжевых рамок в таблицу. Теперь, когда нужно писать статью, использую таблицу как руководство. Вот из чего она состоит.
Как я сделал самый быстрый ресайз изображений. Часть 1, общие оптимизации
В пилотной части я рассказал о задаче как можно подробнее. Рассказ получился долгим и беспредметным — в нем не было ни одной строчки кода. Но без понимания задачи очень сложно заниматься оптимизацией. Конечно, некоторые техники можно применять, имея на руках только код. Например, кешировать вычисления, сокращать ветвления. Но мне кажется, что некоторые вещи без понимания задачи просто никогда не сделать. Это и отличает человека от оптимизирующего компилятора. Поэтому ручная оптимизация все еще играет огромную роль: у компилятора есть только код, а у человека есть понимание задачи. Компилятор не может принять решение, что значение "4" достаточно случайно, а человек может.
Напомню, что речь пойдет об оптимизации операции ресайза изображения методом сверток в реально существующей библиотеке Pillow. Я буду рассказывать о тех изменениях, что я делал несколько лет назад. Но это не будет повторение слово-в-слово: оптимизации будут описаны в порядке, удобном для повествования. Для этих статей я сделал в репозитории отдельную ветку от версии 2.6.2 — именно с этого момента и будет идти повествование.
Охота на мифический MVC. Обзор, возвращение к первоисточникам и про то, как анализировать и выводить шаблоны самому
— Не понимаю, почему люди так восхищаются этим Карузо? Косноязычен, гугнив, поёт — ничего не разберешь!
— А вы слышали, как поёт Карузо?
— Да, мне тут кое-что из его репертуара Рабинович напел по телефону.
Детектив по материалам IT. Часть первая
Я осознаю, что писать очередную статью на тему Модель-Вид-Контроллер это глупо и вредно для «кармы». Однако с этим «паттерном» у меня слишком личные отношения – проваленный проект, полгода жизни и тяжелой работы «в корзину».
Проект мы переписали, уже без MVC, просто руководствуясь принципами – код перестал быть похож на клубок спагетти и сократился наполовину (об этом позже, в обещанной статье про то, как мы применяли «принципы» в своем проекте). Но хотелось понять, что же мы сделали не так, в чем была ошибка? И в течении долгого времени изучалось все, что содержало аббревиатуру MVC. До тех пор пока не встретились исходные работы от создателя – Трюгве Реенскауга…
И тогда все встало на свои места. Оказалось что фактически на основе принципов мы пере-изобретали «original MVC». А то, что зачастую преподносится как MVC, не имеет к нему никакого отношения… впрочем также как и к хорошей архитектуре. И судя по тому сколько людей пишет о несостоятельности «классического MVC», спорит о нем и изобретает его всевозможные модификации, не одни мы столкнулись с этой проблемой.
Более 30 лет собранные в MVC идеи и решения остаются наиболее значимыми для разработки пользовательских интерфейсов. Но как ни странно, несмотря на существующую путаницу и обилие противоречивых трактовок, разработчики продолжают довольствоваться информацией «из вторых рук», черпая знания о MVC из википедии, небольших статей в интернете и фреймворков для разработки веб-приложений. Самые «продвинутые» читают Мартина Фаулера. И почему-то почти никто не обращается к первоисточникам. Вот этот пробел и хотелось бы заполнить. И заодно развеять некоторые мифы.
Есть две функции

Есть две булевы функции
Если не знаешь, как решить подобную задачу, добро пожаловать под кат. Там я расскажу про квантовые алгоритмы и покажу как их эмулировать на самом народном языке — на Python.
10 подкастов для изучения/продолжения изучения английского языка

Шесть месяцев назад, я сделала для себя очень приятное открытие — подкасты на английском языке для изучающих английский язык. На тот момент у меня были проблемы с аудированием и открытие подкастов очень помогло мне развить аудирование до уровня понимания фильмов и аудиокниг без каких-либо субтитров.
Подкасты – это звуковые аудиофайлы в стиле радиопередач в интернете Как правило, подкасты имеют определенную тематику и периодичность издания. Каждый человек, у которого есть смартфон, может прослушивать подкасты. Для прослушивания подкастов у владельцев Apple есть родное приложение, называется «podcasts». Android пользователи могут использовать приложение «Podcast Addict».
Как сделать так, чтобы у вас не кончались идеи: метод Айзека Азимова

Одним словом Айзека Азимова можно описать так: плодовитый. Чтобы сравняться по количеству повестей, писем, эссе и других текстов, которые Азимов выдал за всю свою жизнь, вам необходимо будет писать полноразмерную повесть каждые две недели в течение 25 лет.
Как Азимов умудрялся выдавать столько хороших идей, в то время как у всех остальных их наберётся 1-2 штуки за всю жизнь? Чтобы ответить на этот вопрос, я изучил его автобиографию, "Это была хорошая жизнь".
Азимов не с рождения писал тексты 8 часов в день 7 дней в неделю. Он разрывал страницы, отчаивался, и периодически у него случались неудачи. В автобиографии Азимов делится тактикой и стратегией, выработанной им для того, чтобы идеи больше не заканчивались.
Давайте украдём у него всё, что можно.
«Полезняшки» или «Реестр Windows как платформа»
11 видов кэширования для современного сайта

Автор данной статьи не встречал структурированной обзорной информации о важных этапах кэширования, поэтому ему хотелось бы поделиться наработанным опытом в этой области, соединить воедино всю основную информацию по данному вопросу, а также рассмотреть плюсы и минусы каждого вида кэширования.
Особенности построения тестов и разработки ПО, используемого в тестировании продукта на сборочных линиях
Вы: разработчик тестового ПО для проверки Продукта, или менеджер этих разработчиков, или вообще менеджер, или инженер, или тестер широкого профиля… в общем лицо, ответственное теперь за проверку работы Продукта на выходе. У вас есть некоторый опыт лабораторного тестирования, но нет накопленного опыта работы с фабрикой.
Цель: Грамотно сгладить ошибки разработки тестового ПО для фабрики, допускаемые в процессе жизненного цикла Продукта.
Примечание: под Продуктом понимается некоторое устройство или его часть, обладающее внутренней логикой, SW / FW / Функционал которого требуется проверить. Пример: сотовый телефон, контроллер, программируемые устройства, материнская плата.
О рабах, героях и рабах-героях
Предлагаю свой вариант разделения людей по видам (типам/классам/сортам) «зависимости результативности от мотивации»:
В графике моя личная Картина Мира, обладающая для меня приличной предсказательной силой.
Правила внедрения TDD в старом проекте
Для более полного представления я взглянул на проблему абстракций со стороны применения их в уже готовом коде, в legacy code. Репозиторий, в таком случае, нас интересует только, как инструмент для достижения качественного и безбажного кода. Конечно, этот паттерн — не единственное, что необходимо для применения TDD практик. Наевшись «невкусной еды» в нескольких больших проектах и наблюдая за тем, что работает, а что нет, я вывел для себя несколько правил, которые мне помогают следовать TDD практикам. С удовольствием выслушаю конструтктивную критику и иные приёмы внедрения TDD.
Математика в JavaScript

Введение
Наличие чисел и числовых данных позволяет вам каким-либо образом работать с языком. Но помимо работы с арифметическими операторами в JavaScript, математические конструкции могут быть сложной задачей для новичков. По этой причине, нужно концентрироваться не на синтаксисе, а на общих математических функциях, этот список начинается с таких вещей как сортировка, округление и генерация случайных значений, этого достаточно, прежде чем углубляться в детали. Чтобы работать с математикой в JavaScript, вам достаточно иметь понятия о таких вещах как функция, операнд и оператор.
От переводчиков
Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы решили, что мы не будем говорить о модных и полезных штуках типа ReactJS, Angular, TypeScript и других. Сегодня мы уделим внимание математике в JavaScript. Если вам нравится математика, вы можете заниматься ей всё свободное время, но если вашей целью являются не научные изыскания, а работа программистом, математика вряд ли станет лучшим объектом для изучения.
Миссионерские интерфейсы

— Ты, издеваешься, что-ли? — юная хрупкая девушка, красиво закатывая глаза, тянет гласные, откровенно заигрывая со своим юным спутником. Я прохожу мимо и слышу это «издеваааааааешься». Так сладко тянет это «ааааааа» столь хрупкое создание, так переполнено истомой ее хорошо слаженное тело, что сомнений не остается ни у кого из окружающих — ей хочется, чтобы над ней поиздевались. Она одобряет и жаждет этого.
Почти полное руководство по flexbox (без самих flexbox)

К сожалению, не у всех есть браузер/устройство, поддерживающие flexbox. Это руководство в виде шпаргалки, в котором предлагаются альтернативы обратной совместимости для свойств flexbox.
Хотя некоторый CSS-код в этом руководстве, возможно, покажется очевидным, я собираюсь бросить вызов flexbox, а также предложить простые решения проблем, которые возникали, пока он не обрёл популярность.
Information
- Rating
- 2,581-st
- Location
- Екатеринбург, Свердловская обл., Россия
- Date of birth
- Registered
- Activity