Если это сайт вроде VK, то, скорее всего, обновят. А вот если это интернет-магазин, найденный в поисковике — то не будет, он закроет вашу страницу и пойдёт к следующему. Минус клиент. А специфика некоторых магазинов такова, что людей со старыми браузерами может быть много
Плюс эти знаки собаки постоянные у строк. Простой синтаксис — это не так уж и мало в разработке. Однако ниже я написал неприятный момент со Swift из-зак которого продакшн-проекты я продолжу писать на Objective-C
Есть еще один не очень приятный момент. Начал я как-то переписывать свой проект на Swift. После недели, в целом, комфортной разработки я заметил что билд долго грузится в TestFlight. Оказалось, что обычное приложение с 5ю вью контроллерами весит порядка 60 мегабайт. Поискав информацию в интернете, оказалось:
For the time being, Swift itself lives in the binary of each application built with it. This may change when Swift reaches a release that Apple is comfortable bundling with iOS, but for now it's just something we have to live with. This behavior is the reason you can build an iOS 7/8 application in Swift 1.0/1.1/1.2 and it just works when you build and run.
Для игр это еще более менее оправданно, а вот выпускать обычное приложение, которое разрастется до почти 100 мегабайт как-то не очень хорошо.
P.S. Expression was too complex to be solved in reasonable time меня, конечно, тоже сильно улыбнуло, на всякий случай посмотрел в календарь, не 58-й ли год на дворе.
Первый — крупный интернет-проект с >10млн пользователей, используется следовательно для поиска и фильтрации людей по куче полей (город, пол, возраст и т д). Нода работает на одном сервере с 32GB оперативной памяти, больше не требуется, интенсивность поиска доходит до 200 запросов в секунду, ответ в среднем менее 0.05ms. Обновление индекса выставлено каждые 30сек.
В свое время стоял выбор между Sphinx и Elastic — выбор пал в пользу последнего. Поскольку метод обновления индекса в Sphinx не очень эффективен при таком большом количестве записей. Плюс удобный REST API, хорошая документация, сообщество, результаты тестирования, в общем, мы довольны. Руская морфология добавляется плагином, работает хорошо.
Второй — небольшой интернет магазин с 7000 товарами, использую исключительно для поиска товаров. Здесь он работает также хорошо. Обновление индекса здесь, разумеется, моментальное. Единственное, потребление памяти конечно, не самое лучшее (после многих дней аптайма оно составляет 1.0-1.5GiB). Однако для нас всегда был приоритет в скорости, да и недорогого сервера с 8GB оперативки хватает за глаза.
Насчет фасетчатого поиска — у Elastic с этим все отлично, вы можете комбинировать любые сложные вариации фильтров, как простых соответствий, так и range (для цен например). В общем, присмотритесь к Elastic и не жалейте память, вряд ли его использование будет экономически невыгодным, учитывая удобство, которое он предоставляет.
Эх, где вы были с данной статьей года 2 назад =)
Objective-C в принципе дался мне достаточно тяжело, прежде чем написать первый готовый проект я раза 2 бросал это занятие, отчасти из-за таких непонятных мелочей.
Кстати, да! Elastic одна из замечательных вещей, которая активно используется во всех наших проектах. Фильтрацию товаров с ее помощью делать просто сказка
Несмотря на многообразие полей у товаров, они все-таки жестко прописаны в административной панели. Я лишь описал наш кейс, пока что MongoDB нас полностью устраивает.
И цены у нас вручную нельзя прописать, они пересчитываются автоматически на основе прайсов поставщиков, равно как и скидки :)
Мы в своем магазине (сейчас около 8000 товаров) для хранения товаро перешли на MongoDB
Это дало нам много преимуществ:
1) отсутствие схемы позволяет добавлять поля товара на лету (например одни имеют вес, а другие количество таблеток в упаковке
2) возможность хранить массивы — используем в случае когда товар может быть сразу в 2-3 и более категориях
3) эти же массивы используем для фильтров
Скорость поразительна, разумеется важно проиндексировать важные поля
Когда как, например для одной из рабочих почт я всегда хочу сразу узнать о приходе нового письма, чтобы быстрее среагировать.
А в остальном — да, это не самое важное в почте для многих.
Что еще в свое время меня подкупило перейти от стандартного Mail в Mail.ru (да-да, я использую Mail.ru вместо идентичного myMail) — удобнее реализован доступ к другим ящикам. Когда постоянно переключаешься между ящиками — myMail невероятно удобнее
Не следует забывать про огромный пласт людей далеких от техники, которые спокойно заплатят $9.99 и будут читать в своем привычном ритме.
А любители халявы всегда изощрялись.
Ну все, теперь на сайте онлайн заявки ТКС банка после любого клика на странице начнут писать ВКонтакте следующее «Здравствуйте, вы начали заполнять заявку на кредитную карту, но не завершили и т. д.»
Кто не в теме — когда тыкал ради интереса их форму, вбил пару полей и закрыл вкладку — мне начали присылать email-ы и даже звонили. Оказалось, они ajax-ом отправляли все что введено в поля.
Насчет брошенной корзины — помню как-то попал на страницу отправки заявки на кредитную карту ТКС банка, с юзабилити у них все очень хорошо и решил посмотреть поведения формы, и как то на автомате навбивал мобильный телефон, и пару других полей. Кнопку «Отправить» я, разумеется не нажимал. Однако был удивлен, как после этого мне на телефон и почту стали скидываться различные «индивидуальные» условия.
намного приятнее, чем
Плюс эти знаки собаки постоянные у строк. Простой синтаксис — это не так уж и мало в разработке. Однако ниже я написал неприятный момент со Swift из-зак которого продакшн-проекты я продолжу писать на Objective-C
Больше информации.
Для игр это еще более менее оправданно, а вот выпускать обычное приложение, которое разрастется до почти 100 мегабайт как-то не очень хорошо.
P.S. Expression was too complex to be solved in reasonable time меня, конечно, тоже сильно улыбнуло, на всякий случай посмотрел в календарь, не 58-й ли год на дворе.
Первый — крупный интернет-проект с >10млн пользователей, используется следовательно для поиска и фильтрации людей по куче полей (город, пол, возраст и т д). Нода работает на одном сервере с 32GB оперативной памяти, больше не требуется, интенсивность поиска доходит до 200 запросов в секунду, ответ в среднем менее 0.05ms. Обновление индекса выставлено каждые 30сек.
В свое время стоял выбор между Sphinx и Elastic — выбор пал в пользу последнего. Поскольку метод обновления индекса в Sphinx не очень эффективен при таком большом количестве записей. Плюс удобный REST API, хорошая документация, сообщество, результаты тестирования, в общем, мы довольны. Руская морфология добавляется плагином, работает хорошо.
Второй — небольшой интернет магазин с 7000 товарами, использую исключительно для поиска товаров. Здесь он работает также хорошо. Обновление индекса здесь, разумеется, моментальное. Единственное, потребление памяти конечно, не самое лучшее (после многих дней аптайма оно составляет 1.0-1.5GiB). Однако для нас всегда был приоритет в скорости, да и недорогого сервера с 8GB оперативки хватает за глаза.
Насчет фасетчатого поиска — у Elastic с этим все отлично, вы можете комбинировать любые сложные вариации фильтров, как простых соответствий, так и range (для цен например). В общем, присмотритесь к Elastic и не жалейте память, вряд ли его использование будет экономически невыгодным, учитывая удобство, которое он предоставляет.
Objective-C в принципе дался мне достаточно тяжело, прежде чем написать первый готовый проект я раза 2 бросал это занятие, отчасти из-за таких непонятных мелочей.
И цены у нас вручную нельзя прописать, они пересчитываются автоматически на основе прайсов поставщиков, равно как и скидки :)
Это дало нам много преимуществ:
1) отсутствие схемы позволяет добавлять поля товара на лету (например одни имеют вес, а другие количество таблеток в упаковке
2) возможность хранить массивы — используем в случае когда товар может быть сразу в 2-3 и более категориях
3) эти же массивы используем для фильтров
Скорость поразительна, разумеется важно проиндексировать важные поля
А в остальном — да, это не самое важное в почте для многих.
Что еще в свое время меня подкупило перейти от стандартного Mail в Mail.ru (да-да, я использую Mail.ru вместо идентичного myMail) — удобнее реализован доступ к другим ящикам. Когда постоянно переключаешься между ящиками — myMail невероятно удобнее
А любители халявы всегда изощрялись.
Кто не в теме — когда тыкал ради интереса их форму, вбил пару полей и закрыл вкладку — мне начали присылать email-ы и даже звонили. Оказалось, они ajax-ом отправляли все что введено в поля.