На даче холодно, и вы хотите за несколько часов до своего приезда туда включить обогреватель, или вас беспокоит возможность аварийного отключения системы отопления загородного дома в ваше отсутствие. Все эти проблемы можно решить с помощью GSM модуля, который умеет отправлять и получать SMS сообщения и реагировать на них, включая и выключая нужную нагрузку. В теории все просто, на практике же на пути реализации подобного устройства есть множество подводных камней.
Архив за 20 июля 2019 - 2
Опыт применения GSM модуля в домашней автоматизации
2019-07-20 в 18:38, admin, рубрики: arduino, arduino pro mini, avr, gsm, open source, SIM800L, sms, программирование микроконтроллеров, умный домНастройка сервера для развертывания Rails приложения при помощи Ansible
2019-07-20 в 16:56, admin, рубрики: Ansible, deploy, devops, ruby, Серверное администрированиеНе так давно мне было необходимо написать несколько ansible playbooks для подготовки сервера к деплою rails приложения. И, на удивление, я не нашел простого пошагового мануала. Копировать чужой плейбук без понимая происходящего я не хотел и в итоге пришлось читать документацию, собирая все самостоятельно. Возможно кому-то я смогу помочь этот процесс ускорить при помощи данной статьи.
Первым делом стоит понимать, что ansible предоставляет вам удобный интерфейс для выполнения заранее определенного списка действий на удаленном сервере (серверах) через SSH. Тут нет никакой магии, нельзя поставить плагин и получить из коробки zero downtime деплой своего приложения с докером, мониторингом и прочими плюшками. Для того чтобы написать плейбук вы должны знать что именно вы хотите сделать и как это сделать. Поэтому меня не устраивают готовые плейбуки с гитхаба, или статьи вида: “Скопируйте и запустите, — будет работать”.
Представлен сверхпроводящий транзистор из графена
2019-07-20 в 16:52, admin, рубрики: Гаджеты и устройства для гиковКонсенсус на репутации ноды. Нужен ли?
2019-07-20 в 16:26, admin, рубрики: blockchain, constellation, dag, IT-стандарты, p2p, proof of reputation, Криптовалюты, распределенные системыЗнаю-знаю. Криптопроектов тьма, есть куча консенсусов: на основе труда и владения, золота, нефти, выпеченных пирожков (есть и такой, да-да). Что нам ещё от одного? Это и предлагаю обсудить после прочтения перевода "облегченной" технической документации проекта *Созвездие (Constellation). Конечно, это не полное описание алгоритма, но мне интересно мнение комьюнити хабра, имеет ли место "быть" такому консенсусу или он даром не нужен?
Дальше букв не много, поэтому, если вам просто хочется написать "фу, сколько можно о крипте", то, пожалуйста, воздержитесь. Если вам интересны новые разработки в сфере распределенных систем и есть, чем поделиться в комментариях, то прошу под кат.
P.S. Я не автор технологии, за полную передачу сути ручаться не могу, поэтому буду рад комментариям с поправками, если такие будут.
Tinder против Google Play: разработчикам приложений не нравится платить комиссию маркетплейсам
2019-07-20 в 16:24, admin, рубрики: App Store, Google Play, Tinder, Монетизация мобильных приложений, приложенияTinder запустил новый способ оплаты в обход Google Play. Теперь пользователи смогут вводить данные для платежей прямо в приложении. Информация, оставленная пользователем, сохраняется, чтобы использовать ее при дальнейшей оплате.
Подборка рабочих примеров обработки данных
2019-07-20 в 16:14, admin, рубрики: big data, data mining, python, визуализация, машинное обучениеПривет, читатель.
По стопам моего первого поста подборки датасетов для машинного обучения — сделаю подборку относительно свежих датасетов с рабочими примерами по обработке данных. Ведь ни для кого не секрет, что обучение на хороших примерах проходит эффективнее и быстрее. Посмотрим, что интересного нам смогут показать одни из лучших примеров по обработке данных.
Схема работы с текущим постом унаследуется от моего поста про лучшие блокноты по ML и DS, а именно — сохранил в закладки → передал коллеге.
+ бонус в конце статьи — крутой курс от ФПМИ МФТИ.
Итак, давайте приступим.
Подборка датасетов с рабочими примерами обработки данных:
Suicide Rates Overview 1985 to 2016 — сравнение социально-экономической информации с показателями самоубийств по годам и странам.
Примеры обработки:
Базовые навыки для работы с Unity
2019-07-20 в 15:55, admin, рубрики: C#, unity, unity 5, unity3d, разработка игр, советы, советы и рекомендации, советы начинающим
Каждый разработчик хочет быстрее создать свою игру, но как сделать это? В этой статье рассмотрены базовые навыки, позволяющие сократить время разработки в среде Unity.
Читать полностью »
Вот это поворот: почему Apple изменила требования к разработчикам приложений
2019-07-20 в 15:50, admin, рубрики: 1cloud, iOS, Блог компании 1cloud.ru, детские приложения, игры для детей, разработка игр, разработка мобильных приложений, разработка приложенийВ прошлом месяце Apple опубликовала изменения в гайдлайнах для разработчиков приложений под iOS. Они коснулись, в том числе, приложений для родительского контроля и обеспечения конфиденциальности детей. Причем часть новых рекомендаций идет вразрез с решениями, которые Apple приняла несколькими месяцами ранее. Обсуждаем требования к приложениям в App Store, которые вступят в силу 3 сентября этого года, и разбираемся в причинах — а также возможных долгоиграющих последствиях — этой ситуации.
Продвинутый Debug
2019-07-20 в 15:42, admin, рубрики: debug, expression, LLDB, swift, xcode, Тестирование IT-системDebug Area — полезная функция в работе iOS разработчика в Xcode. Как только мы начинаем осваивать разработку под iOS, и пытаемся отойти от привычного и любимого print метода, и найти более быстрые и удобные методы понимания состояния системы в определенный период мы начинаем изучать область дебага (Debug Area).
Скорее всего, в Debug панель ваш взгляд упадёт до того, как вы будете понимать, что именно там происходит. При первом падении приложения нижнее меню открывается автоматически, оно изначально может послужить помощью для понимания проблемы (Вспомним старую добрую “Fatal error: Index out of range”), в основном в самом начале вы не будете понимать, что от нас хочет Xcode и приметесь гуглить ошибки, но по ходу роста всё больше и больше информации станет понятной.
С самого начала программист старается оптимизировать свою работу. Для этого мы стремимся понять в какой момент наша программа перешла в некорректное состояние. И тут в зависимости от точки в которой находится эволюция программиста, методы могут разниться. Сначала как правильно Debug осуществляется методом “print()”, потом идёт расстановка Breakpoints и вызов методов “po”, далее ознакомление с Debug Variable Input (области рядом с консолью в Xcode), а далее приходит понимание и способов компиляции кода в процессе остановки на Breakpoint методов — “expression” (По крайней мере, такая была эволюция у меня).
Давайте попробуем разные способы которые нам помогут понять и изменить состояние нашего приложения. Самые простые вроде “print()”, и “po” рассматривать не будем, я думаю, вы и так понимаете их суть и умеете применять.
Создадим простое приложение с одним экраном в котором будем всего один тип ячеек (TableViewcell) c двумя элементами внутри: UIImageView и UILabel. В ячейках будем писать её порядковый номер, а в картинку ставить либо image1, либо image2.
Метод tableViewCellForRowAtIndexPath будет создавать для нас ячейки, проставлять данные и возвращать:
Xiaomi Mi 9 оснащен тройной задней камерой с модулями 48, 12 и 16 мегапикселей, а Honor 20 имеет заднюю камеру с четырьмя модулями — 48, 16, 2 и 2 Мп.
Ролик, посвященный тесту, был опубликован на YouTube-канале FoneTech. По ссылке же доступен сравнительный тест на скорость Xiaomi Mi 9 и Honor 20.