Search
Write a publication
Pull to refresh
0
0
Алексей @Syrok

User

Send message

Первый взгляд на Xataface — систему построения дата-центрированных приложений на PHP и MySQL

Reading time3 min
Views3.3K
Приветствую многоуважаемых хабражителей.

Поиск по Хабру по ключевым словам «dataface» и «xataface» привёл к пустой странице результатов, поэтому считаю своим долгом поделиться с честной публикой своим давним открытием, до сей поры остававшимся в тени.

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

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

Как заставить работать расширения yii-user и rights совместно?

Reading time4 min
Views19K

Предисловие


Доброе время суток хабравчане.

Для начала представлюсь. Меня зовут Роман, и я занимаюсь разработкой сайтов (в основном на php-фреймворке «yii», но проскакивают и другие php\python фреймворки\цмс\велосипеды\быдлокоды). В своих проектах на yii всеы нам часто приходится реализовывать тривиальные функции регистрации, авторизации и тд. Плюс ко всему прибавьте к этому ещё и распределние прав доступа для различных пользователей. Готов поспорить, что у каждого толкового разработчика есть хотя бы одна заготовка реализации этого функционали, либо он использует сторонее расширение. Вот и я каждый раз использовал одну и туже реализацию, от пректа к проекту допиливал её, интегрировал с другими частями системы. Но недавно я всё же решил порыть в сторону готовых решений, которые удовлетворяли бы мои потребности и таковые нашлись довольно быстро. 2 самых популярных расширения для yii из оффициального репозитория«yii-user» и «rights».
Читать дальше →

iOs-разработчик берется за Android

Reading time8 min
Views20K
Недавно мы выпустили Android-версию для нашей платформы для создания приложений, использующих определение местоположения — Meridian.



Не став использовать один из кросс-платформенных инструментов, подобных Titanium, мы написали ее с нуля на Java.

Мы решили, что важно сохранить родной материал родным и максимально уважать особенности каждой платформы. Некоторым таким особенностям легко следовать, например, добавлению верхних закладок в окно интерфейса. Другие свойственны только для Android, например: обработка Intents, завершение работы старых Activities, реализация Search Providers, а также строгость к ссылкам с целью помощи сборщику мусора.

Теперь наша платформа использует HTML5 для брендинга и отображения контента, отсюда мы получили большую часть интерфейса совершенно бесплатно. Но множество кода, написанного на Objective-C, потребовалось перевести в Java, например: навигацию по карте, направление, и изменение местоположения.

Итак, мы засучили рукава, установили Android SDK и принялись за работу.
Читать дальше →

Yii 1.1 Application Development Cookbook, финальная версия и процесс

Reading time3 min
Views4.6K
Вот и вышел мой англоязычный сборник рецептов по фреймворку Yii.

image

Сначала я немного расскажу про книгу, а потом попробую описать процесс её создания.
Читать дальше →

Декодирование JPEG для чайников

Reading time9 min
Views282K

[FF D8]


Вам когда-нибудь хотелось узнать как устроен jpg-файл? Сейчас разберемся! Прогревайте ваш любимый компилятор и hex-редактор, будем декодировать это:


Jpeg file in hex editor


Специально взял рисунок поменьше. Это знакомый, но сильно пережатый favicon Гугла: Google favicon


Последующее описание упрощено, и приведенная информация не полная, но зато потом будет легко понять спецификацию.


Даже не зная, как происходит кодирование, мы уже можем кое-что извлечь из файла.


[FF D8] — маркер начала. Он всегда находится в начале всех jpg-файлов.


Следом идут байты [FF FE]. Это маркер, означающий начало секции с комментарием. Следующие 2 байта [00 04] — длина секции (включая эти 2 байта). Значит в следующих двух [3A 29] — сам комментарий. Это коды символов ":" и ")", т.е. обычного смайлика. Вы можете увидеть его в первой строке правой части hex-редактора.

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

Российские аккаунты Paypal смогут принимать деньги

Reading time1 min
Views6.9K
Свершилось чудо — С 24 сентября у владельцев российских и украинских аккаунтов Paypal появится возможность принимать деньги на свои счета.
Здесь можно посмотреть обновлённую политику.

Обработка входящей почты на PHP

Reading time2 min
Views38K
Хочу поделиться рецептом, как совместить php-скрипт и почтовый сервер Postfix для автоматической обработки входящей почты.

С помощью такой связки мы собираем статистику по количеству возвратов bounce-писем:Undelivered Mail Returned to Sender.

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

Как это сделать...

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

Reading time3 min
Views40K
Жизнь веб-разработчика омрачена сложностями. Особенно неприятно, когда источник этих сложностей неизвестен. То ли это проблема с отправкой запроса, то ли с ответом, то ли со сторонней библиотекой, то ли внешний API глючит? Существует куча различных прилад, способных упростить нам жизнь. Вот некоторые инструменты командной строки, которые лично я считаю бесценными.
Читать дальше →

Автоматизация магазина или как конкурировать с супермаркетами

Reading time4 min
Views93K
image
В один прекрасный день появилась идея автоматизации своего небольшого магазина. Причин было несколько: во-первых, продавцы всю смену стоят на ногах, что не комфортно; во-вторых, когда человек ходит сам, он не может обвинить продавца в качестве принесенного товара, тут он сам смотрит, выбирает и кладет в корзину, соответственно может положить не только то, за чем пришел; в-третьих, нужно было избавиться от больших очередей.
В этом посте постараюсь поделиться опытом организации.
Читать дальше →

ARM — это сложно…?

Reading time3 min
Views105K
После моей недавней статьи на хабре про рвущие все по цене армы было высказано много мнений, что ARM-у нужна 4-6-слойная плата, ну уж 2 то как минимум, и куча обвязки.

Я решил попробовать доказать, что это далеко от истины, и сделал платку, проще которой трудно: 1 сторонняя, 1 обязательный конденсатор (до стабилизатора не обязательно), 1 резистор, один стабилизатор 3.3V, и наконец младший STM32: STM32F100C4T6B — 16кб флеш, 4кб SRAM, 48 ног, Cortex-M3(!!!) с DMA, дебагом на лету, 32*32+32->32 за 1 такт и всеми прочими радостями за 28 рублей.
Читать дальше →

Создание CRUD приложения на Symfony 2

Reading time10 min
Views43K

Symfony 2.0


Недавно вышедшая версия фреймворка Symfony 2 включает в себя много интересных фич. В данной статье хочу рассказать про создание CRUD приложений — очень часто встречающейся задачи создания веб-интерфейса для создания, чтения, обновления и удаления записей в БД.
Далее

Простой электронный самописец

Reading time6 min
Views40K

Сначала была идея

На работе (работаю в медицине) пыхтят и мучаются два электромеханических самописца ну и я вместе с ними: тушь, механика – знаете ли неприятно. Как то раз в мою голову забрела идея: а почему бы не заменить два задыхающихся от старости самописца простой системой сбора данных состоящей из контроллера АЦП и ПК (пусть даже слабенького и старенького) с соответствующим программным обеспечением с возможностью вывода на принтер? И тут понеслось в голове и закружилось…

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

Пишем PHP extension

Reading time8 min
Views34K
А давайте сегодня взглянем на PHP немного с другой точки зрения, и напишем к нему расширение. Так как на эту тему уже были публикации на Хабре (здесь и здесь), то не будем углубляться в причины того, для чего это может оказаться полезным и для чего может быть использовано на практике. Эта статья расскажет, как собирать простые расширения под Windows с использованием Visual C++ и под Debian с использованием GCC. Также я постараюсь немного осветить работу с PHP-массивами внутри расширений и провести сравнение производительности алгоритма, написанного на native PHP и использующего код, написанный на C.

Писать будем расширение под PHP версии 5.3.

USB для AVR. Введение

Reading time4 min
Views89K

Речь пойдет об популярном интерфейсе USB, а именно как заюзать этот самый USB на простых микроконтроллерах AVR. Планирую написать несколько топиков с примерами кода и разъяснениями как со стороны микроконтроллера, так и со стороны компьютера. Конечно на просторах интернета полно всяческих примеров на данную тематику, но в лучшем случае это исходник в котором сам черт ногу сломит, да краткое, на страничку, его описание.

Начну с того, что ранее широко распространенные интерфейсы как COM, LPT, MIDI в настоящее время морально устарели, но ещё нередко присутствует на современных компьютерах и используется в промышленном и узкоспециализированном оборудовании. Так что для связи какой нибудь собственной железки с компьютером давно уже пора осваивать что-то другое. Как вариант ещё можно использовать всякие конверторы/переходники/эмуляторы, но они не всегда работают как оригинальный интерфейс, порождая массу проблем.

Всё хватит пустой болтовни, приступим к делу. Как использовать USB в собственных устройствах?
Читать дальше →

Модуль Bluetooth HC-04 на чипе BC417143B компании CSR

Reading time12 min
Views165K
Компания CSR (Cambridge Silicon Radio) выпускает специальные чипы для устройств BlueTooth. Чипы судя по всему довольно недорогие, потому что господа китайцы предлагают миниатюрные (размером несколько больше симкарты) платки Bluetooth HC-04 на основе чипа BC417143B (семейство BlueCore4, см. [1]), которые в России можно купить всего лишь за 6.6 доллара (через dealextreme.com, см. [2] и [3]).

image

По умолчанию в память FLASH платки HC-04 записано ПО, которое позволяет связать по радио Bluetooth любой наладонник (или телефон, ноутбук и т. п.) со встраиваемой системой на основе микроконтроллера (робот, плата Arduino, любое устройство на микроконтроллере, имеющее TTL-порт UART RS-232). С помощью пакета CSR CASIRA BLUELAB SDK (в котором есть рабочие примеры программ Bluetooth) можно самому перепрограммировать модуль HC-04 и создавать свои собственные устройства Bluetooth. Программатор и полноценный аппаратный отладчик для модуля можно легко сделать самому, подключается к компьютеру он через порт LPT (см. [4]). В предлагаемой статье краткое описание инструментария разработки для чипов семейства BlueCore компании CSR, которое можно использовать для быстрого начала написания своих программ для модуля HC-04.
Читать дальше →

Оптимизируем запросы к Facebook Graph API с помощью Real-Time Updates

Reading time9 min
Views17K
Приложения для Facebook могут иметь разнообразный функционал: например, часто приложению будет достаточно информации, полученной через API, во время работы пользователя с приложением. Но что делать, если ваше приложение должно работать с самыми “свежими” данными пользователе, даже если они не открывали его уже больше месяца?

Есть два способа для того, чтобы получать данные не только во время работы пользователя с приложением:
  1. Получить от пользователя offline_access permission (сохранить “вечный” пользовательский access_token) и получать необходимые данные “по расписанию” (дергать скрипт cron-ом).
  2. Написать скрипт, который будет получать все изменения данных от Facebook, настроить и подписаться на обновления через Real-Time Updates.

Под катом вы узнаете виртуальный пример, как использование real-time updates помогает сократить за день количество запросов к API более чем в 100 раз в некоторых ситуациях. Мы напишем скрипт подписки на обновления и проверим его работу, получив данные о изменении объектов от самого Facebook.
Читать дальше →

Chosen: сделай выпадающие списки более дружественными

Reading time1 min
Views55K
Плагин Chosen создан для оформления красивых и удобных выпадающих списков с помощью jQuery и Prototype. Для установки плагина достаточно просто скачать файлы и прописать одну строчку:

$(".chzn-select").chosen()
(версия для jQuery)

По умолчанию в Chosen вместо длинного текстового списка предлагается поле, по нажатию на которое появляется список. Поддерживается автодополнение ввода, выбор нескольких пунктов меню, элемент optgroup и др. Выглядит вполне нативно. В общем, лучше один раз увидеть.

Поскольку Chosen заменяет стандартный элемент HTML, то не нужно беспокоиться, как он работает с браузерами без поддержки JavaScript. Также не нужно ничего менять в бэкенде: формы сабмиттятся как обычно, изменения только в пользовательском интерфейсе.

Некоторые форки:
Chosen для MooTools
Модуль Chosen для Drupal 7

ООП-обертка для PHP lib_curl

Reading time2 min
Views5K
Пару лет назад я сделал небольшой персональный проект под названием «Аггрегатор комиксов». Суть проекта в том, что есть куча сайтов с комиксами, на которых нет RSS-лент. И мне было откровенно лень ходить по этим сайтам вручную и проверять апдейты.

Посему был написан примитивный «паучок», обходящий сайты по расписанию, разбирающий содержимое страниц и по разным алгоритмам выковыривающий информацию об апдейтах и складывающий эту информацию в базу, откуда уже другой скрипт, вьюер, генерировал РСС, Атом или Хтмл.

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

«— Больше, больше удовольствия в изучении английского языка!» Просили? Получайте! Вагон тренировок, плюс тележка с индивидуальным прогрессом каждому слову

Reading time3 min
Views39K


A dream becomes a goal when action is taken toward its achievement
(Мечта становится целью, когда предпринято действие для ее достижения)


Вышел новый релиз LinguaLeo.ru!
Недавно на сервисе появилось много игровой динамики, повышающей мотивацию к изучению английского языка. Результат текущего релиза — шесть обновленных увлекательных видов тренировок слов и фраз, помогающих расширить словарный запас в контексте освоенных материалов на английском!.. Подробнее об этом с приложением скриншотов, а также о победе стартапа LinguaLeo в престижном конкурсе технологических проектов БИТ — под катом…
Читать дальше →

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity