Обновить
89
0
Антон Терехов@Terehoff

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

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

Зачем нужно и как можно учиться быстро печатать вслепую

Время на прочтение6 мин
Охват и читатели67K
В связи с повышенным интересом к слепому набору в последнее время я хотел бы поделиться мыслями и опытом по теме. Многое из этого вовсе не ново и уже встречалось на Хабре, поэтому попытаюсь как-то обобщить и систематизировать известную мне информацию, и по возможность добавить уникального контента.

Кому и зачем это нужно?


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

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

extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)

Время на прочтение4 мин
Охват и читатели21K
Хочу Вам рассказать о штуке, которую я изобрел сегодня, чтобы ускорить процесс загрузки сайтов. Все вы знаете, что <script src="..."></script> задерживает отрисовку страницы, пока не загрузится этот скрипт. Если их десятки — это может сереьезно замедлить работу сайта — в результате пользователь 20 секунд пялится на пустую (или недорисованную) страницу из-за какого-нибудь тупящего социального виджета (умножить на десяток этих виджетов).

Не правда ли было бы круто, если бы можно было сказать <script extsrc="..."></script> ("extsrc" = "грузи потом"), чтобы скрипты загружались после того как страница отрисована?

Все бы хорошо, но есть document.write… Сегодня я наконец решил его проблему — представляю extsrc.js — скрипт, который запустит все скрипты после отрисовки страницы (даже если они содержат document.write — и правильно отрисуется все).

Результат? Супер-быстрая загрузка страниц, даже если там море всяких внешних скриптов.

Использование:

Заменяем <script src="..."> на <script extsrc="...">.

Итого получается:

<script src="http://whiteposts.com/extsrc_js/extsrc.js"></script>
<script extsrc="..."></script>

все остальное под катом

Загрузочная флэшка за три шага

Время на прочтение1 мин
Охват и читатели190K
Прошло уже больше месяца после опубликования первого поста. Вняв советам хабравчан, решили сделать мастер для создания загрузочной флэшки.

image

Читать дальше →

Видео-мафия онлайн

Время на прочтение2 мин
Охват и читатели11K
Mafia-onlineПредставляю вашему вниманию обновленную версию игры WhoIsMafia. Напомню, что WhoIsMafia — это сервис, основанный на популярной салонной игре Мафия, в которой игроки делятся на две группировки и в словесных баталиях пытаются уничтожить противоположную команду, используя для этого вэб-камеры и микрофоны.

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

Одна из главных моих ошибок заключалась в том, что для старта игры создателю комнаты нужно просто было нажать кнопку. Но некоторые админы не выдерживали и покидали комнату до начала игры, и тогда игра не могла начаться никак. К тому же минимальное количество игроков в комнате для старта игры было установлено в шесть. Тогда мне казалось, что эта цифра вполне маленькая — я ошибался :) И если в первую комнату из-за бага набилось сразу под 40 человек, то в последующие дни больше трех я не видел ниразу.

А самая на мой взгляд полезная в продвижении проекта фича заключается в том, что теперь у каждой комнаты есть своя ссылка (пермалинк). Теперь можно создать игру, послать другу ссылку через IM, соц-сеть, твиттер и т.п., и друг сразу попадет в вашу комнату, даже если вы уже давным давно оттуда ушли.
Читать дальше →

Зачем именно вам нужен OAuth

Время на прочтение2 мин
Охват и читатели0

Вначале были веб-сервисы. Они были многочисленны и непохожи друг на друга. Со временем некоторые исчезли, некоторые укрупнились, и что интересно — расселись по нишам. Есть социальные сети, фотохостинги, сервисы коротких сообщений и длинных текстов. А совсем недавно всё стало ещё интересней — сервисы стали становиться платформами. Теперь люди пользуются сервисами через другие сайты (фотохостинг сообщает о загруженной картинке в Твиттер), через настольные и мобильные программы (IM-клиент обновляет статус в Фейсбук).

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

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

Читать дальше →

Обзор программ для командного голосового общения

Время на прочтение4 мин
Охват и читатели106K
image Проблема голосового общения в сетевых играх, будь то грандиозная MMORPG или простенький сетевой шутер, стоит очень остро. При активных действиях зачастую не хватает времени использовать встроенный в игру чат, а в большинстве случаев использование чата сильно усугубит вашу с напарником ситуацию перед другими игроками из-за расходования времени в пустую, если конечно ваши враги используют голосовое общение.

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

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

В этой статье я рассмотрю четыре самые популярные программы для голосового общения. Встречайте кандидатов — Ventrilo, TeamSpeak 2, TeamSpeak 3, Mumble. Некоторые из них платные, некоторые абсолютно бесплатны, а так же open source, что же, попробуем выявить лучшего кандидата. Изучению поддадутся такие качества «подопытных» как: поддерживаемые кодеки, поддерживаемые операционные системы, количество и доступность серверов, масштабирование, возможность поставить серверную часть у себя на dedicated server, алгоритмы улучшения звука и многое другое.
Читать дальше →

CDNvideo — новая сеть CDN в Рунете

Время на прочтение4 мин
Охват и читатели4.7K
image
Уважаемые Хабралюди!

Представляю вам новую российскую компанию CDNvideo, провайдера услуг CDN (Content Delivery Network) в Рунете. Я мечтал об этом дне давно, когда проект существовал только в моем воспаленном мозгу. Сейчас же техническое решение разработано и обкатано, сеть построена, услуги предоставляются нескольким клиентам в коммерческом режиме, а значит — самое время представить наш проект на Хабре!

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

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

Читать дальше →

Генерирование изображений-заглушек

Время на прочтение3 мин
Охват и читатели62K
Сегодня мне кинули ссылку на прикольный сервис для быстрого генерирования изображений-заглушек. Может пригодиться для html-верстки. На мой взгляд, это удобно тем, кто и так использует заглушки — экономит время при вёрстке, т.к. сами заглушки уже готовы. Можно цвета/размеры подбирать, меняя только числа/буквы в коде, не отвлекаясь на сам файл картинки — и сразу видеть эффект. И сами размеры видеть написанными, если нужно, чтоб к коду не возвращаться для проверки. Или вместо размеров можно текст добавить, чтоб всегда знать, для чего эта заглушка (типа «Бан(н)ер» или там «Лого», или «Фотография»).

На сервисе не нужна регистрация — и вообще на сайт можно не заходить, чтобы его использовать. Пишете сразу у себя в коде, например:
<img src="http://placehold.it/350x50" />
и получаете:


Update. Благодаря усилиям k0rv1n, найден вариант этого сервиса, только лучше :)
Во-первых, там поддерживается кириллица. Во-вторых, там даны ссылки на исходники для разных языков.
Автор dummyimage.com — тот же Russell Heimlich, что и у placehold.it. У placehold.it есть ещё один автор, но будем считать, что он делал дизайн (дизайн там правда круче, но видимо как раз из-за понтового шрифта Unicode и не выходил).

Примеры (см. под хабракатом) я поменял с placehold.it на dummyimage.com, раз уж он функциональнее…
Ещё насколько примеров под катом

Очень интересный вариант защиты от SQL-инъекций и XSS

Время на прочтение1 мин
Охват и читатели6.2K
Один весьма мной уважаемый гн Ден Каминский (Dan Kaminsky — известен благодаря обнаружению им фундаментальной уязвимости в DNS ) предложил очень интересную универсальную технику защиты от SQL injection и XSS.

Метод очень просто и от того гениален.
Читать дальше →

Skype выходит на корпоративный рынок

Время на прочтение2 мин
Охват и читатели1.7K
image
Компания Skype, не дающая покоя многим телекоммуникационным компаниям, за счет предоставления пользователям своей программы для организации чатов и ip-телефонии возможности бесплатно или очень дешево звонить по всему миру и обмениваться сообщениями, все еще является независимой компанией. В 2005 году компания eBay приобрела набирающий популярность сервис, но отношения у компаний не сложились и большая часть Skype была продана за 2 млрд. долларов. Теперь же новые владельцы пытаются добавить компании серьезности, присущей бизнес-сообществу, чтобы захватить часть корпоративного рынка передачи данных.
Читать дальше →

Paginator3000 и колёсико мыши

Время на прочтение2 мин
Охват и читатели3K
Потребовалось однажды реализовать пейджер постраничной навигации а-ля дёти.
Далеко в лес ходить я не стал, а решил найти, что же это за зверь такой раскопированный на множестве сайтов, а оказалось, что это детище karaboz. И даже есть аналог, переделанный под jQuery.

Но у каждой версии есть, как мне показалось, огромный недостаток, игнорирование колесика мыши. «Но ведь с этим было бы удобнее!» — воскликнул я и решил немного переписать, чтобы пейджер прокручивался на событие mousewheel. А также есть другие недостатки, которые я освещу под катом.
Читать дальше →

Ещё 10 уловок для защиты Wordpress'a

Время на прочтение6 мин
Охват и читатели67K

На сегодняшний день Wordpress как никогда популярен. Блоги, мини-сайты, а то и целые порталы — всё это строится на основе такого удобного движка-конструктора как Wordpress. Но за удобностью и лёгкостью освоения кроются, прежде всего, вопросы, связанные с безопасностью вашего сайта. Большая распространённость — большее внимание злоумышленников.

В этой статье описаны десять простых уловок, которые позволят сделать ваш сайт на Wordpress’e ещё более защищённым и позволят спокойнее спать по ночам.
Читать дальше →

Делаем твёрдый переплёт для любимых книжек

Время на прочтение6 мин
Охват и читатели586K
Небольшое вступление

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

В своей статье мне хотелось бы поподробнее остановиться на вопросах собственно печати (как сделать этот процесс быстрым и удобным) и изготовления книги из доступных материалов.

Большое вступление

Некоторое время назад мне захотелось прочитать цикл Дугласа Адамса «Автостопом по галактике». Я попробовал почитать несколько переводов и не один меня не устроил. Поэтому было принято решение — читать на английском! Найти эти книги в оригинале в наших книжных магазинах довольно сложно. А если и есть, то только первая часть цикла. В электронном виде найти несколько проще. Но я предпочитаю читать с бумаги (читалку на E-ink куплю обязательно — очень нравятся), поэтому книги я распечатываю.

Первые две книги выглядели так:
image

Я их прочитал с огромным удовольствием, но выглядели они не очень хорошо. И я решил, что «Life, the Universe, and Everything» нужно делать книжкой.

Процесс с картинками и комментариями под катом. Осторожно, действительно много картинок.
Читать дальше →

Torrent-Search — сервис быстрого поиска торрентов

Время на прочтение1 мин
Охват и читатели125K


Здравствуйте, Хабравчане.
Однажды мне пришла идея создать сайт для поиска торрентов. Ведь, очень не удобно искать, по очереди, на большом количестве трекеров.
Итак, представляю Вам — Torrent-Search.
Читать дальше →

Некоторые аспекты разработки платежных систем. Часть II. One time passwords и ECDSA

Время на прочтение6 мин
Охват и читатели3.5K
Доброго здравия, %username%!

В первой части я рассказал как можно минимальными усилиями защитить БД нашей платежной системы. Но, как заметил один из комментирующих, при компрометации web сервера появляется возможность подсмотреть все логины и пароли пользователей. Тут нам на помощь приходят One time passwords (OTP).
Под катом моя вольная интерпритация данного термина с использованием криптографии эллиптических кривых (ECC). Кстати говоря, платежные системы далеко не единственная сфера применения этой технологии.
Upd:
Ахтунг! При взломе веб сервера все таки есть вероятность подмены платежных реквизитов, так что все таки подписывать лучше не случайную строку (хоть это и защитит от полной компрометации системы, но не защитит от случаев, когда подменяются реквизиты прямо во время платежа), а хэш платежного документа, показывая юзеру при этом все реквизиты платежа в программе.
З.Ы. Генерировать ключ лучше тоже на стороне клиента
Читать дальше →

Некоторые аспекты разработки платежных систем. Часть I. Трехзвенка без трехзвенки

Время на прочтение2 мин
Охват и читатели3.8K

Мир тебе, %username%!


В этой серии постов я хочу рассказать о некоторых аспектах реализации платежной системы(а если повезет и двух), реально имевшей честь работать с середины 2000х в одном из городов нашей необъятной родины.
Что вообще такое ПС, и по каким принципам она должна работать? Я, как и заказчик, имел об этом представление лишь как пользователь WebMoney и платежных терминалов. Тем не менее, желание+деньги сделали своё дело и разработка началась.

Для начала, что вообще понималось под платежной системой и с чего началась разработка.
UPD:
Вторая часть!
Читать дальше →

Выступаем публично. Подготовка к твоему первому выступлению на конференции

Время на прочтение4 мин
Охват и читатели7.1K
AHTUNG!!!!Приветствую, коллеги по цеху. Начну с отказа от ответственности. Сам я не опытный рассказчик, а только учусь. Возможно, именно поэтому мой опыт будет интересен другим новичкам. Опытных презентаторов, кому есть что добавить — прошу отписаться в комментах или в личку — что можно было бы сделать лучше.

Началось всё с того, что на РИФ+КИБ нашей компании выступить не удалось, в силу разных причин, а давно хотелось. Следующее интересное отраслевое событие — "Неделя электронной торговли", и наши доклады включили в программу мероприятия (не без помощи razmolot).

Начитавшись на Хабре статей (раз, два, три и т.д.), начал готовиться к первому своему публичному выступлению.

Итак. Первое: Цели. Как правильно писали умные люди на Хабре — презентация это не "о чем", а "зачем".

Мои цели были следующие:

Google представил API для кроссбраузерного подключения шрифтов

Время на прочтение1 мин
Охват и читатели11K
Google Font API — API для подключеня нестандартных шрифтов.
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="_http://fonts.googleapis.com/css?family=Tangerine">
    <style>
      body {
        font-family: 'Tangerine', serif;
        font-size: 48px;
      }
    </style>
  </head>
  <body>
    <h1>Making the Web Beautiful!</h1>
  </body>
</html>
Читать дальше →

Объединяем twitter.com и vkontakte.ru (php — версия)

Время на прочтение1 мин
Охват и читатели1.8K
Навеяно постом http://habrahabr.ru/blogs/python/59236/.
Почитав вышеуказанный пост, предположил, что не каждый сможет использовать домашний комп для таких целей (например потому, что он включен не постоянно). Но зато многие из нас имеют php-хостинг, который так же поддерживает cron. Для разминки написал данный скрипт.
Читать дальше →

Информация

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