Search
Write a publication
Pull to refresh
54
0
Фёдор @FFF

User

Send message

Установка node.js на VPS

Reading time2 min
Views21K
В этой статье я расскажу, какие проблемы прийдется решить, чтобы получить VPS с реально работающим node.js сервисом. Это все элементарные вещи, но, может быть, кому-нибудь еще пригодится.

Установка node


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

Создаем чат на Node.js и Socket.IO

Reading time5 min
Views228K
В данной статье я попытаюсь показать, как можно создать простой чат, используя Node.js в связке с Socket.IO. Изначально я хотел построить чат на чистых Websockets, но столкнулся с практически полным отсутствием готовых реализаций сервера для них в Интернете. Так что решил не изобретать велосипед, а использовать готовую библиотеку.
В моем случае сервер работает под Ubuntu, поэтому все примеры будут для неё (и ссылки в примерах — на него же).

Установка компонентов

Первым делом нам потребуются собственно Node.js (инструкция по инсталляции и ссылки на скачивание здесь) и Socket.IO. Модули для Node.js проще всего устанавливать, используя менеджер npm —
curl http://npmjs.org/install.sh | sh
npm install socket.io

Серверная часть

Структура серверной части такова: сервер принимает сообщение, если это команда — выполняет определенные действия, если просто сообщение — рассылает всем остальным участникам.
Читать дальше →

За кулисами Формулы 1

Reading time6 min
Views22K
Роль компьютеров в «королевских гонках» вряд ли сложно недооценить. Шутка ли: без лэптопа сегодня вы даже не сможете завести болид. Да, это уже совершенно другой спорт, совсем не такой, каким его представляли в 50-х. IT-технологии проникли в каждый уголок этого невероятного спорта, создав машины, похожие на истребители, и сделав из водителей настоящих пилотов. Только представьте себе: внушительные суперкомпьютеры размером с несколько холодильников, позволяющие инженерам перебрать десятки вариантов конструкций любого узла за считанные часы и выбрать лучший, который и отправится на «распечатку». Мобильные сервера, развёрнутые в «походных» ЦОДах, пуленепробиваемые ноутбуки, гигабайты данных, курсирующие через полмира уже спустя несколько миллисекунд после того, как были собраны с сотен датчиков болида. Всё это — реальный мир Формулы 1. А знаете, что ещё очень важно в этом виде спорта? Команда. И сегодня мы хотим рассказать о том, как команды Dell и Intel помогли команде Caterham достойно войти в удивительный мир гонок F1.
Читать дальше →

Теория цвета

Reading time2 min
Views299K
Первое впечатление — это все. Пословица «По одежке встречают, по уму провожают» актуальна не только в жизни, но и в дизайне. Впечатление от дизайна состоит из множества факторов, и один из важнейших — это цвет.

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

Основные цвета (Primary Colors)




Основные цвета палитры — красный, желтый и синий. Если говорить об основных цветах на экранах различных устройств — это RGB, красный, зеленый и синий.
Читать дальше →

Как я один запустил проект про стартапы, и как он развивался на практике

Reading time8 min
Views21K
Пару лет назад был настоящий бум контентных сайтов, где есть что-то интересное по одной конкретной теме. Что-то выросло, что-то нет — например, точно загнулись сотни сайтов для фотографов, очень хорошо подрос Хабр — а я в это время развил и выгодно продал два проекта.

Третий захотелось сделать с учётом полученного опыта — и я снова начал с нуля.

Сегодня я готов рассказать что и как было сделано — и хочу попросить у вас обратной связи по проекту.
Читать дальше →

Радиоприемник 60-1700 МГц на RTL2832 за 20 баксов или SDR для начинающих

Reading time4 min
Views328K
В этой статье я расскажу о том, как, потратив совсем небольшие деньги и немного времени, получить радиоприемник, способный принимать что угодно в диапазоне 60-1700 МГц (радиостанции, звуковое сопровождение ТВ, радиолюбителей, карманные радиостанции и многое другое). Для этого
мы используем DVB-тюнер на чипе RTL2832, работающий в специальном режиме, который можно приобрести за $20 или даже дешевле.


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

Torrent-клиент, пользователей которого нельзя обвинить в скачивании, хранении и распространении контента

Reading time13 min
Views74K
Недавно нами было анонсирован проект «ACE Stream», и вся ветка продуктов Torrent Stream скоро перекочует под эту марку. Это не просто смена бренда, а еще и новый вектор развития, с новыми возможности для применения и эксплуатации P2P технологии во всевозможных интернет-проектах. Несмотря на присутствие коммерческого вектора в проекте «ACE Stream» ( решения/продукты и услуги для коммерческих организаций ), некоммерческое направление также будет развиваться, и все возможности Torrent Stream по-прежнему будут доступны пользователю, а кроме этого, еще и значительно будут расширяться новыми возможностями, которые не только будут обеспечивать дополнительные удобства, но еще и будут на программном уровне защищать интересы своих пользователей и их спокойствие при использовании торрентов. Вот с одним из таких программных методов, внедрение которого позволит защитить наших пользователей от обвинений в скачивании, хранении и распространении контента, при использовании ими торрентов для проигрывания видео и аудио в онлайне, я бы и хотел всех ознакомить.

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

Цель: Сделать онлайн воспроизведение через торренты, абсолютно безопасным для пользователя

Для тех кто не знает: одна из функций продуктов Torrent Stream ( ACE Stream ) позволяет проигрывать в онлане видео и аудио контент, через торренты, без необходимости ожидания загрузки всего файла. ( Пример одного из продуктов, который превращает практически любые торрент-трекеры в онлайн-кинозалы: Расширение для веб-браузераTS Magic Player

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

О проблеме и решении

Подробно о генераторах случайных и псевдослучайных чисел

Reading time11 min
Views330K
На Хабре и в сети часто начали появляться статьи, посвященные уязвимостям генераторов случайных чисел. Данная тема крайне обширна и является одной из основных в криптографии. Под катом находится описание случайных чисел от A до Z. Статья является результатом свободного перевода цикла статей из одного западного блога и личных дополнений автора. Основная цель — получить feedback и поделиться знаниями.
image
Читать дальше →

Space Engine — Вселенная на ладони

Reading time8 min
Views100K
My God, it's full of stars!
Arthur C. Clarke

Кто из нас в детстве не мечтал «бороздить просторы вселенной», как капитан Пикард, прогуливаться по неизведанным планетам далёких миров, встречать рассветы двойных или тройных звёзд, погружаться в атмосферы газовых гигантов, ронять корабли в чёрные дыры? И я тоже не исключение. Конечно, частично эту мечту воплощали книги, фильмы и «Элит»-ные игры. Но вся романтика в них разрушалась банальными купи-продай и «пиу-пиу» в «жидком» космосе на скоростях самолётов времён первой мировой войны. Да и тем немногим виртуальным миркам не хватало свободы, детальности и масштабов реальной вселенной.

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

Но вот, чуть больше года назад, я совершенно случайно наткнулся на вселенную Space Engine, и она просто взорвала мне мозг и размазала его по полу своим масштабом и невероятной детализацией.
Читать дальше →

Коворкинг «Рабочая Станция» в ЦПКиО им.Горького

Reading time2 min
Views4.7K
Привет, ребята!

Спешу поделиться хорошей новостью: мы открыли классное место, а именно коворкинг, «Рабочая Cтанция» в Парке Горького. «Рабочая Cтанция» — это далеко не первая наша вариация на тему коворкинга. И, похоже, теперь нам удалось создать то пространство, о котором мы давно мечтали.

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

Джон Кармак о науке и искусстве разработки ПО

Reading time8 min
Views14K
От переводчика

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

Также прошу прощения за отсутствие перевода словосочетания “computer science”. В русском языке нет адекватного ему словосочетания. Всякие «информатики» и «компьютерные науки» — это либо дискредитировавшие себя понятия, либо бессмысленные переводческие суррогаты. Английское понятие “computer science” содержит историческую игру слов, которая в переводе на русский язык должна выглядеть как-то так: «науки о вычислениях, обработке информации и вычислительных устройствах». Думаю, лучше оставить оригинальное “computer science”. Во всяком случае, в таком виде это словосочетание позволит вам самим подобрать нужный контекст из всего многообразия, представляемого им в оригинале.

Почему я решил перевести этот текст (ведь он короткий и не особо насыщенный откровениями)? Потому, что это выступление Кармака. А он, как-никак, знаковая фигура в отрасли разработки ПО. То, что написано ниже, показывает отрыв теории разработки ПО от практики. Ведь, если эти мысли посещают такого разработчика и выносятся на QuakeCon, — то что тогда творится в головах рядовых прикладных программистов?

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

Обучаем компьютер чувствам (sentiment analysis по-русски)

Reading time12 min
Views85K


Sentiment analysis (по-русски, анализ тональности) — это область компьютерной лингвистики, которая занимается изучением мнений и эмоций в текстовых документах. Недавно на хабре появилась статья про использование машинного обучения для анализа тональности, однако, она была настолько плохо составлена, что я решил написать свою версию. Итак, в этой статье я постараюсь доступно объяснить, что такое анализ тональности, и как реализовать подобную систему для русского языка.
Читать дальше →

Пятый «Фестиваль 404» состоится 6-7 октября 2012 в Самаре

Reading time2 min
Views6.9K
6-7 октября уже в пятый раз в Самаре пройдет Фестиваль 404. На Хабре уже есть страничка события. Наверняка, многие уже были на этом мероприятии и мне не нужно рассказывать все сначала, поэтому сразу перейду к новостям. Во-первых, у нас новый логотип:

image

Сам рисовал. :) Не скажу, что это какой-то шедевр, но фестивального духу в нём больше. Он более задорный. От пиксельных квадратиков старого логотипа уже как-то все устали. Плюс, мы поменяли слоган на более ёмкий.

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

Дайджест интересных новостей и материалов из мира айти за последнюю неделю №17 (4 — 10 августа 2012)

Reading time5 min
Views17K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.

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

3D в вебе — выбор технологии

Reading time7 min
Views31K

Вместо предисловия


imageЭто первая статья из небольшой серии, которая написана разработчиками трехмерного javascript-движка на базе WebGL. Эта статья — обзорная, но в последующих планируется рассказать уже о самом движке и его возможностях — с примерами, демонстрациями и проч. И автор будет благодарен, если кто-нибудь поделится для него инвайтом, чтобы он мог не только отвечать на возможные вопросы в комментариях, но и последующие статьи на эту тему мог бы публиковать не через меня, а самостоятельно.

Обзор 3D в Web


Привет всем хабражителям. В этой статье я хочу немного рассказать о состоянии дел в области трехмерной графики в Web, и о том, что может предложить наша команда для тех, кто бы хотел реализовать проект, связанный с 3D, в вебе, но сомневается в выборе технологии или просто не знает в какую сторону «копать». Также надеюсь, что статья будет интересна всем, кто следит за развитием веб-технологий.
Читать дальше →

Принцип «уверенности» высококачественного веб-дизайна

Reading time10 min
Views21K
Краткий синопсис

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

image

Под катом примерно 1.1 Мб трафика.
Читать дальше →

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

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

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

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

Боремся с race condition в PHP

Reading time4 min
Views9K
Ошибки типа «Состояние гонки» (race condition) редко встречаются на малонагруженных проектах, а с ростом нагрузки ситуация медленно, но верно меняется. И однажды обычное кеширование данных в файле, например, вот такое:

function getFlagFromFile($filename) {
    if (file_exists($filename)) {
        if (!$this->validate()) { // а не устарел ли файл?
            unlink($filename);
            return false;
        }
        else {
            return file_get_contents($filename);
        }
    }
    return false;
}

выдаёт ошибку в строке unlink(): файл $filename не существует!
Читать дальше →

Модуль профайлинга «ProfilerToolbar»

Reading time3 min
Views3.6K
Если вы используете Kohana, то скорее всего уже видели модуль DebugToolbar. Испробовав его на нескольких проектах, стало понятно, что его возможностей явно не хватает. А при использовании Ajax запросов данный модуль становиться вообще бесполезным.

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

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

«Игрушечная» картография или 3D карты своими руками

Reading time4 min
Views11K
Около полутора лет назад на Хабре был размещен пост про уникальные карты китайского поисковика Baidu (для тех, кто не видел, вот он: http://habrahabr.ru/post/115107/). Я был поражен тем, насколько кропотливо, детально и красиво эти карты сделаны, поэтому однажды мы, вместе с группой товарищей, решили разобраться в процессе создания Baidu-карт и сделать собственные карты всего мира, которые выглядели бы так же круто. Под катом много картинок, раскрытие секрета Baidu-подобных карт и то, что получилось у нас.



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

Information

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