Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Оценка задач в Story Points для больших и молодых команд разработки

Время на прочтение6 мин
Количество просмотров7.1K

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

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

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

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии2

Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)

Время на прочтение15 мин
Количество просмотров25K

Эта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором.

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

Ну и немного раскрыть глаза на то, что, оказывается в PHP есть и асинхронность, и многопоточность, и в общем-то не нужно ждать мифической версии PHP 10, чтобы начать их использовать уже прямо сейчас!

Лонг-рид с кодом ждёт вас!
Всего голосов 31: ↑31 и ↓0+31
Комментарии19

Быть тим-лидом: ожидания и реальность

Время на прочтение7 мин
Количество просмотров18K

Выводы о том, какого тим-лида ценит и команда, и клиент. Баланс качества и сроков, прогноз рисков и список задач, который поможет вам не стать мелким тираном <3

Читать далее
Всего голосов 9: ↑6 и ↓3+3
Комментарии11

Сетевые хранилища NAS: зачем нужны и как выбрать подходящее?

Время на прочтение15 мин
Количество просмотров175K

В нынешние времена практически любой смартфон может снимать фотографии в высоком разрешении и записывать видео 4K, поэтому пространство на персональном компьютере, ноутбуке или мобильных гаджетах заканчивается еще быстрее, чем раньше. Конечно, можно купить внешний жесткий диск для хранения и резервирования данных с ПК или телефона. Но в таком случае накопитель должен быть всегда под рукой. Как быть, если в командировке требуются рабочие файлы, а на ноутбуке их нет? Или хочется показать новым друзьям в отпуске фотографии из прошлой поездки? Можно закачать нужную папку в облако, но и там объемы ограничены. Да и нет гарантии полной защиты данных. Есть ли варианты хранения данных проще, современнее и удобнее?

Здесь на помощь приходят сетевые хранилища или NAS (Network Attached Storage). Еще лет десять назад их можно было встретить только в корпоративной среде, но сегодня они покоряют домашние сети. И это совсем не случайно: кроме базовой задачи хранения и доступа к данным современные NAS умеют намного больше. Они помогут настроить резервирование ценной информации с компьютеров, ноутбуков и гаджетов. Позволят удобно организовать музыку, фотографии и видео в мультимедийной библиотеке, чтобы каждое устройство получало контент в оптимальном формате. Обеспечат частным и защищенным облаком, чтобы рабочие файлы были всегда под рукой из любого места и с любого устройства. Помогут развернуть домашнюю систему видеонаблюдения без лишних затрат. И мы лишь начали перечислять возможности NAS.

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

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

Читать далее
Всего голосов 5: ↑2 и ↓3+1
Комментарии61

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

Время на прочтение24 мин
Количество просмотров168K

На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют. 

Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать. 

Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.

Читать далее
Всего голосов 336: ↑324 и ↓12+411
Комментарии300

История о том, как я наладил производство бумажных вебсайтов и купил сто записных книжек с Alibaba

Время на прочтение6 мин
Количество просмотров14K


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

Однажды мне в голову пришел любопытный вопрос: «Можно ли создать вебсайт на листе бумаги?». Я тот самый человек, который как-то раз скупил 300 казахских доменов с эмоджи, но даже по моим меркам идея выглядела несколько странной.

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

Так можно ли делать сайты на листе бумаги? Я решил, что, по крайней мере, стоит попробовать.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+52
Комментарии15

Что не показывает аналитика в Тинькофф Инвестициях. Подробно разбираем свой портфель

Время на прочтение10 мин
Количество просмотров18K

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

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

К примеру, покупаем 1 акцию по 1000, после падения до 900 усредняем еще одной акцией. Затем при отскоке до 950 продаем 1 акцию. В итоге оставшаяся акция в портфеле "горит зеленым" (образуется плюс +50 по правилу fifo), хотя фактический результат бумаги на данный момент будет 0 (без учета комиссий). Такое отображение бумаг в приложении может сбить с толку, и привести к неправильным решениям и большим потерям, при совершении множества сделок.

Идея вести дневник сделок в excel, или периодически копаться в налоговом/брокерском отчете, мне не понравилась. Зато приглянулась мысль - обрабатывать данные полученные из официального API.

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

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

Читать далее
Всего голосов 31: ↑31 и ↓0+31
Комментарии53

Run, config, run: как мы ускорили деплой конфигов в Badoo

Время на прочтение8 мин
Количество просмотров5.8K

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

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

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

Если вам интересно узнать, как устроен процесс деплоя конфигов в Badoo и какие инструменты мы для этого используем, добро пожаловать под кат.

Читать далее
Всего голосов 34: ↑34 и ↓0+34
Комментарии11

Как запилить джентльменский релиз

Время на прочтение7 мин
Количество просмотров3.9K

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

Всем привет, меня зовут Даниил, я — QA-лид в мобильном направлении hh.ru. Сегодня я расскажу, как из нестабильных и нерегулярных релизов мы пришли к классному и быстрому релизному процессу мобильных приложений. Наши релизы стали выходить раз в неделю, а число жалоб уменьшилось в разы. Еще расскажу, с какими проблемами мы сталкивались и как их решали.

Это текстовая расшифровка выпуска нашего влога, посему если вам удобнее смотреть, а не читать, добро пожаловать на наш Youtube-канал.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии12

Строим эффективный сетевой обмен в PHP-микросервисах

Время на прочтение13 мин
Количество просмотров21K

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

Я техлид в команде Авито в проекте SLA. Сегодня расскажу, как мы оптимизировали сетевые вызовы, чтобы избежать проблем с сетью при переходе в микросервисный мир. Разговор будет про оптимизацию CURL-запросов, деградацию сервисов и FAIL-FAST-подходы.

Читать далее
Всего голосов 34: ↑33 и ↓1+41
Комментарии38

Как создать отличную поддержку и повысить показатели, не демотивировав сотрудников

Время на прочтение15 мин
Количество просмотров7.3K

Поддержка влияет на отток клиентов, продажи по сарафанке. В данной статье мы расскажем о нашем опыте и поделимся рецептами, которые помогли стать поддержке нашего дата-центра лучше.

Читать далее
Всего голосов 4: ↑3 и ↓1+4
Комментарии23

Делаем более-менее универсальный калькулятор услуг для сайта

Время на прочтение9 мин
Количество просмотров71K
Беглый анализ открытых данных показывает, что ежедневно в среднем 5 человек оставляют заявки на создание калькулятора на биржах фриланса — а еще несколько сотен интересуются вопросом в поиске. Часто запросы стандартны — и, конечно, на рынке сложился целый набор готовых предложений: от плагинов для конкретных CMS до калькуляторов, которые можно приобрести у студий. Рекорд, обнаруженный нами (см. в первом комментарии) — 24 999 рублей за довольно обычное решение.

Да, рынок есть рынок. Но поскольку мы в основном работаем с людьми, чьи сайты сделаны на конструкторах, у них нет 25 тысяч на один виджет. Вот и возникло желание написать калькулятор, которым они смогли бы пользоваться самостоятельно — и без изучения HTML, JS, JQuery и CSS.



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

Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии26

Серьезное проектирование серьезных сайтов. Часть 2. Визуализация

Время на прочтение15 мин
Количество просмотров29K
Это вторая часть статьи про проектирование больших сайтов. В ней мы расскажем про визуальную часть проектирования, про интерфейсы. Если вы не читали первую часть, то рекомендую это сделать тут.

Динамический прототип



Рис. 9. Демонстрация динамического прототипа для проекта «Маркетплейс».

На этом этапе мы переходим от аналитики к интерфейсам, к визуальной части. На основе Mind map необходимо спроектировать интерфейсы для каждой функции и страницы. Таких интерфейсов у нас будет много, от нескольких десятков до нескольких сотен уникальных прототипов, а еще есть раскадровки, когда одна страница может иметь ряд состояний, всплывающих окон, выпадающих блоков и т.д. В процессе все прототипы объединяются в один большой динамический прототип и связываются между собой.
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии6

Виджет мультиязычности в YII2 без использования базы данных

Время на прочтение3 мин
Количество просмотров15K
Пример интернационализации сайта на Yii2 на двух языках: ru и en. В Yii2 уже встроен компонент отвечающий за интернационализацию, называется он i18n. Для того что бы можно было начать им пользоваться, достаточно добавить его в конфигурацию приложения в раздел components.

Я использую шаблон advanced поэтому расположение файлов могут отличаться.

Цель

  1. переключение сайта между двумя языками: ru и en;
  2. отображение языка в адресной строке в виде site.com/en/;
  3. автоматическое перенаправление пользователя на наиболее подходящий для него язык, если он перешел на сайт без указания языка;
  4. хранение переводов должно осуществляться в PHP файлах в виде массивов;
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии8

300 потрясающих бесплатных сервисов

Время на прочтение11 мин
Количество просмотров1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Всего голосов 341: ↑325 и ↓16+309
Комментарии107

Лекции Технопарка. 1 семестр. Web-технологии

Время на прочтение4 мин
Количество просмотров172K
Сегодня этим постом мы открываем цикл еженедельных публикаций учебных материалов Технопарка. Если кто-то ещё не знает, Технопарк — это совместный образовательный проект Mail.Ru Group и МГТУ им. Н. Э. Баумана. На данный момент здесь проходит обучение по 20 IT-дисциплинам 91 наиболее талантливый студент. Технопарк существует с 18 ноября 2011 года, а первые счастливчики приступили к занятиям в декабре 2011 года.

Обучение в Технопарке совершенно бесплатное, оно проходит после занятий в университете. Стать участниками проекта могут студенты 3-5 курсов. Хотя для 2 и 6 курсов можем сделать исключение. Обучение длится 2 года, оно разбито на 4 семестра, в каждом из которых проходят по 3-4 предмета. Первый блок первого семестра посвящён всему, что связано с web-технологиями, от истории возникновения до программирования и безопасности web-приложений.

Лекция 1. Введение


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


Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии11

Потрясающая коллекция бесплатных шрифтов за 2014 год

Время на прочтение1 мин
Количество просмотров123K
Привет, Хабр! Многие уже знают о моей страсти к попытке собрать самое лучше, что может быть полезно для веб-разработчиков или веб дизайнеров. И шрифты — не исключение. Программное обеспечение для работы со шрифтами постоянно развивается. Количество дизайнеров желающих опробовать себя в типографике растет с каждый днем. А сегодня я хочу представить вам их наработки — 30 потрясающих бесплатных шрифтов, которые мне удалось собрать за последний год.

Polar



Polar

Читать дальше →
Всего голосов 76: ↑68 и ↓8+60
Комментарии23

Одностраничный магазин с корзиной на Phalcon + AngularJS + Zurb Foundation

Время на прочтение7 мин
Количество просмотров37K

Введение


Всем привет! Завтра у меня дедлайн по проекту, который я делаю для местной Камчатской компании по доставки еды. И поэтому у меня есть две причины написать эту статью, первая — прокрастинация перед дедлайном, а вторая — я не нашёл на Хабре какого-либо обучающего мануала по написанию корзины товаров на AngularJS.

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



Почему был выбран формат одностраничного магазина?


Читать дальше →
Всего голосов 52: ↑25 и ↓27-2
Комментарии45

10 советов фрилансерам, как расставлять приоритеты задачам

Время на прочтение9 мин
Количество просмотров27K
Вы когда-нибудь задумывались: «А сколько стоит пароход построить?”, “А сколько — дизайн-макет сделать?”, “А из чего складывается такая цена?»

Пароход — штука архисложная; его стоимость — это цена на материалы (металл, пластик и что там ещё нужно), оплата труда рабочих верфи, амортизация на износ оборудования, оплата инженерных изысканий и так далее и тому подобное…

А что с дизайн-макетом? Из чего складывается его цена? Ну, допустим, вложим в стоимость “амортизацию оборудования” — деньги на ПК и ПО, которые регулярно нужно обновлять. А что ещё? Остается, собственно, только оплата труда дизайнера-верстальщика. А как её рассчитать? Тут способов два: либо оплата за человеко-часы (сколько времени потратил — столько и оплатили); либо другой более распространенный подход — сдельная оплата (т.е. оценил бриф-ТЗ на макет, прикинул его сложность, назвал стоимость).

Что в первом случае (прямо), что во втором (косвенно), стоимость будет зависеть от времени, которое вы тратите на свою работу. А из чего складывается это время? Есть факторы внутренние: мотивация, навыки работы, муза, в конце концов… Они подвластны лишь вашей силе воли, тут дза-дзен и прочее самосовершенствование вам в помощь. Но остаются ещё и факторы внешние: от обстановки в рабочем кабинете до методологии, по которой вы работаете, — и с ними всё интереснее…


Читать дальше →
Всего голосов 33: ↑25 и ↓8+17
Комментарии7

Борьба за покупателя или как купить лояльность?

Время на прочтение12 мин
Количество просмотров30K


Сейчас на многих специализированных интернет-ресурсах, конференциях и тренингах только и говорят, что классические маркетинговые инструменты в розничной торговле вроде прямых скидок, накопительных и бонусных программ, уходят в прошлое. Фразы: “скидками не удержишь покупателя”, “скоро никто не будет носить дисконтные карты” и вопросы типа “у вас нет CRM и digital-маркетинга? И к вам еще ходят покупатели?” — повсеместно звучат из уст экспертов.

В этих высказываниях есть зерно истины, но так ли все категорично? Не беру на себя смелость рассудить знатоков, но попробую описать классические и современные методы борьбы за покупателя и рассмотреть их сильные и слабые стороны.
Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии11
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность