Pull to refresh
1
0
Антон @keenz

User

Send message

Как собрать WhatsApp за сутки. Часть 1

Reading time12 min
Views112K


Здравствуйте, дорогие читатели Хабрахабра!

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

  1. Создание проекта, простой UI, привязка к сервису мгновенных сообщений
  2. Делаем красивый UI, добавляем видео и аудио звонки, передачу фото и документов

К сожалению, пособие о том, как набрать 400 000 000 пользователей и продать сервис за 19 Инстаграмов, затерялось где-то на книжной полке. Постараюсь его найти, если кому интересно.

Заинтересовавшихся прошу под кат.
Читать дальше →
Total votes 178: ↑146 and ↓32+114
Comments55

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

Reading time4 min
Views167K
«Право налогоплательщика избегать уплаты налогов с использованием всех разрешенных законом способов никем не может быть оспорено. Каждый имеет право вести свои финансовые дела таким образом, чтобы свести соответствующие платежи к минимуму…»
Дж. Сандерленд,
Судья Верховного Суда США


После моей статьи про поиск инвестиций, я получил много просьб рассказать подробнее про открытие компании за рубежом, и осветить финансовые вопросы. В данном топике я попытался изложить основные моменты, не претендуя на истину в последней инстанции.
Читать дальше →
Total votes 152: ↑147 and ↓5+142
Comments201

Создание ознакомительного поискового движка на Sphinx + php

Reading time5 min
Views104K

Предыстория


Раньше для поиска по сайту мы использовали обычный fulltext поиск. Но в определенный момент он перестал нас устраивать и мы решили опробовать альтернативную технологию поиска: Sphinx. К сожалению, у сфинкса совсем нет русской документации, поэтому эта статья — аналог статьи Build a custom search engine with PHP, только на русском языке и для моего локального окружения (windows 7, mysql/php)
Статья состоит из 4 частей:
  1. Краткий рассказ про подготовку базы для поиска.
  2. Рассказ про первоначальную установку и настройку сфинкса
  3. Индексирование базы и тестовый поиск из командной строки
  4. Тестовый поиск из php

Читать дальше →
Total votes 82: ↑73 and ↓9+64
Comments59

Перевод учебника по алгоритмам

Reading time1 min
Views166K


Рад сообщить, что вышел перевод отличнейшего учебника Дасгупты, Пападимитриу, Вазирани «Алгоритмы», над которым я работал последние несколько лет. В книге многие алгоритмы объяснены гораздо короче и проще, чем в других учебниках: с одной стороны, без излишнего формализа, с другой — без потери математической строгости. Откройте книгу на каком-нибудь известном вам алгоритме и убедитесь в этом. =)

В общем, угощайтесь: печатный вариант перевода, электронный вариант перевода (PDF), печатный вариант оригинала, электронный вариант оригинала (PDF).
Читать дальше →
Total votes 323: ↑321 and ↓2+319
Comments109

Применение алгоритмов нечеткого поиска в PHP

Reading time7 min
Views31K
Вдохновленный топиками о нечетком поиске и фонетических алгоритмах, захотел попытаться реализовать нечто подобное похожее на гугловское «Возможно, вы имели в виду: ...» средствами PHP.

Для исправления опечаток в словах понадобится:
Расстояние Левенштейна (или расстояние Дамерау-Левенштейна — разница будет незначительной) — levenshtein()
Metaphonemetaphone()
Алгоритм Оливера — similar_text()
База русских слов (с падежами, учетом времен и т.д.).
Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments22

iOS Development Gems в AppCode

Reading time1 min
Views5.1K
Продолжаем выкладывать видео докладов с Apple Developers Community #11, которую организовали e-Legion и JetBrains.


Презентация

В докладе рассказывается про AppCode — среду разработки мобильных и десктопных приложений под iOS и MacOS. Также, на примере создания небольшого приложения под iOS показывается, как AppCode может упростить и ускорить разработку мобильных приложений.
Total votes 28: ↑26 and ↓2+24
Comments0

Сравнение сервисов для автодополнения адресов в форме

Reading time3 min
Views93K
Автодополнение адреса


На Хабре не раз поднимался вопрос автодополнения адресов в форме (раз, два, три).

Но вот и перед мной появилась задача реализовать такое автодополнение для небольшого интернет магазина. Критерии были такие:
  • Автодополнение адресов только Москвы
  • Автодополнение адреса одной строкой
  • Решение должно быть бесплатно (лимит запросов не менее 1000 в сутки)
  • Возможность подключить без дополнительных JS библиотек. (Я использую AngularJS Bootstrap-UI, в котором есть директива Typeahead, реализующая автодополнение формы)
  • Стопроцентный uptime не обязателен


