Pull to refresh
-11
0

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

Send message

Одиннадцатиклассница, или тестируем баги вёрстки

Reading time6 min
Views87K


В современном вебе несправедливо мало внимания уделяется хоть сколько-нибудь автоматизированному тестированию UI. Особенно это касается статической вёрстки. На проекте 2ГИС Онлайн мы попытались частично восполнить этот пробел. Какие полезные практики мы приобрели, и о каких хороших библиотеках мы узнали, расскажем далее.
Получить плюс пять к качеству

Почему нужно поддерживать разные платежные системы

Reading time7 min
Views15K
Привет, Хабр.

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

Я не буду оспаривать право на жизнь всех этих приемов и взглядов, но одно скажу вам смело: прикрутить оплату PayPal, кредитной картой и сесть ровно в ожидании золотых гор недостаточно. Очень часто пользователь не платит не потому что он жлоб, а потому что конкретно он не может заплатить так как Вы хотите, или столько, сколько Вы хотите. Конкретно в данной публикации мы рассмотрим первый случай, когда пользователь сталкивается с проблемой отсутствия необходимого ему метода оплаты. К сожалению, не у всех есть кредитки, или возможность пополнить баланс PayPal. Это жестокая реальность.

На сайте моих друзей Web-payment.ru, в блоге которых размещена данная публикация, достаточно информации о платежных системах и присутствует мониторинг обменников, я думаю, он сможет Вам помочь при внесении изменений на которые может побудить Вас материал ниже. А я Вам предлагаю в своей статье авторское видение ситуации.

Так каждый ли раз прорабатывая монетизацию своего сервиса, игры или приложения Вы сделали всё, чтобы пользователь смог с комфортом донести до Вас свои деньги?

И это не последний тюлень! И еще голосование. И все внутри.

Именованные параметры в современном C++

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

Давайте посмотрим на пример:

createArray(10, 20); // Что это значит? Что за "10" ? Что за "20" ?
createArray(length=10, capacity=20); // О, вот теперь понятнее!
createArray(capacity=20, length=10); // И наоборот тоже работает.


И еще один пример на выдуманном псевдо-языке:
window = new Window {
   xPosition = 10,
   yPosition = 20,
   width = 100,
   height = 50
};


