Чтобы система долго работала без сбоев и перерывов, нужно поработать над отказоустойчивостью. В статье дадим несколько способов её построить и покажем готовое решение.
User
Теория типов
Мы так привыкли к типам, что редко задаёмся вопросом, что же они такое на самом деле? А главное - почему возникла необходимость в их использовании? Этот поверхностный обзор сделан для того, чтобы продемонстрировать, как типы и другие связанные абстракции являются следствием из обобщения условий различных задач.
Linux с двойным дном
Кулхацкеры всех стран — соединяйтесь!
Если у вас паранойя, это не значит, что за вами не следят.
В этой статье я расскажу как сделать так, чтобы ваша линуксовая машинка выглядела невинной игрушкой, но при вводе нескольких команд превращалась в настоящую боевую единицу. Конечно, у вас могут найти на диске сектора с необычно высокой энтропией, несколько подозрительных системных настроек, но никаких явных зашифрованных разделов, файлов, или сторонних шифровалок. Конечно, вас могут спросить - "а для чего тебе cryptsetup, сынок?", на что вы ответите - "это же Linux Mint, это всё искаропки!" Хуже, если бы вас спросили: зачем ты используешь LUKS, или, что ещё хуже, зачем ты поставил VeraCrypt или Shufflecake.
В любом случае как отмазываться - не тема этой статьи. В комментариях расскажут всё, и даже гораздо больше. Я лишь описываю способ со всеми его достоинствами и недостатками, а уж анализ рисков - на ваше усмотрение.
Главное в системе с двойным дном - это, конечно же, секретные зашифрованные разделы, которые нигде не отсвечивают. Мой способ - это...
Почему Senior Developer'ы не могут устроиться на работу
Сначала о том, как 5 месяцев назад я проходил собеседование на работу. Меня посоветовал друг, и прошло уже немало времени, с момента как я ответил рекрутеру. Я был поражён, как сильно весь процесс изменился за последние 5 лет.
После первичного созвона меня отправили на сторонний сайт (HackerRank), чтобы я решил три небольших задачки за 1 час. Для меня это был первый подобный опыт. Первые две задачки были простыми, но третья оказалась посложней. Когда время подошло к концу, моё решение не проходило все тесты, а только где-то 8 из 10 необходимых.
Как создать свою собственную нейронную сеть с нуля на Python
Как создать свою собственную нейронную сеть с нуля на Python
Мотивация: в рамках моего личного пути к лучшему пониманию глубокого обучения я решил создать нейронную сеть с нуля без библиотеки глубокого обучения, такой как TensorFlow. Я считаю, что понимание внутренней работы нейронной сети важно для любого начинающего специалиста по данным. Эта статья содержит то, что я узнал, и, надеюсь, она будет полезна и вам!
Что такое нейронная сеть?
В большинстве вводных текстов по нейронным сетям при их описании используются аналогии с мозгом. Не углубляясь в аналогии с мозгом, я считаю, что проще описать нейронные сети как математическую функцию, которая отображает заданный вход в желаемый результат.
Нейронные сети состоят из следующих компонентов:
Менеджмент зависимостей в Javascript
Для многих разработчиков процесс установки зависимостей представляет собой некую "магию", которая происходит при выполнении npm install
. Понимание принципов работы этой "магии" может сильно помочь при возникновении ошибки во время установки очередной библиотеки. Нынешний NPM — результат многих лет проб и ошибок, поэтому для его детального понимания я предлагаю начать с самого начала.
YTsaurus: основная система для хранения и обработки данных Яндекса теперь open source
Привет! Меня зовут Максим Бабенко, я руковожу отделом технологий распределённых вычислений в Яндексе. Сегодня мы выложили в опенсорс платформу YTsaurus — одну из основных инфраструктурных BigData-систем, разработанных в Яндексе.
YTsaurus — результат почти десятилетнего труда, которым нам хочется поделиться с миром. В этой статье мы расскажем историю возникновения YT, ответим на вопрос, зачем нужен YTsaurus, опишем ключевые возможности системы и обозначим область её применения.
В Github-репозитории находится серверный код YTsaurus, инфраструктура развёртывания с использованием k8s, а также веб-интерфейс системы и клиентский SDK для распространённых языков программирования — C++, Java, Go и Python. Всё это — под лицензией Apache 2.0, что позволяет всем желающим загрузить его на свои серверы, а также дорабатывать его под свои нужды.
Царица наук: математика, беспощадная ты мука
Дайджест про то, как и зачем учить математику,
если ты взрослый
С самых юных лет было очевидно, что я — естественнонаучник: ребёнок, выросший в семье инженеров и с неподдельным интересом обожающий всё живое, зелёное и биологическое. Дальше началось смешное: во дворе была филологическая гимназия, а чего далеко ходить... В свою очередь, гимназии нужны были олимпиадники и вот она, математика и мама с грозными задачниками, ибо в школе нас просто не учили (была вообще импортная адаптивная программа с усеченной геометрией). Для школы и вуза стараний родителей хватило, для олимпиад нет: физика шла на ура, а математика с приличным скрипом. Как я сейчас говорю, «не щёлкало». Сейчас мне 37 лет и я нет‑нет, да возвращаюсь к математике, хотя она мне точно не нужна ни в работе, ни в увлечении.
Отстаньте от разработчиков: не надо делать их руководителями просто ради грейда
Бич профессии — превращать самого опытного разработчика в плохого менеджера. Я видел ситуации, когда синьор перерастает команду и ему предлагают должность руководителя. Многие соглашались и становились несчастными. И ладно бы только они: страдает-то в итоге команда и компания.
Зачем они соглашаются? Во-первых, потому что они росли всегда и останавливаться страшно. Во-вторых — это часто единственная возможность повышения.
Что мы поменяли у себя в разработке Газпромбанка:
- Явно обозначили, что инженер, получающий больше своего руководителя, — обычная ситуация.
- Дали возможность расти инженерам дальше после синьора, не меняя свою работу, то есть не становясь руководителями.
Куда можно расти? В хеда профессии — эксперта, к которому может обратиться каждый в компании. Это как Стив Возняк в Apple.
Как это ни странно, в развитой инженерной культуре такие «эксперты выше синьора» — норма. В России я встречал мало компаний с такими фичами, поэтому хочу поделиться практическим опытом того, что это даёт.
Как вернуть деньги за технически сложный товар ненадлежащего качества
Привет Хабр! Возможно тема возврата денежных средств за приобретенный товар поднималась и ранее, но положения законодательных актов и судебные позиции склонны со временем меняться. Решил для читателей собрать в одном месте все правовые нормы, разложить по полочкам права покупателя и обязанности продавца, а также объяснить с точки зрения законодательства процесс осуществления возврата денежных средств за технически сложный товар. И заодно раз и навсегда ответить на вопрос, почему в случае обнаружение неисправности устройства надо всегда фиксировать все совершенные действия.
Как разработать драйвер Linux с нуля
Недавно я занимался изучением IoT и, так как мне не хватало устройств, при попытках симулировать работу прошивки я часто сталкивался с неимением нужного /dev/xxx. Так что я стал задумываться, а могу ли написать драйвер самостоятельно, чтобы заставить прошивку работать. Независимо от того, насколько сложно это будет, и удастся ли воплотить такое намерение, в любом случае вы не пожалеете, если научитесь разрабатывать драйвер Linux с нуля.
Безграничные возможности FFmpeg на примерах
FFmpeg — швейцарский нож для мультимедиа. Совершенно незаменимая программа, которую использует в повседневной жизни почти каждый, даже не зная об этом. Например, вы сняли видео и заливаете на видеохостинг — оно перекодируется и публикуется уже в другом разрешении/формате/размере. Как вы думаете, какая программа выполнила транскодирование? Вполне возможно, что под капотом на сервере работает FFmpeg.
FFmpeg объединяет более 300 видео/аудио/графических кодеков, декордеров, муксеров, демуксеров и фильтров. Благодаря ему вы можете написать собственный видеоплеер в тысячу строчек кода, не разбираясь с кишочками видеообработки.
Это «движок» почти всех современных инструментов для обработки/сжатия/редактирования видео. Они просто предлагают графический интерфейс с кнопками, а
ffmpeg
делает реальную работу. Условные выражения в CSS
Мне нравится думать о CSS как о языке дизайна с условными выражениями. На протяжении многих лет CSS был известен как способ стилизации веб-страниц. Однако сегодня этот язык эволюционировал настолько, что в нём уже есть правила условных выражений. Любопытно то, что эти правила реализуются не напрямую (например, в CSS всё ещё нет if/else).
Инструменты дизайна наподобие Figma, Sketch и Adobe XD сильно облегчили жизнь дизайнеров, однако им всё равно не хватает той гибкости, которая есть у CSS.
В этой статье я расскажу о некоторых возможностях CSS, которые мы используем каждый день, и покажу, насколько они условны. Кроме того, я приведу несколько примеров, в которых CSS гораздо мощнее, чем инструменты дизайна.
20 уроков, которые я вынес из 20 лет работы программистом
«Да просто повысьте цены!» — говорит компания, которая уже двадцать лет на рынке и первые годы продавала продукт за копейки, чтобы привлечь клиентов и прийти к успеху. «Нужно всё реализовать в микросервисах», — говорит компания, которая по-быстрому сколотила монолит, набрала несколько тысяч пользователей и метнулась к микросервисам, когда начались проблемы с масштабированием.
Без понимания контекста советы теряют смысл или, хуже того, приносят вред. Если бы люди из примеров выше последовали своим собственным советам в начале пути, то, вероятно, пожалели бы этом. Этой ловушки сложно избежать. Мы представляем собой кульминацию своего опыта, но при этом смотрим на него через призму настоящего.
«Почему я не могу нормально зарабатывать?» 5 особенностей мышления, которые мешают это делать
Думаю, как и я, очень многие задавались вопросом: «Почему несмотря на хорошее образование, любознательность, способности и трудолюбие, они зарабатывают меньше, чем им хочется. Где баг, который мешает зарабатывать больше?»
Воспитай свой второй мозг. Увеличь продуктивность
Наш мозг — крайне загруженная вещь. Наш мозг обрабатывает всю эту ежедневную суматоху: навестить бабушку, купить 100 500 продуктов в магазине, уповать о падении рубля и так далее. В этом урагане информации мы забываем по истине важные для нас вещи.
Хотели бы вы иметь второй мозг? Мозг, способный запомнить всё. Мозг, в котором содержится вся полезная информация из книг, статей, видео, полученная вами?
Звучит прекрасно, не так ли? Может, когда‑то и казалось сказками, однако не сейчас.
К вопросу о математических способностях студентов или как учить переполненный мозг
Я люблю давать простые задачки студентам на лекции. Во-первых, понятно, скольких мы потеряли, во-вторых, это переключение из режима потребления информации в режим выдачи результатов, в третьих — возможность проявить себя для шустрых. Сплошные плюсы!
Одна из простых задач звучит так: «При переводе картинки из цветового пространства RGB в YUV мы выполняем прореживание, то есть выкидываем каждый четный столбец и каждую четную строку в компонентах U и V (все компоненты пикселя по 1 байту). Вопрос: во сколько раз меньше данных у нас стало?» Эта операция называется chroma subsampling и широко используется при сжатии видео, например.
Забавно, что когда-то давно, когда винчестеры были меньше, а дискеты больше, студенты реально отвечали на этот вопрос быстро. А в последние годы регулярно народ в ступор впадает. Приходится разбирать по частям: «Если выкинуть каждую четную строку и каждый четный столбец, во сколько раз меньше данных будет у компоненты?» Почти хором: «В четыре». Начинаю подкалывать: «Отлично! У нас было 3 яблока, первое осталось как есть, а от второго и третьего осталось по четвертинке. Во сколько раз меньше яблок у нас стало?» Народ ржет, но, наконец-то, дает правильный ответ (заметим, не все).
Это было бы смешно, если бы от способности быстро в уме прикинуть результат не зависела способность быстрее создавать сложные алгоритмы.
И хорошо видно, как эта способность в широких массах студентов заметно плавно падает. Причем не только в нашей стране. Придуман даже специальный термин: «цифровое слабоумие» ("digital dementia") — снижение когнитивных способностей, достаточно серьезное, чтобы повлиять на повседневную деятельность человека.
Кому интересно как теряют мозг студенты масштабы бедствия и что с этим делать — добро пожаловать под кат!
Офлайновый мир: обзор инструментов цифровых «выживальщиков» на 2022 год
Многие из нас слышали о «выживальщиках». Так называют тех людей, кто заранее готовится к различным кризисным сценариям. Если привычная инфраструктура вдруг перестанет существовать, то у них есть «план Б». «Выживальщики» приобретают соответствующие навыки выживания в лесу, обзаводятся всем необходимым для автономного существования.
Но человеку требуются не только инструменты для строительства и припасы. Нужна также информация. Сегодня мы затронем тему сохранения и систематизации полезных данных для дальнейшего использования в автономном режиме.
Популярно об Amazon Web Services
Вступление
В этом докладе будут рассмотрены сервисы AWS, которые использует наша платформа и с которыми я знаком не по наслышке. Я работаю над проектом, который использует почти все возможные сервисы, а так же мы нацелены в ближайшем будущем охватить ещё больше возможностей, которые предоставляет нам Amazon.
Управление AWS осуществляется как с помощью веб интерфейса (AWS console), так и с помощью Command Line Tools. В консоли собраны все сервисы AWS, но функциональность настройки несколько обрезана. В командной строке же можно более гибко настроить тот или иной сервис, так же доступны закрытые в консоли функции.
Amazon Elastic Compute Cloud (EC2)
Описание
EC2 — это облачный сервис, предоставляющий виртуальные сервера (Amazon EC2 Instance), 2 вида хранилищ данных, а так же балансировщик нагрузки (Load Balancer).
Основы Linux (обзор с практическим уклоном)
Привет, Хабр!
В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или поглубже изучить Linux, повысив уровень своей квалификации. Вместе с тем полноценных обзоров с практическом уклоном по типу «все и сразу» написано не так уж и много (особенно на русском языке).
Главная задача данной статьи – указать начинающим специалистам направление развития, дать ключевые понятия для дальнейшего изучения и показать несколько простых практических приемов. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно сильно упрощен.
Information
- Rating
- Does not participate
- Location
- Екатеринбург, Свердловская обл., Россия
- Date of birth
- Registered
- Activity