Pull to refresh
9
0
Babichev Oleg @obabichev

Пользователь

Send message

Motion Path: введение в современные анимации

Reading time5 min
Views13K


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


Для того чтобы выполнить подобные пожелания, актуальные для современного мира веб-разработки, CSS-модуль Motion Path Module Level 1 дает возможность использовать абсолютно новый вид анимаций и позволяет перемещать HTML-элементы по заданной траектории.

Наши уникальные бесплатные мастер-курсы Kubernetes, CLI tool для разработчиков Odo, Java в контейнерах и много книг

Reading time3 min
Views4.3K
Окей, мы инновационная ИТ-компания, а значит у нас есть разработчики – и это хорошие разработчики, увлеченные своим делом.



А еще они проводят live streaming, и все вместе это называется DevNation.
Читать дальше: Наши уникальные бесплатные мастер-курсы...

АES — американский стандарт шифрования. Часть II

Reading time10 min
Views8.6K
image



Основные операции шифра


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

При слепом обращениях к имплементациям пользователь ничего этого не видит, не ощущает и главное — не понимает как шифрование происходит. Он задает только текст сообщения и ключ. Это все, что пользователю понятно. Пользователь целиком доверяет разработчику, на чем уже многократно попадались деятели от государственного уровня до рядовых пользователей. Это и прослушивание переговоров дипломатических представительств и отказ технических систем, когда чужое коммуникационное оборудование покупается и устанавливается без оглядки.
Как анализировать процесс шифрования, на что и как влияет внесение изменений не ясно.
Читать дальше →

Как получить OpenID/OAuth2 токен для тестирования front-end rest сервисов?

Reading time2 min
Views9.2K
Есть задача нагрузочно потестировать фронтальные веб рест апи. Ресты защищены OAuth с Authorization Code Grant. Значит появляется необходимость наличия валидного токена для Authorization: Bearer TOKEN.
Вопрос — как его взять? И так это сделать красиво и правильно? Вот тут я не знаю.

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

Есть обычная типовая система с веб рест фронтом и типовым Single-Page-Application браузерным клиентом на JS. Аутентификация и авторизация — KeyCloak с Authorization Code Grant + brokering.

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

Deep dive into PostgreSQL internal statistics. Алексей Лесовский

Reading time24 min
Views10K

Расшифровка доклада 2015 года Алексея Лесовского "Deep dive into PostgreSQL internal statistics"


Disclaimer от автора доклада: Замечу что доклад этот датирован ноябрем 2015 года — прошло больше 4 лет и прошло много времени. Рассматриваемая в докладе версия 9.4 уже не поддерживается. За прошедшие 4 года вышло 5 новых релизов в которых появилась масса новшеств, улучшений и изменений относительно статистики и часть материала устарела и не актуальна. По мере ревью я постарался отметить эти места чтобы не вводить тебя читатель в заблуждения. Переписывать же эти места я не стал, их очень много и получится в итоге совсем другой доклад.


СУБД PostgreSQL — это огромный механизм, при этом состоит этот механизм из множества подсистем, от слаженной работы которых напрямую зависит производительность СУБД. В процессе эксплуатации обеспечивается сбор статистики и информации о работе компонентов, что позволяет оценить эффективность PostgreSQL и принять меры для повышения производительности. Однако, этой информации очень много и представлена она в достаточно упрощенном виде. Обработка этой информации и ее интерпретация порой совсем нетривиальная задача, а "зоопарк" инструментов и утилит запросто поставит в тупик даже продвинутого DBA.

Не стоит создавать собственные решения для аутентификации пользователей

Reading time10 min
Views23K
Автор статьи, перевод которой мы публикуем, предлагает прекратить писать собственный код для аутентификации пользователей. Он полагает, что пришло время внедрять более безопасные решения, которые, если даже не говорить о других их плюсах, позволяют экономить время и деньги.

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



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

Разработка безопасной системы аутентификации пользователей — это по-настоящему сложная задача. Она гораздо масштабнее, чем многие думают. Эту задачу очень легко решить неправильно. Хуже того: ошибки при создании подсистем аутентификации могут повлечь за собой катастрофические последствия. В базовую структуру систем аутентификации и управления пользователями входит всего несколько форм. Из-за этого создание подобных систем может показаться весьма простым делом. Но, как известно, дьявол кроется в деталях. Нужно немало потрудиться для того чтобы сделать такие системы безопасными (и, когда это возможно или даже необходимо, учесть в них требования конфиденциальности персональных данных).
Читать дальше →

Нагрузочное тестирование производительности вашего сайта

Reading time5 min
Views11K
И снова здравствуйте. В июле Otus запускает новый курс «Нагрузочное тестирование». В преддверии старта курса традиционно делимся с вами полезным материалом.




Поскольку 5 миллиардов человек во всем мире самоизолируются, все больше и больше наших ежедневных взаимодействий происходят через интернет. Ритейлеры по всему миру переводят обслуживание своих клиентов из офисов в онлайн, школы и учебные заведения пытаются находить альтернативы в интернете, и даже общение в кругу семьи переносится на Zoom и Webex вместе с нашими рабочими встречами (с детьми и домашними животными на фоне).

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

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

Самая реалистичная интерпретация квантовой механики

Reading time12 min
Views54K


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

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

Черный лебедь в IT-проектах. Взгляд со стороны CEO на проблемы разработки

Reading time8 min
Views14K


При чём тут лебедь?


Если Вас, как CEO или CTO IT-проекта (быстрорастущего или уже крупного), не покидают ощущения, что:

  • Roadmap продукта буксует
  • Разработка не успевает за новыми требованиями бизнеса
  • Клиенты готовы платить деньги за продукт, который Вы не можете им предоставить
  • Чек за доработку системы догоняет чек от потребителей
  • Всё сложнее нанимать толковых разработчиков, а свои уходят к конкурентам
  • Сейчас все хорошо, но как-то тревожно…

Тогда усаживайтесь поудобнее, эта статья для Вас.
Читать дальше →

Инсайды от сотрудника Facebook: как попасть на стажировку, получить оффер и все о работе в компании

Reading time16 min
Views40K
Недавно мы запустили новый образовательный проект: прямые эфиры c ребятами из IT, которые отвечают на ваши вопросы в формате живого общения.

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



Выкладываем расшифровку прямого эфира с Илоной Папавой, Senior Software Engineer в Лондонском офисе Facebook: она рассказала как попасть на стажировку, что на них ждет стажеров, как показать себя и получить оффер и почему лондонский офис во многом превосходит офис в Долине.
Читать дальше →

Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение

Reading time8 min
Views140K

Целевая аудитория


Вы разработчик, который хочет повернуть свою карьеру в сторону более совершенной модели DevOps? Вы являетесь классическим Ops-инженером и хотели бы получить представление о том, что означит DevOps? Или же вы не являетесь ни тем, ни другим и, потратив некоторое время на работу в области ИТ-технологий, хотите поменять работу и понятия не имеете, с чего начать?
Если да, то читайте дальше, чтобы узнать, как можно стать инженером DevOps среднего уровня за шесть месяцев! Наконец, если вы уже много лет занимаетесь DevOps, то все равно сможете почерпнуть много полезного из этого цикла статей и узнать, где находится отрасль интеграции и автоматизации в данный момент и куда она стремится в своем развитии.

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

Понимание CSS Grid (2 часть): Grid-линии

Reading time8 min
Views15K

Перевод Understanding CSS Grid: Grid Lines» Rachel Andrew


Понимание CSS Grid (2 часть): Grid-линии


В первой статье из серии "Понимание CSS Grid" мы рассмотрели, как создавать родительский grid-контейнер и различные свойства, применяемые к данному элементу. Когда сетка создана, в нашем распоряжении оказывается набор grid-линий. В этой статье вы узнаете, как располагать элементы вдоль данных линий путём добавления свойств к дочерним элементам grid-контейнера.


Мы охватим следующие моменты:


  1. Свойства размещения элементов grid-column-start, grid-column-end, grid-row-start, grid-row-end и их краткие формы записи grid-column and grid-row
  2. Как использовать grid-area для размещения элементов по номерам grid-линий
  3. Как располагать элементы с помощью именованных линий
  4. Отличие в размещении элементов в явной и неявной сетке
  5. Использование ключевого слова span с небольшим бонусом subgrid
  6. Чего следует остерегаться при одновременном использовании ручного и автоматического размещения элементов

Поиск работы в Германии продакт-менеджером и не только. Часть 3/5. Что нужно сделать перед тем, как начать рассылать CV

Reading time7 min
Views9.6K
Навигация по циклу постов: 1/5, 2/5, 3/5, 4/5, 5/5.

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

image

Если, как в моем случае, диапазон поиска несколько шире, то подготовка к поиску работы сводится к:

  • Обзору и оценке рынка вакансий;
  • Подготовке материалов, которые будут вас презентовать: профиль LinkedIn, резюме, а также, возможно, рекомендации и сертификаты.
Читать дальше →

Как научиться разработке на Python: новый видеокурс Яндекса

Reading time6 min
Views257K
Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Яндексе. К каждому видео приложены ссылки на примеры и полезные материалы.

Для изучения курса нужно знать основы Python и понимать, как приложения развёртываются на серверах. Мы ждём, что вы умеете делать запросы к базам данных и знаете, как создаются веб‑приложения, — хотя бы на начальном уровне.
Читать дальше →

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Reading time12 min
Views208K

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →

Управление нагрузкой на PostgreSQL, когда одного сервера уже мало. Андрей Сальников

Reading time26 min
Views30K

Предлагаю ознакомиться с расшифровкой доклада начала 2019 года Андрея Сальникова "Управление нагрузкой на PostgreSQL, когда одного сервера уже мало"


Основные тезисы:
1) Стандартные практики распределения нагрузки в PostgreSQL. Сначала мы обсудим причины возникновения высокой нагрузки на базу данных. Следующим этапом рассмотрим те методы распределения нагрузки.
2) Будут рассмотрены вопросы того, как устроена репликация в PostgreSQL, какие есть различия между синхронными и асинхронными репликами, как правильно настраивать реплики.


[ В закладки ] CSS: использование внутренних и внешних отступов

Reading time18 min
Views96K
Если несколько элементов веб-страницы расположены близко друг к другу, то у пользователей возникает такое ощущение, что у этих элементов есть что-то общее. Группировка элементов помогает пользователю понять их взаимосвязь благодаря оценке расстояния между ними. Если бы все элементы были бы расположены на одинаковом расстоянии друг от друга, пользователю сложно было бы, просматривая страницу, узнать о том, какие из них связаны друг с другом, а какие — нет.


Эта статья посвящена всему, что нужно знать о настройке расстояний между элементами и о настройке внутренних пространств элементов. В частности, речь пойдёт о том, в каких ситуациях стоит использовать внутренние отступы (padding), а в каких — внешние (margin).
Читать дальше →

Минута саморекламы: Вечерняя школа Слёрма по Kubernetes

Reading time2 min
Views2.5K

Вечерняя школа Слёрма дает введение в Kubernetes с нуля для тех, кто хорошо знает Linux.
У нас бесплатные лекции и платная практика.


На этой неделе разбирали основы Kubernetes.


Лекция №1: Введение в Kubernetes, Pod, Replicaset



Лекция №2: Deployment, Probes, Resources



В конце лекции студенты получили домашнее задание:


  • Запустить Pod, Replicaset, Deployment
  • Посмотреть что происходит на уровне Docker
  • Добавить в Deployment Startup Probe
  • Узнать как управлять ресурсами Huge Page
  • Почитать про QoS
  • Ознакомится с документацией

Это задание мы разбирали на платной практике.



(По неизвестной причине встраивание не работает)

DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля

Reading time28 min
Views22K

Часть 1: Web / Android


Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинала, чтобы избежать искажения смысла при переводе на русский язык. Желаю вам приятного изучения!


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

Как устроена Вечерняя школа по Kubernetes

Reading time2 min
Views4.2K
Слёрм запустил Вечернюю школу по Kubernetes: цикл бесплатных лекций и платных практических занятий для тех, кто изучает k8s с нуля.

Занятия ведут Марсель Ибраев, инженер Southbridge, CKA, и Сергей Бондарев, инженер Southbridge, СКА, один из разработчиков kubespray с правами на принятие pull request.

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

На первой неделе разбирали Docker. Перед нами стояла конкретная задача: дать основы Docker, достаточные для последующей работы с k8s. Поэтому под него выделили одну неделю, и многое осталось за кадром.

Запись первого дня:

Information

Rating
2,248-th
Registered
Activity