Pull to refresh
16
0
Что в имени тебе моём? @mas

User

Send message

Backblaze опубликовала статистику надёжности HDD за 2018 год

Reading time3 min
Views60K


Более пяти лет назад компания Backblaze опубликовала первый отчёт по использованию дисковых накопителей в своих серверах. Backblaze предоставляет услугу дешёвого облачного бэкапа. В основе их инфраструктуры — жёсткие диски потребительского класса. Компания собрала большую статистику по отказоустойчивости разных типов HDD. В то время парк накопителей Backblaze состоял в основном из дисков Seagate, Hitachi и WD, а самыми надёжными оказались диски Hitachi.

С тех пор Backblaze публикует статистику ежегодно, и сейчас пришло время очередного отчёта.
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments69

11 лучших шрифтов для программирования

Reading time3 min
Views270K
Много статей и сайтов сравнивают шрифты для программирования — всё это отличные ресурсы. Так зачем я опять поднимаю эту тему? Потому что сам всегда терялся в десятках шрифтов и не мог понять, какой лучше. Так что я опробовал много шрифтов и выбрал следующие для вас. Они довольно популярны и их легко получить. И самое главное, все эти шрифты бесплатны!

Я ранжировал шрифты по следующим показателям:

  • Насколько различимы схожие символы, такие как 0O, 1lI.
  • Легко ли читается шрифт (ширина строк, ширина/высота символов).
  • И мои личные предпочтения!

Все скриншоты сделаны в VSCode на одном фрагменте кода. Если не обозначено иное, то везде установлен размер "editor.fontSize": 14.
Читать дальше →
Total votes 56: ↑54 and ↓2+52
Comments117

Практические советы, примеры и туннели SSH

Reading time13 min
Views229K

Практические примеры SSH, которые выведут на новый уровень ваши навыки удалённого системного администратора. Команды и советы помогут не только использовать SSH, но и более грамотно перемещаться по сети.

Знание нескольких трюков ssh полезно любому системному администратору, сетевому инженеру или специалисту по безопасности.
Читать дальше →
Total votes 69: ↑66 and ↓3+63
Comments29

Введение в аннотации типов Python

Reading time6 min
Views298K

Введение



Автор иллюстрации — Magdalena Tomczyk


Вторая часть


Python — язык с динамической типизацией и позволяет нам довольно вольно оперировать переменными разных типов. Однако при написании кода мы так или иначе предполагаем переменные каких типов будут использоваться (это может быть вызвано ограничением алгоритма или бизнес логики). И для корректной работы программы нам важно как можно раньше найти ошибки, связанные с передачей данных неверного типа.


Сохраняя идею динамической утиной типизации в современных версиях Python (3.6+) поддерживает аннотации типов переменных, полей класса, аргументов и возвращаемых значений функций:



Аннотации типов просто считываются интерпретатором Python и никак более не обрабатываются, но доступны для использования из стороннего кода и в первую очередь рассчитаны для использования статическими анализаторами.


Меня зовут Тихонов Андрей и я занимаюсь backend-разработкой в Lamoda.


В этой статье я хочу объяснить основы использования аннотаций типов и рассмотреть типичные примеры, реализуемые аннотациями из пакета typing.

Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments50

Введение в Data classes

Reading time7 min
Views229K

Одна из новых возможностей, появившихся в Python 3.7 — классы данных (Data classes). Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных. Не смотря на то, что они используют другие механизмы работы, их можно сравнить с "изменяемыми именованными кортежами со значениями по умолчанию".



Введение


Все приведенные примеры требуют для своей работы Python 3.7 или выше

Большинству python-разработчикам приходится регулярно писать такие классы:


class RegularBook:
    def __init__(self, title, author):
        self.title = title
        self.author = author

Уже на этом примере видна избыточность. Идентификаторы title и author используются несколько раз. Реальный класс же будет ещё содержать переопределенные методы __eq__ и __repr__.


Модуль dataclasses содержит декоратор @dataclass. С его использованием аналогичный код будет выглядеть так:


from dataclasses import dataclass

@dataclass
class Book:
    title: str
    author: str
Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments19

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

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

Читать дальше →
Total votes 78: ↑73 and ↓5+68
Comments80

Как выбрать батарею для ИБП

Reading time6 min
Views31K
Батарея – самый важный компонент ИБП. И самый дорогой. К тому же, ещё и обладающий определенным жизненным циклом. Стало быть, рано или поздно, вопрос замены батареи обязательно встанет.
Хорошие АКБ служат много лет, почему бы уже сегодня не заглянуть в завтрашний день, чтобы понять, что станется с нашими вложениями в «железо»? Часто бывает так, когда что-то хорошее стоит очень дорого, а через некоторое время становится легкодоступным.
При выборе ИБП, возникает вопрос: какая аккумуляторная батарея в нём используется, и какая подходит для замены?
Поэтому, для начала поговорим немного о технологиях и типах батарей.

Какие бывают батареи ИБП
«Начинка» у АКБ бывает разная. Начнём с самой распространенной – со свинцово-кислотных аккумуляторов.
Читать дальше →
Total votes 6: ↑3 and ↓30
Comments43

Основы электробезопасности при проектировании электронных устройств

Reading time12 min
Views70K
Привет, Хабр!

После волны, поднятой моим предыдущим постом, довольно заметное число людей спрашивали меня (в фейсбуке, в личке и т.п.), на что, собственно, обращать внимание, чтобы вместо умной розетки на ардуино не получить очередной тазик-эвтаназик.


Тема это большая и сложная, но я постараюсь выделить основные моменты — не в последнюю очередь на основании ошибок, которые я видел во всевозможных реальных устройствах и проектах, в том числе публиковавшихся на Хабре. Я не буду долго и нудно перечислять ГОСТы, но перечислю совсем базовые вещи, которые необходимо понимать и соблюдать, чтобы не убить хотя бы себя (если вы планируете не убивать также и окружающих, то после завершения этой статьи не поленитесь пролистать и релевантные ГОСТы).

Итак, вы собрались делать устройство, которое как минимум одним своим концом включается в розетку.
Читать дальше →
Total votes 172: ↑167 and ↓5+162
Comments281

Использование аккумулятора от iPhone при разработке носимой электроники

Reading time8 min
Views57K
Приветствую, читатель.

Довольно часто у меня возникает задача разработки портативных устройств с питанием от одной ячейки Li-ion аккумулятора. И, если заказчика обычно это не беспокоит, то у меня, как у опытного инженера, при виде такого ТЗ по спине пробегает дрожь. Это связано с тем, что оценка уровня заряда аккумулятора, а также оставшегося времени работы — это очень непростая задача, хотя на первый взгляд может показаться иначе.



Есть несколько вариантов действия в таком случае, о них поговорим ниже.
Читать дальше →
Total votes 128: ↑128 and ↓0+128
Comments135

Git happens! 6 типичных ошибок Git и как их исправить

Reading time5 min
Views240K


Прим. перев.: На днях в блоге для инженеров любимого нами проекта GitLab появилась небольшая, но весьма полезная заметка с инструкциями, которые помогают сохранить время и нервы в случае различных проблем, случающихся по мере работы с Git. Вряд ли они будут новы для опытных пользователей, но обязательно найдутся и те, кому они пригодятся. А в конец этого материала мы добавили небольшой бонус от себя. Хорошей всем пятницы!

Все мы делаем ошибки, особенно при работе с такими сложными системами, как Git. Но помните: Git happens!
Читать дальше →
Total votes 63: ↑62 and ↓1+61
Comments62

Пульсация экранов телевизоров

Reading time3 min
Views134K
У подавляющего большинства современных телевизоров экраны мерцают, причём уровень пульсации составляет 100% (экран полностью гаснет и загорается). Это может приводить к усталости глаз, головным болям и обострению нервных заболеваний.


Читать дальше →
Total votes 144: ↑144 and ↓0+144
Comments302

Как собрать досовский COM-файл компилятором GCC

Reading time10 min
Views15K
Статья опубликована 9 декабря 2014 года
Обновление от 2018 года: RenéRebe сделал на базе этой статьи интересное видео (часть 2)

В минувшие выходные я участвовал в Ludum Dare #31. Но даже до объявления тем конференции из-за своего недавнего увлечения я хотел сделать олдскульную игру под DOS. Целевой платформой выбрана DOSBox. Это самый практичный способ запуска DOS-приложений несмотря на то, что все современные процессоры x86 полностью обратно совместимы со старыми, вплоть до 16-битного 8086.

Я успешно создал и показал на конференции игру DOS Defender. Программа работает в реальном режиме 32-битного 80386. Все ресурсы встроены в исполняемый COM-файл, никаких внешних зависимостей, так что игра целиком упакована в бинарник 10 килобайт.


Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments22

Разработка умных устройств на примере контроллера теплого пола на ESP8266

Reading time11 min
Views24K
Хочу поделиться своим опытом разработки умного устройства. В этой публикации я опишу аппаратное (кратко) и программное (более подробно) обеспечение.

Контроллер предназначен анализировать показания датчиков (проводных и беспроводных) и поддерживать заданную (с учетом расписания, в т.ч. по дням недели) температуру в каждой отдельной зоне, путем включения/выключения котла и управления петлями водяного теплого пола с помощью термоголовок на коллекторе.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments53

Идеальные часы

Reading time15 min
Views230K
Идеальные часы для дома: честные и точные, простые и сложные, умные и чуткие, не большие и не маленькие, с волшебной настройкой под желания любого человека без кнопок и запутанных алгоритмов настройки, скромные и не требующие внимания, комфортно видимые днем и ночью, имеющие универсальное питание, легко меняющие цвет корпуса и индикации под окружающую обстановку и настроение, не бьющиеся при падении, легкие в изготовлении, белые.

Получилось?


Читать дальше →
Total votes 160: ↑151 and ↓9+142
Comments121

Лампа времени

Reading time5 min
Views33K
Все мы ходим, о чем-то думаем…
Результат — в голову приходят различные идеи. А может наоборот?

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

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

— А что будет интересно людям?
— Много всего, но самое простое, это время.
Читать дальше →
Total votes 95: ↑78 and ↓17+61
Comments89

Кубик Радика или лунные часы

Reading time8 min
Views25K
Некоторые геометрические фигуры и многогранники связаны с именами людей. Известны: треугольник Паскаля, квадрат Пифагора, Пирамида Хеопса. Захотел себе кубик. Рубик сотворил, почему и мне не сделать?
Технологии со времен Рубика ушли немного вперед, поэтому необходимо что-то технологичное, в духе времени, с использованием отечественных комплектующих и чуть более содержательное, чем квадрат Малевича.

Рубик использовал разноцветность — оставим.
Пик последнего времени: процессоры — используем и PIC и много процессоров.
У Рубика, чтобы получить результат надо немного поломать голову — интересное направление.
Существуют алгоритмы для сборки кубика Рубика — раскроем алгоритм работы кубика Радика.
Создано много схем для сборки кубика Рубика — нарисуем схему кубика Радика.
Кубик Рубика, это старинная штука — добавим старины и ударим ностальгией по современности.
На всех углах кричат про ГЛОНАСС — пощупаем.
Для читателей программ, а в особенности для начинающих писателей приложим программу работы кубика с подробными комментариями.

В результате совместного творчества голорук (сокр. от голова и руки) появился на свет кубик Радика.
image
Читать дальше →
Total votes 123: ↑100 and ↓23+77
Comments57

Сервер очень точного времени stratum 1 на Garmin GPS

Reading time13 min
Views82K
GPS приемники можно использовать не только для определения местоположения, но и для получения сигналов точного времени. В статье я покажу как настроить сервер точного времени, использующий в качестве источника GPS и работающий с точностью до нескольких микросекунд. В качестве примера я использую приемник Garmin и ОС FreeBSD, но статья также будет полезна обладателям Linux и Windows.



UPD: сервер доступен по адресу stratum1.net Веб-морда: www.stratum1.net.

Читать дальше →
Total votes 96: ↑93 and ↓3+90
Comments79

Руководство по материалам электротехники для всех. Часть 12. Финальная

Reading time8 min
Views30K


Последняя часть руководства. Внутри бонусные главы, немного новых фотографий, и главное — pdf с руководством которое можно скачать и поделиться с другом.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments38

Глупый метеокороб на E-Ink

Reading time10 min
Views26K


Уже как полтора года назад я купил пару E-Ink экранов с eBay на базе драйвера SSD1606, как раз для метеостанции. И вот 4 месяца назад, перед новыми годом, появился он.
Внимание внизу есть Х изображений общей массой 3,2МБ
Total votes 55: ↑54 and ↓1+53
Comments108

Cжатие и улучшение рукописных конспектов

Reading time9 min
Views38K
Я написал программу для очистки отсканированных конспектов с одновременным уменьшением размера файла.

Исходное изображение и результат:


Слева: исходный скан на 300 DPI, 7,2 МБ PNG / 790 КБ JPG. Справа: результат с тем же разрешением, 121 КБ PNG [1]

Примечание: описанный здесь процесс более-менее совпадает с работой приложения Office Lens. Есть другие аналогичные программы. Я не утверждаю, что придумал нечто радикальное новое — это просто моя реализация полезного инструмента.

Если торопитесь, просто посмотрите репозиторий GitHub или перейдите в раздел результатов, где можно поиграться с интерактивными 3D-диаграммами цветовых кластеров.
Читать дальше →
Total votes 124: ↑124 and ↓0+124
Comments50

Information

Rating
Does not participate
Registered
Activity