У нас был spring и hibernate
Мы твёрдо знали, что OAuth2.0 это хорошо, а принцип "Api first" ещё лучше.
И нам дали ровно 48-ь часов чтобы создать работающую инфраструктуру с возможностями авторизации, отслеживания метрик, динамической маршрутизацией запросов и раздачей конфигураций сервисам "на лету". Кроме того от нас хотели получить "best practics" по работе с БД в коде и лёгкой поддержке ролевой модели.
Девелопер
11 способов принимать решения без стресса и сомнений
Новый год — время когда хочется подводить итоги и планировать то, что никогда не воплотится в реальность. Как принимать решения, чтобы они реально меняли жизнь к лучшему?
Основные принципы хорошего нейминга
В данной статье я рассмотрю основные принципы нейминга и структуру названий переменных и функций. Для опытных разработчиков эта статья вряд ли откроет что-то новое, но для новичков она может оказаться полезной.
Чистый код — дар или проклятие? Акт II. Компромисс
Что важнее — производительность или гибкость кода? Стоит ли отказаться от философии чистого кода ради перфоманса? Отвечаем на эти и многие другие вопросы вместе с командой разработчиков PVS-Studio.
Single Responsibility Principle. Не такой простой, как кажется
Single responsibility principle, он же принцип единой ответственности,
он же принцип единой изменчивости — крайне скользкий для понимания парень и столь нервозный вопрос на собеседовании программиста.
Первое серьезное знакомство с этим принципом состоялось для меня в начале первого курса, когда молодых и зеленых нас вывезли в лес, чтобы сделать из личинок студентов — студентов настоящих.
В лесу нас разделили на группы по 8-9 человек в каждой и устроили соревнование — какая группа быстрее выпьет бутылку водки при условии, что первый человек из группы наливает водку в стакан, второй выпивает, а третий закусывает. Выполнивший свою операцию юнит встает в конец очереди группы.
Случай, когда размер очереди был кратен трем, и являлся хорошей реализацией SRP.
Obsidian+Github вместо Notion: синхронизация, бекап и версионность (3-в-1)
О том, как сделать прозрачную синхронизацию заметок Obsidian между устройствами (Desktop, Android, iOS) через GitHub:
1. Без сторонних приложений (вроде iCloud, SyncThing, Termux и пр)
2. Бесплатно
3. Бонусом — резервная копия: как самих заметок, так и истории изменений.
В результате получается полноценная замена Notion: структурированные заметки с автоматической синхронизацией между устройствами.
Любой может получить доступ к удалённым и приватным данным репозиториев GitHub
Кто угодно может получать доступ к данным из удалённых форков, удалённых репозиториев и даже приватных репозиториев GitHub. И эти данные доступны всегда. Это известно разработчикам GitHub, и они намеренно спроектировали систему таким образом.
Это настолько огромный вектор атак для всех организаций, использующих GitHub, что мы решили ввести новый термин: Cross Fork Object Reference (CFOR). Уязвимость CFOR возникает, когда форк одного репозитория может получить доступ к требующим защиты данным из другого форка (в том числе и к данным из приватных и удалённых форков). Аналогично Insecure Direct Object Reference, при CFOR пользователи передают хэши коммитов, чтобы напрямую получать доступ к данным коммитов, которые иначе были бы для них невидимыми.
Давайте рассмотрим несколько примеров.
Как увидеть три важнейших софт-скилла, чтобы нанять лучшего инженера
Чтобы нанять хорошего инженера, недостаточно проверить только его харды. В статье я расскажу о трех софт-скиллах, которые я обязательно проверяю у каждого кандидата. Если вы начнете проверять эти три навыка, вы начнете нанимать лучших специалистов. А еще я расскажу обратную, темную сторону каждого из качеств.
Меня зовут Олег Федоткин, я программист и менеджер в ИТ. Я провел более сотни собеседований (мне HR даже толстовку «Hiring Hero» по такому случаю подарили) и нанял десятки человек: программистов, тим лидов, юнит лидов, архитекторов — да всех. После всех интервью я выделил три качества, которые неизменно определяют классного специалиста.
Как провести аудит процессов в новой команде: инструкция для руководителей
Когда вы вступаете в должность в качестве руководителя или старшего менеджера проекта, одной из первых и самых важных задач является понимание текущих процессов управления проектами. Этот процесс, часто называемый аудитом, позволяет определить точку «As Is…» — текущее состояние дел в компании. Без четкого понимания текущей ситуации невозможно разработать эффективный план действий и начать внедрение улучшений. Меня зовут Саша Максимова, я уже 10 лет занимаюсь развитием команд и управлением проектами, сейчас работаю в Kokoc group на должности Руководителя отдела управления проектами и надеюсь, эта статья поможет многим избежать моих ошибок.
Локальные LLM в разработке: а почему бы и да?
Меня зовут Антон Гращенков, и я занимаюсь развитием Java в Альфа-Банке. Программированием увлекаюсь ещё со школы: писал на множестве разных языков — от Pascal до TypeScript, мне это просто нравится. В статье я на примерах покажу, для каких задач я использую локальные модели. Да, существует много инструментов доступных в облаке, — тот же ChatGPT, Copilot или YandexGPT. Однако можно запустить такую модель и локально, и сделать это крайне просто.
Ведь если хочется, то почему бы и да?
LangСhain: создаем свой AI в несколько строк
В этой данной статье познакомимся с LangChain, перспективным фреймворком для работы с языковыми моделями. С его помощью можно создать свой собственный аналог ChatGPT всего в несколько строк кода. Благодаря модульной структуре, LangChain позволяет быстро и легко разрабатывать AI приложения различной сложности.
Как написать своего нейросотрудника?
Конечно, прекрасно подключить API от OpenAI и разыграть своего руководителя новым консультантом… Но подобные чат-боты не могут ориентироваться в данных компании и предоставлять адекватные ответы. Можно хотя бы не рассчитывать на увольнение:)
В чем отличие модифицированного чат-бота, нейросотрудника от обычного окошка с GPT 4.0? — он может ориентироваться в нужной вам информации лучше: составлять подборки резюме для дальнейшего анализа живым HR-ом, общаться с клиентами скриптами, даже подбирать контент-план на основе данных о компании и помогать расписывать ТЗ для сотрудников.
В этой работе мы попробуем написать своего простого нейросотрудника, а точнее HR-менеджера. Начнем с теоретической части про векторные базы данных и обучение, закончим практикой, разобрав конкретный пример.
Если не хочется читать теорию – переходите в конец статьи.
Отказоустойчивый деплой приложений в Kubernetes. Принципы, паттерны и приемы
Привет, Хабр! Я исполнительный директор по разработке департамента ML и BD Газпромбанка. Сегодня хочу поговорить с вами о деплое.
По данным, приведенным в Google SRE book, до 70% проблем происходит вследствие изменений в уже работающих системах. По моим личным ощущениям, это близко к правде: если у вас хорошо спроектированное и написанное приложение и стабильная, отлаженная инфраструктура, именно деплой — узкое место (которое можно улучшить). Для минимизации рисков Google SRE BOOK рекомендует использовать постепенные выкаты, быстро и точно анализировать проблемы, а в случае необходимости легко откатываться обратно.
Эта статья о деплое в Kubernetes, потому что это самая популярная инфраструктурная платформа, которая уже имеет множество возможностей для построения отказоустойчивых выкатов. А то, чего не хватает «из коробки», покрывается возможностями инструментов развитой экосистемы.
Но начать нужно не с возможностей Kubernetes, а с архитектурных особенностей, которые должны быть реализованы при создании приложений, предназначенных для работы в ней.
Те, кто больше любит слушать, чем читать, могут посмотреть мой доклад про это на HighLoad++. Остальным — добро пожаловать под кат.
Как избежать когнитивной перегрузки: способы оптимизации кода для разработчиков
По мнению Артема Закируллина*, одна из фундаментальных проблем, с которой сталкиваются разработчики при анализе кода – высокая когнитивная нагрузка. Это не абстрактное, а реальное ограничение возможностей, которое стоит времени и денег. На чтение и понимание кода, тратится больше времени, чем на его написание. Поэтому, разработчику нужно постоянно задаваться вопросом: не пишет ли он код, чтение которого создает чрезмерную когнитивную нагрузку?
Подробнее о том, с какими проблемами от высокой когнитивной нагрузки сталкиваются разработчики и какие решения помогут упростить понимание кода для последующей работы с ним читайте под катом.
*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.
Мимо тёщиного дома я без метрик не хожу (обзор и видео доклада)
В этом докладе я расскажу о мониторинге: о том, как собрать множество метрик из разных мест в одном, как разруливать права для разных частей этих метрик и как хранить большие объемы данных. Еще поговорим о выборе системы мониторинга на примере небольшого сериала о вымышленной компании, система мониторинга которой эволюционирует вместе с ростом инфраструктуры.
Как информативно оформить профиль на GitHub?
Тетрадь, дневник — ваше лицо. А круто оформленный профиль на гитхабе — статус вашей занятости. Чем больше участий в проектах, тем безработнее... Пока молодые специалисты оформляют свои страницы с "Lib-Meta-Neo ML-Scientist 10 years of expirience" на LinkedIN настоящий амбассадор HR и трудового найма бегут на GitHub. Именно там выискиваются самые закостенелые гики программирования, вносящие тридцать пять тысяч коммитов в безбюджетные опенсорс проекты; именно там рождаются гении, разрабатывающие AAA-проекты геймдева на ассемблере.
Все это шутки.
Но реальность такова, что многие из рекрутеров не против оценить ваш профиль. Подавать себя, как в маркетинге, важно. И неплохо бы сразу представить всю статистику развернуто перед глазами, чтобы бедный HR не искал ваши коммиты, а гордо проведенные тысячи часов в GitHub не остались за кадром. Каждый проект служит материальным доказательством способностей разработчика, позволяя потенциальным соавторам или работодателям оценить его стиль программирования, навыки решения задач и умение управлять проектами.
Для этого на гитхабе есть много утилит, которые помогают оформить Readme личного профиля. Но для начала давайте быстренько его создадим.
Гайд: чем снимать видео дома. Подборка оборудования от 11 000₽ до 420 000₽
Я снимаю кинофестивали, шины от поставщика Формулы-1 и даже робота-хирурга прямо в операционной. Но снимал и из багажника, в студии-каморке, и начинал с подручных средств. Поэтому решил собрать 3 комплекта для съемок под разный бюджет: от бабушкиной пенсии до зарплаты айтишника.
Использование resilience4j со Spring Boot
resilience4j библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего в микросервисной архитектуре
Рассмотрим какие в ней есть инструменты, как их использовать в Spring Boot приложении с помощью аннотаций, как настраивать и есть ли в них подводные камни
Тебе нужна своя стратегия
Каждый человек мечтает о лучшей жизни, но не многие "приземляют" свои желания и цели на конкретные задачи сегодняшнего дня.
В этой статье я хочу поделиться инструментами, которые использую сам, для того, чтобы каждая задача сегодня приближала меня к глобальным целям в рамках нескольких лет.
Сейчас мы пройдем путь от вашего прошлого, до вашего будущего; от ваших целей, до задачи на ближайшие 2 часа.
ChatGPT: влияем на галлюцинации или как потопаешь, так и полопаешь
В этой статье посмотрим как можно влиять на так называемые «галлюцинации» ChatGPT.
А что такое эти «галлюцинации»? По сути это придумывание фактов нейронной сетью, ну или просто — враньё. Управление «галлюцинациями» позволит получать то что мы хотим, ну или по крайней мере улучшит вероятность получения правдивого ответа.
Информация
- В рейтинге
- Не участвует
- Откуда
- Латвия
- Дата рождения
- Зарегистрирован
- Активность