Как стать автором
Обновить
16
0

Разработчик

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

Technical debt mini-guide. How to pay it off

Время на прочтение7 мин
Количество просмотров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
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 31: ↑28 и ↓3+25
Комментарии15

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

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

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

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

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

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

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

Читать далее
Всего голосов 19: ↑13 и ↓6+7
Комментарии25

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

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

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

Читать далее
Всего голосов 4: ↑1 и ↓3-2
Комментарии0

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

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


Прочитать и не забыть переслать родителям...
Всего голосов 85: ↑81 и ↓4+77
Комментарии50

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Всего голосов 22: ↑21 и ↓1+20
Комментарии4

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

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

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

Читать дальше →
Всего голосов 254: ↑253 и ↓1+252
Комментарии108

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

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




Введение


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



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

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

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





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

Вступление


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

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

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

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


Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии5

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

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


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

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

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

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

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

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

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

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

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

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

Информация

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