Попса

популярный светский альманах

Категория: Инструменты

Об обуздании экселя

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

Чуть ли не единственный способ бороться с этим — переименовать csv в txt и импортировать как текст. В этом случае будет возможность пометить столбец с числами как текст. Его потом можно будет очень легко преобразовать в численный столбец и ничего в даты не превратится.

О том, как дёшево и сердито сделать таск менеджер для заказчика

В заказных или продуктово-заказных компаниях есть процесс внешней приёмки. То есть, мы задизайнили, заверстали, закодили, протестили и выложили на внешний тестовый стенд, а заказчик проверяет.

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

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

Мы сделали на коленке решение в виде доступной обеим сторонам гуглотаблицы следующего вида:
Таск трекер для заказчика

Забрать себе эту таблицу вы можете по ссылке.

Вопросы вызывает колонка «Статус». Как сделать выпадающий список значений?
Выбираем столбец, жмём «Данные → Проверка данных»

В поле «Диапазон ячеек» меняем D1 на D3, чтобы проверка не затрагивала шапку таблицы. В поле Правила выбираем из списка значение «Значение из списка» (лол) и вписываем все состояния тасков через запятую без пробелов. Мне кажется, что этот список должен быть таким: «Открыта,В работе,Готова,Закрыта,Возвращена,Заморожена».

Я сделал гифку:
Фиксированный список значений для ячейки

Собственно, всё. Остаётся своевременно заносить в эту таблицу баги и таски, ставить им корректные состояния. Единственный недостаток такого псевдотрекера в том, что он не умеет слать на почту уведомления (если вы знаете, как это реализовать, напишите в комментарии).

Blisk — браузер с эмуляцией мобильных устройств

Blisk — браузер с эмуляцией мобильных устройств

Хочу поделиться новым рабочим инструментом. Это браузер для разработчиков под названием Blisk. Браузер сделан на движке Chromium и на нём пашут все нужные расширения хрома (вы можете видеть на скриншоте LastPass и Screencastify).

Главная фича браузера — эмуляция целого зоопарка устройств, от четвёртого айфона до HIDPI монитора с разрешением 1920 на 1080. В опциях можно включить синхронную прокрутку в стандартном окне браузера и окне девайса.

Есть кнопка переключения ориентации устройства, функция автообновления страницы, удобный веб инспектор. Разумеется, браузер не умеет эмулировать баги мобильных операционок, но для оценки правильности вёрстки это и не требуется.

Кроме того, браузер имеет встроенный инструмент для записи скриншотов и скринкастов с выкладыванием в собственное облако. К сожалению, за использование облака придётся заплатить 10 $ за пользователя (оптом скидки).

О планировании загрузки команды

В IT компаниях, занимающихся реализацией нескольких проектов одновременно, непременно присутствует процесс еженедельной планёрки, на которой менеджеры обсуждают, кому какой «ресурс» достанется. Обычно перед такой планёркой все заполняют большую гуглотаблицу, в которой отмечают, кому какой разработчик на какой проект и на какое время требуется. Есть сервис под названием Teamweek, реализующий такой функционал.

Начнём с того, что всех пользователей можно разбить на команды. iOS, Android, QA, дизайнеры и так далее, а потом фильтровать по этим командам доску. В верхней части доски можно для наглядности ставить вехи ключевых событий, которые должны в этот день произойти. В основном поле, в строках участников, рисуются «колбаски» загрузки. Есть возможность выбрать из списка проект, написать название работы, количество часов в день и сроки. Каждому участнику можно написать количество рабочих часов. Если в данный день загрузка неполная, в верхней части строки отображается количество недогруженных часов.

Сервис можно интегрировать со Slack, Button, Trello, Basekamp и GitHub. Кроме того, он умеет слать письма исполнителям о том, что на них назначена активность. Формировать загрузку команды при помощи этого сервиса намного удобнее, чем в гуглотаблицах.

Mictosoft Office Mac 2015: Бесплатное превью

Microsoft Office Mac 2015

Одна из причин, по которым я всё ещё держу на маке Parallels – использование виндовой версии Microsoft Office. Мак версия офиса до последних дней выглядела и работала жутковато, полноценный порт был только для OneNote.

Представленное обновление является превью-версией, которую можно слить и попробовать бесплатно.
soft
 
 
Новый офис, помимо полноценной поддержки ретины, содержит следующие фичи:

 Совместное редактирование, работающее на собственной технологии Cobalt syncing.
 Красивые вложенные комментарии.
 Встроенная поддержка облачного хранилища OneDrive и Yandex Disk. Появление такой же возможности и для партнёрского Dropbox не исключено уже ближе к релизу.
 
 
С официального сайта отдача идёт очень медленно, поэтому можно воспользоваться магнет-ссылкой. Весит 2,6 гига, для установки требует чуть больше пяти гигов.

Если же вам любо качать именно с официального сайта Microsoft, это можно сделать отсюда.

Шпаргалка по Sublime Text 2

sublime text 2 mac

sublime text win

Базовый чеклист для ревью кода

Ревью кода

 
Я не люблю рецензии и ревью. Они создают ложное чувство безопасности — даже если накосячу, рецензент это обнаружит. Однако любые правила имеют границы применения. Если считаете, что именно для вашего подразделения процесс ревью кода жизненно необходим, почему бы и нет.

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

