Все потоки
Поиск
Написать публикацию
Обновить
1013.11

Программирование *

Искусство создания компьютерных программ

Сначала показывать
Порог рейтинга
Уровень сложности

Что за зверь n8n. Первые шаги автоматизации

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров21K

Разбираемся, что собой представляет n8n — мощный open-source инструмент для no-code автоматизации, и создаём первый рабочий процесс: Telegram-бота, который находит заказы в Google Таблицах.

Читать далее

Пиво. Деньги. Два программиста

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров15K

В 11-м классе я начал учить Visual Basic, чтобы зарабатывать деньги создавая приложения на заказ. Это язык был выбран как наиболее простой и дружелюбный для человека не знакомого с программированием. Через несколько месяцев изучения я понял, что готов, и рассказал идею своему другу, который неплохо знал C++. Выпив по кружке пива мы решили создать профиль на фриланс‑бирже и написать, что наша молодая динамичная корпорация готова выполнить проект любой сложности и на любом языке. Мы были молоды, заряжены, и просто рвались в алгоритмический бой! Название компании выбрали первое, что пришло в голову — «SuperSoft».

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

Через некоторое время мы заметили запрос на разработку CRM системы. Судя по скриншотам и описанию — вроде ничего сложного, за несколько месяцев можно справиться. У проекта уже были ставки от разных компаний с предложением цены, времени разработки и условий. В среднем предложения были по 10 000$ плюс‑минус пару тысяч.

У нас не было прокаченного аккаунта и отзывов клиентов, поэтому единственное что мы могли делать — демпинговать ценой. Мы написали, что наш высокопрофессиональный коллектив сделает этот проект в два раза быстрее конкурентов, а вместо 10 000$ разработает его за 5000$.

Мы разместили заказ и стали ждать. Через какое‑то время часть конкурентов увидела наше предложение и тоже снизила цены. Мы увидели несколько приложений с Индии по 5000$ и сроки разработки такие же как у нас. Мы приняли стратегические решения ещё снизить цены до 3000$ и добавить к своему предложению, что мы также протестируем приложение и сделаем дизайн.

Читать далее

Правильный старт: как заложить фундамент проекта

Время на прочтение2 мин
Количество просмотров2.7K

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

Читать далее

60 открытых уроков августа: от C++ и Swift до аналитики и DevSecOps

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров849

Если вы давно хотели разобраться с CI/CD, научиться запускать высоконагруженные API или наконец-то понять, как работают трансформеры в ML — вам сюда. В августе мы проведем 60 открытых уроков по ключевым темам разработки, архитектуры, безопасности, тестирования, анализа и управления.

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

Читать далее

Карьера вайб-кодера — это тупик

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров41K

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

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

До недавнего времени я по большей мере игнорировал этот ажиотаж. Я читал заголовки, время от времени просил Claude или ChatGPT помочь мне в отладке, но ничего больше. Пришла пора учиться вайб-кодингу!

Читать далее

Я тимлид, я так вижу! Когнитивные искажения и где они обитают

Время на прочтение21 мин
Количество просмотров5.5K

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

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

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

Давайте разбираться!

Читать далее

От джуна до тимлида и обратно: почему я выбрал код

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров29K

За 20+ лет в разработке я прошёл путь от студента с книгой по C++ до техлида, но понял: управление людьми приносит меньше удовольствия, чем написание кода. Карьерный рост — это не всегда движение вверх по иерархии, иногда стоит выбрать то, что действительно нравится, а в IT можно хорошо зарабатывать просто программируя.

Читать далее

Обработка исключений в 1С

Время на прочтение6 мин
Количество просмотров3.2K

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

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

Читать далее

Если не хватает памяти для процессинга модели SSAS: варианты решения проблемы

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров555

Всем привет! Меня зовут Николай, я DBA-разработчик SimbirSoft. Если вам приходилось иметь дело с табличной моделью данных SQL Server Analysis Services (SSAS), то вы наверняка знаете, что на сервере она работает только в режиме In-Memory и использует под свои процессы выделенную часть оперативной памяти. А когда памяти недостаточно для нормальной работы, то возникает системное сообщение о ее нехватке.

В этой статье я кратко рассмотрел причины и общие стратегии по решению данной проблемы, а также рассказал о своем опыте на примере табличной модели объемом около 100 ГБ на MS SQL Server 2019 Ent.  

Погрузиться в чертоги

Универсальная С++ фабрика объектов: для Qt и не только

Уровень сложностиСложный
Время на прочтение47 мин
Количество просмотров8.2K

Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой Desktop-версии корпоративного супераппа для совместной работы VK Teams.

Если вы тоже работали с большими проектами, где активно применяются объектно-ориентированные паттерны проектирования, то наверняка сталкивались с паттернами проектирования Factory Method или AbstractFactory. В процессе разработки я неоднократно ловил себя на мысли, что часто пишу однотипный код таких фабрик, и задумался о том, как можно было бы избежать таких самоповторений. 

В этой статье я покажу, как сделать универсальную фабрику объектов, покрывающую большую часть потребностей, следующую принципам DRY (Don’t Repeat Yourself), а также как можно использовать некоторые «фишки» новых стандартов С++. 

Читать далее

Steroids UI Kit — разделение бизнес-логики и отображения React-компонентов

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.1K

Это вторая статья из цикла про наш фреймворк Steroids, в которой мы расскажем об архитектурном подходе к построению UI-компонентов. Если вы ещё не читали первую статью — начните с неё. В ней мы объясняем, что такое Steroids и какие задачи он решает.

Читать далее

Основы успешного агентного кодинга (LLMDD)

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5.3K

Я постоянно сталкиваюсь со скепсисом относительно самой возможности создания качественного программного продукта при помощи LLM, а когда говорю, что я создаю приложения даже не глядя в код, мне просто не верят. Действительно, при помощи вайб-кодинга в его классическом понимании ничего дельного пока что не построить, но есть несколько основных техник которые я использую, чтобы добиваться качественного результата.

Рассмотрим их в этой короткой статье

На защите GameDev'a: статический анализ и Unity

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2.4K

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

Читать далее

Ближайшие события

Уже завтра! OpenIDE — профессиональные инструменты без ограничений

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров16K

Уже завтра, 31 июля состоится публичный запуск OpenIDE — новой мультиязычной среды разработки, построенной на базе IntelliJ IDEA Platform.

Мероприятие пройдет онлайн на YouTubeVK и RUTUBE каналах Spring АйО. Участие абсолютно бесплатное.

Главное — зарегистрироваться, чтобы получить на почту ссылки на трансляцию и файл .ics для добавления события в календарь.

Читать далее

Гайд по timeout, watch и at: управление временем выполнения команд в Linux

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.9K

Как часто вы запускали какую-нибудь штуку в терминале — и она зависала навсегда? Или наоборот: вам нужно было увидеть, как что-то меняется каждую секунду, а вы упорно жали стрелку вверх и Enter? А может вы хотели запланировать задачу через 5 минут, но cron — это уже overkill?

Для всех этих сценариев в Linux есть три проверенных утилиты: timeout, watch, at. И, да, можно было бы обойтись скриптами и велосипедами, но... мы же не зря используем Unix-подход, где всё уже давно придумано.

Сегодня мы рассмотрим: как управлять временем выполнения команд в Linux с помощью timeout, watch и at.

Читать далее

AsmX G3: Архитектура кодировщика ZGEN. Как hwm генерирует машинный код amd64

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров1.3K

Большинство компиляторов — это монолитные черные ящики, унаследованные из прошлого. Мы отвергли этот путь. Мы разбираем архитектуру x86_64 до "первых принципов", чтобы понять, как на самом деле работает кремний. В этой статье мы вскрываем капот нашего компилятора ZGEN и его "фабрики машинного кода" — hwm. Никакой магии. Только чистая, детерминированная инженерия, которая превращает ассемблер в исполняемые биты.

Перейти к полному техническому разбору

Как наиболее эффективно защитить права на ПО

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров875

Статья рассматривает способы защиты прав на программное обеспечение (ПО) в России, включая авторское право и патентование. Авторское право охраняет код программы, но не её идеи, тогда как патентование возможно для технических решений, реализуемых ПО. Приводятся примеры успешного патентования способов. Рекомендуется комбинировать оба метода для максимальной защиты IT-продуктов.

Читать далее

JEP 519: Компактные заголовки объектов — теперь официально

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров2.2K

Команда Spring АйО представляет одну немаловажную фичу Java 25: компактные заголовки объектов (Compact Object Headers). Это позволит JVM экономить память и ускоряться без вмешательства в код.

Читать далее

Введение в Jimmer ORM

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3K

Совсем недавно статью про ORM-фреймворк Jimmer Михаила Поливахи, эксперта сообщества Spring АйО, опубликовал Baeldung.

Перед вами переработанная и дополненная версия, подготовленная специально для сообщества Spring АйО. В ней Михаил раскрывает ключевые особенности Jimmer: отсутствие JPA-наследия,  декларативные DTO и гибкий DSL и потенциальную интеграцию со Spring.

Читать далее

Гайд по использованию Spring GraphQL. Часть 1

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.8K

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

Меня зовут Дмитрий, и я бэкенд-разработчик в SENSE с 10-летним опытом. За это время я успел поработать с финтех-проектами, автоматизировал обработку заказов для интернет-магазинов, но GraphQL долгое время оставался для меня загадочной технологией — я просто не сталкивался с ним в работе. А когда он мне понадобился, то обнаружил, что толковых материалов по Spring-реализации GraphQL очень мало. Поэтому, я решил не только разобраться самостоятельно в теме, но и написать гайд для тех, кто, как и я, только начинает погружаться в эту тему. 

Разбираться будем постепенно: в первой статье покажу, как создать проект с GraphQL с нуля. Поехали!

Читать далее

Вклад авторов