Хабр
125K subscribers
22.5K photos
264 videos
39 files
58.1K links
НЛО с вами!

№ 5197888779

Хабр Новости → https://xn--r1a.website/habr_com_news
Хабр Карьера → https://xn--r1a.website/habr_career
Реклама → adv@habr.team
Download Telegram
WFH убивает Кремниевую Долину?

Work From Home, Forever
Все резко уселись дома, нацепили свои sweatpants (а может быть, даже и нет), и начали упорно работать, работать, работать… но это неточно:

FAANG мечется туда-сюда, и никак не может понять — что же со всем этим делать.
Разработчики валят из Долины в более дешевые и хорошие места, с урезанием base salary, но оставляя свои сладкие RSUs.
Так что — это конец?! Читать дальше →
http://amp.gs/FeBv
Security Week 33: уязвимость в мобильных SoC Qualcomm

На прошлой неделе прошли две конференции по безопасности — Black Hat и DEF CON. Оба мероприятия из-за коронавирусных ограничений в этом году сделали виртуальными, а материалы DEF CON— полностью открытыми. Записи презентаций выкладывали на Youtube, сессии вопросов и ответов проводили в реальном времени на Twitch и в чате конференции на Discord. Мероприятие назвали DEF CON Safe Mode.


Одной из самых если не интересных, то масштабных презентаций стало исследование уязвимостей в мобильных чипах Qualcomm, используемых в большом числе Android-устройств (до 40% рынка). Шесть исправленных уязвимостей вызывали отказ в обслуживании, выполнение произвольного кода, обеспечивали прямой доступ к камере, микрофону, датчикам GPS и так далее. В феврале — марте данные об этих дырах передали производителю, который пропатчил их в июле, но когда заплатки доберутся до реальных устройств, пока непонятно. Из-за этого в анонсе исследования на сайте технических деталей нет, но они есть в презентации на DEF CON. Читать дальше →
http://amp.gs/FeNF
[Перевод] Цена tailing'а логов в Kubernetes

Прим. перев.: эту статью написал старший DevOps-инженер американской компании Olark, главный продукт которой — live chat — используют тысячи организаций. Автор делится размышлениями о проблеме потребляемых ресуров при сборе логов и результатами своего эксперимента с fluentd, что позволил ему добиться лучшей производительности для некоторых сценариев.



Журналирование – одна из тех вещей, о которых вспоминают только тогда, когда они ломаются. И это вовсе не критика. Дело в том, что логи как таковые не приносят денег. Они позволяют получать представление о том, что делают (или делали) программы, помогая поддерживать работу того, что приносит нам деньги. На малых масштабах (или при разработке) необходимую информацию можно получить, просто выводя сообщения в stdout. Но стоит перейти к распределенной системе, и сразу возникает потребность агрегировать эти сообщения и направлять в некое центральное хранилище, где они принесут наибольшую пользу. Это потребность еще более актуальна, если вы имеете дело с контейнерами на платформе вроде Kubernetes, где процессы и локальное хранилище эфемерны. Читать дальше →
http://amp.gs/FeDr
Резервное хранение данных. Где, что и как?



Начну свой рассказ фразой, которая оправдывает себя на все 100: «Если информация не сохранена в трёх местах – её не существует». Не помню, сказал это кто-то из великих или это народная поговорка, но неоднократно убеждался на своём опыте и опыте знакомых в её точности.
Рассмотрим варианты хранения от облачных сервисов до физических носителей дома в тумбочке.

Сразу обозначу о хранимых данных: не будем углубляться в сам материал хранения (для кого-то фото с таранкой из 90х важнее, чем чёрная бухгалтерия тёти Светы). Обобщим хранение важных для каждого электронных данных. Читать дальше →
http://amp.gs/FeJ3
Мне кажется, дело не в языке, а в том, как на нем пишут

«Летом между 2 и 3 курсом я пошла искать работу — а в Новосибе того времени почти все вакансии для ребят без опыта были про PHP. Начинала с очень простых вещей — WordPress, Drupal… Потом писала бэкенды на Yii и много еще разного. Go впервые попробовала в 2014-м, вдохновившись докладом, и затем часто находила работу, связанную с разработкой на нем, через сообщество.

Считается, что Go гораздо проще поддерживать, чем PHP. Я не согласна. Видела очень много чистого, легко читаемого и поддерживаемого кода на PHP, а сейчас время от времени встречаю много плохо написанного кода на Go. Проблемы начинаются тогда, когда мы не следуем лучшим практикам языков и систем, которые разрабатываем… Или когда выбираем для своих задач не тот инструмент», — Елена Граховац, руководитель ПК GolangConf 2019 и соведущая подкаста GolangShow.


В эту субботу днем обсудим типичные ошибки выбора в стриме с Леной, Сашей Макаровым и другими замечательными людьми. Подключайтесь. Читать дальше →
http://amp.gs/Fe0U
Неофициальный гайд по Active Admin

Статья про Ruby в блоге компании ДомКлик! Как так получилось, что в молодую компанию завезли мертвый язык? Секрет в том, что на Ruby можно быстро написать и протестировать бизнес-идею. И делается это не без помощи Rails и Active Admin — библиотеки, которая позволяет быстро создать админку с минимальными затратами сил и времени.

Часто можно встретить мнение, что Active Admin хорош только для 15-минутного блога. Мы в ДомКлик считаем (и доказываем на практике), что из этой библиотеки можно выжать намного больше.
Я расскажу про некоторые подходы, которые мы применяем при работе с Active Admin. Читать дальше →
http://amp.gs/FeKi
Создание программного продукта и управление его развитием. Сегментация рынка и конкурентный анализ

Привет, Хабр! Сегодня мы продолжаем разговор о разработке концепции продукта в рамках нашего курса продакт-менеджмента от Acronis. В первом посте мы поговорили о роли продакт-менеджера в организации и важности использования фреймворка — готового набора определенных действий, приводящих к успеху продукта (при прочих равных). Сегодня я хочу остановиться о важности сегментирования рынка и проведении конкурентного анализа в этой рыночной нише. Все подробности — под катом.

Читать дальше →
http://amp.gs/FeL9
Вы тоже в начале изоляции думали, что сейчас выучите питон, напишете роман и займетесь всеми своими пет-проектами одновременно? Максим, например, думал, но спустя месяц начал жалеть, что «завёл семью, а не собаку».

Про выход из изоляции, бег, диету и отпуск на Алтае — http://amp.gs/Feb1
Хабр pinned «Вы тоже в начале изоляции думали, что сейчас выучите питон, напишете роман и займетесь всеми своими пет-проектами одновременно? Максим, например, думал, но спустя месяц начал жалеть, что «завёл семью, а не собаку». Про выход из изоляции, бег, диету и отпуск…»
Оконные функции своими руками

В цифровой обработке сигналов оконные функции широко используются для ограничения сигнала во времени и их названия хорошо известны всем, кто так или иначе сталкивался с дискретным преобразованием Фурье: Ханна, Хэмминга, Блэкмана, Харриса и прочие. Но являются ли они достаточными, можно ли придумать что-то новое и есть ли в этом смысл?

В этой статье мы рассмотрим вывод оконной функции с новыми свойствами, используя Wolfram Mathematica. Предполагается также, что читатель имеет общие представления о цифровой обработке сигналов в контексте обсуждаемого вопроса и как минимум знаком со статьёй из википедии.

Читать дальше →
http://amp.gs/F7ln
Поймут ли ваши иконки пользователи из других стран? Обзор научных исследований



Дизайнеры часто используют иконки для того, чтобы помочь пользователю быстрее находить нужные функции. Кажется, что иконки универсальнее, чем текст. Даже на браслете путешественника изображены иконки, потому что язык люди другой культуры не поймут, а в картинках разберутся. Читать дальше →
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
Четверть выходных нод TOR под контролем злоумышленников


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

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