Pull to refresh
21
0
Константин @KonstantinKuklin

User

Send message

Грязными руками на титульную страницу Google

Reading time2 min
Views1.1K
Хочу рассказать о маленьком расширении к хрому, которое неожиданно родилось у нас в компании.

Меня всегда раздражало в Google Chrome его ориентированность на отдельный поисковик. Ничего не имею против поиска от Google, но бывают ситуации, когда необходимо воспользоваться альтернативой (для меня это, как правило, Яндекс). В Firefox, например, для этого просто надо выбрать в выпадающем списке нужный поисковой движок, а в Хроме приходится либо вбивать урл другого поисковика и повторять запрос там, либо менять дефолтный поиск, что, мягко говоря, неинтуитивно и избыточно. Не так давно Google наконец привел все свои сервисы к единому знаменателю: тыкая кнопки меню вверху страницы, можно повторять поиск в почте, документах и даже на Youtube с сохранением поискового запроса. Возникла естественная идея прикрутить туда же кнопочку для Яндекса. Что из этого вышло — под катом.

Читать дальше →
Total votes 30: ↑17 and ↓13+4
Comments51

Динамическое отображение логов в броузере на Node.js & WebSocket

Reading time3 min
Views4.4K
Динамическое отображение логов в броузере на Node.js & WebSocket

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

Инструменты и модули для решения

Для серверной части был выбран Node.js. Но похожий пример можно аналогично реализовать и с использованием EM на руби. В данном случае подкупила библиотека Socket.IO, а также несколько простых модулей для работы с файлами.

Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments7

YouTube на торрентах

Reading time4 min
Views68K
P2P YouTube — новое расширение от Torrent Stream, для браузеров Google Chrome; Mozilla Firefox и Opera, которое дает возможность воспроизводить видео на сайте YouTube посредством торрентов!

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

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

Хотите больше узнать о функциях и возможностях расширения?
Читайте далее
Total votes 76: ↑70 and ↓6+64
Comments91

Landing page, которая работает

Reading time6 min
Views582K


Знания о том, как сделать хорошую landing page помогут увеличить количество желаемых действий, совершаемых пользователями на Вашем сайте. В статье приводится обзор элементов дизайна хорошей landing page.
Читать дальше →
Total votes 86: ↑79 and ↓7+72
Comments28

Структуры данных, используемые в Redis

Reading time4 min
Views44K
От переводчика:
Хочу представить вашему вниманию перевод ответа одного из разработчиков Redis, на вопрос о том, какие структуры данных используются внутри Redis. Оригинальную дискуссию вы можете найти на stackoverflow.


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

Но поскольку вы спросили, вот внутренние реализации каждой структуры данных Redis:

  • Строки реализованы с использованием библиотеки динамических строк C, так что мы не платим (говоря асимптотически) за выделение памяти в операциях добавления. Таким образом мы получаем сложность добавления O(N), вместо, например, квадратичной.
  • Списки реализованы как связные списки.
  • Множества и Хэши реализованы как хэш-таблицы.
  • Упорядоченные множества реализованы как списки с пропусками (особый тип сбалансированных деревьев)
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments5

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

Aleph PHP Framework

Reading time6 min
Views5K

Итак, встречайте Aleph!


Новый микро-фрэймворк на PHP, по размеру и функционалу, которого уместно сравнение разве что только с медицинским скальпелем.

По умолчанию содержит всё необходимое для быстрого старта и написания приложений.

Причины, почему стоит обратить на него внимание:
  • Фрэймворк реально маленький. Обильно сдобренный phpDoc комментариями код занимает около 3000 строк;
  • Фреймворк является результатом более чем 6-ти летней профессиональной деятельности его авторов в области web-разработок;
  • Возможности фрэймворка позволяют использовать его как базу под практически любое приложение.

Причём Aleph — это пока что только ядро полноценного фреймворка, уже готового и давно используемого в реальных web-приложениях. Публикация остальных частей системы не за горами — вы просто влюбитесь в возможность проектировать и реализовывать приложения так, как если бы вы делали это в десктопном программировании (не надо пытаться представить это прям сейчас и тут же критиковать, дождитесь пока не увидите это своими глазами, и поймёте, что я имел в виду). Есть и ORM, и система контролов (именно контролов, типа тех, что в ASP.Net), валидаторы, кэширование, шаблонизация и всё то, что делает набор вспомогательных библиотек фреймворком.
Читать дальше →
Total votes 46: ↑23 and ↓230
Comments58

User experience design: как построить сайт для клиентов, а не для себя

Reading time8 min
Views76K
В конце апреля я делал доклад на РИФ 2012 про этапы проектирования пользовательского интерфейса. Так как видео нет, попробую представить доклад в виде слайдов с моими комментариями.

UX

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

Читать дальше →
Total votes 207: ↑187 and ↓20+167
Comments69

Как повысить эффективность сайта или 5 причин начать использовать Google Analytics

Reading time8 min
Views12K
К написанию этой статьи меня подтолкнул один из самых популярных вопросов, который я регулярно слышу от потенциальных клиентов: как моему бизнесу поможет внедрение системы веб-анализа, которую вы нам советуете использовать? Руководители компаний, директора и менеджеры по маркетингу и рекламе, у которых в России, по большей части, к сожалению, пока достаточно низкое понимание принципов веб-маркетинга, хотят видеть реальные примеры того, как внедрение таких систем как Google Analytics и Яндекс Метрика может помочь их бизнесу. Обычно клиенты имеют базовое представление о возможностях таких систем и используют их возможности по минимуму: следят за посещаемостью своих сайтов, знают, откуда к ним приходят посетители, имеют общее представление о показателе отказов и приблизительно знают значение конверсии на своих сайтах. Если и Вы, уважаемые читатели, считаете, что этого достаточно для измерения эффективности Вашего сайта и рекламных кампаний (будь то контекстная реклама, SEO или любой другой способ привлечения посетителей на Ваш сайт), то значит, что Ваши конкуренты, которые активно используют системы статистики, или уже Вас обогнали, или скоро обгонят.

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

Читать дальше →
Total votes 52: ↑45 and ↓7+38
Comments4

Что скрывает от нас директория .git

Reading time4 min
Views25K
Вот и мне посчастливилось познакомиться с git. Каюсь, пользуясь Subversion, я знал, как в IDEA или TortoiseSVN сделать то, что мне надо, но даже не представлял, что происходит за сценой. В данном случае я решил подойти к git более ответственно и хорошенько изучить его перед использованием. Сейчас я знаю какие команды надо использовать для выполнения задуманного, но не знаю, как это сделать в IDEA или TortoiseSVN.
Но я решил пойти еще дальше и узнать, что происходит в самой директории .git. Там оказалось все настолько интересно и просто, что я решил поделиться этим с вами.
Читать дальше →
Total votes 177: ↑168 and ↓9+159
Comments23

Symfony 2: Полезные библиотеки и бандлы

Reading time9 min
Views54K
Уже около полугода для разработки веб-проектов используем Symfony 2. Накопился список полезных библиотек и бандлов, не входящих в состав symfony-standard, но значительно экономящих время и избавляющих от изобретения велосипеда.



Обзор больше теоретический и включает следующие разделы:
  • Админгенераторы
  • Пользователи
  • Импорт/экспорт xls
  • API и OAuth 2.0
  • Меню/навигация
  • Мультимедиа
  • Формы
  • Поиск
  • Пагинация
  • Файловая система
  • HTTP клиент

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

Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments16

Brainwashing by Evil Martians — мастер-класс по разработке на Ruby on Rails 19-20 мая в Москве

Reading time1 min
Views892
Привет, %username%!

Evil Martians в третий раз проведут мастер-класс по разработке на Ruby on Rails 19 и 20 мая: http://brainwashing.pro/rails.


Читать дальше →
Total votes 34: ↑24 and ↓10+14
Comments9

Создание плагинов для Redmine

Reading time4 min
Views17K
Процесс создания плагинов для Redmine очень слабо документирован. Задача данной статьи отчасти восполнить этот пробел, рассказав про успешный опыт создания небольшого, но полезного плагина. Важное примечание. Redmine написан на Ruby on Rails, вам нужно быть к этому готовым, если вы собрались делать свой плагин :)
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments2

Искусство публичных выступлений

Reading time9 min
Views105K
Эта статья открывает серию статей — если окажется, что Хабраколлеги сочтут ее интересной, ибо первое правило публичных выступлений гласит: рассказывай людям о том, что им интересно!

Если вы раньше не выступали на публике или боитесь это делать — вам под кат. Если вы считаете себя опытным докладчиком, для вас будет вторая статья серии.

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

Историческая справка: на Хабре по этой теме уже было небольшое обсуждение год назад.

Читать дальше →
Total votes 235: ↑223 and ↓12+211
Comments59

Ajax сайт индексируемый всеми поисковиками

Reading time2 min
Views6K
Вижу очень много статей на тему того что люди пытаются сделать Ajax сайты но их смущает то что такие сайты не будут проиндексированы поисковиками. У Google с этим все в порядке, можно использовать специальный синтаксис.

Некоторое время назад у меня стояла задача сделать Ajax сайт работающий «как твиттер» но при этом индексируемый поисковиками.

Читать дальше →
Total votes 38: ↑20 and ↓18+2
Comments28

Mailcheck.js — проверка емейла на опечатки

Reading time1 min
Views3.8K

jQuery плагин Mailcheck (github) — клиентсайд проверка емейла на опечатки по заранее определённму списку (к примеру, наиболее популярных почтовых сервисов).

Демка | сорсы демки (jsfiddle)


По заявлению (en) авторов (Kicksend), сей плагин увеличил кол-во подтверждений емейла при регистрации на 50%.

Под катом инструкция для кириллических доменов и алгоритмическая задачка
Total votes 75: ↑70 and ↓5+65
Comments20

Креативные сайты с нестандартными элементами

Reading time3 min
Views63K
Последнее время все чаще можно встретить сайты с необычным дизайном и функциональностью, увидев которые, можно залипнуть на некоторое время. Увидев такие, у меня рука непроизвольно тянется к f12, чтобы открыть firebug и посмотреть, как же реализован тот или иной компонент. Таким образом можно открыть для себя интересные техники и в будущем реализовать их на своих проектах. Некоторые из них стали доступны с приходом новых технологий, например таких, как CSS 3 — то, что раньше было реализовано на флеше, теперь можно воплотить с помощью строк кода в таблице стилей. Дизайнеры тоже не теряют времени, создавая новые тренды и все плотнее взаимодействуя с верстальщиками. В этой статье я хотел бы показать 15 сайтов, которые так или иначе удивили и порадовали меня. Возможно, кого-то они вдохновят на собственный шедевр



Читать дальше →
Total votes 105: ↑94 and ↓11+83
Comments41

jQuery File Upload

Reading time2 min
Views182K
Ура! Еще один, свеженький… чем он лучше других?



а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
б) Красивенький! Можно не точить, а ставить из коробки. Основан на Bootstrap'е и иконках Glyphicons
в) Само собой мультиселект файлов, Drag&drop, прогрессбар и превьюшки фотографий.
г) Поддержка кросдоменного соединения, докачка и ресайз фоток на стороне клиента.
д) Готов для любой платформы сервера (PHP, Python, Ruby on Rails, Java, Node.js, и тому подобное.)

blueimp.github.com/jQuery-File-Upload

Поддержка браузеров:

github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

Читать дальше →
Total votes 215: ↑206 and ↓9+197
Comments118

Навигация по сайту: задачи и инструменты

Reading time7 min
Views30K

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

Читать дальше →
Total votes 63: ↑60 and ↓3+57
Comments31

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity