Search
Write a publication
Pull to refresh
1
0

User

Send message

Обещания — настоящие и не очень

Level of difficultyEasy
Reading time7 min
Views16K

Хабр, привет! Меня зовут Настя Абрашитова, я руководитель службы инструментов репозитория в Яндексе. Однажды ко мне пришёл мой знакомый, назовём его Леонид. Он долгое время работал в небольшой компании. Он решил посоветоваться, стоит ли ему увольняться со своей работы или есть смысл остаться. 

С одной стороны, Леонид занимался одним и тем же годами, и ему было скучно. А ещё ему давно не повышали зарплату, которая была ниже рынка. С другой стороны, по его словам, у него были отличные карьерные перспективы. Когда он задумался о смене работы, его СTO сказала, что в ближайшее время собирается уйти на заслуженный отдых и видит в роли своего преемника именно Леонида.

Я решила уточнить, когда это должно случиться. Леонид немного погрустнел и сказал, что они не обсуждали конкретную дату. Более того, этот разговор проходил примерно за два года до того. Я спросила: было ли с тех пор что-то сделано, что приблизило Леонида к позиции СTO? Оказалось, что ничего.

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

Читать далее

Как обнулялся Credit Suisse: разбираем траекторию погружения на дно швейцарского гига-банка

Reading time12 min
Views47K

167 лет истории, 50 тысяч сотрудников и почти полтора триллиона долларов под управлением – всё это не помешало второму по размеру швейцарскому банку уйти на дно в марте 2023 года. В этой статье мы разберемся, как многолетние скандалы вокруг Credit Suisse уронили когда-то великий банк.

Читать далее

Сколько стоит умный дом? Рассказываю, как строил свой и что получилось за 1000 руб./м²

Level of difficultyEasy
Reading time25 min
Views106K

Подробный рассказ о том, как я свой дом и сад сделал умными. С фото, техническими деталями, стоимостями и выводами на будущее.

Читать

Ужасы PowerShell

Level of difficultyMedium
Reading time3 min
Views12K

Мне часто приходится пользоваться PowerShell. Конечно, его создатели не имели никакого представления о прекрасном и эстетике. Уродливость PowerShell особенна видна при его сравнении, например, с Python. С другой стороны, как говорится, c лица не воду пить - работает и хорошо? Но нет, мне кажется в PowerShell есть по крайней мере пара моментов, которые фатально влияют на его практическое применение.

Читать далее

Что общего между галерой (ладно, яхтой) и ИТ-командой

Level of difficultyEasy
Reading time10 min
Views5.6K


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

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

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

Начнём с групповой динамики, то есть слаживания команды. Вообще-то для решения этой задачи часто используются корпоративы, но мы начнём с теории.
Читать дальше →

Как выбрать оптимальный способ соединения деталей в пластиковых корпусах

Reading time5 min
Views23K

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

Читать и смотреть картинки

Хочется лучше жить? Просто начни просить

Level of difficultyEasy
Reading time7 min
Views65K

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

Читать далее

Мониторинг Postgresql: запросы

Reading time6 min
Views63K

В 2008 году в списке рассылки pgsql-hackers началось обсуждение расширения по сбору статистики по запросам. Начиная с версии 8.4 расширение pg_stat_statements входит в состав постгреса и позволяет получать различную статистику о запросах, которые обрабатывает сервер.


Обычно это расширение используется администраторами баз данных в качестве источника данных для отчетов (эти данные на самом деле являются суммой показателей с момента сброса счетчиков). Но на основе этой статистики можно сделать мониторинг запросов — посмотреть на статистику во времени. Это оказывается крайне полезно для поиска причин различных проблем и в целом для понимания, что происходит на сервере БД.


Я расскажу, какие метрики по запросам собирает наш агент, как мы их группируем, визуализируем, так же расскажу о некоторых граблях, по которым мы прошли.

Читать дальше →

Как я делал внутренний cookbook по тому, как писать код (и результат можно скачать)

Level of difficultyHard
Reading time16 min
Views18K

Авокадо с зубами подсказывает, что так код легче поддерживать, дописывать и рефакторить. Мы всё теперь пишем только так.

Привет, Хабр! У нас была проблема: каждый писал код как хотел. Было очень тяжело это поддерживать и ревьюить. Мы сначала думали, что достаточно написать стандарт кода. Оказалось, недостаточно, ему ещё надо обучить. Чтобы обучить, мы открыли для ревью эталоны кода, чтобы покрыть ими самую частую логику взаимодействия с компонентами. Тоже не хватило. А заодно я узнал, что мои же «золотые» образцы противоречили моему же стандарту кода (сначала было смешно, а потом пришлось переписывать).

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

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

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

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

На сегодня ни в одной компании в России я не видел целостного подхода в сборке с кукбуком. Какие-то части встречаются, в сборке — нет. Вот я и хочу рассказать, как мы это сделали у себя в банке.

Посвящается всем, кто коллекционирует элегантные решения без привязки к языку, фрэймворку, Фаундлингам и Software Craftsmanʼам.

Погнали.
Читать дальше →

Не можете измерить — не сможете улучшить: как мы используем метрики в разработке автотестов

Level of difficultyEasy
Reading time8 min
Views4.8K

Привет! Меня зовут Александр, я работаю QAA менеджером в компании Wrike, начинал с позиции QAA инженера в далеком 2010-ом и был первым в этой роли. За 12 лет нам удалось построить крутую команду и создать систему контроля качества, которая позволяет быстро и без багов деплоить продуктовый код в продакшен. 

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

Читать далее

Зубы курильщика (не в смысле, что плохие, а реально курильщика)

Level of difficultyEasy
Reading time14 min
Views16K

Для курильщиков характерно, что потемнение зубной эмали и кариес образуются в первую очередь не с наружной, а с внутренней (язычной или нёбной) стороны зубов. Там, где они больше соприкасаются со слизистой и происходит основное вдыхание дыма.

Если вы курите, то, наверное, вам уже кто-то да говорил, что это не совсем полезно. На этом нотацию заканчиваю и перехожу к практике.

Зубы желтеют.

Ещё дёсны кровоточат, но не сразу.

Коротко — поправить можно.

Табачный дым — это никотин плюс более 4 тысяч летучих и нелетучих компонентов вроде различных смол, органических кислот, полифенолов, углеводов, металлов и т. д. И всё это добро очень плохо сказывается на зубах (и ротовой полости в целом) курящих людей. Многие наши курящие пациенты искренне удивляются тому, что их зубы желтеют от сигарет.

Сначала температурный градиент (а вы греете зубы примерно до 60 градусов Цельсия) создаёт микротрещины. Потом туда проникают смолы, потом образуется плёнка, под которой здорово себя чувствуют бактерии. А дальше у нас нарушение слюноотделения и убыль дёсен. Всё это можно приостановить или замедлить. Иногда дорого.
Читать дальше →

Терминальные мультиплексоры

Reading time4 min
Views11K

Статья будет включать в себя обзор существующих проектов для мультиплексирования ввода/вывода терминала операционной системы Linux. Для тестов будем использовать Ubuntu Server 20.04.

Читать далее

Какую профессию в ИТ выбрать, чтобы в 65+ не бояться пенсии, а открыть свой около-ИТ бизнес?

Level of difficultyMedium
Reading time6 min
Views23K

Привет, меня зовут Макс и у нас несколько ИТ-бизнесов в РФ. В команде ~15 программистов, тестировщики, дизайнеры, менеджеры по проектам и я. Дам личную оценку перспективам выбора профессии в ИТ на 2023+ года с прицелом на «хочу открыть свой бизнес« или «не хочу жить на пенсию 7000 р.». Если кого-то задену искренностью, прошу прощения заранее.

В подготовке статьи мне помогали подписчики отсюда «Русский ИТ бизнес» — там пишу всю «изнанку», с чем сталкиваемся в процессе работы, без приукрашивания и маркетинговой «лапши на ушах». Кто хочет посмотреть, чем мы занимаемся вот: бизнес 1бизнес 2 и совсем старенький бизнес 3.

Итак, какие у нас есть специальности в ИТ, крупными «мазками»?

Читать далее

Сказка про Method as Parameter

Reading time9 min
Views10K

Наверняка вы вызывали методы в C#. И казалось бы, что тут может быть интересного. Но тут есть о чем поговорить, есть что интересного рассказать.

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

Читать далее

Чего еще нас лишит нейросеть

Reading time5 min
Views54K

Сначала этот текст должен был стать комментарием к посту GPT-3. Есть проблема побольше, чем потеря рабочих мест, где автор приводит несколько прогнозов, ни один из которых мне не нравится. Нет, прогнозы хорошие, может быть даже сбудутся, но самая главная, как мне видится, опасность – упрощение поиска с помощью нейросетей, там даже не упомянута. А именно она ударит по обществу первой, еще задолго до появления президента-нейросети.

Дальше много букв

Clean Architecture, DDD, гексагональная архитектура. Разбираем на практике blog на Symfony

Level of difficultyMedium
Reading time91 min
Views101K

Всем привет! Давайте знакомиться ;) Я Аня, и я php разработчик. Основной стек - Magento. С недавних пор начала посматривать налево на Symfony и писать свои Pet Projects на этом фреймворке.

Мне всегда нравилось писать решения которые легко бы расширялись / адаптировались под требования бизнеса (заказчика). И мне всегда хотелось сделать это более 'правильно' и красиво. Так я и познакомилась с понятиями чистой архитектурой.

Мой пост ни в коем случае не претендует на самый правильный. Но позвольте мне здесь донести свои идеи. В комментариях буду рада услышать конструктивную критику к данному посту.

Для нетерпеливых, вот прямая ссылка на гитхаб

Читать далее

Как подружить Celery и SqlAlchemy 2.0 с асинхронным Python

Level of difficultyMedium
Reading time3 min
Views11K

Недавно, я столкнулся с задачей, когда с проекта на Python нужно было стряхнуть пыли и заставить работать чуточку производительнее. В следствии чего монолит был распилен на микросервисы, а брокером между сервисами стали всем знакомый RabbitMQ и такой же старый как сам Python - Celery. Проект был перенесен с Django на FastAPI, который по-моему субъективному мнению является идеальным решением для любых бэкендов на Python. Проблема с которой я столкнулся во время подключения Celery описана в данном посте.

Читать далее

Как я ставлю задачу для сотрудника

Level of difficultyEasy
Reading time4 min
Views18K

Я много раз ставил задачу для программиста, а он её выполнял неправильно или вообще не выполнял. Я думал всё дело в некомпетентности исполнителя, а оказалось всё сложнее.

Меня зовут Андрей Глушко. Я менеджер ИТ проектов, занимаюсь менторством, прошёл путь от разработчика до руководителя, в своих подходах опираюсь в первую очередь на людей, а потом уже на практики.

Читать далее

Ученые телепортируют энергию при помощи квантовой механики

Level of difficultyMedium
Reading time9 min
Views12K


Протокол телепортации квантовой энергии предложен в 2008 году и по большей части был проигнорирован. Но сегодня два независимых эксперимента показали, что он работает. 15 лет назад физик-теоретик из Университета Тохоку в Японии Масахиро Хотта предположил, что вакуум можно заставить что-то нам дать.

Читать дальше →

Перевод предобученной модели Keras на матричные вычисления

Level of difficultyMedium
Reading time11 min
Views7.6K

По заказу одного из проектов мне потребовалось сделать агрегатор новостей в Телеграм. После долгих поисков реализации (о них ниже в статье) была создана нейронная сеть на базе Keras, которая имела высокое качество, но оказалось, что Keras нельзя было установить на инфраструктуре (просто не было соответствующей сборки) и мне пришлось решать вопрос, как перевести обученную модель в Keras на реализацию, которая не требует установленного Keras.

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

Читать далее

Information

Rating
Does not participate
Registered
Activity