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

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

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

Оформляем README-файл профиля на GitHub

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

Летом 2020 года GitHub позволила пользователям создавать персональные README-файлы и с их помощью кастомизировать свои профили. Сама платформа при создании подобного файла предлагает уже готовый шаблон, в который можно вписать свои данные. Но о какой кастомизации может идти речь, если у всех будут одинаково оформленные профили? За почти два года сообщество придумало множество различных способов выделиться и особенно оформить свою страницу на GitHub.

Читать далее
Всего голосов 62: ↑60 и ↓2+73
Комментарии25

Ликбез по типизации в языках программирования

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

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

В полной версии находится подробное описание всех видов типизации, приправленное примерами кода, ссылками на популярные языки программирования и показательными картинками.
Читать дальше →
Всего голосов 239: ↑232 и ↓7+225
Комментарии180

Железа и баек ностальгии пост

Время на прочтение8 мин
Количество просмотров34K
Ходил я тут как-то по нашему складу, искал одну железку для заказчика. Смотрю, знакомая старая железяка — кэш.

image
Точнее, это ячейка хайэндового дискового массива, представляющая нечто вроде оперативной памяти, но в центре архитектуры Симметрикса

Еще увидели знакомую старую железяку — VNX1. Она интересна не столько гениальной по тем временам архитектурой, сколько тем, как мы однажды разбирали последствия переезда такого массива с этажа на этаж по офису заказчика. Представьте ситуацию: они там четыре года делали проект по госконтракту, который хранился в виде единственной копии на массиве. И решили перевезти железку, не позвав админа, потому что железяка была старая (на три поколения древнее, чем та древность, от которой кеш-плата на фотографии) и сошла с поддержки. Для упрощения переезда решили вынуть все диски, потому что без них стойка получалась легче. Как вы догадываетесь, вопрос только один: что вообще могло в этой истории пойти ТАК?

Железяка имеет физическую адресацию дисков по номеру слота. Слоты для дисков бывают двух типов: рейд-группы массива (большая часть) и диски горячей замены. Массив при втыкании дисков обратно увидел, что это его диски, но начал ругаться на нарушенную адресацию красными лампочками. Местный админ начал подбирать комбинацию из дисков, надеясь, что если угадать с перестановками, лампочки погаснут и всё заведётся. Потому что про многомиллионный проект уже начали задавать неудобные вопросы.

Подстава заключалась только в том, что при втыкании диска в слот горячей замены массив не ворчал на него, а говорил: «О, новый жёсткий диск» и молча его форматировал, и начинал в него что-то писать.

Всего заказчик успел попробовать около 20 рекомбинаций из 200 дисков, из которых девять пришлось на установку новых дисков с данными в слоты горячей замены.
Читать дальше →
Всего голосов 185: ↑185 и ↓0+185
Комментарии89

Понимаем декораторы в Python'e, шаг за шагом. Шаг 2

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

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


Итак, в первой части данной статьи мы совершили базовое знакомство с декораторами, принципами их работы и даже написали свой вручную.
Однако, все декораторы, которые мы до этого рассматривали не имели одного очень важного функционала — передачи аргументов декорируемой функции.
Что ж, исправим это недоразумение!
Читать дальше →
Всего голосов 73: ↑67 и ↓6+61
Комментарии25

Понимаем декораторы в Python'e, шаг за шагом. Шаг 1

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

На Хабре множество раз обсуждалась тема декораторов, однако, на мой взгляд, данная статья (выросшая из одного вопроса на stackoverflow) описывает данную тему наиболее понятно и, что немаловажно, является «пошаговым руководством» по использованию декораторов, позволяющим новичку овладеть этой техникой сразу на достойном уровне.

Итак, что же такое «декоратор»?


Впереди достаточно длинная статья, так что, если кто-то спешит — вот пример того, как работают декораторы:
def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
 
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
 
@makebold
@makeitalic
def hello():
    return "hello habr"
 
print hello() ## выведет <b><i>hello habr</i></b>

Те же из вас, кто готов потратить немного времени, приглашаются прочесть длиииинный пост
Всего голосов 119: ↑106 и ↓13+93
Комментарии39

Автомобильная телеметрия за 100$

Время на прочтение4 мин
Количество просмотров81K
Так вышло, что я довольно давно интересуюсь автомобилями и автоспортом, однако моя основная работа непосредственно связана с разработкой под мобильные платформы — и мне всегда были интересны возможности для связи технологий из этих разных миров. К счастью, последнее время для этого стало гораздо больше возможностей. В этой заметке хочу коротко поделиться своим опытом работы с автомобильной телеметрией.

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

image

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

Winulator: запуск игр 90-х на Android OS

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


Сейчас для Adnroid существует большое количество приложений, которые позволяют запускать на этой мобильной ОС приложения для DOS, игры для Sega/Dendy и прочее. Вскоре количество таких проектов пополнится еще одним, проектом Winulator. Это ПО, позволяющее запускать игры 90-х на смартфонах и планшетах с Android OS. Пока что релиза нет, но проект, по словам разработчика (он один), уже практически готов к запуску, и есть видео, демонстрирующее нам все достоинства Winulator.

Читать дальше →
Всего голосов 53: ↑47 и ↓6+41
Комментарии73

Выбор направления бизнеса или как выиграть холивар

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

Итак, решение заняться своим делом принято и одобрено хабрасообществом, за что ему огромное спасибо! Очевидно, в первую очередь следует понять, чем я буду заниматься. Решение серьезное – судьбоносное. Вспомним тот же эпичный анекдот:
Встречаются два друга:
— Как дела?
— Да вот, основал новый стартап, очень быстро растём, развиваемся.
— Круто! А в чём суть стартапа?
— Я провёл исследование рынка и решил публичный дом открыть.
— Ого, интересно, и какие цены?
— Анал — $100, орал — $50.
— А классический секс?
— Понимаешь, это ж стартап. В общем, я пока один работаю…

Я тоже один работаю и у меня тоже стартап, так что надо быть предельно осторожным и бдительным при принятии решения.
В данном посте я проиллюстрирую процесс принятия решения. Чтобы процесс был наиболее нагляден, я для каждой идеи ментально рожу своего персонального виртуального апологета, и решение приму учитывая весь этот разброд идей. Заодно покажу, как можно утихомирить такое полчище, коими наполнены переговорные комнаты во множестве больших организаций, и настроить его на конструктивный лад. Итак:
Поехали!
Всего голосов 43: ↑29 и ↓14+15
Комментарии67

Зникло

Время на прочтение1 мин
Количество просмотров271K
Та куди ж всі статті поділися?

До вторгнення РФ в Україну я з сім'єю жив у затишному селі Липці біля кордону з РФ. Розмовляв російською мовою та горя не знав. Тепер село знищено, мій дім також. Все засипано російськими снарядами, мінами та КАБами. Я ледь встиг вивезти сім'ю з під російської окупації, а багато хто не встиг, або не мав можливості. Я більше ніколи не буду розмовляти або писати російською, як і мої діти і в майбутньому — їх діти. Ось така історія, сподіваюсь, ніколи більше не побачимось.
Всего голосов 224: ↑222 и ↓2+220
Комментарии60

Контроллер «Virt2real», или просто — Виртурилка

Время на прочтение15 мин
Количество просмотров193K
— Ты пил пиво, — тихо заговорил Джо. — Плохо работал консервный нож.
Ты сказал, что сам смастеришь консервный нож, побольше и получше. Это я и есть.
Генри Каттнер, «Робот-зазнайка»


UPD> Начат сбор предзаказов habrahabr.ru/post/163865

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

Картинка Для Привлечения Внимания


Пролог


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

Не покидала мысль о том что хорошо бы сделать видео не «вид сбоку или сверху», а вид с борта девайса, от первого лица. То что самолётчики/коптеристы называют FPV. Было это примерно пару лет назад. Пробовали ставить на машинку аналоговую камеру и передатчик, принимали видео на ТВ-тюнер, далее отдавали на видеосервер для раздачи рулящим машинками. Но сразу всплыли нюансы — одновременно можно транслировать только 3-4 видеопотока, иначе появляются наводки с одного канала на другой. Плюс дороговизна такого решения, плюс проблемы с разрешёнными частотами, плюс паршивое качество картинки с постоянно появляющимися помехами… В общем, попробовали и забили на это дело. К тому же, возможностей управляющего контроллера (тогда всё было сделано на базе всем известной Ардуинки) начало нехватать. Стали искать другие варианты, чтоб было недорого, дёшево, удобно и практично. Но имеющиеся в продаже (за границей, само собой и с довольно высокой стомостью) на тот момент железки для нужд не подходили. Одни умели всё кроме видео, другие умели только видео, но не позволяли подключать периферию, и т.д. и т.п.

Читать дальше →
Всего голосов 234: ↑231 и ↓3+228
Комментарии210

Информация

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