Межтабличный UPDATE

Редко когда, но всё же приходится делать в базе данных одиночные запросы по перемещению существующих данных из одной таблицы в другую. И если с добавлением рядов используя INSERT проблем возникает мало, то с обновлением существующих таблиц у меня возникла трудность. А именно — была старая таблица Invision Powerboard форума, и имелась новая […]

Удаление дубликатов в Mysql

Очень часто всплывает тема поиска дубликатов в таблицах, особенно когда надо установить UNIQUE constraint. Всегда можно обойтись таким запросом.. SELECT login, COUNT(login) AS cnt FROM sys_users GROUP BY login HAVING ( COUNT(login) > 1 ) И теперь..

Введение в Foreign keys

Foreign keys это движущая сила реляционных БД. Выборка по нескольким таблицам по прежнему формируется при помощи JOIN-конструкций, но FK создаёт логические связи между таблицами, понятные человеку. Очень полезно в больших проектах, где уследить за всеми связями нелегко, а такие программки как MySQL Workbench хорошо могут эти связи показать. Создание связей начинается […]

Что такое Sphinx

Sphinx — полнотекстовый поисковик по Mysql и Postgre, отличающийся скоростью от своих конкурентов, представленный на РИТ-2007 Петром Зайцевым. Использовать его имеет смысл только на больших проектах, где объем данных вынуждает уже использовать выделенный сервер. Обычный поиск как известно очень простой и очень медленный (условно 1.2 МБ/сек) .. SELECT * FROM my_table WHERE my_col […]

DB дизайн

Дизайн базы данных дело приятное и также важное при создании новой системы. Под дизайном я подразумеваю: Разбиение  проекта на независимые логические существа данных, т.е. таблицы. Обычно ни клиент ни управляющий проектом не описывают их. Создание структуры таблицы с корректными типами данных. Создание связей между таблицами через Foreign Key , если возможно Создание […]

Что такое Swagger

Swagger UI это небольшая коллекция скриптов для создания интерактивной документации для API веб-приложений с REST протоколом. Очень полезно, если вы пишете приложение которое должно взаимодействовать с внешней системой, а договориться друг с другом в текстовом формате мало. Интерактивность проявляется в том что из документации можно делать HTTP-запросы, а сама документация зависит […]

Авторизация в Google с OAuth 1.0

Google как и Твиттер, предоставляет разработчикам возможность использовать OAuth 1.0 для авторизации пользователя стороннему приложению предоставлению конкретных данных по API, причём поскольку Google не централизованный Facebook и у него много полноценных сервисов типа Youtube и Picasa, то для каждого из них выборка данных своя. В общем эта авторизация (ключевые слова — OpenID, AuthSub, Federated […]

Backend-авторизация в facebook через OAuth 2.0

Facebook Graph API — новая версия программного интерфейса фейсбука где данные пользователя передаются в JSON формате, а список связанных объектов и привилегий значительно понятней (друзья, фото, видео, события, группы, посещения, события и тп. ). Например так выглядит информация обо мне (я чуток урезал). { «id»: «712392972», «name»: «Pov», «first_name»: «Po», «last_name»: «V», «link»: «http://www.facebook.com/pov», […]

Авторизация в Twitter с OAuth 1.0

Твиттер (а также Yahoo, Google, Facebook и LinkedIn ) штоб-его-заногу перешёл на безопасный OAuth и я вспомнил как в своё время с матюгами несколько дней ставил серверную часть OpenID на сайт. А они ведь похожи (авторам нравится буковка О, ага). Вобщем — как это работает? Если раньше был пользователь и твиттер, а мы со […]

Интеграция оплаты paypal

Деловые люди сталкивающиеся с интернетом хотят заработать денег, поэтому paypal позволяющий делать оплату кредитными картами по всему миру — ценнейшая услуга для интеграции на свой сайт. Примерные цены за услугу: 2-4% от суммы +  0,3$ за транзакцию зависит от типа оплаты. У Paypal есть несколько возможностей оплаты товара, но к счастью они едины […]