Pull to refresh
2
0

воен энторнета и свободы

Send message

Плохие практики код-ревью и немного мемов об этом: обсуждаем, как сделать процесс лучше

Reading time3 min
Views14K
Как не убить критикой, но и не скатиться в поверхностное ревью? Жирный PR против кучи мержей — что где выгоднее в зависимости от типа и размера проекта? А вот оно вообще правда нужно? Может, ну его — или автоматизируем/заменим статическим анализом?

Тема благодатная — и мы решили посвятить ей совместный стрим с подкастом SDCast.


1 июля в 17 часов по Москве/Киеву/Минску. В эфир придут хорошие люди (о них под катом) — а еще у нас будут свои голосования ;)

SaltStack: Создание зависимых или ссылающихся конфигураций сервисов

Reading time4 min
Views14K

О чем эта статья?


Знакомство с возможностями SaltStack по созданию конфигураций сервисов зависимых друг от друга; от сервисов расположенных на других или всех остальных подчиненных системах и т. д. Если проще — рассмотрим как каждая подчиненная система может получить данные с других таких же систем в момент создания и распространения своих конфигураций.
Читать дальше →

Самая сложная задача в Computer Vision

Reading time13 min
Views75K
Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить.
У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинговать, переобучать, или судорожно копаться в куче матриц и дебрях логики.

Статья о том как делать трекинг. Где он используется, какие есть разновидности. Как сделать стабильное решение.

«А про посадку читайте в следующем номере…» — так вот он, этот номер

Reading time20 min
Views51K


Заход на посадку и уход на второй круг — по статистике самые опасные этапы полёта.

Давайте разбираться, как это работает, и пользуясь моментом, посмотрим как устроена электронная система управления современным самолётом.

Но перед тем, как мы начнем, я вынужден обозначить эдакий дисклеймер: я действующий пилот Airbus семейства 320, который является самолетом 4-го поколения (отличительный признак которого — наличие технологии Fly-by-Wire). Соответственно, многие специфические системы и процедуры, описываемые в посте, будут привязаны к данному типу. На других типах (например Boeing 737 Classic/NG/MAX, которые являются самолетами предыдущего, 3-го поколения без технологии Fly-by-Wire) процедуры и логика построения и работы систем может значительно различаться. И да, я не имею отношения к инженерно-авиационной службе и службе ОрВД (организации воздушного движения), поэтому уж простите возможные огрехи в описании матчасти.

Итак, приступим.

Данные всех стран, не объединяйтесь

Reading time4 min
Views21K
Радует, когда на диаграмме кроме новых созвездий находится нечто похожее на зависимость. В таком случае мы строим модель, которая хорошо объясняет связь между двумя переменными. Но исследователь должен понимать не только, как работать с данными, но и какая история из реального мира за ними лежит. В противном случае легко сделать ошибку. Расскажу о парадоксе Симпсона — одном из самых опасных примеров обманчивых данных, который может перевернуть связь с ног на голову.
Читать дальше →

[Terraform + SaltStack] Готовим PrestoDB кластер в скороварке (Часть #1)

Reading time9 min
Views9.2K
Что здесь интересного?

image
Рецепт приготовления вкусного и полезного PrestoDB кластера используя скороварку на базе Terraform и SaltStack в публичном облаке AWS. Рассмотрим подробно нюансы подготовки к работе самой скороварки, необходимые шаги для правильного приготовления самого блюда и, естественно, немножко расскажем о потреблении готового блюда. Эту часть можно использовать как учебный материал по Terraform.
Читать дальше →

Почему компания «Интел» делает ставку в разработке чипов на гений Джима Келлера?

Reading time17 min
Views28K
Предлагаю вниманию публики Хабра перевод (с сокращениями) интервью Джима Келлера журналу «Fortune», опубликованное 18 мая 2020 года. Келлер — легендарная личность среди разработчиков микропроцессорной электроники.

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


Келлер выступает с докладом о законе Мура на закрытом мероприятии Intel Silicon100 в июне 2019 года.

Джим Келлер мало известен вне IT-индустрии, однако для посвященных он столь же легендарная личность, как Фрэнк Ллойд Райт в мире архитектуры или Фил Джексон – в баскетболе.

Келлер начал карьеру в компании DEC в 80-х, и с тем пор отличился успехами на каждом новом месте работы. Его разработки помогли компании AMD из аутсайдера превратиться в уважаемого конкурентами соперника. А кто стоял за созданием микропроцессора автопилота Tesla, который в состоянии распознавать красный сигнал светофора и знаки «СТОП»? Тоже Келлер.
Читать дальше →

Эффективные надежные микросервисы

Reading time29 min
Views19K


В Одноклассниках запросы пользователей обслуживает более 200 видов уникальных типов сервисов. Многие из них совмещают в одном JVM-процессе бизнес-логику и распределенную отказоустойчивую базу данных Cassandra, превращая обычный микросервис в микросервис с состоянием. Это позволяет нам строить высоконагруженные сервисы, управляющие сотнями миллиардов записей с миллионами операций в секунду на них.


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

Читать дальше →

Микросервисы на С++. Выдумка или реальность?

Reading time5 min
Views16K


В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan.


Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработчика, встал вопрос о том, на чем писать очередной микросервис. Все что было написано на текущий момент, писалось мной и моим товарищем на языке Python, так как мой коллега был специалистом в этой области и профессионально занимался разработкой бекендов, в то время как я вообще являлся разработчиком под встроенные системы и писал на великом и ужасном С++, а Python просто подучил в университете.


Так вот, перед нами встала задача написать высоконагруженный сервис, основной задачей которого был препроцессинг поступающих к нему данных и запись их в БД. И после очередного перекура товарищ предложил мне, как С++ разработчику, написать этот сервис на плюсах. Аргументируя это тем, что так будет быстрее, производительнее, да и вообще, жюри будут в восторге от того, как мы умеем распоряжаться ресурсами команды. На что я ответил, что никогда не занимался такими вещами на С++ и с легкостью могу оставшиеся 20+ часов посвятить поиску, компиляции и компоновке подходящих библиотек. Проще говоря, я струсил. На том и порешили и спокойно дописали все на Python.

Читать дальше →

Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)

Reading time5 min
Views88K


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

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

Большую часть жизни я просто махал на них рукой и проходил мимо. Эти глупцы не понимают очевидных вещей, и я не нанимался разъяснять каждому js-нику, почему его код — это не разработка, а игрушечное прототипирование. Но время идёт, а количество идиотов вокруг и не думает уменьшаться, вместо того, чтобы всей своей фронтенд индустрией переехать наконец на статический тайпскрипт, эти ослы начинают использовать всякие кложуры, писать тонны тестов, и идти на все мыслимые ухищрения — лишь бы не разбираться в типах.
Читать дальше →

Не держите людей за идиотов или почему человек с инженерным образованием может сжечь вышку сотовой связи (видео)

Reading time12 min
Views224K


Знаете что общего между ситуацией с уничтожением антенн сотовой связи и последней лентой Тарантино «Однажды в Голливуде»? Они оба делят людей на два противоположных лагеря.
Читать дальше →

Как сэкономить время и силы на внедрении стандартов безопасной разработки с помощью OWASP SAMM

Reading time5 min
Views9.6K
5 марта 2020 года в офисе OZON прошёл очередной митап Московского отделения сообщества OWASP. Кажется, что получилось здорово, а краткий отчёт с материалами встречи был недавно опубликован на Хабре. В этом же посте представлен доклад oxdef.

Продолжая серию экспресс-докладов про проекты OWASP, сегодня мы поговорим о OWASP SAMM — одном из важнейших проектов сообщества. В начале года вышла его вторая версия — и это хороший повод рассказать о фреймворке подробнее.
Читать дальше →

Самые замечательные программы Unix

Reading time4 min
Views8.1K
Автор статьи Дуглас Макилрой — американский математик, инженер и программист. Наиболее известен разработкой конвейера в операционной системе Unix, принципов компонентно-ориентированного программирования и нескольких оригинальных утилит: spell, diff, sort, join, speak, tr.

Иногда вам попадаются действительно замечательные программы. Покопавшись в памяти, я составил список настоящих жемчужин Unix за все годы. В основном, это довольно редкие и не такие уж необходимые программы. Но что их выделяет, так это оригинальность. Даже представить не могу, чтобы мне самому пришла идея какой-нибудь из них.

Поделитесь, какие программы вас тоже настолько поразили?

PDP-7 Unix


Для начала, сама система PDP-7 Unix. Её простота и мощь заставили меня перейти с мощного мейнфрейма на крошечную машину. Здесь квинтэссенция иерархической файловой системы, отдельная оболочка и управление процессами на уровне пользователя, что Multics на мейнфреймах не смогла реализовать после сотен человеко-лет разработки. Недостатки Unix (например, структура записей в файловой системе) были столь же поучительными и освобождающими, как и её новшества (например, перенаправление ввода-вывода в оболочке).
Читать дальше →

Ранние годы ФОРТа

Reading time17 min
Views7.7K
image

КДПВ взята отсюда

Введение


ФОРТ – простой и естественный компьютерный язык. Он получил заметное распространение там, где необходима высокая эффективность. В 60-х годах он прошел путь развития от университетов через бизнес к лабораториям. Это — история о том, как простой интерпретатор расширил свои возможности и смог стать полноценным языком программирования и операционной системой.
Лонгрид внутри

Как начать тестировать Ansible, отрефакторить проект за год и не слететь с катушек

Reading time10 min
Views9.5K


Это расшифровка выступления на DevOps-40 2020-03-18:


Начиная со второго коммита любой код становится legacy, т.к. изначальные задумки начинают расходиться с суровой реальностью. Это не хорошо и не плохо, это данность с которой сложно спорить и необходимо уживаться. Частью этого процесса является рефакторинг. Рефакторинг Infrastructure as Code. Да начнется история как отрефакторить Ansible за год и не слететь с катушек.

Читать дальше →

Теперь я понял, почему почти никто не шифрует свою почту

Reading time6 min
Views29K


Шифрование электронной почты — трудная и болезненная процедура. Недавно я сам понял, насколько. Одна моя знакомая, очень продвинутая в сфере информационной безопасности, прислала мне свой открытый ключ PGP и попросила перейти на шифрование. Нет, она не из АНБ или ЦРУ, просто обычный человек, который заботится о своей конфиденциальности. Я никогда раньше не отправлял зашифрованные письма, но подумал: «Почему бы и нет?» Много лет я хотел это освоить, но не с кем было обмениваться шифрованными письмами.

Я начал с установки GnuPG на свой компьютер под Linux.
Читать дальше →

Svelte, исчезающий фреймворк, который уже не исчезнет

Reading time19 min
Views28K
Когда на днях в наш уютный чатик @sveltejs в телеграм запостили ссылку на очередную «разоблачающую» статью про Svelte, я очень обрадовался, предвосхищая интересный технический батл или хотя бы увлекательное чтиво чужого практического опыта. Кроме того, что это всегда интересно и полезно, определенное стечение обстоятельств — плановый отпуск и карантин — заставляют меня скучать дома, а подобная статья могла бы несколько разнообразить мой день. Каково же было мое разочарование, вы даже представить себе не можете… но давайте по делу.


Читать дальше →

Усложнение команд консоли, 1979−2020

Reading time14 min
Views30K
Моё хобби — открыть «Философию UNIX» Макилроя на одном мониторе, одновременно читая маны на другом.

Первый из принципов Макилроя часто перефразируют как «Делайте что-то одно, но делайте хорошо». Это сокращение от его слов «Создавайте программы, которые делают одну вещь хорошо. Для новой работы создавайте новые программы, а не усложняйте старые добавлением новых "функций"».

Макилрой приводит пример:

Для посторонних кажется удивительным тот факт, что компиляторы UNIX не выдают листинги: печать лучше осуществляется и более гибко настраивается с помощью отдельной программы.

Если вы откроете справку для ls, то она начинается с

ls [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1] [file ...]

То есть однобуквенные флаги для ls включают все строчные буквы, кроме {jvyz}, 14-ти прописных букв, @ и 1. Это 22 + 14 + 2 = 38 только односимвольных вариантов.
Читать дальше →

[Инфографика] Как COVID-19 влияет на организм

Reading time3 min
Views20K
На данный момент исследователи и эксперты в области здравоохранения уже лучше понимают весь спектр симптомов, вызываемый COVID-19, включая лихорадку, сухой кашель и, конечно, опасное воспаление дыхательной системы. Большинство из нас знает, что COVID-19 может быть гораздо более опасным, чем грипп, при этом большинство людей имеют слабое представление (а то и не имеют вовсе) о механизмах того, как вирус вызывает пневмонию у своих жертв.

Сегодняшняя информативная иллюстрация, сделанная научным дизайнером и аниматором Авестой Растаном, подробно описывает влияние COVID-19 на лёгкие от умеренных до тяжелых случаев.

По данным Всемирной организации здравоохранения (ВОЗ), большинство людей, которые заразились COVID-19, испытывают только лёгкие симптомы гриппа. Тем не менее, иногда инфекция может перерасти в тяжёлый случай пневмонии, которая может привести к летальному исходу. Особенно это касается пожилых людей и людей с сопутствующими заболеваниями.

Вот что делает COVID-19 с вашим телом:

Читать дальше →

Как повысить качество работы agile-команд с помощью тестирования

Reading time6 min
Views4.2K
Разработка по методологии Agile нацелена на то, чтобы выдавать новые фичи быстро и с нужной периодичностью, обеспечивая постоянный поток изменений. Гибкий подход позволяет команде держать высокий темп, но из-за этого нередко страдает качество кода и стабильность продукта. Как решить эту проблему, не загоняя команду в жесткие рамки и не лишая ее преимуществ agile-методов? Помощь приходит со стороны тестировщиков. Меня зовут Денис Дубовой, я руковожу отделом тестирования в дирекции больших данных X5 Retail Group, и в этом материале я расскажу, как появление тестировщиков помогло повысить качество работы наших разработчиков.


Читать дальше →

Information

Rating
4,582-nd
Location
Испания
Date of birth
Registered
Activity