Этот подход особенно полезен для функций с большим количеством опциональных параметров, при вызове которых нужно изменить лишь некоторую часть дефолтных значений. Некоторые языки программирования поддерживают именованные параметры (C#, Objective-C, ...), но не С++. В этом посте мы рассмотрим пару классических способов эмуляции именованных параметров в С++, ну и попробуем придумать что-то новое.
Читать дальше →

Конвейер обработки текста в Sphinx

Reading time10 min
Views15K
Обработка текста в поисковом движке выглядит достаточно простой снаружи, однако на самом деле это сложный процесс. При индексации текст документов должен быть обработан стриппером HTML, токенайзером, фильтром стоп-слов, фильтром словоформ и морфологическим процессором. А ещё при этом нужно помнить про исключения (exceptions), слитные (blended) символы, N-граммы и границы предложений. При поиске всё становится ещё сложнее, поскольку помимо всего вышеупомянутого нужно вдобавок обрабатывать синтаксис запроса, который добавляет всевозможные спец. символы (операторы и маски). Сейчас мы расскажем, как всё это работает в Sphinx.

Картина в целом


Упрощённо конвейер обработки текста (в движке версий 2.х) выглядит примерно так:



Выглядит достаточно просто, однако дьявол кроется в деталях. Есть несколько очень разных фильтров (которые применяются в особом порядке); токенайзер занимается ещё чем-то помимо разбиения текста на слова; и наконец под «и т.д.» в блоке морфологии на самом деле находится ещё по меньшей мере три разных варианта.

Поэтому более точной будет следующая картина:



А теперь перейдём к деталям

Как нормальные пацаны заходят в Мегу: 7 магазинов за месяц

Reading time6 min
Views125K

Мы в Меге Химки, фото одного из наших тайных покупателей на независимой проверке

Привет!
Тут рассказывали, что Мега — это невозможно. Скажем так, наш опыт показывает немного обратное. И, чтобы не плодить иллюзии, расскажу чуть подробнее.

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

У нас с весны открыт магазин в Химках, полтора года работает магазин в Нижнем Новгороде, был магазин в Меге Уфы. В декабре мы открыли ещё 7 магазинов в Мегах.
Читать дальше →

freelance — you're doing it wrong!

Reading time39 min
Views82K
Доброго времени суток уважаемые хаброжители, меня зовут Юра, и сегодня я поведаю вам о проблемах высокотехнологичного отпрыска удалённой работы — фриланса, а именно о разработке мобильных, десктопных и вэб-приложений, вёрстке и дизайне. Работаю я в этой сфере достаточно недавно, буквально с 2008го, и опыта хорошего и плохого у меня накопилось достаточно много. Цель данной публикации — показать разницу между простыми сотрудниками и фрилансерами, а также — показать основные организационные проблемы, которые возникают при разработке и проектировании программного обеспечения. Я надеюсь, что этот пост поможет прояснить некоторые производственные моменты, которые могли бы быть не совсем очевидны для разработчиков и их руководства.

Суждения в данной статье субъективны — сплошная концентрированная «отсебятинка».
Они основаны на моём личном опыте и опыте людей с которыми я общаюсь.
PAIN INSIDE

Первый месяц раскрутки бесплатного неигрового приложения: грабли, шишки, удачи, выводы

Reading time9 min
Views23K
Итак, позади первый месяц (ну, чуть больше), как на Гуглоплее появилось наше первое приложение. Мало того, что неигровое, так еще и в одной из самых грустных категорий – книги и справочники. Продвигать такое в наше смутное и нечитающее время – та еще задачка, хотя приложение и бесплатное. Ниже я постаралась собрать все, что может оказаться полезным другим таким же негеймдевам – статистика, выхлопы с разных площадок, мысли вслух.

Сразу – вводная, которую я сама себе нарисовала, еще планируя выход на рынок. Во-первых, на раскрутку приложения я не буду тратить ни копейки денег. Не потому что их нет (хотя…), а пока из принципа – чтобы собрать максимальный урожай с бесплатных вариантов. Во-вторых, ограничиться только установками через Гуглоплей. И сразу же спойлер – первое пока удается (потрачено 0 р. 00 коп.), второе – уже нет.

И еще один спойлер — под катом анализ конверсии до и после привлечения аудитории торрентофилов…

Первый месяц раскрутки бесплатного неигрового приложения: грабли, шишки, удачи, выводы (Хабрахабр)
Читать дальше →

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

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

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

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


В бизнесе программного обеспечения отмечают феномен под названием момент «все, беру!». Это момент, когда ценность продукта становится кристально ясной для клиента, и он говорит «Ооо, окей, беру сейчас!». Момент «все, беру!» часто приходит слишком поздно, поскольку пользователи вынуждены повозиться с интерфейсом, чтобы понять достоинства продукта.
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика #35

Reading time7 min
Views51K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Front-end Job Interview Questions


Репозиторий с самыми актуальными вопросами на собеседовании на позицию фронтенд разработчика. Проект от команды знаменитого HTML5 Boilerplate и набрал уже более 7500 звезд на GitHub.

ShareDrop



В «Америках» почему-то часто критикуют веб-стандарты и работу консорциума W3C в целом. Но не знаю как вас, а меня современные возможности очень даже радуют, особенно когда я вижу их реализацию. Встречайте P2P сервис для передачи файлов, основанный на технологии WebRTC и Firebase. Это веб аналог яблочного AirDrop. Лично я открыл оффлайновый учебник «Постройка.ру» по HTML лет 7-8 назад и по сравнению с тем, что мы видим сейчас — это небо и земля. Даже невзирая на объем и некоторую путаницу в спецификациях.

Читать дальше →

Impact Mapping на практике

Reading time9 min
Views113K


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

Иногда заказчики писали свои цели в официальных документах к проекту. Иногда мне казалось, что я и так понимаю цели заказчика — они абсолютно очевидны. К чему уточнять очевидное? Разницу я почувствовал, когда начал применять Impact Mapping в работе.

Читать дальше →

Поддержание «стороннего» информационного ресурса. Как и для чего

Reading time7 min
Views6.6K
С 2006 года наша компания вкладывает в «самостоятельный» инфоресурс — ecm-journal.ru. Предвкушая, что вопросы «самостоятельности» и «независимости» могут казаться спорными, сначала пишу определения в кавычках; но, в общем-то, эпитеты имеют место быть.



Под катом — попытка снять бремя кавычек, рассказ о работе с ресурсом, расчет затрат на его поддержание и описание получаемых эффектов. Предназначено для маркетологов от ИТ и не только для них.
Далше

5 улучшений для сайта, которые могут увеличить продажи в 3 раза

Reading time5 min
Views12K
Корпоративный сайт в наши дни — штука жизненно необходимая. Сайты есть у большинства компаний, но лишь некоторые используют все их возможности для роста продаж и повышения дохода. И это досадно, ведь в сайт вкладывается много времени и денег, а для того, чтобы сайт сохранял актуальность, приходится много работать.

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



Мы в Alconost перевели для вас эти советы и даже добавили пару слов от себя в примечаниях. Правда, цифры прогнозируемого роста продаж, указанные автором для каждого из советов, нам показались недостаточно обоснованными — но суть ведь не в них.
Читать дальше →

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

Reading time8 min
Views28K
image

Сейчас в мире существует большое количество сканеров информационной безопасности разных компаний (в том числе — MaxPatrol, XSpider и анализатор кода Application Inspector производства Positive Technologies). Подобные инструменты различаются ценой, качеством сканирования, типами определяемых уязвимостей, методами их поиска и еще десятками параметров.

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

Как правило, результатом работы любого сканера безопасности является список обнаруженных уязвимостей, полученный в процессе анализа веб-приложения. Тот факт, что в сканерах используются эвристические алгоритмы, приводит к проблеме наличия ложных срабатываний и заполнению списка несуществующими в реальности уязвимостями (false positives). А это, в свою очередь, приводит к необходимости выделить ИБ-эксперта для проверки работы сканера.

Для подтверждения наличия уязвимости предлагается использоваться «эталонные» списки уязвимостей, содержащихся в похожих веб-приложениях. Аналитик может использовать такие списки для выявления наиболее вероятных уязвимостей тестируемого продукта и отсеивать очевидные false positives.
Читать дальше →

Что мне нравится в Redmine

Reading time4 min
Views131K
В недавней статье об инструментах управления проектами был задан вопрос о различиях Trac и Redmine. Ниже перевод довольно субъективной, но вполне аргументированной статьи о различиях между этими системами.

Читать дальше →

Предновогоднее: еще раз про целеполагание

Reading time5 min
Views28K
Конец календарного года – традиционное время для того, чтобы остановиться-оглянуться. Время подведения итогов и обдумывания планов на будущее – для тех, у кого вообще есть склонность к этому занятию. В попытке придать своим планам конкретный облик и бОльшую реалистичность, многие из нас прибегают к постановке собственных целей на следующий год. Я занимаюсь этим уже не первый год, для себя и других людей. Есть вещи, которые способствуют успеху целеполагания (+), и вещи, способные свести на нет весь смысл этого упражнения (-). Хочу поделиться некоторыми наблюдениями на этот счет. Надеюсь, какие-то из них пригодятся и вам. Итак.

Читать дальше →

Былина о том, как я Drupal и Яндекс.ПДД связывал

Reading time10 min
Views10K
Некоторое время назад у меня была идея сделать городской сайт (естественно, очередной) для одного небольшого городка на базе Drupal. Как раз незадолго до этого Яндекс расширил функционал своей Почты для доменов и добавил возможность управлять ящиками через API. И в голове зародилась мысль: а почему бы и нет? Почему бы не предоставить пользователям возможность одновременно с регистрацией на городском портале получать почтовый ящик в городском домене? Сама по себе идея, конечно, не удивительна, однако готовых решений не было. Сайт я так и не запустил, а коду без дела лежать грех.

Как известно, Drupal позиционируется как CMS, ориентированная разработчиков и позволяющая благодаря обширной API разработать хоть систему для управления лунной базой. Я не буду вдаваться в своём посте в её восхваление и самые начальные основы разработки модулей под Drupal, однако начинающие Drupal-разработчики наверняка сочтут материал полезным, а опытным буду благодарен за советы и рекомендации.

Читать дальше →

От математики к обобщенному программированию

Reading time1 min
Views38K
Здравствуйте!
Всего месяц назад в издательстве Addison-Wesley вышла книга Александра Степанова — русско-американского учёного в области IT — «From Mathematics to Generic Programming».

image

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

Установка, настройка и тестирование Fedora 21 Workstation на личном или игровом компьютере

Reading time37 min
Views205K
9-го декабря вышла новая Fedora 21 Workstation, которую по совокупности параметров можно назвать «самым свежим и стабильным» Линукс-десктопом.

За время использования и тестирования Fedora я проникся к этой платформе глубокой симпатией и хочу поделиться этим теплом и знаниями о ней с вами.

В течение года я наблюдал за её работой в качестве рабочего и игрового места в разных ситуациях — от станций с «умирающим» железом до нового игрового ноутбука Asus G750JM с Nvidia Optimus.

Собранные заметки получились несколько шершавыми, старающимися охватить одновременно и новичков в Линуксе, и опытных пользователей с разработчиками. Прошу простить. Хочу донести большой объем информации в одной статье: и по общей настройке и установке Федоры, и по технологии Nvidia Optimus на ноутбуках, wi-fi с проприетарными драйверами, о настройке симпатичных шрифтов в Java и IDE от JetBrains, запуску игр в Steam на дискретной видеокарте, о результатах сравнительного тестирования игр, графики и браузеров между Федорой и Windows 8.1, и даже об установлении одного «абсолютного» рекорда.

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

Читать дальше →

Помогаем пользователю подтвердить Email

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

Что происходит после того, как пользователь указывает свой email в форме регистрации и отправляет форму на сервер?
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity