Pull to refresh
-6
0
Send message

Continuous integration в Яндексе

Reading time10 min
Views36K

Поддержка огромной кодовой базы с одновременным обеспечением высокой производительности большого числа разработчиков — это серьезный вызов. В течение последних 5 лет в Яндексе идет разработка особой системы непрерывной интеграции. В данной статье мы расскажем про масштаб кодовой базы Яндекса, про перенос разработки в единый репозиторий с trunk-based подходом к разработке, про то, какие задачи должна решать система непрерывной интеграции для эффективной работы в таких условиях.



Много лет назад в Яндексе никаких особенных правил в разработке сервисов не было: каждый отдел мог использовать любые языки, любые технологии, любые системы деплоя. И как показала практика, такая свобода не всегда помогала двигаться вперед быстрее. В то время для решения одних и тех же задач часто существовало несколько собственных или open-source разработок. С ростом компании такая экосистема работала всё хуже. При этом мы хотели остаться одним большим Яндексом, а не разделиться на множество независимых компаний, потому что это дает массу преимуществ: много людей делают одни похожие задачи, результаты их труда можно использовать повторно. Начиная от разнообразных структур данных, типа распределённых хеш-таблиц и lock-free очередей, и заканчивая множеством разного специализированного кода, который мы написали за 20 лет.

Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments100

.NET гуру Дино Эспозито: «Не будь пассажиром поезда, идущего под откос»

Reading time4 min
Views17K

Дино приезжал в Минск лишь однажды, и нам удалось пообщаться с ним между лекциями, которые он давал для .Net-чиков. Мы решили не быть банальными и поговорили с Дино не только о работе, но и о книгах, о будущем и о том, какой становится жизнь после 40.


image
Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments14

.NET Standard 2.1

Reading time2 min
Views17K
С тех пор как мы выпустили .NET Standard 2.0 около года назад, мы дважды обновили .NET Core 2.1 и готовимся к релизу .NET Core 2.2. Пора бы обновить и Standard: включить некоторые из новых концепций, а также ряд небольших улучшений, которые облегчат вашу жизнь в работе со многими продуктами .NET.

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments11

Firebase Summit 2018: коротко о главном

Reading time8 min
Views5.4K


В конце прошлого месяца в Праге прошла конференция Firebase Summit 2018, посвященная сервисам Firebase, многие из которых сейчас претендуют на звание стандарта в индустрии разработки мобильных приложений. Постараюсь хоть и с задержкой, но рассказать о том, что интересного удалось услышать и увидеть. В этой статье мы рассмотрим анонсы (перевод официального пресс-релиза) с моими правками и комментариями.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments2

Оптимальное расположение шардов в петабайтном кластере Elasticsearch: линейное программирование

Reading time8 min
Views7.4K
В самом сердце информационно-поисковых систем Meltwater и Fairhair.ai работает набор кластеров Elasticsearch с миллиардами статей из СМИ и социальных медиа.

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

В этой статье мы расскажем, как применили линейное программирование (линейную оптимизацию) для максимально равномерного распределения рабочей нагрузки поиска и индексирования по всем узлам в кластерах. Это решение уменьшает вероятность, что один узел станет узким местом в системе. В результате мы увеличили скорость поиска и сэкономили на инфраструктуре.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments1

Современная MVI-архитектура на базе Kotlin

Reading time8 min
Views55K


За последние два года Android-разработчики в Badoo прошли длинный тернистый путь от MVP к совершенно иному подходу к архитектуре приложений. Мы с ANublo хотим поделиться переводом статьи нашего коллеги Zsolt Kocsi, описывающую проблемы, с которыми мы столкнулись, и их решение.

Это первая из нескольких статей, посвящённых разработке современной MVI-архитектуры на Kotlin.
Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments12

Создание собственной цветовой палитры

Reading time4 min
Views44K
Адаптировано из нашей будущей книги «Рефакторинг UI»

Видели эти модные генераторы цветовой палитры? Когда выбираешь цвет, настраиваешь несколько параметров с музыкальными словечками типа «триада» или «четвёртый мажор» — и получаете пять идеальных цветов для своего веб-сайта?



Такой вычислительный и научный подход к выбору идеальной цветовой гаммы крайне соблазнителен, но не очень полезен.
Читать дальше →
Total votes 94: ↑92 and ↓2+90
Comments12

Мечта летать с электротехническим уклоном

Reading time5 min
Views28K
Эта статья написана для обобщения моего опыта по самостоятельному изготовлению силовой установки для электропарамотора, а собственно: электродвигателя, контроллера, батареи, и прочего навесного оборудования.


Читать дальше →
Total votes 129: ↑128 and ↓1+127
Comments109
Каждый, кто был на Хабре больше одного раза, знает о наших сервисах для профессионалов — Мой круг и Фрилансим. Первый помогает найти друг друга потенциальным работодателям и соискателям вакансий, второй — фрилансерам и заказчикам. Часто с помощью этих сервисов иностранный работодатель или заказчик ищет специалистов в России — порядка 30% пользователей Моего Круга и Фрилансим не из нашей страны. И неудивительно — российские айтишники востребованы за рубежом, и гонорары им переводят неплохие, в валюте. А вот как легализовать эти совершенно законно заработанные деньги — не всегда понятно даже тем, от кого профессия требует каждый день решать сложнейшие задачи. Как правильно оформить валютные платежи и какие налоги при этом заплатить — помогают разобраться эксперты банка Точка.
Подробности — под катом
Total votes 45: ↑43 and ↓2+41
Comments125

Переезд в Лондон с женой и собаками. История мобильного разработчика

Reading time11 min
Views100K
Всем привет!

Меня зовут Кирилл, я Android-разработчик. Сейчас я уже привык к тому, что живу и работаю в Лондоне, но год назад и представить себе такого не мог. В этой статье я расскажу, как мне выпал шанс устроиться в международную компанию, о чём спрашивали на интервью, какие этапы нужно пройти, чтобы уехать в Великобританию с семьёй и собаками, и какой он, Лондон.


Читать дальше →
Total votes 139: ↑124 and ↓15+109
Comments693

Таиланд без стереотипов

Reading time5 min
Views43K


Я уже больше полутора лет (21 месяц, если быть точным) живу в Бангкоке, спасибо моим коллегам за точный расчёт, а так же идею и вступление к этому рассказу :) А рассказ будет о том как поменялась моя жизнь и что я о нового узнала о Таиланде.
Читать дальше →
Total votes 83: ↑67 and ↓16+51
Comments220

Как собеседует Google: чему быть, чего не миновать

Reading time6 min
Views74K
В последние недели участилась волна статей на хабре о том, как проводятся собеседования.

Google ищет инженеров постоянно. Как SRE, могу точно сказать, что вы нужны в наших рядах. Печеньки на мини кухнях и кофе в кофемашинах ждут вас. Всего-то нужно пройти собеседование. Это сложно, но реально — когда-то я уже описывал свою историю как соискателя, а сейчас уже в числе прочего занимаюсь и проведением собеседований. Так что сейчас я расскажу, как мы проводим собеседования с инженерами.

Нет, я не стал рекрутером. Процесс собеседования предполагает сперва разговор с рекрутером. Это общая беседа “что-куда-зачем” (то есть описание процесса для вашего конкретного случая) и тот самый всеми любимый скрининг из опросника с несколькими вариантами ответов. Скрининг мне в своё время показался весьма базовым, подозреваю, что вы отвечали на такие вопросы уже сотню раз. Затем собеседования будут проводиться уже инженерами — вашими будущими коллегами (близкими или далёкими, это уже как получится, наша планета весьма небольшая).

Читать дальше →
Total votes 81: ↑69 and ↓12+57
Comments328

Неожиданная полнота по Тьюрингу повсюду

Reading time13 min
Views61K
Каталог программных конструкций, языков и API, которые неожиданно являются полными по Тьюрингу; последствия этого для безопасности и надёжности. Приложение: сколько компьютеров в вашем компьютере?

Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp. — Десятое правило Гринспена

Полнота по Тьюрингу (Turing-completeness, TC) — это свойство системы при некотором простом представлении ввода и вывода реализовать любую вычислимую функцию.

Тьюринг-полнота — фундаментальное понятие в информатике. Она помогает ответить на многие ключевые вопросы, например, почему невозможно создание идеальной антивирусной программы. Но в то же время она является поразительно распространённым явлением. Казалось бы, компьютерной системе трудно достичь такой универсальности, чтобы выполнять любую программу, но получается наоборот: трудно написать полезную систему, которая немедленно не обратится в полную по Тьюрингу. Оказывается, что даже небольшой контроль над входными данными и преобразованием их в результат, как правило, позволяет создать тьюринг-полную систему. Это может быть забавным, полезным (хотя обычно нет), вредным или чрезвычайно небезопасным и настоящим подарком для хакера (см. о «теоретико-языковой безопасности», которая изучает методы взлома «странных машин»1). Удивительные примеры такого поведения напоминают нам о том, что полнота по Тьюрингу таится повсюду, а защитить систему чрезвычайно сложно.
Читать дальше →
Total votes 54: ↑53 and ↓1+52
Comments15

Фулстеки — это вечные мидлы. Не идите по этому пути, если не хотите страдать

Reading time4 min
Views135K


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

Читать дальше →
Total votes 249: ↑205 and ↓44+161
Comments733

Про выезд в туры

Reading time7 min
Views26K


Один из самых хороших примеров, чем интересны туры, — это Доминикана. Два месяца назад недельный выезд на двоих стоил так: билеты — 230 тысяч рублей, а отель — 64 тысячи рублей. Если же покупать всё это в виде тура, то итоговая стоимость получалась 114 тысяч рублей. Треть от цены самостоятельной поездки. Главная причина — в том, что туда не было прямого рейса. Туроператор собирал достаточное количество туристов для чартера, нанимал самолёт — и всё получалось выгоднее. Сейчас прямой рейс появился, и если смотреть даты 20–27 ноября, то отель стоит 41 тысячу, билет — 118 тысяч, а тур — 121 тысячу. Разница всё равно есть.

Откуда ещё она может браться? Сейчас расскажу, как это устроено.
Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments88

Японские учёные нашли микроорганизм, способный разлагать пластик

Reading time2 min
Views26K
image

Учёные Киотского технологического университета обнаружили бактерий, способных разлагать популярный ПЭТ-пластик. Бактерии были обнаружены при анализе пластика, собранного в почве и в сточных водах. Открытие и изучение микроорганизмов, названных учёными Ideonella sakaiensis, может помочь справиться со всё возрастающим количеством пластикового мусора.

С момента изобретения пластика в 1940-х годах он набрал огромную популярность. По всему миру производится порядка 311 миллионов тонн пластика ежегодно, и лишь 14% от произведённых товаров (большую часть которых составляют пластиковые бутылки) собирается для повторного использования. А собранные бутылки всё равно в большинстве своём плавятся для изготовления других предметов. Новые бутылки обычно производятся из нефтепродуктов.

ПЭТ-пластик, или полиэтилентерефталат, очень медленно разлагается, и загрязнение окружающей среды пластиковыми отходами стало уже приобретать угрожающие размеры. Множество микроскопических кусочков собирается в океане, и они уже включились в пищевую цепочку морских обитателей. А ведь в конце этой цепочки часто оказываются сами люди.
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments123

Европа запретила использование одноразового пластика

Reading time2 min
Views36K


Несмотря на попытки ограничить использование одноразового пластика, его производство продолжает расти на 2-4% в год. Даже страны с давно сформировавшимся экологическим менталитетом, вроде Германии, – не исключение. По прогнозам, объем рынка пластиковой упаковки к 2020 году приблизится к $1 трлн. Только одноразовых пластиковых пакетов по данным ООН каждую минуту в мире используют 10 миллионов, и большинство из них оказывается на свалках и в морях.


Чтобы бороться с экологической угрозой, Европейский парламент в среду в первом чтении утвердил директиву о полном запрете 10 видов одноразового пластика, включая пакеты, тарелки, ложки-вилки-ножи, трубочки, рыболовные снасти и палочки для размешивания кофе.

Читать дальше →
Total votes 67: ↑62 and ↓5+57
Comments174

Почему Wi-Fi не будет работать, как планировалось, и зачем знать, каким телефоном пользуется сотрудник

Reading time15 min
Views163K


Привет!

Поговорим о том, что реально влияет на скорость передачи данных в современных беспроводных сетях, развенчаем пару мифов и ответим, пора ли поменять свой старенький роутер на сверкающего рогатого пришельца с MU-MIMO на борту.

Для разминки — небольшая задачка. Представьте себе беспроводную сеть Wi-Fi, состоящую из точки доступа (AP) и двух одинаковых клиентских устройств (STA1 и STA2).

Читаем надписи на коробках:
AP: 1733,3 Мбит/c
STA1, STA2: 866,7 Мбит/c

Внимание, вопрос. Оба клиента одновременно начинают загружать с сервера большой файл. На какую пропускную способность может рассчитывать каждое из устройств?
Читать дальше →
Total votes 61: ↑61 and ↓0+61
Comments69

ИИ-разработчики – профессия миллионеров?

Reading time5 min
Views12K
В октябре аналитическая платформа CB Insights опубликовала исследование о трендах в сфере искусственного интеллекта. CB Insights сама является участником этой сферы – компания использует ИИ для синтеза, анализа и визуализации данных о венчурном капитале, стартапах, патентах, партнерствах и новостях. Среди ее клиентов – Cisco, Salesforce, Castrol, Gartner, а также венчурные фонды высшей категории, включая NEA, Upfront Ventures, RRE и FirstMark Capital.

Предлагаем ознакомиться с пятью наиболее интересными и важными трендами в AI, которые платформа составила на основе данных за 2016-2017 годы.


Во всех сферах объем сделок, связанных с ИИ, вырос за последние 5 лет
Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments9

Google Public DNS тихо включили поддержку DNS over TLS

Reading time4 min
Views94K


Внезапно, без предварительного анонса, на 8.8.8.8 заработал DNS over TLS. Ранее Google анонсировал только поддержку DNS over HTTPS.

Публичный резолвер от компании CloudFlare с IP-адресом 1.1.1.1 поддерживает DNS over TLS с момента запуска проекта.

Зачем это нужно


При использовании классической схемы DNS, провайдеры могут лезть своими грязными лапами в ваши DNS-пакеты, просматривать, какие домены вы запрашиваете, и подменять ответы как угодно. Этим же занимаются мошенники, подменяя резолверы на взломанных роутерах, чтобы направить пользователя на поддельный сервер.

C DNS over TLS/HTTPS запросы посылаются внутри зашифрованного тоннеля так, что провайдер не может подменить или просмотреть запрос.

А с приходом шифрования имени домена в сертификатах X.509 (ESNI) станут невозможны блокировки через DPI по SNI (Server Name Indication, специальное поле, в котором передается имя домена в первом TLS-пакете), которые сейчас применяются у некоторых крупных провайдеров.

Как это работает


На порт TCP:853 выполняется TLS-подключение, при этом проверка сертификата резолвера происходит с использованием системных корневых сертификатов, точно так же, как HTTPS в браузере. Это избавляет от необходимости добавлять какие-либо ключи вручную. Внутри тоннеля выполняется обычный DNS-запрос. Это создает меньше накладных расходов по сравнению с DNS over HTTPS, который добавляет HTTP-заголовки к запросу и ответу.

К сожалению, на текущий момент только в Android 9 (Pie) поддержка DNS over TLS встроена в системный резолвер. Инструкция по настройке для Android 9.

Для остальных систем предлагается использовать сторонний демон, а системный резолвер направлять на localhost (127.0.0.1).

Настройка на macOS


Разберем настройку DNS over TLS на последней версии macOS, на примере резолвера knot
Читать дальше →
Total votes 105: ↑101 and ↓4+97
Comments147

Information

Rating
Does not participate
Registered
Activity