Pull to refresh
37
0
Серега @thecoder

Бекенд на микросервисах

Send message

Запуск VMware Player, как Windows Service

Reading time5 min
Views7.5K
У вас есть желание запускать Vmware как фоновый процесс на компьютере с Windows?
Ничего из нижеописанного не одобрено VMware. Это руководство описывает только мой способ использования VMware Player.

  1. Создание виртуальной машины
  2. Установка VMware Player
  3. Создание службы VMware Player
  4. Запуск виртуальных машин при старте Windows


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


Итак, по порядку.

Просто добавь воды: headup.com

Reading time1 min
Views631
Новая неделя и новый выпуск скринкаста «Просто добавь воды», сегодня — обзор веб-сервиса headup.com и соответственного расширения для Firefox 2/3, для тех, кто всегда хочет знать больше.


Как обычно, для просмотра HD-варианта придется пойти по ссылке :(.

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

Мертвые с косами. И тишина…

Reading time11 min
Views11K
Хочу поделиться опытом сборки бесшумного компьютера для дома.

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

Корпус

Компьютерный корпус — это всего лишь коробка, более или менее прилично выглядящая. Однако, если уделить внимание шумоизоляции, удобству сборки и эффективности охлаждения, то все не так очевидно. Для большей гибкости я рассматривал корпуса без блока питания, т.к. уже заранее выбрал один из самых тихих БП (см. ниже).
Сразу скажу, что получилось дорого. Я выбрал корпус Antec P182 (на фото выше). Без блока питания они выпускают несколько моделей. Наиболее известные серии — P182 и P190 (сильно дороже). Есть еще довольно маленький корпус без БП NSK4000, но в небольших корпусах охлаждение менее эффективно и требует более шумных вентиляторов.
Наряду с Antec я почитал про корпуса Lian-Li. Они оригинальны тем, что сделаны из чистого алюминия. Выглядят очень стильно и сделаны с высоким качеством. Но в России распространены еще меньше, чем Antec.
Можно было, конечно, найти много хороших корпусов среди более дешевых. Что мне понравилось в Antec?
Читать дальше →

YubNub: Командная строка интернета

Reading time1 min
Views1.2K
Недавно у нас вышел Ubiquity, но вот почему-то немногие знают, что давно уже есть более мощный инструмент (хотя и менее «лингвистичный»).

yubnub.org

Наберите:
«en2ru things» — вы попадете на yandex.lingvo с переводом;
«split yahoo.com google.com» — в 50%-ных фреймах откроются они оба;
«g habr» — Гуглить «habr»;
«wiki habr» — Искать в Вики «habr»;
«flicc google» — Искать в Flickr Creative Commons;
«site2pdf google.com» — догадайтесь.

В общем, каким бы сервисом Вы ни пользовались — наберите его название + что-то еще? скорее всего произойдет то, что Вы ожидали. Отлично интегрируется со всеми браузерами. Есть возможность создавать свои команды и списки популярных. Есть даже возможность scrapeать Web и кодить.
Читать дальше →

25 лучших деловых книг

Reading time2 min
Views6.2K
Я стараюсь читать много бизнес-литературы. Скажу честно – попадается много откровенно неудачных, графоманских, непрактичных книг. Но есть книги, которые иначе как сокровищами не назовешь.

Я составил список из 25 золотых (ИМХО и только ИМХО) деловых книг.
Читать дальше →

Аппаратное ускорение в жизни верстальщика. Семинар в Яндексе

Reading time6 min
Views71K

Привет! Меня зовут Александр Завьялов. В Яндексе я занимаюсь разработкой интерфейсов. Недавно я выступил перед коллегами с докладом об аппаратном ускорении в жизни верстальщика, где также коснулся смежных тем. Рассказал о производительности веб-страниц, о том, как она измеряется и к чему она может стремиться.



Ссылка, если видео не отображается

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


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

Масштабирование наоборот: БЭМ-методология Яндекса на небольших проектах

Reading time21 min
Views62K
В разработке интерфейсов отдельные фреймворки уже не так важны: когда инструменты доступны, наша задача сводится к выбору нужных. Чтобы сделать правильный выбор, следует начать с общего подхода, с методологии. Большинство методологий, однако, разработаны крупными компаниями. Применимы ли они в маленьких проектах или для успешного использования их нужно переизобретать заново?

Скорее всего, вы уже знаете об одной из таких методологий, разработанной Яндексом, — БЭМ. БЭМ утверждает, что трёх сущностей (блоков, элементов и модификаторов) достаточно для написания HTML и CSS, задания структуры кода и компонентной структуры с последующим масштабированием проекта до самого высокого уровня.

Я проработал в Яндексе достаточно долго и видел, как эта методология работает на больших проектах. В Яндексе БЭМ используют для разработки CSS- и JavaScript-компонент, с помощью этой методологии также пишут шаблоны и задают зависимости между компонентами. Есть БЭМ-инструменты, поощряются различные эксперименты с кодом, исследования. В масштабах большой компании эти трудозатраты окупаются и дают Яндексу возможность быстро и качественно разрабатывать сотни сервисов одновременно.

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

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

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

Octotree: отображение кода на Github в виде дерева

Reading time1 min
Views24K


Github является незаменимым сайтом, на котором разработчики проводят многие часы. Некоторым хочется добавить удобства в повседневную работу. Расширение Octotree для Firefox/Chrome/Safari делает именно то, чего так не хватало на Github, а именно, отображает исходный код в виде дерева.
Читать дальше →

Атаки HTML5: что нужно знать

Reading time6 min
Views41K


Все последние версии браузеров поддерживают HTML5, следовательно, индустрия находится на пике готовности принять технологию и адаптироваться к ней. Сама технология создана такой, чтобы сделать простым процесс включения и обработки графического и мультимедиа-контента в вебе, без использования третьих плагинов или API. Эта статья расскажет о новых типах атак, которые HTML5 «подарил» миру.
Читать дальше →

VM escape: 101

Reading time7 min
Views41K


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

VMware WorkStation, VirtualBox (Oracle VM VirtualBox) – программные продукты для виртуализации, позволяющие запустить на компьютере несколько операционных систем одновременно.

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

Онлайн тепловизор CamIRa

Reading time4 min
Views28K
Модель BПривет, Хабр! Спешим рассказать про наш проект CamIRa — это онлайн тепловизор на поворотной платформе. Однажды мы совместители обычную камеру и ИК матрицу для снятия термограмм, так получился наш проект. Такое совмещение дает интересные возможности. Про тепловизоры уже были посты на Хабре, например: про технологию Тыц или тепловизор для смартфона ИТыц или даже как самому собрать тепловизор за $100 ЕщеТыц. Тепловизор из последнего поста вызвал бурную реакцию в интернете, много где публиковался и обсуждался. В основном всех интересовал вопрос увеличения разрешения сенсора. Но обо всём по порядку.

Подробности

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №105 (13 — 19 апреля 2014)

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


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

«Универсальная аналитика» от Google вышла из Beta и доступна в Funding.To

Reading time3 min
Views25K
image
Учитывая то, что Funding.to, в первую очередь, является инструментом, который рассчитан на проекты, продвигаемые на сторонних ресурсах, эффективность его использования зависит от качества продвижения проекта в сети. Исходя из этого, мы постарались обеспечить наших клиентов всеми необходимыми инструментами для того, чтобы они могли получить информацию, которая поможет разработать тактику и стратегию продвижения проекта в сети. Одним из таких инструментов стала возможность подключения модулей комментирования. Кроме того, мы решили предоставить нашим пользователям возможность подключения статистических систем, таких как Google Analytics и Яндекс Метрика, тем более что второго апреля Google сообщил о том, что их универсальная аналитика выходит из режима бета и становится полноценным инструментом.
Читать дальше →

Опциональные зависимости не нужны

Reading time4 min
Views10K
В данном посте речь пойдет о пакетах PHP и об алкогольных зависимостях. Вернее, о так называемых опциональных или предложенных зависимостях (optional dependencies, suggest/dev-dependencies), которые определяются в composer.json.

Что такое зависимость?


Для начала разберемся с тем, что такое зависимость и о чем вообще речь. Есть следующий код:

namespace Gaufrette\Adapter;
 
use Gaufrette\Adapter;
use \MongoGridFS;
 
class GridFS implements Adapter
{
    private $gridFS;
 
    public function __construct(MongoGridFS $gridFS)
    {
        $this->gridFS = $gridFS;
    }
 
    public function read($key)
    {
        $file = $this->find($key);
 
        return ($file) ? $file->getBytes() : false;
    }
}

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

  • Что нужно, чтобы данный код заработал?

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

Несколько интересностей и полезностей для веб-разработчика #15

Reading time3 min
Views25K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Bitcore


image
Полноценная JS библиотека, полностью обеспечивающая поддержку необходимого функционала для создания Bitcoin приложений.

Валидация биткоин адреса:
var bitcore = require('bitcore');
var Address = bitcore.Address;

var addr = new Address("1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa");

console.log(addr.isValid());


Мониторинг блоков и транзакций
var bitcore = require('bitcore');
var networks = bitcore.networks;
var Peer = bitcore.Peer;
var PeerManager = require('soop').load('bitcore/PeerManager', {
  network: networks.testnet
});

var handleBlock = function(info) {
  console.log('** Block Received **');
  console.log(info.message);
};

var handleTx = function(info) {
  var tx = info.message.tx.getStandardizedObject();

  console.log('** TX Received **');
  console.log(tx);
};

var handleInv = function(info) {
  console.log('** Inv **');
  console.log(info.message);

  var invs = info.message.invs;
  info.conn.sendGetData(invs);
};

var peerman = new PeerManager();

peerman.addPeer(new Peer('127.0.0.1', 18333));

peerman.on('connection', function(conn) {
  conn.on('inv', handleInv);
  conn.on('block', handleBlock);
  conn.on('tx', handleTx);
});

peerman.start();



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

Введение в HTML5 History API

Reading time4 min
Views242K
До появления HTML5 единственное, что мы не могли контролировать и управлять (без перезагрузки контента или хаков с location.hash) — это история одного таба. С появлением HTML5 history API все изменилось — теперь мы можем гулять по истории (раньше тоже могли), добавлять элементы в историю, реагировать на переходы по истории и другие полезности. В этой статье мы рассмотрим HTML5 History API и напишем простой пример, иллюстрирующий его возможности.

Основные понятия и синтаксис


History API опирается на один DOM интерфейс — объект History. Каждый таб имеет уникальный объект History, который находится в window.history. History имеет несколько методов, событий и свойств, которыми мы можем управлять из JavaScript. Каждая страница таба(Document object) представляет собой объект коллекции History. Каждый элемент истории состоит из URL и/или объекта состояния (state object), может иметь заголовок (title), Document object, данные форм, позиция скролла и другую информацию, связанную со страницей.

Основные методы объекта History:
  1. window.history.length: Количество записей в текущей сессии истории
  2. window.history.state: Возвращает текущий объект истории
  3. window.history.go(n): Метод, позволяющий гулять по истории. В качестве аргумента передается смещение, относительно текущей позиции. Если передан 0, то будет обновлена текущая страница. Если индекс выходит за пределы истории, то ничего не произойдет.
  4. window.history.back(): Метод, идентичный вызову go(-1)
  5. window.history.forward(): Метод, идентичный вызову go(1)
  6. window.history.pushState(data, title [, url]): Добавляет элемент истории.
  7. window.history.replaceState(data, title [, url]): Обновляет текущий элемент истории
Читать дальше →

Тестирование «быстрой MongoDB» – TokuMX в условиях, близких к реальности

Reading time4 min
Views22K
В последнем выпуске Радио-Т мы упоминали TokuMX — High-Performance MongoDB Distribution. Продукт этот звучит интересно — 9ти кратное сжатие данных в комплекте с 20ти кратным приростом скорости и поддержкой транзакций. При этом переход с mongo на tokumx весьма прост и с точки зрения внешнего наблюдателя — полностью прозрачен. Такое волшебство показалось мне более чем привлекательным и я решил проверить насколько все хорошо на практике.
Читать дальше →

Mylar — Платформа для защищенных веб приложений на базе Meteor.js

Reading time1 min
Views7K
MIT опубликовал исходники проекта Mylar — платформы для создания безопасных приложений, с шифрованием и
поиском по зашифрованным данным.
Читать дальше →

JPHP — Новый движок php для Java VM + JIT

Reading time6 min
Views49K
Представляю вам свой open-source проект — JPHP. Это альтернативная реализация PHP для JavaVM с поддержкой JIT. Я начал проект в одиночку в октябре 2013 года и за 4 месяца реализовал компилятор php в байткод JVM. Язык поддерживается на уровне PHP 5.3, частично поддерживаются возможности PHP 5.4 и 5.5. По своей идеологии проект напоминает JRuby и Jython.

Я подготовил небольшую презентацию, которая расскажет о проекте и не отнимет у вас много времени:


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

Мой инструмент для тайм-трекинга и выписывания инвойсов

Reading time1 min
Views64K
Привет! В честь наступающего понедельника я хочу поделиться инструментом для трекинга рабочего времени, который я сам написал и которым сам пользуюсь. Как фрилансер, я работаю по почасовой оплате и для меня важно:
  • учитывать затраченное по задачам время
  • выписывать заказчикам инвойсы

Под влиянием симптома NIH я написал самый лучший в мире тайм-трекер :)

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

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity