Pull to refresh
1
0.1
Send message

Структурное логирование в Spring Boot 3.4

Level of difficultyEasy
Reading time5 min
Views4.8K

С выходом Spring Boot 3.4 логирование стало ещё удобнее: теперь логи можно записывать в более унифицированном формате, что упрощает их анализ и обработку.

В новом переводе от команды Spring АйО мы разберем основные шаги для настройки и использования этой технологии в проекте.

Читать далее
Total votes 20: ↑18 and ↓2+17
Comments3

Раскрываем секреты роя: оптимизация на Python с помощью PSO

Level of difficultyMedium
Reading time13 min
Views4.8K

Начну с небольшой шутки:

"Знаете ли вы, что до изобретения часов людям приходилось активно ходить повсюду и спрашивать время?"

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

Рассмотрим самоорганизующиеся системы в природе, например, стаи птиц или рыб. Представим такую систему как совокупность частиц, где каждая особь – это отдельная частица. Можно предположить, что движение каждой частицы в пространстве определяется двумя основными факторами:

Индивидуально оптимальная позиция: то, что особь считает наилучшим для себя.

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

В связи с этим возникает естественный вопрос: что считать "оптимальным" в природе? Что является наилучшим для отдельной особи и для всей группы? Не будучи биологом, я не могу дать ответы на эти вопросы. Однако, наблюдая за подобным поведением в природе, мы можем разработать эффективный алгоритм оптимизации. Другими словами, определив критерии "оптимальности", мы можем применить этот эволюционный подход для оптимизации заданной функции.

Данный алгоритм известен как оптимизация роем частиц (Particle Swarm Optimization, PSO). Возможно, это звучит несколько сложно. Что подразумевается под "оптимизацией"? Какова роль математики в этом процессе? Что именно оптимизируется? В статье я постараюсь подробно разъяснить все эти моменты. Более того, мы применим ООП на Python для создания собственного класса ParticleSwarmOptimizer(). И таким образом, мы пройдем путь от теоретических основ PSO до их практической реализации.

Итак, приступим! Желаю приятного чтения.

Читать далее
Total votes 19: ↑18 and ↓1+19
Comments12

В помощь разработчику: 6 полезных библиотек визуализации данных

Reading time5 min
Views6.1K

Привет, жители Хабра! Я Саша Пиманов, ведущий iOS-разработчик в МТС Диджитал. В прошлый раз я рассказывал, что почитать начинающим разработчикам. А сегодня поделюсь подборкой из шести библиотек, которые помогут в ежедневной работе. Среди них простые и сложные, с возможностью глубокой кастомизации и без нее. Все они могут здорово облегчить работу программиста, когда нужно визуализировать какие-то данные. Подробности — под катом.

Читать далее
Total votes 12: ↑11 and ↓1+16
Comments3

Что не так со статьями о выгорании

Level of difficultyMedium
Reading time26 min
Views13K

Меня разочаровывает популярность примитивного подхода. Предлагаю отвлечься от однотипных статей и присмотреться к предмету изучения. Я хочу осветить этот темный угол с выгоранием, где многие видят банальную лень, стрессы, усталость, отсутствие навыков планирования или свежих пряников. А в конце я скажу, что выгорания не существует — это чрезмерно обобщающий термин, который мешает починке работоспособности.

Читать далее
Total votes 56: ↑52 and ↓4+58
Comments95

Обходим блокировку VPN

Level of difficultyMedium
Reading time2 min
Views63K

Мой провайдер помимо замедления (читай полная блокировка) YouTube так-же стали блокировать соединения с моими рабочими VPN. Работодатель не очень любит, когда на встречах на вопрос о прогрессе, я неделю отвечаю, что у меня не работает VPN! Своими действиями, мой провайдер сам меня подтолкнул к поиску обходных путей.

Сразу скажу, обходной путь придумал не сам, мне его подсказал автор проекта zapret, а точнее его комментарий, более того, я использую его проект, чтоб смотреть нормально YouTube. Спасибо огромное!

Добавлю, я использую nftables и nfqws, если этот вариант работает у меня — это не значит, что оно заработает и у вас! Возможно, вам придётся изменить некоторые параметры.

Читать далее
Total votes 35: ↑33 and ↓2+38
Comments80

Статический анализ структуры базы данных в проекте GitLab

Level of difficultyEasy
Reading time4 min
Views1.9K

Возможно ли применить статический анализ структуры базы данных к реальным проектам, которые используют PostgeSQL, какой будет результат? Давайте применим и посмотрим что получится. В качестве реальных проектов возьмем инструменты с открытым кодом, которыми многие пользуются ежедневно - GitLab и Redmine.

Читать далее
Total votes 6: ↑5 and ↓1+8
Comments0

Улучшаем python код в пару кликов

Level of difficultyEasy
Reading time7 min
Views1.6K

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

В статье научимся писать код в единой стилистике и даже делать это автоматически.

Улучшать проекты!
Total votes 13: ↑3 and ↓10-7
Comments13

GPT — технология добра/зла

Level of difficultyMedium
Reading time10 min
Views1.8K

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

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

Ближе к делу.

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

Проблемы вызова Python кода из C кода

Level of difficultyHard
Reading time5 min
Views6.2K

Привет, Хабр!

Меня зовут Никита Соболев, я опенсорс разработчик и core-разработчик CPython.

Давайте поговорим про одну из самых сложных частей интерпретатора CPython – вызов Python кода из C кода. Почему сложных? Потому что Python может резко и внезапно менять стейт всего кода на C. А особо злобный код на Python вообще часто приводит к [1] 88503 segmentation fault python

Данный пост создан по материалам из моего канала в Телеграмеopensource_findings: https://t.me/opensource_findings/842

Под катом – кишки питона, я предупредил!

Ужасаться здесь
Total votes 40: ↑38 and ↓2+53
Comments9

CORS — это тупо

Reading time7 min
Views22K

Технология CORS и действующее в браузерах правило ограничения домена – те вещи, которые часто понимаются превратно. Ниже я объясню, что они собой представляют, и почему пора перестать волноваться по их поводу.

Замечание: я собираюсь рассказать о CORS и правиле ограничения домена как о единой сущности, поэтому далее часто буду употреблять эти термины как синонимы. Дело в том, что они, по сути – части одной системы, работают в сочетании друг с другом и помогают вам решать, что можно сделать с какими ресурсами смешанного происхождения. В принципе, если ваши запросы поступают из разных источников, то вам придётся иметь дело с правилами, политиками и механизмами CORS.

Прежде всего, отмечу, что CORS — это огромный костыль, помогающий снизить влияние ошибок, передающихся с унаследованным кодом. В этой системе защита предоставляется как по принципу отказа от участия (opt-out) в попытке частично купировать XSRF-атаки против незащищённых или немодифицированных сайтов, так и по принципу активного участия (opt-in), чтобы на сайте включалась активная самозащита. Но ни одной из этих мер не достаточно, чтобы решить целенаправленно созданную проблему. Если на вашем сайте используются куки, то вы обязаны деятельно позаботиться о его безопасности. (Ладно, это касается не любого сайта, но лучше перестрахуйтесь. Выделите время на тщательный аудит вашего сайта или выполните описанные ниже простые шаги. Даже придерживаясь самых разумных паттернов, вы всё равно можете подставиться под XSRF-уязвимости).

Читать далее
Total votes 17: ↑11 and ↓6+10
Comments19

Антипаттерны в процессе разработки

Level of difficultyEasy
Reading time10 min
Views6K

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

Всё это сподвигло нас к анализу накопленного опыта и имеющихся материалов в области процессов разработки с акцентом на взаимоотношения в коллективах. Мы — это Евгений Филимонов и Андрей Клюйков, инженеры по тестированию КОМПАС-3D.

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

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

Читать далее
Total votes 13: ↑12 and ↓1+15
Comments4

Автотесты: от первого автотеста до масштабного проекта. Мой набор инструментов для масштабирования

Level of difficultyMedium
Reading time6 min
Views3.5K

Привет, Хабр! Меня зовут Максим, я инженер по автоматизации тестирования в компании 1221СИСТЕМС и хотел бы поделиться своим опытом и рассказать путь настройки автотестов от минимального рабочего состояния до масштабного проекта. Поделюсь тем, какие инструменты я внедрил для улучшения процессов на нашем проекте.

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

Django 5: асинхронный бекенд и эффектный фронтенд с минимальными затратами времени

Reading time17 min
Views3.3K

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

Уже давно у меня возникала мысль подробно, как в случае с FastAPI и Aiogram 3, разобрать «суровый» Django 5. Однако, из-за большого дефицита свободного времени и масштабности Django, руки до этого не доходили. Сегодня, как вы уже поняли, момент настал.

В процессе написания кода мы затронем следующие темы: маршрутизация, работа со статическими файлами, асинхронное использование Django 5, работа с базой данных SQLite через встроенное ORM и многое другое.

Сегодня мы создадим простой сайт, который будет демонстрировать гороскоп на завтра для любого знака зодиака. Чтобы было интереснее, гороскоп будем парсить в момент обращения к знаку зодиака (об этом подробнее далее).

Читать далее
Total votes 11: ↑9 and ↓2+10
Comments12

Постановка задачи на импортозамещение информационной системы, например Notion

Level of difficultyEasy
Reading time10 min
Views3.9K

Добрый вечер, уважаемые читатели Хабра, Хабровчане, а также все спеллчекеры с личным мнением - мое специализированное почтение.

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

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

Те кто приходят к этой практике получают много полезного в своей жизни.

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

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

В наличии корректное оформление для уважения читателя, Ноушн пишется с прописной и с курсивом.

Желаю приятного прочтения.

Читать далее
Total votes 12: ↑7 and ↓5+6
Comments9

Дообучаем Llama 3.1 у себя дома

Level of difficultyMedium
Reading time8 min
Views12K

Привет, чемпионы!

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

Дообучать LLM!
Total votes 24: ↑21 and ↓3+24
Comments16

Как объединить фронтенд с бэкендом и не сломать веб-приложение

Level of difficultyMedium
Reading time5 min
Views9.8K

Привет! Меня зовут Артём Шумейко, я Python-разработчик и создатель одноименного канала на YouTube. Представьте: у вас есть проект с фронтенд- и бэкенд-частью. Первый работает на одном порту и отображает данные, после — передает бэкенду. Второй работает на другом порту, принимает и обрабатывает эти данные, после чего возвращает ответ. Обычно сайты находятся на едином домене с фронтендом и бэкендом, а здесь — на двух отдельных. 

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

Читать далее
Total votes 33: ↑29 and ↓4+37
Comments9

Проблема альтернативной реализации

Level of difficultyMedium
Reading time5 min
Views10K

В этом посте я бы хотел порассуждать о тенденции, которую постоянно наблюдаю в мире разработки ПО. На самом деле, я бы даже рискнул сказать, что подобная ситуация происходит и в мире оборудования, но буду рассматривать только программные системы, потому что работаю с ними. В этой обсуждении я затрону человеческую психологию и опишу распространённую ловушку, которой вы, надеюсь, сможете избежать.
Читать дальше →
Total votes 32: ↑27 and ↓5+31
Comments8

Одноплатные компьютеры в августе: мал мала меньше. 5 интересных и полезных моделей

Reading time3 min
Views14K

Сегодня поговорим про одноплатные компьютеры — их стало больше, хороших и разных. Модели предназначены для решения различных задач, так что вам вполне может что-то приглянуться. В подборке сегодня — пять девайсов, включая одну из версий «малинок». Поехали!
Читать дальше →
Total votes 37: ↑33 and ↓4+44
Comments16

Прекратите делать таблицы в Markdown

Level of difficultyEasy
Reading time13 min
Views31K

В пятницу ко мне подошел коллега и с гордостью показал новую утилиту, которую он разработал. Она генерирует документацию в Markdown на основе .env файла, включая переменные, их значения и комментарии. Я, конечно, поздравил коллегу с успехом и попросил посмотреть на результат. И тут меня ждал шок — таблица в Markdown! Вы только представьте себе это!

Так начался холивар...

И что же не так с таблицами?
Total votes 66: ↑55 and ↓11+63
Comments79

У меня был 6-дневный дофаминовый детокс — и вот что получилось

Level of difficultyEasy
Reading time5 min
Views127K

Что такое дофамин и почему в среде любителей самосовершенствования он считается гормоном, способствующим отвлечению внимания?

Выражение «дофаминовый детокс» на первый взгляд звучит как полный отказ от дофамина на какое-то время, что в корне неверно. От дофамина избавиться невозможно.

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

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

Читать далее
Total votes 158: ↑142 and ↓16+146
Comments277

Information

Rating
3,004-th
Registered
Activity