Общее
Работает ли код? Выполняет ли он свои прямые обязанности, корректна ли логика, и т. д.
Легок ли код для понимания?
Соответствует ли код вашему стилю написания кода? Обычно это относится к расположению скобок, названиям переменных и функций, длинам строк, отступам, форматированию и комментариям.
Есть ли в ревью избыточный или повторяющийся код?
Является ли код независимым, насколько это возможно?
Можно ли избавиться от глобальных переменных или переместить их?
Есть ли закомментированный код?
У циклов есть установленная длина и корректные условия завершения?
Может ли что-то в коде быть заменено библиотечными функциями?
Может ли быть удалена часть кода, предназначенного для логгирования или отладки?

Безопасность
Все ли входные данные проверяются (на корректный тип, длину, формат, диапазон) и кодируются?
Обрабатываются ли ошибки при использовании сторонних утилит?
Выходные данные проверяются и кодируются (прим. пер.: например, от XSS)?
Обрабатываются ли неверные значения параметров?

Документация
Есть ли комментарии? Раскрывают ли они смысл кода?
Все ли функции прокомментированы?
Есть ли какое-то необычное поведение или описание пограничных случаев?
Использование и функционирование сторонних библиотек документировано?
Все ли структуры данных и единицы измерения описаны?
Есть ли незавершенный код? Если есть, должен ли он быть удален или помечен маркером типа «TODO»?

Тестирование
Является ли код тестируемым? Например, он не должен содержать слишком много зависимостей или скрывать их, тестовые фреймворки должны иметь возможность использовать методы кода, и т. д.
Есть ли тесты и если есть, то достаточны ли они? Например, они покрывают код в нужной мере.
Юнит-тесты на самом деле проверяют, что код предоставляет требуемую функциональность?
Все ли массивы проверяются на «выход за границы»?
Может ли любой тестирующий код заменен с использованием существующего API?

Источник

+2 Гб в Google Drive за две минуты

Нужно всего лишь проверить основные параметры безопасности вашего гуглоаккаунта. Занимает ровно две минуты. На выходе получаете такую картинку:

Основные параметры безопасности гуглоаккаунта
 
 
Есть нюанс. Это действие нужно произвести до 17 февраля. Судя по записи в гуглоблоге, 28 февраля ёмкость гуглодисков всех участников будет увеличена на два гига (об этом уведомят письмом).

Пользователи Google Apps for Work и Google Apps for Education в акции не участвуют.

Об эверноте для программиста — Quiver

Многие разработчики сталкиваются с ситуацией — нужно написать функцию, очень похожую на ту, что когда-то уже приходилось писать. Или вообще, повторно использовать ранее написанную функцию. Часто после этого начинаются танцы с саблями — где именно сохранился её код? Иногда — в файлах проекта (он не всегда доступен), иногда — в каком-нибудь файлике.

В принципе, неплохое решение — отдельный блокнот в Evernote. При правильной организации блокнотов и меток полностю решает проблему.

Однако для MacOS есть более изящное решение под названием Quiver. Этакий «Эвернот для программиста». Выглядит так:
01
 
 
Организация заметок — блокноты и неограниченное количество тегов, есть полноценный поиск.

В заметке можно создавать области четырёх видов — просто текст, markdown, программный код и LaTeX. Выглядит так.

Текстовый фрагмент (при желании, можно добавить картинку):
01
 
 
Фрагмент кода (в моём случае это SQL, но поддерживается целое море языков):
01
 
 
Markdown в режиме конструктора (синтаксис стандартный):
01
 
 
Markdown в режиме просмотра:
01
 
 
LaTeX в режиме конструктора:
01
 
 
LaTeX в режиме просмотра:
01
 
 
Отображение областей каждого типа можно настроить при помощи CSS (есть встроенный редактор), в комплекте есть пачка тем для подсветки синтаксиса (я использую GitHub):
01
 
 
Приложение умеет показывать код в режиме презентации:
01
 
 
Библиотеку приложения можно положить в папку Dropbox для синхронизации, используются стандартный JSON формат.
 
 
Недостатки инструмента:

Если положить библиотеку в папку Dropbox, для создания нового блокнота придётся отключать синхронизацию, иначе просто не успеете задать ему имя. Надеюсь, этот баг разработчики в скором времени поправят.

Неудаляемый блокнот с туториалом. Хотя, может быть его и можно как-то удалить, чтобы не маячил.
 
 
Это удовольствие можно купить в апсторе за 9,99 $, либо воспользоваться триалом, скачав с сайта разработчика.

Также, если хотите, можете забрать пакет Quiver 2.0 напрямую.

Об svg-графике на wordpress-сайте

Современные браузеры замечательно поддерживают векторную графику. svg-картинки суперски смотрятся на любом экране, от маленького мобильного до Retina-дисплея. Только вот wordpress «из коробки» не умеет вставлять такие картинки через форму «Добавить медиафайл». Ругается, что загрузка svg отключена по соображениям безопасности.

Конечно, никто не мешает залить файл напрямую, посредством ftp-клиента, но встроенные средства wordpress быстрее.

Во многих темах wordpress есть файл functions.php Основная цель данного файла — предоставить дополнительные функции необходимые для полноценной работы темы, а также установить некоторые параметры для ядра WordPress, например размер миниатюр, путь к файлам локализации темы, разделы для виджетов и другие.

Файл functions.php загружается при каждом запросе любой страницы в WordPress, включая запросы в панель администрирования и AJAX запросы. Это дает разработчикам темы возможность изменять любые аспекты их проекта на WordPress, а не только то, что связано с внешним видом.

Если добавить в этот файл следующую конструкцию, wordpress подружится с svg-графикой: