Pull to refresh
2K+
1
@alextooread⁠-⁠only

User

2
Rating
3
Subscribers
Send message

«Атлас Telegram» — как создавалась интерактивная карта с 500 000 каналами

Level of difficultyMedium
Reading time13 min
Reach and readers18K

Мы привыкли видеть Telegram как список чатов и каналов на своём устройстве. Но это лишь малая часть большой экосистемы, ограниченная подписками каждого пользователя. А как выглядит вся экосистема целиком? Эта статья — о том, как мы провели масштабное исследование контента Telegram и разработали интерактивную карту с 500 000 каналами.

Читать далее

Как использовать html-элемент <dialog>?

Level of difficultyMedium
Reading time11 min
Reach and readers49K

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

В своей работе я часто создаю собственные или использую уже готовые UI-компоненты. Проблема с такими компонентами заключается в том, что они часто ограничены определённым фреймворком, и их реализация требует написания сложной нестандартизированной логики. В течение долгого времени для базовых UI-компонентов, таких как диалоговые окна, использовались самописные решения, а в тяжёлых случаях и встроенные в JavaScript методы alert(), prompt() и confirm().

Отличная новость в том, что такой компонент можно реализовать с использованием нативного HTML-элемента <dialog>, который встроен в стандарт HTML5 и работает одинаково во всех современных браузерах.

Давайте познакомимся с возможностями <dialog> поближе.

Читать далее

Использование таймеров systemd вместо заданий cron

Reading time20 min
Reach and readers125K
Сейчас я занимаюсь заменой моих cron-заданий на таймеры systemd. Я пользовался таймерами несколько лет, но обычно в тонкости их применения особо не углублялся, разбираясь лишь с тем, что нужно было для выполнения интересующей меня задачи. Недавно я работал над серией материалов про systemd и узнал о том, что systemd-таймеры обладают некоторыми очень интересными возможностями.



Эти таймеры, как и задания cron, могут, в заданное время, вызывать выполнение различных действий в системе. Например — запуск скриптов командной оболочки или программ. Таймеры могут срабатывать, например, раз в день, причём — только по понедельникам. Ещё один пример — срабатывание таймера каждые 15 минут в рабочее время (с 8 утра до 6 вечера). Но таймеры systemd могут кое-что такое, что недоступно заданиям cron. Например, таймер может вызвать скрипт или программу через заданное время после некоего события. Таким событием может быть загрузка системы или запуск systemd, завершение предыдущей задачи или даже завершение работы сервиса, вызванного ранее по таймеру.
Читать дальше →

Климатическая система в квартире своими руками

Reading time21 min
Reach and readers117K
Кто-то в детстве мечтает изобрести лекарство от рака, кто-то — стать космонавтом или владельцем свечного заводика. А я мечтал о том, что у меня появится климатическая система, и в квартире, наконец, не будет душно, вечная простуда от сквозняков исчезнет, а горло перестанет першить от сухости. И теперь мечта исполнена!

Примерно с декабря 2015 по июнь 2016 года я читал форумы, катался по строительным магазинам, собирал систему в квартире и на балконе, паял контроллер и писал прошивку — и добился своего.

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

Схема установки
А если чуть подробнее, то...

DUMP-2016: видео всех докладов в одном посте. Бесплатно. Без СМС

Reading time9 min
Reach and readers23K
8 апреля в Екатеринбурге прошла конференция DUMP. Под катом — видео 60-и докладов про frontend, serverside, devops, mobile, дизайн, управление разработкой и тестирование, плюс все презентации и фотографии с прошедшей конференции. А вот короткий отчетный ролик про DUMP-2016.


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

Как настроить двухфакторную аутентификацию для логина и sudo

Reading time4 min
Reach and readers53K


