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

Привет, Хабр! (И тебе, отчаянный страдалец, зашедший сюда в перерыве между дебагом очередного if (a == b) { return true; } else { return false; } . Мы знаем, ты не виноват, так вышло). Каждый разработчик хоть раз в жизни прилаживал к своему коду «костыль». Знакомое чувство, правда?

https://habr.com/ru/articles/950016/

#костыли #баги #чистый_код #разработка #python #javascript #1с #битрикс #архитектура #c++

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

Привет, Хабр! (И тебе, отчаянный страдалец, зашедший сюда в перерыве между дебагом очередного  if (a == b) { return true; } else { return false; } . Мы знаем, ты не виноват, так вышло). Начнём с...

Хабр

Легендарные костыли в продакшене

Нет ничего более постоянного, чем временное решение. Любой айтишник хоть раз лепил костыль на скорую руку — потом перепишем, потом сделаем нормально. Но «потом» обычно не наступает, и в итоге времянка живет в продакшене годами, переживает релизы и смену команд, а иногда становится частью продукта. У индустрии полно баек о том, как костыли превращались в легенды. В этой статье собрал самые интересные случаи из истории ИТ. Приглашаю под кат. Читать

https://habr.com/ru/companies/ruvds/articles/947170/

#костыли #разработка #ПО #itинфраструктура #управление_разработкой #продакшн #сервер #системное_администрирование #windows #ruvds_статьи

Легендарные костыли в продакшене

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

Хабр

Как НЕ нужно писать автотесты на Python

Разбираем самые странные антипаттерны в автотестах на Python: от sleep(0.1) и стрелочек вниз до глобальных курсоров и "фреймворков" на 3500 строк. Почему так делать не стоит и какие есть взрослые альтернативы.

https://habr.com/ru/articles/942532/

#автотесты #тестирование #антипаттерны #python #selenium #playwright #pytest #locust #костыли #велосипеды

Как НЕ нужно писать автотесты на Python

Введение В этой статье я разберу несколько типичных ошибок, которые встречаются при написании автотестов на Python. Цель не в том, чтобы высмеять конкретных людей или проекты. Главное — показать...

Хабр

[Перевод] Мой худший образец полезного кода

Однажды на собеседовании меня попросили привести примеры написанного мной кода: один — которым я наиболее горжусь, и другой — который я считаю наиболее неудачным. Не долго думая, я осознал, что на оба вопроса у меня готов ответ, и это один и тот же фрагмент кода. Горжусь я им потому, что это, пожалуй, из всей моей практики именно этот код оказался наиболее весом, а стыжусь из-за него, так как по мнению большинства из его читателей этот код начался с костыля, который затем стали развивать:

https://habr.com/ru/articles/923500/

#моддинг #оптимизация #костыли #программирование #open_source #разработка_игр

Мой худший образец полезного кода

Однажды на собеседовании меня попросили привести примеры написанного мной кода: один — которым я наиболее горжусь, и другой — который я считаю наиболее неудачным. Не долго думая, я осознал, что на оба...

Хабр

Путеводитель по Ktor JWT auth на стороне сервера

Документация Ktor по server-jwt неполна. Если необходимо сделать что-то за рамками «Hello world», придется лезть в исходники и городить костыли. Какой-то консистентности и предсказуемости ждать не стоит, возможно, не обошлось без заговорщиков . Статья покроет необходимую базу для работы с JWT и убережет от множества подводных камней.

https://habr.com/ru/articles/921076/

#ktor #backend #kotlin #jwt_auth #говнокод #авторизация #аутентификация #костыли #authorization #authentication

Путеводитель по Ktor JWT auth на стороне сервера

Документация Ktor по server-jwt неполна. Если необходимо сделать что-то за рамками «Hello world», придется лезть в исходники и городить костыли. Какой-то консистентности и предсказуемости ждать не...

Хабр

HowTo: плиточная карта и календарь в DataLens

Хочу поделиться примером, как при помощи нестандартных техник создать виджеты, непредусмотренные на бесплатном тарифе DataLens. Для реализации виджетов понадобится базовое знакомство с DataLens, html и python. Код по формированию виджетов и живые примеры внутри.

https://habr.com/ru/articles/899264/

#DataLens #BI #визуализация #визуализация_данных #геоаналитика #костыли

HowTo: плиточная карта и календарь в DataLens

Хочу поделиться примером, как при помощи нестандартных техник создать непредусмотренные виджеты на бесплатном тарифе DataLens. Для реализации виджетов понадобится базовое знакомство с DataLens, html и...

Хабр
SmartProxy перестал работать после обновления uBlock Origin выше 1.3.4
лечение: ВЫКЛЮЧИТЬ Uncloak canonical names в настройках uBlock Origin #костыли #Firefox

Три стадии enterprise архитектуры

Я работаю архитектором. Последние лет 5 я довольно много работаю с разными enterprise компаниями и я довольно интенсивно вовлечен в процесс дизайна архитектуры.Хочу написать об устойчивом паттерне повторяющемся из компании в компанию.

https://habr.com/ru/articles/881778/

#архитектура #энтерпрайз #костыли

Три стадии enterprise архитектуры

Я работаю архитектором. Последние лет 5 я довольно много работаю с разными enterprise компаниями и я довольно интенсивно вовлечен в процесс дизайна архитектуры.Хочу написать об устойчивом паттерне...

Хабр

Как настроить IPv6 там где его нет: Poor man solution на базе oracle cloud free tier + wireguard + openwrt

Приветствую сообщество. В этой заметке я хотел бы поделиться своим велосипедом по настройке ipv6 в локациях где невозможно это сделать нормальным способом (провайдер не умеет/может/хочет ipv6). На входе у нас есть локация где есть ipv4 интернет (дача, регион, офис), oracle VM instance и роутер на базе openwrt обслуживающий сеть в нашей локации. На выходе мы хотим получить нормально (насколько это возможно в рамках наших ограничений) работающий ipv6 там, где не удалось настроить правильным/ровным способом через провайдера. Мы будем решать 2 задачи, а именно: 1) Все устройства в нашей локальной сети должны иметь доступ к ipv6 ресурсам в интернете 2) Из интернета мы хотим иметь возможность достучаться до устройств внутри нашей локальной сети по прямому ipv6 адресу. Это удобно когда, например, на даче у нас есть камеры/хабы/NAS/итд и мы хотим обращаться к ним напрямую по ipv6 адресу.

https://habr.com/ru/articles/813615/

#openwrt #oracle_cloud #wireguard #ipv6 #костыли

Как настроить IPv6 там где его нет: Poor man solution на базе oracle cloud free tier +  wireguard + openwrt

Приветствую сообщество. В этой заметке я хотел бы поделиться своим велосипедом по настройке ipv6 в локациях где невозможно это сделать нормальным способом (провайдер не умеет/может/хочет ipv6). На...

Хабр