Обновить
0
0
Александр@procks

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

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

DCF77: как работает система передачи сигналов точного времени?

Время на прочтение6 мин
Охват и читатели86K
Привет Хабр.

Наверное многие, приобретающие часы или метеостанцию, видели на упаковке логотип Radio Controlled Clock или даже Atomic Clock. Это весьма удобно, ведь достаточно поставить часы на стол, и они через некоторое время автоматически настроятся на точное время.



Разберемся как это работает и напишем декодер на языке Python.
Читать дальше →

Sketch + Node.js: генерируем иконки для множества платформ и брендов. Часть 2

Время на прочтение16 мин
Охват и читатели5K


Это вторая часть статьи о создании инструмента, способного экспортировать все помещённые в Sketch-файл иконки: в разных форматах, для разных платформ, с возможностью A/B-тестирования каждой из иконок.

Первую часть вы можете прочесть по ссылке.



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

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

[По докам] Flutter. Часть 1. Для Android разработчиков

Время на прочтение25 мин
Охват и читатели43K
Про Flutter написано уже много статей. С каждым месяцем он становится всё популярнее. Поэтому я решил интерпретировать официальную документацию Flutter в лаконичный формат «вопрос — ответ». Думаю, многие, как и я, не имеют достаточно свободного времени для подробного изучения документации фреймворка, с которым они ещё не работают.

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


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

VPN без VPN или рассказ об нетрадиционном использовании SSH

Время на прочтение10 мин
Охват и читатели56K
По данным ssh.com и Wikipedia, первая версия и реализация протокола SSH увидела свет в 1995 году. Задачей автора было разработать безопасную альтернативу использовавшимся тогда для удалённого администрирования rlogin, telnet и rsh. Любопытно, что появлению протокола SSH поспособствовал инцидент информационной безопасности, в результате которого злоумышленник собрал внушительную базу логинов/паролей от серверов, просто прослушивая университетскую сеть и выделяя пакеты аутентификации (пары логин/пароль в них передавались в незашифрованном виде).

Протокол быстро завоевал популярность и после длительного периода доработок и улучшений был стандартизован IETF в 2006 году. С тех пор он успел стать де-факто стандартом для удалённого управления системами с текстовой консолью. Помимо собственно текстовой консоли в протоколе предусмотрена масса других полезных функций, таких как передача файлов и переадресация портов. Именно о переадресации портов (port forwarding) и её не слишком очевидном применении пойдёт речь в этой статье.
Читать дальше →

Светодиодное враньё невиданных масштабов

Время на прочтение3 мин
Охват и читатели262K
В магазинах можно встретить множество мощных светодиодных ламп, например «свечки» и «шарики» 9 и 11 Вт.

Вот только свечек и шариков такой мощности сегодня существовать не может.
Читать дальше →

Google Drive как хранилище для веб-приложения

Время на прочтение9 мин
Охват и читатели46K

Предисловие


Мое веб-приложение хранит данные в localStorage. Это было удобно, пока не захотелось, чтобы пользователь, заходя на сайт с разных устройств, видел одно и то же. То есть, понадобилось удаленное хранилище.

Но приложение «хостится» на GitHub Pages и не имеет серверной части. Я решил не делать сервер, а данные хранить у третьей стороны. Это дает существенные преимущества:

  1. Не нужно платить за сервер, не болит голова о его стабильности и доступности.
  2. Меньше кода, меньше ошибок.
  3. Пользователю не нужно регистрироваться в моем приложении (это многих раздражает).
  4. Приватность выше, и пользователь знает, что его данные хранятся в месте, которому он, скорее всего, доверяет больше, чем мне.

Сначала выбор пал на remoteStorage.js. Они предлагают открытый протокол обмена данными, достаточно приятное API, возможность интеграции с Google Drive и Dropbox, а также свои сервера. Но этот путь оказался тупиковым (почему — отдельная история).

В итоге решил использовать Google Drive напрямую, и Google API Client Library (далее GAPI) как библиотеку для доступа к нему.

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

Надеюсь, данная статья сэкономит вам время, если вы решите использовать Google Drive в вашем приложении.
Читать дальше →

Беспроводной программируемый по Wi-Fi комнатный термостат с монитором качества воздуха и другими полезными функциями

Время на прочтение35 мин
Охват и читатели35K

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


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


Что в результате получилось – читайте дальше. Надеюсь, кроме меня проект будет интересен другим.

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

Выбираем, наконец, бюджетный мультиметр с хорошим функционалом

Время на прочтение4 мин
Охват и читатели112K
Два года назад был опубликован пост с тестированием мультиметров. Цена протестированной модели Fluke 87-V начинается от 40 тысяч рублей, что для рядового пользователя находится за пределами разумного, за что автора закономерно отругали. Более того, часть пользователей разумно заметила, что для проверки батареек хватит и DT 838 за 300 рублей. Таким образом, были охвачены два полюса цен, а есть ли что-то за промежуточные деньги, но с хорошей точностью, осталось неясным. Если интересно — давайте посмотрим.

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

Как научить людей использовать Git

Время на прочтение3 мин
Охват и читатели142K
По работе приходится участвовать в разных проектах, поэтому я хорошо знаю, как работают все мои коллеги. Помню, что компания начала использовать Git буквально за пару недель до моего прихода. На мониторах разработчиков кругом висели наклейки с напоминанием: сначала add, потом коммит, затем пуш.


Они не знали, зачем. Программистам просто сказали строго следовать инструкции, иначе беда. Но проблемы возникали так часто, что я решила провести семинар по Git.
Читать дальше →

Как не продолбать пароли в Python скриптах

Время на прочтение4 мин
Охват и читатели73K


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

Все меняется, когда мы убираем из схемы человека, который старательно вводит ключ с бумажки. При взаимодействии двух информационных систем, на клиентской стороне в любом случае должен храниться пароль в открытом для системы виде, чтобы его можно было передать и сравнить с эталонным хешем. И вот на этом этапе админы обычно открывают местный филиал велосипедостроительного завода и начинают старательно прятать, обфусцировать и закапывать секретный ключ в коде скриптов. Многие из этих вариантов не просто бесполезны, но и опасны. Я попробую предложить удобное и безопасное решение этой проблемы для python. И чуть затронем powershell.
Читать дальше →

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

Время на прочтение7 мин
Охват и читатели133K


Я один раз надел по-настоящему беспроводные наушники, и кабели после этого, пусть даже это и гибкое оголовье на беспроводной гарнитуре, стали раздражать. Поэтому все новые уши вроде эппловских AirPods я воспринимаю с энтузиазмом и стараюсь погонять какое-то время. В 2018-м помимо AirPods я успел поносить Jabra Elite 65+, Samsung IconX 2018 и Sony WF-1000X. В итоге получилась сравнительная табличка под катом — в ней объективные данные. А все остальное — мои субъективные наблюдения и тема для обсуждения.

Переход на Kotlin в Android-проекте: Tips and Tricks

Время на прочтение10 мин
Охват и читатели14K

Автор: Сергей Ешин, Strong Middle Android Developer, DataArt

Уже более полутора лет прошло с тех пор, как Google объявил об официальной поддержке Kotlin в Android, а самые матерые разработчики начали экспериментировать с ним в своих боевых и не очень проектах больше трех лет назад.

Новый язык тепло приняли в Android-сообществе, и подавляющая часть новых проектов на Android стартует с Kotlin на борту. Важно и то, что Kotlin компилируется в JVM-байткод, следовательно, полностью совместим с Java. Значит, в существующих Android-проектах, написанных на Java, тоже есть возможность (более того — потребность) задействовать все фичи Kotlin, благодаря которым он и приобрел столько поклонников.

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

Современная Android разработка на Kotlin. Часть 2

Время на прочтение24 мин
Охват и читатели72K
Привет, Хабр! Представляю вашему вниманию перевод статьи "Modern Android development with Kotlin (Part 2)" автора Mladen Rakonjac.

Примечание. Данная статья является переводом циклов статей от Mladen Rakonjac, дата статьи: 23.09.2017. GitHub. Начав читать первую часть от SemperPeritus обнаружил, что остальные части почему-то не были переведены. Поэтому и предлагаю вашему вниманию вторую часть. Статья получилась объёмной.

image

«Очень сложно найти один проект, который охватывал бы всё новое в разработке под Android в Android Studio 3.0, поэтому я решил написать его.»

Трехмерный движок на формулах Excel для чайников

Время на прочтение9 мин
Охват и читатели73K


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

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

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

Осторожно: 19 картинок и 3 анимации под катом.
Читать дальше →

Нет полигонам ТБО — вермиминиферму поставь под окно

Время на прочтение5 мин
Охват и читатели17K
Больше года свежая зелень у меня выращивается на балконе автоматически. Это просто и здорово помогает в обеспечении здорового образа жизни в квартире, экономя при этом бюджет. Но заботиться нужно не только о себе, но и об окружающей среде, которая не меньше влияет на наше самочувствие и здоровье (привет, «Кучино»).

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

Для себя я нашел ответ на стыке агротехнологий, переработки мусора, полезного питания и Ардуино.



С удовольствием делюсь этим уникальным опытом со всеми балконными фермерами. Но все по порядку.
Читать дальше →

Светодиодные лампы с/из Украины

Время на прочтение3 мин
Охват и читатели43K
Международные бренды, выпускающие светодиодные лампы, можно пересчитать на пальцах одной руки, но в каждой стране есть множество локальных брендов. Большинство ламп, которые я протестировал на Lamptest.ru, продаются только в России, но сайтом пользуются и в других странах. Михаил Рыбинцев смог переправить мне из Киева 14 ламп семи украинских брендов.

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

Как использовать корутины в проде и спокойно спать по ночам

Время на прочтение20 мин
Охват и читатели34K
Корутины — мощный инструмент для асинхронного исполнения кода. Они работают параллельно, общаются друг с другом и потребляют мало ресурсов. Казалось бы, без страха можно внедрять корутины в продакшен. Но страхи есть и они мешают.

Доклад Владимира Иванова на AppsConf как раз о том, что не так страшен чёрт и что можно прямо сегодня применять корутины:



О спикере: Владимир Иванов (dzigoro) — ведущий Android-разработчик в компании EPAM с 7-летним опытом, увлекается Solution Architecture, React Native и разработкой под iOS, а еще имеет сертификат Google Cloud Architect.

Передача данных через анимированные QR на Gomobile и GopherJS

Время на прочтение12 мин
Охват и читатели35K

В данной статье я хочу рассказать о небольшом и забавном проекте выходного дня по передаче файлов через анимированные QR коды. Проект написан на Go, с использованием Gomobile и Gopherjs – последний для веб-приложения для автоматического замера скорости передачи данных. Если вам интересна идея передачи данных через визуальные коды, разработка веб-приложений не на JS или настоящая кроссплатформенность Go — велкам под кат.


txqr demo

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

Современная MVI-архитектура на базе Kotlin

Время на прочтение8 мин
Охват и читатели58K


За последние два года Android-разработчики в Badoo прошли длинный тернистый путь от MVP к совершенно иному подходу к архитектуре приложений. Мы с ANublo хотим поделиться переводом статьи нашего коллеги Zsolt Kocsi, описывающую проблемы, с которыми мы столкнулись, и их решение.

Это первая из нескольких статей, посвящённых разработке современной MVI-архитектуры на Kotlin.
Читать дальше →

Создание собственной цветовой палитры

Время на прочтение4 мин
Охват и читатели45K
Адаптировано из нашей будущей книги «Рефакторинг UI»

Видели эти модные генераторы цветовой палитры? Когда выбираешь цвет, настраиваешь несколько параметров с музыкальными словечками типа «триада» или «четвёртый мажор» — и получаете пять идеальных цветов для своего веб-сайта?



Такой вычислительный и научный подход к выбору идеальной цветовой гаммы крайне соблазнителен, но не очень полезен.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность