Про организацию веб-разработки

Начнем с определений.
Небольшая группа (5-6 человек) разработчиков объединяются в компанию (фирму) для того, чтобы работая:

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

Основываясь на том, что мы уже умеем и хотим делать, наша компания должна заниматься:

  • в первую очередь программированием проектов разной сложности для web (начиная от больших программных комплексов и вплоть до сайтов-визиток объемом в несколько страниц),
  • вести собственный хостинговый сервис для своих нужд и нужд своих клиентов,
  • предлагать услуги по системному администрированию удаленных серверов (под хостинг в первую очередь), сервисов и баз данных,
  • делать web-дизайн,
  • заниматься поддержкой, SEO и консультированием в области web-технологий.

Как должна работать компания по web-программированию 

Очень полезные тезисы в статье. 

Читать далее »

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

Если Вы думаете, что системы для управления проектами - это инструмент, используемый только в крупных компаниях от 500 человек, вы будете сильно удивлены, узнав, что по статистике 70% пользователей подобных систем - малый и средний бизнес (компании от 10 до 300 человек), а также фрилансеры.

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

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

Итак, представим, что я руководитель команды веб-дизайнеров из 10 человек.

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

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

7 систем управления проектами для небольшой команды

Решил попробовать Мегаплан и Планфикс. Вроде многообещающе. 

Читать далее »

Создание скроллбара как у Gmail

Сегодня мы рассмотрим небольшой пример оформления скроллбара для браузеров на движке WebKit (Chrome, Safari).

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

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

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

CSS: оформление скроллбара в стиле Gmail

Единственное жалко, что только для WebKit, а так хорошая вещь. 

Читать далее »

Новая спецификация HTML5

imageРанее в этом году WHATWG выпустили издание для веб-разработчиков из спецификации HTML5. Теперь, чтобы не отстать, HTML Working Group W3C опубликовали проект с более читабельной спецификацией HTML5: Edition for Web Authors
W3C версия написана более технически, чем версия WHATWG, но по крайней мере вы можете прочитать HTML5 спецификацию без заметок о соответствии критериям браузеров.

W3C опубликовала спецификацию HTML5 для веб-разработчиков 

Алилуя!

Читать далее »

18 регулярных выражений для валидации

  • Номер кредитки:
    [0-9]{13,16}
  • ICQ:
    ([1-9])+(?:-?\d){4,}
  • Набор из букв и цифр (латиница):
    ^[a-zA-Z0-9]+$
  • Набор из букв и цифр (латиница + кириллица):
    ^[а-яА-ЯёЁa-zA-Z0-9]+$
  • Домен (например abcd.com):
    ^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$
  • IPv4: (подкорректировано runcore)
    ((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)
  • IPv6:
    ((^|:)([0-9a-fA-F]{0,4})){1,8}$
  • Имя пользователя (с ограничением 2-20 символов, которыми могут быть буквы и цифры, но первый символ обязательно буква):
    ((^|:)([0-9a-fA-F]{0,4})){1,8}$
  • Пароль (Строчные и прописные латинские буквы, цифры):
    ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$
  • Пароль (Строчные и прописные латинские буквы, цифры, спецсимволы. Минимум 8 символов):
    (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
  • Дата в формате YYYY-MM-DD:
    [0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01]) 
    Более строгая проверка, предложенная runcore:
    (19|20)\d\d-((0[1-9]|1[012])-(0[1-9]|[12]\d)|(0[13-9]|1[012])-30|(0[13578]|1[02])-31)
  • Дата в формате DD/MM/YYYY:
    (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d
  • Целые числа и числа с плавающей точкой (разделитель точка):
    \-?\d+(\.\d{0,})?
  • UUID:
    ^[0-9A-Fa-f]{8}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{12}$
  • Широта или долгота:
    -?\d{1,3}\.\d+ 
  • E-mail (от kvf77):
    ^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$
  • URL на латинице. Если нужно распознавать и кириллические домены, необходимо изменить все «a-z0-9» на «а-яёa-z0-9» и добавить в список доменных зон «рф» (от kvf77):
    ~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:ru|su|com|net|org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:/[a-z0-9.,_@%&?+=\~/-]*)?(?:#[^ '\"&]*)?$~i
  • Время в формате HH:MM:SS (от runcore):
    ^([0-1]\d|2[0-3])(:[0-5]\d){2}$
Читать далее »

Про псевдоклассы

Нашел в интернете:

  • :link — отвечает за стили непосещенной ссылки;
  • :hover — состояние объекта (не обязательно ссылки) при наведении на него мышкой;
  • :active — состояние активного объекта (например, для ссылки и зажатие ее мышкой);
  • :visited — состояние посещенной ссылки;
  • :focus — когда вы используете какой-то объект на страницы, то на нем устанавливается фокус (в случае и текстовым поле это постановка курсора в это поле);
  • :first-child — первый дочерний элемент текущего элемента;
  • :last-child — соответственно, последний дочерний элемент чего-то;
  • :only-child — применяет стиль к элементу, если он единственный дочерний элемент;
  • :nth-child() — какой-то по счету с начала дочерний элемент, например p:nth-child(4);
  • :nth-last-child() — аналогично, только отчет с конца; интересно, что в этом и предыдущем селекторах можно задавать не только конкретные цифры, но и счетность, к примеру вот так: ul li:nth-last-child(2n+1);

Псевдоклассы в CSS 

Временно.нет радует.

Читать далее »

45 очень полезных чеклистов для веб-разработки

Нашел в интернете:

Designing websites can be a long and complicated process. Dealing with clients, designing prototypes, coding, programming, and testing – there’s a lot to keep track of and a lot to make sure gets done. That’s where checklists can make your life a whole lot easier. With lists of points covering multiple areas from content to usability to accessibility to standards, you’re a lot less likely to overlook important parts of a site.

Below are 45 checklists to make your design process easier and more organized. Consider using these checklists as a jumping off point for creating your own customized list, based on your own needs.

45 Incredibly Useful Web Design Checklists and Questionnaires

На английском, но все равно очень полезно. 

Читать далее »

Технический долг

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

Источник

Сегодня день отличных статей на Хабре :)

Читать далее »

Про процессный подход на Хабре

Отличная статья на Хабре:

Сейчас вы вывешиваете удобный список товаров, кнопку “купить прямо сейчас” и контакты на видное место. Я рад, что вы знаете основные очевидные правила, но этого недостаточно. 

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

Цель магазина – получение прибыли. Причем она состоит не просто в обеспечении продаж. Это оплаченные продажи и удовлетворенный клиент (так как он генерирует нам хвост из других продаж и других клиентов).

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

Источник.

Отличная статья, очень комплексный подход.

Читать далее »
Scroll To Top