Архив за 26 ноября 2012 - 7

Представьте на минутку обычного программиста. Допустим, его зовут Вася и ему нужно сделать анимированную менюшку на сайт/десктоп приложение/мобильный апп. Знаете, которые выезжают сверху вниз, как меню у окна Windows или меню с яблочком у OS X. Вот такое.

Начинает он с одного выпадающего окошка, тестирует анимацию, выставляет ease out 100% и наслаждается полученным результатом. Но вскоре он понимает, что для того, чтобы управлять менюшкой, хорошо бы знать закрыто оно сейчас или нет. Мы-то с вами тут программисты опытные, все понимаем, что нужно добавить флаг. Не вопрос, флаг есть.

var opened = false;

Вроде, работает. Но, если быстро кликать по кнопке, меню начинает моргать, открываясь и закрываясь не успев доанимироваться в конечное состояние. Вася добавляет флаг animating. Теперь код у нас такой:

var opened = false;
var animating = false;

function onClick(event) {
  if (animating) return;
  if (opened) close();
  else open();
}

Через какое-то время Васе говорят, что меню может быть полностью выключено и неактивно. Не вопрос! Мы-то с вами тут программисты опытные, все понимаем, что… нужно добавить ЕЩЕ ОДИН ФЛАГ! И, всего-то через пару дней разработки, код меню уже пестрит двустрочными IF-ами типа вот такого:

if (enabled && opened && !animating && !selected && finishedTransition && !endOfTheWorld && ...) { ... }

Вася начинает задаваться вопросами: как вообще может быть, что animating == true и enabled == false; почему у него время от времени все глючит; как тут вообще поймешь в каком состоянии находится меню. Ага! Состояния... О них дальше и пойдет речь.

Знакомьтесь, это Вася.

Простые стейт машины на службе у разработчика
Читать полностью »

На рассвете рыбаки племени Лови-Рыбу-На-Копье выстроились в круг на окраине деревни. Хмурые лица были раскрашены по-боевому, зубы зачернены, сети заштопаны, копья наточены и украшены самыми красивыми перьями страусов. Жвачка из листа эвкалипта приятно бодрила языки и маскировала запахи.
— Подождииите меняяяя!!!, — к кругу, тряся пачкой пергаментов, подбежал жрец.
— Вы опять все забыли!, — утираясь юбкой из листьев с прошлогодней пальмы кокоса, жрец попытался подсунуть одному из стоявших в кругу часть пачки. Парня передернуло, и он отступил на шаг.
— Вот, это Стратегия. Тут нарисовано, куда вы должны поражать копьем рыбу, и куда потом складывать добычу. И какими перьями ее маркировать, чтобы потом раздать всем по заслугам. И в чем ее нести домой. И какой рыбы нам надо! А это, — жрец выдернул отдельный лист, особенно раскрашенный и с рисунками, — вот, Миссия. Повесьте ее на самое главное копье — вождю!!! Вы должны знать, ради чего идете за рыбой!!! Оууууй…
Раздался легкий стук и жрец боком осел к подножию пальмы. Вождь спрятал дубинку за спину.
— Еще один заболевший тяжелой формой Бинго-Булшит. Ты и ты, — показал на двоих с краю, — верните его колдуну, пусть подлечит своего ученичка. Нагоните нас позже.
Двое отделились, подхватили жреца. Вождь переворошил копьем пергаменты.
— Посмотрим, что он притащил. Как лечить раны… как готовить и сохранить пищу… карты залива с рыбными местами — это верните колдуну, в библиотеку. Остальное сожжем. Да бросьте уже эту дрянь, еще тоже заразитесь, небось сам делал, пергаменты еще не высохли. Все, двигаем. Рыба ждать не будет. ...

Недавно мне, как руководителю отдела тестирования, пришлось создавать парочку никому не нужных документов. Шеф с подозрительным блеском в глазах потребовал, чтобы у отдела была Миссия, а еще была разработана Стратегия. Отмахнувшись от чудного видения, в котором фигурировал шеф и атака на соседей всем отделом, сделала для него выборку из тестовых планов, сопроводила пояснительной запиской, в которой расписала, в каком объеме и в зависимости от чего принимается решение, что включить в тесты и где их выполнять. Миссия отдела с тех пор висит в красивой рамке, раз в год мы ее печатаем заново, меняя дату. Больше вопросов у него не возникало, да и сами эти документы больше никто не просил обновлять. Хотя понятно, что решение об объемах тестирования принимается каждый раз при выкатке новой версии, и оно зависит от множества вещей, а версия ставится от 3 до 20 раз в неделю.

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

Сегодня мы запускаем серию ежемесячных дайджестов IT событий на предстоящий месяц. Мы — это портал «Айти-Событие.рф», освещающий мероприятия в сфере информационных технологий, робототехники и телекома на территории России, Украины и Белоруссии.

Дайджест IT событий до конца 2012 года
Читать полностью »

Один давний опрос показал, что на Хабре многие имеют бороду. Читая новостные сайты, наткнулся на одну интересную статью, в которой автор исследует взаимосвязь бороды и сферы деятельности сотрудников технических компаний.Читать полностью »

Компания Abee, чьи интересные, хотя и дороговатые корпуса из алюминия за последнее время несколько раз Читать полностью »

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

Для профилей пользователей стала доступна статистика по соцдему аудитории - пол, возраст, города проживания (скриншотЧитать полностью »

Алхимики были умными людьми и искренне тянулись к знанию. Но вместо строгого эмпиризма, то есть экспериментов, анализа полученных данных и построения гипотез по принципу бритвы Оккама, они пытались навязать природе воображаемые принципы симпатической магии. Материя равнодушна, ее нельзя заклинать — только наука может породить работающую технологию. Но наш мозг, к сожалению, склонен к алхимическому мышлению — ознакомьтесь, например, со списком когнитивных искажений. SEO — одна из наиболее «магических» областей: все сеошники заявляют, что обладают эликсиром вывода в ТОП, но чаще всего продают пациентам-сайтовладельцам ядовитые пилюли из киновари.
Но поток целевых посетителей из ТОП10 «Яндекса» и Google настолько привлекателен, что даже многие потерпевшие от варварской псевдооптимизации не оставляют попыток все исправить и вырваться в лидеры поисковой выдачи. Что делать, если ваш сайт пострадал от рук нерадивых оптимизаторов и канул в бездну словно кракен?.. Продиагностировать проблему, набраться терпения и запустить работающий цикл продвижения.
Читать полностью »

Конфиденциальные документы полиции Нью Йорка использовались в качестве конфеттиВо время традиционного праздничного шествия на День Благодарения в Нью-Йорке один из зрителей с удивлением обнаружил, что на полоске бумажного конфетти, упавшей на плечо его друга, напечатан чей-то номер социального страхования. Вместе с другом они принялись подбирать бумажные ленты и быстро собрали целую коллекцию фрагментов официальных полицейских документов, на которых сохранились вполне читаемые имена и адреса офицеров полиции, их номера социального страхования, номера значков, банковские счета, рапорты о происшествиях и арестах. По чьей-то халатности документы были пропущены через шредер не вертикально, а горизонтально, благодаря чему целые строки оказались вполне читаемыми.
Читать полностью »

Возможно, многие помнят скандальный промо-ролик, выпущенный Nokia перед сентябрьской презентацией Lumia 920. Тогда журналисты The Verge выяснили, что ролик этот был снят не на Nokia Lumia 920, а на некоторую зеркальную камеру, да и снимался он на самом деле не параллельно ехавшим на велосипеде молодым человеком, а сидевшим в фургончике оператором. И вот Nokia Lumia 920 стала доступна и мы решили прокатиться на великах, чтобы в действии проверить работу «плавающей линзы» в Lumia 920.

Читать полностью »

В те благословенные времена, когда IBM сама занималась изготовлением компьютерной техники и комплектующих, по карману мне были разве что жесткие диски этой марки. На компьютеры и особенно ноутбуки с заветным логотипом я многие годы смотрел, как на что-то из параллельной реальности. Также как в детстве на японские видеомагнитофоны и двухкассетники: полюбоваться и потрогать можно, а вот домой унести – вряд ли.

Свой ThinkPad у меня все же появился, но только в конце 2010-го, когда за выпуск этой серии уже добрых пять лет отвечала компания Lenovo. Все эти годы, согласно условиям сделки, IBM принимала непосредственное участие в дизайне новых моделей ThinkPad, и потому удивляться продуманности всех аппаратных и программных элементов купленного X201s как-то не приходилось. Но вот уже два года Lenovo развивает линейку ThinkPad полностью самостоятельно, и потому изучить новейший ультрабук ThinkPad X1 Carbon было особенно интересно. По доброй традиции, я осмотрел его не только снаружи, но и заглянул глубоко внутрь. Начну с самого главного: экран МАТОВЫЙ.

imageЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js