Pull to refresh
11
0

Пользователь

Send message

Отказаться от Postman, перейти на Bruno и жить счастливо

Level of difficultyEasy
Reading time14 min
Views25K

Если вы работаете с API и вам надоело вручную протыкивать запросы в Postman, сталкиваться с платными ограничениями и невозможностью нормально делиться коллекциями с командой — вы не одиноки. Хватит это терпеть!

Именно с этими проблемами я столкнулся как системный аналитик в банке. Postman оказался неудобным, закрытым и дорогим инструментом для командной работы. Это заставило меня искать альтернативу, и я нашёл её в бесплатном и открытом API-клиенте Bruno.

В этой статье расскажу, как с ним работать и какие сценарии он закрывает в реальной проектной работе.

Туториал с признаками обзора

Firebird Conf 2025

Level of difficultyMedium
Reading time17 min
Views1K
Добрый день. 29 мая в Москве прошла конференция Firebird Conf 2025. Она была организована компанией РЕД СОФТ. На ней были озвучены доклады как о планах развития Firebird и РЕД Базы Данных, так и об опыте использования и внедрения Firebird в различных организациях. Мы взяли интервью у организаторов и докладчиков, поговорили с ними о докладах и впечатлениях от конференции. Надеюсь, вам понравятся наши интервью.
Читать дальше →

Эти CSS-техники устарели

Level of difficultyMedium
Reading time6 min
Views19K


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


Общаясь с коллегами, я заметил, что они незнакомы с последними возможностями CSS. Как обычно, у всех свои причины. У кого-то много повседневной рутины. Кому-то в принципе неинтересно, что нового происходит в CSS. А кто-то по привычке использует подходы десятилетней давности и ему норм.


Как фанату CSS, мне грустно. Сколько же прикольных вещей проходит мимо них. Да и их код может быть меньше, надёжнее и проще для понимания. В общем, я собрал несколько фрагментов кода, которые были популярны давным-давно, и переписал их с помощью новых возможностей CSS.


Давайте посмотрим, что я вам подготовил.

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

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

Level of difficultyMedium
Reading time9 min
Views12K

В мире Python существует много мифов о том, как работают переменные. Одни говорят, что "всё передаётся по ссылке", другие утверждают обратное. Правда, как обычно, лежит где-то посередине и гораздо интереснее простых объяснений. В этой статье мы детально разберём механизмы работы с памятью в Python 3.13, изучим различия между mutable и immutable объектами, и поймём, когда Python создаёт новые объекты, а когда переиспользует существующие. Дабы статье пожить подольше - рассмотрю только версию 3.13.

Жми, если не Гей

Блеск и нищета системы KPI

Reading time21 min
Views15K

Многие из вас — особенно, те, кто успели поработать в крупных компаниях или сменили много мест работы — наверняка, слышали аббревиатуру «KPI».

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

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

В этой статье рассказано:

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

Читать далее

Поднимайте If вверх, опускайте For вниз

Level of difficultyEasy
Reading time3 min
Views32K

Эта статья — краткая заметка о двух связанных друг с другом эмпирических правилах.

Поднимайте If вверх

Если внутри функции есть условие if, то подумайте, нельзя ли его переместить в вызывающую сторону:

// ХОРОШО

fn frobnicate(walrus: Walrus) {

... }

// ПЛОХО

fn frobnicate(walrus: Option<Walrus>) {

let walrus = match walrus {

Some(it) => it,

None => return,

};

...

}

В подобных примерах часто существуют предварительные условия: функция может проверять предусловие внутри и «ничего не делать», если оно не выполняется, или же может передать задачу проверки предварительного условия вызывающей её стороне, а при помощи типов (или assert) принудительно удовлетворить этому условию. Подъём проверок вверх, особенно в случае предварительных условий, может иметь лавинообразный эффект и привести к уменьшению общего количества проверок. Именно поэтому и возникло это правило.

Читать далее

Почему я исправляю баги бесплатно и как это изменило мою карьеру

Level of difficultyEasy
Reading time6 min
Views15K

8 лет назад я исправил опечатку в чужом репозитории, а сейчас регулярно делаю коммиты в проекты, которые использую, и даже вошел в core team библиотеки с 27000 звёзд на GitHub

В этой статье покажу, что участие в Open Source проще, чем кажется. Расскажу, как регулярная работа с чужим кодом помогает быстрее разбираться в незнакомых кодовых базах, писать тесты и лучше документировать решения. А также объясню, почему публичная активность на GitHub выгодно отличает вас от других разработчиков, особенно в эпоху повсеместного использования ИИ.

Читать далее

Отменить ЕГЭ? А после — градусники?

Level of difficultyMedium
Reading time8 min
Views22K

В последнее время всё чаще звучит критика в адрес современной системы образования. Главным «виновником» называют ЕГЭ — якобы именно он породил так называемое «поколение ЕГЭ» — людей с худшим уровнем знаний по сравнению с «нормальными» выпускниками прошлого. Некоторые даже требуют отмены ЕГЭ, полагая, что это автоматически решит все проблемы.

Но так ли всё однозначно? Попробуем разобраться: как устроен ЕГЭ, в чём его настоящие достоинства, и почему претензии к нему чаще всего не по адресу.

Читать далее

Курсы по тестированию — развод, маркетинг и пустышки

Level of difficultyEasy
Reading time18 min
Views12K

В этой статье — без прикрас и маркетинговой мишуры. Жестко, честно и по фактам рассказываю, как устроены мошеннические курсы в тестировании (и не только), как вас обманывают, и на что стоит обращать внимание, чтобы не слить деньги впустую.

Читать далее

Важное обновление BatteryTest 2

Level of difficultyEasy
Reading time3 min
Views4.7K
Месяц назад я завершил создание прибора для измерения ёмкости батареек и аккумуляторов, который могут повторить все желающие из доступных недорогих модулей. Благодаря идеям читателей, в программу прибора были внесены важные изменения. Кроме того, удалось найти подходящий модуль MOSFET для отключения нагрузки.



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

Основные функции ETL-систем

Reading time7 min
Views354K
ETL – аббревиатура от Extract, Transform, Load. Это системы корпоративного класса, которые применяются, чтобы привести к одним справочникам и загрузить в DWH и EPM данные из нескольких разных учетных систем.

Вероятно, большинству интересующихся хорошо знакомы принципы работы ETL, но как таковой статьи, описывающей концепцию ETL без привязки к конкретному продукту, на я Хабре не нашел. Это и послужило поводом написать отдельный текст.
Читать дальше →

Scala/Chisel против SystemVerilog: генерируем сложные цифровые схемы

Level of difficultyMedium
Reading time16 min
Views7.4K

В наши дни общепризнанный стандарт для RTL-описаний — это язык SystemVerilog, но популярность сейчас набирает его альтернатива, Chisel. Далее я расскажу подробней об этом языке, его преимуществах, недостатках и рисках, связанных с переходом на Chisel со стандартного стека. Отдельно остановлюсь на функциональном программировании — возможности Chisel, которой нет в SystemVerilog, — и на дополнительных возможностях Chisel, улучшающих механизм переиспользования модулей. А также о том, почему код на Chisel менее подвержен ошибкам и всегда работает. Ну, почти всегда.

Читать далее

Почему заводить «Алису» в доме с детьми — плохая идея?

Level of difficultyEasy
Reading time6 min
Views90K

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

И вот к чему это привело...

Случайный PCB-art, «сломавший головы» сотням студентов-электронщиков

Level of difficultyEasy
Reading time7 min
Views29K
image

Так случилось, что в 2017 году на «добровольных началах» я стал разработчиком задания демонстрационного экзамена по электронике для выпускников колледжей. Специфика самого экзамена заслуживает отдельного обсуждения, мы коснемся ее совсем кратко. В этой статье я хочу рассказать о проектировании электронной схемы, которая легла в основу экзамена.

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

Одна React-задача, демонстрирующая ключевые навыки на собеседовании

Level of difficultyEasy
Reading time7 min
Views31K

Как всего одна небольшая React-задача помогает глубже понять уровень кандидата на собеседовании? Разбираем нюансы работы с хуками, асинхронностью, состоянием гонки и сайд-эффектами. На первый взгляд задача кажется простой - всего лишь компонент, загружающий данные по username. Но в процессе решения выявляются ключевые моменты: правильно ли кандидат управляет состоянием, учитывает ли смену пропсов, обрабатывает ошибки и предотвращает race conditions. Этот вопрос помогает не просто проверить знания, а увидеть, как кандидат рассуждает и принимает технические решения.

Читать далее

Как работает кнопка Mute на Яндекс Станции. Подробный разбор логики и схем

Level of difficultyMedium
Reading time7 min
Views45K

Привет! На связи Геннадий «Крэйл» Круглов из команды, которая разрабатывает аппаратную часть Яндекс Станций. С кем-то из читателей Хабра мы уже могли познакомиться в рамках мероприятий Я.Железа, где делимся опытом разработки устройств.  

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

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

Читать далее

Старики будут править IT

Level of difficultyEasy
Reading time6 min
Views111K

Периодически на просторах интернета натыкаюсь на различные мнения по-тому, что в "Нарнии для разработчиков" нельзя находиться людям, которые уже преодолели барьер в 30 лет. И вообще этим людям пора либо перейти в менеджмент или запускать процесс само-утилизации и просто исчезнуть, для того, чтобы "молодые, успешные" 20 летние сеньоры пришли и начали перфомить так, что 30 летнему деду и не снилось.

Но так ли - это на самом деле, что более молодой разработчик может в базовых задачах выдавать большую производительность или вообще хотят ли текущие зумеры идти работать в айтишечку, чтобы перфомить? Давайте разберемся.

Читать далее

Доктора Кнут, Моррис и Пратт, или Как я перестал бояться и полюбил префикс-функцию

Level of difficultyMedium
Reading time9 min
Views16K

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

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

Читать далее

Obsidian — Notion свободного человека

Level of difficultyEasy
Reading time5 min
Views119K

Notion объявили, что уходят из России и 9 сентября блокируют аккаунты пользователей.

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

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

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

Год назад перевёл все свои заметки в Обсидиан. Причина простая: Обсидиан может гораздо больше вещей, чем Notion.

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

Читайте в статье

Весь бекэнд сталелитейной компании — как это у нас устроено

Reading time6 min
Views11K
image

Пять лет назад у нас почти не было собственной разработки бэка: очень многие вещи делались силами подрядчиков, вендорами и командами поддержки. «Почти не было» — потому что всё же было много SAP и легаси-систем, разработанных, например, на Oracle, которые не менялись по многу лет.

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

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

Административно всё устроено так: есть профильные и функциональные центры компетенций, например, есть первые переделы (обработка руды и всё такое), есть прокатное производство, есть выплавка, есть ремонты, есть HR-системы и так далее. Функционально все бекэнд-разработчики объединены в нашем Центре компетенций. Я и лидеры гильдии отвечаем за соответствующие стеки.

Мы не трогаем уровень микроконтроллеров технологического оборудования, не лезем в АСУ ТП (там есть отдельное подразделение со своей атмосферой), поэтому основная часть нашей работы находится на уровне управления производством. Есть ещё системы управления закупками, продажами, логистикой, планирования на различном уровне.

Значительная часть наших задач — разработка цифровых помощников, оптимизаторов производства и многих других вещей, про которые вы уже несколько лет читаете у нас в блоге на Хабре. Мы делаем архитектуру, логику, реализацию под конкретное производство и контрибьютим это в свой набор компонентов.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity