Как стать автором
Обновить
13
0
Олег @DOC_tr

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

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

Памятка пользователям ssh

Время на прочтение13 мин
Количество просмотров1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Всего голосов 360: ↑352 и ↓8+344
Комментарии148

Клавиатурные сокращения с Javascript

Время на прочтение1 мин
Количество просмотров1.9K
Mousetrap — маленькая библиотека (1.4 KB) для обработки клавиатурных нажатий.

// single keys
Mousetrap.bind('4', function() { highlight(2); });
Mousetrap.bind("$", function() { highlight(3); }, 'keydown');
Mousetrap.bind('x', function() { highlight(4); }, 'keyup');

// combinations
Mousetrap.bind('command+shift+K', function() { highlight(7); });
Mousetrap.bind(['command+k', 'ctrl+k'], function() { highlight(8); });

// gmail style sequences
Mousetrap.bind('g i', function() { highlight(11); });
Mousetrap.bind('* a', function() { highlight(12)});

// konami code!
Mousetrap.bind('up up down down left right left right b a enter', function() {
    highlight([15, 16, 17]);
});

Как видно, поддерживаются как одиночные нажатия, так и сочетания и клавиатурные комбо.

Работает в Internet Explorer 6+, Safari, Firefox, Chrome (с включенным Vimium не работает).

Пробуйте — craig.is/killing/mice
Всего голосов 58: ↑55 и ↓3+52
Комментарии28

Статический анализ PHP-кода с помощью HipHop

Время на прочтение5 мин
Количество просмотров8.4K
Неожиданно не нашёл информации на русском языке о такой замечательной возможности HipHop, как статический анализ кода для PHP, а потому встречайте обзор, на идею которого меня натолкнула презентация Расмуса на DevConf.

А как это вообще?

Статический анализ кода — вещь весьма полезная, ведь иначе ошибку мы не увидим, пока функция, её содержащая, не будет вызвана. Как же это делает HipHop? Он транслирует PHP в C++!

Таким образом мы получаем возможность статически проанализировать C++ код, что, в общем, давно никого не удивляет, а потом применить полученную информацию к PHP (естественно автоматически).

Итак, начнём.
Читать дальше →
Всего голосов 62: ↑54 и ↓8+46
Комментарии62

Вебинар: Что такое регулярные выражения?

Время на прочтение2 мин
Количество просмотров8.3K
Это четвертый вебинар из цикла бесплатных вебинаров по автоматизации тестирования.
Видеозапись (продолжительность 1 час 10 мин.):

Темы и детали видеозаписи под катом
Читать дальше →
Всего голосов 38: ↑28 и ↓10+18
Комментарии11

Как создать видео-проигрыватель на JQuery, HTML5 и CSS3

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

В этом уроке мы будем создавать видео плеер, для этого будем использовать CSS3 для моделирования и библиотеку «MediaElement.js» для функциональности. MediaElement.js это HTML5 аудио и видео плеер, который работает в старых браузерах имитируя MediaElement HTML5 API с помощью Flash и Silverlight.

Демонстрационный вариант
Исходные файлы
Читать дальше →
Всего голосов 70: ↑61 и ↓9+52
Комментарии35

Bomberman Online — HTML5 мультиплеер онлайн игра от хабраюзеров. Тестируем нагрузку!

Время на прочтение2 мин
Количество просмотров18K
Bombermine Online — результат последних двух недель тестирования и подготовки движка для большого кол-ва игроков онлайн.

Движок написан на Java + Jetty (бекэнд). Фронтэнд — HAProxy + Nginx + Node.js. Клиентсайд — GWT, который транслируется в HTML5/canvas + javascript + websockets. Хостится всё в облаке.

На данный момент рекорд — 50 игроков онлайн. Настроен весь необходимый софт для мониторинга нагрузки. После хабраэффекта обещаем выложить отчёт. Ждём гостей.

Ну а под катом: видео геймплея и немного предыстории создания движка
Всего голосов 208: ↑195 и ↓13+182
Комментарии179

Codeception — тестирование по-новому

Время на прочтение4 мин
Количество просмотров87K
PHP очень популярный язык программирования, но тестирование в нем, это скорее прерогатива экспертов, а не жизненная необходимость. Неужели это от того, что PHP-разработчики поголовно быдло-кодеры? Я считаю, что нет. Скорее всё от того, что системы тестирования порой излишне усложнены. А тесты, наоборот, должны были предельно просты: легко читаться, писаться, отлаживаться, и конечно же, быстро выполняться. Мое виденье того как это можно воплотить в PHP вылилось в проект под названием Codeception.

С ним тесты для ваших веб-приложений могут выглядеть так:
<?php
$I = new TestGuy($scenario);
$I->wantTo('create new blog post');
$I->amOnPage('/blog/posts');
$I->click('Create new post');
$I->fillField('Title','Codeception, a new way of testing!');
$I->fillField('Text','Codeception is new PHP full-stack testing framework.');
$I->click('Send');
$I->see('Congratulations, your post is successfully created!');


Согласитесь, такой тест понятен без дополнительных комментариев.
А теперь самое интересное: этот код без всяких изменений может быть выполнен как функциональный тест в фреймворках symfony, Symfony2,Zend Framework, а также в браузерном эмуляторе Goutte и даже через Selenium. Таким образом, вам предлагается единый интерфейс для написания функциональных тестов практически для любого сайта.
Читать дальше →
Всего голосов 75: ↑70 и ↓5+65
Комментарии68

Codeception — новости проекта

Время на прочтение3 мин
Количество просмотров5.2K
imageЯ уже писал на Хабре о Codeception — фреймворке для тестирования приложений на PHP. Если вы никогда раньше не писали тестов для вашего приложения, вам обязательно стоит взглянуть на Codeception. Он очень прост в использовании и сделан специально, чтобы уберечь разработчиков от рутины.

Сегодня я хотел бы рассказать, какие фичи появились в проекте в последнее время, а также отвечу на пару популярных вопросов.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии12

Несколько полезных сервисов

Время на прочтение2 мин
Количество просмотров126K
Хочу поделиться ссылками на несколько полезных сервисов. Некоторые из них помогут сэкономить время, другие — сделают за Вас незнакомую/нелюбимую работу. Список разбит по категориям, чтобы было легче ориентироваться.

Сервисы опросов
userreport.com (добавил Romanych)
simpoll.ru
webanketa.com (добавил mihass)

Кнопки постинга в социальные сети
Кнопка от Яндекса
addthis.com (добавил UksusoFF)
share42.com
Читать дальше →
Всего голосов 382: ↑356 и ↓26+330
Комментарии108

Как научиться читать чужой код

Время на прочтение3 мин
Количество просмотров7.8K
Предположим, от такого занятия Ваши веки постепенно тяжелеют, и… Приходится пробудиться от необходимости понять чужой код и привести его в порядок. На мой взгляд, визуально сканировать иероглифы не так сложно как может показаться сначала. Как бы то ни было, необходимо уметь читать чужой код и редактировать, и один процесс не существует без второго.
Читать дальше →
Всего голосов 24: ↑15 и ↓9+6
Комментарии8

Несколько полезных сервисов. Продолжение

Время на прочтение2 мин
Количество просмотров28K
Продолжая тему предыдущего поста Несколько полезных сервисов, хочу поделиться новыми ссылками.

Экспорт контента
  • rss-script.ru – сервис для вставки содержимого RSS-ленты на сайт. Для его работы необходимо лишь сгенерировать скрипт на сайте и вставить его себе. Есть несколько настроек, позволяющих изменить вид содержимого
  • twitterfeed.com позволяет постить содержимое RSS-ленты в Twitter, Facebook и LinkedIn. Достаточно простой сервис, нет дополнительных настроек, но есть счётчик кликов
  • ifttt.com – многофункциональный сервис, позволяющий связывать различные аккаунты (описание)

Песочницы
К уже названным ранее cssdesk.com и jsfiddle.net можно добавить dabblet.com, jsbin.com (добавил Jekyll). Также есть песочница для SQL – www.sqlfiddle.com (добавил volinrok).

Шаринг фрагментами текста/кода
Для того, чтобы поделиться фрагментом текста или кода, можно использовать всем известный pastebin.com, а можно воспользоваться его альтернативами:
Мне больше всех нравится Gist на GitHub. Во-первых, все текстовые фрагменты привязываются к вашему аккаунту; во-вторых, можно создавать несколько связанных Gist'ов; и в третьих, есть возможность комментирования.
Читать дальше →
Всего голосов 111: ↑101 и ↓10+91
Комментарии27

Как правильно сортировать контент на основе оценок пользователей

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


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


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

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

Читать дальше →
Всего голосов 458: ↑423 и ↓35+388
Комментарии134

Meteor — Новый способ создания приложений

Время на прочтение2 мин
Количество просмотров23K
Meteor представляет собой набор новых технологий для быстрого создания высококачественных веб-приложений, с которым справятся не только опытные разработчики но даже и новички.

Чистый JavaScript.


Пишите всё приложение полностью на чистом JavaScript. Все API, доступны на клиенте и на сервере — в том числе API базы данных! — Так что один код может легко работать на клиенте и на сервере.

Живые обновления страниц.


Просто напишите ваши шаблоны. Они автоматически обновляются при изменении данных. Meteor поддерживает любой язык шаблонов.

Чистая, мощная синхронизация данных.


Пишите ваш код клиентской части, как если бы она была запущена на сервере, и имела прямой доступ к базе данных. Больше не придется получать данные через REST.
Читать дальше →
Всего голосов 80: ↑67 и ↓13+54
Комментарии71

fc.tape — js-библиотека для простой анимации спрайтов

Время на прочтение2 мин
Количество просмотров2.5K
Хочу поделиться с хабросообществом javascript-библиотекой fc.tape. Её назначение — управление анимацией спрайта, представляющего собой склеенные кадры.
Демо
Читать дальше →
Всего голосов 52: ↑46 и ↓6+40
Комментарии10

Unit-тестирование от начинающего начинающим

Время на прочтение5 мин
Количество просмотров79K
Здравствуйте.

На написание статьи меня сподвигнул этот пост. В нём приведено описание инструментов и некоторая теоретическая информация.

Сам я только начинаю разбираться в unit-тестировании и тестировании вообще, поэтому решил поделиться некоторой информацией касательно этого дела. А также систематизировать свои знания и навыки. Далее постараюсь объяснить процесс тестирования по шагам простым обывательским языком, так как нигде в интернете не нашёл разжёванного описания, по шагам так сказать. Кому интересно и кто хочет попробовать всё-таки разобраться, добро пожаловать.
Читать дальше →
Всего голосов 47: ↑40 и ↓7+33
Комментарии46

История игры Триплекс, или сколько нужно квадратиков чтобы сломать голову

Время на прочтение17 мин
Количество просмотров10K
Чтобы освоить азы Web программирования, я решил написать HTML5 игру — головоломку под названием Triplex (www.quadpuzzle.ru). Написать игру для себя и для друзей — полдела. Захотелось довести проект до ума, сделав из игры продукт для широкого круга пользователей. Насколько получилось — судить вам.

    Правила игры просты. На игровом поле разложены фигуры из квадратиков. Цель игры — уложить все фигуры в указанный прямоугольник. Вращать можно только одну фигуру, помеченную кружком, если она есть. Решение в каждой задаче существует и единственное.

                        

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

BrowserQuest — многопользовательская игра на canvas

Время на прочтение2 мин
Количество просмотров13K
BrowserQuest от Mozilla — это дань классическим многопользовательским играм. Вы играете за молодого воина, который ищет приключения на свою пятую точку. Тут не нужно спасать красавицу-принцессу, но это вам с лихвой окупится опасным миром, наполненным сокровищами и корованами. И главное, все это сделано с помощью HTML5 и JavaScript!

Проект с открытым исходным кодом и хостится на GitHub!
Читать дальше →
Всего голосов 71: ↑66 и ↓5+61
Комментарии30

Сверхплавные трансформации для jQuery

Время на прочтение1 мин
Количество просмотров20K
Недавно наткнулся на jQuery Transit, плагин для плавных трансформаций и переходов. Вместо работы с таймерами, плагин использует CSS3 трансформации.

Работает с тем же синтаксисом, что и animate, но вместо этого стоит использовать метод transition.

С более старыми браузерами новые эффекты не работают, а стандартные CSS будут меняться, хотя и без какой-либо анимации. Для того, чтобы откатиться обратно на animate, достаточно использовать следующее:
if (!$.support.transition)
    $.fn.transition = $.fn.animate;

Всего 2КБ.
Всего голосов 84: ↑74 и ↓10+64
Комментарии44

Kartograph — фреймворк для создания интерактивных карт

Время на прочтение1 мин
Количество просмотров19K
Kartograph — это новый фреймворк для создания интерактивных картографических веб приложений без использования Google Maps/Bing Maps или любого другого сервиса. Он создавался с учетом потребностей дизайнеров и журналистов.

Можно поглядеть на демки, чтобы узнать на что способен Kartograph.
или узнать как это все работает.
Всего голосов 67: ↑66 и ↓1+65
Комментарии16

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность