При разработке Android приложений наступают моменты, когда те или иные части кода можно вынести в виде библиотек, чтобы можно было переиспользовать их в разных проектах:
Модули в проекте, которые часто встречаются. Например, кастомные View
Когда существующий API неудобный или не позволяет сделать то, что задумали — создаем расширение для этого API
Чаще всего все проблемы были решены задолго до нас, но в нашем случае нужно было вынести часть слоя бизнес-логики и фактически весь слой, отвечающий за данные в 3 наших основных продукта объединенной компании Колёса Крыша Маркет. Все наши продукты – классифайды про автомобили, недвижимость и прочие товары. Поэтому нами, разработчиками, было решили написать одно решение для всех продуктов компании. К тому же, это облегчило нашу работу.
При разработке Android приложений наступают моменты, когда те или иные части кода можно вынести в виде библиотек, чтобы можно было переиспользовать их в разных проектах:
Модули в проекте, которые часто встречаются. Например, кастомные View
Когда существующий API неудобный или не позволяет сделать то, что задумали — создаем расширение для этого API
Чаще всего все проблемы были решены задолго до нас, но в нашем случае нужно было вынести часть слоя бизнес-логики и фактически весь слой, отвечающий за данные в 3 наших основных продукта объединенной компании Колёса Крыша Маркет. Все наши продукты – классифайды про автомобили, недвижимость и прочие товары. Поэтому нами, разработчиками, было решили написать одно решение для всех продуктов компании. К тому же, это облегчило нашу работу.
При разработке Android приложений наступают моменты, когда те или иные части кода можно вынести в виде библиотек, чтобы можно было переиспользовать их в разных проектах:
Модули в проекте, которые часто встречаются. Например, кастомные View
Когда существующий API неудобный или не позволяет сделать то, что задумали — создаем расширение для этого API
Чаще всего все проблемы были решены задолго до нас, но в нашем случае нужно было вынести часть слоя бизнес-логики и фактически весь слой, отвечающий за данные в 3 наших основных продукта объединенной компании Колёса Крыша Маркет. Все наши продукты – классифайды про автомобили, недвижимость и прочие товары. Поэтому нами, разработчиками, было решили написать одно решение для всех продуктов компании. К тому же, это облегчило нашу работу.
Те, кто занимается ASO на постоянной основе, да еще, не дай бог, по разным локализациям, знает: это не то дело, в котором можно действовать по наитию. Слов в словаре, конечно, много, но продуктов на маркете тоже хватает, и конкуренция за самые простые, ассоциативные ключи разворачивается нешуточная. Чтобы выдержать баланс между популярностью запроса и вероятностью пробиться на первые позиции, нужен тщательный анализ ситуации в соответствующем сегменте.
Сегодня таким анализом занимаются особые системы, которые собирают данные с маркетов и, обрабатывая их, выдают оценку эффективности того или иного ключа в числовом значении. Их существует немало, и в последние недели у нашей команды возникла потребность провести ревизию доступных вариантов и отобрать самые многообещающие. Под катом вы найдете наши впечатления от работы с десятью инстурментами для ASO. Читать дальше ->
Те, кто занимается ASO на постоянной основе, да еще, не дай бог, по разным локализациям, знает: это не то дело, в котором можно действовать по наитию. Слов в словаре, конечно, много, но продуктов на маркете тоже хватает, и конкуренция за самые простые, ассоциативные ключи разворачивается нешуточная. Чтобы выдержать баланс между популярностью запроса и вероятностью пробиться на первые позиции, нужен тщательный анализ ситуации в соответствующем сегменте.
Сегодня таким анализом занимаются особые системы, которые собирают данные с маркетов и, обрабатывая их, выдают оценку эффективности того или иного ключа в числовом значении. Их существует немало, и в последние недели у нашей команды возникла потребность провести ревизию доступных вариантов и отобрать самые многообещающие. Под катом вы найдете наши впечатления от работы с десятью инстурментами для ASO. Читать дальше ->
Те, кто занимается ASO на постоянной основе, да еще, не дай бог, по разным локализациям, знает: это не то дело, в котором можно действовать по наитию. Слов в словаре, конечно, много, но продуктов на маркете тоже хватает, и конкуренция за самые простые, ассоциативные ключи разворачивается нешуточная. Чтобы выдержать баланс между популярностью запроса и вероятностью пробиться на первые позиции, нужен тщательный анализ ситуации в соответствующем сегменте.
Сегодня таким анализом занимаются особые системы, которые собирают данные с маркетов и, обрабатывая их, выдают оценку эффективности того или иного ключа в числовом значении. Их существует немало, и в последние недели у нашей команды возникла потребность провести ревизию доступных вариантов и отобрать самые многообещающие. Под катом вы найдете наши впечатления от работы с десятью инстурментами для ASO. Читать дальше ->
Привет! На следующей неделе, во вторник, 24 апреля, приглашаем специалистов по Data Science на митап, который мы организуем вместе с AI Community и AI Today. Будем говорить о самых страшных ошибках, которые допускают DS. Подробно обсудим CRISP-DM и Tips&Tricks, которые можно использовать в работе. Вы услышите доклады Ивана Гуза, Игоря Слинько и Станислава Гафарова. Регистрируйтесь на встречу и приглашайте коллег. Под катом — тезисы выступлений, ссылки на регистрацию и видеотрансляцию митапа.
Привет! На следующей неделе, во вторник, 24 апреля, приглашаем специалистов по Data Science на митап, который мы организуем вместе с AI Community и AI Today. Будем говорить о самых страшных ошибках, которые допускают DS. Подробно обсудим CRISP-DM и Tips&Tricks, которые можно использовать в работе. Вы услышите доклады Ивана Гуза, Игоря Слинько и Станислава Гафарова. Регистрируйтесь на встречу и приглашайте коллег. Под катом — тезисы выступлений, ссылки на регистрацию и видеотрансляцию митапа.
Привет! На следующей неделе, во вторник, 24 апреля, приглашаем специалистов по Data Science на митап, который мы организуем вместе с AI Community и AI Today. Будем говорить о самых страшных ошибках, которые допускают DS. Подробно обсудим CRISP-DM и Tips&Tricks, которые можно использовать в работе. Вы услышите доклады Ивана Гуза, Игоря Слинько и Станислава Гафарова. Регистрируйтесь на встречу и приглашайте коллег. Под катом — тезисы выступлений, ссылки на регистрацию и видеотрансляцию митапа.
Радикальная перемена в подходе к обновлениям и дополнениям в Стандарте C++ случилась на недавней встрече WG21, — или, скорее, это было изменение, которое «висело в воздухе» вот уже в течении нескольких последних встреч, и теперь наконец было обсуждено комитетом и задокументировано. Внимание читателей должны привлечь два ключевых пункта в самом начале документа «С++: планы на стабильность, скорость и реализацию языка» (C++ Stability, Velocity, and Deployment Plans [R2])":
Является C++ языком, в котором есть новые потрясающие возможности?
Известен ли C++ как язык, славящийся своей отличной стабильностью в течение долгого периода времени?
За ними следует следующее предложение (которое было согласовано на собрании): «Комитет должен быть готов рассмотреть дизайн/качество предложений даже в том случае, если эти предложения могут стать причиной изменения поведения языка или ошибки компиляции уже существующего кода».
Позади нас — 30 лет совместимости C++/C (ну хорошо, в последние 15 лет были по мелочи небольшие случаи, когда мы упирались в края и «заигрывали» с нею). Это замечательное достижение, за которое мы в течение вот уже более 30 лет благодарим Бьярна Страуструпа и 64 встречи, проведенные комититом по стандартизации (Том Плум и Билл Плагер занимали их место в этом нелегком деле в промежуток между WG14 и WG21).
Радикальная перемена в подходе к обновлениям и дополнениям в Стандарте C++ случилась на недавней встрече WG21, — или, скорее, это было изменение, которое «висело в воздухе» вот уже в течении нескольких последних встреч, и теперь наконец было обсуждено комитетом и задокументировано. Внимание читателей должны привлечь два ключевых пункта в самом начале документа «С++: планы на стабильность, скорость и реализацию языка» (C++ Stability, Velocity, and Deployment Plans [R2])":
Является C++ языком, в котором есть новые потрясающие возможности?
Известен ли C++ как язык, славящийся своей отличной стабильностью в течение долгого периода времени?
За ними следует следующее предложение (которое было согласовано на собрании): «Комитет должен быть готов рассмотреть дизайн/качество предложений даже в том случае, если эти предложения могут стать причиной изменения поведения языка или ошибки компиляции уже существующего кода».
Позади нас — 30 лет совместимости C++/C (ну хорошо, в последние 15 лет были по мелочи небольшие случаи, когда мы упирались в края и «заигрывали» с нею). Это замечательное достижение, за которое мы в течение вот уже более 30 лет благодарим Бьярна Страуструпа и 64 встречи, проведенные комититом по стандартизации (Том Плум и Билл Плагер занимали их место в этом нелегком деле в промежуток между WG14 и WG21).
Радикальная перемена в подходе к обновлениям и дополнениям в Стандарте C++ случилась на недавней встрече WG21, — или, скорее, это было изменение, которое «висело в воздухе» вот уже в течении нескольких последних встреч, и теперь наконец было обсуждено комитетом и задокументировано. Внимание читателей должны привлечь два ключевых пункта в самом начале документа «С++: планы на стабильность, скорость и реализацию языка» (C++ Stability, Velocity, and Deployment Plans [R2])":
Является C++ языком, в котором есть новые потрясающие возможности?
Известен ли C++ как язык, славящийся своей отличной стабильностью в течение долгого периода времени?
За ними следует следующее предложение (которое было согласовано на собрании): «Комитет должен быть готов рассмотреть дизайн/качество предложений даже в том случае, если эти предложения могут стать причиной изменения поведения языка или ошибки компиляции уже существующего кода».
Позади нас — 30 лет совместимости C++/C (ну хорошо, в последние 15 лет были по мелочи небольшие случаи, когда мы упирались в края и «заигрывали» с нею). Это замечательное достижение, за которое мы в течение вот уже более 30 лет благодарим Бьярна Страуструпа и 64 встречи, проведенные комитетом по стандартизации (Том Плум и Билл Плагер занимали их место в этом нелегком деле в промежуток между WG14 и WG21). Читать дальше ->
Максимально упростим логику для запуска ремаркетинга:
Настроить сбор списков для ремаркетинга.
Подождать пока в эти списки попадут пользователи с вашего сайта.
Включить рекламу через Adwords.
Проблема
Создавая список ремаркетинга, в него можно включить пользователей которые уже были на вашем сайте, но только за последние 30 дней.
Допустим, ваши аналитики нашли аудиторию, которая хорошо выполняет целевые действия, и за последние 90 дней было ~75 тысяч пользователей. Конечно, вы хотите настроить ремаркетинг на этих пользователей.
Как выделить этих пользователей для рекламы? Давайте разбираться! Читать дальше →
Максимально упростим логику для запуска ремаркетинга:
Настроить сбор списков для ремаркетинга.
Подождать пока в эти списки попадут пользователи с вашего сайта.
Включить рекламу через Adwords.
Проблема
Создавая список ремаркетинга, в него можно включить пользователей которые уже были на вашем сайте, но только за последние 30 дней.
Допустим, ваши аналитики нашли аудиторию, которая хорошо выполняет целевые действия, и за последние 90 дней было ~75 тысяч пользователей. Конечно, вы хотите настроить ремаркетинг на этих пользователей.
Как выделить этих пользователей для рекламы? Давайте разбираться! Читать дальше →
Максимально упростим логику для запуска ремаркетинга:
Настроить сбор списков для ремаркетинга.
Подождать пока в эти списки попадут пользователи с вашего сайта.
Включить рекламу через Adwords.
Проблема
Создавая список ремаркетинга, в него можно включить пользователей которые уже были на вашем сайте, но только за последние 30 дней.
Допустим, ваши аналитики нашли аудиторию, которая хорошо выполняет целевые действия, и за последние 90 дней было ~75 тысяч пользователей. Конечно, вы хотите настроить ремаркетинг на этих пользователей.
Как выделить этих пользователей для рекламы? Давайте разбираться! Читать дальше →
Библиотека React значительно облегчает жизнь разработчиков, которым приходится создавать сложные пользовательские интерфейсы. Программисту достаточно подготовить простые описания графических представлений для состояний приложения, а React, при изменении данных, будет эффективно обновлять и перерисовывать только те компоненты, на которые повлияли эти изменения. Однако, для того, чтобы создавать качественные проекты на React, программисту нужно приложить усилия, направленные на освоение этой библиотеки и вспомогательных средств разработки.
Автор статьи, перевод которой мы сегодня публикуем, хочет поделиться с аудиторией React-разработчиков девятью полезными советами, направленными на повышение качества кода. Эти советы затрагивают довольно широкий диапазон тем — от инструментальных средств до стиля программирования. Читать дальше ->
Библиотека React значительно облегчает жизнь разработчиков, которым приходится создавать сложные пользовательские интерфейсы. Программисту достаточно подготовить простые описания графических представлений для состояний приложения, а React, при изменении данных, будет эффективно обновлять и перерисовывать только те компоненты, на которые повлияли эти изменения. Однако, для того, чтобы создавать качественные проекты на React, программисту нужно приложить усилия, направленные на освоение этой библиотеки и вспомогательных средств разработки.
Автор статьи, перевод которой мы сегодня публикуем, хочет поделиться с аудиторией React-разработчиков девятью полезными советами, направленными на повышение качества кода. Эти советы затрагивают довольно широкий диапазон тем — от инструментальных средств до стиля программирования. Читать дальше ->
Библиотека React значительно облегчает жизнь разработчиков, которым приходится создавать сложные пользовательские интерфейсы. Программисту достаточно подготовить простые описания графических представлений для состояний приложения, а React, при изменении данных, будет эффективно обновлять и перерисовывать только те компоненты, на которые повлияли эти изменения. Однако, для того, чтобы создавать качественные проекты на React, программисту нужно приложить усилия, направленные на освоение этой библиотеки и вспомогательных средств разработки.
Автор статьи, перевод которой мы сегодня публикуем, хочет поделиться с аудиторией React-разработчиков девятью полезными советами, направленными на повышение качества кода. Эти советы затрагивают довольно широкий диапазон тем — от инструментальных средств до стиля программирования. Читать дальше ->
Полтора года назад команда iOS FunCorp переехала на новый сервис для простой организации CI в iOS и Android-проектах.
До этого мы использовали CI на Bamboo, но с ним было много проблем, поэтому мы совсем отказались от него и перешли на BuddyBuild.
Он работал настолько просто, что можно было даже не знать, что такое CI и как заливать приложение в AppStore, а спокойно заниматься кодом, тестами и продуктовой разработкой.
Но времена поменялись, и BuddуBuild уже не тот, поэтому мы начали поиск альтернативы.
В этой статье мы расскажем о новом решении, которое выбрала наша команда, и дадим несколько скриптов для организации CI собственными силами. Читать дальше ->
Полтора года назад команда iOS FunCorp переехала на новый сервис для простой организации CI в iOS и Android-проектах.
До этого мы использовали CI на Bamboo, но с ним было много проблем, поэтому мы совсем отказались от него и перешли на BuddyBuild.
Он работал настолько просто, что можно было даже не знать, что такое CI и как заливать приложение в AppStore, а спокойно заниматься кодом, тестами и продуктовой разработкой.
Но времена поменялись, и BuddуBuild уже не тот, поэтому мы начали поиск альтернативы.
В этой статье мы расскажем о новом решении, которое выбрала наша команда, и дадим несколько скриптов для организации CI собственными силами. Читать дальше ->