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

Компания i-Free Group временно не ведёт блог на Хабре

Сначала показывать

Интеграция Bolid в 1С или как мы приручили СКУД

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


Где-то в 2009 году, когда еще речи не шло о группе компаний в сегодняшнем виде, i-Free арендовала помещения в бизнес-центре, сначала занимая одну комнату и расширяясь с годами.
Филиалы в шести странах мира и размещение «с трудом» в четырёх бизнес-центрах Санкт-Петербурга ещё впереди, а пока только 5 кабинетов в разных концах коридора и даже на разных этажах. Коридор общий для разных арендаторов, вход в БЦ свободный. Бегая к коллегам в другой кабинет, замыкать двери на ключ нередко забывали. Стало быть, СКУД стал необходимостью. Задумались о решении, и тогда выбор пал на Болид.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии12

Мобильный интерфейс для одной руки

Время на прочтение4 мин
Количество просмотров47K
В своей книге Designing Mobile Interfaces (2011) дизайнер Стивен Хубер ввел понятие The Thumb Zone («зона большого пальца») — область экрана, наиболее удобная при использовании телефона одной рукой. С года издания книги средний размер смартфона заметно увеличился, и «мертвая зона» — область, которую сложно достать пальцем одной руки, — также стала больше.

«Зона большого пальца» для 5–4,7-дюймового экрана, если держать телефон в левой и в правой руке, соответственно. Изображение основано на публикации Скотта Хэрффа.
Изображение. «Зона большого пальца» для 5–4,7-дюймового экрана, если держать телефон в левой и в правой руке, соответственно. Изображение основано на публикации Скотта Хэрффа.

Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии49

Так может ли NFC Кольцо Всевластья разблокировать Android-телефон?

Время на прочтение6 мин
Количество просмотров47K
Короткий ответ — да.

Летом прошлого года на кикстартере начался сбор средств на NFC-кольца (пост на хабре гиктаймс). Создатели не обещали ничего супер-инновационного, но скомпоновать известные, но не популярные штуки во что-то удобное и привычное — тоже хорошая идея. Неудивительно, что сбор, хотя и прошёл не особо заметно, но всё-таки успешно завершился. Целый год ребята писали письма про свои затруднения, про битвы и победы, про падения и взлёты.



В итоге, долгожданное письмо, пара недель ожидания, скрашенных Почтой России и отсутствием трекинга, и вот вожделенный конверт у меня в руках.
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии18

Умные китайские весы Mecare Lemon

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


Давно хотел купить домой обычные напольные весы. Но, поддавшись истерии на смарт-гаджеты и увидев цену, взял «умные весы» Lemon W100 некоего китайского производителя Mecare за 69 юаней (по нынешнему курсу это примерно $12). Да, я живу в Пекине, заказывал на месте, поэтому для других стран цены будут отличаться: быстрый поиск по Aliexpress показал цены около $65 с доставкой.

Производитель заявлял следующую незамысловатую функциональность:
  • Отображение веса на LCD-дисплее весов с подсветкой;
  • Отправка данных по Bluetooth на смартфон iOS / Android;
  • Ведение графика на смартфоне.

Честно говоря, при заказе терзали смутные сомнения: что за весы я получу за 12 долларов? Итак…

Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии40

Обзор Mi Band от Xiaomi

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


Похоже, я стал одним из первых русских обладателей трекера активности от Xiaomi [сяо ми]Mi Band. Сегодня я сделаю анбоксинг браслета, расскажу о его функциях и личных впечатлениях. Он совместим с любым смартфоном на Android 4.3 и выше, и обладающим Bluetooth 4 LE.

Цена игрушки — 79 юаней, или приблизительно $15 USD. Девайс куплен в Китае с официального сайта производителя. Если вы еще не знаете, каких трудов стоит покупка, в конце обзора я дам ссылку. Я не занимаюсь продажей браслетов, не сотрудничаю с перекупщиками — вы и сами знаете, где можно заказать китайские девайсы.

Технические характеристики


Вот заявленные характеристики и возможности трекера и приложения для смартфона:

  • Шагомер;
  • Трекер сна;
  • Умный будильник;
  • Уведомление о поступающих звонках;
  • Счётчик калорий;
  • Работа в режиме ожидания до 30 дней;
  • Разблокировка смартфона — для владельцев устройств с прошивкой MIUIv6 (и не только);
  • Размер: 36х9х14 мм;
  • Материал: пластик, алюминий;
  • Влагозащита: IP67;
  • Аккумулятор: 41mAh;
  • Bluetooth-чипсет: Dialog BT4LE;
  • А ещё некий «военный датчик»

Читать дальше →
Всего голосов 62: ↑53 и ↓9+44
Комментарии164

Истории

Ошибки при проверке внутренних платежей Android-iOS и их решение

Время на прочтение6 мин
Количество просмотров18K
Disclaimer. Этот пост написан на основе доклада на SQADays’15. Вы можете также посмотреть видео выступления или полистать презентацию. Обращаю внимание, что доклад был начального уровня, то есть пост будет интересен в основном менеджерам и начинающим тестировщикам. А также на то, что автор — ненастоящий сварщик и местами делает довольно грубые округления.

Меня зовут Алёна, и я релиз-менеджер. Отдел компании i-Free, в котором я работаю, в основном занимается приложениями под iOS и Android. Ещё мы поддерживаем Tizen, Windows Phone, альтернативные сторы, но в данном посте речь пойдёт об Apple iOS Appstore и Google Play.
В обоих маркетах, помимо платных и бесплатных приложений, есть возможность проводить внутренние платежи — ин-аппы (In-App Purchases).

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

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

Как устроена система SMSDirect

Время на прочтение5 мин
Количество просмотров8.5K
image

Здравствуйте, хабражители!

Прочитав здесь о сравнении смс-сервисов для рассылок, мы решили рассказать вам о своем опыте построении подобной системы, которая верой и правдой служит нам несколько лет и постоянно дорабатывается и совершенствуется. Надеемся, наш опыт будет вам полезен. В общем, тем, кому интересно, прошу под кат.
Подробности
Всего голосов 22: ↑14 и ↓8+6
Комментарии4

Классы и фабрики. Как разобрать и собрать объект с наследованием на прототипах

Время на прочтение6 мин
Количество просмотров20K
Привет, Хабра!
При разработке игр на JavaScript часто возникает необходимость создавать множество объектов. О том, как правильно это сделать и не утонуть в коде, я рассказывал, примерно — месяц назад на Frontend Dev Conf в Минске. Возможно, доклад будет интересен тем, кто не был на конференции и сталкивался с проблемой создания множества объектов, либо является разработчиком HTML5 игр.



Под катом текст с картинками.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии9

Проблемы при верстке сайтов и игр. Особенности сайтов для мобильников

Время на прочтение8 мин
Количество просмотров28K
Привет, Хабра!
Эта статья является продолжением прошлой статьи (JavaScript to APK. http://habrahabr.ru/company/ifree/blog/214531/). Я попробую дать несколько советов по разработке мобильных сайтов, которые сложились из моего опыта работы над сервисами и продуктами в i-Free.
image

Для разработчиков мобильных сайтов все телефоны делятся на три группы:

  • Кнопочные, без поддержки touch-событий
  • С сенсорным экраном, с поддержкой touch-событий
  • Смартфоны


Откуда в 2014 году берутся старые кнопочные телефоны?

Наследие прошлых лет. Раньше телефоны могли быть довольно качественными и служить очень долго. Например, есть много историй о Nokia 3310, которую можно было кидать на бетон и забивать ею гвозди в прямом смысле слова. Так как эти телефоны работают, и их продали довольно в большом количестве, то до сих пор есть люди, которые ими пользуются.

Откуда в 2014 году берутся новые кнопочные телефоны?

Производство новых J2ME телефонов заполняет низший сегмент рынка. Такие телефоны имеют несколько качественных отличий:

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


Кто делает сайты для таких телефонов?

Как правило, это очень крупные компании, которые стараются сделать свои сервисы максимально доступными (например, Google, Yandex, Mail). Цена вопроса в этом случае не имеет значения. Кроме того, во всех телефонах есть стандартные закладки, в которых вшит сайт оператора, производителя или компании вендора. На таких сайтах можно купить различный контент (игры, картинки, мелодии) или оформить какие-либо услуги. Т.к. телефонов производится очень много, то у таких сайтов может быть очень большая нагрузка.
Читать дальше →
Всего голосов 54: ↑46 и ↓8+38
Комментарии10

Как молодым специалистам устроиться в IT-компанию

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

Как-то раз коллеги из отдела HR i-Free обратились ко мне с просьбой написать небольшую статью для молодых специалистов, которые стремятся устроиться в IT-компанию. Причины, побудившие их это сделать в целом понятны, в компании основным нанимателем молодых специалистов является отдел под моим управлением, мы берем только что закончивших вуз ребят (а иногда и студентов последних курсов), и у нас они проходят некий курс «молодого бойца».
Естественно, я не претендую на объективность, а лишь хочу дать несколько советов для тех, кто хочет начать свой путь с работы в IT-компании. Статья выражает сугубо моё мнение о том, как нанимать молодого специалиста, и очень надеюсь, что кому-то из студентов старших курсов сей краткий опус поможет в будущей карьере.
В общем, тех, кому интересно, прошу под кат.
Подробности
Всего голосов 51: ↑40 и ↓11+29
Комментарии34

Задача изменения голоса. Часть 3. Прикладные модели представления речевого сигнала: LPC

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

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

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

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

Далее будет более подробно рассмотрена теория модели LPC (Linear Prediction Coding) – замечательный стройных подход к описанию речевого сигнала, в прошлом определивший направление развития речевых технологий на несколько десятилетий и до сих пор часто применяемый, как один из базовых инструментов при анализе и описании речевого сигнала.

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

Тестирование Web UI с Викой в удовольствие или Виртуальный Интеллект в тестировании

Время на прочтение12 мин
Количество просмотров13K
Добрый день, дорогие Хабра-читатели. В этот раз в рубрике IT я хотел с вами немного помечтать о будущем. Об эпохе, когда искусственный интеллект не будет диковинкой, и роботы станут нашими близкими друзьями…

Но зачем мечтать, — подумал я. Лучше я расскажу вам об одном таком создании.

Встречайте VIQA WTL – Virtual Intelligence Quality Assurance Web Testing Tool, или по-простому Вика.

Вика — инструмент с Виртуальным Интеллектом для тестирования Web UI (сайтов, по-просту говоря) на языке, понятном пользователю. Инструмент представляет из себя обертку вокруг Selenium и позволяет описывать тестовые сценарии, используя такие понятия как: кнопки, текстовые поля, чеклисты и выпадающие списки, сайт, страницы и блоки. Т.е. использует популярный паттерн PageObjects.

В дополнение к реализации этой концепции, инструмент обладает широким спектром сопутствующих возможностей и большой приспосабливаемостью к конкретному окружению (о чем речь пойдет ниже).

Инструмент, используемый мною в работе в i-Free, был представлен на конференции SQA Days 15 (текст презентации и видео будут выложены в ближайшее время организаторами). В презентации Вика описывалась формате сравнения с наиболее популярным инструментом в этой области Yandex QA Tool. В данной статье я постараюсь более подробно рассказать о самом инструменте без выделения его сильных и слабых сторон (желающим разобраться в этом предлагается сделать это самостоятельно в комментариях и/или послушать видео с конференции).

Virtual Intelligence


Начну с названия. Я думаю, вам интересно узнать, причем здесь Виртуальный Интеллект, и что под этим я подразумеваю?
image
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии4

Облачная платформа для чатов в мобильных приложениях

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

Чат в приложении или игре – актуальная тема во все времена. Создано огромное количество всевозможных решений для их реализации, в т.ч. на основе стандарта XMPP. Однако все они, на мой взгляд, имеют достаточно высокий порог входа: требуется вникание в клиентский API, особенности настройки и поддержки сервера.

В случае с мобильными приложениями все еще хуже – простых в использовании решений, адаптированных под их особенности, нет. Наша команда в последний год в i-Free занимается разработкой мессенджера Salut (salut.im), который, к сожалению, пока не стал конкурентом для всем известных WhatsApp, Viber и проч. Тем не менее, в ходе работы над ним мы прошли очень интересный путь, и теперь многое знаем и умеем в разработке обмена сообщениями на мобильных устройствах. Созданный нами серверный бекенд оказался весьма производительным, надежным и масштабируемым, а клиент-серверный протокол – простым в реализации на клиенте. Поэтому мы решили сделать сервис Salut Cloud, который позволит разработчикам мобильных игр и приложений быстро, в течение нескольких часов, создавать в своем приложении полнофункциональные чаты.В этой статье я изложу концепцию нашего сервиса и прошу хабровчан дополнить его своими пожеланиями – что бы вам хотелось в нем увидеть.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии13

Автотесты без боли

Время на прочтение6 мин
Количество просмотров19K
imageПривет Хабра!

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

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

Суть поста на картинке слева. Это то, чего мне раньше не хватало в повседневной работе. Хотелось иметь инструмент, которым можно очень просто потыкать в код и сделать общее заключение о его живучести и пригодности.
Читать дальше →
Всего голосов 17: ↑12 и ↓5+7
Комментарии4

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

HTML по стандартам

Время на прочтение10 мин
Количество просмотров124K
Привет Хабр!

image Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.

В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
Читать дальше →
Всего голосов 190: ↑167 и ↓23+144
Комментарии49

Игра в прятки: кодогенерация против JSON

Время на прочтение9 мин
Количество просмотров12K
Страшно подумать, но ещё каких-то десять лет назад разработка системы самого заштатного RPC была целым праздником в жизни разработчика. Болезненным и длительным праздником, как свадьба для лошади: голова в цветах, зад в мыле. Это было страшно увлекательно и одновременно невероятно запарно. Один выбор протокола чего стоил. Я уж не говорю о борьбе с могучими и чудовищными фреймворками, типа DCOM или CORBA. Реализация транспортного уровня вообще была уделом людей с длинными бородами.

В наше счастливое время жизнь программиста под iOS должна быть легка и приятна. Транспорт давно перестал быть проблемой. А RPC? Легко: достаём из кобуры Apache Thrift или на худой конец Google Protocol Buffers и пожалуйста, с минимальным напряжением головного мозга готов и протокол, и сервер, и клиент. Подавляющему количеству приложений в AppStore только это и нужно: простой и понятный интерфейс к удаленным процедурам, желательно в приятных обертках из нативных классов, и такая же простая и понятная обработка ошибок. Всё.

Но. К сожалению, и Thrift, и Protobuf заточены под одновременную разработку клиента и сервера. А такая удача случается в карьере программиста не часто.
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии5

JavaScript to APK. Подводные камни разработки под Android для тех, кого задолбал PhoneGap. Построение мостов из Java в JavaScript

Время на прочтение8 мин
Количество просмотров61K
Привет, Хабра!

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

Сразу предупрежу, что мне пришлось отказаться от PhoneGap, т.к. опыт использования его в двух проектах меня огорчил. Он отлично справляется с «Hello World» приложениями, но при конвейерной сборке всего подряд всплывают нюансы.

Почему PhoneGap не пошел:
1. Он изначально пустой. Постоянно приходится подключать все новые и новые модули.
2. Многие модули написаны криво. Они либо берут много лишнего, либо ведут себя неожиданно. Например, из двух модулей под Android для отправки SMS, один не работал, второй — отправлял true при любых условиях.
3. Не решены элементарные вещи, вроде получения EMEI телефона. Нужно постоянно допиливать.


Читать дальше →
Всего голосов 43: ↑38 и ↓5+33
Комментарии30

Вебсокеты на PHP. Часть 3. От чата до игры: Battle City

Время на прочтение5 мин
Количество просмотров40K
В предыдущих двух частях (Делаем вебсокеты на PHP с нуля и Межпроцессное взаимодействие) в качестве демонстрации я использовал чаты, но в этой статье на примере онлайн-игры я покажу, что сфера применения вебсокетов может быть гораздо шире.

Как обычно, в конце статьи ссылки на демонстрационную игру и исходный код на гитхабе.

Содержание:
  • Поддержка вебсокетов браузерами
  • Разработка онлайн-игры
  • Благодарности
  • Демка и исходный код

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

BFT – Потоковое тестирование

Время на прочтение6 мин
Количество просмотров17K
Добрый день, Хаброчитатели!

imageВ своей рубрике IT (Interesting Testing) я постараюсь рассказывать вам о разных интересных подходах к тестированию и полезных инструментах, делающих процесс поиска ошибок захватывающим.
Сегодня я расскажу вам о:
  • BFT – Business Flow Testing, что это?
  • На простых примерах покажу как этим пользоваться
  • Какие есть преимуществах у такого подхода
  • Где его можно применить
  • И что будет дальше

Потоковое тестирование (BFT — BusinessFlowTesting)

BFT – это подход к тестированию, где вы смотрите на продукт не с точки зрения конкретных кейсов, а с точки зрения поведения системы в каждой ее точке.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии4

Делаем вебсокеты на PHP с нуля. Часть 2. IPC

Время на прочтение5 мин
Количество просмотров39K
После написания моей предыдущей статьи Делаем вебсокеты на PHP с нуля я понял, что у сообщества есть некоторый интерес к поднятой мною теме.

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


И, как обычно, — получившийся код и ссылка на демонстрационный чат в конце статьи.
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии15
1