Публичное выступление на митапе или конференции — не только возможность поделиться своими идеями и опытом, но и шанс заявить о себе. Но многие не знают, как подступиться к этой задаче. В статье опишем семь простых шагов, которые помогут вам подготовиться к выступлению и не закончить его с мыслями «больше никогда». В основе текста — советы консультанта IT-конференций Романа Поборчего, который подготовил к выступлениям уже более 2 000 разработчиков и инженеров.
Пользователь
Три способа оптимизировать работу с памятью на Go с помощью memory pools
Привет, Хабр! Меня зовут Александр Иванов, я разрабатываю средства управления сетевыми элементами сотовой связи и пишу на языке Go в YADRO. Однажды я работал над приложением, которое испытывало пиковые нагрузки каждые 10 минут, но выполнить обработку памяти быстро мешал Garbage Collector. Чтобы решить эту проблему, я изучил несколько способов реализации memory pool и провел испытания скорости работы.
В этой статье расскажу, как уменьшить влияние GC на выполнение программы и покажу бенчмарки для разных memory pools. Объясню, какая из реализаций подойдет вашему проекту, а когда лучше не использовать memory pools и полагаться на встроенные механизмы рантайм-окружения Go.
ТОП-6 российских онлайн-досок. Чем заменить Miro
Лучшие онлайн-сервисы для совместной работы команд, из которых парочка бесплатных + одно мини-приложение в Telegram!
Сразу два аналога Notion, бесплатный сервис аналитики для продавцов на WB – и еще 8 российских стартапов
10 новых российских сервисов для нарезки шортсов при помощи ИИ, публикации в цифровых СМИ, авто-ответов на отзывы и многого другого. Битва за «Продукт недели» началась!
Product Radar — здесь каждую неделю публикуются лучшие онлайн-сервисы и железки от русскоязычных команд.
Аналитик vs. презентация задачи. Изучаем профессионально-деформационные диалекты коллег
Привет =) На связи снова Анастасия-аналитик из команды STM Labs со своей любимой темой «мягких» навыков. В статье про собеседования (первая часть тут, вторая тут) я сравнила аналитика с переводчиком с бизнесового языка на разработческий. Или наоборот.
Недавно у нас на работе произошел случай, на примере которого можно в шутливой форме раскрыть это сравнение и наглядно показать, почему же аналитику важно понимать, с кем он разговаривает, и как доносить одну и ту же информацию до людей с разными ролями в проекте.
Перенос данных из Oracle в PostgreSQL быстро и без потерь: как мы используем для этого Airflow и NiFi
С необходимостью переноса данных из Oracle столкнулись многие российские компании: в июле 2022 года корпорация, создавшая этот продукт, ушла с российского рынка из-за санкций, как и множество других зарубежных IT-компаний. У пользователей из нашей страны больше нет поддержки вендора, а значит со временем система может перестать корректно работать.
Система хранения Oracle была очень популярна в России: данные в ней хранили и обрабатывали даже компании из государственного сектора. И всем нам предстояло быстро решить, куда и каким образом перенести огромные объёмы ценной информации, ничего не потеряв в процессе переноса.
REDIS: такой простой и такой сложный
Меня зовут Андрей Комягин, я СТО компании STM Labs. Мы занимаемся разработкой очень больших распределённых высоконагруженных систем для различных отраслей и в своей работе широко используем open-source решения, в том числе СУБД Redis. Недавно я подробно рассказывал об этой системе на конференции Saint HighLoad++, а теперь с удовольствием поделюсь основной информацией с читателями Хабра. Итак, поехали.
Распаковывая Valkey или миллион RPS на BSD-клоне Redis
В этот статье мы поделимся некоторыми результатами тестирования производительности Valkey (BSD-клон Redis). TL;DR: он действительно по ядрам скейлится лучше Redis и мы сделали миллион запросов с одного инстанаса.
В этом году Redis, “кеш с персистентностью”, мимкрирующий под СУБД и даже умеющий работать в режиме распределенного кластера – фантастически успешный проект, да и просто пример отличного продукта – сменил лицензию. Подробное рассмотрение лицензионной политики, включающее разбор лицензий Open Source и Source Available - выходит за рамки этой статьи. Скажем лишь, что это всё продолжение битвы “против облачных провайдеров”, которые “пользуются” результатами “настоящих” open source проектов, предоставляя услуги management service.
Итак, Redis cменил лицензию, и почти сразу же сотрудники AWS (Amazon Web Services, крупнейшего облачного провайдера) в сотрудничестве с другими облаками объявили о выпуске форка, Valkey: https://valkey.io/
Создание Git-коммита: The Hard Way
Мы постоянно используем высокоуровневые команды git, такие как git add
и git commit
. Однако также существует другая группа команд git, которые обрабатывают низкоуровневые операции.
В этой статье мы создадим git‑коммит, используя низкоуровневые операции, а не команду git commit
.
Нейронные оптимизаторы запросов в реляционных БД (Часть 1)
В 1970-х годах известный программист Эдгар Кодд разработал математически выверенную теорию организации данных в виде таблиц (реляций). С тех пор утекло немало воды — появилось большое количество различных коммерческих и open-source реляционных систем управления базами данных (РСУБД). Скоро стало понятно, что эффективное получение данных из базы — задача далеко не тривиальная. Если говорить прямо, она нелинейная и в общем случае NP-сложная.
Когда SQL-запрос становится немного сложнее: SELECT * FROM table
, у нас появляется огромная вариативность его исполнения внутри системы — и не всегда понятно, какой из возможных вариантов эффективнее как по памяти, так и по скорости. Чтобы сократить огромное количество вариантов до приемлемого, обычно используются так называемые эвристики — эмпирические правила, которые придуманы человеком для сокращения пространства поиска на несколько порядков. Понятное дело, эти правила могут отсечь и сам оптимальный план выполнения запроса, но позволяют получить хоть что-то приемлемое за адекватное время.
В последние годы в связи с активным развитием ML начали развиваться и нейронные оптимизаторы запросов —особенность которых в том, что они самостоятельно, без участия человека, находят необходимые закономерности в выполнении сложных планов исходя из обучения на огромном количестве данных. Тенденция началась приблизительно в 2017 году и продолжается до сих пор. Давайте посмотрим, что уже появилось в этой области в хронологическом порядке и какие перспективы нас ждут.
Как настроить автодополнение для команды ssh с хостами из .ssh/config
Я администрирую много серверов и параметры подключения к ним занесены в ~/.ssh/config
файл. В этой статье я расскажу, как настроить автодополнение для команды ssh
, чтобы Bash подсказывал хосты, указанные в файле ~/.ssh/config
.
Компиляция математического выражения из строки динамически во время выполнения в C# (.NET)
В этой статье я продемонстрирую, как динамически компилировать математические выражения из строк в runtime в C#, исключительно просто и быстро. Это решение поддерживает различные математические контексты, включая логические выражения, научные вычисления и C#, а также позволяет расширять эти контексты пользовательскими переменными, операторами и функциями.
Как я искал работу лидом в 2024 году
На дворе было лето 2024 года и я понял, что хочу сменить работу. Последние 2 года я работал в довольно крупной, но мало известной компании на позиции лида. И вот в один прекрасный день я отнес заявление на увольнение своему руководителю и начал готовить резюме.
В статье вы узнаете из каких шагов состоит поиск и как вообще обстоят дела с вакансиями лидов.
Подробно про JWT
О чем эта статья: мы разберемся, что такое JSON Web Token, как он устроен и для чего используется, рассмотрим такие приемы, как «black-list токенов» и «контроль версий» токенов. Для наглядности, в конце будут блок-схемы клиент-серверных запросов с пояснениями.
Для кого эта статья: для тех, кто хочет детально понять что такое JWT, а так же для тех, кто просто ищет схему реализации.
Как сменить технологию и не закопаться в рефакторинге: опыт внедрения DDD в проект на FastAPI — Часть 2
Привет, хабравчане!
В первой части были рассмотрены паттерны проектирования Repository и Unit of Work.
Это вторая часть цикла о DDD. В ней расскажу, как добавить к проекту событийно-ориентированную архитектуру.
Код подопытного приложения ищите в репозитории по ссылке. Подробнее о DDD и паттернах Repository и Unit of Work читайте в первой части по ссылке...
Как оценивать эффективность продуктовых команд. Часть 1: процессные метрики
Хабр, привет! Я Денис Теплов, Директор по продукту в Лиге Ставок.
В нашей компании продуктовая структура представляет из себя 9 продуктовых end-to-end команд общей численностью ~130 человек, работающих над развитием одного продукта. Каждая из команд укомплектована всеми необходимыми компетенциями. Все живут в одном релизном процессе, делают задачи из одного бэклога (и проекта в Jira), и следят за одними метриками в Amplitude.
В условиях такого тесного взаимодействия естественным образом возникает вопрос: А как оценивать их эффективность?
Об этом мы и поговорим.
Самые главные ошибки в карьере UX дизайнера и уроки, которые я усвоил
Мой путь UX-дизайнера, разумеется, состоял из взлетов и падений.
Сейчас, спустя время, я нередко вспоминаю о различных проектах, в которых участвовал, и о решениях, которые мне приходилось принимать – успешных, и не очень. Поэтому, на данном этапе своего пути, я хочу подвести некоторые итоги.
И первое, что я хотел бы обсудить – совершение ошибок. Мы все совершаем ошибки и учимся на них. Таков вот способ получения опыта в жизни человека. И, как оказывается впоследствии, негативный опыт ценнее позитивного.
Итак, какую самую серьезную ошибку совершил я? И какой урок я извлек после?
Я решил проанализировать свой опыт и отследить те самые моменты, когда были приняты неверные решения, отметить их для себя и поделиться с Вами, чтобы вы смогли избежать их. Или, как минимум, быть готовыми к ошибкам.
Я не единственный дизайнер интерфейсов, который принял такое решение. Многие из нас делятся своими историями, пытаясь найти те самые промахи, с которыми может столкнуться дизайнер. Я изучал и чужой опыт, благо на Reddit'е таких историй уйма.
Оставлю на ваше усмотрение: либо последовать нашим советам, либо самостоятельно строить свой путь.
Итак, классифицировал самые популярные ошибки 👇
Зачем нужны ключи в JavaScript фреймворках и библиотеках?
Всем привет! В данной статье я бы хотел рассказать о таком понятии как "ключи" в JavaScript фреймворках и библиотеках; зачем они используются и как помогают при работе с DOM.
Зачастую, на собеседованиях спрашивают про эту тему и нередко выходят ответы по типу: "чтобы предотвратить неконтролируемое поведение" или "их нужно указывать, т.к. это что-то на подобие уникальных идентификаторов" и др. Конечно, данные ответы с одной стороны - правильные, но главного они не отражают.
Я постараюсь внести небольшую ясность в эту тему показав то, как эта концепция работает на реальных примерах и какой код за ней стоит.
Отправка сообщения в ДМДК через stunnel на С#
Задача - у нас есть розничные продажи и нам надо отправлять информацию о них в госсистему ДМДК.
Как зарегистрироваться в ДМДК и настроить stunnel я напишу отдельную статью, считаем что он есть, настроен и работает. Соответственно у нас еть ЭЦП, все необходимые сертификаты зарегистрированы.
Далее лезем в документацию сервиса и берем структуру отправляемого xml файла в качестве шаблона, для простоты решения этот шаблон было решено сохранить в виде файлика в папке с программой и туда засовывать необходимые данные.
Решаем передавать каждый чек как отдельное сообщение, благо их в день не много и можно передавать не сразу, а в течение нескольких дней после продажи. Передавать будем в фоне асинхронно, и пытаться передать до тех пор пока ДМДК не съест (иногда она глючит, иногда не работает, иногда на профилактике)
Руководство Google по стилю в C++: 2019 — 2024
Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Однако, любой стайлгайд со временем корректируется и дорабатывается: иногда этому способствуют обновление стандартов языка, иногда меняются тенденции.
В статье приведены изменения Руководства Google по стилю в C++ за 5 лет: с 2019 по 2024.
Краткое содержание изменений:
+ C++20 - NULL + концепты - #pragma + constinit - std:hash + consteval - u8 + аргументы-ссылки - ENUM_VALUE_NAME + повесточка и "they" в единственном числе - здравый смысл
Информация
- В рейтинге
- 5 942-й
- Зарегистрирован
- Активность