Search
Write a publication
Pull to refresh
0
0
Fury @Fury

User

Send message

Пара маленьких лайфхаков поиска по товарам в интернет-магазине

Reading time5 min
Views45K
Случайно увидел вот такую подсказку на Озоне:



Это для меня, наверное, лучший пример, как не надо делать поиск в интернет-магазине. Дело в том, что все эти советы спокойно может взять на себя железный мозг, и разгрузить тем самым мозг пользователя. Покупатель при этом даже не заметит, что что-то пошло не так, а, значит, его ничего не остановит перед покупкой. Надо отметить, что ряд ошибок этот конкретный поиск правит, но в моём случае с копипастой названия книги из оптового прайса не прокатило.

У нас самих не лучший в мире поиск, но он продаёт. Давайте покажу, что мы сделали.
Читать дальше →

IPv6 под прицелом

Reading time14 min
Views77K


Казалось бы, зачем сейчас вообще вспоминать про IPv6? Ведь несмотря на то, что последние блоки IPv4-адресов были розданы региональным регистраторам, интернет работает без каких-либо изменений. Дело в том, что IPv6 впервые появился в 1995 году, а полностью его заголовок описали в RFC в 1998 году. Почему это важно? Да по той причине, что разрабатывался он без учета угроз, с той же доверительной схемой, что и IPv4. И в процессе разработки стояли задачи сделать более быстрый протокол и с большим количеством адресов, а не более безопасный и защищенный.
Подробности

Регистрация безналоговой компании в Эстонии

Reading time5 min
Views170K
«Платить налоги – обязанность, платить мало налогов – искусство! » (с)

Хочу поделиться опытом успешной регистрации компании в Эстонии. Я приведу короткую характеристику юрисдикции, расскажу про подводные камни, которые существуют, и поделюсь полученным опытом.

Задача стояла следующая — найти юрисдикцию, в которой не нужно платить налог на прибыль, при этом клиентам из США, Канады и ЕС удобно было с ней работать. Реальный офис открывать в этой стране задачи не стояло.

Основная деятельность компании — разработка ПО (классическая аутсорс компания со штатом ~20 девелоперов).
Читать дальше →

DNS сервер BIND (теория)

Reading time21 min
Views509K
Основная цель DNS — это отображение доменных имен в IP адреса и наоборот — IP в DNS. В статье я рассмотрю работу DNS сервера BIND (Berkeley Internet Name Domain, ранее: Berkeley Internet Name Daemon), как сАмого (не побоюсь этого слова) распространенного. BIND входит в состав любого дистрибутива UNIX. Основу BIND составляет демон named, который для своей работы использует порт UDP/53 и для некоторых запросов TCP/53.

Основные понятия Domain Name System


Исторически, до появления доменной системы имен роль инструмента разрешения символьных имен в IP выполнял файл /etc/hosts, который и в настоящее время играет далеко не последнюю роль в данном деле. Но с ростом количества хостов в глобальной сети, отслеживать и обслуживать базу имен на всех хостах стало нереально затруднительно. В результате придумали DNS, представляющую собой иерархическую, распределенную систему доменных зон. Давайте рассмотрим структуру Системы Доменных Имён на иллюстрации:
Читать дальше →

Конфигурирование бинов с помощью аннотаций: решение проблемы с отсутствием наследования для интерфейсов аннотаций

Reading time15 min
Views8.4K

Описание проблемы


Пусть у нас есть некоторый класс X, параметризующийся из контейнера свойств PX и есть класс Y, расширяющий X, параметризующийся контейнером PY, расширяющим PX.

Если контейнерами свойств выступают аннотации, то мы имеем два класса:

@PX(propertyX1 = <valueX1>, ..., propertyXN = <valueXN>)
class X {
...
}

И есть класс:
@PY(propertyY1 = <valueY1>, ..., propertyYN = <valueYN>)
class Y extends X {
...
}

Java (в том числе и Java 8) не предоставляют возможность наследования аннотаций, поэтому написать что-то вроде примера ниже нельзя:

public @interface PX extends PY {
}

Разумеется, это не проблема, вот решение:

@PX
class X {

  protected final ... propertyX1;
  ...
  protected final ... propertyY1;

  X() {
    final PX px = getClass().getAnnotation(PX.class);
    propertyX1 = px.propertyX1();
    ...
    propertyXN = px.propertyXN();
  }
}

@PY
class Y extends X {

   Y() {
      final PY py = getClass().getAnnotation(PY.class);
      propertyY1 = py.propertyY1();
      ...
      propertyYN = py.propertyYN();
   }
}


В чем здесь недостаток? Недостаток в том, что мы обрекаем себя на то, что если у класса не будет аннотаций, то он будет сконфигурирован дефолтными значениями (аннотации PX и PY должны быть @Inherited для этого).

Как быть, если нам, к примеру, надо инжектировать проперти из файла .properties или взять их из какого-либо другого источника, например из спрингового Environment?

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

Как работать с валютными счетами?

Reading time4 min
Views118K
Скачущий курс рубля никого не оставил равнодушным. Бум валютных операций подвигнул нас пристально рассмотреть все особенности валютного законодательства.

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

[LibGDX] Создаем клон Flappy Bird — Zombie Bird

Reading time127 min
Views199K
Доброго времени суток %username%. Не давно наткнулся на хороший туториал по созданию клона игры Flappy Bird используя LibGDX и этот туториал мне понравился своей простотой и детализацией.

Я отдаю себе отчет, что тема создания клонов данной игрушки изъела себя, но возможно кому-то пригодится еще один хороший туториал.

Туториал разбит на 12 дней, содержит множество картинок, полотен кода и исходный код разбит по дням. Кому интересно, добро пожаловать под кат.
Подробнее

Running Lean. Пересказ одной из лучших книг о стартапах

Reading time14 min
Views113K
Cover
Ниже — вольный пересказ книги Running Lean, автор — Ash Maurya. Рейтинг Амазона — 4.8 из 5. Книга, насколько я знаю, на русский язык еще не переведена.

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

Допускаю, что нарушаю чьи-то права: пересказ лицензии не требует, но иллюстрации взяты из книги. Автору я писал в попытке прояснить этот вопрос, но ответа не получил.

Блог автора кгиги: practicetrumpstheory.com.

Структура пересказа

  • Введение в процесс Running Lean
    • Три важнейших методологии
    • Roadmap
  • Описание процесса Running Lean
    • Составьте «План А»
      • Определите кто клиенты
      • Создайте бизнес-модели
      • Ранжируйте бизнес-модели
    • Протестируйте и измените план
      • Подготовьтесь к проведению экспериментов
      • Категории рисков и четыре фазы тестирования плана
        • Фаза 1. Поймите проблему
        • Фаза 2. Найдите решение
        • Фаза 3. Валидируйте качественно
        • Фаза 4. Верифицируйте количественно
  • Три стадии стартапа
    • Соотношение трех стадий стартапа и четырех фаз тестирования плана
    • Держите правильный фокус
    • Привлекайте финансирование вовремя
    • Масштабируйте правильно
Читать дальше →

Уязвимость в одном из сервисов Альфа-Банка позволяла просматривать выписки по любому клиенту

Reading time2 min
Views71K
Месяц назад, просматривая мобильное приложение для интернет-банкинга от Альфа-Банка, решил проверить, насколько оно безопасно.



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


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

Cпособы передачи финансовых данных: протокол FIX

Reading time5 min
Views55K
image

Фондовый рынок является высокотехнологичной отраслью — помимо физической ИТ-инфраструктуры и технологичных торговых роботов игроки этого рынка занимаются развитием технических стандартов протоколов передачи данных. Сегодняшним материалом мы открываем серию топиков о протоколах передачи финансовой информаци. В первом выпуске представлена информация об одном из старейших протоколов — Financial Information eXchange или сокращенно FIX.
Читать дальше →

Проектирование новостной ленты в социальных сетях

Reading time9 min
Views40K


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

Мой рассказ будет о том, как я, превозмогая трудности, решал задачу формирования новостной ленты. А также я расскажу о подходах, которые наработали ребята из проекта Socialite, и которыми они поделились на MongoDB World.
Читать дальше →

Как использовать покадровую фотосъемку камерой GoPro для сервиса «Mapillary»

Reading time7 min
Views32K
За прошедшие полгода выросла популярность web-сервиса «Mapillary»: загружено свыше полумиллиона фотографий, причём более 100 тысяч штук — только за последние 10 дней!

На первый взгляд кажется, что для этого дела пригоден только обычный смартфон. А что, если бы для сбора фотоснимков для «Mapillary» можно было использовать экшн-камеру, например, GoPro? Установленную на велосипед, шлем или даже автомобиль? Как оказалось, это возможно.
Берегись! Статья изобилует фотографиями, картами и скриншотами

Quotient filter

Reading time5 min
Views16K
Quotient filter — это вероятностная структура данных, позволяющая проверить принадлежность элемента множеству. Она описана в 2011 г. как замена фильтру Блума. Ответ может быть:
— элемент точно не принадлежит множеству;
— элемент возможно принадлежит множеству.

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

Новый видео-сервис для изучения английского языка по отрывкам из сериалов

Reading time1 min
Views41K
Сервис PlayPhrase.me предназначен для изучения иностранных языков с помощью сериалов. Вы ищите слово и по вашему запросу создается видео-последовательность из отрывков сериалов и фильмов, которая содержит ваше слово или словосочетание (использовать двойные кавычки).
Читать дальше →

Закрываем ИП: как правильно свернуть бизнес

Reading time5 min
Views68K

Держать бездействующий статус ИП нет никакого смысла, это только добавляет вам лишних забот в виде обязательной отчетности и перечисления страховых взносов. Предприниматель без деятельности и дохода все равно обязан заплатить в ПФР 20 727,53 рублей за 2014 год. Если случилось так, что ваш бизнес не оправдал надежд или вы просто решили приостановить деятельность – закрывайте ИП. Когда понадобится, вы сможете очень быстро зарегистрироваться снова в любой момент.

Красивые и умные эксперты Эльбы подготовили для вас инструкцию, которая подскажет вам что и в какой срок нужно сделать, чтобы закрыть свое дело.
Читать прямо сейчас

Перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures»

Reading time3 min
Views67K
imageПривет, Хабр!

Мы (@ali_aliev и avenat) с удовольствием представляем вашему вниманию перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures» от Брэда Миллера (Brad Miller) и Дэвида Ранума (David Ranum) из Luther College, что в Айове, США.

О чём?

В учебнике подробно рассматриваются, объясняются и анализируются наиболее часто используемые структуры данных и алгоритмы. Изложение идёт от простого (что такое алгоритм, как оценить его производительность) к сложному (деревья, графы) с живыми примерами и кодом. В качестве языка программирования выбран Python, а для тех, кто с ним плохо знаком, в первой главе есть большой раздел с его концентрированным описанием.

Авторы рассказывают о таких структурах данных, как стеки, очереди (в том числе с приоритетом), деки, хэш-таблицы, списки, деревья и графы. Последним двум вообще посвящены весьма не маленькие главы. Изложение не просто описательное: для каждой структуры предлагается вариант (а иногда и не один) её реализации на Python. Упор, естественно, делается на объектно-ориентированное программирование: создаётся класс, к нему пишутся методы, некоторые из которых авторы оставляют читателям для самостоятельной доработки. Затем идут примеры использования рассмотренной структуры и описание алгоритмов с её участием.

Одна из глав учебника посвящена рекурсии, в том числе её графическому представлению (фракталы). Разбирается несколько известных рекурсивных задач, а в конце наглядно демонстрируется, что эта методика, несмотря на её элегантность, отнюдь не «серебряная пуля».

Не обделены вниманием и классические алгоритмы для сортировки и поиска. И, естественно, для каждого из них анализируются производительность и «подводные камни», а так же даются рекомендации по применению. В последних главах, посвящённых деревьям и графам, даётся много материала об их разновидностях и связанных с ними алгоритмах. Изложение тут становится более сжатым, многие моменты просто описываются с тем, чтобы после прочтения главы читатель реализовал их самостоятельно.
Читать дальше →

Как работают рекомендательные системы. Лекция в Яндексе

Reading time11 min
Views144K

Привет, меня зовут Михаил Ройзнер. Недавно я выступил перед студентами Малого Шада Яндекса с лекцией о том, что такое рекомендательные системы и какие методы там бывают. На основе лекции я подготовил этот пост.





План лекции:


  1. Виды и области применения рекомендательных систем.
  2. Простейшие алгоритмы.
  3. Введение в линейную алгебру.
  4. Алгоритм SVD.
  5. Измерение качества рекомендаций.
  6. Направление развития.

Под катом вы найдете конспект лекции и презентацию

Вдогонку про самолёты и правила

Reading time5 min
Views129K
Собирался написать комментарий, но незаметно вырос целый пост.

Не согласен с половиной пунктов и этого топика, но это мои личные заморочки.
Кроме того, отсутствует самый главный — «Избегайте сдачи чего-либо в багаж любой ценой». Я давным -давно использую во всех поездках исключительно рюкзак и «разгрузки». Причина одна — среди моих знакомых уже, наверное, половина стали жертвами недоставки багажа. Некоторые — даже по два раза.
Таки чего он хочет нам сказать?

Украшательство Android-телефона: рецепты красивых рабочих столов

Reading time1 min
Views156K
Одним из плюсов телефонов на базе Android является возможность полной кастомизации интерфейса под себя. Благо всевозможных виджетов под систему существует огромное количество. Причем, их настолько много, что пользователи гуглофонов иногда напоминают скульпторов или художников – попробуй совмести все нужное так, чтобы получилось красиво, да еще и учти все нюансы настроек. Одним словом, настройка требует времени, вкуса и недюжинного воображения.

Специально для тех, кто делает первые шаги в настройке своего телефона/планшета, существует отличный сайт Mycolorscreen.com (странно, что о нем не упоминали на хабре), позволяющий посмотреть на примеры кастомизации других пользователей. Причем сайт изобилует не просто примерами, но и детальными рецептами того, как приготовить такой стол самому.



Под катом еще несколько примеров.
Читать дальше →

Как обмануть Корпорацию Добра или покупаем Nexus 7 в России без гуглолотереи

Reading time4 min
Views260K
В недавней статье на Хабре уже шла речь о том, как закупаться на Google Play в разделе Devices прямо из нашего захолустья. Тема бесспорно интересная: Nexus 7 пока в России и близлежащих странах вообще не водится, а Galaxy Nexus, скорее всего, просто обойдется вам значительно дороже, если, конечно, вы не живете в Москве или Питере. Проблема только в том, что рецепт оказался несколько нестабильный: лично меня Самая Добрая Корпорация небезосновательно заподозрила в подтасовке личных данных, а судя по комментариям – я такой оказался далеко не один.

Неделя мучений и попыток обмануть Google Wallet привела-таки к положительному результату в виде возможности покупать что угодно и где угодно на Google Play, более того, решение, строго говоря, лежало на поверхности и никаких сложных действий не требовало.

Под катом новый рецепт и совсем чуть-чуть скриншотов.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity