Pull to refresh
1
0
McCoder @McCoder

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

Send message

Где изучать DevOps. Бесплатные курсы, книги и полезные материалы

Level of difficultyEasy
Reading time6 min
Views29K

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

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

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

Для тех, кто стремится стать DevOps-инженером, важно освоить широкий спектр инструментов и методологий. Существует множество онлайн-курсов и ресурсов, которые помогут вам приобрести необходимые знания и навыки.

Эти источники позволяют выбрать наиболее подходящий подход к обучению и материалы для своего учебного процесса. Некоторые из них включают в себя курсы по Docker, Kubernetes, Ansible, Jenkins, Git и другим инструментам, необходимым для успешной работы в области DevOps.

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

В статье я собрал большой список курсов, книг, репозиториев и ресурсов, которые помогут вам стать DevOps-инженером🧑‍💻.

Читать далее
Total votes 33: ↑28 and ↓5+23
Comments3

Как в Node.js контролировать потребление памяти при обработке сетевых запросов

Level of difficultyMedium
Reading time10 min
Views6.2K

Всем привет! Я Виктор Кугай, руководитель команды разработки спецпроектов в Тинькофф. Мы создаем геймификационные проекты, основанные на данных, чтобы познакомить пользователей с экосистемой компании и повысить узнаваемость бренда.

Расскажу, как с помощью Node.js Streams и механизма Back Pressure протокола TCP реализовать пакетную обработку сотен гигабайтов данных на машинах с жестким лимитом памяти.

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

Автоматизация Instagram

Reading time8 min
Views9.1K

По работе попалась интересная задача по автоматизации Instagram, а именно надо было просто провести розыгрыш. Сервисов для организации этой затеи достаточно, есть даже бесплатные. Но были дополнительные (читай премиум) условия, к тому же мне очень захотелось самому посмотреть, что там внутри этой популярной инстаграмы и быть может набраться опыта в построении API.

Первым делом пошел смотреть что там говорят интернеты. Чтение официальных доков по API instagram дали четко понять, что владельцы не хотят давать доступ к неограниченной автоматизации, можно автоматизировать работу со своим аккаунтом в базовом варианте, но это не подходило под мою задачу, а "бизнес" вариант API требовал верификации компании, что естественно мне не подходит. (Может быть уже что-то изменилось …)

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments4

Go? Bash! Встречайте shell-operator (обзор и видео доклада с KubeCon EU'2020)

Reading time10 min
Views7.6K
В этом году главная европейская конференция по Kubernetes — KubeCon + CloudNativeCon Europe 2020 — была виртуальной. Впрочем, такая смена формата не помешала нам выступить с давно запланированным докладом «Go? Bash! Meet the Shell-operator», посвящённым нашему Open Source-проекту shell-operator.

В этой статье, написанной по мотивам выступления, представлен подход к упрощению процесса создания операторов для Kubernetes и показано, как с минимальными усилиями при помощи shell-operator'а можно сделать свой собственный.



Представляем видео с докладом (~23 минуты на английском, заметно информативнее статьи) и основную выжимку из него в текстовом виде. Поехали!
Total votes 40: ↑39 and ↓1+38
Comments4

gogrep: структурный поиск и замена Go кода

Reading time6 min
Views5.5K

gogrep — это одна из моих любимых утилит для работы с Go. Она позволяет находить код по синтаксическим шаблонам, фильтровать результаты по типам выражений, а также выполнять замену (тоже по шаблону).


В этой заметке я расскажу как использовать gogrep, а также о VS Code расширении для более удобной работы с gogrep прямо из редактора.


Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments2

Материалы митапа GOnline: дизайн библиотек, кодогенерация, машинное обучение

Reading time3 min
Views5.3K

Делимся материалами с нашего совместного митапа с сообществами GolangKazan и Go Yola для Go-разработчиков. Под катом — видеозаписи выступлений с таймкодами для удобной навигации и ссылки на презентации спикеров.


Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments0

Единственно верный способ загружать и скачивать файлы в Selenium тестах

Reading time4 min
Views52K

image


Selenium WebDriver создавался как кросс-платформенный инструмент для управления веб браузерами. И вот уже почти 14 лет он делает эту работу очень и очень хорошо. Впрочем, автотесты из реального мира создают ситуации, в которых Selenium бессилен. Например, по сценарию нужно загрузить или скачать какой-либо файл. После нажатия кнопки "Загрузить" или "Скачать", поверх окна браузера появляется окно файлового менеджера операционной системы к которому Selenium уже не имеет доступа. Тест останавливается.


Я слышал рекомендации использовать утилиты типа AutoIt или Sikuli для работы с такими системными окнами. Мой совет — никогда так не делайте, это порочная практика, которая приводит к нестабильным тестам:


  • Такое решение не кросс-платформенное. Приходится изобретать свой велосипед для каждой новой операционной системы.
  • Хрупкое. Нет гарантии, что скрипт будет работать корректно если на машине открыто несколько браузеров.
  • Это делает невозможным использование headless режима браузера

Меня зовут Ярослав Пернеровский. Я уже 15 лет в тестировании и около 8 лет в автоматизации. Сейчас я расскажу как нужно правильно обрабатывать такие ситуации.

Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments17

45 youtube-каналов на английском языке для ИТ-специалистов

Reading time4 min
Views24K
Хотела узнать, что смотрят коллеги (кроме нетфликсов и амедиатек), провела опрос. Результат получился неожиданный. Я думала, ну, соберу каналов 10, которые смотрят все ИТ-специалисты. Не тут-то было! Во-первых, каналов получилось в 10 раз больше, чем я предполагала. Во-вторых, 80% из них — на английском языке. В-третьих, смотрят коллеги далеко не только каналы о программировании, но и о математике, науке, космосе, истории.
Вот вам подборка из 45 интересных, по мнению коллег из EPAM, youtube-каналов на английском языке.


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

Удалёнка. 15 правил для тех, кто никогда не пробовал, но приспичило

Reading time6 min
Views54K
Удалённая работа — это отлично. Грустно может быть только если вы никогда так не работали, а сейчас пришлось. Но в этом тоже ничего страшного, главное — соблюдать простые правила.

Из-за сами знаете чего мы всей HTML Academy покинули офис и дружно сидим по домам (своим), поэтому я собрал от всех по пять советов для начинающих удалёнщиков, заботливо отсортировал и перемешал результат с фотографиями рабочих мест. Читайте, смотрите, вдохновляйтесь и работайте. Удалёнка — норм! 
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments28

Эффективная работа из дома: общее и личное

Reading time9 min
Views83K


Моё домашнее рабочее место


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


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


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

Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments65

Красочные адресные светодиоды на новый год без программирования и пайки

Reading time7 min
Views45K

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



Рассмотрю два варианта — отдельно без существующей домашней автоматизации и работу в связке с “умным домом”.

Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments31

Зомби, которые съедают вашу память

Reading time8 min
Views72K
Что бы вы там себе не думали, а зомби существуют. И они действительно едят мозги. Не человеческие, правда, а компьютерные. Я говорю сейчас о зомби-процессах и потребляемых ими ресурсах. Это будет душераздирающая история о потерянных и снова найденных 32 ГБ оперативной памяти. Возможно, лишь некоторые из вас столкнутся с точно такой же проблемой, но если вдруг это произойдёт — у вас хотя бы будет шанс понять, что происходит.

Начнём с того, что компьютеры под управлением ОС Windows склонны со временем терять память. Ну, по крайней мере, у меня, при моём способе ими пользоваться. После пары недель без перезагрузок (или, например, всего одного уикэнда за который я 300 раз пересобрал Хром) я стал замечать, что диспетчер задач начинает показывать мне очень маленькое количество свободной оперативной памяти, но в то же время в системе нет никаких процессов, которые эту самую память активно используют. В том примере выше (с 300 сборками Хрома) диспетчер задач сказал мне, что в системе занято 49.8 ГБ плюс ещё 4.4 ГБ памяти сжато — но при этом запущено всего несколько процессов, и все они в сумме даже и близко не используют столько памяти:

image

В моём компьютере 96 ГБ оперативной памяти (да, я счастливчик) и когда у меня нет вообще никаких запущенных процессов — я, знаете ли, хотел бы видеть ну хотя бы половину этой памяти свободной. Я правда рассчитываю на это. Но иногда этого достичь не удаётся и мне приходится перезагружать ОС. Ядро Windows написано качественно и надёжно (без шуток), так что память не должна бы пропадать бесследно. Но всё же она пропадает.
Читать дальше →
Total votes 98: ↑98 and ↓0+98
Comments92

Тяжелое расставание с Net-Tools

Reading time7 min
Views100K

Не секрет, что Net-Tools пора на почетную отставку. Да, многим админам и мне в том числе, до условного рефлекса Павлова знакомы команды ifconfig, route, netstat. На первый взгляд нет причин что-то менять, а лучшее как всегда враг хорошего.




Давайте узнаем почему Net-Tools уже не тот и как безболезненно с него перейти на iproute2 .

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

Практический опыт использования настоящего HotSwap

Reading time2 min
Views28K
Когда мы программируем, отлаживаем код, ищем пресловутый «баг», зачастую возникает ситуация, когда приходится перезапускать сервер приложений, чтобы увидеть наши изменения. Это приводит к тому, что нам приходится выходить из «потока», разрушать наш хрупкий песочный замок нейронных связей. Отвлекаться от текущей задачи и ждать-ждать-ждать, когда на сервере приложений будут доступны наши изменения. Порой это так утомительно… Как было бы здорово, сделать «горячую» замену измененных классов и сразу увидеть результат.

image
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments17

Кодогенерация, Selenoid, HtmlElements в работе автотестировщика

Reading time2 min
Views9K


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

Смотреть
Total votes 17: ↑17 and ↓0+17
Comments8

Maven. Собираем только измененное

Reading time6 min
Views9K

Работая в многомодульном maven проекте, зачастую приходится вносить изменения в несколько связанных модулей одновременно. И если хочется собрать только задетые модули, то к сожалению maven не предоставляет ничего автоматического. Если чуть погуглить, то на stackoverflow можно найти простое однострочное решение:


mvn install -amd -pl $(svn st | colrm 1 8 | sed 's /.*  ' | xargs echo | sed 's- -,:-g' | sed 's ^ : ')

На этом можно было бы и закончить. Но мне хотелось большего — чего конкретнее и как я этого добивался под катом.

Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments13

Разрешение имен доменов из контейнеров Docker в сложных случаях

Reading time5 min
Views39K
В вопросе связанном с DNS попил мне Docker кровушки основательно, ибо столько там разных мест в которых тебе предлагают написать заветные цифры, что прямо-таки глаза разбегаются.

Итак, задача: необходимо поднять окружение разработчика для одновременной работы с несколькими веб-проектами висящими на доменах вида example.app. При этом данные домены должны быть доступны из контейнеров, с хоста, а также, например, из эмулятора Genymotion. Кроме того, из контейнеров должен быть доступен и внешний интернет. Все это усугубляется корпоративным Intranet со своим внутренним DNS сервером.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments6

Техника безопасности при работе с PostgreSQL

Reading time7 min
Views27K
Так получилось, что я начал работать с PostgreSQL три года назад и за это время умудрился методично собрать все возможные грабли, которые можно вообразить. И сказать по правде, если бы была возможность поделиться с собой трехлетней давности нынешним горьким опытом, моя жизнь была бы куда проще и нервные клетки целее. Именно поэтому я решил написать абсолютно субъективную статью со сводом правил, которых придерживаюсь при разработке на PostgreSQL. Возможно, кому-то эта статья поможет обойти собранные мной грабли (и наступить на другие, ха-ха!).


Читать дальше →
Total votes 75: ↑71 and ↓4+67
Comments43

Новый L4 Load Balancer с нативной реализацией SRV record service discovery и Docker API service Discovery

Reading time4 min
Views8.9K

Как все начиналось


В ходе работы с микросервисами мы неоднократно сталкивались с проблемами сервис дискавери при автоскелинге, схлопывании лишних нод.


Были перепробованы почти все решения существовавшие или существующие на данный момент, но как водится — ничего не ложилось идеально на наши динамичные окружения (десятки остановок/запусков однотипных контейнеров в час). Наиболее близкое решение было NGINX+Consul+Consul templates, но оно было некрасивым, требовало перезапуска, не давало возможности использовать внешние хелсчеки иначе как через Consul.


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

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

«Щадящая» балансировка между несколькими провайдерами на офисном шлюзе

Reading time9 min
Views21K
Эта статья описывает конфигурацию шлюза под управлением Linux для балансировки трафика между каналами разных провайдеров.


Результат, достигаемый в этом руководстве, отличается от результата подобных руководств: для каждого клиента используется один и тот же внешний IP-адрес, что избавляет от проблем с интернет-сервисами, которые не готовы к смене IP-адреса клиента в рамках одной сессии.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments19
1
23 ...

Information

Rating
Does not participate
Works in
Date of birth
Registered
Activity