Как стать автором
Обновить
10
0

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

Отправить сообщение

20 инструментов для мониторинга Твиттера

Время на прочтение3 мин
Количество просмотров46K

Существует огромное количество разнообразных сервисов для Твиттера. Здесь я отобрал те из них, которые будут полезны для сбора статистики.


Внимание, под катом много картинок!
Всего голосов 67: ↑53 и ↓14+39
Комментарии14

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

Время на прочтение1 мин
Количество просмотров67K
image
Пользователь когда-то подписался на рассылку, но уже забыл когда, и главное зачем. Теперь ежедневно к нему падает спам, а по собственному опыту он знает, для того чтобы отписаться нужно зайти по ссылке свой профиль, найти и снять там какую-то галку а главное, помнить свой логин и пароль на давно забытом им сайте.
Его действия? «В спам!»

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

И вот, с десяток таких «отписок» и гугл будет удобно отсортировывать ваши рассылки в папочку Спам (584), у ВСЕХ ваших подписчиков.

Однако многие из нас уже успели заметить: некоторые письма в Gmail при попытке отметить их «В спам!» САМИ предлагают отписаться от рассылки в один клик.

Эта фича была введена google более года назад, но лишь единицы рассылок научились ей пользоваться. И не удивительно. В рекомендациях по осуществлению массовых рассылок, лишь косвенно упоминается о том, что Вам нужно сделать.
А сделать нужно не многое.
Читать дальше →
Всего голосов 238: ↑230 и ↓8+222
Комментарии60

Практическое применение Backbone.View

Время на прочтение4 мин
Количество просмотров28K

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

Задача


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


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

Скачиваем backbone.js, jquery, jquery ui, underscore.js и
Вперед
Всего голосов 41: ↑35 и ↓6+29
Комментарии36

Расстановка точек над onmousewheel и немного о луковом супе

Время на прочтение10 мин
Количество просмотров16K
Я уже писал о своих экспериментах со скроллбарами на сайтах и в веб-приложениях, но эти опыты удались не вполне. Поэтому я пока оставил идею кастомизации скроллбаров, но решил досканально разобраться с событиями, вызываемыми прокруткой колеса мыши.

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

Забегая вперёд, скажу, что этот экперимент удался вполне, а итоговый результат работает во всех десктопных браузерах, начиная с IE7 (по идее, должно работать и в шестом, но сейчас нет возможности это проверить). Также, хочу выразить благодарность поисковой системе Гугл. Без неё жизнь была бы соткана из уныния и отчаяния.
Читать дальше →
Всего голосов 102: ↑95 и ↓7+88
Комментарии40

Практический пример использования Backbone

Время на прочтение5 мин
Количество просмотров44K
В данной заметке речь пойдет об использовании Backbone, а в частности, примеры кода работающего с сервером. Это должен быть некий промежуточный пункт в блужданиях Ищущего, так как иначе начать им пользоваться очень сложно, а вероятность отказаться от идеи перехода стремится к единице.

Зачем вообще нужна данная публикация? Тут уже были статьи по теме, но они затрагивают лишь очень поверхностно то, о чем и так написано в документации, хотя следовало бы показать пути недокументированные. Именно так: backbone это не комплексная standalone библиотека вроде Jquery, которую и не тронешь, не сломав. Данная библиотека предназначена лишь для построения приблизительной структуры; мы же можем лепить из данного материала то, что нам нужно. Еще раз: тут нет смысла искать готовые паттерны, буква в букву примеры не нужно перепечатывать, все равно не поможет. Нужно научиться пользоваться инструментом, после чего уже бросаться в бой.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии37

Повторно используемый кэширующий прокси на JavaScript

Время на прочтение4 мин
Количество просмотров2.5K

Проблема


Ни для кого не секрет, что производительность и по сей день остается одним из основных показателей качества веб-приложения. И, конечно, любой веб-разработчик провел не один час, оптимизируя свое приложение и добиваясь приемлемой производительности, как на серверной, так и на клиентской стороне. Несмотря на то, что аппаратное обеспечение день ото дня становится все мощнее и мощнее, всегда находятся узкие места, которые бывает непросто обойти. С приходом AJAX, HTTP запросы стали «мельче» по объему получаемых на клиента данных, но их количество увеличилось. Каналы связи могут быть достаточно широкими, а вот время соединения и процесс формирования ответа на сервере могут занимать значительное время. Кэширование результатов запросов на клиенте может значительно повысить общую производительность. Не смотря на то, что кэширование может быть настроено на уровне HTTP протокола, часто оно не удовлетворяет реальным требованиям.
Читать дальше →
Всего голосов 50: ↑43 и ↓7+36
Комментарии26

Кросспостинг в twitter, facebook, livejournal, vkontakte

Время на прочтение7 мин
Количество просмотров81K

Когда я писал проект crafthunters.com, я заметил что для раскрутки клиенты используют социальные сети. Пользовались виджетами и лайками, но по хорошему надо было попадать в ленту новостей. Кроме того, популярный вконтакте вывел новости на главную страницу в сентябре. Т.е. для распространения контента надо было адаптировать standalone блог для представления в социальных сетях, используя простую истину: попасть в ленту новостей популярных социальных сетей. Вначале это происходило вручную и приносило более половины траффика. Потом пришла идея это всё автоматизировать.
Популярными социальными сетями у нас были:
  • facebook
  • вконтакте
  • livejournal
  • твиттер

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

Далее я хочу представить реализацию кросспостинга под эти четыре социальные сети для asp.net mvc.
Читать далее
Всего голосов 39: ↑34 и ↓5+29
Комментарии31

Tactoom.com изнутри — социальная блог-платформа на NodeJS/NoSQL

Время на прочтение7 мин
Количество просмотров6.5K
Tactoom.com - under the hoodИтак, пришло время раскрыть некоторые карты и рассказать о том, как устроен Tactoom изнутри.

В этой статье я расскажу о разработке и выведении в production веб-сервиса с использованием:
NodeJS (fibers), MongoDB, Redis, ElasticSearch, Capistrano, Rackspace.
Читать дальше →
Всего голосов 174: ↑159 и ↓15+144
Комментарии76

Написание сложных интерфейсов с Backbone.js

Время на прочтение13 мин
Количество просмотров100K
image

Backbone.js это каркас для создания RIA JavaScript приложений, его автором является Jeremy Ashkenas, создатель CoffeeScript, Backbone является частью компании Document Cloud ей же «принадлежит» Underscrore.js. Backbone — очень легкая библиотека, помогающая вам создавать интерфейсы. Она может работать с любыми библиотеками, к которым вы привыкли.
Backbone это набор классов, размером менее 4Кб, которые формируют структуру вашего кода и помогают создавать качественные MVC веб-приложения.
Backbone формирует структуру тяжелых JavaScript приложений, внесением моделей с key-value подобным хранилищем и своими событиями, коллекций с богатыми API, видов (ориг. views) с декларативной обработкой событий и соединяет все это в в одно приложение, поддерживающее RESTful JSON интерфейс.

Backbone не может работать без Underscore.js. Для поддержки REST API и работы с DOM элементами в Backbone.View настоятельно рекомендуется подключить json2.js и jQuery-подобную библиотеку: jQuery или Zepto

В статье будет рассмотрена структура Backbone.js, будет поэтапно создано простое Todo приложение.
Читать дальше →
Всего голосов 108: ↑103 и ↓5+98
Комментарии47

Базовая архитектура веб-приложения на Backbone.js

Время на прочтение2 мин
Количество просмотров22K
Разработчики часто просят рассказать о моём опыте использования Backbone.
Многие слышали об этом MVC-фреймворке, смотрели примеры и документацию, но не решаются начать с ним работать. Поэтому вчера я сделал мини-доклад на встрече MoscowJS, призванный рассказать о том, как мы построили базовую архитектуру и какие получили плюсы. И сегодня в этой статье я публикую слайды, схемы и краткое описание.


Читать дальше →
Всего голосов 88: ↑82 и ↓6+76
Комментарии33

Загрузка страницы с помощью Ajax как ВКонтакте

Время на прочтение3 мин
Количество просмотров76K
Не так давно я задался вопросом, как же можно сделать так, чтобы страницы загружались с помощью ajax скрипта, как вконтакте и при этом были проиндексированы поисковыми машинами.

Данный скрипт я сделал на основе JS фреймворка jQuery (перейти на сайт) и плагина HashChange (перейти на страницу плагина).

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

Подключение скриптов:
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/hashchange.js"></script>


Функция:
	$jQuery = jQuery.noConflict();
	$jQuery(window).hashchange(function(){
		var link = window.location.hash.replace("#", "");
		get_page_by_hash(link);
	});

Читать дальше →
Всего голосов 61: ↑33 и ↓28+5
Комментарии41

Дополнение к локализации ASP.NET MVC – Используем маршрутизацию

Время на прочтение4 мин
Количество просмотров2.7K
Дополнение к прошлому посту от Alex Adamyan, посвященный локализации в ASP.NET MVC приложениях. Хотя это материал относится к ASP.NET MVC 2, его можно смело использовать и в версии 3.

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

Также этот метод локализации не потребует трюк с OutputCache, как было описано в предыдущем посте.

Цель этого поста – возможность показать, как получить из URL-адреса вида /{culture}/{Controller}/{Action}... в Вашем приложении, URL-адрес вида /ru/Home/About.
Читать дальше →
Всего голосов 30: ↑24 и ↓6+18
Комментарии10

Поработаем с MongoDb

Время на прочтение4 мин
Количество просмотров105K


В текущее время появляется всё больше high-load проектов оперирующие колоссальным объемом данных. И уже нельзя обойтись классической реляционной моделью хранения этой информации. Всё более популярными становятся NoSQL базы данных (NoSQL — обозначает Not only SQL). Одной из таких баз данных является MongoDB, которая уже заслужила внимание к себе таких компаний как Disney, craiglist, foursquare. К тому же тут неоднократно писали о ней:
NoSQL, используя MongoDB, NoRM и ASP.NET MVC
Шардинг MongoDB на пальцах
Репликация MongoDB на пальцах

Это еще одна статья о работе с MongoDb в среде .net.

Что потребуется:
1. Скачайте (http://www.mongodb.org/downloads), распакуйте и запустите mongod (это сервер)
2. Драйвер (https://github.com/mongodb/mongo-csharp-driver/downloads)
3. Поехали

Читать дальше →
Всего голосов 47: ↑37 и ↓10+27
Комментарии22

19 историй о SaaS-бизнесе

Время на прочтение5 мин
Количество просмотров19K
28 мая мы провели Неконференцию *aaS предпринимателей, на которую пришло более 150 человек, чтобы послушать 19 рассказов о ведении облачного бизнеса в России и СНГ.

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

Приятного просмотра!
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии2

Быстрая автоматическая установка Ruby on Rails на IIS 7

Время на прочтение4 мин
Количество просмотров7.2K
Популярность фреймворка Ruby on Rails постоянно растет, общество становится шире и, если раньше об использовании Ruby на Windows говорилось редко, то сегодня это вполне реальная практика.

Такие проекты как RubyInstaller (http://rubyinstaller.org/) и RailsInstaller (http://railsinstaller.org/) значительно упрощают создание рабочей среды на Windows. Вы можете использовать нативный MRI 1.8 и 1.9, JRuby или даже IronRuby работающий на .NET. С Windows работает большинство gem-пакетов, причем благодаря DevKit (https://github.com/oneclick/rubyinstaller/wiki/Development-Kit) «сишные» джемы можно собирать прямо из исходников.

Однако, несмотря на активное развитие средств разработки, до сих пор Windows и в частности веб-сервер IIS практически не использовались как «продакшн» решение для развертки Rails приложений. Но с появлением нового инструмента Helicon Zoo на базе Web Platform Installer – эта ситуация поменялась.

Helicon Zoo


Helicon Zoo – это репозиторий веб фреймворков и приложений, позволяющий легко устанавливать и запускать Rails, Django (фактически любые rack, wsgi или FastCGI приложения) и Mojolicious на веб-сервере IIS.

Читать дальше →
Всего голосов 43: ↑32 и ↓11+21
Комментарии64

Prolog — удивительный язык программирования

Время на прочтение10 мин
Количество просмотров206K
— Чем же он удивительный? Я знаю пару десятков языков и для меня не проблема изучить еще один новый, я просто уже не вижу необходимости.

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

Пролог — уникален по своей природе, он появился благодаря счастливому совпадению (таинственному устройству мира). Когда-то в 60-х годах очень бурно развивалась теория автоматического доказательства теорем и Робинсоном был предложен алгоритм резолюций, который позволял доказать любую верную теорему (вывести из аксиом) за конечное время (за какое не известно). Как оказалось позже, это наилучшее решение общей задачи, невозможно доказать теорему за ограниченное число операций. Простыми словами, алгоритм представляет собой обход (в общем случае бесконечного) графа в ширину, естественно, что предсказуемость работы алгоритма практически равно 0, соответственно для Языка Программирования — это абсолютно не подходит. И в этот момент Кальмэроу нашел блестящее сужение задачи, благодаря которому доказательство некоторых теорем выглядело как процедурное исполнение программы. Стоит отметить, что класс доказуемых теорем достаточно широк и очень хорошо применим для класса программируемых задач. Вот так в 1972 появился Prolog.

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

Читать дальше →
Всего голосов 101: ↑93 и ↓8+85
Комментарии116

Фриланс и вывод денег: личный опыт

Время на прочтение4 мин
Количество просмотров105K
Добрый день, жители хабра! Я занимаюсь фрилансом (хотя это слово не очень люблю) на протяжении последних четырёх лет. В этом небольшом топике мне хотелось бы рассказать о различных способах вывода заработанных непосильным трудом денежных средств. Для начала стоит сказать о том, как именно организована моя работа. Я использую всего два варианта – oDesk и работа напрямую. С клиентами из России работать ещё не доводилось, так что о таких знакомых вариантах вывода денег, как WebMoney и Яндекс.Деньги речь идти не будет.

Читать дальше →
Всего голосов 86: ↑81 и ↓5+76
Комментарии104

Написание своего Session Store Provider ASP.NET использующего Redis

Время на прочтение8 мин
Количество просмотров5.4K
Приветствую,

В этой статье я бы хотел поделиться опытом написания собственного Session Store Provider'a с использованием Redis в качестве хранилища.

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

Так же, для тех кто хочет попробовать результат в деле, я дам ссылку на исходники.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии28

Гигагерцы задешево — Win 2008R2 Core на Amazon

Время на прочтение5 мин
Количество просмотров4.7K
Занимаясь стартапами я, наконец-то, дошел до той точки, когда нужно быть готовым отмасштабировать приложение на N серверов для 1M просмотров в день и я начал думать, как же это сделать наиболее эффективно с использованием Amazon Ec2.

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

Из недорогих серверов у амазона особого выбора нет. Изначально я планировал использовать для этого Small Instance — именно этот вариант рекомендует amazon по умолчанию. В нем 1.7 GB RAM, что довольно комфортно для windows, но только 1 ECU. На практике в памяти можно разместить 5-8 рабочих процессов, однако, толком работать одновременно они не способны — ядро одно и очень слабое: 1 ECU это всего-то 1 Ghz одного ядра Xeon образца 2007 года. По моим оценкам, примерный эквивалент — процессор Celeron на частоте 1.5 Ghz. Стоит такой сервер $0.12 в час ~ $86 в месяц, десяток — $860 в месяц… Было очевидно, что эта конфигурация сервера не совсем отвечает моим задачам.

Поэтому я решил попробовать Micro instance — всего-навсего 613 MB памяти, но зато:
  • производительность достигает 2 ECU
  • он в 4 раза дешевле
  • можно использовать 64 битную платформу Windows Server 2008 R2 Core


Читать дальше →
Всего голосов 45: ↑36 и ↓9+27
Комментарии29

Declarative HTML Helpers

Время на прочтение3 мин
Количество просмотров14K

@functions @helpers


Большинство хелперов в asp.net mvc 3 это методы-расширения класса System.Web.Mvc.HtmlHelper.
Однако не всегда удобно создавать отдельный статический класс для 2-3 хелперов необходимых в одной вьюшке. И совсем неудобно создавать хелперы возвращающие большие блоки html-кода: ни подсветки синтаксиса, ни интеллисенса, ни прочих плюшек.

Для решения этих проблем в Razor есть два замечательных блока. Они позволяют создавать хелперы непосредственно в .cshtml-файлах.

image
Круто! но зачем это нужно?
Всего голосов 42: ↑37 и ↓5+32
Комментарии12

Информация

В рейтинге
Не участвует
Откуда
Украина
Зарегистрирован
Активность