Летом 2020 года GitHub позволила пользователям создавать персональные README-файлы и с их помощью кастомизировать свои профили. Сама платформа при создании подобного файла предлагает уже готовый шаблон, в который можно вписать свои данные. Но о какой кастомизации может идти речь, если у всех будут одинаково оформленные профили? За почти два года сообщество придумало множество различных способов выделиться и особенно оформить свою страницу на GitHub.
Femt0S @Demogorgon
Пользователь
Ликбез по типизации в языках программирования
12 мин
517KЭта статья содержит необходимый минимум тех вещей, которые просто необходимо знать о типизации, чтобы не называть динамическую типизацию злом, Lisp — бестиповым языком, а C — языком со строгой типизацией.
В полной версии находится подробное описание всех видов типизации, приправленное примерами кода, ссылками на популярные языки программирования и показательными картинками.
+225
Железа и баек ностальгии пост
8 мин
34KХодил я тут как-то по нашему складу, искал одну железку для заказчика. Смотрю, знакомая старая железяка — кэш.
Точнее, это ячейка хайэндового дискового массива, представляющая нечто вроде оперативной памяти, но в центре архитектуры Симметрикса
Еще увидели знакомую старую железяку — VNX1. Она интересна не столько гениальной по тем временам архитектурой, сколько тем, как мы однажды разбирали последствия переезда такого массива с этажа на этаж по офису заказчика. Представьте ситуацию: они там четыре года делали проект по госконтракту, который хранился в виде единственной копии на массиве. И решили перевезти железку, не позвав админа, потому что железяка была старая (на три поколения древнее, чем та древность, от которой кеш-плата на фотографии) и сошла с поддержки. Для упрощения переезда решили вынуть все диски, потому что без них стойка получалась легче. Как вы догадываетесь, вопрос только один: что вообще могло в этой истории пойти ТАК?
Железяка имеет физическую адресацию дисков по номеру слота. Слоты для дисков бывают двух типов: рейд-группы массива (большая часть) и диски горячей замены. Массив при втыкании дисков обратно увидел, что это его диски, но начал ругаться на нарушенную адресацию красными лампочками. Местный админ начал подбирать комбинацию из дисков, надеясь, что если угадать с перестановками, лампочки погаснут и всё заведётся. Потому что про многомиллионный проект уже начали задавать неудобные вопросы.
Подстава заключалась только в том, что при втыкании диска в слот горячей замены массив не ворчал на него, а говорил: «О, новый жёсткий диск» и молча его форматировал, и начинал в него что-то писать.
Всего заказчик успел попробовать около 20 рекомбинаций из 200 дисков, из которых девять пришлось на установку новых дисков с данными в слоты горячей замены.
Точнее, это ячейка хайэндового дискового массива, представляющая нечто вроде оперативной памяти, но в центре архитектуры Симметрикса
Еще увидели знакомую старую железяку — VNX1. Она интересна не столько гениальной по тем временам архитектурой, сколько тем, как мы однажды разбирали последствия переезда такого массива с этажа на этаж по офису заказчика. Представьте ситуацию: они там четыре года делали проект по госконтракту, который хранился в виде единственной копии на массиве. И решили перевезти железку, не позвав админа, потому что железяка была старая (на три поколения древнее, чем та древность, от которой кеш-плата на фотографии) и сошла с поддержки. Для упрощения переезда решили вынуть все диски, потому что без них стойка получалась легче. Как вы догадываетесь, вопрос только один: что вообще могло в этой истории пойти ТАК?
Железяка имеет физическую адресацию дисков по номеру слота. Слоты для дисков бывают двух типов: рейд-группы массива (большая часть) и диски горячей замены. Массив при втыкании дисков обратно увидел, что это его диски, но начал ругаться на нарушенную адресацию красными лампочками. Местный админ начал подбирать комбинацию из дисков, надеясь, что если угадать с перестановками, лампочки погаснут и всё заведётся. Потому что про многомиллионный проект уже начали задавать неудобные вопросы.
Подстава заключалась только в том, что при втыкании диска в слот горячей замены массив не ворчал на него, а говорил: «О, новый жёсткий диск» и молча его форматировал, и начинал в него что-то писать.
Всего заказчик успел попробовать около 20 рекомбинаций из 200 дисков, из которых девять пришлось на установку новых дисков с данными в слоты горячей замены.
+185
Понимаем декораторы в Python'e, шаг за шагом. Шаг 2
12 мин
231KТуториал
Перевод
И снова доброго времени суток всем читателям!
Спасибо, за проявленый интерес к первой части перевода, надеюсь, вторая вас так же не разочарует.
Итак, в первой части данной статьи мы совершили базовое знакомство с декораторами, принципами их работы и даже написали свой вручную.
Однако, все декораторы, которые мы до этого рассматривали не имели одного очень важного функционала — передачи аргументов декорируемой функции.
Что ж, исправим это недоразумение!
+61
Понимаем декораторы в 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>
+93
Автомобильная телеметрия за 100$
4 мин
81KТак вышло, что я довольно давно интересуюсь автомобилями и автоспортом, однако моя основная работа непосредственно связана с разработкой под мобильные платформы — и мне всегда были интересны возможности для связи технологий из этих разных миров. К счастью, последнее время для этого стало гораздо больше возможностей. В этой заметке хочу коротко поделиться своим опытом работы с автомобильной телеметрией.
Профессиональные гоночные команды давно знакомы с этой темой и как правило устанавливают очень недешёвые системы записи (а иногда и передачи в реальном времени) телеметрии. Любителям тратить такие деньги обычно не хочется, да и смысла нет. Ниже — о том, как дешево и сердито решить эту задачу.
Профессиональные гоночные команды давно знакомы с этой темой и как правило устанавливают очень недешёвые системы записи (а иногда и передачи в реальном времени) телеметрии. Любителям тратить такие деньги обычно не хочется, да и смысла нет. Ниже — о том, как дешево и сердито решить эту задачу.
+49
Winulator: запуск игр 90-х на Android OS
1 мин
101KСейчас для Adnroid существует большое количество приложений, которые позволяют запускать на этой мобильной ОС приложения для DOS, игры для Sega/Dendy и прочее. Вскоре количество таких проектов пополнится еще одним, проектом Winulator. Это ПО, позволяющее запускать игры 90-х на смартфонах и планшетах с Android OS. Пока что релиза нет, но проект, по словам разработчика (он один), уже практически готов к запуску, и есть видео, демонстрирующее нам все достоинства Winulator.
+41
Выбор направления бизнеса или как выиграть холивар
12 мин
13KИтак, решение заняться своим делом принято и одобрено хабрасообществом, за что ему огромное спасибо! Очевидно, в первую очередь следует понять, чем я буду заниматься. Решение серьезное – судьбоносное. Вспомним тот же эпичный анекдот:
Встречаются два друга:
— Как дела?
— Да вот, основал новый стартап, очень быстро растём, развиваемся.
— Круто! А в чём суть стартапа?
— Я провёл исследование рынка и решил публичный дом открыть.
— Ого, интересно, и какие цены?
— Анал — $100, орал — $50.
— А классический секс?
— Понимаешь, это ж стартап. В общем, я пока один работаю…
Я тоже один работаю и у меня тоже стартап, так что надо быть предельно осторожным и бдительным при принятии решения.
В данном посте я проиллюстрирую процесс принятия решения. Чтобы процесс был наиболее нагляден, я для каждой идеи ментально рожу своего персонального виртуального апологета, и решение приму учитывая весь этот разброд идей. Заодно покажу, как можно утихомирить такое полчище, коими наполнены переговорные комнаты во множестве больших организаций, и настроить его на конструктивный лад. Итак:
+15
Зникло
1 мин
271KТа куди ж всі статті поділися?
До вторгнення РФ в Україну я з сім'єю жив у затишному селі Липці біля кордону з РФ. Розмовляв російською мовою та горя не знав. Тепер село знищено, мій дім також. Все засипано російськими снарядами, мінами та КАБами. Я ледь встиг вивезти сім'ю з під російської окупації, а багато хто не встиг, або не мав можливості. Я більше ніколи не буду розмовляти або писати російською, як і мої діти і в майбутньому — їх діти. Ось така історія, сподіваюсь, ніколи більше не побачимось.
До вторгнення РФ в Україну я з сім'єю жив у затишному селі Липці біля кордону з РФ. Розмовляв російською мовою та горя не знав. Тепер село знищено, мій дім також. Все засипано російськими снарядами, мінами та КАБами. Я ледь встиг вивезти сім'ю з під російської окупації, а багато хто не встиг, або не мав можливості. Я більше ніколи не буду розмовляти або писати російською, як і мої діти і в майбутньому — їх діти. Ось така історія, сподіваюсь, ніколи більше не побачимось.
+220
Контроллер «Virt2real», или просто — Виртурилка
15 мин
193K— Ты пил пиво, — тихо заговорил Джо. — Плохо работал консервный нож.
Ты сказал, что сам смастеришь консервный нож, побольше и получше. Это я и есть.
Генри Каттнер, «Робот-зазнайка»
UPD> Начат сбор предзаказов habrahabr.ru/post/163865
Кто-бы мог подумать, что мы своими руками сможем разработать такую красавицу и умницу. Мало того — не просто разработать на бумаге, а ещё и получить десяток работающих образцов.
Картинка Для Привлечения Внимания
Пролог
Давным-давно мы с коллегой начали заниматься управлением через Интернет всякими штуковинами типа вебкамер и маленьких машинок. Чуть позже у нас появились ездящие девайсы посерьёзнее, способные нести на борту свой контроллер и ёмкую батарею. К тому же я увлёкся всякими летающими штуковинами — самолётами и коптерами, что внесло дополнительную лепту в список хотелок.
Не покидала мысль о том что хорошо бы сделать видео не «вид сбоку или сверху», а вид с борта девайса, от первого лица. То что самолётчики/коптеристы называют FPV. Было это примерно пару лет назад. Пробовали ставить на машинку аналоговую камеру и передатчик, принимали видео на ТВ-тюнер, далее отдавали на видеосервер для раздачи рулящим машинками. Но сразу всплыли нюансы — одновременно можно транслировать только 3-4 видеопотока, иначе появляются наводки с одного канала на другой. Плюс дороговизна такого решения, плюс проблемы с разрешёнными частотами, плюс паршивое качество картинки с постоянно появляющимися помехами… В общем, попробовали и забили на это дело. К тому же, возможностей управляющего контроллера (тогда всё было сделано на базе всем известной Ардуинки) начало нехватать. Стали искать другие варианты, чтоб было недорого, дёшево, удобно и практично. Но имеющиеся в продаже (за границей, само собой и с довольно высокой стомостью) на тот момент железки для нужд не подходили. Одни умели всё кроме видео, другие умели только видео, но не позволяли подключать периферию, и т.д. и т.п.
+228
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность