Pull to refresh
0
0
Send message

Юнит-тестирование для чайников

Reading time15 min
Views1.1M
Даже если вы никогда в жизни не думали, что занимаетесь тестированием, вы это делаете. Вы собираете свое приложение, нажимаете кнопку и проверяете, соответствует ли полученный результат вашим ожиданиям. Достаточно часто в приложении можно встретить формочки с кнопкой “Test it” или классы с названием TestController или MyServiceTestClient.



То что вы делаете, называется интеграционным тестированием. Современные приложения достаточно сложны и содержат множество зависимостей. Интеграционное тестирование проверяет, что несколько компонентов системы работают вместе правильно.

Оно выполняет свою задачу, но сложно для автоматизации. Как правило, тесты требуют, чтобы вся или почти вся система была развернута и сконфигурирована на машине, на которой они выполняются. Предположим, что вы разрабатываете web-приложение с UI и веб-сервисами. Минимальная комплектация, которая вам потребуется: браузер, веб-сервер, правильно настроенные веб-сервисы и база данных. На практике все еще сложнее. Разворачивать всё это на билд-сервере и всех машинах разработчиков?

We need to go deeper
Total votes 70: ↑63 and ↓7+56
Comments65

Умный дом, как я до такого докатился. Часть 2-я

Reading time5 min
Views289K

В первой части я рассказал о причинах, побудивших меня заняться построением своего “умного дома”, и об используемом “железе”.
Но “железо”, само по себе, умным быть не может, главное это “софт”. Вот об этой стороне своего проекта я и хочу рассказать в этой части. Банальное управление освещением с пульта, конечно, выглядит круто в глазах непосвященной публики, но “ума” тут никакого.
Так что же такого умного можно сделать? И, главное, как?
Читать дальше →
Total votes 114: ↑112 and ↓2+110
Comments104

Виды и форматы справок

Reading time4 min
Views33K
Привет, Хабр!

К нам в Alconost часто приходят клиенты и говорят “Мне нужна справочная система для моей программы. Сделайте мне ПэДээФку”. Мы создаем руководство пользователя, оформляем PDF, а потом оказывается, что на самом деле нужна была контекстная справка с индексом и поиском.

Именно поэтому хотелось бы поделиться со всеми простыми схемами и описанием видов и форматов справки.



Читать дальше →
Total votes 81: ↑69 and ↓12+57
Comments38

Думайте при разработке

Reading time16 min
Views51K
Недавно наткнулся на ошибку в Android приложении Яндекс.Метро. Если бы был чемпионкой мира по синхронному плаванию, то обязательно спросил бы: «Кто создавал программу „для галочки“? Кто работал „на отшибись“? Кто слабое звено?». Недоумение вызывала не сама ошибка, а то, что она попала в приложение и всё ещё не исправлена.

В данной статье опишу простые советы, которые помогут улучшить качество программ. Проиллюстировать их смогу с помощью ошибок приложения Яндекс.Метро. Надеюсь, что это окажется полезным как разработчикам и тестировщикам, так и руководителям проектов.

Начать хотелось бы с главы «Изучение знаменитых (и не очень знаменитых) ошибок» из книги «Наука отладки». Если ещё не читали, то рекомендую прочитать. В этой главе описаны «глупые» ошибки и стечения обстоятельств, которые стоили жизней и миллионы долларов. Все эти ошибки объединяло то, что выявляющий их тестовый сценарий было чрезвычайно сложно воспроизвести, в результате многие проверки были просто пропущены.

В статье же мы будем рассматривать распространённые приложения, которые протестировать может любой участник команды. Давайте проведём небольшой эксперимент. Если у вас нет Android устройства, то попросите минут на десять у коллег или друзей. Скачайте приложение Яндекс.Метро и попробуйте его протестировать. Интересует актуальная на текущий момент версия 1.63 от 02.11.2012 сборка 159 (на Google Play стоит дата 21.01.2013). Для корректности проверки предлагаю снять галочку «Автообновление» в настройках Google Play.

Проверять будем основную функцию: нахождение маршрута между двумя станциями метрополитена Москвы. Посмотрите на карту метро. Подумайте, что следовало бы протестировать в приложении, что могло бы быть неправильно реализовано. Явной ошибкой будет сообщение «Маршруты не найдены», что некорректно, поскольку нет изолированных станций.

Эта же ошибка может проявить себя не так явно:
небольшая подсказка
Программа отображает маршруты между двумя станциям, но наиболее очевидный (и короткий) не находит.


Продолжение
Total votes 182: ↑134 and ↓48+86
Comments76

Методика Милашевича обучения техническому переводу

Reading time4 min
Views86K
Думаю, на Хабре почти все, в той или иной мере, знают английский язык. На самом деле, без умения читать английские тексты в IT очень трудно жить — все по настоящему толковое обычно именно на англоязычных ресурсах.

Но кто может сказать, что то, чему его учили в школе и ВУЗе действительно ему помогло в понимании англоязычной литературы? Подозреваю, что не многие смогут подтвердить подобное. Если уж быть честным, не знаю как дело обстоит в столичных школах и ВУЗах, а в провинциальных — все из рук вон плохо.

Мне в этом вопросе повезло — я с детства учил английский язык в группе, потом много времени занимался с репетиторами, поэтому в английском я ориентируюсь неплохо и без всяких хитрых методик. Но в университете, где я учился, преподаватель в учебном процессе использовала методику Милашевича. Я восхищен этим простым и изящным подходом к обучению переводу, и хотел бы о нем рассказать.
Что за методика?
Total votes 41: ↑36 and ↓5+31
Comments30

Книги для тимлидов и руководителей проектов. Часть 2

Reading time3 min
Views81K
Предыдущая статья очень хорошо была воспринята читателями, поэтому, как и обещал, сегодня подготовил статью-бонус.

Итак, я просил ответить на вопрос какие книги из статьи вы читали?

Результаты опроса:
Название книги
Количество голосов
Процент
Том ДеМарко. Deadline. Роман
об управлении проектами
247
54%
Фредерик Брукс. Мифический человеко-месяц, или Как создаются
программные системы
174
38%
Джоэл Спольски. Джоэл о программировании
165
36%
Том Демарко и Тимоти Листер. Человеческий фактор. Успешные
проекты и команды
148
32%
Джейсон Фрайд, Дэвид Хайнемайер Хенссон. Rework.
Бизнес без предрассудков
108
24%
Джеффри Янг и Уильям Саймон. iКона. Стив
Джобс
94
21%
Том ДеМарко, Тимоти Листер. Вальсируя с Медведями: управление
рисками в проектах по разработке программного обеспечения
70
15%
Том Демарко, Тимоти Листер. Балдеющие от адреналина и зомбированные
шаблонами. Паттерны поведения проектных команд
51
11%
Кармин Галло. iПрезентация. Уроки
убеждения от лидера Apple Стива Джобса
48
11%
Патрик Ленсиони. Смерть от совещаний
21
5%
Патрик Ленсиони. Пять пороков команды. Притчи о
лидерстве
19
4%
Патрик Ленсиони. Пять искушений руководителя: притчи о лидерстве
16
4%
Патрик Ленсиони. Три признака унылой работы. История со смыслом
для менеджеров (и их подчиненных)
11
2%

А теперь еще один бонус — список книг по заданной тематике, которые прислали нам читатели:
Читать дальше →
Total votes 89: ↑81 and ↓8+73
Comments12

Этюд для программиста или головоломка крисс–кросс

Reading time8 min
Views29K

Думаю многим хабровчанам знакома книга «Этюды для программистов» Чарльза Уэзерелла. Если нет, то здесь можно прочитать интервью с автором и небольшой обзор книги. Мне самому совсем недавно попала данная вещь в руки, и было решено обязательно реализовать одну из задачек.

Итак предлагаю разобрать с вами один из этюдов. Писать будем на Java, поработаем с графикой и GUI + разберем алгоритм перебора с возвратом для нахождения нашего решения. Маловероятно, что статья заинтересует профи, но вот новичкам, а особенно тем, кто только изучает Java, статья может оказаться полезной.
Всем заинтересовавшимся – добро пожаловать!
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments6

Опыт использования вертикальной мыши или спасаемся от туннельного синдрома

Reading time6 min
Views259K
В этот понедельник я расскажу о мышке, помогающей избежать туннельного синдрома. Поехали!

Под катом — медицинский ликбез о причинах возникновения туннельного синдрома, о том, как его избежать, и конечно, обзор вертикальной мышки.
Читать дальше →
Total votes 94: ↑77 and ↓17+60
Comments181

Светодиодная лента в качестве освещения комнаты

Reading time15 min
Views1.3M
Изначально для основного освещения одной из комнат, где шёл капитальный ремонт, планировалась обычная люстра. Но недавно мне на глаза попалась суперяркая светодиодная лента Ultra 5000 со светодиодами smd 5630 торговой марки Arlight. Решение было принято быстро, окончательно и бесповоротно — хочу такую ленту в качестве основного света в комнате.



О реализации светодиодного периметра освещения далее
Total votes 420: ↑415 and ↓5+410
Comments329

Готовится образовательный ресурс по Android от XDA-developers

Reading time1 min
Views12K

Известный ресурс по Android XDA Developers начал подготовку собственного учебника по Android и всему, что связано с этой системой.

За время существования самого сайта и форума накопилось множество материалов, которые могут оказаться крайне полезными для Android-разработчиков, многие из которых для поиска нужной информации банально используют Google. Однако, для стройной системы обучения, что особенно важно для новичков, было бы целесообразным иметь некоторое упорядоченное централизованное хранилище, которым должен стать новый проект — XDA-University.

Проект будет представлять из себя коллективный труд многих людей, на котором бесплатно будет доступна самая актуальная информация из недр XDA-Developers. Кроме этого, готовится к публикации PDF-книга, которую также бесплатно можно будет загрузить и использовать оффлайн. На данный момент всем интересующимся предлагается оставить свой email на сайте XDA-developers.com с тем, чтобы вовремя получить уведомление о начале работы.
Источник
Total votes 49: ↑45 and ↓4+41
Comments3

Создание телеканала в интернете при помощи домашнего компьютера

Reading time5 min
Views111K
Загорелся я как-то мыслью создать собственный телеканал, хорошо порылся в интернете, и столкнулся с несколькими техническими проблемами не решаемыми или решаемыми но очень дорого для хобби обычного гражданина. И забросил эту идею буквально до средины прошлого лета пока не узнал что барьеров для создания собственного тв больше нет.

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

Итак если вы хотите организовать собственный тв канал в интернете нам понадобится список необходимых для этого программ:

1 вариант (бюджетный и с самой низкой нагрузкой на машину) — VLC media player, acestream (torrentstream). Все будет работать и под Windows и под Linux.

2 вариант (только под Windows) — VLC media player, acestream (torrentstream), XSplit Broadcaster и/или VH Screen Capture driver, а также по желанию Virtual Audio Cable.
Читать дальше →
Total votes 45: ↑39 and ↓6+33
Comments58

Увлажнитель воздуха: купить или сделать? Сложности выбора

Reading time5 min
Views266K
Пришла зима, отопительный сезон и вновь актуален вопрос увлажнения воздуха («Если наружный воздух значительно холоднее комфортного, его обогревают, что приводит к снижению относительной влажности воздуха. Это происходит потому, что обогрев повышает температуру, но не увеличивает количество влаги в воздухе»).
Еще и педиатр сказал, что ребенок будет болеть меньше, если поддерживать влажность в норме («Пересушивание воздуха вызывает усиленное испарение влаги отовсюду: с кожи и из организма человека и домашних животных, комнатных растений, из покрытия стен, мебели, музыкальных инструментов, паркета, книг, картин и других предметов, сделанных из гигроскопичных материалов, что вредит здоровью обитателей и сохранности предметов.»).
Вот и рекламный видеоролик, подтверждает сказанное
спойлер

Проблема лишь в том, что не существует оптимального способа увлажнения – у всех есть и серьезные недостатки и очевидные преимущества. А установка дома аквариума в планы не входит.
Обзор существующих подходов, а также конструкций «сделай сам» под катом. Надеюсь, кому-то поможет сделать свой выбор, а кто уже сделал – поделится впечатлениями с сообществом.
Читать дальше →
Total votes 61: ↑57 and ↓4+53
Comments183

Duke Nukem 3D бесплатен в течении дня на GOG.COM

Reading time1 min
Views60K

Культовая компьютерная игра созданная в 1996 компанией 3D Realms в течение одного дня бесплатна к загрузке на сайте GOG.com для Windows (XP, Vista, 7, 8) и Mac (10.6.8 и выше) платформ. Размер игры на сегодняшний день кажется смехотворным, всего 35 мегабайт.
В комплекте с игрой предлагаются к загрузке руководство пользователя, волпейпер, рингтон, аватар и артворк. Акция актуальна до 14 декабря 14:59. Приятной игры.
Total votes 114: ↑99 and ↓15+84
Comments107

Минимакс на примере игры в зайца и волков

Reading time11 min
Views90K
image Данная статья предназначена для разъяснения сути фундаментальных методов построения и оптимизации «искусственного интеллекта» для компьютерных игр (в основном антагонистических). На примере игры в зайца и волков будет рассмотрен алгоритм «Минимакс» и алгоритм его оптимизации «Альфа-бета отсечение». Помимо текстового описания, статья содержит иллюстрации, таблицы, исходники, и готовую кроссплатформенную игру с открытым кодом, в которой вы сможете посоревноваться с интеллектуальным агентом.
Читать дальше →
Total votes 81: ↑77 and ↓4+73
Comments17

Как начать писать игры

Reading time9 min
Views348K
Оригинал: Starting out on Game Programming

Путь в индустрию игровых разработок не близок. Эта статья призвана помочь понять с чего лучше начать это путешествие.

Вы только что закончили ваш первый курс по С++ и хотите начать делать игры. Кто-то указал вам на этот сайт и вы, возможно, поэкспериментировали немного с руководством. Вы изучили несколько лаконичных примеров, но не нашли руководства о том, как сделать целую игру. И на то есть причина.

Руководства хороши для обучения чему-то шаг за шагом, например тому, как перемещать изображение точки по экрану. Для того чтобы собрать игру воедино, вам нужны навыки решения возникающих проблем, приобретаемые лишь с опытом. Это не то, чему можно научиться из руководств. Лучший способ научиться делать игры — это начать их делать.
Дальше
Total votes 134: ↑119 and ↓15+104
Comments51

Умный дом на базе Z-Wave

Reading time5 min
Views245K


Долгое время я вынашивал идею, как лучше сделать удобное управление светом и электроприборами в квартире. При этом, мне хотелось иметь некое готовое модульное решение для относительно несложной самостоятельной настройки. Так, совершенно случайно, я наткнулся на оборудование, которое можно внедрить уже в существующую дома сеть совершенно «безболезненно». Им оказались устройства, работающие по протоколу Z-Wave.
Читать дальше →
Total votes 68: ↑65 and ↓3+62
Comments96

Создание умного дома и разработка своего протокола

Reading time5 min
Views180K
Сразу скажу, что пост ориентирован скорее на обычных людей, чем на тех, кто в теме, и является скорее отчётом того, чем я занимался в последние дни.

Я тут решил забить на всю работу и заняться чем-то для души. Снова взялся за паяльник. Решил автоматизировать дома всё и вся. На старой-то квартире у меня был умный дом или что-то типа того — мог свет в комнате включать через Интернет и всё такое.

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

Было решено, что лучше делать много отдельных устройств, каждое из которых отвечает за строго определённую задачу, имея возможность с лёгкостью подключать их к какой-то общей сети. И чтобы у каждого устройства был адрес и свой набор команд. Что-то вроде CAN-шины в современных автомобилях. При этом хочется, чтобы сеть была децентрализованной, без мастер-устройства, чтобы соединялись все по одному проводу, легко реализовывалось без покупки дополнительного контроллера, ну и чтобы длинные провода не были проблемой.

На борту микроконтроллера есть всякие I²C, да UART, но они явно не удовлетворяют условиям. В итоге было решено разработать свой велосипед протокол.



Читать дальше →
Total votes 77: ↑69 and ↓8+61
Comments99

Что следует знать перед тем как «увлечься» программированием

Reading time7 min
Views73K


Вступление


Этот хабратопик предназначается для всех тех, кто хочет с головой (или не очень) погрузиться в волшебный мир программирования, но пока не знает, с чего начать. Возможно, вы уже предпринимали попытки научиться программированию, однако безнадежно забуксовали.

Так получилось, что около четырех-пяти месяцев назад я решил слегка разнообразить свой досуг новым хобби и вплотную заняться веб-программированием. Как я докатился до жизни такой — это тема для совсем другой статьи, и речь сейчас пойдет не об этом. Речь пойдет о трудностях, с которыми я столкнулся, и к которым абсолютно не был готов. Возможно, этот топик поможет вам лучше подготовиться и не повторить моих ошибок.

Итак, после осознания навязчивого желания хотя бы немного да освоить это таинственное ремесло, каждый задает абсолютно логичный вопрос — «С чего же мне начать»? Ответов может быть множество — к услугам новичков скринкасты, книги, курсы, онлайн-обучение, форумы и прочее, и прочее. Учи-нехочу. И так как никакой общепринятой системы самообучения программированию не существует, можно смотреть и читать все без разбору, дни напролет. При желании, в чтении можно захлебнуться, однако для уверенного продвижения по лестнице знаний необходимо четко и эффективно расходовать свое время и силы, и если не знать с чего начать и куда двигаться — вы попросту забредете в дремучий лес, по которому можно блуждать неделями, пока, наконец, вы не выйдете на верную тропинку. Если выйдете вообще — велик шанс, что вам попросту все это дело быстро надоест.
Читать дальше →
Total votes 61: ↑27 and ↓34-7
Comments50

Программирование игр под Android

Reading time3 min
Views61K
image
Автор – Марио Цехнер
Перевод – Егор Сидорович, Евгений Зазноба
Дата выхода – 17/10/2012


Анонс адаптирован по рецензии.

Любой новоиспеченный разработчик Android, твёрдо намеренный создать новую игру, которая не уступит по популярности знаменитым Angry Birds, с энтузиазмом воспримет выход этой книги. Но подойдет ли она вам? Предлагаю мой обзор этой работы. Надеюсь, читатели смогут судить, как лучше всего ее изучать, и для кого она оптимально подходит.

Читать дальше →
Total votes 33: ↑22 and ↓11+11
Comments14

[ANN]ounce книг 11'2012

Reading time5 min
Views19K
Подобные анонсы книг выходят у меня не так и часто, но от этого они не становятся менее полезными. Как обычно, я подготовил список новинок компьютерной или околокомпьютерной литераторы на русском и английском языках, которые вышли недавно в свет, или же появятся в какое-то ближайшее время.
Это не список рецензий, а всего лишь перечень книг, которые я сам с удовольствием прочитаю в ближайшее время. Так что мое мнение основано скорее на имени автора и какого-то «средневзвешенного» мнения народа в наших с вами интернетах, и оно вполне может измениться после более близкого знакомство с этими творениями. Тем не менее, все они, как минимум, заслуживают нашего с вами внимания и достойны добавиться в бесконечный список книг на полке “to-read”.


Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments14

Information

Rating
Does not participate
Location
Белград, Белград, Сербия
Registered
Activity