Pull to refresh
4
0
andriano @andriano

Backend-developer

Send message

Расширение, сворачивающее Google Chrome в трэй

Reading time1 min
Views13K
Я написал свое первое расширение для Google Chrome, которым хочу с вами поделиться. Все, что оно делает — это прячет свернутые окна Google Chrome в трэй. Развернуть окно из трея можно кликнув правой клавишей по значку Chrome. Двойной клик приводит к разворачиванию всех свернутых окон.



Расширение работает только с Windows версией Google Chrome версии 3 и выше (проверял на 3.0.195.4 и 4.0.221.6).
Читать дальше →
Total votes 53: ↑42 and ↓11+31
Comments77

Быстрая сортировка таблиц посредством Javascript

Reading time3 min
Views17K
В процессе работы с таблицами, для удобства восприятия, а также быстрого анализа, рано или поздно возникает вопрос вывода отсортированного содержимого этих таблиц. Эту задачу в web-программировании можно решить двумя способами:

  • Сортировка на стороне сервера посредством SQL или backend'а;
  • Сортировка на стороне клиента.

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

Минусы сортировки на стороне клиента — сравнительно низкая скорость работы, прямо зависящая от браузера и мощности компьютера пользователя. Плюсы — отсутствие перезагрузки страницы, следовательно, иногда это дает бОльшую скорость получения отсортированного содержимого, т.к. в данном случае нет задержки между отправкой запроса серверу и получением результата.
Читать дальше →
Total votes 55: ↑44 and ↓11+33
Comments84

Leechcraft 0.3.0

Reading time3 min
Views1.7K
Здравствуй, %username%.
Сегодня я хочу рассказать тебе об одном своём проекте, который начался давным-давно с простого желания написать что-нибудь абстрактное, модульное и крутое.

image

Быстро пролетело чуть больше трех лет, и получился LeechCraft. LeechCraft — это модульный кроссплатформенный интернет-клиент. Модульный — все по-настоящему важное выполняется плагинами, а ядро программы только связывает их между собой, да показывает общий для них интерфейс. Кроссплатформенный? LeechCraft постоянно используется автором под Linux, запускается под Windows и, теоретически, может работать под Mac OS X. Однако, за неимением Мака работа под ним не была протестирована.

Читать дальше →
Total votes 93: ↑84 and ↓9+75
Comments110

Google Chrome получает экспериментальную поддержку жестов

Reading time1 min
Views5.9K
Представлено экспериментальное расширение к браузеру Google Chrome под названием Chromegestures. Следует отметить, что по сравнению, например, с системой управления жестами в браузере Opera, технология Chromegestures выглядит не менее развитой и довольно зрелой, если учесть, что первая версия выпущена только 16 июля этого года.

image
Для установки расширения Chromegestures необходима версия Chrome для разработчиков (dev). Кроме того, перед установкой расширения надо включить поддержку расширений, включив в команду запуска браузера параметр enable-extensions. После этого можно спокойно перейти на страницу загрузки и установить файл ChromeGestures.crx.
Читать дальше →
Total votes 48: ↑38 and ↓10+28
Comments79

Официальные темы в Google Chrome

Reading time1 min
Views5K
image

Удивлен, что через 10 часов после выхода статьи на крупном западном IT-ресурсе, Хабрасообщество все еще молчит об этой горячей новости. Хочу заполнить информационный вакуум в своем первом топике. Сильно не бейте!
Читать дальше →
Total votes 149: ↑129 and ↓20+109
Comments93

qutIM 0.2 beta — теперь банановый

Reading time2 min
Views1.2K
После трёх месяцев томительного ожидания команда разработчиков юбилейным 300-ым коммитом представила нам бета-версию замечательного кроссплатформенного мессенджера qutIM. За это время было сделано много всего нового и интересного, много переписано, сломано и исправлено, добавлен новый функционал и оптимизирована работа. С момента выхода альфа-версии её скачали более 90 тыс. человек (без учёта регулярных сборок и свн-ревизий), в бета-версии мы надеемся на увеличение этого числа :)

(альтернативная ссылка на картинку)

Что нового?
Total votes 118: ↑107 and ↓11+96
Comments308

Моя Убунта — II

Reading time4 min
Views1.1K
Ну что ж, раз пошло такое дело — значит, пришло время поговорить и нам — о башмаках, кораблях, сургучных печатях, королях и капусте, а также легкой доработке напильником дистрибутива Ubuntu, дабы получить внешний вид, описанный в этом посте — по многочисленным просьбам телезрителей, рассказав о том, что и как я делал.


Сразу скажу, что любителям поорать в коментах прошу не читать — там много графики, объяснения для новичков, вам это все равно будет неинтересно. В любом случае, я вас предупредил ;-)
Итак, чуть меньше лирики — чуть больше дела. С чего начать? Начать нужно с инвентаря. Нужно-то нам совсем ничего! Сегодня нам потребуются:
  1. Компьютер с установленным Ubuntu 7.10/8.04. На самом-то деле, почти наверняка пойдет любой другой дистрибутив с GNOME в качестве менеджера окон рабочего стола (desktop environment manager) и ...
  2. Compiz — установленный и стабильно работающий. Это важно — без него всей этой красоты не получится
  3. Третьим, фактически же — последним пунктом программы — выступает фон рабочего стола. Открою страшный секрет… хотя нет, открою его потом :-) Так вот, как именно найти этот фон я рассказывать не буду, поскольку с негодованием отметаю все претензии в лицензионной нечистоплотности, оставляю это в качестве домашнего задания (искать по слову leopard wallpaper, размер — extra large, первая картинка). Я взял ее с домашнего компьютера (так как в рабочее время им никто не пользуется, я имею полное право любоваться на картинку на работе :-) )
Господа, хватит тупо и молча миносовать и срать в карму! Будьте добры объясниться — или хотя бы прочитать дисклеймер в конце поста — и спасибо хорошим людям, которые сперва читают, потом комментируют, и только потом плюсуют или минусуют

Собственно, настройка
Total votes 80: ↑67 and ↓13+54
Comments79

Для начинающих убунтуводов. Моё мини FAQ

Reading time4 min
Views2.6K
Не беспокойтесь: это не очередной «мануал для начинающих», в котором описаны базовые принципы работы с Ubuntu и ее настройки. Нет, я вовсе не хочу повторяться, а поэтому писать буду о разного рода мелочах и вопросах, которые могут интересовать «Неофита культа Убунту» :)

Читать дальше →
Total votes 51: ↑41 and ↓10+31
Comments45

Жесты мышью в Linux

Reading time1 min
Views3.4K

Навеяно оперой.


Меня так вдохновила идея с жестами мышью что я решил поискать нечто подобное для ОС Linux. Нашел быстро. В репозитарии Archlinux оказалась утилита easystroke.

Там есть интуитивно понятный интерфейс с огромными возможностями.

Image downloaded service ITmages

Значит что можно. Можно нажать кнопочку Add Application выбрать приложение и затем команду на него. Или просто для всего рабочего окружения. Вот какие возможности можно делать с жестами:
  • Command (Выполнить команду)
  • Key (Имитация нажатия клавиш)
  • Text
  • Scroll
  • Ignore
  • Button
  • Misc (разные опции. Свернуть и т.д.)

То что не перевел сам еще не понял для чего.

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

Если кто-то это прочитает, не пинайте. Это мой первый хабрапост поэтому все так «просто» и не очень много информации.
Total votes 55: ↑53 and ↓2+51
Comments26

Глюки и недочеты ubuntu

Reading time4 min
Views6.2K
Здравствуйте. Собственно, заголовок уже объясняет то, что будет описано ниже. Но я, все-таки хочу добавить пару слов. Во-первых, я понимаю, что некоторое количество ошибок, это — не глюки самой ubuntu, а недоделки GNOM’а, или отдельных приложений. Но ведь сегодня я решил писать от имени простого пользователя, которому все равно на каком языке написана программа, и каким именно образом взаимодействуют компоненты системы. Во-вторых, я — преданный пользователь ubuntu. Фактически у меня есть 3 компьютера, и на всех стоит этот Linux. Поэтому я считаю, что имею право писать о недостатках своего любимого ПО, от которого я вряд ли куда-либо уйду. Вот здесь и начнем.
Читать дальше →
Total votes 92: ↑78 and ↓14+64
Comments173

Как я оптимизировал систему: Ubuntu 8.04 Hardy

Reading time3 min
Views2.4K
Вчера собрался ускорить работу(получилось достаточно ощутимо) и загрузку системы(30 секунд, против полутора минут), почитал многие how-to.
Опишу что и где я улучшал. Итак о способах, по порядку.
Читать дальше →
Total votes 34: ↑21 and ↓13+8
Comments47

Range, TextRange и Selection

Reading time13 min
Views78K
Многим JavaScript-разработчикам приходилось сталкиваться с объектами, перечисленными в заголовке, например, при решении следующих задач:
— создание визуальных редакторов (wysiwyg),
— поиск в окне браузера,
— выставление BB-кода,
и т.д.

В этой статье автором предпринята попытка собрать перевод документации об этих объектах в одном месте + написать небольшие сопроводительные примеры. Перевод вольный, не дословный, так что если встретите неточность или корявую формулировку — пишите в комментариях.

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

Читать дальше →
Total votes 96: ↑96 and ↓0+96
Comments28

Построение regexp'a по входным строкам S1..SN

Reading time3 min
Views1.9K
Вот совершенно недавно столкнулся с задачкой, по которой не смог накопать не то, чтобы каких либо библиотек, но даже теории или алгоритмов. Т.к. время поджимало, решил сам разбираться с задачей. Написал статью для тех, кто с подобной задачей столкнется в будущем, да и интресна критика. Как бы вы решали подобную задачу?

Итак, задача ...


На входе алгоритма есть набор строк S1..SN. Требуется, по данным строкам построить такое минимальное регулярное выражение R, чтобы R(Si)=true, i [1,N] (N порядка нескольких тысяч).
Требование минимальности — не строгое, и доказывать минимальность построенного regexp'a не требуется. Если строки S1..SN обладают некоторой схожей структурой, то regexp должен выявлять эту структуру. Стандартное задание программисту — в меру конкретизировано, но и с некоторой свободой действий.
Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments43

CSS counters

Reading time7 min
Views34K

Одной из редко используемых возможностей CSS2.1 являются счетчики. Описаны они в разделе спецификации, посвященной генерации контента. Что же это такое?

Приведу пример из спецификации, эмулирующий обычный нумерованый список с помощью счетчика и свойства content:
OL { counter-reset: item }
LI { display: block }
LI:before { content: counter(item) ". "; counter-increment: item }

Первым правилом мы назначаем элементам OL счетчик с именем «item», затем для всех LI меняем значение свойства display на block, вместо значения по умолчанию (list-item), чем отключаем стандартные маркеры-цифры. Наконец, в последнем правиле, мы инкрементируем счетчик для каждого элемента списка, а само его значение показываем перед элементом c помощью функции counter() и свойства content. Всё просто.

Но это еще далеко не всё
Total votes 78: ↑77 and ↓1+76
Comments27

Теория кэша

Reading time5 min
Views13K

Введение


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

В данной статье я попытаюсь «разложить по полочкам» проблему кэширования, ориентированную прежде всего на сайты и системы управления контентом. Сразу предупреждаю, это мои личные соображения, которые не претендуют на истину в последней инстанции. Вся терминология так же моя, вы можете использовать её, если считаете нужным на своё усмотрение. Конструктивная критика приветствуется.
Читать дальше →
Total votes 129: ↑111 and ↓18+93
Comments65

jQuery для начинающих

Reading time9 min
Views507K
jQuery Logo

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

Читать дальше →
Total votes 251: ↑230 and ↓21+209
Comments83

Польза кеширования данных. Пример из реальной практики.

Reading time3 min
Views3.4K
С появлением и развитием memcached-подобных систем в архитектурах веб-приложений появилось еще одно звено, а именно кеш-серверы. Обычно это машины с большим объемом оперативной памяти, в которой хранятся заранее подготовленные данные. Это могут быть результаты сложных запросов к БД или же отрендеренные динамические части страниц сайта. На самом деле, кеш, как и любая другая система, может использоваться как угодно, чтобы удовлетворить нужды приложения.

Суть кеширования проста.
Total votes 52: ↑43 and ↓9+34
Comments90

РИТ: Высокие нагрузки — Программа по состоянию на 20 августа

Reading time2 min
Views1.2K
Программа конференции «РИТ: Высокие нагрузки» значительно обновилась. Отчасти это обусловлено договоренностями о партнерстве с членами ассоциации «Интернет и бизнес» (Яндекс, Рамблер, Мейл.ру, Ашманов и партнеры, РБК-МедиаМир и многие другие), отчасти — усиленной работой экспертного совета.

На тему проектирования масштабируемых систем и выбора архитектуры подано около десяти заявок. Одни из самых интересных пришли от Андрея Шетухина (архитектор проектов SUP Fabrik), тезисы уточняются. Антон Федоров готовит доклад о выборе архитектуры нагруженного проекта, опираясь на примеры Goodoo-IT и Инфоскан.
Читать дальше →
Total votes 51: ↑33 and ↓18+15
Comments12

nginx как reverse proxy

Reading time1 min
Views41K
Несколько читателей блога webo.in просили меня выложить конфигурацию связки nginx + Apache, на которой работает сервер. Хотя это и не относится напрямую к теме клиентской оптимизации. Однако, большинству специалистов, занимающихся клиентской оптимизацией, будет интересно узнать о настройке нескольких хостов для выдачи статики и пара других трюков, связанных с балансировкой запросов.

Также я подробно комментирую все настройки конкретно Apache, которые так или иначе относятся к самой оптимизации времени загрузки страниц.

читать дальше на webo.in →
Total votes 4: ↑4 and ↓0+4
Comments46

nginx, memcached и SSI

Reading time3 min
Views18K
Моя первая статья, не судите строго...

Приветствую вас, уважаемые хабрадевелоперы!

Многие из вас знают о прекрасном легковесном веб-сервере nginx.
Некоторые также знают, что он умеет работать с memcached.
Но лишь немногие в курсе, при чём здесь SSI и как его можно использовать в связке с nginx и memcached.

Как известно, новое — это хорошо забытое старое. Каждый названный инструмент и технология вам наверняка известны. Я же хочу рассказать о том, как и зачем свалить всё это в одну кучу :)
Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments93

Information

Rating
Does not participate
Location
Amsterdam, Noord-Holland, Нидерланды
Registered
Activity

Specialization

Backend Developer
Lead
Golang
PostgreSQL
gRPC
Docker
Git
High-loaded systems