Pull to refresh
20
0
Вячеслав Слинкин @slinkinone

Агент «Везде успеть»

Send message

Протокол QUIC в деле: как его внедрял Uber, чтобы оптимизировать производительность

Reading time12 min
Views13K
За протоколом QUIC чрезвычайно интересно наблюдать, поэтому мы любим писать о нем. Но если предыдущие публикации о QUIC носили больше исторический (краеведческий, если хотите) характер и матчасть, то сегодня мы рады опубликовать перевод другого толка – речь пойдет про реальное применение протокола в 2019 году. Причем речь не про малую инфраструктуру, базирующуюся в условном гараже, а про Uber, который работает почти по всему миру. Как инженеры компании пришли к решению использовать QUIC в продакшене, как проводили тесты и что увидели после раскатки в прод – под катом.
Картинки кликабельны. Приятного чтения!


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

QUIC стал RFC, но как дела с перспективами — обсуждаем мнения

Reading time3 min
Views7K

Разработка протокола велась на протяжении восьми лет, и в этом году его, наконец, оформили в RFC 9000. Представители ИТ-индустрии по большей части тепло приняли технологию, но энтузиазм разделяют не все. Рассмотрим аргументы скептиков.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments29

Растёт количество учёных, считающих, что будущее может влиять на прошлое

Reading time7 min
Views52K


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

Но что если эту прямую причинно-следственную связь можно каким-то образом обратить вспять во времени, позволяя действиям в будущем влиять на результаты в прошлом? Эта удивительная идея, известная как ретропричинность, на первый взгляд может показаться фантастикой, но она начинает приобретать реальную популярность среди физиков и философов, а также других исследователей как возможное решение некоторых из самых неразрешимых загадок, лежащих в основе нашей реальности.
Читать дальше →
Total votes 62: ↑46 and ↓16+30
Comments205

Telegram безлимитен, но старые сообщения пропадают. Почему?

Level of difficultyEasy
Reading time5 min
Views89K

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

Обо всем этом и не только мы написали в нашей первой статье.

Читать далее
Total votes 129: ↑121 and ↓8+113
Comments168

TAP или SPAN? Рекомендации по зеркалированию трафика для профессионалов

Reading time10 min
Views29K

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

Сегодняшние сети становятся все больше и сложнее, передавая беспрецедентные объёмы данных с возрастающей скоростью. В современных сетях во много раз больше кадров, чем было 20 лет назад, и мы давно перешли с 10 Мбит/с на полнодуплексные 1, 10, 40, 100 Гбит/с. Наступила эра тотальной безопасности данных, глубокого исследования пакетов (DPI), соответствия законодательству и политикам, сетевого аудита и законного перехвата (СОРМ), для чего требуется отслеживание всех данных, а не просто их «выборка». Всё это делает проблематичным повсеместный доступ к трафику на уровне пакетов, в то время как киберугрозы становятся всё более изощренными. В результате полная видимость сети необходима «как воздух» для мониторинга, управления и защиты вашей сети. Доступ к данным в потоке вплоть до уровня пакетов является первым шагом к получению полной видимости сети, поскольку ничто другое не обеспечивает аналогичный уровень глубины и детализации. Двумя наиболее распространенными методами получения этой информации являются технологии SPAN и TAP.

В этой статье мы рассмотрим специфику доступа к трафику через TAP и SPAN, некоторые фундаментальные соображения, лучшие практики, требования и отфильтруем некоторую дезинформацию о SPAN или доступе к трафику через коммутаторы. А также покажем, что использование TAP является единственной жизнеспособной и надежной технологией в 99% случаев.

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments15

Государство уничтожает классифайды

Reading time2 min
Views93K

"Зарегулировать -> Обесценить -> Передать нужным людям". Такую такику государство выбрало в отношении крупных классифайдов. Самый крупный, конечно, Авито, но достанется и другим - ЦИАНУ и Юле например.

Сперва Горелкин придумал, что надо изгнать всех иностранцев из капитала компаний (пострадает, например, ЦИАН). И забрать себе их персональные данные - для этого сервисы принудят поставить государственный счетчик, собирающий данные пользователей. Напомню, закон о счётчике (я писал в своём канале подробно о нём) прямо позволяет "создавать государственные сервисы" на базе таких данных. Закон приняли в первом чтении 5 июля.

Но этого показалось мало - в пятницу экстренно внесли и уже приняли в первом чтении совсем радикальный закон. Он разрешит публиковать цифровые объявления ТОЛЬКО через нового "государственного оператора объявлений". Это ставит крест на бизнесе Авито, Юлы и других. Причина - защитить безопасность страны. Она страдает, потому что можно разместить вредную информацию. Мотивация у закона в пояснительной записке именно такая.

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

Это притом, что все данные Авито хранятся в России, а несколько принятых его же партией законов и так УЖЕ запрещают передавать передавать данные за границу. А закон Горелкина и так принуждал классифайды отвечать за контент. Очевидно, что автор просто не в курсе, что он собрался регулировать.

Читать далее
Total votes 430: ↑411 and ↓19+392
Comments346

Open source, собственные серверы и экспертиза: доступный межсетевой экран для инфраструктуры в Selectel

Reading time8 min
Views8.5K

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

Чтобы учесть потребности бизнеса, мы в Selectel решили создать собственный межсетевой экран, который не зависит от крупных вендоров. Взяли open source, собственную инфраструктуру и компетенции специалистов компании. Под катом рассказываем, как мы реализовали выгодный по цене и функционалу МЭ на выделенных серверах Selectel.
Читать дальше →
Total votes 43: ↑37 and ↓6+31
Comments21

Динамический полиморфизм с использованием std::variant и std::visit

Reading time13 min
Views34K

Динамический полиморфизм (или полиморфизм времени выполнения) обычно связан с v-таблицами и виртуальными функциями. Однако в этой статье я покажу вам современную технику C++, которая использует std::variant и std::visit. Этот метод C++17 может предложить вам не только лучшую производительность и семантику значений, но и интересные паттерны проектирования.

Читать далее
Total votes 16: ↑14 and ↓2+12
Comments4

Что не так с std::visit в современном C++

Reading time6 min
Views41K

Сигма-тип и вы


Давайте поговорим о простой, но мощной концепции в программировании — сигма-типах.

Сигма-тип (тип-сумма, меченное объединение) может содержать значения одного и только одного из нескольких типов. Например, рассмотрим настройки в INI-подобном файле конфигурации. Пусть каждая настройка может быть строкой, целым или булевым значением. Если бы мы хотели сделать свою библиотеку на C++, мы бы написали что-то вроде этого:
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments295

Удивительное рядом, но оно запрещено: что такое «номерные радиостанции»

Reading time8 min
Views61K

Мы все привыкли только читать или слышать о чём-то тайном и непонятном. Чтобы столкнуться с чем-то таким лично, надо, как правило, или предпринять далёкое путешествие, или подгадать какое-то удачное время. Вдобавок, если речь об официальных учреждениях, то они ещё и охраняются — так просто к ним не подберёшься. Помните, пару лет назад был флэшмоб про «штурм» Зоны-51? Несколько миллионов человек со всех концов света собирались прорваться на секретную американскую авиабазу и посмотреть там на пришельцев. И чем всё закончилось? Правильно, ничем. Никто не пришёл, потому что, во-первых, добираться долго и дорого даже самим американцам, а во-вторых, охрана в таких местах шуток не любит и стреляет на поражение. Это неудивительно — никакая серьёзная организация не любит, чтобы в её деликатные дела мог сунуть нос любой желающий.

Есть, однако, заметное исключение из этого правила. Загадка, прикоснуться к которой может любой, буквально не выходя из дома. Для этого достаточно лишь купить радиоприёмник, способный ловить коротковолновый диапазон — стоят они совсем недорого, а при некотором везении можно бесплатно найти такой где-нибудь среди старого хлама на даче или в шкафу. Если неторопливо крутить ручку настройки, сканируя КВ-диапазон, несложно наткнуться на какой-либо звук — жужжание, гул, прерывистый писк. Это так называемый «маркер» — сигнал, который передаёт радиостанция. По громкости и чистоте его звучания легко определить, насколько точно вы настроились на нужную волну. Подождав достаточное время, можно услышать, как маркер затихнет и вместо него начнёт звучать голос, передающий бессмысленное сообщение. Это могут быть слова, короткие фразы или набор разрозненных букв, отрывки песен, но чаще всего — просто цифры. Сообщение повторяется несколько раз, после чего снова начинает звучать маркер.
Читать дальше →
Total votes 122: ↑120 and ↓2+118
Comments94

Made at Intel. Architecture and religion

Reading time6 min
Views44K

Я подустал от мрачных текстов и вспомнил о своей давней мечте. За 20 с хвостиком лет работы в Интел у меня развеселых историй накопилось на целую книгу. Хотелось в ретроспективе посмотреть на некоторые события, участником которых мне довелось быть. И еще хотелось отдать дань уважения компании и людям, с которыми мне посчастливилось работать. Я уже даже название придумал – Made at Intel. Понятно, что пока я был внутри конторы, речь о публикации этих баек идти не могла. Я сам подшучивал, что для публикации нужно правильно выбрать время. В смысле сначала уволиться, а потом публиковать, а не быть уволенным вследствие публикации. :) Однако примерно 2 года назад я Интел покинул, и казалось бы меня уже ничего не сдерживало. Но тут, как всегда – то перо поломается, то струна порвется, то еще какая бяда приключится. К тому же на то чтобы писать книжку – это же рeшимости набраться надо... И вот – вчера я решил, что большое надо начинать с малого. Буду писать по главке и выкладывать сюда - собирать фидбек. Так мало –помалу и наберется.

Итак, сегодня вашему вниманию представляется первая глава, в которой эволюция архитектур Intel рассматривается с точки зрения ... истории религиозных течений. Да –да, не удивляйтесь, архитектура вычислительных устройств –это одна из самых религиозных вещей. Не думайте, что все решения по Instruction Set Architecture принимаются исключительно на основе анализа данных – это совсем не так. Скорее похоже на средневековое государство – тут есть немного бизнеса, побольше политики и очень много религии. Все просто – почти любой эксперимент в этой области растягивается на годы и обходится в миллиарды долларов. Хуже всего, что в процессе дизайна можно давать лишь приблизительные оценки ключевых характеристик – частоты, производительности, энергопотребления, температурной карты. То, как все оно будет на самом деле становится понятным уже только тогда, когда чип выходит из печки. Да сейчас в этой области уже накоплен определенный опыт и наши оценки становятся несколько точнее, но и только. А 20 лет назад этих знаний было куда меньше. И пионеры, подобные Интел двигались в темноте на собственный страх и риск. Разумеется, в таких условиях на первый план выходит кто во что ВЕРИТ. Ну да – еще кто лучше говорить умеет. Поэтому лучшие архитекторы приходят из школ с углубленным изучением богословия. :)

Читать далее
Total votes 156: ↑155 and ↓1+154
Comments49

Введение в DPDK: архитектура и принцип работы

Reading time11 min
Views56K
DPDK

За последние несколько лет тема производительности сетевого стека Linux обрела особую актуальность. Это вполне понятно: объёмы передаваемых по сети данных и соответствующие нагрузки растут не по дням, а по часам.

И даже широкое распространение сетевых карт 10GE не решает проблемы: в самом ядре Linux имеется множество «узких мест», которые препятствуют быстрой обработке пакетов.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments14

Переход на IPv6 может занять еще десять лет

Reading time3 min
Views14K
Такую точку зрения высказал представитель интернет-регистратора RIPE NCC Марко Хохевонинг (Marco Hogewoning). Однако некоторые члены ИТ-сообщества посчитали такой прогноз излишне оптимистичным. Обсуждаем мнения экспертов и рассказываем, как идет внедрение IPv6.

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

Хорошо жить долго: ученые и биохакеры в поисках «таблетки молодости»

Reading time7 min
Views10K

Биохакер Дэйв Эспри, тот самый, который изобрел «пуленепробиваемый кофе» с маслом, мечтает дожить до 180 лет. Пионер в области облачных вычислений, как и многие другие обитатели Кремниевой долины, занимается проблемой долголетия всерьез. Биохакеры и ученые спорят за право первыми найти амброзию, которая продлит жизнь на десятки лет и сохранит здоровье. Давайте посмотрим, что они успели придумать!

Дальше никакого кофе — только сшитые мыши
Total votes 24: ↑22 and ↓2+20
Comments10

Введение в lock-free программирование

Reading time8 min
Views54K
image

В этом посте мы хотели бы еще раз поднять тему программирования без блокировок, сперва дав ему определение, а затем выделить из всего многообразия информации несколько ключевых положений. Мы покажем, как эти положения соотносятся между собой, с помощью блок-схем, а потом мы немного коснемся деталей. Минимальное требование к разработчику, постигающему lock-free, — умение писать правильный многопоточный код, используя мьютексы или другие высокоуровневые объекты синхронизации, например, семафоры или события.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments17

Оценка сложности алгоритмов

Reading time6 min
Views612K
Не так давно мне предложили вести курс основ теории алгоритмов в одном московском лицее. Я, конечно, с удовольствием согласился. В понедельник была первая лекция на которой я постарался объяснить ребятам методы оценки сложности алгоритмов. Я думаю, что некоторым читателям Хабра эта информация тоже может оказаться полезной, или по крайней мере интересной.
Читать дальше →
Total votes 84: ↑72 and ↓12+60
Comments66

Основы работы с фьютексами

Reading time10 min
Views32K
Фьютекс (futex — сокращение от «Fast userspace mutex») — это механизм, предложенный разработчиками Linux из IBM в 2002 году и вошедший в ядро в конце 2003 года. Основной идеей было предоставить более эффективный способ синхронизации пользовательских потоков с минимальным количеством обращений к ядру ОС.

В этой статье мы сделаем обзор фьютексов, попытаемся понять принципы их работы, а также используем их в качестве кирпичиков для построения более высокоуровневых (и знакомых нам) объектов синхронизации.

Важный момент: фьютексы — это достаточно низкоуровневый инструмент, напрямую его использовать стоит лишь при разработке фундаментальных библиотек, вроде стандартной библиотеки C/C++. Очень маловероятно, что вам понадобится использовать фьютексы в обычном прикладном приложении.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments4

Потоки, блокировки и условные переменные в C++11 [Часть 2]

Reading time7 min
Views161K
Для более полного понимания этой статьи, рекомендуется прочитать ее первую часть, где основное внимание было уделено потокам и блокировкам, в ней объяснено много моментов (терминов, функций и т.д.), которые без пояснения будут использованы здесь.
В данной статье будут рассмотрены условные переменные…
Читать дальше →
Total votes 54: ↑54 and ↓0+54
Comments8

Страх и ненависть в IT

Reading time7 min
Views126K
Всем привет. Я — обычный программист, носящий лычку сеньора в одной обычной продуктовой компании. Я занимаюсь коммерческой разработкой около 10 лет, начинал с разработки прошивок для небольших железок, а сейчас изготавливаю бекенды различной степени сложности преимущественно на модных нынче Java/Kotlin. Эту профессию я выбрал по призванию — будучи ещё школьником все время что-то паял, программировал на бумажке (компьютера не было) и всё такое. Дальше шли профильное образование, работа в различных компаниях — именитых и обычных, зарубежных и отечественных. Поэтому я могу сказать, что являюсь идейным программистом. И никогда не понимал людей, которые ждут пятницу — всегда с удовольствием ходил на работу, какой бы ад там не творился. Так было по-крайней мере до недавнего времени. С какого-то момента я “сломался” и с трудом мог заставить пойти себя на некогда любимую работу. Меня и раньше что-то смущало, но теперь, когда мысли до конца оформились в голове — я могу сказать, что же не так с моим некогда уютным IT-мирком.
Читать дальше →
Total votes 373: ↑339 and ↓34+305
Comments791
1
23 ...

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity