Как стать автором
Обновить
0
0
Big Bud @Bigbud

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

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

Математика CSS-шлюзов

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

CSS-шлюзом (CSS-lock) называется методика из адаптивного веб-дизайна, позволяющая не перепрыгивать от одного значения к другому, а переходить плавно, в зависимости от текущего размера области просмотра (viewport). Идею и одну из реализаций предложил Тим Браун в статье Flexible typography with CSS locks. Когда я пытался разобраться с его реализацией и создать свои варианты, мне с трудом удавалось понять, что именно происходит. Я выполнил много вычислений и подумал, что полезно будет объяснить другим всю эту математику.

В статье я опишу саму методику, её ограничения и лежащую в её основе математику. Не волнуйтесь: там в основном одни сложения и вычитания. К тому же я постарался всё разбить на этапы и украсил их графиками.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии37

Обзор базовых возможностей ES6

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

JavaScript сильно изменился за последние годы. Вот 12 новых возможностей, которые можно начать использовать уже сегодня!


История


Новые добавления в язык называются ECMAScript 6. Или ES6 или ES2015+.


С момента появления в 1995, JavaScript развивался медленно. Новые возможности добавлялись каждые несколько лет. ECMAScript появился в 1997, его целью было направить развитие JavaScript в нужное русло. Выходили новые версии – ES3, ES5, ES6 и так далее.



Как видите, между версиями ES3, ES5 и ES6 есть пропуски длиной в 10 и 6 лет. Новая модель – делать маленькие изменения каждый год. Вместо того, чтобы накопить огромное количество изменений и выпустить их все за раз, как это было с ES6.

Читать дальше →
Всего голосов 51: ↑41 и ↓10+31
Комментарии41

Математика в JavaScript

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

Введение


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

От переводчиков


Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы решили, что мы не будем говорить о модных и полезных штуках типа ReactJS, Angular, TypeScript и других. Сегодня мы уделим внимание математике в JavaScript. Если вам нравится математика, вы можете заниматься ей всё свободное время, но если вашей целью являются не научные изыскания, а работа программистом, математика вряд ли станет лучшим объектом для изучения.
Читать дальше →
Всего голосов 61: ↑55 и ↓6+49
Комментарии20

Управление сценариями освещения с помощью Arduino

Время на прочтение4 мин
Количество просмотров30K
Причины появления этого проекта по сути две. Одна — это систематически перегорающие лампы в прихожей. Вторая — это имеющийся опыт работы с системами автоматизации на базе промышленных программируемых контроллеров (проектирование систем АОВ, АХС, АСДУ и т. д.) и желание применить эти знания во благо своих домочадцев.

Как вы уже наверно догадались, речь пойдет об автоматическом управлении освещением, но поскольку просто включать свет по датчику движения скучно и не современно, инженерная мысль привела меня к следующему варианту: автоматическое управление сценариями освещения (дневным и ночным) с возможностью как ручного так и дистанционного переключения режимов.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии75

В подземных бункерах Лондона теперь выращивают салат

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


На глубине 33 метра под лондонскими улицами находятся старые бомбоубежища, построенные во времена Второй мировой войны. Сегодня длинные подземные туннели используют не по назначению: они превратились в гидропонные теплицы. Здесь компания Zero Carbon Food выращивает салат и прочую зелень. Экологически чистый продукт свеженьким поставляется утром в магазины, рестораны и столовые Лондона.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии22

Контроллер управления вытяжным вентилятором с WiFi

Время на прочтение6 мин
Количество просмотров37K
image
Почти два года прошло с изготовления контроллера управления влажностью для ванной комнаты. Все это время контроллер служил верой правдой без глюков и зависаний, как и положено хорошему устройству и даже обзавелся с легкой руки моей супруги гламурным корпусом ручной работы.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии41

Веб-контроль Raspberry Pi GPIO

Время на прочтение4 мин
Количество просмотров82K
Доброго времени суток! В этом посте я хочу показать, как управлять электроникой через Интернет используя Raspberry Pi. Выглядеть это будет примерно вот так.



Краткое описание:
  • Серверная программа, которая работает на Raspberry Pi, для того чтобы читать переменные
  • Базы данных MySQL для хранения переменных
  • Веб-страница Apache2, для того чтобы контролировать переменные


Читать дальше →
Всего голосов 25: ↑18 и ↓7+11
Комментарии11

Управляем освещением в квартире (NooLite, Raspberry Pi и WebIOPi)

Время на прочтение35 мин
Количество просмотров30K
Хочу поделиться опытом использования системы для умного дома NooLite совместно с Raspberry Pi Model B (далее RPI) в двухкомнатной квартире.
О системе NooLite неоднократно писали на хабре:

В данной статье я расскажу:
  • об установке и настройке WebIOPi на предустановленную Raspbian в контексте использования UART для передачи команд на модуль MT1132 NooLite
  • о макросах в фреймворке WebIOPi для связывания запросов в стиле HTTP REST с GPIO UART
  • о написании простого клиента на платформе Android для управления светом через REST дырки

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии9

Практическое использование ROS на Raspberry Pi — часть 2

Время на прочтение8 мин
Количество просмотров16K
Добрый день, уважаемые читатели Хабра! Это вторая статья из цикла статей о практическом использовании ROS на Raspberry Pi. В первой статье цикла я описал установку необходимых компонент ROS и настройку рабочего окружения для работы.
Во второй части цикла мы приступим к практическому использованию возможностей ROS на платформе Raspberry Pi. Конкретно в данной статье я собираюсь рассказать об использовании камеры Raspberry Pi Camera Board на Raspberry Pi в связке с ROS для решения задач компьютерного зрения. Кто заинтересован, прошу под кат.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии4

Управление Умным Домом с телефона — мой опыт

Время на прочтение3 мин
Количество просмотров26K
Сегодня невозможно представить умный дом без управления с мобильных устройств. Когда я только начинал свою эпопею с умным домом, то возможность управлять с телефона была одной из главных, а если быть совсем честным, то в моем списке ответов “а зачем это вообще нужно?” управление с мобильных устройств было на первом месте.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии20

Рецепт вращения планет в космосе на HTML5 + JavaScript

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

Вычеркиваем


После непродолжительного подбора различных способов реализации, сразу были исключены варианты:
  • с gif-анимацией (из-за низкого качества изображения);
  • с Flash (по договоренности, Flash-технологии решили в проекте не использовать);
  • с анимацией с помощью JQuery посредством функции $().animate (по причине ее прожорливости).


CANVAS в помощь!


Итак, остановились мы на использовании Canvas и JavaScript, посчитав этот вариант оптимальным для реализации нашей задачи.
Читать дальше →
Всего голосов 39: ↑31 и ↓8+23
Комментарии14

Туннель Wi-fi -> RcSwitch для управления светом

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

Предыстория


Довольно часто в наших домах стали появляться люстры, управляемые с использованием беспроводного пульта, который работает на частоте 433\315 mhz.

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

image

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

image

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

image

Жить стало легче. Но не знаю как у остальных, но у меня эти самые пульты стали постоянно теряться. Пришлось что-то с этим делать.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии30

“Умный дом” на скорую руку

Время на прочтение6 мин
Количество просмотров21K
С нами продолжают делиться решениями на основе модулей Мастер Кит:
«В качестве эксперимента решил я тут попробовать сделать некий прототип “умного дома” на скорую руку и с минимальными затратами. “Хотелок” оказалось много: и свет, и вентиляция, и окна, и вода, и ИК-управление электроприборами. На первых порах решил ограничиться минимумом задач: вентиляция и освещение в комнате.


Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии8

Чудо свершилось. Вышла «отвязанная» версия Arduino Mega Server

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

Революция о которой так долго говорили большевики свершилась. Теперь вы можете взять карточку памяти microSD, записать на неё файлы дистрибутива AMS и ваша Arduino превратиться в маленькое (или большое, это как посмотреть) чудо. Вам больше не нужны «костыли» с поддержкой стороннего сервера, Arduino Mega Server стал полностью автономным и вполне «юзабельным» в одиночном режиме работы. И это открывает для всех нас очень интересные перспективы.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии27

8 ресурсов для бесплатного образования на русском языке

Время на прочтение3 мин
Количество просмотров62K
Как выглядит процесс обучения? Детсад, школа, университет и эпизодические курсы повышения квалификации, да и то не у всех. До конца жизни человек идет на том багаже знаний, который набрал в начале. Сейчас есть запрос на то, чтобы процесс обучения стал постоянным. Нужно поменять специализацию – пожалуйста. Нужно усилиться – пожалуйста. Делать это виртуально может быть проще и удобнее, ведь нет никаких барьеров. При этом качественные знания можно получить бесплатно. Представляю 8 платформ, на которых можно учиться на русском языке без бюджета.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии15

Слушаем музыку дома

Время на прочтение15 мин
Количество просмотров89K
Как-то так сложилось, но музыкального центра у меня никогда не было, максимум советский магнитофон Маяк-223 да пара колонок. Приобщиться к цифровому звуку и компакт-дискам удалось только с появлением PC-совместимого компьютера в начале 2000-х. Да и CD-привод был дорог и появился далеко не сразу. Однако в то время уже во всю развивалась революция MP3, а соответственно как и у многих, у меня начала расти небольшая коллекция музыки на винте, что-то было скопировано у друзей, что-то рипалось собственноручно с купленных компакт-дисков, дабы не дергать постоянно привод ради прослушивания музыки. Да и в Winamp'е можно было составить плейлист на много-много часов из много-много альбомов, а не гонять строго один альбом постоянно.

Собственно музыка слушалась со встроенной звуковухи на обычных компьютерных пищалках без особых претензий. Но несколько лет назад вдруг захотелось чего-то большего. Что называется, не было у бабы проблем, купила баба порося. В этой статье я постараюсь поделиться с вами личным опытом в организации домашнего звука.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии50

Favicons, Touch Icons, Tile Icons и т. д. Что выбрать?

Время на прочтение6 мин
Количество просмотров154K
От переводчика.
Это перевод статьи Филипа Бернарда с сайта css-tricks.com. Часть статьи, содержащую описание работы с созданным им сервисом, я позволил себе опустить. Если вы найдете ошибки, просьба сообщить о них в личном сообщении.

Статья содержит результаты проведенного им исследования, каким должен быть фавикон (и то что его заменяет), чтобы хорошо отображаться в различных случаях.


Фавикон был представлен в 1999 году, в Internet Explorer 5 (источник) и стандартизирован W3C несколько месяцев спустя. Это была маленькая иконка, представляющая сайт.



С тех пор большинство настольных браузеров следуют тенденции и используют фавикон тем или иным способом. Это очень просто, не так ли? Создать маленькую картинку и добавить в любой интернет-проект, чтобы сделать его «завершённым». Ничего сложного.
Или нет?
Всего голосов 73: ↑71 и ↓2+69
Комментарии44

Как перевести сайт целиком на постоянный HTTPS для всех

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

Шифруем всё подряд


Эра незашифрованного веба проходит, и это хорошо. В этой инструкции мы предполагаем, что на вашем сервере работает веб-сервер Nginx. И теперь мы сделаем так, чтобы все посетители сайта пользовались исключительно протоколом HTTPS. Кроме этого мы включим HSTS – это «HTTP Strict Transport Security», когда сайт не только поддерживает HTTPS, но и настаивает на его использовании.

Для этого есть множество способов, но я опишу метод под названием «HTTPS termination». Иначе говоря, мы поставим перед веб-сервером обратный прокси, который и будет обеспечивать HTTPS. Это получается проще и гибче, чем настраивать HTTPS только при помощи возможностей веб-сервера. Возможно, вам покажется контринтуитивным, что добавление ещё одного приложения в стек упростит вашу жизнь – но это действительно так.

Уточним, что данный рецепт подходит для серверов на базе Linux, на которых установлен Nginx.

То, что будет работать прежде всех остальных приложений в стопке – это HAProxy. Это в первую очередь приложение для балансировки – он умеет распределять приходящие запросы между разными физическими серверами. Много высоконагруженных сайтов используют его в этом качестве (тот же reddit), но в последней версии у него появилась возможность выполнять SSL termination. Он умеет устанавливать HTTPS-соединения от имени сервера.

Поэтому мы поставим HAProxy, скормим ему наши сертификаты SSL/TLS, поручим перенапрявлять все HTTP запросы на HTTPS, и покажем ему уже сам веб-сервер в качестве бэкенда.
Читать дальше →
Всего голосов 63: ↑49 и ↓14+35
Комментарии38

Простое управление arduino через интернет

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


Всем добрый день.

Около года назад я написал небольшую обзорную статью для управления Arduino через интернет, с помощью сервера NinjaBlocks. Это было довольно хорошее и удобное решение и оно отлично работало, пока в один прекрасный момент не начались проблемы с соединением. Попытки уговорить разработчиков через форум решить проблемы были напрасны — они просто игнорировали мои просьбы и не удосужились даже ответить, что было очень печально.

С того момента был просканирован весь интернет в поисках замены — и было найдено много очень интересных проектов, но они либо были слишком сложными в реализации и требовали значительных знаний в области программирования, либо были попросту неудобны. И вот тут и пришла мысль почему бы не сделать все самому.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии41

Вырезать и копировать в буффер с помощью JavaScript

Время на прочтение4 мин
Количество просмотров100K
Начиная с IE10 добавлена поддержка команд «Копировать» и «Вырезать» с помощью метода Document.execCommand(). Так же эти методы доступны в Chrome начиная с версии 43.

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

Это становится крайне полезным в сочетании с API программного выделения текста, что бы задать что скопировать в буфер. Примеры будут рассмотрены в этой статье.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии25
1
23 ...

Информация

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