Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «программированный»
Тестирование рекурсии 2016-08-17 08:40:37
Есть пара весомых поводов не использовать рекурсию, но это не повод не использовать рекурсию ...
+ развернуть текст сохранённая копия
Есть пара весомых поводов не использовать рекурсию, но это не повод не использовать рекурсию вообще. Программы, во-первых, создаются программистами для программистов, и лишь во-вторых — программистами для компьютеров. В итоге, некоторыми годными программами могут пользоваться неподготовленные люди. Рекурсия имеет одно безусловное преимущество перед итерацией — читабельность. Когда программист создает программы для себе подобных, рекурсия имеет право на существование до тех пор, пока не докажет обратного (т.е. — не будет запущена на компьютере и не поперхнется реальными данными).
Тестирование — это, по сути, создание программ для программ, позволяющее программистам отодвигать порог непреодолимой сложности в разрабатываемых приложениях. Столкнувшись на днях с необходимостью написать юнит-тест для рекурсивного метода я был неприятно удивлен необходимостью мокировать сам тестируемый метод. Альтернатива — создавать такие входные данные, которые бы позволяли протестировать все ветки рекурсии в одном тестовом методе. В перспективе вырисовывалось не снижение сложности, а наоборот — ее увеличение. Порывшись в интернетах, я обнаружил кучу информации о том, чем нехороша рекурсия, массу советов, как перейти от рекурсии к итерации, но так и не нашел на русских формах того, что искал — как тестировать рекурсивный метод. Решив, что подготовить тестовые данные для трех проходов по коду — не такая уж непреодолимая сложность, отложил эту задачу до утра. Под катом решение, пришедшее в голову за ночь, позволяющее разбивать тестирование рекурсивных методов на части. Читать дальше →
Тэги: it-систем, php, phpunit, программирование, рекурсия, тестирование
Как заставить роботов двигаться быстро и эффективно? 2016-08-16 16:30:04
Как сделать так, чтобы беспилотник переместился из одного места в другое в лесу, не столкнувшись ни ...
+ развернуть текст сохранённая копия
Как сделать так, чтобы беспилотник переместился из одного места в другое в лесу, не столкнувшись ни с одним деревом? Как сделать так, чтобы робот поднял болт и вставил его в паз, не столкнувшись ни с каким объектом на многолюдной фабрике? Наша способность находить решение этой проблемы — которая называется планированием движений — будет крайне важной […]
Тэги: будущее, программирование, робототехника, роботы, эксперименты
[Перевод] Управление зависимостями в Python: похоже, уже можно пользоваться 2016-08-16 12:30:48
... популярных языков программирования и экосистем ... нового языка программирования уделяют этому не ...
+ развернуть текст сохранённая копия
В большинстве популярных языков программирования и экосистем с зависимостями все плохо. Как правило, создатели нового языка программирования уделяют этому не очень много внимания: просто потому, что в новом языке еще нет сотен тысяч библиотек для разных архитектур и версий, нетривиальным образом зависящих друг от друга. А когда эти сотни тысяч библиотек появляются – уже поздно что-нибудь менять.
Единственным на моей памяти исключением является node.js, авторы которой разработали «с чистого листа» на удивление удачную систему управления зависимостями. Ну, как удачную? Проблем там тоже много, начиная автовыполняемыми скриптами и заканчивая переходом от древовидной к flat структуре в 3-й версии. Но по сравнению с тем, что на тот момент было в других языках, нода — это прорыв.
Совсем недавно экосистема пополнилась новой утилитой rnpm, которая позволяет одной командой устанавливать React Native зависимости. В которых, на секундочку, может быть бинарный код для android и ios. Для разных архитектур. И все это работает из коробки. Мы в Voximplant хорошо знакомы с этой штукой: с ее помощью ставится наш собственный React Native SDK.
Вашему вниманию предлагаем интересную статью, опубликованную всего два дня назад, в которой очень подробно рассказывается про управление зависимостями в Python. Про историю развития. Про проблемы. И, что самое ценное — про то, как сообщество их решает. Под катом адаптированный для Хабра перевод и возможность обсудить печальную тему зависимостей. И не только для Python.
Лонгрид без картинок, приготовьте чашку кофе!
Тэги: phyton, python, voximplant, блог, веб-сайтов, веб-сервисов, компании, лучше!, программирование, разработка, стал, тестирование
Android UI Design 2016-08-14 12:12:05
Great design is one of the key drivers in the adoption of new applications, yet unfortunately design ...
+ развернуть текст сохранённая копия
Great design is one of the key drivers in the adoption of new applications, yet unfortunately design considerations are often neglected in the face of “will it work,” “can we make it quicker,” or “can we get more people using it”? This book seeks to redress this balance by showing you how to get your PM to start treating the design phase of your project seriously. This book is focused entirely on the development of UI features, and you’ll be able to practically implementing the design practices that we extol throughout the book.
Тэги: книги, мобильных, программировании, устройств
Python Flask: Минификация HTML 2016-08-13 23:30:46
Решил сегодня попытаться увеличить скорость загрузки сайта. Пути достижения данной цели я нашел тут ...
+ развернуть текст сохранённая копия
Решил сегодня попытаться увеличить скорость загрузки сайта. Пути достижения данной цели я нашел тут: http://texterra.ru/blog/kak-uvelichit-skorost-zagruzki-sayta.html В первую очередь буду уменьшать динамические страницы, файлы .css и .js буду минифицировать отдельно, т.к. вся статика отдаётся веб-сервером на прямую с диска, минуя Flask и минификация будет происходить всего один раз после развёртывания проекта на сервере. Для минификации HTML контента понадобится библиотека … Читать далее Python Flask: Минификация HTML →
Тэги: flask, html, htmlmin, python, программирование
Главная / Главные темы / Тэг «программированный»
|
Взлеты Топ 5
Падения Топ 5
|