Как стать автором
Обновить
4
0

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

Отправить сообщение
Мы на Хабр Карьере проанализировали более 13 000 зарплат IT-специалистов во втором полугодии 2021 года, рассказываем, что получилось.
Медианная зарплата среди всех IT-специалистов сейчас 140 000 ₽. В Москве средний заработок айтишников самый высокий — 175 000 ₽, в Петербурге платят уже немного меньше — 150 000 ₽, в остальных регионах ребята получают 115 000 ₽. Уровень зарплат в этот период вырос на 17% по сравнению с первым полугодием 2021 года. В основном на это повлиял рост зарплат в регионах.
Хочу узнать подробности!
Всего голосов 31: ↑27 и ↓4 +23
Комментарии 102

DIY зарядка для Tesla. Как устроен J1772? Делаем свой wallconnector с куртизанками

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

Может ли автомобиль загореться от плохого зарядного устройства? Зарядное устройство переменного тока для электромобилей с протоколом J1772 по сути своей не зарядное устройство. Я решил сделать свой Wallconnector с бюджетом до 10.000 руб. и разобраться как все работает. Опыты с электричеством опасны! Не повторяйте это дома, или повторяйте....решать Вам!

Сделай свою зарядку сам, тыжпрограммист

Читать далее
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 28

Согласование импедансов: как сломать и как починить

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

Рано или поздно в руки любителей, начинавших с Ардуино, попадают куда более быстрые устройства. Накинув щупы осциллографа на навесные провода, они обнаруживают, что сигнал, который задумывался, как голубая линия на заглавной картинке на деле выглядит, как жёлтая. В поисках решения проблемы они приходят к весьма многогранной области знаний под названием «Целостность сигналов». И если такие её аспекты, как питание и возвратные токи относительно просты для понимания, то согласование импедансов содержит ряд контринтуитивных положений. В процессе освоения данной темы мне показалось, что материалы по ней разделены на три не слишком хорошо связанных блока:
1) теория с формулами и отсылками к 2 курсу ВУЗа
2) гипертрофированные примеры на симуляторах
3) применение на практике (с эмпирическими суевериями)

Данная статья является попыткой начать с конца. Я возьму работающую схему, выполненную в текстолите. Затем постараюсь ухудшить её характеристики так, чтобы рассогласование линий стало причиной сбоев в работе или хотя бы стало заметно на осциллографе. А затем постараюсь устранить возникшие проблемы.

Согласовать импедансы
Всего голосов 90: ↑89 и ↓1 +88
Комментарии 40

Делаем интерактивный план местности за 15 минут

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


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

Всего голосов 16: ↑15 и ↓1 +14
Комментарии 2

Нарастающий итог в SQL

Время на прочтение 10 мин
Количество просмотров 131K
Нарастающий (накопительный) итог долго считался одним из вызовов SQL. Что удивительно, даже после появления оконных функций он продолжает быть пугалом (во всяком случае, для новичков). Сегодня мы рассмотрим механику 10 самых интересных решений этой задачи – от оконных функций до весьма специфических хаков.
Читать дальше →
Всего голосов 54: ↑52 и ↓2 +50
Комментарии 49

Простые эксперименты с микроконтроллером STM32F103 («Голубая таблетка»)

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


Многие приобрели «голубую таблетку» на попробовать. Но из-за сложности программирования данная вещь оказалась где то на полке, до лучших времен.

Будем считать, что «лучшие времена» — наступили.
Читать дальше →
Всего голосов 56: ↑46 и ↓10 +36
Комментарии 97

Конечный автомат (он же машина состояний) на чистом С

Время на прочтение 5 мин
Количество просмотров 127K
Почти каждый микроконтроллерщик сталкивался с громадными switch-case и мучительно их отлаживал.
И много кто, начиная писать реализацию какого-либо протокола, задумывался как написать её красиво, изящно, так чтобы через месяц было понятно что ты имел в виду, чтобы она не отжирала всю память и вообще какала бабочками.
И вот тут на помощь приходят машины состояний, они же конечные автоматы (те самые которые используются в регулярных выражениях).

Собственно через регулярные выражения я к ним и пришёл.
Читать дальше →
Всего голосов 51: ↑48 и ↓3 +45
Комментарии 50

Создаем конвейер потоковой обработки данных. Часть 1

Время на прочтение 5 мин
Количество просмотров 6.8K
Всем привет. Друзья, делимся с вами переводом статьи, подготовленным специально для студентов курса «Data Engineer». Поехали!



Apache Beam и DataFlow для конвейеров реального времени


Сегодняшний пост основан на задаче, которой я недавно занимался на работе. Я был действительно рад, воплотить её и описать проделанную работу в формате блогпоста, поскольку это дало мне возможность позаниматься дата-инжинирингом, а также сделать что-то, что было бы весьма полезным для моей команды. Не так давно я обнаружил, что в наших системах хранится достаточно большой объем пользовательского лога, связанных с одним из наших продуктов для работы с данными. Оказалось, что никто не использовал эти данные, поэтому я сразу заинтересовался тем, что мы могли бы узнать, если бы начали регулярно анализировать их. Однако на пути было несколько проблем. Первая проблема заключалась в том, что данные хранились во многих различных текстовых файлах, которые не были доступны для мгновенного анализа. Вторая проблема заключалась в том, что они были сохранены в закрытой системе, поэтому я не мог использовать ни один из моих любимых инструментов для анализа данных.
Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 0

А вот вы говорите Ceph… а так ли он хорош?

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


Я люблю Ceph. Я работаю с ним уже 4 года (0.80.x — 12.2.6, 12.2.5). Порой я так увлечен им, что провожу вечера и ночи в его компании, а не со своей девушкой.
 Я сталкивался с различными проблемами в этом продукте, а с некоторыми продолжаю жить и по сей день. Порой я радовался легким решениям, а иногда мечтал о встрече с разработчиками, чтобы выразить свое негодование. Но Ceph по-прежнему используется в нашем проекте и не исключено, что будет использоваться в новых задачах, по крайней мере мной. В этом рассказе я поделюсь нашим опытом эксплуатации Ceph, в некотором роде выскажусь на тему того, что мне не нравится в этом решении и может быть помогу тем, кто только присматривается к нему. К написанию этой статьи меня подтолкнули события, которые начались примерно год назад, когда в наш проект завезли Dell EMC ScaleIO, ныне известный как Dell EMC VxFlex OS.


Это ни в коем случае не реклама Dell EMC или их продукта! Лично я не очень хорошо отношусь к большим корпорациям, и черным ящикам вроде VxFlex OS. Но как известно, всë в мире относительно и на примере VxFlex OS очень удобно показать каков Ceph с точки зрения эксплуатации, и я попробую это сделать.

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

Сeph — от «на коленке» до «production» часть 2

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

(первая часть тут: https://habr.com/ru/post/456446/)


CEPH


Введение


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

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

Сeph — от «на коленке» до «production»

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

Выбор CEPH. Часть 1


У нас было пять стоек, десять оптических свичей, настроенный BGP, пару десятков SSD и куча SAS дисков всех цветов и размеров, а ещё proxmox и желание засунуть всю статику в собственное S3 хранилище. Не то чтобы это всё было нужно для виртуализации, но раз начал использовать opensource — то иди в своём увлечении до конца. Единственное, что меня беспокоило — это BGP. В мире нет никого более беспомощного, безответственного и безнравственного, чем внутренняя маршртутизация по BGP. И я знал, что довольно скоро мы в это окунёмся.



Задача стояла банальная — имелся CEPH, работал не очень хорошо. Надо было сделать "хорошо".
Доставшийся мне кластер был разнородным, настроенным на скорую руку и практически не тюнингованным. Он состоял из двух групп разных нод, с одной общей сеткой выполняющей роль как cluster так и public network. Ноды были набиты четырьмя типами дисков — два типа SSD, собранными в два отдельных placement rule и два типа HDD разного размера, собранными в третью группу. Проблема с разными размерами была решена разными весами OSD.


Саму настройку разделили на две части — тюнинг операционной системы и тюнинг самого CEPH и его настроек.

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

Назад к микросервисам вместе с Istio. Часть 1

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


Прим. перев.: Service mesh'и определённо стали актуальным решением в современной инфраструктуре для приложений, следующих микросервисной архитектуре. Хотя Istio может быть на слуху у многих DevOps-инженеров, это довольно новый продукт, который, будучи комплексным в смысле предоставляемых возможностей, может потребовать значительного времени для знакомства. Немецкий инженер Rinor Maloku, отвечающий за облачные вычисления для крупных клиентов в телекоммуникационной компании Orange Networks, написал замечательный цикл материалов, что позволяют достаточно быстро и глубоко погрузиться в Istio. Начинает же он свой рассказ с того, что вообще умеет Istio и как на это можно быстро посмотреть собственными глазами.

Istio — Open Source-проект, разработанный при сотрудничестве команд из Google, IBM и Lyft. Он решает сложности, возникающие в приложениях, основанных на микросервисах, например, такие как:
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Комментарии 7

Jenkins для Android сборки, с помощью Docker

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

Я работаю андроид разработчиком, и не так давно мы столкнулись с некоторыми рутинными задачами на своем проекте, которые хотелось бы автоматизировать. Например у нас 5 разных flavor, для каждого из которых требуется загружать свой билд на fabric, иногда для разных тасок по несколько раз в день. Да эту задачу можно сделать и с помощью gradle таски, но хотелось бы не запускать этот процесс на машине разработчика, а делать это как-то централизовано. Или например автоматически заливать билд в google play в бету. Ну и просто хотелось поковырять CI систему. Что из этого получилось, и как мы это настраивали, зачем там Docker, далее в статье.


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

Пишем Android-приложение на ассемблере

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

Эта рассказ о нестандартном подходе к разработке Android-приложений. Одно дело — установка Android Studio и написание «Hello, World» на Java или Kotlin. Но я покажу, как эту же задачу можно выполнить иначе.
Читать дальше →
Всего голосов 56: ↑45 и ↓11 +34
Комментарии 13

Погружаемся в opensource-экосистему Android

Время на прочтение 10 мин
Количество просмотров 66K
Disclaimer о том, что пост не призывает к радикальным формам фанатизма

Каждый выбирает свой "уровень погружения". Вам не обязательно следовать каждому пункту из этого поста. Моя цель — показать, насколько хорошо развита экосистема на данный момент и чего вы можете и не можете от неё получить. Делайте выводы самостоятельно. Хотите — меняйте прошивку полностью и переходите на microg. Хотите — просто поставьте на свой телефон f-droid прямо рядом с gplay. Хотите — не делайте ничего.


Давайте поговорим об экосистеме приложений свободных приложений с открытым исходным кодом на Android. Попробуем установить MicroG — свободную реализацию сервисов Google на Android. Посмотрим, как и зачем со всем этим жить.


Несколько причин, почему стоит об этом задуматься


Google Play далеко "не торт"


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


Мне, как параноику, не нравится, что у стороннего лица появляется практически полный доступ к моему устройству. Google способен как минимум удалить с моего телефона любое приложение в любой момент и собрать с него произвольные данные. Более того, google play service — это огромное (стандартная поставка — 600Мб, минимальная — 95Мб) количество постоянно обновляющегося кода, часть которая работает с системными привилегиями. Для сравнения, дистрибутив MicroG может весить всего 4Мб.

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

С облаков на землю: как создать production-grade Kubernetes в любых условиях

Время на прочтение 15 мин
Количество просмотров 6.1K
Всем добра! Ну вот и подошло время для очередного нашего курса по Девопсу. Наверное, это один из самых стабильных и эталонных курсов, но при этом и самый разнообразный по обучающимся, так как ни одна группа ещё не была похожа на другую: то в одной разработчики почти полностью, то в следующей инженеры, то админы и так далее. А так же это значит, что пришла пора интересных и полезных материалов, а так же онлайн-встреч.

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

О создании бюджетных стереоизображений на пальцах (стереограмма, анаглиф, стереоскоп)

Время на прочтение 8 мин
Количество просмотров 25K
Пришли очередные выходные, надо написать пару десятков строк кода и нарисовать картинку, да лучше не одну. Итак, на прошлых и позапрошлых выходных я показал, как делать трассировку лучей и даже взрывать всякое. Это многих удивляет, но комьпютерная графика — очень простая вещь, пары сотен строк голого C++ вполне хватает на создание интересных картинок.

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


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

Как я начал бояться и разлюбил Windows 10

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


Lego выпустила специальные тапочки, чтобы избавить пользователей от боли. А что сделал ты, Microsoft?


На обновлении Windows 10 (сейчас у меня сборка 1803) каждый раз замирает сердце — что поломается на этот раз. Дабы поделиться болью и лечением, я собрал самые частые обращения от людей за последние пару месяцев. В копилке: прекращение доступа на серверы, сбой работы приложений и откровенно странные глюки.

И да начнется рефлексия
Всего голосов 81: ↑59 и ↓22 +37
Комментарии 609

Opensource контроллер умного дома на базе Arduino Mega 2560 с поддержкой MQTT, DMX-512, 1-Wire, Modbus и Openhab

Время на прочтение 12 мин
Количество просмотров 42K
Сегодня я решился вынести на суд общественности проект, работу над которым вел на протяжении последней пары лет: «LightHub». То, что получилось в итоге, можно назвать, пожалуй, самым дешевым решением для создания Умного дома, которое, тем не менее, умеет:

  • Управлять освещением и силовыми устройствами(Реле, диммеры DMX-512 и Modbus RTU)
  • Управлять теплыми полами (в качестве термодатчиков используются полтора десятка дешевых DS18B20, разведенных по квартире)
  • Управлять задвижками вентиляции/кондиционера
  • Управлять самодельной системой приточной вентиляции.
  • Многое такого, о чем я изначально не задумывался, просто в силу того, что контроллер получился абсолютно открытым, гибко конфигурируемым, и прекрасно дополняющим Опенсорсные решения Openhab+Mosquitto+NodeRed

На вход контроллера подключаются обычные выключатели, кнопки, контактные датчики, датчики протечки и пр. которые могут управлять как локальными нагрузками так и устройствами, подключенными к другим таким же контроллерам или ко всему, что понимает протокол MQTT. У меня, например, подключен геркон, установленный в коробке входной двери. Когда закрываю замок на три оборота — выключаются свет, теплые полы, бойлеры, AV ресивер. Когда возвращаюсь — состояние этих приборов восстанавливается как было до ухода.

На выход — например, такие вот релейные модули, DMX, Modbus переферия.

Контроллеры конфигурируются при помощи JSON файлов, которые при старте контроллера загружаются по http (далее, конфиг можно сохранить в NVRAM через Serial CLI). Ну и, конечно, все это управляется системой Openhab 2, через штатное мобильное приложение.
Задачи «малой автоматизации» решены как при помощи штатных openhab rules (не очень удобных), так и при помощи NodeRed. (По поводу NodeRed вот статья, которая прекрасно описывает пример автоматизации.)

Исходники, вместе с примерами конфигов, выложены на GIThub, описание понемногу выкладываю на сайте проекта. Соответственно, более полная история под катом.
Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Комментарии 84

О Тульпах

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

image


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


Тульпы. Сообщество со странными идеями и целями, объединённое мистической терминологией. Десятки людей, практикующих форсинг, гипноз, изменяющих своё сознание, медитирующих, пытающихся справиться со своими заболеваниями. Все они собрались вместе из-за общей цели: создать то, что Википедия называет «воображаемым другом». Но что такое тульпы на самом деле?

Читать дальше →
Всего голосов 51: ↑40 и ↓11 +29
Комментарии 210

Информация

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