Pull to refresh
40
0
Александр @Inq

User

Send message

Почему бы и не поделиться опытом? (ФОТО)

Level of difficulty Medium
Reading time 5 min
Views 5.3K
image

Хотел написать комментарий (к одной из статей), но в процессе понял, что он может заметно вырасти + оказаться самостоятельной и надеюсь полезной для кого-то статьёй.

Поехали!
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 11

Как правильно готовить автоматизацию или Что покрывать тестами в первую очередь

Reading time 9 min
Views 15K
Привет, это Эрик Бурыгин, я техлид курса «Автоматизатор тестирования на Java» в Яндекс.Практикуме и лид в Яндексе. Каждый ручной тестировщик считает, что автоматизация — это круто и её непременно нужно втащить в проект. Что может быть лучше, чем полное покрытие автотестами продукта, когда тесты гоняются 24/7 и отлавливают баги? Вот прочитал я эти строки, и захотелось ещё раз всё заавтоматизировать!



Но, как это часто бывает, при внедрении автоматизации вы тратите много человеческих ресурсов, а профита долгое время не видно. Возникает вопрос о целесообразности этой инициативы. То, что на первых этапах автоматизация отнимает много сил — вполне нормально, но в перспективе она должна экономить время, а не наоборот. Попробуем понять, как этого добиться.
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 2

Рутина и ноотропы: как удвоить личную эффективность, если работы по горло

Reading time 10 min
Views 36K

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

Фишки простые и местами банальные, так статья писалась для тех, кому нужны быстрые и рабочие советы, которые можно внедрить буквально за один день и удвоить свою продуктивность минимум в два раза. Цифра условная, сами понимаете — надо привлечь немного внимания!

Читать далее
Total votes 36: ↑26 and ↓10 +16
Comments 52

13 инструментов для разработчиков, шпаргалка по Linux команде apt, вводный курс по Kubernetes Operators и многое другое

Reading time 2 min
Views 7.1K

Сделали для вас новую подборку шпаргалок, статей, обучающих курсов и книжек в нашем регулярном #полезногопост. Оставайтесь с нами – станьте частью DevNation!

Читать дальше: 13 инструментов...
Total votes 4: ↑2 and ↓2 0
Comments 0

Проверка тестов PHP API на соответствие определениям OpenAPI — пример Laravel

Reading time 8 min
Views 8.3K

OpenAPI — это спецификация, описывающая API-интерфейсы RESTful в форматах JSON и YAML так, что он понятен и людям, и машинам.

Определения OpenAPI не привязаны к конкретному языку и могут использоваться самым разным образом.

Читать далее
Total votes 7: ↑6 and ↓1 +5
Comments 0

Как я познавал ci/cd, Гитхаб экшены

Reading time 5 min
Views 23K

Гитхаб экшены, как я познавал ci/cd

   Всем Алоха. Все слышали про ci/cd, про то что он должен быть в каждой компании и то что он упрощает нам жизнь. У всех свой ci/cd. 

   Кто-то предпочитает Jenkins. Особенно если у вас куча микросервисов, команд и процессов, то при помощи Дженкинса можно достаточно гибко настроить ci/cd в компании. Кто-то использует GitLab actions и для каждого репозитория настраивает свои пайплайны и процессы. Достаточно удобно и просто настраиваемый механизм сборки и доставки артефактов на стенды. Не чуть не хуже GitHub actions. Это было открытием для меня что в GitHub появился такой функционал, о котором мы поговорим позже. Ну и конечно всеми «любимый» скриптовый ci/cd. Пачка скриптов, которые нужно выполнить в определенной последовательности чтобы собрать и задеплоить артефакты. Есть ещё так сказать хэнд мэнуал ci/cd. Но это особый вид извращения, с которым не пожелаю столкнуться никому. В котором нужно собрать артефакты у себя на машине и по какому нить ридми выполнять команды в терминале, лазить по ssh смотреть, что все копировалось, перезапускать сервисы и другие развлечения. 

    Передо мной стояла задача спроектировать и написать новый сервер для проекта. Изначально я закидывал джарники на сервак руками, чтобы проверить работоспособность и настроить сервер. Хэнд мэнуал деплой. В какой то момент меня это начало бесить и я задумался об автоматизации этого процесса. Как вы понимаете девопса или того кто шарит в этом у меня под рукой в компании не оказалось. Очень круто, если у вас есть такой человек. У меня был выбор сделать скрипт деплой, чего я искренне не хотел, потому что в целом не любитель копаться в терминале и скриптах, когда этого можно избежать. Поднять дженкинс и настроить там джобы и пайплайны. Вариант оч классный для большой компании, а мне нужен деплой лишь одного сервера, а не тысячи микросервисов. Да и чего таить, знаний как настраивать дженкинс с нуля у меня было чуть меньше чем ноль. 

Read more about GitHub Actions
Total votes 12: ↑12 and ↓0 +12
Comments 55

Список ноотропов, покупка которых не окажется пустой тратой денег

Reading time 5 min
Views 295K

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

Читать далее
Total votes 121: ↑85 and ↓36 +49
Comments 238

Веб-скрейпинг на PHP

Reading time 10 min
Views 16K


Термин web scraping означает извлечение информации из веб-страниц в интернете. Его ещё называют web crawling или web data extraction.

PHP широко используется в качестве серверного скриптового языка для создания динамических сайтов и веб-приложений. И на нём можно написать веб-скрейпер. Но поскольку мы не хотим изобретать колесо, можно воспользоваться готовыми open-source библиотеками для веб-скрейпинга. Кстати, мы также написали отличную статью про веб-скрейпинг с помощью Node.js и с помощью Python, почитайте. А здесь мы обсудим разные инструменты и сервисы, которые можно использовать с PHP для скрейпинга веб-страниц: Guzzle, Goutte, Simple HTML DOM, Headless-браузер Symfony Panther.
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Comments 6

Разработка платформы управления данными. Доклад Яндекса

Reading time 25 min
Views 9.6K
Яндекс Go разрабатывает платформу управления данными (DMP) как сервис для офлайн- и near real-time-обработки данных. Я постарался рассказать, какая мотивация нужна для создания собственного ETL-инструмента, как ETL и Data Warehouse превратить в DMP, какие проблемы возникают в процессе разработки и как мы их решаем.

— Меня зовут Владимир Верстов, я руковожу разработкой DMP в Яндекс Go — той частью, которая относится к платформе. Не контентной частью, а универсальными инструментами, которые мы переиспользуем, чтобы удобным образом выстроить внутри Такси, Еды и Лавки потоки данных и другие процессы, связанные с дата-инжинирингом. Чтобы сделать сущность, позволяющую дата-инженерам, аналитикам и разработчикам бэкенда коммуницировать на уровне данных и процессов.

Начать рассказ проще всего с вопроса, что вообще такое DMP, потому что каждый под этим может понимать что-то свое: нет устоявшихся паттернов. Расскажу, как мы вообще пришли к текущему состоянию, покажу несколько примеров использования нашей платформы для Greenplum, для Spark, и постараюсь успеть подвести итоги.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 1

Nginx. О чем не пишут в книгах

Reading time 9 min
Views 45K

Эта статья родилась случайно. Слоняясь по книжному фестивалю и наблюдая, как дочка пытает консультантов, заставляя их искать Иэна Стюарта, мой глаз зацепился за знакомые буквы на обложке: "Nginx".

Надо же, на полках нашлось целых три книги - не полистать их было бы преступлением. Первая, вторая, третья... Ощущение, будто что-то не так. Ну вроде страниц много, текст связный, но каково содержание? Установка nginx, список переменных и модулей, а дальше docker, ansible. Открываем вторую: wget, лимиты запросов и памяти, балансировка, kubernetes, AWS. Третья: GeoIP, авторизация, потоковое вещание, puppet, Azure. Ребята, а где про то, как вообще работает nginx? На кого рассчитаны ваши книги? На состоявшегося админа, который и так знает архитектуру этого веб-сервера? Да он вроде с базовыми настройками и сам справится. На новичка, который не знает как пользоваться wget? Вы уверены, что ему знание о существовании ngx_http_degradation_module и тем паче "облака" важнее порядка прохождения запроса?

Итак. О чем не пишут в книгах.
(здесь и дальше мы говорим только о NGX_HTTP_)

Фазы обработки запроса
Total votes 86: ↑86 and ↓0 +86
Comments 11

ruCLIP — мультимодальная модель для русского языка

Reading time 5 min
Views 13K

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

В начале этого года OpenAI опубликовала модель под названием CLIP (Contrastive Language–Image Pre-training). В статье авторы модели привели потрясающие результаты по точности zero-shot-классификации изображений, а также сопоставили тексты и картинки в рамках одной системы. Однако модель OpenAI работает только с английским языком. Можно ли быстро адаптировать её для работы с русским?

Команды R&D SberDevices и Sber AI увлеклись этим вопросом. В этой статье мы расскажем про первые результаты наших исследований CLIP для русского языка, опишем ключевые идеи предложенной модели и поделимся с вами кодом для её использования — решения задач zero-shot image classification.

Что же можно сделать с помощью ruCLIP?

Читать далее
Total votes 29: ↑29 and ↓0 +29
Comments 3

Обзор Lens — IDE для Kubernetes

Reading time 6 min
Views 50K

В прошлый раз я писал о том, как можно улучшить утилиту kubectl, дополнив и расширив ее функционал, а сегодня зайду с другой стороны: познакомимся с решением, которое позволит забыть о консольных командах и управлять Kubernetes-кластером в графическом интерфейсе. Речь пойдёт про Lens — бесплатное приложение с открытым кодом, которое позиционируется как полноценная Kubernetes IDE. Мы уже кратко рассматривали Lens в сравнительном обзоре GUI для K8s, а теперь попробуем это решение в деталях. Что ж, поехали!

Читать далее
Total votes 55: ↑55 and ↓0 +55
Comments 9

10 топовых плагинов для IntelliJ IDEA, которые ты не должен пропустить

Reading time 4 min
Views 25K

Хотя IntelliJ IDEA является полноценной IDE (Интегрированная среда разработки), вы наверняка захотите ее персонализировать. В JetBrains Marketplace есть множество плагинов с полезными функциями, которые могут удовлетворить ваши личные или деловые потребности.

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

Напоминаем, что все плагины можно установить через Настройки/Параметры | Плагины или на вкладке Плагины на экране приветствия.

Погнали!
Total votes 23: ↑18 and ↓5 +13
Comments 5

Как оптимизировать ограничения ресурсов Kubernetes

Reading time 5 min
Views 5.5K

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

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

Prometheus — одно из самых популярных решений для мониторинга кластеров Kubernetes. Поэтому каждый шаг в этом руководстве содержит примеры запросов PromQL.

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

Что читать на английском языке чтобы не умереть от скуки

Reading time 9 min
Views 47K

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

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

Читать далее
Total votes 25: ↑24 and ↓1 +23
Comments 16

Kubernetes в Hetzner при помощи Rancher (с картинками)

Reading time 5 min
Views 11K

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

Читать далее
Total votes 10: ↑10 and ↓0 +10
Comments 4

Tоп-10 PromQL запросов для мониторинга Kubernetes

Reading time 3 min
Views 10K

В этой статье приведены примеры популярных запросов Prometheus для мониторинга Kubernetes.

Рейтинг основан на опыте компании Sysdig, ежедневно оказывающей сотням клиентов помощь в настройке мониторинга их кластеров.

Читать далее
Total votes 7: ↑6 and ↓1 +5
Comments 5

Автоматизируй это, или Контейнерные перевозки Docker для WebRTC

Reading time 8 min
Views 5K

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

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

Путей решения этой задачи может быть несколько:

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

Rust — сохраняем безразмерные типы в статической памяти

Reading time 10 min
Views 6K

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

Читать дальше
Total votes 26: ↑26 and ↓0 +26
Comments 14

42 оператора расширенного поиска Google (полный список)

Reading time 15 min
Views 275K
Те, кто давно занимается поисковой оптимизацией, хорошо знают об операторах расширенного поиска Google. Например, почти все знают об операторе site:, который ограничивает поисковую выдачу одним сайтом.

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

В этой статье я поделюсь советами, которые помогут освоить поисковые операторы для 15 конкретных задач.
Читать дальше →
Total votes 127: ↑124 and ↓3 +121
Comments 40

Information

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