Хабрахабр:
Сегодня (точнее уже сильно вчера) в Вегасе начала работу крупнейшая IT-выставка Consumer Electronics Show, более известная, как CES. Поток информации, обрушившийся на ее участников и людей, следящих за выставкой из дома, на экранах своих компьютеров и планшетников, поистине огромен. Больше того, даже все новости Intel не получится уместить в один пост ? во избежание информационного несварения. Поэтому вместо того, чтобы пытаться объять необъятное, я предлагаю вам совершить небольшую экскурсию по стенду Intel, взглянув на представленные новинки глазами обычного? ну, почти обычного посетителя. Читать дальше →
Я не являюсь врачом, специалистом по GTD или кем-нибудь, кто разбирается в области продуктивности. Но я прошел cам через полную потерю продуктивности, а затем сумел ее вернуть, и я хочу поделиться своим опытом с вами. Вступление Хотя к трудолюбию я не был приучен с детства, но от природы не мыслю себя без задачи, без дела и без проекта. Когда я просыпаюсь, первое, что я делаю, еще не встав с постели ? это прокручиваю в голове список задач на сегодня. Интересные проекты увлекают меня с головой так, что я совершенно забываю об отдыхе, а в голове пульсируют только рабочие мысли. Но при всем этом, пару лет назад, моя продуктивность внезапно просто магическим образом начала падать и упала до такой критической точки, что я стал не то что лентяем, а настоящим Великим Прокрастинатором. И я хочу рассказать вам эту историю. Читать дальше →
Есть некоторые категории знаний, которые профессиональный разработчик познает в процессе своей работы, не прилагая к этому особенных дополнительных усилий. Вот, например, мало кто из нас читал замечательную книгу по регулярным выражениям Джеффри Фирддла, чтобы познакомиться с одноименной темой. Безусловно, есть масса людей, для которых ?регвыры? стали смыслом жизни и без подобных фундаментальных знаний никак не обойтись. Но в большинстве случаев пары мелких статей и справки в соответствующем разделе документации будет достаточно для более или менее комфортной работы с регулярными выражениями (если такое понятие, как ?комфортная работа? с регулярными выражениями вообще существуетJ). Аналогичным образом мы обычно относимся и к изучению юнит тестирования. Ведь юнит-тесты ? это же не rocket science; для их изучения не требуется многолетняя подготовка и множество бессонных ночей проведенных за изучением толстенных ?талмудов? от гуру юнит-тестирования. Концепцию автоматизированного тестирования кода можно объяснить за 10 минут, а познакомившись с одним из тестовых фреймворков семейства xUnit (еще 15 минут), вы сможете работать с любым другим фреймворком практически сразу же. Затем нужно будет потратить еще 20 минут на изучение какого-нибудь изоляционного фреймворка, типа Rhino Mocks, и, вуаля, у нас есть еще один профессионал в области юнит-тестов. Читать дальше →
Поговорим о случае, когда нужно автоматизировать запуск тестов и сбор статистики покрытия, к примеру, для гипотетической клиентской JS библиотеки. Задача не совсем тривиальна, поскольку для нормальной работы библиотеки требуется полноценный браузер ? библиотека является визуальной оберткой над стандартными компонентами формы. Библиотека должна быть написана так, чтобы все взаимодействие с ее объектами можно было производить с помощью методов, которые они предоставляют, а не только через непосредственные манипуляции с DOM (т.е. любое действие юзера может быть запущено не только событием, допустим, клика по чему-то, но и руками через метод). Но тем не менее, надо этот DOM иметь, чтобы результаты работы методов помимо изменения внутреннего состояния объектов также отображались и в DOM. В целом напоминает приложения на Sencha (ExtJS). Для достижения поставленных целей нужен некий контролируемый браузер, фреймворк для запуска тестов и утилита, которая позволит посчитать покрытие кода тестами, а также некоторый код, который соединит все компоненты. Читать дальше →
Незадолго до наступления Нового года мы составили собственный топ лучших игр для iOS. При этом мы руководствовались тремя критериями: увлекательность геймплея, красота графического исполнения, а также качество адаптации под ?яблочную? платформу или, если по-русски, удобство управления и отсутствие глюков. Конечно, не обошлось тут и без субъективности, но мы постарались свести ее к минимуму. Кстати, каждая игра, представленная в нашем топе, на протяжении года либо занимала лидирующее место в американском топе, либо входила в один из чартов iTunes. 10) Draw Race 2 Эту игру любят даже те, кто терпеть не может гонки, а к машинам относится с пренебрежением. Все дело в необычном подходе к привычному и, как казалось, не способному ничем удивить жанру аркадных ?покатушек?. Игра, вместо того, чтобы заставить пользователя рулить своим четырехколесным монстром по извилистой трассе, предлагает нарисовать маршрут, по которому помчится машина после старта. Что будет дальше ? от игрока почти не зависит. После того, как все авто срываются с места, он может лишь пассивно смотреть за происходящим и болеть за свою машинку (ну, и жать кнопочку ?ускорение? в критический момент). Читать дальше →
Всем привет! Уже несколько раз меня просили сделать обычные тултипы, которые со стрелочками такие. Все бы было хорошо: состряпал блок с круголками, взял треугольники отсюда и вуаля. Однако, не все так просто. Ведь полет фантазии дизайнеров велик. То им стрелочки с наклоном, то им рамки, то тени. Можно, конечно, все запилить на картинках, но ведь это старомодно непрактично. Хотя бы из-за кучи оберток, для того, чтобы все тянулось во все стороны. Всё это оказалось абсолютно решаемым с помощью CSS, если включить немного фантазии. От слов к делу. Читать дальше →
Приветствуем Вас, уважаемые покупатели и владельцы магазинов. После только что прошедших новогодних праздников, мы снова решили напомнить Вам о себе, и для этого есть несколько хороших поводов. Но обо всем по порядку. Напомним Вам, что разработка кредитного сервиса Conpay.ru началась 8 сентября сразу после публикации статьи на хабре, где я в общих чертах описал идею проекта. Из отведенных на разработку 6 месяцев прошло уже почти 4, и нам пора отчитаться о проделанной работе. И вообще, нужно же кому-нибудь оценить нашу работу и добавить в процесс конструктивной критики. Для начала, коротко о том, чем мы занимаемся. Мы хотели создать кредитный сервис для интернет-магазинов, с помощью которого покупатели любого магазина смогут приобретать товары в кредит, даже не выходя при этом из дома. И, как ни странно, у нас получилось создать такой сервис. Но, как это часто бывает, обнаружилось множество подводных камней, о которые мы понабивали себе много шишек. Но сначала расскажем о том, что у нас получилось, а потом уже о том, что получилось пока еще не совсем. Читать дальше →
Или Script-Fu ? это так называемый ?фильтр массовости?? Далеко не каждый может с ним разобраться и большинство даже не пытаются делать какие-то плагины к GIMP. RPG Введение GIMP ? довольно мощный растровый графический редактор, обладающий рядом преимуществ, одним из которых является возможность расширять функциональность путём написания дополнений. В качестве языков, на которых можно писать дополнения, годятся Scheme и Python. Существует возможность писать дополения и на других языках (Perl, Tcl/Tk и т.д.), но модули, которые реализуют эту возможность, плохо поддерживаются либо вовсе не работают со свежими версиями GIMP. Избрав языком для написания дополнения Scheme, вы автоматически оказываетесь в выигрыше, так как не существует в мире такой сборки GIMP-а, в которую бы интерпретатор Scheme не входил, и написаное вами дополнение гарантировано будет работать на всех платформах ?из коробки?, однако, писать на Scheme ? то ещё удовольствие? Scheme является диалектом LISP. LISP ? это аббревиатура, расшифровывается как LISt Processing, то есть, язык для обработки списков. Существует и другая расшифровка: Language of Idiotic Silly Parentheses (язык идиотских глупых скобок), спорное, но не лишенное смысла утверждение, ? несоблюдение баланса скобок ? один из главных источников ошибок программы, написанной на LISP и ему подобных. Далеко не каждый может разобраться с непростым синтаксисом этого языка, и большинство даже не пытаются писать какие-то дополнения для GIMP. Но сложный синтаксис ? это мелочь по сравнению с отсутствием ряда возможностей. Например, нельзя использовать свой графический интерфейс, сохранить настройки дополнения в конфигурационный файл, подключить некий внешний модуль с дополнительными функциями и т.д. и т.п. Но есть язык, лишённый большинства недостатков Scheme и обладающий рядом достоинств. Этот язык ? Python. О нём и пойдёт речь. Читать дальше →

Отписаться от этой рассылки