Pintask — Программируемый Трекер Задач

Салют, Хабр! По статистике новый трекер задач появляется раз в 2 недели.

«Но мой умеет готовить капучино!» - скажет вам разработчик.

«А другие следопыты заваривают чай такого же качества, как проводник поезда Москва-Геленджик, или заваривают только Копи Лювак».

То есть, если бы вы могли перепилить кран, чтобы из него лился капучино, вы бы не писали новый трекер задач? «Ну конечно! Просто капучино — мой любимый напиток».

Узнайте, что общего между кофеварками и Optimus Prime, зачем нам нужен программируемый трекер задач и как перепилить кран.



Pintask — программируемый трекер задач

Еще в 1969 году ситуация с микросхемами выглядела примерно так же, как нынешняя ситуация с трекерами.

Хотите выпустить калькулятор? Распечатайте свою микросхему.

Хотите выпустить калькулятор с функцией умножения на 1000 (для бразильских бухгалтеров)? Распечатайте еще один чип.

Именно этой логикой руководствовались японцы, заказавшие Intel для своих калькуляторов целых 12 чипов.

Постоянная рок-звезда компании Тед Хофф опытным взглядом посмотрел на чертежи и предложил провести рефакторинг.

Тогда, как и положено рок-звезде, он пропустил сам процесс, доверив реализацию идеи Федерико Фаггину.

Руководство с радостью отказалось от проекта, так как в тот момент бешено развивалось совсем другое направление, и на Бентли там можно было заработать.

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

Intel с помпой выполнила японский заказ и незаметно открыла новое направление бизнеса.

Несколько лет спустя рынок микропроцессоров внезапно стал настолько прибыльным, что там уже зарабатывали на Бентли.

Давайте перенесемся в наше время, когда миром правит страсть к кофе и каждый день выпускаются новые трекеры задач.

Ситуация сама напрашивается рефакторинг .

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

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

Пинтаск .



Немного сантехники

ЧЕСТНО ЧЕСТНО, появление микропроцессора теоретически было возможно уже в начале 1960-х годов, когда интегральные схемы начали производиться массово.

Однако любой молодой инженер-электрик на этом пути сталкивался с технологическими препятствиями 80-го уровня.

Федерико Фаггин знал о них не понаслышке.

Но и докторскую степень по физике он получил не при переходе в московском метро, а в Падуанском университете.

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

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

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

Для оценки ситуации обратимся к мировому эксперту по инновациям: — Господин Форд, по вашему мнению, микропроцессорная техника продолжит развиваться или производители биполярных транзисторов найдут способ повернуть время вспять? — Я убежден, что инновации на более низком уровне могут изменить существующую отрасль.

По моему мнению, речь идет именно об этом.

— Большое спасибо за ваш комментарий.

А теперь новости из мира науки.

Астрономы сообщают о необычном космическом фоне.

Пинтаск написано в Метеор .

Этот фреймворк уже является одним из самых популярных репозиториев на Github в весовой категории JavaScript — и это еще до официального релиза (текущая версия: 0.8).

Одно только объявление на Hacker News собрало 1362 голоса.

Выдержки из комментариев: «Это похоже на промышленную революцию», «Я не могу проголосовать за это достаточно» — ну, вы поняли.

Даже съев полпачки скептицизма, можно смело сказать, что Meteor открывает новую страницу в веб-разработке.

При этом HTML-код на этой странице «живой»: получение новых данных с сервера приводит к автоматическому обновлению шаблона; вам не нужно за этим следить.

Ах да, и забудьте об Ajax-запросах: модификация данных осуществляется через полноценный API MongoDB на JavaScript, доступный прямо в браузере.

В результате 90% вычислений выполняются на клиенте.

Код на Meteor занимает меньше места, меньше по размеру, стоит меньше, пишется быстрее, экономит энергию и уменьшает объем передаваемых данных.

Марти, ты снова играл с плутонием? Давайте разберемся, что происходит. Доступ к базе данных возможен прямо в браузере, вот и все.

Шаблоны есть и в браузере, это два.

На JS+HTML всё работает, это три.

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

и распиливать кран.

И затяните гайки.

И поставить термостат.

Капучино для каждого

Pintask — первый трекер задач, написанный на Meteor. И первый трекер задач, который может загружать ваши расширения прямо в браузер, предоставляя им полный доступ к API базы данных и шаблонам.

Вот пример одно такое расширение:

   

if !Cards throw "Hey, where are my Cards?" if !Comments throw "Look, I need those Comments, too!" Comments.after.insert (userId, comment) -> cardId = comment.cardId card = Cards.findOne(cardId) if userId not in card.memberIds Cards.update(cardId, {$addToSet: {memberIds: userId}})

В последнее время я пристрастился к CoffeeScript. не мейнстрим, конечно, но он ускоряет разработку.

Эту простую автоматику можно собирать и разбирать с завязанными глазами.

В начале есть пара проверок на случай ядерной войны (если наш скрипт вызвать на другой сайт).

Затем идет установка бомбы замедленного действия, которая срабатывает при вставке комментария.

Если нападающий не является членом карты, его отбрасывает туда ударная волна.

Хотите узнать, как работать с шаблонами? у меня есть они .

Здесь задействован jQuery, на первый взгляд код напоминает итальянское блюдо.

Но если начать поглощать его с нижнего края, вкус раскроется гармоничнее, и тогда… «Официант, повторите!» Отдельно стоит сказать о подключении внешних источников данных.

White Magic позволяет создавать задачи из строк таблицы Google. А черная магия с использованием потустороннего API дает возможность вызывать Github Issues прямо в Pintask и устраивать двунаправленный сеанс связи между комментариями внутреннего и внешнего трекера.

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



За барной стойкой

Кстати, через тот же Github можно подключить собственное расширение.

В простейшем случае достаточно опубликовать репозиторий на Github Pages, взять прямую ссылку на js-файл и вставить его в Pintask. Получается сухо и комфортно (и обновляется при поступлении коммита).

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

Для пользователя все выглядит еще проще.

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

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

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

Таким образом мы зарабатываем собственные деньги.



Давайте сверим часы

О! Вот оно, платное приложение: Учёт времени на автопилоте .

Все знают, насколько сложно отслеживать время для программистов.

Блуждая по извилинкам нашего разума, можно встретить подобный внутренний диалог: - о, сознание! Давайте подумаем об интеграции с Яндекс.

Маркетом.

- Подожди, подожди.

Ты не забыл нажать кнопку «старт»? - О, именно.

Вот я нажал.

- Отличная работа.

Так что ты говорил о Биткойне? — Какой биткойн? Я говорил про Яндекс.

Маркет. - О да.

подожди, ты нажал кнопку «старт» на предыдущем задании? - Кажется, да.

Или нет. Я проверю это сейчас.

- Давайте проверим это.

А я здесь раскладываю пасьянс.

Чтобы не обращаться к психоаналитику, мы решили изменить привычный механизм учета рабочего времени и отказались от кнопки «Старт».

Вместо этого мы разместили значок «Включить отслеживание времени» в заголовке каждого списка.

Учет времени запускается автоматически при входе в систему и начинает отслеживать первую задачу в отмеченном списке.

Когда задача архивируется или перемещается в другой список, учет времени переключается на следующую задачу по принципу клипа.

В результате программист даже не думает об учете времени.

Он просто выполняет свою работу, а система автоматически записывает временные интервалы.

В технической реализации используются стандартные механизмы Meteor и пакет статусов пользователей для мониторинга активности.

Уже знакомые прослушиватели коллекций MongoDB позволяют вам определить задачу, которую вы отслеживаете.

Код не использует setTimeout(святой, святой), только события.

В результате даже перезагрузка сервера не способна нарушить ход истории.

Хотите получать точные отчеты? Заходи, не стесняйся .



На десерт

Сколько стоит базовая платформа? Pintask полностью бесплатен.

У нас нет ограничений функционала, нет рекламы, нет абонентской платы.

Но есть открыть вики , добросовестная поддержка и овцы на заднем плане.

И последнее: Pintask стремится стать полной заменой Trello. Все основные функции заграничной службы уже реализованы.

Есть мгновение импорт из Трелло .

Мы тоже собираемся сделать двунаправленная синхронизация , чтобы сделать Pintask доступным через мобильные приложения Trello (прежде чем мы создадим собственное).

В следующих статьях мы планируем рассказать о процессе разработки продукта и нюансах использования внутреннего API. Сейчас будет занавес, а нужен ли выход на бис – решать вам.

Последняя ссылка: Пинтаск , программируемый трекер задач.

Статья опубликована мной по просьбе Дениса Горбачева ( звездопад ), весь текст полностью защищен авторским правом.

Теги: #Pintask #трекер задач #менеджер задач #управление задачами #meteor #JavaScript #I PR

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.