Search
Write a publication
Pull to refresh
4
0
xRay @xRay

Пользователь

Send message

Веб-сервисы в теории и на практике для начинающих

Reading time9 min
Views633K

Что такое веб-сервисы?



Прежде всего, веб-сервисы (или веб-службы) — это технология. И как и любая другая технология, они имеют довольно четко очерченную среду применения.

Если посмотреть на веб-сервисы в разрезе стека сетевых протококолов, мы увидим, что это, в классическом случае, не что иное, как еще одна надстройка поверх протокола HTTP.

С другой стороны, если гипотетически разделить Интернет на несколько слоев, мы сможем выделить, как минимум, два концептуальных типа приложений — вычислительные узлы, которые реализуют нетривиальные функции и прикладные веб-ресурсы. При этом вторые, зачастую заинтересованы в услугах первых.

Но и сам Интернет — разнороден, т. е. различные приложения на различных узлах сети функционируют на разных аппаратно-программных платформах, и используют различные технологии и языки.

Чтобы связать все это и предоставить возможность одним приложениям обмениваться данными с другими, и были придуманы веб-сервисы.
Читать дальше →

Блокировки в MySQL

Reading time4 min
Views110K
На хабре часто обсуждаются принципы работы MySQL. Данный хабратопик посвящен механизмам блокировок, используемым в MySQL. Топик поможет начинающим изучать MySQL и, в некоторой степени, опытным хабралюдям.

Механизм блокирования в MySQL


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

Раскладка клавиатуры с AltGr

Reading time1 min
Views34K

Мне, как обычному пользователю, надоело каждый раз переключать русскую раскладку для набора символов типа: [ ] { } < >, одного-двух символов латиницы и т. п. Мне кажется, что в этом я не одинок, и решил поделиться достаточно простым способом (для Windows).


На Хабре упоминалась клавиша AltGr и о том, что с ее помощью можно вводить различные спецсимволы. Ничего создавать я не хочу, поэтому качаем готовую раскладку(UPD: 404, см. ниже), устанавливаем, и добавляем раскладку «Русская (AltGr)» (Язык и региональные стандарты > Языки > Подробнее)


Все, теперь вместо Ctrl + Shift (или Alt + Shift) можно удерживать AltGr. Надеюсь, кому-нибудь будет полезно.

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

Yii Framework

Reading time2 min
Views40K
Случайно встретился ещё один PHP-фреймворк. Обычно новые фреймворки я просматриваю мельком, но этот меня очень заинтересовал.

Авторы (Qiang Xue, Xiang Wei Zhuo), возможно, известны вам по довольно гибкому, но и довольно тормознутому фреймворку Prado.

Итак, что же в нём такого интересного?
Читать дальше →

IM, почта и Facebook в одном флаконе

Reading time1 min
Views698
В интернете появляется всё больше и больше инструментов для общения. Раньше это была просто почта. Потом появились IM, «скайп», социальные сети, а сейчас добавился ещё и твиттер. Новые каналы коммуникации добавляются, а старые не исчезают, так что современный человек просто разрывается между всеми этими информационными пространствами.

Для перегруженных информацией пользователей компания Digsby выпустила универсальную программку, которая «засасывает» в себя контакты со всех крупнейших коммуникационных сервисов, а именно из Yahoo Messenger, ICQ, Google Talk, Jabber, Windows Live Messenger, Facebook, MySpace и с почтовых аккаунтов. Говорят, что это самый удачный способ интеграции сервисов из всех существующих подобных программ.

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

via News.com

Вышел Firefox 3.1 beta 2

