Search
Write a publication
Pull to refresh
26
0
olegi @olegi

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

Send message

Геолокация плюс мобильная связь и обновленный API AltegroCloud

Reading time4 min
Views6.1K
Не смотря на неожиданно наступившее лето, мы продолжаем активно разивать наш AltegroCloud, хорошо понимая, что сани готовить нужно именно летом. По вполне понятным причинам нагрузка на службу технической поддержки и разработчиков снизилась и мы решили спокойно, что назвается «без надрыва», выпустить новый релиз интерфейса нашего клауда под кодовым названием «Версия 3.1»

image

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

Оптимизация производительности MySQL

Reading time2 min
Views19K
В нашем блоге мы много пишем о построении облачного сервиса 1cloud, но немало интересного можно почерпнуть и из опыта по работе с инфраструктурой других компаний.

Мы уже рассказывали о дата-центре фотосервиса imgix, а сегодня затронем тему повышения производительности MySQL и взглянем на советы инженеров соцсети Pinterest.

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

Learndroid, урок №7: LayoutInflater, UI контролы, AdapterView

Reading time1 min
Views9K
Уже больше трех месяцев идет бесплатная Android онлайн-школа Learndroid, которую организуют e-Legion и Google. За это время зарегистрировалось более 20 000 учеников, а сайт школы посетили более четверти миллиона человек. Подробнее о формате можно прочитать в предыдущем посте.

Сегодня мы выкладываем седьмой урок, который подготовил Даниил dev_troy Сердюков (CTO e-Legion).



В лекции рассказано, что такое LayoutInflater, рассмотрены параметры метода inflate() и то, как происходит процесс преобразования xml в UI компоненты. Рассмотрены основные UI контролы, механика работы с ними, паттерн Listener.

Почему Go превосходит посредственность

Reading time3 min
Views29K
В апреле 2001 Пол Грэм написал статью «Превосходя посредственность» («Beating the averages» — ориг).

Этот пост о том, почему Go, следуя статье, и есть то самое секретное оружие, которое должно быть у каждого стартапа.

Секретное оружие


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

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

iPhone vs Android: Как сделать так, чтобы письмо хорошо выглядело на каждой платформе

Reading time5 min
Views9.2K


Во всем мире все больше людей начинает пользоваться смартфонами, растет число владельцев таких устройств и в России — в Москве девайсами пользуется уже больше половины всех сотовых абонентов. При этом лидерами по продажам в нашей стране являются Samsung и Apple. В США у двух главных мобильных платформ почти равенство — 47,7% у iPhone, 47,6% у Android, в Европе Android впереди, а в Японии наоборот, на iOS приходится более 60% продаж.

Этот общемировой тренд приводит и к тому, что более половины всех писем теперь открывается с мобильных устройств. А значит, дизайнерам, которые занимаются подготовкой почтовых рассылок, необходимо сделать так, чтобы сообщения хорошо выглядели и на Android-устройствах, и на iPhone.
Читать дальше →

Умный кроп на основе энтропии

Reading time2 min
Views26K
Во многих веб-приложениях существует необходимость автоматического кропа — будь то вырезание аватарки из загруженного фото, превью крупных изображений или создание миниатюр в больших галереях.



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

Руководство по шифрованию данных на PHP

Reading time7 min
Views62K
От переводчика: в процессе программирования никогда не забываю о том, что я опасно некомпетентен в криптографии, и всем советую исходить из этого тезиса (ну, может быть кроме вас и еще вон того крутого парня). Однако, так или иначе, в процессе работы возникают задачи, связанные с защитой данных, и их надо решать. Поэтому я предлагаю вашему вниманию перевод статьи финского разрабочика Timo H, которая показалась мне достаточно интересной и полезной.

Важный update: в комментариях SamDark сделал замечание, что библиотека Mcrypt давно не поддерживается и имеет ряд недоработок, поэтому рекомендуется использовать OpenSSL. Если требуется переписывать имеющийся код, то может помочь эта статья. Кроме того, есть сведения, что Mcrypt может быть удален в PHP7.

Это краткое руководство о том, как избежать распространенных ошибок с симметричным шифрованием на PHP.

Будем рассматривать случай, когда данные обрабатываются на стороне сервера (в частности, шифрование происходит на сервере, а данные могут быть получены, например, от клиента в виде открытого текста, пароля и т.п.), что является типичным случаем для PHP-приложений.

Cведения из этого руководства не стоит использовать для создания шифрованных сетевых соединений, которые имеют более сложные требования. Для таких случаев надо использовать spiped или TLS.

Естественно, рекомендации, приведенные здесь, не являются «единственно возможным способом» организации шифрования на PHP. Цель этого руководства — попытаться оставить поменьше места для ошибок и сложных неоднозначных решений.
Читать дальше →

Как мы «женили» облачную АТС, GSM и риэлтеров (часть 4)

Reading time5 min
Views13K
Несколько задержавшаяся, вопреки обещаниям, четвертая глава постиндустриальной телеком-саги о химической свадьбе облаков, виртуальной АТС, сотовой связи, агентства недвижимости и теперь еще и сервисов геолокации, которые сейчас как раз активно тестируются.

Задача, которую мы решаем на протяжении 3-х предыдущих серий, достаточно проста идеологически, но запутана технически: с помощью облачного виртуального офиса и специальных FMC сим-карт мы хотим управлять работой большого риэлторского агентства, автоматизировать продажи и, помимо этого, еще и контролировать разговоры с мобильных разъездных агентов-риэлторов, которые постоянно норовят отхватить свой кусок пирога и ведут себя некорректно, особенно когда речь заходит о том, что неплохо бы отчитаться о сделках, совершенных за последний месяц. Оно и понятно: при совершении сделки расчет за аренду квартиры зачастую происходит на кухне и практически без свидетелей, проценты за работу риэлтор стремится оставить себе.

Коротко представим главных героев предыдущих серий:

image

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

Облегчаем поддержку iOS приложения. Часть 2 — локация и сеть

Reading time6 min
Views8.8K
Добрый день, хаброжители,

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

  1. Облегчаем поддержку iOS приложения. Часть 1 — не отрываясь от Xcode
  2. Облегчаем поддержку iOS приложения. Часть 2 — локация и сеть
  3. Облегчаем поддержку iOS приложения. Часть 3 — падение и логи

В первой статье я поделился своим опытом работы с трудно воспроизводимыми багами. В этой статье я расскажу, как можно поступить с багами, которые связаны с сетью или локацией. Тех, кого интересует эта тема, прошу под кат.
Читать дальше →

Записки iOS программиста о его молотках, кувалдах и микрометрах

Reading time20 min
Views32K
В один прекрасный момент, когда на собеседованиях меня уже убеждали, что я senior iOS developer — у меня возникло ощущение, что я уперся. Пишу похожий код, решаю задачи похожими способами и ощущение, что непонятно, куда развиваться дальше. Я думаю, с этой проблемой сталкивался не один я — нехваткой новых идей, концепций, направлений. Я бы хотел рассказать вам о тех инструментах и фреймворках, которые помогли преодолеть мне это ощущение.

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


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

IP-Geo. Оптимизация SQL запроса

Reading time6 min
Views18K


Здравствуй, Хабрахабр! Меня зовут Бабичев Максим. Это моя первая статья на Хабрахабр, прошу строго не судить.

Нашел на Хабре статью, в которой были базы в двух модификациях: Страны и города и только страны. Также в этих архивах есть небольшие примеры использования таблиц на php.

Сразу хочу сказать, что эта статья рассчитана на новичков, а не на продвинутых гуру.
Читать дальше →

Сравнение сервисов обратного звонка Callbackhunter, UpToСall, RocketCallback, HookMyVisit и Leadhacker

Reading time4 min
Views35K
Мы перезвоним Вам через Х секунд!”. Практически каждый хоть раз сталкивался с всплывающим окном, на том или ином сайте, которое предлагает вам обратный звонок. Это окно называется по разному: “виджет обратного звонка”, “callback виджет”, “форма мгновенного звонка” и даже “лидогенератор”. Сервисов, предлагающих подобный виджет, довольно много(более 20) и они продолжают появляться.
Заглянуть внутрь

Делаем веб-формы удобнее для заполнения

Reading time5 min
Views28K
Привет, Хабр! Сегодня для работы в Интернете все чаще используются мобильные устройства, а не компьютеры. При этом, на многих сайтах есть формы для ввода данных, позволяющие совершить покупку или подписаться на рассылку. Как результат, пользователям приходится много раз вводить на разных сайтах такие сведения о себе, как имя, номер телефона и адрес. Удобство веб-форм имеет огромное значение, потому что при работе с ними всегда вероятны ошибки, в результате чего многие пользователи вовсе отказываются от заполнения. Три года назад мы представили функцию автозаполнения в браузере Chrome, которая упрощает ввод данных в формы. Теперь Chrome полностью поддерживает в формах атрибут autocomplete в соответствии с современным стандартом WHATWG HTML. Благодаря этому веб-мастера и разработчики могут помечать поля атрибутами, например name и street-address (имя и адрес), не изменяя интерфейс или другой код сайта. Те, кто реализовал эти возможности, отмечают, что их формы стали заполняться чаще.

автозаполнение форм на смартфоне

Например, если пометить поле для ввода электронного адреса, то код будет выглядеть так:

<input type="text" name="customerEmail" autocomplete="email"/>

Больше кода под катом!

От проблемы к требованиям. Теория принятия решений в разработке ПО

Reading time9 min
Views16K

Введение


Некоторое время назад обратил свое внимание на артефакт Концепция продукта (product vision) методологии разработки программного обеcпечения RUP (Rational Unified Process) и обнаружил, что отправной точкой разработки программного продукта является выявление проблемы, на решение которой нацелен продукт.

Аналогичный подход существует и в отечественной практике – так в ГОСТ 34.601-90 говорится, что на стадии Формирование требований к АС (автоматизированной системе) производится «выявление проблем, решение которых возможно средствами автоматизации».

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

Районы… Кварталы…

Reading time3 min
Views37K
Совсем недавно на хабре была статья от AirBnb — «Создавая карту мира». Хорошая и красивая статья про административное деление мира. Один минус — у статьи один комментарий, и то мой.
Пользуясь случаем проведу опрос — хотели ли бы вы такую карту административных делений?
А то она у меня есть:



Вы наверное замечали, что Google.Карты умеют подсвечивать контура городов. С недавнего времени такое есть и на Яндекс.Картах. Мало кто знает, что геометрия есть и на eSosedi.

А вот когда такая возможность появится на вашем сайте — теперь зависит только от тебя %username%.

Для достижения эффекта достаточно зайти на data.esosedi.org или GitHub, ознакомиться с документацией библиотеки osmeRegions и начать использовать.

P.S.: 3 признака того, что год минувший все сделал красиво: 1. Районы 2. Кварталы. 3. Детализация до «Жилые массивы» доступна для некоторых городов.
Читать дальше →

Как сделать e-mail рассылки в 5 раз проще и в 5 раз быстрее

Reading time2 min
Views6.6K
160654

В последнее время почтовые рассылки стали невероятно полезным, но при этом крайне сложным в применении каналом работы с клиентом. Но должно ли быть так?

Немного истории


Первое электронное письмо было послано в 1971, и буквально через 7 лет была проведена первая почтовая маркетинговая кампания, которая вылилась в 13 миллионов долларов в продажах. А когда интернет стал доступен широкой аудитории, e-mail маркетинг стал настоящим каналом для привлечения клиентов.

Где мы сейчас?


Количество привлеченных клиентов через e-mail рассылку увеличилось в 4 раза за последние 4 года, поставив e-mail маркетинг на второе место по масштабу канала привлечения клиентов в интернет торговле (на первом месте органический поиск). Этот невероятный рост  есть результат нескольких нововведений в интернет рассылках, включая сегментацию аудитории, триггерные рассылки, а/б тесты и много другое. Не смотря на это, управлять всеми этими задачами и находить нужный (самый эффективный) механизм e-mail рассылки крайне сложно.
Читать дальше →

Повышаем конверсию страниц в App Store и Google Play при помощи A/B тестов

Reading time4 min
Views3.4K
У каждого мобильного паблишера или девелопера при загрузке своего приложения или игры рано или поздно возникает вопрос — какую иконку, какие скриншоты, какие описания выбрать, чтобы страница работа максимально эффективно.



Мы в S​plitMetrics​ занимаемся A/B тестированием лендингов для игр и приложений в App Store и Google Play и в процессе работы над продуктом видели разные подходы к решению такой задачи. Есть желание систематизировать варианты и разобраться, зачем же нужно искать с​вященный грааль​ наиболее эффективную комбинацию.

Не секрет, что рекламные кампании для мобильных приложений или игр становятся все более дорогими, CPI растет, а прирост новых пользователей смартфонов замедляется. Следовательно, чем больше ваша страница приносит новых пользователей, тем дешевле вам обходятся установки, тем выше ваш рейтинг и т.д.

Решить задачу выбора наиболее «продающей» иконки или скриншотов можно несколькими способами — предлагаю рассмотреть каждый из них и дополнить в комментах — какой используете вы…
Читать дальше →

Супергеройские Приёмы для Роста Мобильного Продукта

Reading time6 min
Views4.1K
Маркетинг и продвижение мобильного приложения в целом состоят из ряда активностей, которые в комплексе помогут любому разработчику достичь успеха со своим продуктом. Andy Carvell сделал очень крутую пошаговую инструкцию о том, что обязательно стоит делать. Делее — рерайт-перевод статьи The Mobile Growth Stack с моими наблюдениями и разработанными решениями. Автор предлагает своеобразную “карту роста”. Она представляет собой обязательные активности, которые в комплексе выступают катализатором роста продукта. Методы, указанные в ней, универсальны и применимы к любому мобильному приложению или игре.
Нельзя сказать что все эти методы одинаково необходимы, но на определенных этапах работы над приложением каждый из них имеет значение.


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

Если вы решили перейти с PHP на Python, то к чему следует подготовиться

Reading time14 min
Views192K
Думали ли вы когда-нибудь о том, что однажды слишком быстро втянулись в веб-программирование на PHP? И вот уже прошло много лет, у вас хороший опыт, и вы не думаете ни о каких других способах „делать“ веб, кроме как на PHP. Может быть, у вас возникают сомнения в правильности выбора, однако непонятно, как найти способ быстро его проверить. А хочется примеров, хочется знать, как изменятся конкретные аспекты деятельности.

Сегодня я попробую ответить на вопрос: «А что если вместо PHP писать на Python?».

Сам я долгое время задавался этим вопросом. Я писал на PHP 11 лет и даже являюсь сертифицированным специалистом. Я научился его «готовить» так, чтобы он работал в точности, как мне надо. И когда я в очередной раз читал на Хабре перевод статьи о том, как всё в PHP плохо, я просто недоумевал. Однако подвернулся случай пересесть на Ruby, а потом и на Python. На последнем я и остановился, и теперь попробую рассказать вам PHP-шникам, как нам питонистам живётся.


Python с точки зрения PHP-программиста...

Унификация дизайна: Фреймворк Mail.Ru Group для мобильного веба

Reading time17 min
Views20K
У компаний с большим портфелем продуктов со временем встает вопрос упрощения работы над ними. В Mail.Ru Group их около 40, не считая мобильных и планшетных версий, а также огромного игрового направления. Наше подразделение Почты и Портала занимается почти половиной из этих сорока. Что вместе с сопроводительными приложениями, мобильными сайтами и промо-ресурсами — за сотню проектов. Сейчас мы ведем их поэтапное обновление и унификацию вокруг нескольких гайдлайнов. На примере одного из них я расскажу о том, как перестроить дизайн-процесс от классического «прототип → макет → верстка → код» для каждого экрана к более эффективному и современному, основанному на фреймворках.

Унификация дизайна: Фреймворк Mail.Ru Group для мобильного веба
Читать дальше →

Information

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