Search
Write a publication
Pull to refresh
21
0
Крутов Иван @vaniaPooh

Разработчик

Send message

«Умный дом» собственными руками. Часть 5. Технологии Х10

Reading time7 min
Views53K
image

В прошлой статье мы прикрутили к нашей системе «умный дом» небольшой веб-интерфейс. Самое время обратиться к той части дела, ради которой все это и затевается — управление нагрузкой. Под нагрузкой подразумевается любое электроустройство, которым есть смысл управлять.
За подробностями реализации прошу под кат.

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

Топ-10 недооцененных веб-приложений 2011 года

Reading time4 min
Views18K
Мы регулярно натыкаемся на новые веб-приложения, однако не все из них получают заслуженную долю внимания. И в последние дни 2011 года мы хотели бы рассказать о десяти из них, которые, как нам кажется, достойны большей известности.

10. Мини-приложения




Начать список мы решили не с одного, а сразу с набора приложений. Остановимся на тех, которые выполняют одну простую функцию, но выполняют ее отлично. Среди них Every Time Zone (показывает текущее время во всех часовых поясах), Umbrella Today? (сообщает, понадобится ли вам сегодня зонтик) и notepad.cc (минималистичный блокнот). Еще есть Spreeder, который позволяет вам читать текстовую информацию заметно быстрее обычного; SleepyTime — скажет, когда вам нужно лечь спать, чтобы проснуться в оптимальное время; а также SimplyNoise, умеющий генерировать так называемый белый шум.

За кадром осталось еще много “умных” и полезных веб-утилит, для описания которых нам здесь просто-напросто не хватит места. Но вот вам все же несколько вдогонку: 0to255, Mixest, PDFMyURL, и Copy Paste Character.
Читать дальше →

Пробный период для SaaS: запрашивание кредитки – недальновидная затея

Reading time8 min
Views16K
С развитием отечественного рынка SaaS все более важными становятся вопросы о том, насколько быстро можно пытаться начинать стимулирование клиента к покупке. И какими методами это делается? Вашему вниманию — перевод статьи, автор которой — Lincoln Murphy. Далее — его размышления на тему.

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

«Дикий» туризм как высшая градация путешественника, или для кого создан Tourista.me

Reading time5 min
Views42K
Я путешественник. Не просто отпускник, который раз или два в год привозит паспорт и деньги в турагентство, выбирает какой-нибудь All Inclusive-тур и далее по стандартной схеме: duty-free, огромное количество бухла как «лекарство от аэрофобии», дебош в самолете (опционально, если кураж пойдет), трансфер, отель и так далее. Мне же это не интересно, бросаться камнями в любителей такого досуга не буду – каждый сам делает свой выбор, но я пользоваться услугами туроператоров не люблю. Не хочу и все. Не потому, что не доверяю им, а скорее потому, что они (причем, за мои же деньги) лишают меня 50% кайфа от путешествия, которое для меня начинается задолго до самой поездки или полета.



Очередная вылазка для меня, прежде всего, дата-майнинг и тщательное планирование, если маршрут новый. Если же хорошо знакомый и вся предварительная работа проделана (в паспорте стоит мультишенген, а на перевале ждут свежие лошади, любимый лоукостер скинул цены ниже некуда), то элемент спонтанности, напротив, способен привнести в путешествие особую прелесть. В общем, суть проста – я делаю все сам – сам покупаю билеты, бронирую отель или организую себе вписку как-то иначе (каучсерфинг, например – вполне годный способ), сам планирую график своих передвижений, и сам решаю, пора мне возвращаться домой, или все-таки после двух недель странствий махнуть из Лиссабона в Базель, куда Ryanair предлагает мне сегодня долететь за 9 евро.
Читать дальше →

В микроволновой печи скрывается мощное и опасное СВЧ оружие

Reading time4 min
Views643K
Добрый день, уважаемые хабровчане.

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

В микроволновке находится генератор СВЧ волн огромной мощности


Мощность волн, которые используются в микроволновке, уже давно будоражит моё сознание. Её магнетрон (генератор СВЧ) выдаёт электромагнитные волны мощностью около 800 Вт и частотой 2450 МГц. Только представьте, одна микроволновка вырабатывает столько излучения, как 10 000 wi-fi роутеров, 5 000 мобильных телефонов или 30 базовых вышек мобильной связи! Для того, что бы эта мощь не вырвалась наружу в микроволновке используется двойной защитный экран из стали.
Читать дальше →

Загрузка классов в Java. Теория

Reading time4 min
Views201K


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

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

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

Tabnabbing: экстравагантный фишинг

Reading time2 min
Views45K

Последние три дня примечательны тем, что в сеть попали три больших базы аккаунтов пользователей почты Яндекса, Mail.ru и Gmail.

Многие пользователи хабра, равно как и других тематических ресурсов по вопросам безопасности, сходятся во мнении, что аккаунты, вероятнее всего, попали в базы либо в результате заражения компьютеров пользователей «троянами», либо же в результате фишинговых атак.

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

В 2010 году Аза Раскин, сын Джефа Раскина, поделился в своем блоге очень интересным, как мне кажется, методом фишинга, который он назвал Tabnabbing.

Его суть в следующем:

1. Атакующий привлекает пользователя на страницу своего сайта, которая выглядит абсолютно нормальной и такой, какой пользователь ожидает её увидеть.
2. Атакующий определяет, что пользователь длительное время не взаимодействовал со страницей, или вообще переключился на другую вкладку.
3. Пока страница неактивна – подменяется ее favicon на иконку сайта, под который она будет маскироваться.
4. Контент страницы меняется на контент фейковой формы логина сайта, под который она маскируется.
5. С определенной достаточно большой долей вероятности пользователь, вернувшись ко вкладке – не задумываясь, автоматически введет свои логин и пароль.
6. После перехвата данных авторизации – пользователя можно просто переадресовать на атакуемый сайт, ведь вероятнее всего он на нем уже авторизован и именно этого поведения он и будет ожидать.
Читать дальше →

ESP8266: Революция в мире интернета вещей

Reading time4 min
Views342K


В не столь далекие времена поддержка устройством Wi-Fi-соединения была дорога, громоздка и не энергоэффективна. Разработчики вынуждены были использовать радиоинтерфейсы на базе различных конкурирующих решений. Выдумывали свои «велосипеды» на уровне протоколов. И попадали в заветный Wi-Fi только с использованием дополнительных устройств, реализующих функционал моста. Стоивших весьма заметные деньги.

Но жизнь идет. Технологии стремительно развиваются. Термин «Интернет вещей» все чаще на слуху. Многим производителям микросхем, большим и не очень, наконец-то стало актуальным решить извечную проблему интеграции Wi-Fi в небольшие и недорогие устройства. Чтобы иметь возможность подключить их напрямую в инфраструктуру, уже имеющуюся почти в каждом жилище. Чтобы отъесть как можно больший кусок грядущего нового рынка подключаемых к сети простых устройств.

В 2014 году сразу несколько производителей объявили о выпуске соответствующих наборов микросхем. Сегодня речь пойдет о чипе ESP8266 китайской компании Espressif. Модулями UART-WIFI на базе этого чипа уже наводнен весь Китай и стоят они всего от $4,5 (с бесплатной международной доставкой).
Читать дальше →

10 самых распространённых ошибок при программировании на JavaScript

Reading time10 min
Views156K


Сегодня JavaScript лежит в основе большинства современных веб-приложений. При этом за последние годы появилось большое количество JavaScript-библиотек и фреймворков для разработчиков Single Page Application (SPA), графики, анимации и даже серверных платформ. Для веб-разработки JavaScript используется повсеместно, и поэтому качество кода обретает всё большее значение.

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

Как внедрить у себя back-to-back-тестирование. Опыт Яндекса

Reading time8 min
Views21K
При ускорении разработки возникает потребность ускорить и написание автотестов. К числу подходов, позволяющих покрывать тестами значительные куски функциональности за небольшое время, относится back-to-back-тестирование. Одна из наиболее распространенных разновидностей подобного тестирования для веб-сервисов – это сравнение скриншотов. Мы рассказывали о том, как используем его в тестировании поиска Яндекса. Если у вас имеется протестированная версия продукта, то создать набор автотестов для следующих версий достаточно просто и на это не потребуется много времени. Основная трудность состоит в том, чтобы в разных версиях сервиса воспроизводились идентичные ситуации. Для этого зачастую приходится поддерживать большое количество тестовых данных в нескольких средах.



Когда задумываешься об использовании back-to-back-подхода, первое, что приходит в голову, – проводить сравнение со стабильной средой. Но как эталон она подходит для очень ограниченного круга продуктов, потому что данные в стабильном и тестовом окружении зачастую расходятся. Нередко, убедившись, что проводить сравнение со стабильной средой не удастся, исследователь отказывается от использования back-to-back-тестирования. Читайте под катом о паре стандартных способов внедрения данного подхода, которые мы используем для сервисов Яндеса и которые решают многие проблемы, возникающие при использовании стабильной среды. Также мы расскажем об их достоинствах и недостатках, которые мы обнаружили.
Читать дальше →

Лазерное шоу своими руками. Часть 2

Reading time3 min
Views102K
Теперь, когда вы прочитали(или не прочитали) всю эту скучную теорию из первой части – займёмся практическими экспериментами. Если у вас в хозяйстве завалялся аналоговый осциллограф, то вы сможете не прилагая почти никаких усилий вывести на него видео.
Читаем

Лазерное шоу своими руками. Часть 1

Reading time6 min
Views114K

Рисующий луч: прошлое, настоящее и будущее.


Это вводная статья о истории развития и принципах работы технологий векторного отображения информации.
Не обижайтесь, на то, что тут всё слишком «википедично», просто мне надоели глупые вопросы.
Те, кто в теме, возможно найдут для себя интересным почитать конец статьи и могут смело переходить ко второй её части по ссылке в конце.
Читать дальше →

Allure — фреймворк от Яндекса для создания простых и понятных отчётов автотестов [для любого языка]

Reading time4 min
Views168K
Прежде чем начать рассказ про наш очередной opensource-инструмент, давайте я поясню, для чего мы его сделали. Я довольно много общаюсь с коллегами-тестировщиками и разработчиками из разных компаний. И, по моему опыту, автоматизация тестирования ─ один из самых непрозрачных процессов в цикле разработки ПО. Посмотрим на типичный процесс разработки функциональных автотестов: ручные тестировщики пишут тест-кейсы, которые нужно автоматизировать; автоматизаторы что-то делают, дают кнопку для запуска; тесты падают, автоматизаторы разгребают проблемы.



Я вижу здесь сразу несколько проблем: ручные тестировщики не знают, насколько автотесты соответствуют написанным тест-кейсам; ручные тестировщики не знают, что именно покрывается автотестами; автоматизаторы тратят время на разбор отчётов. Как ни странно, но все три проблемы вытекают из одной: результаты выполнения тестов понятны только автоматизаторам — тем, кто эти тесты писал. Именно это я и называю непрозрачностью.

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

Именно поэтому мы разработали Allure — инструмент, позволяющий внести прозрачность в процесс создания и выполнения функциональных тестов. Красивые и понятные отчёты Allure помогают команде решить перечисленные выше проблемы и начать наконец разговаривать на одном языке. Инструмент имеет модульную структуру, позволяющую легко интегрировать его с уже используемыми инструментами автоматизации тестирования.
Читать дальше →

Принтер для футболок: от домашней поделки до серийной модели текстильного принтера

Reading time6 min
Views261K
Летом 2011 года я опубликовал на хабре пару статей (вот и вот) о том, как из подручных материалов практически «на коленке» собрать текстильный принтер. Как оказалось — тема эта весьма интересная многим людям, и с момента публикации этих статей любителями поиздеваться над принтерами было собрано много самодельных аппаратов, которые успешно печатают и даже приносят прибыль.

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

Так что если вам все это интересно, то добро пожаловать под кат.

image

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

Micro Python — эффективная реализация Python 3 для микроконтроллеров

Reading time1 min
Views42K


Английский разработчик Дэмьен Джордж (Damien George) сегодня официально объявил о выпуске Micro Python — эффективной реализация Python 3 для встроенных систем с малым объёмом оперативной памяти. Разработка этой версии началась в декабре, после удачной кампании по сбору средств на выпуск Pyboard — контроллера, работающего на Питоне.
Читать дальше →

СметаCloud — составление смет онлайн. Отображение и печать больших таблиц в браузере

Reading time4 min
Views21K
image


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

Цели и задачи СметаCloud


Основная цель проекта СметаCloud — предоставить удобный сервис для составления сметной документации и совместной работы над документами, используя лишь компьютер с выходом в интернет.

Для кого подходит СметаCloud


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

Узнать больше

Используем nginx, docker, skydns и skydock для обновления кода на лету (zero-downtime deployment)

Reading time5 min
Views24K

Инструменты, которые мы будем использовать


Docker


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

Собрав контейнер один раз, его можно многократно использовать.

Простой пример — это БД Redis. Если нам необходимо несколько серверов Redis на одном компьютере, при обычном подходе нам придется изменять конфигурационные файлы в /etc/redis и менять файлы в /etc/init.d. Можно написать bash скрипт, но это не делает процесс легче.
Читать дальше →

Автоматизация тестовой инфраструктуры в Поиске

Reading time6 min
Views7.8K
Не секрет, что задачи тестирования, как ручного, так и автоматизированного, постоянно требуют создания новых тестовых стендов.
Для того чтобы автотесты Поиска Mail.Ru выполнялись быстро и во всех необходимых окружениях, нам потребовалось научиться быстро разворачивать новые виртуальные машины с определенной конфигурацией.
Большое количество виртуальных машин в нашем облаке используется браузерной фермой WebDriver, масштабируя её, мы ускоряем выполнение тестов web-интерфейса Поиска.
Кроме этого, на виртуалках мы запускаем инструменты для сбора метрик качества кода и измерения покрытия, а также инструменты для тестирования Поиска, разработанные нами.


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

Превращаем скучные логи Git'a в захватывающую анимацию

Reading time3 min
Views39K


Каждый, кто посвятил себя работе с компьютерами, хоть раз, но сталкивался с распространёнными высказываниями вроде: «Помоги мне сделать %work%, ты ведь всё равно без дела за компом сидишь». Особенно часто в эту ситуацию попадаёшь, когда работаешь непосредственно в окружении коллег проделывающих ручную работу. Для этих людей ты зачастую представляешься воплощением безделия и главным пользователем youtube.
Сейчас я покажу вам один из приёмов, как превратиться в глазах сотрудников из лодыря в волшебника.
стать волшебником

Напольные лючки Schneider — решения для организации рабочих мест в офисах

Reading time4 min
Views77K
Часто при прокладке кабельных трасс в офисных помещениях с открытой планировкой возникает вопрос о применении напольных коммутационных люков для организации рабочих мест. Рынок данной продукции не слишком насыщен качественными, продуманными предложениями по приемлемой цене и ограничиваются предложениями от одного-двух производителей. Да и у них есть свои недостатки.



Инсталляторы всегда активно реагируют на новые продукты в данном сегменте, особенно когда на «поле» выходят производители с мировым именем.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity