Как стать автором
Обновить
0
0
Анатолий @atpshnik

Java Developer

Отправить сообщение

Погружаемся в Kubernetes: полезные материалы от сотрудников Selectel

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров9.2K

Часто новичкам сложно начать работу с Kubernetes. Нужно перебрать с десяток курсов, прежде чем они найдут действительно полезные материалы. Чтобы помочь вам с выбором, мы попросили коллег порекомендовать ресурсы для изучения Kubernetes. Сохраняйте в закладки: пригодится начинающим разработчикам, администраторам и DevOps-инженерам.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии0

Запускаем PostgreSQL в Docker: от простого к сложному

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров456K

О простых и продвинутых способах запуска PostgreSQL в Docker: добавляем healthcheck, ставим на мониторинг, настраиваем параметры.

Читать далее
Всего голосов 39: ↑37 и ↓2+35
Комментарии38

Передовой опыт тестирования в Java

Время на прочтение20 мин
Количество просмотров26K


Чтобы покрытие кода было достаточным, а создание нового функционала и рефакторинг старого проходили без страха что-то сломать, тесты должны быть поддерживаемыми и легко читаемыми. В этой статье я расскажу о множестве приёмов написания юнит- и интеграционных тестов на Java, собранных мной за несколько лет. Я буду опираться на современные технологии: JUnit5, AssertJ, Testcontainers, а также не обойду вниманием Kotlin. Некоторые советы покажутся вам очевидными, другие могут идти вразрез с тем, что вы читали в книгах о разработке ПО и тестировании.
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии23

Несколько советов по работе с CORS для начинающих разработчиков

Время на прочтение8 мин
Количество просмотров68K

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

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

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии2

Kubernetes для самых маленьких

Время на прочтение14 мин
Количество просмотров23K

Сегодня Вы узнаете, как онлайн, с смс и регистрацией задеплоить своё приложение в kubernetes. Поехали!

Го
Всего голосов 7: ↑4 и ↓3+1
Комментарии1

Создание очередей с низкой задержкой размером в терабайт

Время на прочтение5 мин
Количество просмотров6.1K

Очереди часто являются фундаментальными компонентами в паттернах проектирования программного обеспечения.

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

Java может хранить ограниченное количество информации, пока куча не станет ограничивающим фактором, в результате чего сборка мусора будет иметь большие последствия, что потенциально может помешать нам выполнить целевые SLA (соглашения об уровне обслуживания) или даже остановить JVM на секунды или даже минуты.

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

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии2

Чем различаются Kafka и RabbitMQ: простыми словами

Время на прочтение8 мин
Количество просмотров75K

Программные брокеры сообщения уже стали стандартом при построении больших и сложных систем. Однако до сих пор не все ИТ-специалисты понимают, как работают эти инструменты. Главный системный аналитик «Иннотех» Павел Малыгин помогает разобраться в брокерах сообщениях и их работе.

Читать далее
Всего голосов 61: ↑58 и ↓3+55
Комментарии33

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

Время на прочтение13 мин
Количество просмотров32K

Моя история о том, как бывший школьник открыл видеосалон.Конец 80х начало 90х окунул меня в мир видеокассет VHS. За окончание школы Батя купил мне видеомагнитофон Aiwa DK510. У товарища появился видеомагнитофон Электроника ВМ-12 и мы открыли в подвале видеосалон. Первая половина дня у меня проходила в техникуме, а вторая половина благодаря компании JVC проходило в мире видео.

Читать далее
Всего голосов 63: ↑60 и ↓3+57
Комментарии142

Разбираем модульный марсоход от «Сколтеха», состоящий из четырёх двухколёсных роботов

Время на прочтение7 мин
Количество просмотров3.6K

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

Читать далее
Всего голосов 24: ↑21 и ↓3+18
Комментарии24

Java 17 для тех, кто не следил. Часть 1

Время на прочтение28 мин
Количество просмотров32K


Уже вышла Java 18, но для всех, кто сидит на LTS, по-прежнему остаётся актуальной версия 17. Такие люди могут не отслеживать постоянно фичи каждой новой версии, а спокойно заниматься своими делами и иногда навёрстывать сразу всё.


И как раз на такое «навёрстывание» рассчитан доклад Тагира Валеева (tagir_valeev), с которым он осенью выступил на нашем мероприятии TechTrain. Люди, которые в последние годы тщательно отслеживали все новинки в Java, тут особо много нового не узнают. Зато для остальных это удобный единый ликбез по главным вещам сразу нескольких версий: от запечатанных классов до того, почему молодёжь может зарофлить над вами из-за префиксов get и is.


Поэтому в преддверии нового TechTrain и Java-конференции JPoint мы решили сделать для Хабра текстовую версию доклада. В этом посте речь идёт о языковых фичах, а отдельно опубликуем часть про изменения в API. Далее повествование идёт от лица спикера.

Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии13

Лучшие книги по Apache Kafka

Время на прочтение15 мин
Количество просмотров26K

«Effective Kafka: A Hands-on Guide to Building Robust and Scalable Event-Driven Applications», «Kafka: The Definitive Guide» и другие издания.

В этой статье я расскажу, как изучал Apache Kafka и с какими трудностями столкнулся. Я очень надеюсь, что мои наблюдения помогут тем, кто ещё только приступает к знакомству с платформой. Здесь мы обсудим полезные ресурсы, в основном, книги, которые я прочитал, и мой опыт с платформой#nbsp;— до чтения книг и после.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии3

«Леди Колец» и юная «мадонна с младенцем» из Геркуланума. Жертвы Везувия

Время на прочтение3 мин
Количество просмотров31K

Автор: Лысый Камрад (@LKamrad)

Эта фотография обошла весь мир. Наверное, нет популярного интернет-ресурса, где бы его не опубликовали. Женщина с золотыми кольцами (Леди Колец) - жертва извержения Везувия 79 года нашей эры. Но вглядитесь внимательней в фотографию и вы поймете - здесь явно что-то не так.

Кто-то даже спрашивал меня: "А что мог значить обычай носить два кольца на одном пальце?"

Читать далее
Всего голосов 115: ↑109 и ↓6+103
Комментарии30

Бывших не бывает. Как опыт спортивного программирования влияет на работу с реальным кодом

Время на прочтение8 мин
Количество просмотров8.7K

Большинство соревнований для программистов требуют максимально быстрого решения и реализации алгоритмических задач на любом из языков программирования. Среди мобильных разработчиков популярны хакатоны, но сегодня речь пойдет о контестах. Наиболее известные из них – Codeforces Rounds, VK Cup Engine, ACM ICPC. Мы поговорим о том, как они устроены, какие плюсы и минусы есть у разработчиков с «олимпиадным» бэкграундом и как этот опыт влияет на работу с коммерческими задачами в мобильной разработке.

Читать далее
Всего голосов 15: ↑11 и ↓4+7
Комментарии10

Способ качественно изучить паттерны проектирования

Время на прочтение4 мин
Количество просмотров32K

Привет, Хабр! Когда я изучал паттерны проектирования, я делал это с помощью прочтения двух книг: простую и понятную книгу от Head First одновременно со сложной и менее понятной книгой от Банды Четырех. Ниже описан мой опыт того, как именно я это делал, плюс выводы, впечатления и советы

Читать далее
Всего голосов 22: ↑18 и ↓4+14
Комментарии15

Apache Kafka + Spring Boot: Hello, microservices

Время на прочтение12 мин
Количество просмотров125K
Привет, Хабр! В этом посте мы напишем приложение на Spring Boot 2 с использованием Apache Kafka под Linux, от установки JRE до работающего микросервисного приложения.

Коллеги из отдела фронтэнд-разработки, увидевшие статью, сетуют на то, что я не объясняю, что такое Apache Kafka и Spring Boot. Я полагаю, что всякий, кому понадобится собрать готовый проект с использованием вышеперечисленных технологий, знают, что это и зачем они им нужны. Если для читателя вопрос не праздный, вот отличные статьи на Хабре, что такое Apache Kafka и Spring Boot.

Мы же обойдёмся без пространных объяснений, что такое Kafka, Spring Boot и Linux, а вместо этого запустим Kafka-сервер с нуля на Linux-машине, напишем два микросервиса и сделаем так, чтобы одно из них посылало сообщения на другое — в общем, настроим полноценную микросервисную архитектуру.



Пост будет состоять из двух разделов. В первом мы настроим и запустим Apache Kafka на Linux-машине, во втором — напишем два микросервиса на Java.
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии3

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

Время на прочтение8 мин
Количество просмотров28K

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

В статье собраны самые полезные ссылки для изучения английского языка с удовольствием!

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

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

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

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии9

Решил 50 задач и ответил на вопрос — Python или JavaScript?

Время на прочтение28 мин
Количество просмотров50K


Привет, друзья!


Я — JavaScript-разработчик. Код пишу в основном на React (иногда на Vue), немного на TypeScript, немного на Node, немного знаю SQL, но...


  • со мной работает много людей, которые пишут код на Python
  • вокруг много разговоров про Python
  • повсюду преподают Python
  • Яндекс любит Python (раньше Гугл тоже его любил, но теперь у него есть Go)

Короче говоря, сложно было не заинтересоваться Python.


Как известно, лучший способ научиться "кодить" — это писать код.


Предлагаю вашему вниманию 50 популярных в сфере программирования задач, решенных с помощью Python и JavaScript.


Цель — сравнить языки на предмет предоставляемых ими возможностей.


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


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

Читать дальше →
Всего голосов 28: ↑16 и ↓12+4
Комментарии54

Работа с Java в командной строке

Время на прочтение11 мин
Количество просмотров642K
Сейчас уже никто не создает программы в консоли. Используя любимую IDE, разработчик чувствует себя неуютно за чужим компьютером, где её нет.
Решив разобраться в работе Ant и Maven, я поймал себя на том, что не смогу собрать приложение без них в консоли.
В данной статье я постарался уместить все этапы проектирования демонстрационного приложения, чтобы не искать справку по каждой команде на просторах Интернета.
Читать дальше →
Всего голосов 75: ↑71 и ↓4+67
Комментарии25

Эволюция Docker. Часть 1

Время на прочтение14 мин
Количество просмотров20K

20 марта 2013 года на конференции PyCon 2013, Соломон Хайкс (CEO компании dotCloud) выступил с пятиминутной презентацией The future of Linux Containers. В ней широкой общественности впервые была представлена внутренняя разработка компании dotCloud под названием Docker, а спустя несколько дней ее исходный код был выложен в открытый доступ. Хотя технологии LXC и Aufs, на которых была основана первая версия Docker существовали и активно использовались уже порядка пяти лет, но именно появление Docker послужило началом стремительного роста и эволюции систем контейнеризации, что кардинально преобразило многие процессы разработки и деплоймента программного обеспечения.

Этой статьей я собираюсь начать небольшой цикл посвященный изучению развития исходного кода Docker на протяжении нескольких лет. В первой части мы посмотрим на то, что представлял собой код на момент создания git репозитория датированного январем 2013 года. Тогда исходный код Docker (за исключением тестов) состоял всего из шести файлов общим объемом ~600 строк кода, написанных на языке Go. Это больше походило на библиотеку/api, функционал которой состоял лишь в создании, удалении, запуске и остановке контейнеров. Мы разберем принцип работы и даже сможем запустить с ее помощью подготовленный контейнер. 

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

Читать далее
Всего голосов 24: ↑23 и ↓1+22
Комментарии5

Полное практическое руководство по Docker: с нуля до кластера на AWS

Время на прочтение39 мин
Количество просмотров1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


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



Ого! Как много информации.

Читать дальше →
Всего голосов 125: ↑124 и ↓1+123
Комментарии44
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Technical Support Engineer
Lead
Git
SQL
Linux
Java
Bash
Ubuntu
OOP
Java Spring Framework
PostgreSQL
REST