Но какой источник данных выбрать? Я выбрал целых четыре, и решил их сравнить: в одном углу ринга заморские Google Geocode и Google Autococomplete, а в другом отечественные КЛАДР в облаке и DaData подсказки.

DISCLAIMER: Автор никак не причастен к разработчикам ни одного из представленных сервисов.
Интересно? Тогда прошу под кат
Total votes 56: ↑53 and ↓3+50
Comments56

События C# по-человечески

Reading time6 min
Views491K

Невозможно, просто взять и вникнуть в этот глубокий смысл, изучая События (event) в просторах базового и, на первый взгляд, бесконечного C#.

Когда я изучал События (не в рамках .NET!), потратил много сил, чтобы, наконец-то, разобраться, как они устроены и должны конструироваться. Поэтому, я решил опубликовать свою методику понимания структуры пользовательского события, коим представляется ключевое слово event в С#.
Не буду цитировать и без того замученную MSDN, а постараюсь объяснить понятно и доступно.
Читать дальше →
Total votes 63: ↑44 and ↓19+25
Comments60

Делаем адресные формы более привлекательными

Reading time6 min
Views50K


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

К сожалению, однократной очистки часто бывает недостаточно: нужно не допустить попадания плохих и неполных данных в базу в будущем. Именно для решения этой задачи был разработан сервис подсказок, о котором мы писали ранее. Изначально подсказки предназначались для операторов, которым приходится вводить большое количество адресов, и были призваны ускорить их работу и сократить количество ошибок.

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

Итак, приступим!
Total votes 73: ↑61 and ↓12+49
Comments108

Как я написал и выпустил книгу по разработке игр под iOS

Reading time5 min
Views43K


В прошлом году вышла iOS7. В ней был ряд нововведений, включая новую библиотеку для разработки игр — Sprite Kit. Геймдев — мое небольшое хобби, которым я занимаюсь после работы по возможности, и конечно он меня заинтересовал.

Написал пару маленьких проектов по нему для изучения фреймворка, по привычке выложил в гитхаб, начал делать свою полноценную игру на нем.
И вот некоторое время спустя этих событий ко мне на почту пришло письмо от одного англоязычного издательства. В письме менеджер по поиску авторов писал о том, что видел мои маленькие проекты на гитхабе, и так как они ищут автора для книги по Sprite Kit, предложил мне написать книгу.
Читать дальше →
Total votes 136: ↑125 and ↓11+114
Comments54

10+ полезных jQuery сниппетов на каждый день

Reading time5 min
Views86K


Спустя годы библиотека jQuery стала неотъемлемой частью в работе каждого web-разработчика. Ведь она простая в использовании, быстрая и имеет очень широкие возможности. В этой статье я собрал список из более чем десяти сниппетов, которые вы можете свободно брать для использования. Их очень легко адаптировать под нужды ваших собственных проектов.
Читать дальше →
Total votes 194: ↑109 and ↓85+24
Comments55

DevDocs: вся документация разработчика в одном месте, с быстрым и удобным интерфейсом

Reading time1 min
Views56K


Сайт devdocs.io — проект французского программиста Тибо Курубля. Здесь собрана и упорядочена документация по наиболее популярным веб-технологиям, фреймворкам и API, и многим другим средствам разработки. DOM, HTML, JavaScript, jQuery, Node.js, PHP, Ruby, Python, Git, Angular, Backbone, CoffeScript, Less, Sass, Redis и много чего ещё… Всё оформлено в едином стиле, по всей базе документации работает поиск, в том числе нечёткий. Есть возможность выбрать только необходимые технологии, по которым надо искать. Вообще, интерфейс DevDocs радует — ничего лишнего, всё очень понятно и функционально, доступно множество клавиатурных сокращений.
Читать дальше →
Total votes 166: ↑156 and ↓10+146
Comments31

Как сверстать веб-страницу. Часть 2 — Bootstrap

Reading time19 min
Views696K

Введение


Уважаемый читатель, эта статья является второй частью цикла статей, посвященных вёрстке.

В первой части мы верстали шаблон Corporate Blue от студии Pcklaboratory с помощью стандартных средств на чистом HTML и CSS. В данной статье мы попробуем сверстать этот же шаблон, но с помощью CSS фреймворка Bootstrap 3.
Читать дальше →
Total votes 104: ↑86 and ↓18+68
Comments59

Обзор бесплатных сервисов для веб-разработки

Reading time4 min
Views143K
Пост является личной подборкой полезных и нужных онлайн сервисов, которые позволяют бесплатно (или условно бесплатно) создавать действительно крутые вещи и разворачивать их в Сети. Не претендую на новизну или на полноту, но буду счастлив, если кому пригодится.

Всем нам иногда хочется попробовать новую идею, запилить какой-нибудь сайтик про манулов, но чтоб обязательно на node.js, хайлоад реди, с мемкешем, монго, фейловером и с претензией на мировое господство. У меня для Вас хорошие новости: благодаря щедрости проклятых западных капиталистов всё это можно получить совершенно бесплатно.
Читать дальше →
Total votes 157: ↑136 and ↓21+115
Comments113

Лучшее из мира PHP за 2013 + конкурс от компании JetBrains! Дайджест интересных материалов №32

Reading time8 min
Views31K


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

Под катом вас также ждет конкурс с призами от компании JetBrains!
Читать дальше →
Total votes 69: ↑56 and ↓13+43
Comments94

Задачи на собеседованиях в Яндексе

Reading time15 min
Views359K
Открытые вакансии на должность разработчика в Яндексе есть всегда. Компания развивается, и хороших программистов не хватает постоянно. И претендентов на эти должности тоже хоть отбавляй. Главная сложность – отобрать действительно подходящих кандидатов. И в этом плане Яндекс мало чем отличается от большинства крупных IT-компаний. Так что базовые принципы, описываемые в этой статье, могут быть применимы не только к Яндексу.

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

image
Читать дальше →
Total votes 221: ↑178 and ↓43+135
Comments329

В России появился бесплатный Jelastic

Reading time2 min
Views19K
С момента первого появления нашей Java & PHP платформы, одно из самых больших пожеланий, которые мы слышали было: «дайте бесплатную версию». Мы сами, конечно, такую дать не можем – хостинг предоставляют наши партнеры. Но вот один из наших российских партнеров – Инфобокс – начал опробовать такую модель. Давайте мы вам расскажем, как они это делают.

Freemium – это модель, позволяющая использовать какой-то продукт до определенных объемов совершенно бесплатно. Уже потом – когда проект вырастет и станет большим и серьезным – клиенту и заплатить будет не жалко.

Загвоздка всегда в том, как правильно очертить границы, чтобы и пользователи были довольны, и хорошие проекты в итоге действительно приносили производителю деньги.

В реализации Инфобокса, ограничение достаточно простое – по потребляемым ресурсам.
До 3 клаудлет (то есть до 128 МБ * 3 = 384 МБ оперативной памяти) тарификация не идет. Но требуется, чтобы деньги на балансе были.

Т.е. вы регистрируетесь здесь: http://infoboxcloud.ru/jelastic/ — это дает вам пятидневный совершенно бесплатный тестовый период.

free resources
Читать дальше →
Total votes 16: ↑10 and ↓6+4
Comments16

Пишем single-page web application framework в 60 строках кода

Reading time5 min
Views76K

В качестве предисловия



Веб-дизайнерский народ в последнее время распробовал single page web applications. Что оправдано во многих случаях.
Но явно ошибочно считать что single page web application не сделать без чего-то типа AngularJS, Ember и прочих Knockouts.
Во всяком случае если вам нужно сделать нечто простое типа To-do списка совершенно не обязательно тащить на клиент килобайты мега-фреймворка. На самом деле килобайты трафика это пол беды. Основная цена, скажем AngularJS, в том что он, как любой универсальный data binding механизм, создает значительную run-time нагрузку.

Эта статья про то как в 60 строках кода + jQuery/Zepto сделать простой app framework котрый можно расширять под свои нужды и без лишних сущностей в нагрузку.

Постановка задачи



Наш framework должен ...:

  1. … поддерживать routing, т.е. должна быть возможность сказать в деклартивной модели: «этот вот url hash должен быть показан в этом view».
  2. Должна быть возможность динамической загрузки разных view. Какие-то части нашего приложения могут быть либо тяжелы для начальной загрузки, либо не нужны, например, для незалогиненного пользователя.
  3. Должна быть возможность динамической загрузки скриптов. По причинам изложенным в п. 2
  4. Наше приложение будет поддерживать browsing history — кнопка «назад» в браузере должна показывать предыдущую страницу и т.д.
  5. Ну и все это должно быть компактным и расширяемым как того будет требовать логика нашего приложения.


Пример того что мы хотим получить



Приложение Bootstrap'нутый список контактов — содержит сам список, карточку — детали контакта и некую панель управления (dashboard). Что будет на той панели нам не важно — знаем что что-то будет и ладно.

Personas demo

Поехали
Total votes 75: ↑57 and ↓18+39
Comments55

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Reading time14 min
Views346K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →
Total votes 126: ↑116 and ↓10+106
Comments180

Information

Rating
Does not participate
Location
Псков, Псковская обл., Россия
Date of birth
Registered
Activity