Безопасность в моде, как это и должно быть. Мы живем в мире, где данные — невероятно ценная валюта, которую вы всегда рискуете потерять. Поэтому вы должны сделать все, чтобы убедиться, что то, что вы держите на серверах и десктопах — в безопасности. Для этого администраторы и пользователи создают невероятно сложные пароли, используют менеджеры паролей и т.д. Но что, если я вам скажу, что вы можете логиниться на ваши серверы и десктопы Linux за два шага, вместо одного? Вы можете это делать благодаря Google Authenticator. Более того, это невероятно легко настроить.

Я собираюсь провести вас через процесс настройки двухфакторной аутентификации для использования ее на логине и sudo. Я продемонстрирую это на десктопной Ubuntu 16.04, но процесс также работает и для сервера. Чтобы справиться с двухфакторной стороной вещей, я буду использовать Google Authenticator.
Читать дальше →

А если найду? Перелет еще дешевле чем вы уже нашли

Reading time3 min
Reach and readers124K
Если вы планируете поездку и уже нашли недорогой перелет, не спешите покупать билеты, потому что сейчас вы найдете билеты еще дешевле. И это не реклама очередного говноагрегатора.

Всем известно, что авиакомпании берут свои цены с потолка. Маркетологи придумывают хитроумные непрозрачные схемы отъёма денег у пассажиров пропорционально финансовым возможностям последних. Так, чтобы богатые платили за билеты побольше, а бедные — сколько смогут.

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

Из ESP8266 сделали аналоговый телевизионный передатчик

Reading time2 min
Reach and readers61K


Признаться, когда я читал статью об этом проекте на Hackaday, не раз посмотрел на календарь — уж не первое апреля ли?

Автор проекта, Чарльз Лор, выступающий под ником CNLohr на Github, взял обычный трёхдолларовый модуль ESP8266, который многие из нас используют для «Умного дома» и прочих IoT поделок, и разогнал его. Он заметил, что при этом I2C на модуле остаётся работоспособным и прекрасно работает на частоте 80 мегагерц. Автор вспомнил, что эта частота близка к частотам аналогового телевидения и, вспомнив Найквиста (Котельникова) смог заставить ESP8266 выдать сигнал на частоте около 60 мегагерц — частоте третьего канала аналогового ТВ.

Ему осталось только припаять к «ноге» модуля длинный провод, который послужил передающей антенной и вспомнить устройство видеостандарта NTSC. Впрочем, видео — лучше тысячи слов:

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

Система проветривания комнаты на основе «малинки» и «Детектора СО2»

Reading time4 min
Reach and readers20K
Мода на умные дома захлестнула весь интернет, каждый нынче хочет сделать лампочку, которая умеет выключаться через интернет или пощёлкать вентилятором в туалете. Мой опыт был достаточно прост: я хотел сделать систему, которая умеет автоматически проветривать комнату, ни больше, ни меньше.

После обдумывания принципа работы системы пришел к некоторым выводам, которые и решил реализовать. По задумке, весь функционал системы делится на три составляющие: «мозги» которые всем управляют, система открывания форточки/или включение вентилятора и сам датчик который следит за качеством воздуха в помещении. Вот о сенсоре качества воздуха далее я и расскажу, плюс немного затрону тему интеграции его с “мозгами” умного дома.
Читать дальше →

Arduino DIY Watch — самодельные часы на Arduino

Reading time13 min
Reach and readers61K


После нескольких лет знакомства с Arduino захотелось сделать что-то действительно интересное и полезное. Было решено сделать наручные часы. Но не просто часы, а действительно компактные, удобные, внешне не очень страшные и самое главное с длительным временем автономной работы часы.
И так встречайте самодельные часы на Arduino или DIY Arduino Watch!
Читать дальше →

Щелкаем реле правильно: коммутация мощных нагрузок

Reading time3 min
Reach and readers276K
Привет, Geektimes!

Управление мощными нагрузками — достаточно популярная тема среди людей, так или иначе касающихся автоматизации дома, причём в общем-то независимо от платформы: будь то Arduino, Rapsberry Pi, Unwired One или иная платформа, включать-выключать ей какой-нибудь обогреватель, котёл или канальный вентилятор рано или поздно приходится.

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

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



Я же хочу рассказать про простую и довольно очевидную, но при этом редко встречающуюся схему, умеющую вот такое:

  • Гальваническая развязка входа и нагрузки
  • Коммутация индуктивных нагрузок без выбросов тока и напряжения
  • Отсутствие значимого тепловыделения даже на максимальной мощности


Но сначала — чуть-чуть иллюстраций. Во всех случаях использовались реле TTI серий TRJ и TRIL, а в качестве нагрузки — пылесос мощностью 650 Вт.

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

Радиоприёмник из DVB стика за $8 — изучаем SDR с GNURadio

Reading time11 min
Reach and readers65K
Каждый день мы пользуемся множеством радио устройств. Однако редко понимаем, как они работают. Эпоха радиолюбителей фактически прошла, оставив в прошлом любителей спаять приёмник ДВ или СВ своими руками. Да и в методах кодирования техника ушла далеко вперёд. Мы часто слышим рассуждения о взломе умных домов на радио протоколах, о ненадёжности радио связи и т.д. Но многие ли из вас пробовали, например, подслушать Z-Wave сеть умного дома соседа и тем более поуправлять ей? Насколько велика эта угроза для вас?

К счастью в наши дни стали доступны очень удобные средства для работы с радио, а именно SDR.

SDR (Software Defined Radio) позволяет программно перестраивать приёмник и передатчик для работы на различных частотах от 20 до 2000 МГц, после чего произвести обработку сигнала на компьютере с помощью цифровых методов. Это существенно отличает SDR от аналоговых схем радиопрёмников и передатчиков, позволяя легко менять алгоритм обработки полученного сигнала.




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

Под катом я расскажу об основах SDR и GNURadio и о том, как за 8 баксов сделать приёмник AM/FM, китайской управляемой розетки, телеметрии со спутника и всего, что вздумается.

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

Управление бесколлекторным двигателем по сигналам обратной ЭДС – понимание процесса

Reading time13 min
Reach and readers141K
Когда я начал разрабатывать блок управления бесколлекторным двигателем (мотор-колесом), было много вопросов о том, как сопоставить реальный двигатель с абстрактной схемой из трех обмоток и магнитов, на которой, как правило, все объясняют принцип управления бесколлекторными двигателями.

Когда я реализовал управление по датчикам Холла я еще не очень понимал, что происходит в двигателе дальше абстрактных трех обмоток и двух полюсов: почему 120 градусов и почему алгоритм управления именно такой.

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

Ниже я постараюсь расписать свой путь к пониманию принципа управления бесколлекторным двигателем постоянного тока.


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

Let's Encrypt выходит в публичную бету: HTTPS всюду, каждому, отныне и навсегда бесплатно

Reading time3 min
Reach and readers67K
Let's Encrypt

Let's Encrypt — это некоммерческая инициатива, предоставляющая бесплатный, автоматизированный и открытый CA (certificate authority — центр сертификации), созданный ISRG на благо общества:

  • бесплатно: владелец всякого доменного имени может воспользоваться Let's Encrypt и получить доверенный (читать как «признаётся любым современным браузером») TLS-сертификат (TLS — наследник SSL) совершенно бесплатно;
  • автоматизированно: Let's Encrypt предоставляет бесплатное и свободное программное обеспечение (клиент), которое, будучи настроенным на веб-сервере, может полностью автоматически запрашивать безвозмездно предоставляемые сертификаты Let’s Encrypt, автоматически конфигурировать и обновлять их;
  • безопасно: Let’s Encrypt строится как платформа для продвижения наилучших практик безопасности TLS как на стороне центра сертификации (CA), так и на стороне веб-сайтов, помогая администраторам должным образом настраивать веб-серверы;
  • прозрачно: информация о выпуске и отзыве каждого сертификата Let's Encrypt доступна вполне и публично так, что любой желающий изучить её сможет это сделать;
  • свободно: протоколы взаимодействия со CA, позволяющие автоматизировать процессы выпуска и обновления сертификатов, будут опубликованы как открытый стандарт для максимального внедрения;
  • кооперативно: как и любой протокол, лежащий в основе Интернета и Всемирной паутины, Let’s Encrypt является совместным, неподконтрольным какой-либо конкретной организации некоммерческим проектом созданным исключительно для того, чтобы принести пользу обществу.

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

Строим сервисы на базе Nginx и Tarantool

Reading time6 min
Reach and readers26K
Вам знакома такая архитектура? Хоровод демонов, пляшущих между web-server, cache и storage.



Какие минусы такой архитектуры можно отметить? Решая задачи в рамках такой архитектуры, мы сталкиваемся с кучей вопросов: какой язык(и?) взять, какой I/O framework выбрать, как синхронизировать cache и storage? Куча инфраструктурных вопросов. А зачем решать инфраструктурные вопросы, когда надо решить задачу? Безусловно, можно сказать, что нам нравятся некие технологии X и Y, и перевести эти минусы в рамки идеологических. Но нельзя отрицать тот факт, что данные располагаются на неком расстоянии от кода (картинка выше), что добавляет latency, что может уменьшить RPS.

Цель данной статьи — рассказать об альтернативе, которая построена на базе Nginx как web-server, bаlancer и Tarantool как App Server, Cache, Storage.
Читать дальше →

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

Reading time16 min
Reach and readers736K

Рад представить дополнение оригинального списка из 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).
Читать дальше →

Жизнь верстальщика в Linux

Reading time3 min
Reach and readers78K
Большинство fronted-разработчиков, используют ОС Windows или OS X в связи с отсутствием полноценного Photoshop. Но как быть тем, кто неравнодушен к Nix системам? Сейчас и попробуем выяснить, интересующихся прошу под кат.
Читать дальше →

Как я мониторил Avito по SMS

Reading time8 min
Reach and readers64K
Как известно, на «Авито» периодически появляются товары очень хорошего качества и при этом очень дешевые. Но появляются они редко, висят там мало и исчезают быстро.

Поэтому возникла у меня идея: а не поискать ли сервис, который раз в несколько минут проверяет объявления, и если появилось что-то интересное для меня — оповещает об этом? При этом оповещать лучше всего по смс, а то почту я не всегда проверяю оперативно.

Гуглинг выдал несколько таких сервисов, «всего» от 3 руб за смс или от 4 руб в сутки.

В итоге, я решил написать такой сервис самостоятельно, но об этом дальше…
Читать дальше →

Новые возможности Safari 9 в iOS 9 и Mac OS X

Reading time6 min
Reach and readers17K
C релизом iPhone 6s, iOS9, OS X 10.11 El Capitan и даже watchOS 2 у веб-разработчиков появилось возможность попробовать новые функции в Safari 9. Далее подробно разберем их в нашей статье.

CSS


Поддержка фонового фильтра (backdrop-filter)


Это свойство определенно в Filter Effect Level 2, позволяет применять фильтры к фону (backdrop) элемента, а не к его фону (background). Можно создавать полупрозрачный фон, например для меню на фоновом изображении. Текст хорошо читается и выглядит эффектно, как в iOS.

Фоновый фильтр
Читать дальше →

Осциллоскоп на WebGL

Reading time4 min
Reach and readers18K


В электронной музыке есть интересное направление — музыка для осциллоскопов, которая рисует интересные картинки, если выход аудиокарты подключить к осциллоскопу в режиме XY.
К примеру, Youscope, Oscillofun и Khrậng.

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

Это сподвигло меня на создацие своего эмулятора осциллоскопа на WebGL: woscope.

В этом посте я расскажу о том как именно происходит рисование линий осциллоскопа в woscope.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Registered
Activity