Pull to refresh
1
0
Inessa Matuznaya @Incher

Backend Developer

Send message

Самое подробное руководство по установке высокодоступного (почти ಠ ͜ʖ ಠ ) Kubernetes-кластера

Reading time22 min
Views47K

В предыдущей статье я рассказывал, как построить простой кластер Kubernetes с одним мастер-узлом. Прошло время, опали листья... и мне захотелось большего, поэтому решил позариться на высокодоступные кластеры. В интернете много статей о том, как построить подобное решение, и давайте даже опустим тот факт, что многие из них уже устарели. Одно дело — установить кластер, а как же обслуживание: удаление, добавление, замена узлов? Про это и не вспоминают! В итоге оказалось, что не всё так просто, и вот, спустя больше ста установок, удалений и замен, у меня получилось собрать подробнейшее руководство по установке и, главное, обслуживанию highly available кластера с помощью Kubespray.

Читать далее

Когнитивные искажения или мои мысли о том, как мы мыслим

Reading time13 min
Views34K

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

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

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

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

Читать далее

Распределенные Workflow на PHP. Часть 1

Reading time8 min
Views13K

Мы занимаемся разработкой огромного количества сложного ПО для автоматизации и энтерпрайза и Workflow для нас — это большая и больная проблема. Если для вас тоже — я расскажу, как писать и оркестрировать очень сложные процессы на масштабах, и как убедиться, что они не падают. А также как делать таймеры на 30 дней внутри процессов. И самое главное, как всё это пилить на PHP.

Меня зовут Антон Титов. Я более 17 лет занимаюсь коммерческой разработкой. Являюсь соавтором Spiral Framework, RoadRunner и Cycle ORM. Основной стек: PHP и Golang. Разговор пойдет про нашу разработку Temporal PHP SDK, которая и помогает решать все вышеперечисленные сложные задачи.

Читать далее

Blue-green deployment, canary release: рецепт приготовления безрисковых релизов

Reading time15 min
Views41K

Банковские сервисы по умолчанию не должны падать, и даже прилечь на секундочку, и даже когда мы обновляемся. Ведь даже секунды могут привести к потерям с множеством нулей. Чтобы этого не произошло мы используем blue-green deployment.

Простым языком blue-green deployment - способ развертывания, который позволяет обновлять приложения не отклоняя ни одного запроса, без остановок. Как это сделать, расскажу и покажу на примере. Статья подойдет DevOps-инженерам и бэкенд-разработчикам, особенно на HighLoad-проектах, а также моим будущим коллегам, как методичка по безрисковым релизам, чтобы прод не падал каждые 2 недели по графику релизов (а такое тоже бывало).

Читать далее

Как я писал асинхронные веб-запросы на Python, или почему провайдер считает, что я бандит

Reading time7 min
Views64K

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

Подробности что и зачем - вне этого рассказа. Принципиальный вопрос здесь другой - скорость. Скорость реально важна (порядок количества запросов - десятки и сотни). Потому что ждать - не кайф.

Здесь я хочу поделиться своим ресёрчем на тему запросов, как делать круто, а как нет. С примерами кода конечно. А так же рассказать, как я тупил.

Читать далее

Распределенные Workflow на PHP. Часть 2

Reading time11 min
Views16K

В первой, теоретической, части статьи мы разобрали зачем нужны Workflow, где они применяются и какие способы их реализации существуют. Наша компания занимается разработкой энтерпрайз-софта — для нас это больная тема. Поэтому мы давно искали инструмент, который позволит легко вписывать новые шаги в любую схему, не ломая существующую бизнес-логику. Нашли и на его основе сделали свою новую разработку. Теперь давайте перейдём к более практической части и разберем, на что способен Temporal PHP SDK.

Меня зовут Антон Титов. Я более 15 лет занимаюсь коммерческой разработкой. Являюсь соавтором Spiral Framework, RoadRunner и Cycle ORM. Основной стек: PHP и Golang.

Читать далее

Шпаргалки по безопасности: CSRF

Reading time6 min
Views22K
image

Не смотря на то, что в последнем публиковавшемся перечне уязвимостей OWASP Top 10 2017 CSRF атаки отнесены к разряду “Удалены, но не забыты”, мы решили, что не будет лишним еще раз напомнить о том, как защититься от CSRF атак, опираясь на те же правила, предоставляемые OWASP.
Читать дальше →

Как надо хешировать пароли и как не надо

Reading time4 min
Views269K
image

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

Постараюсь очень лаконично и быстро обрисовать ситуацию с хэшами.

Сразу определю какую задачу применения хешей буду рассматривать — аутентификация пользователей. Не токены восстановления паролей, не аутентификация запросов, не что-то еще. Это также не статья про защиту канала передачи данных, так что комментарии по challenge-response и SSL неуместны!

Читать дальше →

Как бы вы реализовали форму аутентификации на сайте? Вопрос для собеседования на Junior/Middle/Senior?

Reading time9 min
Views57K

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

Тема с одной стороны в общем-то простая, а с другой - многогранная. Можно сделать “на коленке”, а можно и “по-взрослому” -  зависит от знаний конкретного девелопера и технического задания. Ну и не привязывается к конкретному языку. Что nodejs, что .net, что PHP - на ответы это не влияет. Ну и отлично же! Давайте попробуем.

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

Как бы вы ответили на конкретный вопрос? Попробуйте проверить себя и потратить пару минут на обдумывание прежде чем читать ответ.

Восклицательным знаком ⚠ помечены вопросы, на которых можно "засыпаться" и оставить плохое впечатление о себе у интервьюера. Так же я позволил себе добавить еще пункты, которые подразумевают "Регистрацию", но по касательной. Многие ответы обрамил ссылками, которые помогут разобраться чуть глубже в конкретном вопросе, думаю будет полезно.

Итак, за вёсла!

Читать далее

Пирамида инспекции кода

Reading time3 min
Views7.9K
При инспекции кода часто складывается такая ситуация: какие-то обыденные моменты вроде форматирования или стиля рассматриваются очень тщательно, вокруг них ведутся бесконечные обсуждения, в то время как важным аспектам (выполняет ли код те функции, на которые рассчитан, производителен ли он, есть ли у него обратная совместимость с существующими клиентами и многое другое) уделяется гораздо меньше внимания.

Недавно я разместил в своем Твиттере небольшую иллюстрацию, которая проливает свет на эту проблему и дает наводку, на каких аспектах следует сосредоточиться прежде всего, и назвал ее «Пирамида инспекции кода». Ее назначение – помочь держать в приоритете составляющие инспекции кода, имеющие первостепенную важность (по крайней мере, на мой взгляд), а так же указать, какие составляющие можно и нужно автоматизировать.

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



Читать дальше →

Как правильно верстать в 2022 году. Часть 2. Как правильно вкладывать теги друг в друга

Reading time4 min
Views22K

Меня зовут Николай и я Frontend-разработчик в логистическом стартапе Relog. Хочу рассказать о самых распространённых ошибках в вёрстке современных проектов.

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

Читать далее

Родинки — это плохо? Разбираемся с эстетикой и раком кожи (не всё так страшно)

Reading time12 min
Views65K
Родинки уже который год ставят рекорды по мифам и страшилкам. Одно только клиническое исследование «Даже однократное посещение солярия повышает риск развития рака кожи в два раза!» чего стоит! Пруф.

Но бояться их не надо. Их надо отслеживать. Я лучше расскажу, что из себя представляют родинки, как самостоятельно отслеживать, всё ли с ними хорошо. Ну и про ультрафиолет тоже расскажу.


Стадии развития меланомы

Зачем нужно разбираться в теме? Затем, что даже если родинка, например, пугающе чёрная или приподнята над кожей — это ещё не значит, что всё плохо. А вот небольшое коричневое пятнышко, у которого края стали неровными (а вы и не замечали, чтобы они и раньше были ровными), — это вполне может быть меланомой, то есть раком кожи.

Ниже будут примеры того, чего бояться не надо, а что, вовремя замеченное, спасёт вас от очень неприятных последствий.
Читать дальше →

Микросервисы, API и инновации: вся сила API

Reading time9 min
Views11K
Привет всем!



Сегодня мы хотели предложить вам перевод программной статьи небезызвестного Майка Амундсена, ведущего архитектора из API Academy. В этом сравнительно небольшом тексте Майк толково рассказывает, зачем требуется уделять особое внимание разработке API, и как API делаются правильно.
Читать дальше →

Изучаем Docker, часть 1: основы

Reading time6 min
Views712K
Технологии контейнеризации приложений нашли широкое применение в сферах разработки ПО и анализа данных. Эти технологии помогают сделать приложения более безопасными, облегчают их развёртывание и улучшают возможности по их масштабированию. Рост и развитие технологий контейнеризации можно считать одним из важнейших трендов современности.

Docker — это платформа, которая предназначена для разработки, развёртывания и запуска приложений в контейнерах. Слово «Docker» в последнее время стало чем-то вроде синонима слова «контейнеризация». И если вы ещё не пользуетесь Docker, но при этом работаете или собираетесь работать в сферах разработки приложений или анализа данных, то Docker — это то, с чем вы непременно встретитесь в будущем.

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными

image

Если вы пока не знаете о том, что такое Docker, сейчас у вас есть шанс сделать первый шаг к пониманию этой платформы. А именно, освоив этот материал, вы разберётесь с основами Docker и попутно приготовите пиццу.
Читать дальше →

Руководство по Kubernetes, часть 1: приложения, микросервисы и контейнеры

Reading time16 min
Views182K
По нашей просьбе Хабр создал хаб Kubernetes и нам приятно разместить первую публикацию в нём. Подписывайтесь!

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


Читать дальше →

Руководство по Docker Compose для начинающих

Reading time9 min
Views1M
Автор статьи, перевод которой мы сегодня публикуем, говорит, что она предназначена для тех разработчиков, которые хотят изучить Docker Compose и идут к тому, чтобы создать своё первое клиент-серверное приложение с использованием Docker. Предполагается, что читатель этого материала знаком с основами Docker. Если это не так — можете взглянуть на эту серию материалов, на эту публикацию, где основы Docker рассмотрены вместе с основами Kubernetes, и на эту статью для начинающих.

image
Читать дальше →

Если вы не чистите зубы, то я их вам почищу: FAQ про гигиену

Reading time12 min
Views126K
image

Зубы до гигиены, химический агент для окраски налёта (используется в обучающих целях для того, чтобы пациент видел непрочищаемые участки) и состояние после гигиены.

Про чистку зубов есть очень много вопросов, поэтому пробежимся по основным:

  • Что будет, если не чистить зубы?
  • Можно ли чистить зубы редко, но ходить к стоматологу время от времени, чтобы он их вам «мощно почистил»?
  • Как проходит чистка зубов в стоматологии?
  • Почему швейцарцы чистят зубы вообще без пасты?
  • Работает ли жвачка?
  • Какие щётки выбирать и как? Что насчёт электрических?
  • Правда ли, что щётку надо выкидывать, когда хотя бы одна ворсинка отклоняется от вертикали?
  • Зачем нужны скребки для языка, межзубные ёршики, зубная нить и всё остальное?
  • Ирригатор заменяет чистку зубов щёткой?
  • Ополаскиватель для рта — хорошая тема?
  • Когда важнее чистить зубы — утром или вечером?
  • Чем ИТ-специалист отличается от среднего пациента по анамнезу относительно гигиены ротовой полости?
Читать дальше →

Чистим зубы с кровью: что надо знать

Reading time8 min
Views41K
image

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

Итак, если у вас кровь при повседневной чистке зубов, то пора знакомиться с довольно редкой и специализированной разновидностью стоматолога — пародонтологом:

  1. Коротко пробежимся по строению пародонта и его задачам.
  2. Как наша иммунная система спасает нас от лишних зубов.
  3. Что будет, если слишком усердно чистить зубы.
  4. Учим чистить зубы с нуля, или классические ошибки пациентов.
  5. Почему иногда лучше чистить без зубной пасты.
  6. Почему самые терпеливые пациенты рискуют всю жизнь посещать стоматолога четыре раза в год.
Читать дальше →

Как умереть со своими зубами в 90 лет

Reading time11 min
Views43K

КТ челюсти. Очень важная вещь для составления календаря планового лечения.

Вообще у человека, который задался таким вопросом, есть три способа:

  1. Идеальный. От рождения до смерти следить за зубами.
  2. Типовой. Обратить внимание на свои зубы в возрасте примерно 30–40 лет. Вылечить кариес, наладить правильную гигиену. Это когда не просто горизонтальными движениями щёткой по зубам. И зайти к ортодонту и ортопеду. Если вы достоверно точно знаете, что с опорным аппаратом зубов у вас всё ОК, то можете пропустить этот шаг.
  3. Сложный. Когда вам уже 60 лет и вставную челюсть не хочется. Это, конечно, уже не про экономию, а про съёмные протезы и профилактику пародонтита.

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

Information

Rating
Does not participate
Registered
Activity