Pull to refresh
163
0
Send message

Первое апреля в Интернете

Reading time3 min
Views15K
По традиции собирательный пост со всеми найденным на просторах Интернета сайтами и первоапрельскими нововведениями на них. Пополняемый.

Для начала те ресурсы, что обнаружил лично:


Под катом ссылки из комментариев
Total votes 118: ↑95 and ↓23+72
Comments237

HyperDex — новое опенсорсное NoSQL key-value хранилище, заточенное на очень быстрый поиск

Reading time2 min
Views5.5K

Авторы позиционируют HyperDex как распределённое, отказоустойчивое, легко-маштабируемое, заточенное на очень быстрый поиск NoSQL key-value хранилище.

Главная фича — новый принцип хранения объектов в многомерном эвклидовом пространстве (рис. слева), используя гиперпространственное хэширование (hyperspace hashing) (на который, кстати, авторы сейчас получают патент), которое позволяет выполнять большинство типичных задач от 2 до 13 раз быстрее, чем в MongoDB, Redis, Cassandra.

О проекте и бенчмарки под катом
Total votes 72: ↑70 and ↓2+68
Comments50

Tactoom. Как насчет мидл-блоггинга?

Reading time2 min
Views884
tactoom.com
*Авто-инвайт работает только с этой страницы, кликайте на лого* UPD: Регистрация открыта.

Эволюция.


“Ангелы” развязали нам крылья дали полную свободу в формировании концепции проекта не только до запуска, но и некоторое время после. Изначально мы знали о Tactoom одно — это будет веб-площадка для общения на основе взаимных интересов. Не соцсеть, не форум, а универсальный способ общения на разные темы с разными людьми, главное — на взаимно интересные темы.
За неполных 6 месяцев, начиная с закрытой беты, Тактум прошел эволюцию, превратившись из “сами не знаем чего” в:

1. Социальную блог-платформу на основе интересов.

Суть в одном предложении: теги в ваших постах одновременно являются интересами других людей. Грубо говоря, возможность писать для целевой аудитории — функция по умолчанию.

2. Сервис мидл-блогов.

Да, да, это то, что вы подумали, — середина между микроблоггингом и классическими блогами.
Читать дальше →
Total votes 59: ↑38 and ↓21+17
Comments46

Сообщество или социальная сеть?

Reading time5 min
Views12K
От переводчика. Данный текст является вступительным текстом к минисерии из 4 публикаций, посвященных социальным сетям и сообществам, их сходствам и различиям, а также их взаимосвязи друг с другом.
  1. Сообщество или социальная сеть?
  2. Как люди образуют связи
  3. От слабых связей к сильным
  4. Поддержание сильных связей
Автор этой серии публикаций — Майкл Ву (Michael Wu), ведущий аналитик компании Lithium, специализирующийся в изучении социальных взаимодействий и онлайн-сообществ.




Я хочу поделиться с вами своим недавними исследованиями, посвященными взаимосвязи между социальными сетями и сообществами.

С 2008 года социальные медиа становятся широко используемым и модным понятием в корпоративном мире. Вопрос в том, что такое социальные медиа? Одни, похоже, отождествляют это понятие с сайтами, называющимися социальными сетями, вроде Facebook. Другие думают, что социальные медиа — это блоги, микроблоги (вроде Twitter), Flickr, Youtube или любые другие аналогичные вебдванольные сервисы, основанные на коллективном обмене информацией между пользователями. Указывают на разные типы социальных медиа, начиная с сервисов социального взаимодействия (вроде Wikipedia, Delicious или Digg), и заканчивая онлайн-сообществами (вроде тех сообществ, которые мы создаем вокруг брендов или же таких как Yahoo! Answer).

Все эти определения в некоторой степени верны, если мы классифицируем социальные медиа по их функциональным признакам. С другой стороны, писатель и блоггер Брайан Солис (Brian Solis) предложил иную классификацию социальных медиа, основанную на способах общения между людьми. Он назвал свою классифиацию «Призмой общения» (conversation prism). Однако, если мы хотим понимать социальные медиа с точки зрения выстраивания связей между людьми в рамках социальной антропологии, мы обнаружим, что существует всего два основных типа социальных медиа:
  1. Социальные сети
  2. Онлайн сообщества

Читать дальше →
Total votes 55: ↑51 and ↓4+47
Comments33

Видеохостинг своими руками

Reading time6 min
Views67K
Эта статья о некоторых технических аспектах реализации бесплатного сервиса для загрузки, хранения и просмотра видео. Будут рассмотрены вопросы настройки серверного программного обеспечения, даны примеры команд для конвертации видео и примеры кода на языке PHP.
Читать дальше →
Total votes 126: ↑126 and ↓0+126
Comments108

50 советов для разработки безупречного дизайна iOS приложения

Reading time12 min
Views58K
Привожу перевод статьи Ника Карсона. В статье собраны вместе, как мне кажется, основные правила построения интерфейса для iOS приложений.

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

2. Ориентируйтесь на устройство при создании приложений: учтите не только размер экрана, но и где и когда устройство используется. Больше всего iPad используется для развлечений между 8-11 часами вечера, перед сном, тогда как iPhone — в очереди на автобус или в кофейне. Учтите различные сценарии использования при разработке приложений – включая и то, как далеко устройство расположено от лица пользователя.

3. Рассматривайте ваше приложение поэкранно. Определите, каковы основные задачи, которые достигаются при использовании данного активного экрана, и затем сделайте так, чтобы пользователь мог решить их, используя минимальное количество дополнительных опций, кнопок и других элементов управления. Избегайте слишком большой функциональной нагрузки на активный экран, в особенности на мобильных устройствах.

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

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

За остальными 45-ю — добро пожаловать подкат.
Читать дальше →
Total votes 74: ↑62 and ↓12+50
Comments23

Google запустила сайт для разработчиков: JavaScript vs. Dart

Reading time1 min
Views4.5K


Google сделала очередной шаг для популяризации языка Dart, который позиционируется поисковым гигантом как замена JavaScript. Компания запустила для разработчиков промо-сайт Dart Synonym, облегчающий сравнение синтаксических конструкций обоих языков, удобно расположив примеры кода в двух столбцах и великодушно поставив JavaScript на первое место. Сами примеры охватывают весьма широкий диапазон: он начинается от объявлений переменных, затрагивает такие темы как работу с массивами, строками, манипуляцию с DOM, и заканчивается объектно-ориентированным программированием, так что сайт, в принципе, может служить быстрым справочником и по Dart и по JavaScript.

Стоит напомнить, что официальная презентация Dart была проведена совсем недавно — 10 октября 2011 года.

[Dart Synonym]
Total votes 102: ↑85 and ↓17+68
Comments254

Оптимизация работы с SQLite под iOS

Reading time4 min
Views13K


“Think of SQLite not as a replacement for Oracle but as a replacement for fopen()”
— About SQLite


А также, скорее всего, под Android, BlackBerry и в сэнд-боксе браузеров для веб-приложений, но я не проверял.

Почему может быть нужно работать с SQLite напрямую?

Любой опытный iOS девелопер тут же упрекнёт меня за использование SQLite напрямую (вернее не напрямую, а через FmDb, но это почти всё равно что напрямую). Он скажет, что нужно использовать CoreData, т.к. оно много всяких ништяков делает автоматически, типа Undo и Redo. И в нём можно рисовать красивые схемки, которые потом приятно показывать заказчику. А в андроиде, например, есть OrmLite.

И я соглашусь – но до той поры, пока у вас база не перевалила, скажем, за 10 таблиц по 500,000 записей в каждой. А если таблиц 52, и есть особо жирные таблицы по миллиону и больше? И базу нужно синхронизировать с сервером через третий формат, к тому же заказчику критично, будет синхронизация длиться час или пять? Если вы встречали задачи такого объёма, добро пожаловать под кат! Если не встречали – то тоже, ведь никто не застрахован от проектов с большими данными, пускай даже таких мобильных и меньше.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments34

iPhone 4 на CSS3 без использования картинок

Reading time7 min
Views8.6K

Предисловие


Несколько недель назад в просторах интернета я увидел очень заинтересовавшую меня вещь — iOS иконки на CSS3 полностью без картинок. Первое что подумал — «Я тоже так могу»! А спустя еще 5 минут для себя четко решил — «challenge accepted». Но чтоб не повторяться я решил немножко усложнить задачу — сделать не только иконки, но и сам девайс.

Постановка задачи



Итак, в тот-же день я решил сделать iPhone4 на CSS3 абсолютно без картинок, base64, canvas или SVG и добавить еще некоторую изюминку — интерактивные возможности:
— включение/выключение;
— блокировка при включении и разблокировка как в реальном iPhone;
— анимация «slide to unlock» текста на экране блокировки;

Читать дальше →
Total votes 217: ↑207 and ↓10+197
Comments144

Новый редактор стилей и 3D отображение DOM-структуры страницы в Firefox 11

Reading time2 min
Views5K
Разработчики браузера Firefox, который сейчас испытывает сильнейшую конкуренцию с Google Chrome, в марте следующего года планируют к выпуску новую 11-ю версию своего обозревателя. В ней появится ряд новых инструментов, призванных облегчить труд разработчиков.

Среди новых инструментов появится Style Editor: инструмент, предназначенный для более комфортной работы со стилями HTML-страницы. По сути, инструмент представляет из себя двух-панельное окно, одна из панелей которого предназначена для отображения списков имен стилей, а вторая — собственно, CSS-кода. Разработчики смогут создавать новые стили «на лету», импортировать их из файла, включать и выключать отдельные стили, получая возможность оценить как выглядит страница, причем выполняемые изменения тут же отображаются. Если разработчик хочет изучить CSS-код другого сайта, который часто минимизируют с целью уменьшения скорости загрузки, то Style Editor сможет определить «оптимизированные» места в CSS и отобразить их в удобном виде.

Как выглядит будущий инструмент можно оценить на скриншоте ниже:



Более эффектным визуально выглядит другое усовершенствование для разработчиков — отображение структуры web-страницы в виде 3D (функционал, который ранее был реализован в расширении Tilt)

Узнать подробности
Total votes 46: ↑41 and ↓5+36
Comments39

Уникальный ключ в условиях распределенной БД

Reading time3 min
Views33K
В случае если вы разделяете данные по нескольким физическим базам данных,
поддержка глобально-уникальных идентификаторов становится не такой уж тривиальной задачей.
Я попытался собрать вместе возможные варианты и рассмотреть их плюсы и минусы.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments86

Несколько находок

Reading time2 min
Views7.2K

Кроссдоменные запросы с помощью YQL


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

Позавчера, один уважаемый человек с форума javascript.ru с ником melky вскользь упомянул о каком-то странном, на первый взгляд, jQuery плагине, который называется jquery.xdomainajax.js
Пытливому уму программиста не нравятся всякие плагины, без понимания сути, поэтому я выковырял самую нужную часть:
var query = 'select * from html where url="http://javascript.ru/" and xpath="*"'
var url = 'http://query.yahooapis.com/v1/public/yql?q='+encodeURI(query)+'&format=xml&callback=callback';
var script = document.createElement('script');
script.src = url;
document.body.appendChild(script);
function callback(data) {
    console.log(data); //сам текст ответа находится в data.result[0]
}


Откройте консоль и зупустите код. Как видно, в запрос пихается урл сайта и XML запрос в виде xpath, ответ приходит в виде jsonp. Если в урле написать format=json, то ответ придет в виде объекта с тегами.
Дальше этого применения я не пошел, поэтому лучше сами изучите матчасть здесь: developer.yahoo.com/yql

В комментариях настаивают указать на ограничения по количеству запросов с одного IP и запросов, использующих accesskey, которого у нас нет (так что, скорее всего, можно забить :) ).

Еще немного
Total votes 51: ↑43 and ↓8+35
Comments28

Tactoom. Новые возможности

Reading time2 min
Views845
Tactoom.com6 недель назад мы писали о запуске проекта Tactoom в режиме бета-тестирования. Для тех, кто не в курсе, Tactoom – это инфосоциальный сервис, главная особенность которого – фильтр информации через интересы пользователя. Способ сохранять и делиться интересными находками или мыслями с теми, кто их оценит. Больше читайте тут: О проекте.

На сегодня в Tactoom зарегистрировано 7,5 тыс. пользователей.

* Авто-инвайт работает только с этой страницы, кликайте на лого *
Читать дальше →
Total votes 54: ↑40 and ↓14+26
Comments20

Общедоступный индекс веба (5 миллиардов веб-страниц)

Reading time1 min
Views3.9K
Организация Common Crawl сделала щедрый подарок разработчикам и компаниям, которые работают в области поиска и обработки информации. В открытый доступ на Amazon S3 выложен индекс из 5 миллиардов веб-страниц с метаданными, PageRank и графом гиперссылок.

Если вы видели в логах веб-сервера CCBot/1.0, то это их краулер. Некоммерческая организация Common Crawl выступает за свободу информации и поставила целью сделать общедоступный поисковый индекс, который будет доступен каждому разработчику или стартапу. Предполагается, что это приведёт к созданию целой плеяды инновационных веб-сервисов.
Читать дальше →
Total votes 68: ↑63 and ↓5+58
Comments39

Пишем онлайн игру на NodeJS, Express и Socket.IO

Reading time18 min
Views44K

Привет %habraname%!





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


Мало кто сегодня может сказать что не знает о NodeJS, последнее время о нём много говорят и пишут.
Я свой путь ознакомления с NodeJS начал полгода назад, тогда для меня это была просто интересное и новое, я и подумать не мог что уже через полгода это станет моим основным инструментом для разработки.

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

Но сейчас я чувствую в себе силы чтобы уже написать полноценный обучающий и не унылый материал от новичка до реального работающего приложения. Это будет не просто приложение, а онлайн игра с использованием самых популярных инструментов Express и Socket.IO, да-да, мультиплеер, который сможет сделать любой средне-статистический js разработчик.

О том, что такое Express и Socket.IO уже писали много где, поэтому описывать ещё раз я не буду, уделив больше внимания процессу разработки.

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

И так, решено! Начинаю делать крестики-нолики.
Читать дальше →
Total votes 48: ↑41 and ↓7+34
Comments56

Storm («Hadoop в реальном времени») теперь Open Source

Reading time1 min
Views6.1K
Как и обещалось, Twitter выложил на github распределённую систему обработки данных в реальном времени Storm (от компании BackType). Теперь это проект open source.

В пояснительной записке автор проекта Натан Марц объясняет, что за последнее десятилетие такие технологии как MapReduce, Hadoop и проч. произвели настоящую революцию в области обработки больших объёмов данных. К сожалению, они никак не предназначены для работы realtime. Storm предалагет альтернативное решение. Фактически, Storm можно назвать «Hadoop в реальном времени», здесь реализована такая же схема с набором базовых примитивов. Это чрезвычайно надёжная и масштабируемая система с поддержкой любых языков программирования, устанавливается одной строчкой на Amazon EC2.
Читать дальше →
Total votes 38: ↑33 and ↓5+28
Comments5

audio.js — слушаем музыку в любом браузере

Reading time1 min
Views70K
audio.js — это javascript библиотека, позволяющая использовать HTML5 тэг повсюду. Что скрывается за словом «повсюду». Если есть возможность использовать тэг , то будет использоваться он, иначе будет подключен плеер на flash. В библиотеку так же входит и UI отображение для этого плеера, которое может быть видоизменено с помощью css.
Читать дальше →
Total votes 77: ↑74 and ↓3+71
Comments37

Tactoom – закрытое бета-тестирование

Reading time4 min
Views1.4K
Tactoom.com Мы с octave «немного» поработали и сделали Tactoom. Сейчас он в закрытой бете.
Не буду писать долгих вступлений, а сразу перейду к делу.

Tactoom – веб-сервис, построенный на трех базовых «Я Хочу»:

1. Я хочу делиться с людьми, которые интересуются тем же, что и я.
2. Я хочу узнавать от других только то, что мне интересно.
3. Я хочу, чтобы «близкие по духу» люди могли находить меня, а я — их.

* Авто-инвайт работает только с этой страницы *
Читать дальше →
Total votes 128: ↑87 and ↓41+46
Comments184

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

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

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

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

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

Некоторые форки:
Chosen для MooTools
Модуль Chosen для Drupal 7
Total votes 264: ↑250 and ↓14+236
Comments57

Первый Moscow JavaScript Meetup

Reading time1 min
Views897
За последние несколько лет популярность языка JavaScript растет не по дням, а по часам. Для клиентской разработки появляются новые мощные фреймворки, на сервере появился node.js. JavaScript конференции распродают тысячи билетов в течение нескольких часов. В Кремниевой Долине встречи JavaScript разработчиков происходят чуть ли не каждый день. У этого языка большое будущее.

Однако в столице нашей Родины общение JavaScript разработчиков происходит отнюдь не так интенсивно, хотя им, без сомнения, есть что обсудить. Поэтому мы с tyro решили организовать Moscow JavaScript Meetups, и первая встреча произойдет 28-го июля в четверг в 19:30. Бизнес-инкубатор АНХ любезно предоставил нам помещение с проектором, досками, маркерами и пуфиками, место встречи расположено в 5 минутах ходьбы от метро Юго-Западная.

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

До встречи на первом Moscow JavaScript Meetup #moscowjs!
Total votes 29: ↑26 and ↓3+23
Comments25

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity