Search
Write a publication
Pull to refresh
0
0
Жандос @jandosul

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

Send message

Правильная работа с исключениями в PHP

Reading time4 min
Views69K
В предыдущей статье я предложил свести все «механизмы ошибок» к исключениям, поэтому логично будет объяснить, как правильно работать с исключениями в PHP.
Сначала поясню, почему я выбрал именно исключения, как механизм работы с ошибками:
  1. Исключения — это гибкий, расширяемый метод обработки ошибок;
  2. Это стандартизованный механизм – человеку, не работавшему с вашим кодом, не нужно будет читать мануал, чтобы понять, как обрабатывать ошибки. Ему достаточно знать, как работают исключения;
  3. С исключениями гораздо проще находить источник ошибок, так как всегда есть стек вызовов (trace).

Сразу скажу, что в этой статье я не открываю Америку. Описаны стандартные принципы работы с исключениями плюс некоторые особенности, налагаемые PHP. Полезно будет почитать новичкам, хотя может быть и опытные разработчики найдут что-нибудь новое для себя.
Несколько советов по работе с исключениями:

Дополненная реальность. Поиск

Reading time4 min
Views9.7K
image
Поиск с помощью дополненной реальности (AR) становится все популярнее. Появляются русские аналоги таких поисковых машин, а точнее браузеров. В этой публикации я опишу процесс, на мой взгляд, самого простого создания поиска при помощи AR и мобильного устройства — воспользоваться готовой платформой и с помощью API создать свой канал трансляции.
Читать дальше →

Google Web Toolkit и клиентская оптимизация

Reading time5 min
Views5.3K
Чем медленнее загружается и работает web-приложение, тем меньше пользователей захотят им воспользоваться. Google понимает это как никто другой, поэтому в созданном ими Web Toolkit особое внимание уделено скорости работы получаемых с его помощью web-приложений.

Статья рассказывает о том, какие приемы клиентской оптимизации используются в GWT.
Читать дальше →

По ту сторону браузера: Как подключить прием платежей

Reading time4 min
Views33K
Привет!

Лето — жарко и писать про бухгалтерию совсем не хочется. Поэтому мы решили начать серию статьей, описывающих работу нашего SAAS сервиса изнутри. Напишем как о чисто технических вещах (процессинг платежей, безопасность, техподдержа), так и о том как мы выросли от перспективного стартапа к самоокупающемуся бизнесу — о деньгах, о людях, о проблемах любого молодого бизнеса и путях их преодоления. Если интересно что-то еще — пишите в комментариях или в личку.

Процессинг платежей


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

7 бесплатных сервисов для проверки сайтов (о которых вы могли и не знать)

Reading time2 min
Views257K
Картинка для привлечения внимания
Мне достаточно часто приходится использовать различные онлайн-сервисы для проверки доступности сайтов и их поверхностных тестов и проверок.
Как показал краткий опрос коллег — почти у всех эти наборы сервисов отличаются. Я хочу показать вам свой, прошу в
подробности

Смотрим кино с субтитрами сразу на двух языках

Reading time2 min
Views30K
Увидев только что на Хабрахабре вот эту блогозапись, подумал, а нельзя ли сделать так в Линуксе. Оказалось — можно. Причём метод не зависит от проигрывателя видео, главное, чтобы программа поддерживала субтитры в формате ASS.

Скриншот
Читать дальше →

Pubcookie: единая точка аутентификации для веб-приложений

Reading time8 min
Views7K
Существует множество решений, позволяющих в том или ином виде реализовать технологию единого входа (Single Sign On). Под единым входом понимается ситуация, когда авторизовавшись один раз на некотором выделенном сервере авторизации (или просто на своей машине), вы получаете доступ ко всем доступным сетевым ресурсам без дополнительной авторизации.

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

Технологии SSO, как правило, достаточно непростые, однако если ограничиться задачей единого входа только для набора веб-приложений, существует относительно несложное решение, позволяющее реализовать такую возможность, не меняя, или незначительно меняя код приложения. Это решение называется Pubcookie, о нем и пойдет речь.

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

Хостер, поставь мне модуль, а?

Reading time9 min
Views13K
imageДостаточно регулярно на хостинге не оказывается предустановленной библиотеки для той или иной программы. И не всегда хостер удовлетворяет просьбу установить библиотеку требуемой версии. Бывает, что библиотека есть, но устаревшая. Или сломался у хостера сервер, он перекинул сайт на другой, а там более новая версия библиотеки, не совместимая с той, на которой работает программное обеспечение сайта (пользователи Django прекрасно поймут меня). Что делать? Искать опять новый хостинг? Всегда быть готовым переписать свою программу под другую версию библиотеки? Наш путь — поставить её самостоятельно. В самом крайнем случае, придётся просто переустановить её. Кроме бинарных модулей PHP почти все библиотеки для популярных веб-технологий можно поставить к себе в домашний каталог не трогая хостера и не завися от него. Кстати сказать, это можно делать не только на шаред-хостинге, но также и на виртуальных серверах — проекты становятся слабо зависящими от того, кто и как настраивал виртуальный сервер. Сложно?
Глаза боятся - руки делают

Основатели Parallels, Acronis и Almaz создали фонд посевного инвестирования

Reading time1 min
Views1.5K
Председатель совета директоров компаний Parallels и Acronis Сергей Белоусов и основатель фонда Almaz Capital Partners Александр Галицкий создали фонд для инвестиций в хайтек-стартапы ранней стадии развития. Фонд получил название Runa Capital. Размер фонда – около $30 млн.

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

Жаргон программистов

Reading time4 min
Views65K
Наткнулся на Stackoverflow.com на интересный топик с вопросом о новом в программистском жаргоне. Предлагаю здесь подборку наиболее интересных выражений.

Египетские операторные скобки

if (a == b) {<br>  printf("hello");<br>}<br><br>
Читать дальше →

О midi-файлах и о PHP, как инструменте повседневного программирования на живом примере

Reading time3 min
Views3.5K

Предисловие


Очень часто сталкиваюсь с тем, что многие не воспринимают PHP ни как иначе, чем средство для разработки сайтов, но мне хочется разубедить их этим топиком.

Сегодня мне позвонили и попросили помочь с синтезатором фирмы YAMAHA (в частности с аналогом модели 403), который имеет одну интересную особенность — он позволяет сохранять 5 сочиненных песен в своей памяти, но вот достать их на компьютер в какой либо форме, кроме как файла резервной копии нельзя, о чем говорится на всех форумах и в технической документации к этому синтезатору.
Читать дальше →

Пунктирная рамка вокруг ссылок и навигация с клавиатуры

Reading time3 min
Views16K
Думаю, все знают, что это такое. Некоторые браузеры, в частности, Фаерфокс и Интернет Эксплорер 8 рисуют однопиксельную пунктирную рамку вокруг ссылок и внутри кнопок, когда пользователь нажимает на них. Если сайт состоит из голого html, скорее всего, дискомфорта они не доставят. Но если все ссылки как-то стилизованны, вам (или вашему дизайнеру), скорее всего захочется избавиться от этого. Тем более, что эта рамка может отобразиться в неподходящем месте:

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

Узнаем пароли пользователей 1С

Reading time1 min
Views152K
Возможность тестировалась на платформе 1с версии 8.1.13.41 и 8.2.10.82 (думаю на 8.0 ситуация обстоит так же) на операционной системе Windows Server 2008 как 32 так и 64 битной под правами локального администратора в терминальной сессии. На самом деле и на операционных системах «постарее» можно узнать пароль, просто не так банально как на тестируемой ОС.

Для удачного теста необходимо, чтобы на терминальном сервере уже был хотя бы один пользователь удачно авторизировавшийся в информационной базе 1С (в режиме конфигуратора или предприятия).
Читать дальше →

Simply Linux Выпуск 2. Проект набирает обороты

Reading time2 min
Views1.7K
Simply Linux Команда Simply Linux объявила о выходе Simply Linux Выпуск 2 (5.0.1). Дистрибутив еще совсем молодой, первый выпуск был в октябре. Но за это небольшое время он успел собрать много пользователей, во многом благодаря своей концепции — легкость в использовании, максимальная русификация, симпатичный интерфейс, только необходимые программы, ориентированность на начинающего пользователя.

За это время Simply Linux превратился в проект. У него появился сайт и другие модные атрибуты, такие как ЖЖ, группа вконтакте и твиттер.

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

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

Модуль авторизация через ВКонтакте для Kohana

Reading time1 min
Views2.6K
После открытия API ВКонтакте сразу появилось несколько статей по созданию быстрой авторизации на своём сайте пользователей vk.com, в т.ч. и на PHP. Решил заняться написанием модуля авторизации для Kohana.

Документация по API очень хилая, пришлось изучать js-скрипты durov.at и переносить некоторый функционал на PHP (отправка POST-запроса с получением полной информации о пользователе, вместо ajax-овой реализации на durov.at). Самым сложным местом оказалось генерирование уникальной подписи запроса (как они объясняют, «подпись запроса по стандартной схеме»), т.к. этот процесс нормально не описан.

Модуль Vk умеет логиниться и получать информацию о пользователе и, соответственно, разлогиниваться. Информация хранится в cookie и в сессии. При желании, можно складывать всё в БД, запрашивать дополнительную информацию о пользователе и т.д.

Подробное описание на странице модуля в github. Не забываем создать свое приложение ВКонтакте для тестирования и записать полученные API ID, ключ приложения и защищенный ключ в config/vk.php, а также создать файл xd_receiver.htm по примеру в описании.

Взгляд в ближайшее будущее: Firefox 4

Reading time1 min
Views1.2K
Во блоге Ajaxian и во блоге Mozilla Hacks появились блогозаписи о том, каков будет грядущий Firefox 4.

Главная новость: Firefox 4 станет окончательным номером той альфа-версии браузера, которая была до этого известна нам в качестве Firefox 3.7.

Одна из основных инноваций Firefox 3.7 (а именно, вычленение плагинов в отдельный процесс) ужé выпущена в составе Firefox 3.6.4.

Помимо неё, в Firefox 4 появятся вот какие новинки:

→  Поддержка SVG и MathML прямо внутри HTML5, без необходимости прибегать к строгому XHTML и пространствам имён.

→  Интерпретатор HTML5 в отдельном потоке, поэтому интерфейс браузера не будет тормозить в момент обработки крупных страниц.

→  Интерпретатор HTML5 будет поддерживать HTML5 forms.

→  Вызов innerHTML станет работать быстрее (примерно на 20%).

→  Поддержка WebSockets (вебоприложения получат дуплексную связь с вебосервером).

→  PushState улучшит AJAX-взаимодействия.

→  Новые средства взаимодействия с вебостраницами: жесты, многотык (multi-touch).

→  Улучшенная поддержка CSS3.

→  Редактируемое содержимое страниц (contentEditable).

→  IndexedDB: структурированное JSON-подобное (а не SQLite-подобное, как было прежде) хранилище данных.

→  Интерфейсы для доступа к микрофонам и вебокамерам посетителей сайта.

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

Авторы расширений, хакеры браузера, встречайте js-ctypes

Reading time7 min
Views2.2K
Что такое (можете спросить вы) js-ctypes? Скажем, пишете вы расширение на джаваскрипте, и ему нужно обратиться к местному коду (native code). Например, weave-crypto приходится обращаться к библиотеке NSS. А ваше расширение может пожелать, например, вызвать напрямую NSPR, libc, или функции Win32. Прямо сейчас есть два выхода: либо использовать скриптуемые XPCOM-интерфейсы (обеспечиваемые libxul), либо написать и реализовать собственные XPCOM-интерфейсы, то есть поставлять двоичный код в своём расширении. Если первый вариант не годится, остаётся только второй, но тогда поставлять расширение становится заметно сложнее: приходится отдельно компилировать двоичный код для каждой из поддерживаемых платформ, чтобы упаковать его внутрь вашего кросс-платформенного xpi.

Ответом на эту трудность поэтому станет библиотека js-ctypes: она позволяет джаваскрипту вызывать местный код (написанный на Си) и манипулировать сишными типами данных, без использования XPCOM, и нет необходимости компилировать ни одну строку кода. Это означает, что вам не придётся определять XPCOM-интерфейсы, и что можно будет использовать разделяемые библиотеки (shared libraries), подобные libc, напрямую. Есть и побочный положительный эффект: мы большей частью устраняем потери на преобразование типов данных, свойственные XPConnect, так что выполнение кода может становиться быстрее. (Сравнение скорости я приведу в одной из последующих блогозаписей.) Библиотека js-ctypes будет поставляться с Gecko 1.9.3, а эта платформа (если номера версий не переменятся) станет фундаментом для Firefox 3.7.

Вы можете спросить: «Но как...?». И вот примеры (они проверялись на 32-битных Линуксах x86 и содержат не кросс-платформенные части):

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

Увеличиваем скорость загрузки сайта используя lazy-load изображений

Reading time1 min
Views71K
Сейчас многие сайты насыщены графикой в разных видах: аватары, иллюстрации к постам, галереи и тп.

Читатели блога «Клиентская оптимизация» как никто другой знают цену лишних запросов к серверу.

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

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

Изменение библиотеки libdc1394 для поддержки нужной камеры

Reading time3 min
Views2.1K
Когда разговор заходит о свободном программном обеспечении, то одним из аргументов «за» является возможность самому вносить изменения в код. Мне лично кажется, что конечного пользователя такая возможность волнует мало. И дело может быть не только в отсутсвии навыков программирования, но и просто в непонимании, что это возможно.

В этой статье я кратко опишу свой опыт «допиливания» библиотеки libdc1394 под себя, а вернее под ту камеру, с которой я работаю. Предполагаю, что статья может быть интересна тем людям, которые еще сами никогда ничего не подправляли в сторонних библиотеках и тем, кому приходится иметь дело с firewire камерами в линуксе.
Поехали

Основы репликации в MySQL

Reading time10 min
Views333K
С репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
Читать дальше →

Information

Rating
Does not participate
Location
Казахстан
Date of birth
Registered
Activity