Простой поиск на stackoverflow.com показывает, что тема получения сообщения ACTION_BOOT_COMPLETED остается актуальной и по сей день. Как видно, многие новички сталкиваются с проблемой: они не получают в своих приложениях сообщение ACTION_BOOT_COMPLETED. В этой статья я попробую резюмировать данные из официальной документации, опыт многих разработчиков из stackoverflow.com, а также свой опыт. Итак, как же победить этого «коварного врага» под названием «ACTION_BOOT_COMPLETED»?
User
Flexbox для интерфейсов во всей красе: Реализация Tracks (Часть 1)
7 min
15KTranslation
Дни ухищрений с float и margin наконец позади, так как сегодня CSS предлагает разработчикам новые улучшенные возможности, которые отлично подходят для деликатных раскладок. Такие функции раскладок, как вертикальное выравнивание, равномерное распределение свободного пространства, управление порядком исходного кода и прочие шаблоны, вроде «липких» футеров, довольно легко воплотить с помощью flexbox.
В этой статье мы рассмотрим шаблоны раскладки, которые подходят для flexbox, используя интерфейс приложения Tracks, в котором также используются принципы атомного дизайна. Я расскажу вам, как flexbox доказал свою эффективность, и укажу некоторые подводные камни использования его вместе с определенными шаблонами раскладки. Мы рассмотрим шаблоны, которые создают проблемы, приведем примеры запасных вариантов и поделимся дополнительными тактиками того, как начать использовать данное свойство CSS немедленно.
Часть 2
В этой статье мы рассмотрим шаблоны раскладки, которые подходят для flexbox, используя интерфейс приложения Tracks, в котором также используются принципы атомного дизайна. Я расскажу вам, как flexbox доказал свою эффективность, и укажу некоторые подводные камни использования его вместе с определенными шаблонами раскладки. Мы рассмотрим шаблоны, которые создают проблемы, приведем примеры запасных вариантов и поделимся дополнительными тактиками того, как начать использовать данное свойство CSS немедленно.
Часть 2
+6
AllcountJS и ionic: Мобильное приложение для CRM за 30 минут
9 min
8.9KTutorial
UPDATE
Результат можно посмотреть так: Скачать приложение Allcountjs на Google Play Market или Apple App Store. Запустить дему CRM. И в мобильное приложении вставить ссылку на сгенеренную дему.
Правда это приложение универсальное и не содержит кастомной клиентской логики и интерфейсов, поэтому канбан доски в нем не будет. Но зато в нем можно запустить любое AllcountJS приложение, например что-нибудь ещё из демо галереи.
Сейчас в большинстве проектов по разработке ПО требуется одновременно иметь как веб, так и мобильную версию приложения. Обычно это довольно непросто, но с AllcountJS эта задача упрощается в разы. В предыдущей статье мы создали простую CRM, которая позволяет отслеживать статус продажи клиентам на наглядной канбан доске.
В этой статье мы создадим мобильное приложение для этой CRM. Кроме фреймворка AllcountJS будем использовать ещё и ionic framework, о котором на хабре тоже уже писали тут и тут.

Результат можно посмотреть так: Скачать приложение Allcountjs на Google Play Market или Apple App Store. Запустить дему CRM. И в мобильное приложении вставить ссылку на сгенеренную дему.
Правда это приложение универсальное и не содержит кастомной клиентской логики и интерфейсов, поэтому канбан доски в нем не будет. Но зато в нем можно запустить любое AllcountJS приложение, например что-нибудь ещё из демо галереи.
Сейчас в большинстве проектов по разработке ПО требуется одновременно иметь как веб, так и мобильную версию приложения. Обычно это довольно непросто, но с AllcountJS эта задача упрощается в разы. В предыдущей статье мы создали простую CRM, которая позволяет отслеживать статус продажи клиентам на наглядной канбан доске.
В этой статье мы создадим мобильное приложение для этой CRM. Кроме фреймворка AllcountJS будем использовать ещё и ionic framework, о котором на хабре тоже уже писали тут и тут.

+4
Собираем базу людей из открытых данных WhatsApp и VK
15 min
220K
кадр из фильма Миссия Невыполнима II
Эта история началась пару месяцев назад, в первый день рождения моего сына. На мой телефон пришло СМС-сообщение с поздравлением и пожеланиями от неизвестного номера. Думаю, если бы это был мой день рождения мне бы хватило наглости отправить в ответ, не совсем культурное, по моему мнению, «Спасибо, а Вы кто?». Однако день рождения не мой, а узнать кто передаёт поздравления было интересно.
Первый успех
Было решено попробовать следующий вариант:
- Добавить неизвестный номер в адресную книгу телефона;
- Зайти по очереди в приложения, привязанные к номеру (Viber, WhatsApp);
- Открыть новый чат с вновь созданным контактом и по фотографии определить отправителя.
Мне повезло и в моём случае в списке контактов Viber рядом с вновь созданным контактом появилась миниатюра фотографии, по которой я, не открывая её целиком, распознал отправителя и удовлетворенный проведенным «расследованием» написал смс с благодарностью за поздравления.
Сразу же за секундным промежутком эйфории от удачного поиска в голове появилась идея перебором по списку номеров мобильных операторов составить базу [номер_телефона => фото]. А еще через секунду идея пропустить эти фотографии через систему распознавания лиц и связать с другими открытыми данными, например, фотографиями из социальных сетей.
+126
Теория звука. Что нужно знать о звуке, чтобы с ним работать. Опыт Яндекс.Музыки
14 min
219KЗвук, как и цвет, люди воспринимают по-разному. Например, то, что кажется слишком громким или некачественным одним, может быть нормальным для других.
Для работы над Яндекс.Музыкой нам всегда важно помнить о разных тонкостях, которые таит в себе звук. Что такое громкость, как она меняется и от чего зависит? Как работают звуковые фильтры? Какие бывают шумы? Как меняется звук? Как люди его воспринимают.

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

Мы довольно много узнали обо всём этом, работая над нашим проектом, и сегодня я попробую описать на пальцах некоторые основные понятия, которые требуется знать, если вы имеете дело с цифровой обработкой звука. В этой статье нет серьёзной математики вроде быстрых преобразований Фурье и прочего — эти формулы несложно найти в сети. Я опишу суть и смысл вещей, с которыми придётся столкнуться.
Поводом для этого поста можете считать то, что мы добавили в приложения Яндекс.Музыки возможность слушать треки в высоком качестве (320kbps). А можете не считать. Итак.
+73
Голосовое управление мультимедиа центром
8 min
11KВ этой статье хотелось бы описать свой опыт по применению web speech api в браузере Google Chrome для реализации голосового поиска и автоматического воспроизведения видеороликов с канала Youtube. Для демонстрации данного функционала нам понадобиться сделать следующие шаги:
Как сделать все вышеперечисленное, здесь описывать не буду, так как на эти темы полно статей. Принцип реализации такой:
- Установить набор: Apache2, PHP5(пакет curl обязательно).
- Иметь в наличии мультимедиа центр Dune HD или установить XBMC и настроить его для работы в сети INTERNET.
- Получить Youtube API Key для выполнения поисковых запросов.
Как сделать все вышеперечисленное, здесь описывать не буду, так как на эти темы полно статей. Принцип реализации такой:
- Распознаем фразу с помощью скрипта, написанного на JavaScript — работать будет только в Google Chrome.
- Ищем ролики, соответствующие поисковому запросу.
- Получаем прямые ссылки на ролики.
- Создаем плейлист из ссылок и названий роликов.
- Отправляем плейлист для воспроизведения на устройство.
+8
50 лучших инструментов для разработки CSS и JavaScript
3 min
74KTranslation
Веб-разработчику постоянно необходимо быть в курсе появления новых библиотек и инструментов. Я нашёл и выбрал несколько лучших инструментов для разработки как CSS, так и JavaScript. Это не просто копипаста – это выборка, основанная как на рекомендациях, так и на личном опыте использования.
Разработка фронтэнда – штука хитрая. И хотя она не слишком сложная для освоения, некоторые тонкости освоить также не помешает. В сети ежедневно появляются отличные ресурсы. Они могут дать толчок развитию ваших навыков и помочь вам лучше выполнить вашу задачу.
1) Fileicone
Сборник 100%-CSS файловых иконок. Может пригодиться для дизайна страниц.

2) Marx
Элегантное обнуление CSS безо всякого JavaScript.

Разработка фронтэнда – штука хитрая. И хотя она не слишком сложная для освоения, некоторые тонкости освоить также не помешает. В сети ежедневно появляются отличные ресурсы. Они могут дать толчок развитию ваших навыков и помочь вам лучше выполнить вашу задачу.
Лучшие инструменты для CSS и JavaScript
1) Fileicone
Сборник 100%-CSS файловых иконок. Может пригодиться для дизайна страниц.

2) Marx
Элегантное обнуление CSS безо всякого JavaScript.

+18
«ua-hosting.company» или как стать хостинг-провайдером с нуля и сгенерировать трафика больше, чем вся Беларусь
48 min
44KНекоторое время назад на одном небезызвестном форуме было начато интересное обсуждение, человек из российской глубинки задал вполне здравый, на мой взгляд, вопрос:
И конечно же в лучших традициях «серча» начался срач:
И таких советчиков было много. Да, конечно, это могло быть желание задавить нового конкурента, так как большинство отметившихся с такими советами — существующие хостинг-провайдеры. Если бы не одно но… Эти люди были напрочь убеждены, что организовать хостинг-проект, не обладая специальными знаниями или большим бюджетом, невозможно, только лишь несколько людей дали советы по делу.
Сразу вспомнилось, как начинал я, и стало просто невыносимо грустно от таких советов, ведь люди заблуждались, все возможно и без бюджета, и без начальных знаний. Потому что именно так возник «ua-hosting». И далее я поведаю небольшую историю успеха и разочарований…
ХолодныйСинтез:
«Доброго времени суток форумчане. Действительно, не знал, где создать тему, но для таких как я сделали целый раздел, за это и спасибо.
Вкратце, живу в далекой глуши, где отбирают бизнес и не дают ничем спокойно заняться… и вот пришла ко мне идейка сделать сервер для услуг хостинга ну или чего-то прочего.
Интересуют такие вопросы:
*Что надо для старта, какое оборудование, программы и т.д
*Что нужно купить для начала
*В какой бюджет можно влезть
Может найдутся «знавцы» это темы. чтоб мне поведать что и как? …»
И конечно же в лучших традициях «серча» начался срач:
pavellift:
«ХолодныйСинтез, может лучше переехать?»
voltamper:
«ТС, не стоит суваться, если вообще в этом не понимаете.
Брутанут и вообще без штанов останетесь».
sladkydze:
«Автор, я поддерживаю товарищей, которые не советуют соваться.
Что-то тут можно поймать:
1. Имея знания в области и опыт.
2. Имея как минимум от 10.000$ на первоначальные вложения. А лучше от 50.000$. Остальное — бултыхание в луже».
[umka]:
«Это как начать автопрокатную компанию, имея в качестве «первоначального оборудования» ушатанный ВАЗ 2106. Ну и плюс сайт, конечно же».
И таких советчиков было много. Да, конечно, это могло быть желание задавить нового конкурента, так как большинство отметившихся с такими советами — существующие хостинг-провайдеры. Если бы не одно но… Эти люди были напрочь убеждены, что организовать хостинг-проект, не обладая специальными знаниями или большим бюджетом, невозможно, только лишь несколько людей дали советы по делу.
Сразу вспомнилось, как начинал я, и стало просто невыносимо грустно от таких советов, ведь люди заблуждались, все возможно и без бюджета, и без начальных знаний. Потому что именно так возник «ua-hosting». И далее я поведаю небольшую историю успеха и разочарований…
+37
Шпаргалка для кандидата: какие вопросы задать потенциальному работодателю на собеседовании
6 min
396KУ каждого кандидата в конце собеседованию рекрутер обычно спрашивает, есть ли вопросы. Часто люди теряются и не находят, что спросить. И лишь по прошествии некоторого времени (часто, когда человек уже работает в компании) сами собой всплывают вопросы, о которых нужно было поинтересоваться заранее, а не брать кота в мешке и удивляться «Как я сюда попал? Куда я смотрел? Почему я об этом не подумал?». Это так называемый «эффект лестницы». Я подготовил шпаргалку, что ты, %habrauser%, не растерялся.
1. Рабочий график и можно ли его двигать?
Я люблю поспать. Но на моей прошлой работе «рабочее утро» начиналось в 7:30. Мало того, что я довольно часто не мог прийти к этому времени, я еще пол дня занимался тем, что пытался привести себя в рабочую форму. Где то до 10:00. С 10:30 до 11:30 я усердно работал. Потом был обед. А потом мне хотелось спать, а не работать, т.к. я не высыпался еще с утра. Надо ли говорить, что вместо 8 часов, на которые меня нанял работодатель, я работал в «потоке» только часа 3-4. Так что для себя нужно решить вопрос – когда я наиболее трудоспособен? И обговорить рабочий график с руководством. И еще один нюанс. Попробуйте закрепить обговоренный график в трудовом договоре или контракте (далее ТД), если работодатель идет на персональный рабочий график для Вас. Никаких устных договоренностей. Иначе Вам начнут крутить руки уже в процессе работы (как это было со мной).
Общее
1. Рабочий график и можно ли его двигать?
Я люблю поспать. Но на моей прошлой работе «рабочее утро» начиналось в 7:30. Мало того, что я довольно часто не мог прийти к этому времени, я еще пол дня занимался тем, что пытался привести себя в рабочую форму. Где то до 10:00. С 10:30 до 11:30 я усердно работал. Потом был обед. А потом мне хотелось спать, а не работать, т.к. я не высыпался еще с утра. Надо ли говорить, что вместо 8 часов, на которые меня нанял работодатель, я работал в «потоке» только часа 3-4. Так что для себя нужно решить вопрос – когда я наиболее трудоспособен? И обговорить рабочий график с руководством. И еще один нюанс. Попробуйте закрепить обговоренный график в трудовом договоре или контракте (далее ТД), если работодатель идет на персональный рабочий график для Вас. Никаких устных договоренностей. Иначе Вам начнут крутить руки уже в процессе работы (как это было со мной).
+29
Проект «Око» ч.15
14 min
20K
Фото: A.V. Photography
Ссылки на предыдущие части и обращение к тем, кто видит публикации Ока впервые:Око — мой личный литературный проект, работу над которым я начал в мае этого года. Из небольшой зарисовки он перерос в научно-фантастическое произведение, главы которого я выкладываю, по мере написания, на GT.
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
Око — мой личный литературный проект, работу над которым я начал в мае этого года. Из небольшой зарисовки он перерос в научно-фантастическое произведение, главы которого я выкладываю, по мере написания, на GT.
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
Предыдущие части:
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11
Часть 12
Часть 13
Часть 14
В части №14:
— Давай к сути, — раздраженно сказал Мэтт. — Кто теперь в Гетто главный?
— Ну, это, Босс сейчас главный.
— Босс? Что за Босс? – Спросил Мэтт.
— Ну, это мы так его называем. Ну, а так кличут его Большой Босс, — ответил мужчина. – Мы все так должны его называть. Он теперь заправляет всем в Гетто.
— Понятно, — сказал Мэтт. – Мелли?
— Не врет. И я знаю, куда нам идти.
— Хорошо. С остальным разберешься? – С намеком спросил старый командир.
+16
Создание канала с автопостингом в Телеграме без единой строчки кода
4 min
169KTutorial
Вступление

Предупреждаю сразу: технического в статье очень мало. Это практически пошаговая инструкция для не очень сведующих в техническом плане пользователей. Для людей сведущих (и тех, кому лень читать много текста), приведу две ссылки: Telegram Bots API + IFTTT Maker Channel.
Теперь подробнее. Думаю, все слышали про мессенджер Telegram. Вероятно, многие даже знают про нехитрый API для создания ботов в этом мессенджере. Кроме того, не так давно в T появилась возможность создавать так называемые «каналы» (channels), упрощающие мгновенную рассылку сообщений практически любому количеству подписавшихся на канал лиц. Наконец, самая свежая новость: ботов стало можно добавлять в качестве администраторов в каналы, то есть такие рассылки стало можно делать автоматизированно.
Думаю, не надо объяснять, что это открывает довольно широкие возможности для различных сервисов. Например, у меня довольно быстро получилось сделать следующее:
- три канала (@RedditTop, @r_pics, @gone_wild — осторожно, последний с «взрослым» контентом), которые ежечасно импортируют топовые посты с Реддита (и двух его сабреддитов);
- ещё канал, делающий то же с постами с 9GAG;
- и, наконец, завел хитрого бота @JamesBot, который анонимно пересылает все сообщения, написанные ему, в общий канал (@secret_ru, @secret_en, @secret_es, @secret_ar или @secret_fa — в зависимости от языка). Получился анонимный чат средней степени трэшовости.
Уже после создания всех этих ботов и каналов мне пришло в голову, что простейший автоимпорт постов откуда-то «снаружи» можно наладить вообще без всякого кода и хостинга — буквально минут за 5. На помощь нам придет прекрасный сервис IFTTT — If This Then That, имеющий множество интеграций с социальными сетями и прочими сервисами. Правда, к сожалению, прямой интеграции с Телеграмом у него (пока?) нет — зато есть т.н. IFTTT Maker Channel, позволяющий делать простые HTTP(S)-запросы при срабатывании триггера. К сожалению, мы не сможем принимать сообщения, отправленные боту (входящие запросы IFTTT Maker принимать может, но, увы, только в строго определенном формате) — интерактива не выйдет. Зато сможем по срабатывании любого события (например, новый твит или пост в FB):
- публиковать сообщение в канале,
- отправлять сообщение в заранее выбранный чат (куда добавлен наш бот),
- отправлять сообщение заранее указанному пользователю (который добавил себе бота).
+21
Почему Mobile First?
8 min
120KО Mobile First написано достаточно много и есть хорошие книги на эту тему. И все равно большинство разработчиков и компаний не используют его в своих проектах или не знают вообще об этом подходе.
Поэтому хочу рассказать вам о нем вкратце и с примерами, это будет полезной информацией для тех кто не слышал об этом подходе.
Я постараюсь ответить на три основных вопроса:
Поэтому хочу рассказать вам о нем вкратце и с примерами, это будет полезной информацией для тех кто не слышал об этом подходе.
Я постараюсь ответить на три основных вопроса:
- Что такое Mobile First и его плюсы
- Реализация подхода
- Статистика результатов
+14
Простой клиент-сервер на Android (интернет-мессенджер)
26 min
231KTutorial
Важно. Все написанное ниже не представляет собой какой либо ценности для профессионалов, но может служит полезным примером для начинающих Android разработчиков! В коде старался все действия комментировать и логировать.
Поехали. Многие мобильные приложения (и не только) используют архитектуру клиент-сервер. Общая схема, думаю, понятна.

Уделим внимание каждому элементу и отметим:
Неважно, как реализован любой из этих элементов, все они в любом случае присутствуют. Давайте реализуем примитивный сервер и Android клиент, работающий с ним. Как пример, будем использовать любой популярный мобильный интернет-мессенджер (Viber, ICQ), а приложение условно назовем «интернет-чат».
Поехали. Многие мобильные приложения (и не только) используют архитектуру клиент-сервер. Общая схема, думаю, понятна.

Уделим внимание каждому элементу и отметим:
- сервер — представляет собой некую программу, работающую на удаленном компьютере, и реализующую функционал «общения» с приложениями-клиентами (слушает запросы, распознает переданные параметры и значения, корректно отвечает на них);
- клиент — в нашем случае, программа на мобильном устройстве, которая умеет формировать понятный серверу запрос и читать полученный ответ;
- интерфейс взаимодействия — некий формат и способ передачи/получения запросов/ответов обеими сторонами.
Неважно, как реализован любой из этих элементов, все они в любом случае присутствуют. Давайте реализуем примитивный сервер и Android клиент, работающий с ним. Как пример, будем использовать любой популярный мобильный интернет-мессенджер (Viber, ICQ), а приложение условно назовем «интернет-чат».
0
Программирование с YII2: приступаем к работе
7 min
96KTutorial

От переводчика.
Жизнь такая штука, как-то я начинал цикл статей по Java Spring и сообщество сообщило, что выбор пал не на самую свежую информацию. Сейчас жизнь забросила меня в хардкорное программирование на С++, а душа все равно нуждается в вебе, поэтому в свободное время решил изучить вместе с вами технологии, которые может скушать любой хостинг и в то же время сложность разрабатываемых приложений и ООП не сильно пострадает от PHP.
Исходный текст статьи на английском вы найдете по адресу http://code.tutsplus.com/tutorials/programming-with-yii2-getting-started--cms-22440
Перевод не претендует на дословность, но о грубых ошибках, если такие имеются – прошу сообщать в комментариях.
Если вы спрашиваете «что такое YII?», прочтите более ранний урок «Введение в фреймворк YII», который описывает преимущества YII, а также затрагивает вопрос новшеств второй версии фреймворка от 12 октября 2014.
Этот урок посвящен установке YII2, настройке вашего окружения, написанию классического приложения «Привет, мир!», настройке удаленного окружения для хостинга и деплоя с GitHub.
+5
jQuery-плагин для организации компонентов на странице
2 min
20KJBlocks — небольшой jQuery-плагин (~100 строк) для организации компонентов на странице.
Строится на трех основных принципах:
Если вам интересна тема декларативного javascript — прошу под кат.
Строится на трех основных принципах:
- опиши поведение компонента в декларации;
- разметь компонент в html с помощью специальных атрибутов;
- общайся со экземплярами компонента через АПИ.
Если вам интересна тема декларативного javascript — прошу под кат.
+13
JSON Web Token и sliding expiration в web-приложении
5 min
65KВ web-приложениях наиболее распространенным методом аутентификации до настоящего времени являлось использование файлов cookies, которые хранят идентификатор серверной сессии и имеют свой срок годности (expiration date). При этом существует возможность эту дату автоматически продлевать при очередном обращении пользователя на сервер. Такой подход носит название sliding expiration.
Однако в последнее время разработчики стремятся отказаться от использования cookies и серверной сессии в виду ряда причин и ищут альтернативные способы аутентификации. Одним из них является использование JSON Web Token (JWT) — маркер, который содержит в зашифрованном виде всю минимально необходимую информацию для аутентификации и авторизации. При этом не требуется хранить в сессии данных о пользователе, так как маркер самодостаточный (self-contained). Однако это в свою очередь добавляет определенные сложности с контролем над JWT, что может свести на нет все его преимущества перед cookies. На просторах Интернет мною было найдено несколько решений этих проблем, и здесь я бы хотел предложить альтернативный вариант, который, как мне кажется, при своей простоте должен удовлетворить потребности многих проектов.
Однако в последнее время разработчики стремятся отказаться от использования cookies и серверной сессии в виду ряда причин и ищут альтернативные способы аутентификации. Одним из них является использование JSON Web Token (JWT) — маркер, который содержит в зашифрованном виде всю минимально необходимую информацию для аутентификации и авторизации. При этом не требуется хранить в сессии данных о пользователе, так как маркер самодостаточный (self-contained). Однако это в свою очередь добавляет определенные сложности с контролем над JWT, что может свести на нет все его преимущества перед cookies. На просторах Интернет мною было найдено несколько решений этих проблем, и здесь я бы хотел предложить альтернативный вариант, который, как мне кажется, при своей простоте должен удовлетворить потребности многих проектов.
+9
Автоматизация, новые модели оплаты и полезная еда: 7 ресторанных трендов на примере США
6 min
6.9KTranslation
Примечание переводчика: В нашем блоге мы рассматриваем различные аспекты ресторанного бизнеса — от внедрения систем автоматизации (вроде Jowi) и создания меню, до работы по снижению уровня шума помещения и использования Google для поиска информации о потенциальных клиентах. Как и в многих других отраслях, различные тенденции ресторанного бизнеса приходят к нам в страну из-за рубежа, а одним из самых технологически продвинутых рынков являются США. Мы решили изучить технологические и организационные тенденции, существующие на этом рынке в текущем году.

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

Рестораны – это не просто место, куда мы приходим поесть. Рестораны делают нашу жизнь проще. Они сближают нас с друзьями, родными и коллегами по работе. Они предлагают нам постоянно увеличивающееся разнообразие блюд на выбор. В 2015 году конкуренция в ресторанной индустрии обострилась до предела, поэтому для ресторанов так важно вводить новые тенденции в свои бизнес-модели. Эти усилия не только позволяют удерживать клиентов, но и привлекать новых.
+8
Если не Liferay то что? GateIn?
5 min
9.8KНе так давно я описал новые фичи, которые ждут пользователей и разработчиков в новой версии Liferay 7.0. У меня иногда спрашивают — а почему Liferay? Для меня ответ прост — в том стеке технологий, в котором мы работаем (Jave EE плюс ориентация на Open Source) я просто не вижу альтернатив.
Да, мы давно занимаемся внедрением порталов на Liferay, но я не слепой фанатик и стараюсь иногда выныривать из своего мирка и смотреть вокруг. А вдруг? Вдруг альтернативы есть? Давайте сегодня рассмотрим одну из них — портал GateIn — совместное производство JBoss и eXo.

Да, мы давно занимаемся внедрением порталов на Liferay, но я не слепой фанатик и стараюсь иногда выныривать из своего мирка и смотреть вокруг. А вдруг? Вдруг альтернативы есть? Давайте сегодня рассмотрим одну из них — портал GateIn — совместное производство JBoss и eXo.

+10
Что нас ждет в Liferay 7.0
4 min
27KКомпания Liferay объявила о выходе последней milestone версии Liferay 7.0 m7. Это означает что дальше пойдут уже альфы и беты, в которых будет идти исправление ошибок — функциональных же изменений уже особо не ожидается. И хотя до релиза еще примерно полгода, уже сейчас можно посмотреть что же нового нас ждет в новой версии Liferay

+10
Мультиселект и автокомплит на AngularJS
4 min
25KСо списками множественного выбора на Ангуляре всегда было неважно. Существующие решения либо обертки над jQuery-плагином, либо выглядят как не пойми что, либо просто корявы. И у всех естественно особое уникальное АПИ, как будто пользователям делать больше нечего как вникать в ход мыслей разработчиков каждого плагина. Меня такое положение дел не устроило, поэтому написал свой велосипед. Спустя год он дозрел до публикации.
Та-дам! (и забавная история вконце)
Та-дам! (и забавная история вконце)
+18
Information
- Rating
- Does not participate
- Location
- Киев, Киевская обл., Украина
- Registered
- Activity