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

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

Send message

Беспроводные радости: обзор монитора Samsung CA750

Reading time6 min
Views41K
Не так давно компания Samsung Electronics представила на российском рынке мониторы СА750 и СА550, оснащенные док-станциями и способные получать изображение по беспроводному интерфейсу — про первую модель как-то раз в блоге компании уже даже рассказывали.



Обе модели представлены в двух вариантах — с диагональю экрана в 23 дюйма (С23A750X и С23A550U) и в 27 дюймов (С27A750X и С27A550U) соответственно. Устройства объединяет низкое время отклика (2 мс), FullHD-разрешением (1920x1080), высокая контрастности (1 000 000:1) и большие (170°/160°) углы обзора. Сегодня более подробно речь пойдет о Samsung C23A750X, который мне удалось-таки достать на тест.
Читать дальше →

MongoDB: Создание, обновление и удаление документов

Reading time3 min
Views78K
В рамках чтения мной книги “MongoDB: The Definitive Guide” Kristina Chodorow and Michael Dirolf, решил выписывать основные моменты из глав, для лучшего освоения материала. Возможно, кому-то это тоже будет полезно.

Insert



Insert — базовый метод для добавление информации в MongoDB. Для того, чтоб добавить документ в коллекцию делаем вот так:

> db.foo.insert( { “bar” : “baz” } );

В таких ситуациях, когда нужно добавить несколько документов, для более быстрой вставки желательно использовать, так называемые, batch insert’ы (групповая вставка)

> db.foo.insert( { “arr” : [ { a : 1 , b : 1 } , { a : 2 , b : 2 } ] } );

Грубо говоря, просто вставляем массив.
Читать дальше →

Автоматическое оповещение читателей о новостях с помощью ВКонтакте. Часть 3

Reading time3 min
Views2.2K
Те, кто до этого времени использовали класс vk.wallpost.php, возможно, столкнулись с проблемой работы данного скрипта на хостинге. Данный класс был написан пользователем xbreaker и подробно разобран по частям в статьях: Часть 1 и Часть 2.

Скрипт замечательно работает на локальном компьютере. Но когда его закидываешь на хостинг он перестает отсылать сообщения.
Читать дальше →

Много нового про семантическую разметку от Яндекса

Reading time2 min
Views5.5K
Сегодня у Яндекса есть сразу несколько новостей из мира семантической разметки и передачи данных о сайтах.

Начнём с крупного. Яндекс вошёл в состав Schema.org Working Group и теперь участвует в разработке стандартов семантической разметки для всего мира. В Помощи теперь можно найти перевод оригинального руководства по началу использования семантической разметки Schema.org – Getting Started, с небольшими дополнениями.

Теперь о современном. Роботы Яндекс.Видео научились распознавать тег video спецификации HTML5. Теперь эта разметка учитывается наравне с остальными. Как и в случае со schema.org, данный тег позволяет отметить несколько видеороликов на странице.

Немного о вкусном. Мы начали поддерживать разметку Schema.org для рецептов. Владельцам кулинарных сайтов нужно просто разметить рецепты на своём ресурсе с помощью схемы Recipe (http://schema.org/Recipe), и их сниппеты в результатах поиска Яндекса автоматически станут такими же наглядными:



А также про hCard и вакансию в Яндексе

WebSocket Protocol опубликован как RFC

Reading time1 min
Views5.5K
Протокол WebSocket получил свой номер RFC и опубликован в официальной библиотеке IETF как RFC 6455. Это означает, что черновик спецификаций признан вполне удачным, в целом стабильным и подходящим для стандартизации. Его дальнейшую судьбу будет отслеживать организация IETF, и впереди у потенциального стандарта — два этапа. После «предложенного стандарта» будут рассмотрены улучшения, которые представит сообщество, затем документ RFC может получить статус «драфта» (чернового стандарта) и, в конце концов, может быть признан как полноценный Стандарт Интернета (STD) — из нескольких тысяч кандидатов до такого статуса дожили всего 72.

WebSocket — протокол двунаправленной связи между браузером и веб-сервером. Протокол включает в себя описание запроса клиента и ответа сервера на установление соединения, а также базовое оформление сообщений, передаваемых поверх TCP-соединения.

С помощью WebSocket можно создавать интерактивные браузерные веб-приложения, которые постоянно обмениваются данными с сервером, но при этом не нуждаются в открытии нескольких HTTP-соединений, как XMLHttpRequest или <iframe>’ы.

В качестве авторов RFC 6455 указаны Ян Фетте из Google Security Team и Алексей Мельников (isode.com).

Обработка критических ошибок в PHP

Reading time6 min
Views33K
В статье описан функционал, который доступен в PHP (актуально для 5.3.х) для обработки ошибок всех типов, включая ошибки интерпретации кода (E_ERROR, E_PARSE, E_WARNING, etc). Эта обработка поможет вам для управляемого отображения страницы в случае возникновения таких проблем. В статье присутствует множество описаний и рабочих примеров(архитектуры) для того, что бы сразу воспользоваться в своем программном продукте. В конце концов, ну немного сломали сайт, ну надо же, об этом сообщить поисковику с заголовком 4хх или 5хх и повеселить пользователя, вместо возврата белого экрана (или что хуже экрана со священной информацией, для хакеров) с ответом 200 Ok.



Идея написать этот топик возникла, когда я на храбре задал 2 вопроса:

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

Если заинтересовались, то подробности под катом…
Читать дальше →

Рендеринг искусственных объектов на фотографии

Reading time1 min
Views4.3K


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

Новая технология позволяет быстро встраивать новые объекты в изображения

Reading time2 min
Views3.4K


В принципе, даже для опытного графического дизайнера встраивание какого-либо нового объекта в существующее изображение (фотографию) — довольно сложная задача. Конечно, уровень сложности подобной проблемы варьируется, но все же это не дело пары минут. А вот разработчик Кевин Карч, PhD университета Иллинойса, создал собственный «Photoshop» с тем-то и теми-то. Технология, созданная Кевином, позволяет встраивать практически любые объекты на любые изображения с высокой степенью точности.

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

Использование бинарного поиска для оптимизации запроса на выборку данных

Reading time3 min
Views9K

Введение


Сейчас очень популярна тем оптимизации работы с различными СУБД. На многочисленных форумах ведутся дискуссии о «самой лучшей СУБД в мире», но часто все это перетекает в необоснованные выкрики о том, что «я познал смысл жизни и понял, что самое лучшее хранилище данных — Х».

Да, несомненно, сейчас мы можем наблюдать активное развитие NoSQL решений, которые позволяют делать многое. Но данная статья не о них. Так вышло, что я сменил работу и в нагрузку мне достался один очень интересный проект на связке php+MySQL. В нем есть много хороших решений, но он писался без расчёта на большую аудиторию. За несколько лет существования количество активных пользователей начало приближаться к числам с 7 нулями. Так как проект представляет из себя подобие социальной сети с игровыми элементами, то таблица с пользователями оказалась не самой «тяжёлой» из всех. В наследство мне достались таблицы с десятками миллионов вещей пользователей, личных сообщений, биллинговыми записями и т. п. Проект начали рефакторить, разбивать на несколько серверов и достигли значительных результатов. Сейчас все стабильно.

Но недавно мне на почту прислали новую задачу. Суть заключалась в сборе статистики. Проанализировав требования я понял, что для выполнения достаточно написать один единственный запрос, выполняющий 3 INNER JOIN'а на таблицы, размеры которых впечатляли. Каждая таблица в среднем содержала 40 миллионов записей. Получается, что временная таблица состояла бы из 4*4*4*10^21 = 64*10^21 записей. Это колоссальная цифра. И загружать СУБД таким запросом для сбора статистики — непозволительная роскошь.

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

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

Кухонный компьютерный стол

Reading time3 min
Views63K
image

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

Идея преображения кухонного стола в компьютерный возникла во время прогулки по известному шведскому магазину, где я увидел стол с поднимающейся крышкой — экономия пространства, удобство и уют в одном лице. Но мне он не подходил по двум причинам: цена (около 7500 руб.) и поверхность столешницы — явно не для кухни.
Читать дальше →

Настройка WiMax интернета и его раздачи другим через Wi-Fi в openSUSE 12.1

Reading time3 min
Views8.6K

Введение


Во время первой установки любого дистрибутива Linux почти всегда возникают проблемы с получением интернета и его раздачей другим пользователям, если интернет подключен не посредством ethernet. Это часто отталкивает новичков от дальнейшего знакомства и использования линукса. В поисках полного HOWTO по данной теме для opensuse так и не нашел. Методом проб и ошибок получился данный способ.
Читать дальше →

Наносим удар по ddos ботнету своими силами

Reading time7 min
Views35K


Доброго времени суток уважаемое хабрасообщество, по просьбам хабровчан решил поделится некоторыми своими наработками борьбы с ддосом на основании личного практического опыта отражения атак.
В данной статье не будет очередного нового способа, как защититься от ддоса своими силами, информации по этому предостаточно. Мы зайдем немного с другой стороны.
Как говорится лучшая защита — нападение. Вот мы и будем с вами наносить удар по самому больному месту ддосеров — по ботам. Дополнительным приятным бонусом для нас будет то, что мы сделаем доброе дело и освободим хоть какую-то часть зараженных машин из плена злых ботнетчиков.
Понятно, что ботнет нам не убить, однако нанести порой вполне существенный удар можно, особенно если основную часть ботнета составляют дедики с руткитами, которые порой создают основную проблему при отражении атаки. Ну и кулхацкеру васе с его сотней кровью и потом добытых ботов тоже можно очень неплохо напакостить. Ибо боты, особенно на хороших каналах и из хороших регионов, стоят денег и порой немалых. Если они начнут дохнуть от посыпавшихся абуз, ддосерам может быть накладно продолжать ддосить вас и они могут повысить цену для заказчика или вообще приостановить атаку. Намного проще ддосить того, от кого не будет лишнего шума.

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

Не DropBox единым жив человек – 10 альтернатив популярному сервису

Reading time5 min
Views83K
Dropbox — чрезвычайно популярный облачный сервис. Если вы давно им пользуетесь, то скорее всего, не искали альтернативы. Это не удивительно — Dropbox настолько удобен в пользовании, что стимула для поиска другого сервиса просто нет. Однако, если задуматься, сервис имеет ряд весомых недостатков:
• Нельзя разместить свой собственный сервер;
• Бесплатно доступно всего лишь 2 Гб;
• Нет удаленного доступа к компьютерам;
• Нет открытого исходного кода.

А ведь сервису DropBox существует множество альтернатив — как новых, так и не очень.
Читать дальше →

Мы запустили новый стартап: Pinme.ru

Reading time2 min
Views11K


На прошлой неделе в среду был запущен социальный сервис хранения и обмена изображениями Pinme.ru. Это новый инвестиционный проект компании Fast Lane Ventures, который был создан по модели стартапа Pinterest.com, занимающего, по данным Alexa.com, 327-е по посещаемости место в мире и 55-е в США.

Концепция проекта — виртуальная пробковая доска, к которой можно приколоть булавкой картинку или фотографию, что нашло своё отражение в логотипе. В случае с pinme.ru — это картинки из инета, которые вы можете сохранить в своём профиле на сайте. Для этого вам нужно просто запустить скрипт, сохранённый в закладках браузера. С каждой картинки можно перейти на ее первоисточник в сети, что обеспечивает этим ресурсам большой обратный трафик, а для пользователя превращает сервис в удобное хранилище графической информации без отрыва от контекста, в котором она была скопирована. Зачем это может понадобиться? Интересный кейс (на примере pinterest.com) описывается в ЖЖ-сообществе art_of_shopping — можно сохранять картинки из каталога товаров в интернет-магазине, а позже вернуться к нему, чтобы принять решение — в отличие от «корзины» в самом магазине, ваши сохранённые товары никуда не денутся, если вы перезагрзитесь или зайдёте в сеть с другого компьютера. Фактически, это такая записная книжка, вроде Evernote, только в картинках.

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

Навигация как в Google+

Reading time7 min
Views2K
Недавно установил приложение google+ на iPad, и встретил что-то свеженькое из навигационного меню. В принципе обновление ленты через paging на ScrollView не представляет сильно новых технологий, но в сочетании с верхним текстовым баром (на котором, между прочем, интересно меняется шрифт) и цикличным поведением выглядит вполне очень даже удобно и интересно. Для людей, кто совсем не представляет, как выглядит это в google+ iphone-клиенте можно попробовать представить это по рисунку ниже:



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

Разгони свой сайт – автоматическая СКЛЕЙКА + GZIP

Reading time9 min
Views16K
Разгонись

Есть куча советов как убыстрить отдачу сайта – это и статика через nginx и кластеризация и куча еще всяческих хитрых технологий. Однако во всех книжках, советующих как можно повысить загрузку сайтов можно найти две постоянно повторяющиеся темы – «склеивание CSS/JS» и «включение сжатия».
Читать дальше →

О маркетинге, нетбуках и CMS

Reading time3 min
Views2.3K
Привет всем!

Запись в блог первая, и поскольку это именно блог и блог компании, буду писать именно размышления, перемежающиеся с сутью компании и ее продукта. :)

Начну с конца. Последний месяц пытаюсь выбрать себе нетбук. Ну как нетбук… По сути, мне нужен портативный компьютер, который можно брать с собой в небольшие командировки, в поездки по городу к клиентам. С которым можно сидеть в какой-нибудь очереди, будь то магазин в ожидании жены, или пробка. И ведь у меня требований-то к ноутбуку с гулькин нос! Мне надо чтобы батарея держала часов 10-12, мне надо разрешение экрана хотя бы 1366, и мне нужен встроенный 3G-модем для интернета в поездках по области и России (йота только в пределах МКАДа бесит, а также бесят внешние 3G-usb-свистульки) и вес около килограмма, чтобы был именно портативный и влезал в сумку. Все остальное вообще не критично, ни количество usb, ни оптический привод, ни размер оперативной памяти.
Читать дальше →

Наследование шаблонов в PHP без использования сторонних библиотек

Reading time5 min
Views8K
При разработке Web-приложений мы обязательно сталкиваемся с проблемами рендеринга HTML-страниц. Обычно эти проблемы решает шаблонизатор — собственно PHP или какой-нибудь парсер шаблонов. Если приложение большое и страницы содержат множество блоков, то сложность шаблонов может резко возрасти, а у разработчиков появляется желание упростить работу с ними. В ход идут разные техники, но обычно это выделение в шаблонах повторяющихся блоков и правильная их декомпозиция — включая наследование шаблонов.
Что это такое, и как это сделать на PHP читайте далее.

Кроссплатформенность — это круто

Reading time8 min
Views30K
Этот пост участвует в конкурсе „Умные телефоны за умные посты“.

Ни для кого не секрет, что сегодня мобильные игры очень популярны. Возможность написать одну из таких игр есть у каждого разработчика, даже начинающего. Часто возникает вопрос с выбором платформы. Конечно, хочется, чтобы игра была сразу везде: на iOS и Android, на WP7 и MeeGo, на десктопе и в браузере. И чтобы все это можно было лекго реализовать с помощью бесплатных инструментов.



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

Движок сайтов S2

Reading time2 min
Views2K
Движок сайтов S2

S2 — простой и быстрый движок для небольших контент-сайтов, с удобной админкой, выпущенный под лицензией GPL. В нем страницы сайта объединены в иерархическую структуру, на основе которой работает ЧПУ, создаются навигационные ссылки и т. д.

К особенностям движка относится система расширений, позволяющая добавлять или изменять функциональность. Среди «стандартных» расширений — блог, поиск для малых сайтов, русская типографика, подключение визуального редактора TinyMCE, простая статистика (хиты/хосты/подписчики RSS).

История и планы на будущее

Information

Rating
Does not participate
Registered
Activity