Reading time1 min
Views544
image
Firefox 3.1 Beta 2 основывается на платформе рендеринга Gecko 1.9.1, которая разрабатывалась последние 7 месяцев. Gecko 1.9.1 — это инкрементальный над предыдущей версией релиз с важными изменениями направленными на улучшение совместимости в web, производительности и простоты использования:
  • эта бета доступна теперь на 54 языках — скачайте версию на своем языке;
  • добавлен новый режим Private Browsing;
  • добавлены функции, которые позволяют легко удалять историю посещений по времени и удалять любые следы посещения сайта;
  • новая поддержка потоков web workers;
  • новый движок JavaScript TraceMonkey(https://wiki.mozilla.org/JavaScript:TraceMonkey) теперь включен по умолчанию для web-содержимого;
  • улучшения в движке разметки Gecko, включающие прогнозирующий парсинг для более быстрого рендеринга контента;
  • убран новый механизм поведения переключения табов в связи с отзывами от пользователей;
  • поддержка новых web-технологий, таких как теги «video» и «audio», W3C Geolocation API, JavaScript query selectors, свойства CSS 2.1 и CSS 3, преобразования SVG и оффлайн-приложения (offline applications).

Получить больше информации.

Быстрая перекраска вещей на сайте

Reading time2 min
Views2K
image
Существуют моменты когда необходимо предоставить пользователям выбор цвета какой либо вещи. Есть несколько способов выхода из этой ситуации.

Здесь я покажу очень простой и незамысловатый способ быстрой перекраски, на примере iPod Shuffle.
Читать дальше →

Мирный XSS

Reading time3 min
Views9K
Эта статья о мирном атомеXSS. Заставим зло работать на добро!

А зачем?


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

Методы организации XSS

  1. Через тэг iframe
  2. Через тэг script
  3. Через flash<->javascript
  4. Через window.name + iframe + form
  5. Через CSS хак
  6. Через canvas + img
  7. Через прокси
Реализация каждого метода

Расширение Firefox добавляет торренты на Amazon.com

Reading time1 min
Views1.8K
Новое расширение Firefox под названием Pirates of the Amazon («Пираты Амазонки») превращает крупнейший в мире интернет-магазин в полноценный каталог пиратского контента. Идея простая: «Пираты Амазонки» просто добавляют на каждую страницу каталога Amazon.com ссылку на торрент для бесплатного скачивания этого файла.

Таким образом, мечта любого любителя халявы доведена до абсолюта: вы ходите по магазину, смотрите на ценники и выбираете подходящий фильм (программу, музыкальный альбом, игру), а когда выбор сделан — просто берёте товар бесплатно, нажав на баннер “Download 4 free”.

Плагин работает по типу Greasemonkey, модифицируя код страницы в браузере. Ссылки на торренты получают с популярного трекера The Pirate Bay.
Читать дальше →

Версия 0.1.6

Reading time2 min
Views592
Спасибо всем.

Честно, не ожидал настолько позитивного отклика (некоторые даже кинулись внедрять библиотеку в свои проекты и всячески пропагандировать :). Для большей ясности поясню основные идеи:
  1. Это мини-ядро. Чтобы выбирать элементы DOM-дерева. На его основе (или дополнительно к нему) можно разрабатывать остальные модули. Но конкретно этот функционал дальше CSS-селекторов расширяться вряд ли будет. Идея ни разу не новая.
  2. Это самое быстрое мини-ядро. Каждая строчка тестируется и будет тестироваться на экстремальную производительность в большинстве случаев. Чтобы это можно было положить в основу большого проекта. Иначе все остальное не имеет смысла.
  3. Код открытый (MIT + GPL). Можно использовать где угодно (вроде даже без ссылок на авторство). Комментарии по улучшению приветствуются.

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

Умный экспорт из SVN с помощью консоли

Reading time2 min
Views5K
Использовать svn я начал, работая в windows и соответственно в качестве клиента использовал TortoiseSVN.
В то время я был очень рад новой возможности, описанной в статье Умный экспорт из SVN при помощи TortoiseSVN.
Совсем недавно сделал то, что давно не находилось времени сделать — поставил на свой рабочий компьютер linux.
И вот незадача, ни в одном из графических клиентов, опробованных мной, не обнаружил схожей функциональности.
Мало того. Почитав svn --help не нашёл опции, дающий такой результат.
Обидно. Учитывая, что приучил уже отдел делать такие экспорты для плавного обновления проектов.
В-общем, не буду тянуть: написал на bash скрипт, реализующий сравнение и экспорт отличий между двумя ревизиями.

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

Домен .tel: телефонный справочник интернета

Reading time2 min
Views4K
Со вчерашнего дня открыта регистрация доменных имён в новой зоне .tel. Это необычный домен, который создан ради простой идеи — хранения прямо в DNS контактных данных пользователей. Выглядеть такие «сайты» будут очень просто — как на скриншоте слева.

Записать в систему можно любые данные — номера телефонов, почтовые и электронные адреса, адреса личных веб-страниц и аккаунтов в социальных сетях, номера ICQ, аватары в MMOG, ники на форумах и многое другое. Работать с личной информацией можно через браузер или специальные программы. Идея в том, что всю персональную информацию удобно хранить в одном месте, обновляя по мере надобности. В профиль на Хабре и на другие сайты эта информация уже транслируется из центральной базы, что гарантирует её актуальность. Более того, в будущем обновляться через DNS смогут и телефонные книжки мобильных устройств, и все остальные программы. То есть если вы меняете телефонный номер или email — он сразу обновляется во всех телефонах и почтовых программах ваших друзей.

В перспективе должен получиться некий всемирный справочник, надёжно зашифрованный и хранящийся в распределённой системе DNS. Британская компания Telnic, управляющая доменом, в следующем году планирует открыть центральный справочный сайт по адресу telpages.com — вот тогда воплотятся в жизнь мечты всех спамеров мира.
Читать дальше →

Установка Linux из виртуальной машины на съемный диск

Reading time2 min
Views4K
Прочитал статью Оживление легенды: ставим ОС на Libretto 50 CT
в которой описывается способ №3 установки ОС Linux на HDD из виртуальной машины. И решил предложить другой вариант, как мне кажется более правильный, чем тот, который изложен в статье. Во всяком случае автору статьи, smashrod, советую попробовать. Может быть этот вариант окажется рабочим.
Читать дальше →

Узнаем оператора и регион мобильного телефона

Reading time4 min
Views16K
image
Как то гуляя в интернете наткнулся на интересную ссылку — Коды мобильных операторов. И очень мне захотелось иметь такую базу локально.
Под катом дамп mysql базы, php код для её использования и скрипт парсер для обновления.
Читать дальше →

Верстка скругленных границ и острых углов

Reading time4 min
Views21K
Сложность элементов интерфейса увеличивается с каждым новым макетом, что доставляет немало хлопот верстальщикам. Развивающиеся технологии позволяют создавать в WEBе сложные приложения (Google не даст мне соврать), поэтому дизайнеры себя не сдерживают и рисуют всё более навороченные вещи. Как правило, это приводит к большому количеству графики на страницах.

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

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

Firefox Addon: Постраничная навигация в стиле Google Reader для любого сайта.

Reading time2 min
Views1.6K
Все наверное знают как сделана постраничная навигация в Google Reader. Изначально подгружается примерно столько непрочитанных новостей, сколько влазит на экран, а далее, по ходу того как страница скроллится вниз, асинхронно подгружаются остальные новости.

Чем хороша такая система? Пожалуй тем, что она прозрачна и незаметна: пользователь перемещается по страницам ничего для этого не делая, просто читая новости в своём rss ридере. Есть, конечно у такого подхода и недостатки, но заметка не об этом.

Итак, сегодня вечером я совершенно случайно наткнулся а плагин к firefox, который позволяет сделать аналогичную постраничную навигацию практически для любого сайта, более того, он изначально содержит настройки для множества известных сайтов: Digg, Google, Wikipedia и т.д.

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

RESTful PHP — 5 простых советов

Reading time4 min
Views84K
REST (Representational state transfer) — это архитектурный стиль или свод соглашений для web-приложений и сервисов, основанный на манипулировании ресурсами и спецификацией HTTP. Впервые об этом заговорил Рой Филдинг (Roy Fielding) — один из отцов основателей HTTP (Hypertext Transfer Protocol).

Web-приложения зачастую игнорируют спецификацию HTTP и двигаются вперёд используя полюбившиеся возможности: GET и POST, 200 OK и 404 NOT FOUND. Так как используются программируемые web-приложения, со своими собственными API, то решение игнорировать спецификацию HTTP, может создать проблемы в дальнейшем. Как следствие — имеем множество приложений с интерфейсами GET и POST. Например интерфейс удаления пользователя: GET /user/1/delete против POST /user/delete {id=1}; в случае REST можно указать /user/1 это ресурс, а удаление HTTP метод DELETE.
Читать дальше →

Русские имена приложений в Django

Reading time2 min
Views2.7K
Сия заметка, плод трудов хабра-человека sevenov, ему и почёт, дабы в будущем ему хватило кармы оставить свой след на хабре самому ;)

~~~~

Сегодня возник вопрос о том, как сделать вот так:

Django App Names

После получасового гугления наткнулся на несколько тикетов на code.djangoproject.com (ссылок сейчас не подкину, в истории искать лень). В общем, суть их в том, что нужно переписать чуть ли не половину Django. Немного подумав, я реализовал по своему. Возможно это кто-то уже делал, но на решение я не наткнулся.
Читать дальше →

Тюнинг Zend Framework + Doctrine

Reading time8 min
Views2.6K

Скрещиваем двух «зверей»



В принципе, скрестить Zend Framework с Doctrine не так уж сложно. Но прежде поговорим о подготовительной работе. По мнению автора, предлагаемую по умолчанию структуру файлов проекта Zend Framework можно сделать чуть более оптимальной.

Так выглядит структура файлов проекта Zend Framework по умолчанию:

/
  application/
    default/
      controllers/
      layouts/
      models/
      views/
  html/
  library/

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

Information

Rating
Does not participate
Registered
Activity