Pull to refresh
1
0
Send message

Делаем скриншоты правильно: практические советы

Reading time8 min
Views189K
Устройство для снимка экрана на первых компьютерах (Command-Shift-3)
Устройство для снимка экрана на первых компьютерах (Command-Shift-3)

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

Ведь кажется, что скриншот — это “секунда работы, Alt+PrintScreen и Ctrl+V!”. Некоторые клиенты удивляются, когда слышат, что скриншот в мануале может стоить и $2 и даже $5.

В этой статье я расскажу, как правильно делать скриншоты, почему это не просто “два клика” и какие подводные камни встречаются на пути неопытного скриншотера. Рассматривайте ее как чеклист или список практических советов для тех, кто документирует ПО. Надеюсь, это поможет вам избежать разочарований и порадовать юзеров красочными понятными картинками.
Читать дальше →
Total votes 81: ↑69 and ↓12+57
Comments76

Nginx и https. Получаем класс А+

Reading time4 min
Views162K
image

Недавно вспомнилось мне, что есть такой сервис — StartSsl, который совершенно бесплатно раздаёт trusted сертификаты владельцам доменов для личного использования. Да и выходные попались свободные. В общем сейчас напишу, как в nginx настроить HTTPS, чтобы при проверке в SSL Labs получить рейтинг А+ и обезопасить себя от последних багов с помощью выпиливания SSL.

Итак, приступим. Будем считать, что у вы уже зарегистрировались на StartSsl, прошли персональную проверку и получили вожделенный сертификат. Для начала опубликую итоговый конфиг, а после этого разберу его.
Читать дальше →
Total votes 61: ↑52 and ↓9+43
Comments85

Создание универсального веб-приложения сайта Habrahabr.ru при помощи Web App Template

Reading time7 min
Views44K

Хабровчане, привет!

В предыдущей статье мы с вами познакомились с шаблоном для создания универсальных веб-приложений – Web Application Template. Если кратко, то Web Application Template позволяет вам «превратить» сайт в приложение для Windows, Windows Phone или Android, добавив в него возможности интеграции с ОС и механизм распространения через магазин приложений.

Сегодня мы рассмотрим практический пример: как при помощи Web Application Template быстро и просто создать веб-приложение для Windows и Windows Phone на основе сайта habrahabr.ru.
Перейти к созданию приложения
Total votes 26: ↑25 and ↓1+24
Comments2

Рестораны будущего: украинская компания создает глобальную сеть заведений с интерактивными столами

Reading time3 min
Views17K
Занял столик, сделал заказ официанту, подождал, поел и расплатился — вот та схема, по которой уже более сотни лет люди обслуживаются в большинстве ресторанов. Кажется, эта схема является утвержденной и незыблемой, однако создатели проекта Interactive Restaurant Technology с этим в корне не согласны.

image
Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments55

Как создавать и зарабатывать на SaaS | Часть 14 | Кувырки с ценами

Reading time8 min
Views8.2K
И да, продолжаю свою серию исключительно практических постов о SaaS. Пока инженеры команды заканчивают сборку и тестирование довольно нишевого cтартапа DentalCloud позволю себе в рамках NPD (new product development) порассуждать о том, как мы подошли к вопросам а) ценообразования б) методах формирования тарифных планов для сервиса. DC мы анонсируем позже, ну и надо ли просто анонсировать его на уважаемой аудитории Хабрахабр, даже не знаю.

image
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments0

Как развить в себе руководителя проектов: PDU-майнинг

Reading time2 min
Views3.8K
У современного руководителя проектов есть множество способов демонстрации своего профессионального развития. Один из них – это получение сертификата Project Manager Professional (PMP) от Института управления проектами (PMI). Если Вы уже получили такой сертификат, приготовьтесь его подтверждать, добывая т.н. единицы профессионального развития (PDU).



Под катом несколько проверенных автором бесплатных способов PDU-майнинга.
Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments0

API для интернационализации JavaScript: реализация в Firefox

Reading time11 min
Views12K

Что такое интернационализация?


Интернационализация (internationalization, а для краткости — i18n, то бишь i, ещё 18 букв и n; по-русски это получится и17я) – такой способ создания приложений, при котором их можно легко адаптировать для разных аудиторий, говорящих на разных языках. Очень легко ошибиться, предполагая, что все ваши пользователи происходят из одной местности и пользуются одним языком – особенно, если вы даже не задумываетесь о том, что предполагаете именно это.

function formatDate(d)
{
  // Все же пишут дату, как месяц/день/год. Правда ведь?
  var month = d.getMonth() + 1;
  var date = d.getDate();
  var year = d.getFullYear();
  return month + "/" + date + "/" + year;
}
 
function formatMoney(amount)
{
  // Все деньги – это доллары, с двумя знаками после запятой. Ведь так?
  return "$" + amount.toFixed(2);
}
 
function sortNames(names)
{
  function sortAlphabetically(a, b)
  {
    var left = a.toLowerCase(), right = b.toLowerCase();
    if (left > right)
      return 1;
    if (left === right)
      return 0;
    return -1;
  }
 
  // Имена всегда сортируются по алфавиту, не так ли?
  names.sort(sortAlphabetically);
}

Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments3

OData + Angular.js + Bootstrap + JavaScript Grid = приложение за 5 минут

Reading time6 min
Views32K
Предположим в некотором проекте появилась необходимость добавить некоторую форму опроса пользователей на веб сайте (детальная форма) и форму для просмотра и редактирования списка пользователей для администратора системы (списковая форма).

Рассмотрим процесс создания этих форм с использованием OData, Angular.js, Bootstrap и JavaScript Grid. Все требования к такому приложению уже реализованы в этих инструментах, и нам практически не требуется ничего писать.

Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments9

Ресайз картинок в браузере. Все очень плохо

Reading time10 min
Views104K
Если вы когда-нибудь сталкивались с задачей ресайза картинок в браузере, то вы наверное знаете, что это очень просто. В любом современном браузере есть такой элемент, как холст (<canvas>). На него можно нанести изображение нужных размеров. Пять строчек кода и картинка готова:

function resize(img, w, h) {
  var canvas = document.createElement('canvas');
  canvas.width = w;
  canvas.height = h;
  canvas.getContext('2d').drawImage(img, 0, 0, w, h);
  return canvas;
}

Из холста картинку можно сохранить в JPEG и, например, отправить на сервер. Можно было на этом закончить статью, но сперва давайте взглянем на результат. Если вы поставите рядом такой холст и обычный элемент <img>, в который загружена та же картинка (исходник, 4 Мб), то вы увидите разницу.

img
Читать дальше →
Total votes 156: ↑152 and ↓4+148
Comments90

Двух-факторная аутентификация в Meteor.js

Reading time10 min
Views9.1K
В течение какого-то времени мне довелось работать в стартапе. В качестве бэк-энда (и фронт-энда) мы использовали Meteor.js. В какой-то момент мы столкнулись с необходимостью реализации двух-факторной аутентификации. В этой статье я бы хотел рассказать т том, как реализовать эту фичу в Meteor.js.

Под катом вы не найдете ни одного скриншота/картинки, зато увидите весь код, необходимый для реализации.
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments0

Мигрируем на HTTPS

Reading time5 min
Views124K
В переводе этого документа описываются шаги, которые необходимо предпринять для перевода вашего сайта с HTTP на HTTPS. Шаги можно выполнять с любой скоростью – либо всё за день, либо один шаг за месяц. Главное, делать это последовательно.

Каждый шаг улучшает ваш сервер и важен сам по себе. Однако, сделать их все – обязательно для того, чтобы гарантировать безопасность вашим посетителям.
Читать дальше →
Total votes 57: ↑49 and ↓8+41
Comments16

Некоторые тонкости работы с Github и NPM — со вкусом ES6

Reading time10 min
Views21K
Здравствуйте, меня зовут Александр, и я пишу велосипеды по выходным программист.



В нашем клубе анонимных велосипедостроителей считается особым шиком не только сотворить очередной шедевр, но и поделиться им с сообществом. Так как существует просто огромное количество статей о том, как выложить проект на Github или npm, я не буду в 100500 раз пересказывать одно и то же.

В сегодняшней статье я хочу осветить некоторые неочевидные тонкости, которые, возможно, помогут вам получить больше удовольствия от процесса художественного выпиливания лобзиком очередного велосипеда.
Приступим
Total votes 32: ↑29 and ↓3+26
Comments19

Использование цветовых пространств в ATTiny13a для WS2811

Reading time6 min
Views18K
image

И вновь приветствую, Хабр!


Моя новая идея посвящена использованию цветовых пространств в микроконтроллерах.
То что моя новость кому-то таковой не покажется, я нисколько не удивлюсь.
Однако я предлагаю метод и его реализацию, подобных которому я не встречал.
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments8

Ламповый усилитель

Reading time2 min
Views175K


Коротко, в основном фото (перезалил в хорошем качестве). Сразу скажу, что опыта и познаний в радиотехнике было мало, сделал много ошибок. Не являясь фанатичным любителем теплого лампового звука, для меня был интересен сам процесс сборки.
Читать дальше →
Total votes 115: ↑109 and ↓6+103
Comments143

7 факторов успеха интернет-магазина в Рунете

Reading time6 min
Views21K


Российский рынок электронной торговли очень молод — еще в начале двухтысячных годов весь Рунет оценивался в несколько миллионов пользователей, общее проникновение интернета было не очень велико, а его качество оставляло желать лучшего. В то время, как на Западе люди уже вовсю покупали в Сети, у нас это явление только приживалось – в частности потому, что на Западе еще несколько десятков лет назад были популярны продажи товаров по каталогам, что позволило создать развитую систему логистики еще до старта интернет-продаж. Неудивительно, что ecommerce в России до сих пор во многом отстает от зарубежных стандартов.
Читать дальше →
Total votes 21: ↑12 and ↓9+3
Comments11

Делаем игру 2048 на AngularJS

Reading time32 min
Views49K
Наверное, вам, как и многим коллегам, пришлась по вкусу игра «2048», в которой необходимо достичь плитки с числом 2048, собирая вместе плитки с одинаковыми числами.

В этой статье мы вместе построим клон этой игры при помощи фреймворка AngularJS. По ссылке можно посмотреть демонстрацию конечного результата.
Читать дальше →
Total votes 71: ↑58 and ↓13+45
Comments15

Картонный робот-пылесос на Ардуино

Reading time3 min
Views28K
Следуя инструкции под катом (и имея в наличии все нужные компоненты), за несколько часов можно построить простой картонный робот-пылесос. Конечно, это, скорее, игрушка, но удивительно, сколько пыли она собирает с вроде-бы чистого пола. Также может быть любопытно опробовать на ней алгоритмы управления роботом-пылесосом, дополнить сонаром или другими датчиками препятствий.
(много картинок)
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments16

А вы совершаете эти 5 ошибок при подключении клиентов?

Reading time5 min
Views16K
Привлечение клиентов — задача не из легких, но многие компании теряют завоеванных пользователей сразу после первого запуска системы. Как не стать одной их них?

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

1. Делаете ставку на интерфейс при описании ценности продукта


В бизнесе программного обеспечения отмечают феномен под названием момент «все, беру!». Это момент, когда ценность продукта становится кристально ясной для клиента, и он говорит «Ооо, окей, беру сейчас!». Момент «все, беру!» часто приходит слишком поздно, поскольку пользователи вынуждены повозиться с интерфейсом, чтобы понять достоинства продукта.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments2

DMARC: защитите вашу рассылку от подделок

Reading time3 min
Views110K
Сталкивались ли вы с проблемой, что письма от вашего сервиса подделываются с целью вымогательства пароля или других конфиденциальных данных? Ежедневно к пользователям пытаются пробиться тысячи спамерских, фишинговых и мошеннических писем, которые злоумышленники маскируют под сообщения от известных сервисов.

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

Теперь мы даем сервисам, которые ведут свои рассылки, возможность защититься от такого рода подделок с помощью технологии DMARC (dmarc.org), которую мы поддержали первыми среди крупных почтовых сервисов в рунете.



Читать дальше →
Total votes 44: ↑42 and ↓2+40
Comments20

Встраивание электронной подписи в системы с WEB-интерфейсом с помощью браузерного плагина и openssl

Reading time12 min
Views30K


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

В данной статье будет расписана типичная схема подобной интеграции, основанная на следующих сценариях использования плагина:

  • Регистрация на портале (с выдачей сертификата или по имеющемуся сертификату)
  • Строгая аутентификация на портале
  • Электронная подпись данных и/или файлов в формате CMS
  • Шифрование данных и/или файлов в формате CMS


Данные сценарии предполагают клиент-серверное взаимодействие, написание клиентских скриптов на JavaScript и соответствующих им серверных вызовов openssl.

Подробности под катом.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments4

Information

Rating
Does not participate
Registered
Activity