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.
Разработчик
Честно об уровнях знания языка/владения языком + о системе языкового образования и её связи с IT | English with Grisha
Добрый день! Недавно я прочитал статью об английских артиклях на данной платформе, и она вдохновила меня на публикацию своих мыслей о системе современного языкового образования. Мне кажется, эта тема будет интересна сообществу Хабр, так как, на мой взгляд, непосредственно связана с компьютерными технологиями и IT-сферой.
Немного обо мне. Я занимаюсь преподаванием английского уже 7 лет, последние три года я сотрудничаю с одной из языковых школ. В общей сложности я взаимодействовал с 5-ю различными языковыми школами, в том числе иностранными. Также я веду телеграм-канал о собственной методике изучения английского.
Конкретно в этой статье я расскажу вам о своём восприятии темы уровней знания языка. Для того чтобы сделать это, я хочу сначала рассказать о том, что представляет из себя опыт любого преподавателя-новичка который первый раз приходит на работу в любую современную языковую школу.
Итак, преподаватель-новичок, не важно, есть ли у него педагогическое образование или нет, при поступлении на работу в любую современную языковую школу должен будет пройти курс подготовки, в котором ему с благой улыбкой на лице рассказывают, что есть стандарт, по которому в наши дни планируются все программы обучения любому европейскому языку, так называемый CEFR или Common European Framework of Reference for Languages. Переводится это как «Общеевропейские рамки компетенций владения иностранным языком». Преподавателю, конечно, рекомендуют ознакомиться с этим основополагающим документом. Так давайте с ним и ознакомимся.
Укрощение строптивых: как управлять конфликтами
Привет! Я Иван Антипин, директор департамента разработки в AGIMA. В любой команде время от времени вспыхивают конфликты — и на их решение уходит много времени. Но я уверен, что жалеть об этом времени не нужно. Конфликты открывают новые перспективы: если грамотно ими управлять, они помогает коллективу развиваться и преодолевать трудности. В этой статье я расскажу, как тимлиду вести себя, если команду штормит или если он сам стал участником столкновения.
Можно ли измерить эффективность работы Scrum-мастера?
Можно сказать, что на данный момент самый распространенный подход в гибкой адаптивной разработке продуктов - Scrum. Одна из ролей в Scrum - собственно Scrum-мастер. Роль, в зоне ответственности которой лежит обучение команды, правильная настройка процессов в команде, выявление и устранение препятствий в работе.
Если руководство и команда не обладают опытом в работе по Scrum, можно ли понять вообще, чем на практике должен заниматься Scrum-мастер, эффективно ли он выполняет свою работу?
Hibernate Best Practices для начинающих
В данной статье я не ставлю цель подробно описать Hibernate, такого материала полно в сети. Это скорее справочник, в который можно заглянуть и увидеть возможные проблемные места и их решение, который позволит вам не допустить грубых ошибок при использовании Hibernate. Статья рассчитана на читателя уже знакомого с Hibernate и Spring.
Как поставить мини IT продукт на технологичные рельсы
Договариваемся о ценностях в работе и о других правилах игры > Группа в Telegram на всех причастных > Lean Canvas > Решение технических моментов с инструментами > OKR сессия > Архитектурная сессия > Этап выработки операционного ритма и политики качества > Формирование бэклога и планирование 1 спринта > Подготовка к старту > Enjoy 🚀
Мотивирующая памятка пенсионерам
Инструменты тестирования Java: 10 лучших практик написания тест-кейсов
О чем рассказывается в этой статье:
• Станьте экспертом в разработке Java - научитесь тестировать
• Почему программистам важно разбираться в Java тестировании?
• Методы тестирования для Java
• Почему модульное тестирование так важно?
• Фреймворки модульного тестирования для Java
• Как написать тест-кейс JUnit
• С помощью автоматизации модульное тестирование становится лучше
• Сделать тестирование Java проще и легче с помощью искусственного интеллекта
• Тестирование безопасности в Java
• Выводы о Java тестировании
Переусложнение может погубить ваш продукт
Прежде чем пускаться в подробности, позвольте сказать пару слов о собственном опыте. До перехода в менеджеры продуктов я работал программистом. Вообще говоря, даже образование я получал по специальности «информатика». По ходу карьеры я держался ближе к управлению, чем к написанию кода, но мне в равной мере приходилось формировать команды как менеджеров, так и программистов и руководить теми и другими.
Так что мои рассуждения о переусложнении – это не взгляд со стороны. Я и сам в этом отношении не без греха, и от чужих ошибок тоже доводилось страдать. Поэтому я хорошо понимаю, что это такое, во что обходится командам и как этого избежать.
Проектирование надёжности сайта для Kubernetes
За последние 4,5 года Kubernetes значительно улучшилась с точки зрения удобства использования, и теперь начать работу с Kubernetes стало проще, чем когда-либо. Облачные провайдеры, такие как Amazon AWS, теперь располагают продуктами Kubernetes, которые создают кластеры для вас и управляют ими. Это существенное преимущество по сравнению с созданием собственного кластера Kubernetes.
Один из самых заметных сдвигов в нашей отрасли, который я наблюдал за последние 2 года, заключается в том, что теперь все больше компаний используют Kubernetes в своих производственных нагрузках. Именно сейчас все становится интересным для SRE. Мы получаем возможность учиться друг у друга, обсуждать общие проблемы в области надежности и делиться ее принципами, которым нужно следовать, чтобы укрепить кластеры Kubernetes.
Разработчики не могут исправить ошибки управленцев
В большинстве компаний ответственность за то, что разработчики оказываются отрезаны от пользователей и их нужд, лежит на руководстве. Если кто не знал: разработчики ничего не имеют против того, чтобы создавать крутые программные решения под реальные потребности, и наоборот, перспектива тратить время на то, что никому не нужно, как минимум не вызывает у них энтузиазма, а то и действует на нервы. Ну то есть, процесс написания программ разработчикам и сам по себе нравится, поэтому пока можно получать деньги за код и никаких более привлекательных вариантов не наблюдается, они будут продолжать работать. Однако как только представится возможность заняться чем-то более осмысленным с сохранением оплаты, машины на автопилоте делать, допустим, или инсулиновую помпу закрытого цикла, – только вы их и видели.
Как создавать необычно красивые линии? Изучаем поле течений
Поля течения - невероятно мощный и гибкий инструмент-алгоритм для создания необычных линий. Это один из основных инструментов, который я несколько лет использовал в моих генеративных произведениях, и я осознаю, что обращаюсь к нему снова и снова. Вполне возможно, что я использовал его столько раз при написании кода, сколько не использовал никто другой.
Также поля течения - то, на что программисты натыкаются в первую очередь, когда только начинают заниматься генеративным искусством, но немногие уделяют время детальному изучению принципов их работы и тому, как их можно использовать. В этой статье я освечу основы полей течения, предложу разные варианты их использования и дам советы как сделать из них что-то красивое.
Дорожная карта развития продукта: Курс «Создание программного продукта и управление его развитием»
Проект длиной в 8 лет — знал бы, ни за что не ввязался: свой 2-тактный мотор
Прошло уже 6 лет с момента выхода первой и последней заметки по этому проекту(Свой 2-тактный мотор. CR620 рекомендуется к ознакомлению). Тогда я остановился из-за проблем с аутсорсом в металлообработке. Кто не может, кто не хочет, кто делает бесконечно долго, кто и детали назад возвращать не хочет. А город в котором я живу имеет славную промышленную историю и был центром Петровской индустрии 18-века, но от славного прошлого ныне остался один корень в названии города и несколько действующих предприятий, на которых занято порядка единиц процентов населения. А сейчас не 90-е и даже не 00-е, когда можно было договорится с человеком с завода чтобы он что-то такое эдакое для тебя сделал. Теперь у них есть работа и КПП на входе, как я потом узнал — номинальное. Вся эта история с передачей деталей где они лежат, а не делаются, поиск новых мест и тому подобное блуждание длилась несколько лет. Оказалось, что отлить сложную алюминиевую отливку у сарая на родительской даче я смог, а обработать, что не выглядело проблемой изначально — нет.
Введение в асинхронное программирование на Python
Введение
Асинхронное программирование – это вид параллельного программирования, в котором какая-либо единица работы может выполняться отдельно от основного потока выполнения приложения. Когда работа завершается, основной поток получает уведомление о завершении рабочего потока или произошедшей ошибке. У такого подхода есть множество преимуществ, таких как повышение производительности приложений и повышение скорости отклика.
В последние несколько лет асинхронное программирование привлекло к себе пристальное внимание, и на то есть причины. Несмотря на то, что этот вид программирования может быть сложнее традиционного последовательного выполнения, он гораздо более эффективен.
Аутентификация REST API с помощью Spring Security и MongoDB
В прошлых статьях мы создавали RESTful веб-сервис, теперь же мы поговорим о безопасности
Вступление
В предыдущем посте мы рассмотрели, как создать REST API с использованием инфраструктуры Java Spring Boot и MongoDB. API, однако, не требовал никакой аутентификации, а это значит, что он, вероятно, все еще не готов к использованию. Поэтому в этом руководстве будет рассказано, как использовать встроенную среду безопасности Spring для добавления уровня аутентификации в этот API.
Как и зачем мы мигрировали Preply в Kubernetes
В этой статье я опишу наш опыт миграции Preply в Kubernetes, как и почему мы это сделали, с какими трудностями столкнулись и какие преимущества приобрели.
Система управления конфигурацией сети фильтрации Qrator
TL;DR: Описание клиент-серверной архитектуры нашей внутренней системы управления конфигурацией сети, QControl. В основе лежит двухуровневый транспортный протокол, работающий с упакованными в gzip сообщениями без декомпрессии между эндпойнтами. Распределенные роутеры и эндпойнты получают конфигурационные апдейты, а сам протокол позволяет установку локализованных промежуточных релеев. Система построена по принципу дифференциального бэкапа (“recent-stable”, объясняется ниже) и задействует язык запросов JMESpath вместе с шаблонизатором Jinja для рендера конфигурационных файлов.
Qrator Labs управляет глобально распределенной сетью нейтрализации атак. Наша сеть работает по принципу anycast, а подсети анонсируются посредством BGP. Будучи BGP anycast-сетью, физически расположенной в нескольких регионах Земли мы можем обработать и отфильтровать нелегитимный трафик ближе к ядру интернета — Tier-1 операторам.
С другой стороны, быть географически распределенной сетью непросто. Коммуникация между сетевыми точками присутствия критически важна для провайдера услуг безопасности, для того чтобы иметь согласованную конфигурацию всех узлов сети, обновляя их своевременным образом. Поэтому с целью предоставить максимальный возможный уровень основной услуги для потребителя нам необходимо было найти способ надежно синхронизировать конфигурационные данные между континентами.
В начале было Слово. Оно быстро стало коммуникационным протоколом, нуждающимся в апдейте.
JMeter — швейцарский нож тестировщика (Часть 2)
Кто не в курсе, что здесь происходит, читайте первую часть статьи — в ней я рассказал, как JMeter помог нам «поймать» проблему с падением сайта у части пользователей.
Не читайте, перечитывайте
«Удивительно, но человек не может читать книгу: он может только перечитывать ее», утверждает Владимир Набоков, творчество которого я изучал в своей дипломной работе несколько лет назад. Он продолжает, «Хороший читатель, крупный читатель, активный и творческий читатель, это перечитыватель», и далее отстаивает свое мнение с позиций искусства: чтобы насладиться книгой и оценить ее по достоинству, читатель должен быть способен почувствовать ее так, как общаются с произведением живописи: вне линейного отрезка времени, а разом, что возможно только тогда, когда читатель знает все части книги достаточно хорошо, чтобы осмыслить ее как совместное целое*.
*Владимир Набоков Лекции по зарубежной литературе
Информация
- В рейтинге
- Не участвует
- Откуда
- Омск, Омская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность