Я снимаю кинофестивали, шины от поставщика Формулы-1 и даже робота-хирурга прямо в операционной. Но снимал и из багажника, в студии-каморке, и начинал с подручных средств. Поэтому решил собрать 3 комплекта для съемок под разный бюджет: от бабушкиной пенсии до зарплаты айтишника.
Пользователь
Современные команды и фичи Git, которыми стоит пользоваться
Мы, разработчики ПО, пользуемся git
каждый день, однако большинство из нас применяет только самые основные команды, например, add
, commit
, push
и pull
, как будто на дворе по-прежнему 2005 год.
С тех пор в Git появилось множество фич, пользование которыми может сильно упросить вашу жизнь. Так давайте исследуем некоторые из недавно добавленных современных команд git
, о которых вам стоит знать.
А ты хорошо знаешь Go? Держи пару полезностей по оптимизации кода
Привет, Хабр!
Эта статья — моя подборка приёмов и техник, которые помогут писать лаконичный и производительный код на Go без лишних костылей и велосипедов.
Речь пойдёт о:
полезностях для конкурентного программирования
приёмах в Go в целом, таких как использование iota
, работа с ошибками, вывод интерфейса и т.д.
методах оптимизации работы со слайсами
Обсудим, как избежать ненужной аллокации памяти, как быть с состоянием гонки, поговорим про компактность и лаконичность кода и ещё про массу полезных штук.
Рекомендации при работе с PostgreSQL
Доброго времени суток. Основываясь на своём опыте хочу представить некоторые рекомендации при разработке кодовой базы на SQL.
Данные рекомендации получены горьким опытом, так что надеюсь, они Вам помогут :)
Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра
Привет, Хабр!
Так уж повелось, что любой уважающий себя работодатель перенимает передовые методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.
Ламповый дисплей для компьютера, часть 6: заключительная сборка в корпусе
- Часть 1 – обзор состояния вопроса и постановка задачи
- Часть 2 – запуск ЭЛТ и фокусировка электронного пучка в ней
- Часть 3 – описание блоков синхронизации и кадровой развертки
- Часть 4 – описание блока питания, строчной развертки и получение растра
- Часть 5 – описание коллектора, видеоусилителя, получение изображения и настройка
Как я поменял профессию: из тканевой инженерии в adult-индустрию
Если ты DevOps, который работает с adult‑проектами, то твой типичный «взрослый контент» будет выглядеть примерно так.
Одна из самых традиционных тем на Хабре — это внезапные карьерные перемещения из различных профессий в IT и обратно. У меня, вот, чудесный коллега — профессиональный мясник с соответствующим образованием. Мониторинг настраивает как боженька и умеет убедительно отстаивать свою точку зрения. Образование позволяет.
Меня тоже можете принимать в свои ряды людей со странной сменой профессии. Как многие помнят по моим старым постам — я изначально врач, который свернул в направлении фундаментальной науки и тканевой инженерии. Все вот эти развлечения со стволовыми клетками, выращиванием органов в биореакторах и прочими нетиповыми экспериментальными задачами. И вот тут меня внезапно позвали на собеседование в крупный телеком… Короче, очнулся я уже будучи DevOps в компании, которая занимается сложными проектами, некоторые из которых про adult‑видео. Ну вот те самые специальные обучающие фильмы для взрослых, которые двигатель прогресса. С петабайтами отданного трафика, набегами миллионов пользователей и прочими радостями.
Работает у нас это примерно так — у бизнеса наступает момент, когда приходит осознание, что все. Приехали. Инфраструктура работает, вроде бы все в порядке, но построена на костылях, которые заботливо укладывали три поколения сотрудников назад. Документации нет, как все это работает — никто не помнит. Если сервер сдохнет, воскресить в случае чего никто не сможет.
И вот где‑то в этот момент обычно появляемся мы с командой WiseOps и начинаем перебирать по винтику все археологические слои кода, архитектуры и бизнес‑логики. У нас уже есть несколько десятков клиентов и три из них про видеоконтент.
Предлагаю перейти под кат, а я попробую рассказать, как выглядит вся эта индустрия глазами врача/био‑инженера/DevOps.
Как ускорить LLM-генерацию текста в 20 раз на больших наборах данных
Всем привет, я Алан, разработчик-исследователь в MTS AI. В команде фундаментальных исследований мы занимаемся исследованием LLM, реализацией DPO и валидацией наших собственных языковых моделей. В рамках этих задач у нас возникла потребность в генерации большого количества данных с помощью LLM. Такая генерация обычно занимает много времени. Однако за последний год, с ростом популярности LLM, стали появляться различные инструменты для развертывания таких моделей. Одной из самых эффективных библиотек для инференса языковых моделей является библиотека vLLM. В статье показывается, как с помощью асинхронных запросов и встроенных особенностей vLLM можно увеличить скорость генерации примерно в 20 раз. Приятного чтения!
Как организовать систему оплаты в компаниях, занимающихся разработкой
Любая программная компания рано или поздно сталкивается с проблемой должностей. Некоторые организации довольствуются «плоской» системой, но в отсутствие системы должностей возникают теневые иерархии, что на самом деле хуже. Должности дают чёткую демаркацию ожиданий от конкретного сотрудника. Например, гораздо проще возложить на ведущего разработчика ответственность за техническое руководство, если эта роль чётко определена. Без определений должностей наверх будут подниматься самые громкие, а тихие и вдумчивые останутся незамеченными.
Сложность чёткого определения должностей заключается в том, что люди пытаются обмануть систему (всегда заявляя, что они заслуживают новой должности/повышения зарплаты). Я наблюдал, как для борьбы с этим организации создают всё более длинные определения, позволяющие избегать пограничных случаев. Постепенно определения начинают занимать несколько страниц и перестают умещаться в головах. В процессе сложности системы соблюдение её правил ослабевает, а потом люди просто перестают им следовать. Я считаю, что есть более правильный путь, поэтому предлагаю следующее:
Не платите за то, сколько людей под руководством или сколько строк кода они написали. Платите им за генерируемые результаты.
Эта философия сильна и наделяет свободой. Неважно, если вы сотрудник, вносящий индивидуальный вклад (individual contributor, IC), занимаетесь техническим руководством или управлением командой. Важно то, насколько ваш вклад влияет на прибыль бизнеса.
В этом посте предлагается многоуровневая система, которую можно применять к IC, техническим руководителям и руководителям команд.
Ускоряем анализ данных в 170 000 раз с помощью Python
В статье «Ускоряем анализ данных в 180 000 раз с помощью Rust» показано, как неоптимизированный код на Python, после переписывания и оптимизации на Rust, ускоряется в 180 000 раз. Автор отмечает: «есть множество способов сделать код на Python быстрее, но смысл этого поста не в том, чтобы сравнить высокооптимизированный Python с высокооптимизированным Rust. Смысл в том, чтобы сравнить "стандартный-Jupyter-notebook" Python с высокооптимизированным Rust».
Возникает вопрос: какого ускорения мы могли бы достичь, если бы остановились на Python?
Под катом разработчик Сидни Рэдклифф* проходит путь профилирования и итеративного ускорения кода на Python, чтобы выяснить это.
*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.
Важные советы backend-разработчику: защити себя от нежелательных проблем
Чем больше у backend‑разработчика знаний в своей области, тем лучшим специалистом он является. Но опыт показывает: самые классные программисты подобны Сократу, который не стеснялся заявлять во всеуслышание «scio me nihil scire», что в переводе на общенародный — «я знаю, что ничего не знаю». Сомневаясь во всём и вся, вы никогда не упустите из виду то, что многие считают «банальным» и «общеизвестным», а потому легко избежите проблем, которые возникают у слишком уверенных себе. Рассказываю о вопросах которые, могут упустить из виду даже самые крутые backend‑программисты, и даю советы по защитите себя от нежелательных трудностей до того, как они станут критичными.
Вливаемся в Data Science: подробный roadmap что и где изучать
Привет, Хабр!
В этой статье рассмотрим план становления начинающим дата-сайнтистом. Рассмотрим, что и где изучать, чтобы преисполниться в своём познании. А там и до оффера недалеко
Интересные алгоритмы кластеризации, часть вторая: DBSCAN
Часть вторая — DBSCAN
Часть третья — кластеризация временных рядов
Часть четвёртая — Self-Organizing Maps (SOM)
Часть пятая — Growing Neural Gas (GNG)
Углубимся ещё немного в малохоженные дебри Data Science. Сегодня в очереди на препарацию алгоритм кластеризации DBSCAN. Прошу под кат людей, которые сталкивались или собираются столкнуться с кластеризацией данных, в которых встречаются сгустки произвольной формы — сегодня ваш арсенал пополнится отличным инструментом.
Главное событие в мире AI: создатель ChatGPT рассказал, в какое будущее он нас всех ведет
В этой статье мы расскажем вам про самые важные фичи, внедренные за последние полгода в ChatGPT (самую мощную нейросетку в мире), а также обсудим – каким видением будущего поделился Сэм Альтман на прошедшей 7 ноября конференции от OpenAI. Спойлер: они хотят запилить «агентов Смитов», которые смогут самостоятельно взаимодействовать с миром!
GigaSearch или Поисковая система на GigaChat
Галлюцинации — это явление, которое до недавнего времени было привилегией человеческого сознания. Однако, с развитием текстовых генеративных моделей, таких как GigaChat и ChatGPT, возникла возможность наблюдать подобные "иллюзии" и в мире искусственного интеллекта.
Есть случаи, когда галлюцинации генеративной модели вполне уместны. Например, если вы попросите модель сгенерировать детскую сказку, то наличие в ней выдуманных персонажей и событий будет весьма кстати и понравится малышу.
Но мы точно не хотим получать выдуманную информацию про реальных людей или события. Кому интересно почитать о том, как мы боремся с галлюцинациями в GigaChat — добро пожаловать под кат.
Как департамент утилизации CPU превратился в департамент экономии железа, выдерживающий нагрузку в 1 млн RPS
Привет, меня зовут Мария, когда-то я работала на шахте, потом на заводе, а 3.5 года назад пришла в Ozon Tech. Сейчас я старший Golang-разработчик в команде product-facade. Это самый высоконагруженный сервис маркетплейса, но так было не всегда.
Хотите узнать, что скрывается под витриной маркетплейса? Что держит нагрузку в 1 миллион запросов в секунду? Толстые кэши или нечто большее? Про то, как устроено наше кэширование и как мы к этому пришли, — рассказываю в статье.
Как собрать рентген-аппарат из мотка скотча
Задумывались ли вы над тем, что прямо под руками, может, даже и сейчас, у вас находится весьма мощный потенциальный источник рентгеновского излучения, о котором мало кто знает, потому что «его надо правильно готовить»? А что, если я скажу вам, что это самый обыкновенный скотч? Да-да, та самая банальная клейкая лента, которой мы упаковываем всё подряд! Тем не менее, в определённых условиях она обладает поразительными свойствами, несмотря на кажущуюся странность такого утверждения…
Посторонись, Copilot: подборка разнообразных AI-инструментов для разработчиков
За пределами всем известного GitHub Copilot лежит огромный мир полезных приложений для программистов, и каждую неделю в нем появляется что-нибудь новенькое. В этом посте мы расскажем об этих инструментах — как полноценных конкурентах продукта GitHub, так и более специфических плагинах, а также о нашей собственной разработке в этом направлении.
Изучаем веб-сервисы ChatGPT и пробуем программировать
Прямого доступа к сервисам OpenAI в РФ, как известно, нет. Для работы с ChatGPT многие пользуются телеграм-ботами, чаще всего бесплатными. В основном, запросы к ним — непритязательные. Пользователи практикуются в английском и, не раздражая никого пробелами в орфографии, получают списком все свои ошибки. Можно задавать ботам относительно простые вопросы.
Но, боты, в подавляющем большинстве работают на версии GPT3.5, возможности которой ограничены. Поэтому даже на хороший, но не релевантный запрос можно получить очень странный ответ, который начинается чем-то вроде «Да, я просто языковая модель и не могу сделать того, что вы от меня хотите...» и т. д. Нельзя забывать и о том, что телеграм-бот едва ли сможет хранить контекст, размером более 4000 токенов.
Поэтому в некоторых случаях удобнее использовать именно веб-сервисы, у них функции побогаче.
Создание telegram-ботов с интерактивным меню
Однажды меня попросили провести ревью и рефакторинг одного telegram-бота. Увидев файл размером 2000 строк, рассчитанный только на обработку разных меню я понял, что это требует унификации и общих подходов. Так родилась библиотека aiogram-dialog
В этой статье я бы хотел обратить внимание на некоторые проблемы, которые мы встречаем при создании таких меню, предложить варианты их решения. А во второй половине статьи показать как это решается с помощью aiogram-dialog
.
Мы не будем рассматривать архитектуру всего приложения, об этом вы можете прочитать у Фаулера или Мартина. Мы поговорим только про определенную часть UI ботов. Так же это не будет введением в разработку telegram-ботов с нуля. Я предполагаю, что читатель знаком с питоном, ООП и слышал о такой вещи как DRY.
Примеры выбраны так, чтобы проще было показать определенные проблемы, но это не единственные сценарии приводящие к ним.
Информация
- В рейтинге
- Не участвует
- Откуда
- Челябинск, Челябинская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность