Как стать автором
Обновить
14
0
graycrow @graycrow

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

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

Почему умные лампочки != умный дом, или немного о хабах и системах

Время на прочтение12 мин
Количество просмотров21K
Я хочу поговорить с вами о наболевшем. О теме, которая очень популярна в последнее время и стала отчасти предметом для спекуляций, недомолвок и зачастую откровенного обмана. Я хочу поговорить о умных домах.


Что такое «умный дом»? Вопреки уверениям некоторых производителей, это вовсе не «возможность выключать свет с телефона». Умный дом — это нечто, что снимает головную боль с тех, кто живет в нем. Какая умность заключается в возможности выключать свет со смартфона? Для пользователя это всего лишь еще один выключатель, такой же, как настенный, только, сенсорный и лежит обычно в кармане. Если для включения света в комнате пользователю все равно надо осознать факт «надо включить свет», понять-найти, где выключатель, и лишь после этого в него ткнуть — то умности в доме тут ни на грош. И тут уже нет разницы, где именно находится включатель, который надо ткнуть — на стене, висит на ключах в виде брелка, или лежит в качестве смартфона в кармане.
Нет. «Умность» дома, это когда человеку не надо даже думать о том, что надо включить свет, а он включается сам.
Когда не надо помнить, что уходя из дома, надо снизить температуру отопления и выключить весь свет. Когда кондиционер летом и обогреватель зимой сам включается незадолго до возвращения домой. Когда ночью по дороге в туалет свет сам включается с малой яркостью, чтобы не бил по глазам. Когда все это управляется с единого интерфейса… стоп. Кажется, я забежал немного вперед. Давайте пока поговорим немного о том, как можно примерно определить, насколько ваш дом умный.
Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии115

Как перезагрузить сервер?

Время на прочтение6 мин
Количество просмотров133K
Abstract: описание видов ребута, рассказ про sysrq, ipt_SYSRQ, ipmi, psu.

Как перезагрузить сервер? — Это вопрос, который обычно задают ну очень начинающим пользователям, которые путаются между halt, shutdown -r, reboot, init 6 и т.д.

Опытный администратор уточнит вопрос: «а что с сервером не так?» Разные виды отказов серверов требуют разных видов ребута — и неверно выбранный вариант приведёт к тяжелейшим последствиям, из которых визит в веб-морду IPMI/DRAC/iLO с целью «доперезагрузить» будет самым лёгким. Самым тяжёлым в моей личной практике была командировка эникейщика в соседний город. С целью «нажать ребут» на одиноко стоящем сервере.

В этой статье: что мешает серверу перезагрузиться и как ему помочь.

Начнём с теории ребута.

При выключении или перезагрузке сервера менеджер инициализации (в большинстве современных дистрибутивов — systemd, в эксцентричной Ubuntu 14.04 до сих пор upstart, в архаичном хламе — sysv-init) в определённом порядке посылает всем демонам команду «выключись». И большинство демонов (например, СУБД, вроде mysql) знают, как выключаться правильно. Например, закончить все транзакции, сохранить все несохранённые данные на диск и т.д. Для in-memory СУБД, наподобие redis, это и вовсе может быть критичным: не сохранил — потерял.

Старые системы иницализации ждали неограниченно долго каждый из инит-скриптов. Например, если «шутник» добавил вам в «stop» веточку «sleep 3600», то ваш сервер будет перезагружаться час с хвостиком. А если там цифра поболе, или просто программа, которая не хочет завершаться, то и ребут никогда не закончится.
Читать дальше →
Всего голосов 93: ↑86 и ↓7+79
Комментарии82

Включение подсистемы Linux в Windows 10

Время на прочтение1 мин
Количество просмотров252K
Недавно мы опубликовали пост про новый билд Windows 10 Insider Preview Build 14316, в котором говорилось про подсистему Ubuntu Linux в этой ОС. Нам написали многие пользователи, которые столкнулись с тем, что не смогли сразу обнаружить эту подсистему и запустить командный интерпретатор bash. Действительно, эта подсистема выключена по умолчанию, а ее драйверы LXss.sys и LXCore.sys не располагаются в системной директории (см. WinSxS). Для тех пользователей, которые не смогли разобраться с данной проблемой, мы укажем шаги по включению подсистемы и проверке ее активности.



Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии110

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

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

Пример очень неудачного опыта, пояснение в разделе “о технике безопасности”

К моему предыдущему посту было множество комментариев по части экспериментов с детьми. Тогда я пообещал написать отдельный пост о простых увлекательных опытах. Сейчас я это обещание выполняю. Данная статья будет вводной, в ней я расскажу только о самых популярных и известных экспериментах которые легко выполнить дома с ребенком.
Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии164

Я веб-разработчик и уже 10 дней не могу написать простейшее приложение

Время на прочтение6 мин
Количество просмотров139K
Предлагаю вашему вниманию перевод статьи "I’m a web developer and I’ve been stuck with the simplest app for the last 10 days".

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

В основном я занимаюсь full-stack web-разработкой. Периодически пишу бэкенд на Python или Ruby, иногда работаю с C#. Еще я пишу консольные утилиты на C++ и Node.js. Мне нравится Closure, я познакомился с web много лет назад, когда писал на Perl и PHP, а первые годы профессиональной разработки посвятил программированию на Java.

Когда я впервые встретился с Javascript, он в основном использовался для того, чтобы добавить на страничку "Текущее время". Это были девяностые, когда все хотели приправить свои странички так, чтобы пользователи могли оценить, как это клево: текущий день недели выводится динамически. А спустя какое-то время оказывалось, что Javascript может гораздо больше, и мы получаем полностью динамический HTML — DHTML!

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

Десять дней назад я решил сделать небольшое SPA для себя — маленькая утилита, потенциальный pet-project. Работы дня на два-три. А последние полгода я работал над десктопным проектом на C#. Это была довольно скучная программулина для управления рабочими процессами: webservice-бэкенд и winforms на фронте.
Читать дальше →
Всего голосов 139: ↑132 и ↓7+125
Комментарии148

Подключаем светодиодную матрицу к Raspberry pi

Время на прочтение2 мин
Количество просмотров17K
Давно лежала в коробочке светодиодная матрица 8*8 в комплекте с чипом для её управления MAX7219, резистором 10 кОм, конденсаторами — керамическим на 100 нФ и электролитическим на 10 мкФ, монтажной платой и несколькими коннекторами. Комплект получается как на фото. Наконец-то собрался с силами и решил её подключить.

Долго искал, как такой комплект подключить к raspberry и пример программы на С+, но не нашел, зато есть много примеров для ардуино. Удалось найти только пример кода на питоне и инструкцию по настройке, который за неимением лучшего и использовал. А в этом материале расскажу подробно, как подключить.
Читать дальше →
Всего голосов 18: ↑12 и ↓6+6
Комментарии25

Генераторы в ES6 и асинхронный код по-новому

Время на прочтение4 мин
Количество просмотров31K
Когда мы начинаем разбираться с ES6, генераторы находятся чуть ли не в конце списка нововведений, на которые мы обращаем внимание. Зачастую мы просто воспринимаем генераторы как простой способ создания кастомных итераторов, но на самом деле они могут предоставить нам намного более интересные возможности и скорее всего являются одним из самых интересных нововведений в ES6.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии7

Полноценный REST API для перфекционистов за 5 минут

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


Привет, Хабр! Меня зовут Владимир, мне 28 лет и я наркоман наркоман. Мой наркотик – простота. На простоту я подсел из-за своего перфекционизма, которым меня наградили при рождении.

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

Мир вокруг не идеален, сложную вещь сделать простой – невероятно сложно, поэтому всё чрезмерно усложнено. Людям нравится чувствовать себя профессионалами, поэтому они оперируют сложными терминами, когда в этом нет необходимости, так они ощущают свою значимость и заполняют пустоту, которая образовалась из-за страха потерянного времени.
Читать дальше →
Всего голосов 49: ↑41 и ↓8+33
Комментарии78

Векторное управление для асинхронного электродвигателя «на пальцах»

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

В предыдущей статье «Векторное управление электродвигателем «на пальцах» рассматривалась векторная система управления для синхронных электродвигателей. Статья получилась большой, поэтому вопрос про асинхронные электродвигатели (induction motors) был вынесен в отдельную публикацию. Данная статья является продолжением предыдущей и опирается на приведенные там объяснения принципов работы электродвигателей. Она расскажет об особенностях работы асинхронного двигателя применительно к векторному управлению, а также покажет отличия в структуре векторной системы управления между синхронной и асинхронной машиной.
Как работает асинхронный электродвигатель? Наиболее популярное объяснение говорит что-то типа «статор создает вращающееся магнитное поле, которое наводит ЭДС в роторе, из-за чего там начинают течь токи, в результате ротор увлекается полем статора и начинает вращаться». Лично я от такого объяснения всю физику процесса понимать не начинаю, поэтому давайте объясню по-другому, «на пальцах».
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии24

Готовим ASP.NET5, выпуск №5 — Gulp и Bower спешат на помощь

Время на прочтение5 мин
Количество просмотров17K
Мы продолжаем нашу колонку по теме ASP.NET5 публикацией от Вячеслава Бобика — .NET-разработчика из компании Radario. В этой статье Вячеслав интересно рассказывает о применении с ASP.NET5 популярных инструментов автоматизации Gulp и Bower c интеграцией в Visual Studio. Предыдущие статьи из колонки всегда можно прочитать по ссылке #aspnetcolumn — Владимир Юнев

В наши дни client-side разработка становиться не менее сложной, чем разработка server-side. Современному frontend разработчику приходится решать множество рутинных задач, таких как: препроцессинг Lass/Scss/Stylus, написание вендорских префисксов, поспроцессинг css, склеивать стили в один файл и многое другое.


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

Поэтому у frontend разработчиков есть довольно мощные инстументы, которые берут на себя выполнение множетсва рутинных задач, такие как: gulp и bower, а в новом ASP.NET5 они поставляются из коробки. Давайте рассмотри на примере ASP.NET5 приложения, как мы можем использовать gulp и bower.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии32

Готовим ASP.NET5, выпуск №4 — подробно про маршрутизацию

Время на прочтение11 мин
Количество просмотров17K
Мы продолжаем нашу колонку по теме ASP.NET5 публикацией от Станислава Бояринцева (@masterL) — разработчика корпоративных веб-систем из компании ItWebNet. В этой статье Станислав очень подробно и интересно рассказывает о механизме маршрутизации в ASP.NET5. Предыдущие статьи из колонки всегда можно прочитать по ссылке #aspnetcolumn — Владимир Юнев


Как была организована система маршрутизации до ASP.NET 5


Маршрутизация до ASP.NET 5 осуществлялась с помощью ASP.NET модуля UrlRoutingModule. Модуль проходил через коллекцию маршрутов (как правило объектов класса Route) хранящихся в статическом свойстве Routes класса RouteTable, выбирал маршрут, который подходил под текущий запрос и вызывал обработчик маршрута, который хранился в свойстве RouteHandler класса Route — каждый зарегистрированный маршрут мог иметь собственный обработчик. В MVC-приложении этим обработчиком был MvcRouteHandler, который брал на себя дальнейшую работу с запросом.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии14

Антилуддизм, зачем утюгу ардуина

Время на прочтение3 мин
Количество просмотров15K
Это ответ на пост habrahabr.ru/post/241407 «Система для «Своей Игры»» (в коммент он не влез) — схема включения только одного из нескольких каналов нагрузки с блокирокой остальных при однократном нажатии на соответствующую каналу кнопку.

Вот моя версия того же самого, но без компьютера с виндой, ардуины, и даже без микроконтроллера. И вообще без микросхем. И даже без транзисторов. Количество каналов неограниченно. 5 простых дешёвых деталей на канал.
а-а-АП
(Схему сюда рисовал дольше, чем паял)
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии40

Инструменты для взлома, мелькавшие в сериале Mr Robot

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

Всё время, пока в Голливуде снимали фильмы про хакеров, самым популярным инструментом для «взлома» была утилита nmap. Когда продюсеры фильма пытались добавить немного реалистичности, на экране компьютеров мелькал вывод nmap. Вроде бы первой отличилась Тринити из фильма «Матрица». Также эта утилита появлялась в Elysium, The Bourne Ultimatum, Die Hard 4 и других киношках.

image

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

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

Kali Linux


image

Несколько раз можно видеть использование дистрибутива Kali Linux – операционки, изначально снабжённой инструментами для проникновения и тестирования безопасности систем. Если вам интересна тема сетевой безопасности – скачивайте её себе и начинайте пробовать. Естественно, только в учебных целях. Не взламывайте чужие компьютеры – это незаконно!
Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии86

400 потрясающих бесплатных сервисов

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

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Всего голосов 108: ↑89 и ↓19+70
Комментарии38

Готовим ASP.NET5, выпуск №3 — внедрение зависимостей по-новому

Время на прочтение5 мин
Количество просмотров18K
Мы продолжаем нашу колонку по теме ASP.NET5 публикацией от Виктора Коцюбана ( Gbdrm) — Technical Leader из SoftServe. В этой статье Виктор поделится с вами подробностями нового встроенного функционала внедрений зависимостей в ASP.NET5. Предыдущие статьи из колонки всегда можно прочитать по ссылке #aspnetcolumn — Владимир Юнев
Внедрение зависимости – одна из самых популярных и используемых форм инверсии управления, важного принципа ООП, что позволяет уменьшить сцепление (coupling) – взаимозависимость, взаимосвязанность модулей.

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

В ASP.NET 5 встроена возможность внедрения зависимости. Что она позволяет и чем выделяется среди других таких подходов рассмотрим ниже. А также попробуем использовать ее на практике.
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии20

IoT за копейки: практическое руководство. Часть 1-я, аппаратная

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


Привет, Geektimes!

Представляем цикл статей, в котором рассмотрим, как с нуля и без пайки реализовать управляемое из облака недорогое IoT-устройство с огромными потенциалом. За основу возьмем «чистый» микрочип ESP8266, о котором недавно уже писали. Используем свежую DeviceHive-прошивку и напишем простенькое веб-приложение для обращения к cloud-серверу. К микрочипу подключим простое устройство, управлять которым можно будет с помощью пары кликов в браузере.

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

Совсем недавно состоялся публичный релиз первой версии DeviceHive-прошивки для ESP8266. Цель наших статей — помочь каждому желающему реализовать с помощью DeviceHive собственное IoT-решение максимально дешево, быстро и без лишних сложностей.

Нам понадобится всего пять вещей:
  • плата с распаянным ESP8266;
  • USB ->UART-переходник;
  • источник питания;
  • провода;
  • сам девайс, который мы хотим подружить с облаком.


Общая стоимость первых четырех пунктов не превысит $ 5. Какое устройство выбрать для экспериментов — решайте сами.

Давайте рассмотрим каждый пункт подробнее.
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии19

По-настоящему адаптивные письма. Часть… снова первая

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


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

К чему мы приходим:
— Использование внешних стилей и последующий прогон кода через инлайнер. Из-за усложнения кода это стало целесообразным
— Улучшение семантики через именование классов и сокращение участков кода
— Частичная поддержка the Bat! Хотя Николь на него забила.
— Полная поддержка всех мобильных почтовых клиентов
— Использование ранее опасных конструкций. Благодаря усердному тестированию проблемы решены.
Читать дальше →
Всего голосов 30: ↑25 и ↓5+20
Комментарии25

Сайт с картой Солнечной системы в правильном масштабе

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

Многие понимают, насколько космические расстояния огромные, но не все представляют себе их масштабы. В частности, привычные картинки с изображением Солнечной системы не нарисованы в правильном масштабе – иначе либо они вышли бы очень большими, либо планет на них просто не было бы видно. Чтобы наглядно продемонстрировать эти понятия, дизайнер и разработчик Джон Уорс сделал сайт, посвящённый Солнечной системе. Наша система представлена на нём в таком масштабе, что Луна занимает ровно один пиксель.

Сайт сделан в виде одной очень длинной страницы с горизонтальной прокруткой. Начав крутить колесо мыши, сначала мы познакомимся со шкалой расстояний и увидим Солнце. Затем начнётся отсчёт расстояния от центра светила в километрах или других единицах, которые можно выбрать внизу из выпадающего меню: километры, мили, астрономические единицы, световые минуты, диаметры Земли, пиксели. Есть даже такие экзотические меры длины, как автобус, голубой кит и Великая китайская стена. В правом верхнем углу находится меню выбора языка – приятно, что там есть и русский.

Покрутив несколько минут колесо мыши, посетитель начинает лучше ощущать космические масштабы. Периодически в пустоте встречаются поясняющие и развлекающие надписи. Если пользователь устал мотать страницу вручную, в его распоряжении есть два варианта. Первый – кнопка в правом нижнем углу, которая запускает автоматическую прокрутку со скоростью света. То есть, например, путешествие со скоростью света от Солнца до Земли займёт 8.4 минуты. До Плутона – 328.4 минуты.
Читать дальше →
Всего голосов 26: ↑15 и ↓11+4
Комментарии2

Улучшаем форму оплаты с помощью дизайна и анимации

Время на прочтение4 мин
Количество просмотров17K
Многие думают, что разработка дизайна для формы оплаты — это не самое важное занятие. Однако, если задуматься, то форма оплаты любого продающего сайта — один из важнейших составляющих его элементов, та самая «точка невозврата», пройдя которую покупатель уже не повернет вспять. Находясь на форме оплаты, клиент принимает окончательное решение о покупке выбранного товара или же об отмене заказа. Другими словами, платежная форма — это та тонкая грань, которая отделяет вас от цели любого продающего сайта — реализовать товар. И если рассуждать в подобном ключе, то становится очевидным, что пренебрегать дизайном формы никак нельзя.

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

Анимация на форме оплаты не должна носить исключительно развлекательный характер, напротив, ее главная цель — помочь пользователю разобраться с тем, что от него требуется и подтолкнуть к наиболее эффективному использованию вашего продукта. Здесь важно не переусердствовать. Существует простое, но эффективное правило, помогающее понять, так ли нужна выбранная вами анимация на форме оплаты: отключите ее и посмотрите, что будет. Если после отключения анимационных эффектов ваша форма значительно потеряла в информативности и функциональности, интерфейс стал менее удобным и выглядит неполным, значит анимация действительно полезна и нужна, в противном случае, если после отключения анимации восприятие формы не изменилось, вероятнее всего, она будет лишней.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии6

Искусство командной строки

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


Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

Enjoy!
Всего голосов 127: ↑122 и ↓5+117
Комментарии143

Информация

В рейтинге
Не участвует
Откуда
Чехия
Дата рождения
Зарегистрирован
Активность