Pull to refresh
16
0

Разработчик

Send message

Technical debt mini-guide. How to pay it off

Reading time 7 min
Views 2.2K

In this article, I want to describe my experience of paying off technical debt on our project in the form of a guide. In this guide, I will highlight some of the most common cases of technical debt and suggest methods for solving them. Since this is a rather extensive topic, I will recommend several books for study, because I do not see it possible to talk about everything within the framework of this article. Everything described applies to the BackEnd part, but it may be suitable for other developers. I would be glad if you share your experience on this topic in the comments.

Read more
Total votes 3: ↑3 and ↓0 +3
Comments 0

Честно об уровнях знания языка/владения языком + о системе языкового образования и её связи с IT | English with Grisha

Reading time 14 min
Views 9.3K

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

Немного обо мне. Я занимаюсь преподаванием английского уже 7 лет, последние три года я сотрудничаю с одной из языковых школ. В общей сложности я взаимодействовал с 5-ю различными языковыми школами, в том числе иностранными. Также я веду телеграм-канал о собственной методике изучения английского.

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

Итак, преподаватель-новичок, не важно, есть ли у него педагогическое образование или нет, при поступлении на работу в любую современную языковую школу должен будет пройти курс подготовки, в котором ему с благой улыбкой на лице рассказывают, что есть стандарт, по которому в наши дни планируются все программы обучения любому европейскому языку, так называемый CEFR или Common European Framework of Reference for Languages. Переводится это как «Общеевропейские рамки компетенций владения иностранным языком». Преподавателю, конечно, рекомендуют ознакомиться с этим основополагающим документом. Так давайте с ним и ознакомимся.

Читать далее
Total votes 18: ↑12 and ↓6 +6
Comments 15

Укрощение строптивых: как управлять конфликтами

Reading time 9 min
Views 14K

Привет! Я Иван Антипин, директор департамента разработки в AGIMA. В любой команде время от времени вспыхивают конфликты — и на их решение уходит много времени. Но я уверен, что жалеть об этом времени не нужно. Конфликты открывают новые перспективы: если грамотно ими управлять, они помогает коллективу развиваться и преодолевать трудности. В этой статье я расскажу, как тимлиду вести себя, если команду штормит или если он сам стал участником столкновения.

Читать далее
Total votes 31: ↑28 and ↓3 +25
Comments 15

Можно ли измерить эффективность работы Scrum-мастера?

Reading time 8 min
Views 3.1K

Можно сказать, что на данный момент самый распространенный подход в гибкой адаптивной разработке продуктов - Scrum. Одна из ролей в Scrum - собственно Scrum-мастер. Роль, в зоне ответственности которой лежит обучение команды, правильная настройка процессов в команде, выявление и устранение препятствий в работе.
Если руководство и команда не обладают опытом в работе по Scrum, можно ли понять вообще, чем на практике должен заниматься Scrum-мастер, эффективно ли он выполняет свою работу?

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

Hibernate Best Practices для начинающих

Reading time 7 min
Views 24K

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

Читать далее
Total votes 19: ↑13 and ↓6 +7
Comments 25

Как поставить мини IT продукт на технологичные рельсы

Reading time 2 min
Views 1.2K

Договариваемся о ценностях в работе и о других правилах игры > Группа в Telegram на всех причастных > Lean Canvas > Решение технических моментов с инструментами > OKR сессия > Архитектурная сессия > Этап выработки операционного ритма и политики качества > Формирование бэклога и планирование 1 спринта > Подготовка к старту > Enjoy 🚀

Читать далее
Total votes 4: ↑1 and ↓3 -2
Comments 0

Мотивирующая памятка пенсионерам

Reading time 7 min
Views 28K
Недавно я поздравлял свою маму с Днем Рождения. Делал я это подборкой мотивирующих научных статей по возрастной физиологии мозга плюс бонусом давал некоторые наставления в своем химическом телеграм-канале (мама, кстати, старейший подписчик :). Мои рекомендации «пенсионеру — от гика» так понравились читателям и собрали столько репостов, что я решил материал озвучить с хабра-трибуны. Ищем все под катом.


Прочитать и не забыть переслать родителям...
Total votes 85: ↑81 and ↓4 +77
Comments 50

Инструменты тестирования Java: 10 лучших практик написания тест-кейсов

Reading time 10 min
Views 22K

О чем рассказывается в этой статье:

Станьте экспертом в разработке Java - научитесь тестировать
Почему программистам важно разбираться в Java тестировании?
Методы тестирования для Java
Почему модульное тестирование так важно?
Фреймворки модульного тестирования для Java
Как написать тест-кейс JUnit
С помощью автоматизации модульное тестирование становится лучше
Сделать тестирование Java проще и легче с помощью искусственного интеллекта
Тестирование безопасности в Java
Выводы о Java тестировании

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

Переусложнение может погубить ваш продукт

Reading time 7 min
Views 3.4K
Эта статья предназначается не только для менеджеров продуктов. Основатели компаний, инвесторы и люди других профессий, которые в достаточной степени заинтересованы в каком-либо цифровом продукте, тоже смогут извлечь из нее пользу. Я так считаю, потому что проблема, которая будет обсуждаться – пересуложнение – одна из наиболее распространенных в разработке. По моему мнению, перусложнение чаще убивает продукты, чем плохие практики программирования.

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

Так что мои рассуждения о переусложнении – это не взгляд со стороны. Я и сам в этом отношении не без греха, и от чужих ошибок тоже доводилось страдать. Поэтому я хорошо понимаю, что это такое, во что обходится командам и как этого избежать.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 3

Проектирование надёжности сайта для Kubernetes

Reading time 11 min
Views 3.5K

За последние 4,5 года Kubernetes значительно улучшилась с точки зрения удобства использования, и теперь начать работу с Kubernetes стало проще, чем когда-либо. Облачные провайдеры, такие как Amazon AWS, теперь располагают продуктами Kubernetes, которые создают кластеры для вас и управляют ими. Это существенное преимущество по сравнению с созданием собственного кластера Kubernetes.

Один из самых заметных сдвигов в нашей отрасли, который я наблюдал за последние 2 года, заключается в том, что теперь все больше компаний используют Kubernetes в своих производственных нагрузках. Именно сейчас все становится интересным для SRE. Мы получаем возможность учиться друг у друга, обсуждать общие проблемы в области надежности и делиться ее принципами, которым нужно следовать, чтобы укрепить кластеры Kubernetes.

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

Разработчики не могут исправить ошибки управленцев

Reading time 8 min
Views 8.1K
Мне постоянно попадаются статьи, в которых разработчиков упрекают за нежелание вникать, зачем нужна их работа, и доказывают им, что это неправильно – вслепую вносить изменения, не разбираясь, какая за этим стоит цель. Звучат призывы в духе «оглянитесь вокруг, не уходите с головой в написание кода!». На мой взгляд, эти статьи обращены не к тем людям.

В большинстве компаний ответственность за то, что разработчики оказываются отрезаны от пользователей и их нужд, лежит на руководстве. Если кто не знал: разработчики ничего не имеют против того, чтобы создавать крутые программные решения под реальные потребности, и наоборот, перспектива тратить время на то, что никому не нужно, как минимум не вызывает у них энтузиазма, а то и действует на нервы. Ну то есть, процесс написания программ разработчикам и сам по себе нравится, поэтому пока можно получать деньги за код и никаких более привлекательных вариантов не наблюдается, они будут продолжать работать. Однако как только представится возможность заняться чем-то более осмысленным с сохранением оплаты, машины на автопилоте делать, допустим, или инсулиновую помпу закрытого цикла, – только вы их и видели.
Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Comments 8

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

Reading time 7 min
Views 9.3K

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

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

Осторожно, много тяжелых красивых картинок
Total votes 51: ↑50 and ↓1 +49
Comments 9

Дорожная карта развития продукта: Курс «Создание программного продукта и управление его развитием»

Reading time 9 min
Views 12K
Привет, Хабр! Мы продолжаем серию материалов, посвященных продуктовому менеджменту. В этом посте мы обсудим, как продуктовый менеджер определяет, что попадет в дорожную карту, и как заниматься приоритизацией бэклога. Все подробности — под катом.


Total votes 22: ↑21 and ↓1 +20
Comments 4

Проект длиной в 8 лет — знал бы, ни за что не ввязался: свой 2-тактный мотор

Reading time 8 min
Views 116K
Когда-то давно я понял, что мне мотора Иж Планета не хватает и я решил радикально модифицировать его — сделать собственный цилиндр. По ходу сменился даже мотор. За его время я успел закончить школу, поступить в один вуз, вылететь и каким-то чудом перевестись в другой и отучиться там еще 5 лет и все равно я закончил и его уже два года назад. Знал бы я, что так оно растянется, наверное, не ввязался бы. Поскольку мы воспринимаем время относительно прожитого в сознательном возрасте, то для меня оно растянулось на половину прожитого времени.

Прошло уже 6 лет с момента выхода первой и последней заметки по этому проекту(Свой 2-тактный мотор. CR620 рекомендуется к ознакомлению). Тогда я остановился из-за проблем с аутсорсом в металлообработке. Кто не может, кто не хочет, кто делает бесконечно долго, кто и детали назад возвращать не хочет. А город в котором я живу имеет славную промышленную историю и был центром Петровской индустрии 18-века, но от славного прошлого ныне остался один корень в названии города и несколько действующих предприятий, на которых занято порядка единиц процентов населения. А сейчас не 90-е и даже не 00-е, когда можно было договорится с человеком с завода чтобы он что-то такое эдакое для тебя сделал. Теперь у них есть работа и КПП на входе, как я потом узнал — номинальное. Вся эта история с передачей деталей где они лежат, а не делаются, поиск новых мест и тому подобное блуждание длилась несколько лет. Оказалось, что отлить сложную алюминиевую отливку у сарая на родительской даче я смог, а обработать, что не выглядело проблемой изначально — нет.

Читать дальше →
Total votes 254: ↑253 and ↓1 +252
Comments 108

Введение в асинхронное программирование на Python

Reading time 8 min
Views 57K
Всем привет. Подготовили перевод интересной статьи в преддверии старта базового курса «Разработчик Python».




Введение


Асинхронное программирование – это вид параллельного программирования, в котором какая-либо единица работы может выполняться отдельно от основного потока выполнения приложения. Когда работа завершается, основной поток получает уведомление о завершении рабочего потока или произошедшей ошибке. У такого подхода есть множество преимуществ, таких как повышение производительности приложений и повышение скорости отклика.



В последние несколько лет асинхронное программирование привлекло к себе пристальное внимание, и на то есть причины. Несмотря на то, что этот вид программирования может быть сложнее традиционного последовательного выполнения, он гораздо более эффективен.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 1

Аутентификация REST API с помощью Spring Security и MongoDB

Reading time 11 min
Views 44K
Всем привет! Уходя на выходные делимся с вами статьей, которая была переведена в преддверии старта курса «Разработчик на Spring Framework».





В прошлых статьях мы создавали RESTful веб-сервис, теперь же мы поговорим о безопасности

Вступление


В предыдущем посте мы рассмотрели, как создать REST API с использованием инфраструктуры Java Spring Boot и MongoDB. API, однако, не требовал никакой аутентификации, а это значит, что он, вероятно, все еще не готов к использованию. Поэтому в этом руководстве будет рассказано, как использовать встроенную среду безопасности Spring для добавления уровня аутентификации в этот API.
Читать дальше →
Total votes 14: ↑10 and ↓4 +6
Comments 4

Как и зачем мы мигрировали Preply в Kubernetes

Reading time 6 min
Views 3.8K

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


Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 5

Система управления конфигурацией сети фильтрации Qrator

Reading time 6 min
Views 2.8K


TL;DR: Описание клиент-серверной архитектуры нашей внутренней системы управления конфигурацией сети, QControl. В основе лежит двухуровневый транспортный протокол, работающий с упакованными в gzip сообщениями без декомпрессии между эндпойнтами. Распределенные роутеры и эндпойнты получают конфигурационные апдейты, а сам протокол позволяет установку локализованных промежуточных релеев. Система построена по принципу дифференциального бэкапа (“recent-stable”, объясняется ниже) и задействует язык запросов JMESpath вместе с шаблонизатором Jinja для рендера конфигурационных файлов.

Qrator Labs управляет глобально распределенной сетью нейтрализации атак. Наша сеть работает по принципу anycast, а подсети анонсируются посредством BGP. Будучи BGP anycast-сетью, физически расположенной в нескольких регионах Земли мы можем обработать и отфильтровать нелегитимный трафик ближе к ядру интернета — Tier-1 операторам.

С другой стороны, быть географически распределенной сетью непросто. Коммуникация между сетевыми точками присутствия критически важна для провайдера услуг безопасности, для того чтобы иметь согласованную конфигурацию всех узлов сети, обновляя их своевременным образом. Поэтому с целью предоставить максимальный возможный уровень основной услуги для потребителя нам необходимо было найти способ надежно синхронизировать конфигурационные данные между континентами.
В начале было Слово. Оно быстро стало коммуникационным протоколом, нуждающимся в апдейте.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 0

JMeter — швейцарский нож тестировщика (Часть 2)

Reading time 5 min
Views 7.8K
Сегодня расскажу, как мы с помощью JMeter’а наладили процесс кэширования продуктовых страниц, проверили работу мобильного приложения без самого приложения и создали 2000 юзеров в системе без доступа к базе данных.

Кто не в курсе, что здесь происходит, читайте первую часть статьи — в ней я рассказал, как JMeter помог нам «поймать» проблему с падением сайта у части пользователей.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 2

Не читайте, перечитывайте

Reading time 3 min
Views 13K
Будет справедливо, если вы спросите меня, почему сегодня утром я читаю письмо, адресованное не мне, или почему я прочитал его дважды, про себя и вслух, или почему я сделал это уже третий раз на этой неделе.

«Удивительно, но человек не может читать книгу: он может только перечитывать ее», утверждает Владимир Набоков, творчество которого я изучал в своей дипломной работе несколько лет назад. Он продолжает, «Хороший читатель, крупный читатель, активный и творческий читатель, это перечитыватель», и далее отстаивает свое мнение с позиций искусства: чтобы насладиться книгой и оценить ее по достоинству, читатель должен быть способен почувствовать ее так, как общаются с произведением живописи: вне линейного отрезка времени, а разом, что возможно только тогда, когда читатель знает все части книги достаточно хорошо, чтобы осмыслить ее как совместное целое*.

*Владимир Набоков Лекции по зарубежной литературе
Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Comments 12

Information

Rating
Does not participate
Location
Омск, Омская обл., Россия
Date of birth
Registered
Activity