Size: a a a

2020 August 11
Хабр
Поймут ли ваши иконки пользователи из других стран? Обзор научных исследований



Дизайнеры часто используют иконки для того, чтобы помочь пользователю быстрее находить нужные функции. Кажется, что иконки универсальнее, чем текст. Даже на браслете путешественника изображены иконки, потому что язык люди другой культуры не поймут, а в картинках разберутся.  Читать дальше →
http://amp.gs/F7UK
источник
Хабр
Нам нужно поговорить…

Иногда инженеры теряют интерес к проектам, задачам и к компании — мотивация падает, а с ней и производительность. В итоге сотрудники выгорают и/или увольняются. Для этого много причин, но самая распространенная — отсутствие внимания к успехам и проблемам инженеров.



В ЦФТ эту проблему решили регулярные встречи с инженерами один на один. Встречи помогают: вовремя выявить проблемы в работе, профессионально развиваться, повышать мотивацию и находить новые смыслы. О том, как готовиться ко встречам, какие вопросы задавать и как регулярно их проводить, расскажет Михаил Емельянов. Теперь вы будете знать, что делать, если инженер сказал: «Нам нужно поговорить...»

Михаил Емельянов — Head of Android Department в ЦФТ. В IT-разработке 12 лет, с Android — 10, из которых 2 года руководит командой Android-разработки в ЦФТ. Разрабатывал проект мультимедиа, различные проекты в финтехе и запускал стартапы. Читать дальше →
http://amp.gs/F7Si
источник
Хабр
Разделяй и властвуй. Модульное приложение из монолита на Objective-C и Swift



Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club, и застал проект в его монолитном виде. Признаюсь, что приложил руку к тому, борьбе с чем посвящена эта статья, но раскаялся и трансформировал своё сознание вместе с проектом.

Я хочу рассказать, как разбивал существующий проект на Objective-C и Swift на отдельные модули — framework’и.  Согласно Apple, framework — это директория определенной структуры.

Изначально мы поставили цель: обособить код, реализующий функцию чата для поддержки пользователей, и уменьшить длительность сборки. Это привело к полезным последствиям, которым сложно следовать, не имея привычки и существуя в монолитном мире одного проекта. Читать дальше →
http://amp.gs/F7Ap
источник
Хабр
Архитектура современных корпоративных Node.js-приложений

Ох, не зря в названии намёк на нетленку Фаулера. И когда фронтенд-приложения успели стать настолько сложными, что мы начали рассуждать о высоких материях? Node.js… фронтенд… погодите, но Нода же на сервере, это бэкенд, а там ребята и так всё знают!



Давайте по порядку. И сразу небольшой дисклеймер: статья написана по мотивам моего выступления на Я.Субботнике Pro для фронтенд-разработчиков. Если вы занимаетесь бэкендом, то, возможно, ничего нового для себя не откроете. Здесь я попробую обобщить свой опыт фронтендера в крупном энтерпрайзе, объяснить, почему и как мы используем Node.js.  Читать дальше →
http://amp.gs/F7s0
источник
Хабр
[Перевод] Vue.js для начинающих, урок 11: вкладки, глобальная шина событий

Сегодня, в 11 уроке, который завершает этот учебный курс по основам Vue, мы поговорим о том, как организовать содержимое страницы приложения с помощью вкладок. Здесь же мы обсудим глобальную шину событий — простой механизм по передаче данных внутри приложения.

Читать дальше →
http://amp.gs/F73S
источник
Хабр
BPF для самых маленьких, часть первая: extended BPF

В начале была технология и называлась она BPF. Мы посмотрели на нее в предыдущей, ветхозаветной, статье этого цикла. В 2013 году усилиями Алексея Старовойтова (Alexei Starovoitov) и Даниэля Боркмана (Daniel Borkman) была разработана и включена в ядро Linux ее усовершенствованная версия, оптимизированная под современные 64-битные машины. Эта новая технология недолгое время носила название Internal BPF, затем была переименована в Extended BPF, а теперь, по прошествии нескольких лет, все ее называют просто BPF.
Грубо говоря, BPF позволяет запускать произвольный код, предоставляемый пользователем, в пространстве ядра Linux и новая архитектура оказалась настолько удачной, что нам потребуется еще с десяток статей, чтобы описать все ее применения. (Единственное с чем не справились разработчики, как вы можете видеть на кпдв ниже, это с созданием приличного логотипа.)
В этой статье описывается строение виртуальной машины BPF, интерфейсы ядра для работы с BPF, средства разработки, а также краткий, очень краткий, обзор существующих возможностей, т.е. всё то, что нам потребуется в дальнейшем для более глубокого изучения практических применений BPF.
Читать дальше →
http://amp.gs/F7ok
источник
Хабр
Эволюция конфигурации .NET



Каждый программист представлял — ну или может хочет представить — себя пилотом самолета, когда у тебя есть огромный проект, к нему огромная панель датчиков, метрик и переключателей, с помощью которых можно легко настроить всё как надо. Ну, по крайней мере, не бежать самому поднимать шасси вручную. И метрики, и графики — это всё хорошо, но сегодня хочу рассказать про те самые тумблерочки и кнопочки, которые могут менять параметры поведения самолета, конфигурировать его. Читать дальше →
http://amp.gs/FPIt
источник
Хабр
Software v.s. Hardware. Или почему электронщику жить тяжело?


С глубины прожитых лет, я уже давно понял, что различие между программированием и разработкой электроники вообщем-то незначительные, а в конечном итоге это одно и тоже. В электронику уже давно проникли всякие контроли версий, регрессионное тестирование и прочие юнит-тесты, а программисты начинают считать надежность своих программ и проходить прочие сертификации и испытания. Программирование — это всегда новшества, новые технологии и новая философия. Электроника — это консерватизм и знание физики. Хороший программист помнит законы Кирхгофа, а хороший железячник умеет программировать. В любой более менее сложной электронике уже есть программная часть, а любая программа требует аппаратуры на которой будет выполняться. Так что это одно и тоже — обработка информации. Либо на уроне классов, массивов или переменных, либо на уровне аналогового сигнала и фильтрация шумов. И подходы должны быть одни и те же со стороны государства в части поддержки. Да, к сожалению поддержки, так как ковидная эпопея опять вбила клин между программистами и железячниками.  Читать дальше →
http://amp.gs/FPtB
источник
Хабр
Курс “Введение в информационный поиск” и немного истории

Меня зовут Павел Браславский, я научный сотрудник JetBrains Research и доцент Питерской Вышки.
Осенью прошлого года я после большого перерыва прочитал курс “Введение в информационный поиск”, на этот раз — для студентов академических программ JetBrains в Питерской Вышке и ИТМО. Come-back получил продолжение — зимой я прочитал мини-курс с обзором моделей информационного поиска и подходов к оценке для сотрудников Tinkoff, а весной — обзорную лекцию про информационный поиск в рамках курса по обработке естественного языка. В этой статье я кратко расскажу о курсе и его “исторических предпосылках”.
Читать дальше →
http://amp.gs/FP94
источник
2020 August 12
Хабр
Четверть выходных нод TOR под контролем злоумышленников


9 августа некий Nusenu, владелец выходной ноды в TOR, опубликовал пост, в котором заявил, что более 23% всех выходных нод находятся под контролем злоумышленников, которые перехватывают трафик пользователей и подменяют на лету Bitcoin кошельки в попытке увести чужие средства. Оригинал статьи находится здесь.

Истинный масштаб операций этой группы неизвестен, но их главной целью является получение прибыли. Злоумышленники осуществляют атаки man-in-the-middle на пользователей Tor и манипулируют трафиком, проходящим через подконтрольные им выходные узлы. Особенность ситуации в том, что атакующие применяли технику sslstrip, которая почему-то считается давно умершей и утратившей актуальность. Пока т.н. специалисты твердят об HTTP Strict Transport Security (= HSTS) и прочих preloaded списках доменов, сетевые злодеи вовсю эксплуатируют старую технику. В свое время Эдвард Сноуден использовал такие-же приемы в своей деятельности. Читать дальше →
http://amp.gs/FyIm
источник
Хабр
Hacking Game: хакните и остановите шредер, в который загружено 200к, устройте короткое замыкание и пожар

Сыграем в игру?



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

Это трансляция из офиса веб-студии Сокол, предоставляющей услуги подкроватного хостинга. Комната наполнена iot-устройствами, которые полностью управляются с сайта компании.

Владелец офиса уехал отдыхать на Бали, но успел построить продвинутую систему слежения и защиты от грабителей. Свои деньги, 200 000 рублей, честно заработанные на создании убогих сайтов, он засунул в шредер — только офис попытаются взломать, деньги начнут уничтожаться и не достанутся никому.

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

Там же вы видите, как меняется комната под управлением умных устройств. Вокруг вас спрятаны подсказки, которые помогут вам выйти победителями.  Читать дальше →
http://amp.gs/FyV7
источник
Хабр
Первое исследование состояния DevOps в России

В 2019 году компания DORA и и Google Cloud выпустили совместный отчет The 2019 Accelerate State of DevOps: Elite performance, productivity, and scaling, из которого мы знаем, как в мире обстоят дела с DevOps. Это часть большого исследования DevOps, которым DORA занимается с 2013 года. За это время компания опросила уже 31 000 IT-специалистов по всему миру.



Исследование DORA проходит уже шесть лет и по нему видна динамика развития практик DevOps в мире. Но по этим результатам мы не можем объективно сказать в каком состоянии DevOps в России, сколько компаний внедрили практики, какие инструменты используют и получают ли пользу. Слишком мало данных — за последние пару лет в опросах DORA поучаствовало меньше 60 человек из России. Мы хотим исправить эту ситуацию и запускаем исследование состояния DevOps в России.

Примечание. Мы запускаем русскоязычный масштабный опрос о DevOps. Можете сразу перейти, поучаствовать и внести свой вклад в развитие DevOps, а если хотите узнать подробности об исследовании и его целях — читайте дальше. Читать дальше →
http://amp.gs/Fhao
источник
Хабр
[Перевод] Наш первый обзор отключения Интернета в Беларуси

9 августа в Беларуси произошли общенациональные отключения интернета. Вот первый обзор того, что наши инструменты и наборы данных могут рассказать нам о масштабах этих отключений и их влиянии. Читать дальше →
http://amp.gs/FvgF
источник
2020 August 13
Хабр
Полноценный Kubernetes с нуля на Raspberry Pi



Совсем недавно одна известная компания объявила, что переводит линейку своих ноутбуков на ARM-архитектуру. Услышав эту новость, я вспомнил: просматривая в очередной раз цены на EC2 в AWS, обратил внимание на Graviton'ы с очень вкусной ценой. Подвох, конечно же, был в том, что это ARM. Тогда мне и в голову не приходило, что ARM — это довольно серьезно…

Для меня эта архитектура всегда была уделом мобильных и прочих IoT-штучек. «Настоящие» серверы на ARM — как-то необычно, в чем-то даже дико… Однако новая мысль засела в голову, поэтому в один из выходных решил проверить, что вообще можно сегодня запустить на ARM. И для этого решил начать с близкого и родного — кластера Kubernetes. Причем не просто какого-то условного «кластера», а всё «по-взрослому», чтобы он был максимально таким же, каким я привык его видеть в production.

По моей задумке, кластер должен быть доступным из интернета, в нём должно выполняться некоторое веб-приложение и еще должен быть как минимум мониторинг. Для реализации этой идеи понадобится пара (или больше) Raspberry Pi не ниже модели 3B+. Площадкой для экспериментов могла бы стать и AWS, но мне были интересны именно «малины» (которые всё равно стояли без дела). Итак, мы развернём на них кластер Kubernetes с Ingress, Prometheus и Grafana. Читать дальше →
http://amp.gs/Fgmn
источник
Хабр
Новое CSS-свойство content-visibility ускоряет отрисовку страницы в несколько раз

5 августа 2020 разработчики Google анонсировали новое CSS-свойство content-visibility в версии Chromium 85. Оно должно существенно повлиять на скорость первой загрузки и первой отрисовки на сайте; причём с только что отрендеренным контентом можно взаимодействовать сразу же, не дожидаясь загрузки остального содержимого. content-visibility заставляет юзер-агент пропускать разметку и покраску элементов, не находящихся на экране. По сути, это работает как lazy-load, только не на загрузке ресурсов, а на их отрисовке.


В этой демке content-visibility: auto, применённый к разбитому на части контенту, даёт прирост скорости рендера в 7 раз Читать дальше →
http://amp.gs/FgxI
источник
Хабр
[recovery mode] Мониторинг производственного оборудования: как с этим дела в России



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

Базовая проблема следующая. Вот вы производите установку для крекинга нефти, либо станок для машиностроения, либо какое-то другое устройство для завода. Как правило, продажа сама по себе крайне редко возможна: обычно это контракт на поставку и обслуживание. То есть вы гарантируете, что железяка будет работать лет 10 без перебоев, а за перебои отвечаете либо финансово, либо обеспечиваете жёсткие SLA, либо что-то подобное.

По факту это означает, что вам нужно регулярно отправлять инженера на объект. Как показывает наша практика, от 30 до 80 % выездов — лишние. Первый случай — можно было бы разобраться, что случилось, удалённо. Либо попросить оператора нажать пару кнопок — и всё заработает. Второй случай — «серые» схемы. Это когда инженер выезжает, ставит в регламент замену или сложные работы, а сам делит компенсацию пополам с кем-то с завода. Или просто наслаждается отдыхом с любовницей (реальный случай) и поэтому любит выезжать почаще. Завод не против.

Установка мониторинга требует модификации железа устройством передачи данных, самой передачи, какого-то озера данных для их накопления, разбора протоколов и среды обработки с возможностью всё посмотреть и сопоставить. Ну и с этим всем есть нюансы.
Читать дальше →
http://amp.gs/FgWj
источник
Хабр
ViPNet в деталях: разбираемся с особенностями криптошлюза



Жизнь сетевого инженера была счастливой и беззаботной, пока в ней не появился сертифицированный криптошлюз. Согласитесь, разбираться с решениями, предназначенными для шифрования каналов передачи данных по ГОСТу, задача не из легких. Хорошо, если это известные и понятные продукты. Вспомним ту же «С-Терра» (об их «С-Терра Шлюз» мы уже писали). Но что делать с более экзотичными решениями на базе собственных протоколов шифрования, например, «Континент» (от «Кода Безопасности») или ViPNet Coordinator HW (от «Инфотекса»)? В этой статье я постараюсь облегчить погружение в мир ViPNet (про «Континент» тоже когда-нибудь поговорим) и рассказать, с какими проблемами столкнулся сам и как их решал.
Читать дальше →
http://amp.gs/FgWy
источник
Хабр
[Перевод] Отказ от create-react-app и создание собственного шаблона для React-приложений

Автор статьи, перевод которой мы сегодня публикуем, предлагает React-разработчикам отойти от использования create-react-app (CRA) и создать собственный шаблон для React-приложений. Здесь речь пойдёт о преимуществах и недостатках CRA, а так же будет предложено решение, которое способно заменить create-react-app.


Читать дальше →
http://amp.gs/FEe1
источник
Хабр
[Перевод] Распространённые заблуждения о временах жизни в Rust

(прим. переводчика: времена жизни (lifetimes) — это одна из самых запутанных вещей в Rust, которая часто вызывает затруднение у новичков, даже не смотря на официальную документацию. Разъяснения по отдельным аспектам времён жизни есть, но они все разбросаны по разным источникам и ответам на Stack Overflow. Автор статьи собрал в одном месте и разъяснил множество связанных с временами жизни вопросов, что и делает эту статью столь ценной (я и сам почерпнул новое для себя отсюда). Я решил перевести её, чтобы дать возможность прочитать её тем, кто не владеет английским в достаточной степени, чтобы свободно читать оригинал, а также для того, чтобы повысить известность этой статьи среди русскоязычного Rust-сообщества)
19 мая 2020 г. · 37 минут · #rust · # lifetimes Читать дальше →
http://amp.gs/FEdm
источник
Хабр
Фрикулинг в дата-центрах Selectel: как все устроено


Привет, Хабр! Пару недель назад выдался жаркий денек, который мы обсуждали в «курилке» рабочего чата. Буквально через несколько минут разговор о погоде перерос в беседу о системах охлаждения дата-центров. Для технарей, тем более сотрудников Selectel, в этом нет ничего удивительного, мы постоянно говорим на подобные темы.

В процессе обсуждения мы решили опубликовать статью о системах охлаждения в дата-центрах Selectel. Сегодняшняя статья — о фрикулинге, технологии, применяющейся в двух наших дата-центрах. Под катом — подробный рассказ о наших решениях и их особенностях. Техническими деталями поделились руководитель отдела сервисного обслуживания систем кондиционирования и вентиляции Леонид Лупандин и старший технический писатель Николай Рубанов.
Читать дальше →
http://amp.gs/FEJt
источник