Pull to refresh
-1
0
Send message

Хороший ретрай, плохой ретрай, или История одного падения

Level of difficultyMedium
Reading time17 min
Views48K

Порой простое и очевидное решение может потянуть за собой хвост проблем в будущем. Например, добавление ретраев.

Меня зовут Денис Исаев, и я работаю в Яндекс Go. Сегодня я поделюсь опытом решения проблем с отказоустойчивостью из-за ретраев. Основано на реальных инцидентах в системе из 800 микросервисов.

Этот пост — продолжение вымышленных историй о разработчике Васе, который несколько лет назад разбирался с идемпотентностью в распределённых системах. Теперь перед ним новые задачи — получится ли справиться с ними в этот раз? Давайте узнаем.

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

Назвался груздем — полезай в кузов (задали вопрос о входе в Design Verification процессоров и сетевых чипов)

Level of difficultyEasy
Reading time7 min
Views3K

Сегодня в некоторой русско-американской группе по QA (я не даю ссылку потому что она закрытая, хотя и многочисленная) некий молодой человек задал вопроc как войти в Quality Assurance Automation. Я сказал, что могу показать путь в Design Verification, который является фактически специализированным QA в области проверки функциональности цифровых аппаратных блоков, спроектированных с помощью синтеза из кода на языке описания аппаратуры SystemVerilog (я их собственно и проектирую). Так как получить ответ захотело еще человек десять, я понял, что нужно писать пост. К счастью, я об этом писал более 10 лет, так что можно делать выжимки из предыдущих постов.

Карьера Design Verification Engineer с писанием сред тестирования на SystemVerilog может понравится опытным программистам, которые хотят сменить карьеру с например писания программ на Джаве. В SystemVerilog есть элементы объектно-ориентированного и симулированно-многопоточного программирования. Суть деятельности заключается в создание фреймворков, которые тестируют хардверные дизайны на прочность, бомбардируя их превдослучайными транзакциями и учитывая покрытие интересных сценариев (functional coverage).

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

Как я читаю сейчас, путешествие по ридерам

Level of difficultyMedium
Reading time6 min
Views13K

Совсем недавно открыл для себя всю мощь Zotero. Опыт чтения с помощью этой программы ничем не уступает аналогичному с iBooks, Readwise, Alreader и любого другого ридера, с одним лишь исключением. Zotero предоставляет чтецу все то же самое, только на стероидах. Однако, прежде чем перейти к описанию, почему так происходит, и сценариям использования, расскажу про свой читательский опыт.

В 2002 году, студентом третьекурсником, на глаза попался карманный персональный компьютер (КПК), а вместе с ним и зуд прикупить себе такую штучку. Выбрал не самую дешевую модельку Toshiba e740:

Читать далее
Total votes 18: ↑14 and ↓4+15
Comments23

Добавляем поддержку Flatpak в Compose Desktop

Reading time7 min
Views1.7K

Те, кто делали мультиплатформенное приложение с помощью Compose Multiplatform, наверное уже сталкивались с тем, в как публиковать приложение. Для Linux на текущий момент доступны следующие форматы: Deb - "нативные" пакеты для Debian-подобных дистрибутивов; Rpm - такие же пакеты для Fedora, RHEL; AppImage - portable приложения(одним файлом). Недостаток первых двух - заточенность только под одну платформу(Debian и Fedora соответственно), второго - отсутствие пакетного менеджера в абсолютном большинстве дистрибутивов. Негодуя с этого, я решил внедрить compose-приложение в Flatpak - пакетный менеджер для sandboxed приложений. Sandboxed apps - приложения, которые по умолчанию не имеют доступа к файлам пользователя и другим настройкам. Flatpak дает уверенность, что та или иная функция/бинарник присутствуют в системе и могут быть использованы. Также с помощью Portals, которые встроены в Flatpak, приложение может безопасно и независимо осуществлять некоторые операции вроде доступа к камере, показа уведомлений и другого. Как вы могли видеть ранее, поддержки Flatpak в Compose Multiplatform нет.

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

Изучаем Latency: теория массового обслуживания

Reading time27 min
Views48K
Тема latency со временем становится интересной в разных системах в Яндексе и не только. Происходит это по мере того, как в этих системах появляются какие-либо гарантии по обслуживанию. Очевидно, дело в том, что важно не только пообещать какую-то возможность пользователям, но и гарантировать её получение с разумным временем отклика. «Разумность» времени отклика, конечно, сильно различается для разных систем, но базовые принципы, по которым во всех системах проявляется латентность, — общие, и их вполне можно рассматривать в отрыве от конкретики.

Меня зовут Сергей Трифонов, я работаю в команде Real-Time Map Reduce в Яндексе. Мы разрабатываем платформу для обработки потока данных в реальном времени с секундным и субсекундным временем отклика. Платформа доступна для внутренних пользователей и позволяет им выполнять прикладной код над постоянно поступающими потоками данных. Я попытаюсь сделать краткий обзор основных концепций человечества на тему анализа latency за последние сто десять лет, и сейчас мы попробуем понять, что именно про latency можно узнать, применяя теорию массового обслуживания.
Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments3

Yubikey для дома и офиса

Reading time10 min
Views35K

На приобретение Yubikey меня вдохновил Хабр материал из опубликованной ранее статьи. Может быть, и моё творчество способно вдохновить кого-то на подобные действия, и в результате будут появляться все новые и новые информационные блоки не раскрытых ранее областей применения подобных аппаратных ключей шифрования. Такой своего рода прирост человеческих знаний. IT-гикам будет понятнее, что с такой штукой можно сделать, куда её вставить и как применить по назначению. В статье рассмотрена модернизация входа в учётную запись Windows, работа с GPG шифрованием, в том числе использование Yubikey для SSH как на Linux, так и на Windows, подружим с ним LUKS, а также продемонстрируем работу TOTP аутентификации на примере Github. Материал не носит рекламный характер. Создан гиком для гиков, содержит только материалы практики. Минимум воды и научных изысканий.
Читать дальше →
Total votes 35: ↑33 and ↓2+52
Comments48

Умная хрущёвка на максималках. Продолжение

Reading time8 min
Views53K
В первой часть статьи я рассказал о том, как оснастить двухкомнатную хрущевку различными датчиками и с их помощью собирать информацию о текущем состоянии квартиры. Во второй части речь пойдет о том, как начать активно управлять всеми доступными системами. Для этого я выполнил:

  • Полную беспроводную автоматизацию всего освещения.
  • Установил кнопку «выключить всё».
  • Сделал возможным полное удаленное обесточивание квартиры (включая и сам сервер управления вместе с контроллером) и обратное удаленное включение.
  • Применил электронакладки (устройства поворота) для кранов на воду.


Подъездный щит жилого дома с оборудованием для удаленного обесточивания квартиры
Хрущёвка в полном фарше
Total votes 34: ↑29 and ↓5+36
Comments145

Дистанционная магистратура за границей: заметки перед диссертацией

Reading time6 min
Views13K

Пролог


Существует несколько статей, например Как я поступил на дистанционное образование в магистратуру Walden (США), Как поступить в магистратуру в Англии или Дистанционное обучение в Stanford University. Все они обладают одним недостатком: авторы делились ранним опытом обучения или же опытом подготовки. Это безусловно полезно, но оставляет простор для фантазий.

Я расскажу о том, как происходит получение степени магистра по Software Engineering в University of Liverpool (UoL), насколько это полезно и стоит ли учиться, когда тебе 30 и кажется, что в профессиональном плане все совсем неплохо.

Данная статья может быть полезна как молодым ребятам, только-только начинающим свой путь в индустрии, так и матерым разработчикам по каким то причинам пропустившим степень или же имеющих степень в учебном заведении, которое недостаточно котируется в мире.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments12

OpenDataScience и Mail.Ru Group проведут открытый курс по машинному обучению

Reading time6 min
Views66K

6 сентября 2017 года стартует 2 запуск открытого курса OpenDataScience по анализу данных и машинному обучению. На этот раз будут проводиться и живые лекции, площадкой выступит московский офис Mail.Ru Group.



Если коротко, то курс состоит из серии статей на Хабре (вот первая), воспроизводимых материалов (Jupyter notebooks, вот github-репозиторий курса), домашних заданий, соревнований Kaggle Inclass, тьюториалов и индивидуальных проектов по анализу данных. Здесь можно записаться на курс, а тут — вступить в сообщество OpenDataScience, где будет проходить все общение в течение курса (канал #mlcourse_open в Slack ODS). А если поподробней, то это вам под кат.

Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments18

Эмуляция влияния глобальных сетей

Reading time5 min
Views23K
В данный блог обычно пишут статьи, где Linux представляется user-friendly, ниже приведенный текст скорее относится к разделу «Linux не для всех» и будет интересен гораздо более узкому кругу хабрачитателей.

Часто возникает задача исследовать влияние задержек, потерь и джиттера на работу сетевого приложения. Подобная задача стоит в первую очередь перед специалистами, которые занимаются разработкой или внедрением решений VoIP, сетевых игр, потокового медиа контента. С большим распространением беспроводных сетей передачи данных, таких как GPRS, CDMA, спутниковых систем связи, исследования влияния параметров сетей передачи данных на работу приложений становятся особенно важными.

Рассмотрим схему, с помощью которой можно смоделировать влияние различных параметров сети передачи данных на исследуемое приложение. Для моделирование очень удобно использовать операционную систему GNU/Linux, в которой существуют все необходимые инструменты.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments4

МФТИ запустил первую в России онлайн-магистратуру по технологическому предпринимательству

Reading time4 min
Views7.5K


Московский физико-технический институт открыл набор в онлайн-магистратуру по технологическому предпринимательству. Это первая программа такого формата, позволяющая получить полный объем знаний по проектированию, разработке и выводу на рынок высокотехнологичных продуктов. О том, чему будут учить в онлайн-магистратуре Физтеха, рассказывает руководитель проекта, научный руководитель Межвузовской программы подготовки инженеров в сфере высоких технологий, заместитель заведующего кафедрой технологического предпринимательства МФТИ-РОСНАНО Вячеслав Чикин.

Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments29

Личный опыт: как мы заказывали рекламу у видеоблогеров для нашей веб-студии

Reading time4 min
Views18K


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


Сегодня видеоблогеры набирают большое количество просмотров, притом совершенно по любой тематике. Основная ценность любого блогера — его аудитория. Количество подписчиков, в сотни тысяч пользователей, говорит не только о популярности видеоблогера, но и о его влиянии на свою аудиторию. Его мнением интересуются, к нему прислушиваются.


Рынок рекламы у блогеров ещё используется мало. Основная часть маркетологов не рассматривает серьезно такую возможность для эффективной рекламы своей компании и никогда не работали с видеоблогерами.


Честно говоря, подробной и точной информации по данной теме не так много, не смотря на то, что мы, являясь зрителями Youtube, очень часто видим различную рекламу и яркие рекламные ролики в их сюжетах.


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


В начале марта мы решили попробовать заказать рекламу у блогеров на Youtube.


Агентства


Крупных агентств, занимающихся рекламой у блогеров Youtube оказалось не так много:
Zagency, Wild Jam, Socium, The Players, TAG, Hype Agency и ещё несколько.


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


Основное преимущество агентства — это высокий уровень креатива и менеджмента.


Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments11

Как работает hashCode() по умолчанию?

Reading time12 min
Views128K

Попытка заглянуть вглубь hashCode() привела к спелеологическому путешествию по исходному коду JVM, с рассмотрением структуры объектов и привязанной блокировки (biased locking), а также удивительных последствий для производительности, связанных с использованием hashCode() по умолчанию.
Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments53

Использование Tarantool в .NET-проекте на Windows

Reading time21 min
Views24K

В последнее время на Хабре появляется достаточно много статей про Tarantool — базу данных и сервер приложений, который используется в Mail.Ru Group, Avito, Yota на разных высоконагруженных проектах. И вот, когда в маленьком стартапе, который я иногда консультирую, возникла необходимость разделения прекрасного, но, к сожалению, монолитного приложения на микросервисы, я подумал: а чем мы хуже других компаний? — и решил посмотреть в сторону Tarantool. Однако, в отличие от большинства компаний, где используется Tarantool, в нашем случае разработка проекта ведётся в Visual Studio на Windows. Предполагается, что даже с переходом на микросервисную архитектуру большинство микросервисов будет написано на языке C#. А Tarantool… Стоит зайти на официальный сайт — и сразу понимаешь: Tarantool даже установить на Windows проблематично, так как на эту операционную систему он не портирован. Как я боролся с такими сложностями, для какого именно микросервиса выбрал Tarantool и как вы можете использовать Tarantool в своих .NET-проектах, я расскажу в данной статье. А пока спойлер — практически все трудности преодолимы, и мой опыт можно без сомнений назвать положительным. Например, на то, чтобы скачать и запустить Tarantool, а потом сделать к нему запрос из кода на языке C#, у меня ушло менее десяти минут. И я покажу вам, как это сделать!


image


Данная статья представляет собой туториал, описывающий работу с Tarantool как таковую. Здесь нет описания проекта, построенного на Tarantool, или сравнения Tarantool с другими продуктами (статей на эту тему и так уже написано достаточно много). Материал родился как попытка ответить на вопрос: а что бы я хотел прочитать, когда только начинал работать с Tarantool. Но вначале немного расскажу, для чего мы, собственно, Tarantool применяем в реальной жизни.

Читать дальше →
Total votes 70: ↑69 and ↓1+68
Comments31

Опыт подготовки и прохождения экзамена Oracle Certified Professional Java SE 8 Programmer 1Z0-810

Reading time3 min
Views14K
image Здравствуйте, уважаемые. Здесь было размещено достаточно много статей про сертификацию, пути сертификации и зачем она нужна: тут, тут и тут.

В данном материале хочу поделиться с Вами своим опытом подготовки и прохождения экзамена Oracle Certified Professional Java SE 8 Programmer 1Z0-810.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments22

Особенности работы с иностранными бумагами из РФ: как купить кусок Гугла

Reading time6 min
Views13K


Обычные торги идут через целую серию «прокладок». Давайте начнём с самого начала и попробуем разобраться, что всё это значит с точки зрения финансового рынка и ИТ-систем.

Итак, вы хотите купить акции Apple. Они листингуются на Санкт-Петербургской бирже (причём без согласия эмитента), можно купить через некоторых брокеров.

Вот кто из иностранных ИТ-игроков есть на бирже СПБ:
  • ALPHABET (это GOOGLE)
  • APPLE
  • CISCO
  • FACEBOOK
  • INTEL
  • INTERNATIONAL BUS. MACHINES ( IBM)
  • MICRON TECHNOLOGY
  • MICROSOFT
  • PAYPAL
  • QUALCOMM
  • YAHOO

Остальные крупные ИТ-компании не торгуются в России. Вообще. Вы не можете взять и купить одну из них. Поэтому, если вы хотите купить одну из них, вам нужно иметь брокера из другой страны. А дальше начинается интересное.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments10

Лучший Pull Request

Reading time8 min
Views49K
Относительно недавно мне посчастливилось присоединиться к команде разработки Bitbucket Server в Atlassian (до сентября он был известен как Stash). В какой-то момент мне стало любопытно, как этот продукт освещён на Хабре, и к моему удивлению, нашлось лишь несколько заметок о нём, подавляющее большинство которых на сегодняшний день уже устарело.

В связи с этим я решил опробовать себя в роли рассказчика и затронуть техническую сторону Bitbucket. Прошу не рассматривать моё намерение как попытку рекламы, ибо я совершенно не преследую эту цель. Если эта статья обнаружит интерес со стороны читателей, я буду рад развивать тему и постараюсь ответить на возникающие вопросы.

Позвольте начать с перевода статьи Тима Петтерсена «A better pull request» о том, как должен выглядеть pull request, чтобы наиболее эффективно решать возложенную на него задачу.
Читать дальше →
Total votes 46: ↑45 and ↓1+44
Comments25

Тонкая настройка ACPI на примере Thinkpad X220

Reading time6 min
Views28K

Лирика


За прошедшие пару месяцев мне довольно часто приходилось вступать в дискуссии о всевозможных портативных компьютерах: ломать копья в спорах какой производитель лучше и почему, обсуждать совместимость с GNU/Linux и то, как в этой системе настроить ту или иную функцию и, периодически, меня таки просят поделиться конфигами. Под влиянием этих самых обсуждений и родилась данная статья.

Большую часть своего компьютерного стажа я пользуюсь лаптопами так называемой «бизнес серии»: IBM ThinkPad 600, HP-Compaq nc2400, Lenovo ThinkPad X61T, Lenovo ThinkPad X220.



Были кратковременные перерывы, когда приходилось перебиваться абы-чем, то бишь компьютерами потребительского сегмента: Apple ibook G4 и Acer aspire 5112 и именно в эти моменты приходило понимание того, как сильно не хватает таких очевидных и привычных вещей, как трекпоинт и док-станция.

Вот про док-станцию мы сейчас и поговорим.
Total votes 24: ↑23 and ↓1+22
Comments24

Используем TSQL для игры в «Судоку»

Reading time6 min
Views9.5K
После того как при помощи TSQL была успешна решена «Балда» (статья) я решил попробовать решить на нем «Судоку» (спасибо за идею shavluk).

Решение судоку получилось на удивление достаточно простым.

Базовая схема имеет следующий вид:

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments7

Let's Encrypt выходит в публичную бету: HTTPS всюду, каждому, отныне и навсегда бесплатно

Reading time3 min
Views67K
Let's Encrypt

Let's Encrypt — это некоммерческая инициатива, предоставляющая бесплатный, автоматизированный и открытый CA (certificate authority — центр сертификации), созданный ISRG на благо общества:

  • бесплатно: владелец всякого доменного имени может воспользоваться Let's Encrypt и получить доверенный (читать как «признаётся любым современным браузером») TLS-сертификат (TLS — наследник SSL) совершенно бесплатно;
  • автоматизированно: Let's Encrypt предоставляет бесплатное и свободное программное обеспечение (клиент), которое, будучи настроенным на веб-сервере, может полностью автоматически запрашивать безвозмездно предоставляемые сертификаты Let’s Encrypt, автоматически конфигурировать и обновлять их;
  • безопасно: Let’s Encrypt строится как платформа для продвижения наилучших практик безопасности TLS как на стороне центра сертификации (CA), так и на стороне веб-сайтов, помогая администраторам должным образом настраивать веб-серверы;
  • прозрачно: информация о выпуске и отзыве каждого сертификата Let's Encrypt доступна вполне и публично так, что любой желающий изучить её сможет это сделать;
  • свободно: протоколы взаимодействия со CA, позволяющие автоматизировать процессы выпуска и обновления сертификатов, будут опубликованы как открытый стандарт для максимального внедрения;
  • кооперативно: как и любой протокол, лежащий в основе Интернета и Всемирной паутины, Let’s Encrypt является совместным, неподконтрольным какой-либо конкретной организации некоммерческим проектом созданным исключительно для того, чтобы принести пользу обществу.

Читать дальше →
Total votes 72: ↑71 and ↓1+70
Comments138

Information

Rating
Does not participate
Registered
Activity