Pull to refresh
6
0
Игорь @peacecoder85

Backend Engineer

Send message

Как я свалил рутинные задачи на low-code-платформу и не пожалел

Level of difficultyEasy
Reading time5 min
Views18K

Привет! На связи Леша Шамшур, разработчик ПО LiSeller. Недавно мой хороший знакомый Паша устроился джуниор-разработчиком в отдел бэкенд-разработки Debex: компания продает просроченные долги. 

После пришел ко мне и захотел поделиться уже своим опытом работы с low-код-инструментами. Решили, что будет круто выложить инсайты на Хабр. Начнем 👇 

Читать далее

Без кода и программистов: как ИИ убивает low-code

Level of difficultyEasy
Reading time10 min
Views13K

Искусственный интеллект стремительно врывается в сферу автоматизации бизнес-процессов и разработки, бросая вызов привычным low-code и BPM-платформам. «Через пять лет мы увидим решения, которые смогут заменить как минимум 50% программистов уровня junior и middle», ― шокирует один из экспертов. Но созрели ли мы для того, чтобы доверить искусственному интеллекту автоматизацию бизнес-процессов? «Я не готов ездить по мосту, спроектированному ИИ», ― парирует другой. Станет ли внедрение ИИ панацеей или приведет к закату эпохи low-code и BPM?

Ответы на эти и другие вопросы прозвучали в ходе дискуссии «ИИ и Low-code/No-code платформы», которая прошла на YouTube-канале AI4Dev. Павел Гребешков (Comindware), Борис Соколов (ex-UDP Auto), Константин Леладзе (Proscom), Артём Любченко («ЗЕРОКОТ») и Петр Гринь (BPMSoft) поделились своим видением перспектив интеграции ИИ и low-code/no-code платформ. Участники обсудили, как совместное использование этих технологий может повысить эффективность разработки, улучшить пользовательский опыт и открыть новые горизонты для бизнеса. Краткий обзор дискуссии - в этой статье в блоге ЛАНИТ.

Читать далее

Достижения, которые ценят работодатели: как инженеру по разработке добиться повышения на работе или премии

Level of difficultyEasy
Reading time9 min
Views8.1K

Всем привет! Меня зовут Станислав Тюленев, я технический лидер команды по разработке в одной из продуктовых команд Домклик.

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

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

Читать далее

CORS — это тупо

Reading time7 min
Views25K

Технология CORS и действующее в браузерах правило ограничения домена – те вещи, которые часто понимаются превратно. Ниже я объясню, что они собой представляют, и почему пора перестать волноваться по их поводу.

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

Прежде всего, отмечу, что CORS — это огромный костыль, помогающий снизить влияние ошибок, передающихся с унаследованным кодом. В этой системе защита предоставляется как по принципу отказа от участия (opt-out) в попытке частично купировать XSRF-атаки против незащищённых или немодифицированных сайтов, так и по принципу активного участия (opt-in), чтобы на сайте включалась активная самозащита. Но ни одной из этих мер не достаточно, чтобы решить целенаправленно созданную проблему. Если на вашем сайте используются куки, то вы обязаны деятельно позаботиться о его безопасности. (Ладно, это касается не любого сайта, но лучше перестрахуйтесь. Выделите время на тщательный аудит вашего сайта или выполните описанные ниже простые шаги. Даже придерживаясь самых разумных паттернов, вы всё равно можете подставиться под XSRF-уязвимости).

Читать далее

Антипаттерны в процессе разработки

Level of difficultyEasy
Reading time10 min
Views6.6K

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

Всё это сподвигло нас к анализу накопленного опыта и имеющихся материалов в области процессов разработки с акцентом на взаимоотношения в коллективах. Мы — это Евгений Филимонов и Андрей Клюйков, инженеры по тестированию КОМПАС-3D.

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

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

Читать далее

DuckDB. Колоночная OLAP СУБД в кармане

Level of difficultyMedium
Reading time5 min
Views5K

Привет, меня зовут Антон, я старший инженер в департаменте аналитических решений ЮMoney. В компании мы используем технологию MSSQL OLAP-кубов SSAS, которая хорошо себя зарекомендовала — она сравнительно легко развёртывается и достаточно производительная. Но есть ряд минусов: Microsoft прекратил развивать её примерно в прошлом десятилетии, технология требует производительных серверов, ну и, конечно, вопрос зависимости от иностранного вендора тоже стоит остро. Поэтому, посматривая по сторонам в поисках альтернативы, я решил попробовать недавно появившуюся технологию DuckDB. Особых надежд не было, но хотелось понять, на каком она уровне по сравнению с привычными для меня инструментами. 

Читать далее

Создание DSL на Rust

Level of difficultyEasy
Reading time4 min
Views3.5K

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

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

Читать далее

Стоит ли переходить на компьютер с ARM-процессором в 2024 году

Level of difficultyEasy
Reading time6 min
Views19K

Летом 2024 года большинство крупных производителей ноутбуков начали выпускать устройства на процессорах Qualcomm Snapdragon. Они базируются на архитектуре ARM, отличающейся повышенной энергоэффективностью. И если раньше чипам на этой архитектуре не хватало производительности для «взрослых» задач, то в последних поколениях они приблизились к продукции Intel и AMD. Поэтому их стали использовать не только в смартфонах, но и в компьютерах.

Однако тренд по переходу на ARM-процессоры начался не в этом году. Его задала Apple ещё в 2020-м. Их чипы собственной разработки семейства M тогда оказались мощнее всех предшественников и даже большинства конкурентов. И это при рекордной автономности новых макбуков.

Таким образом, к осени 2024 года имеем давно успешно освоившую энергоэффективную архитектуру продукцию Apple, состоящую в том числе из настольных ПК. А также новые линейки ноутбуков от ASUS, Lenovo, HP, Samsung и Dell.

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

Чем архитектура ARM отличается от классической x86?

Читать далее

Управление большими проектами: как правильно засунуть слона в холодильник

Level of difficultyMedium
Reading time6 min
Views8.6K

Проведя в ИТ большую часть жизни, в основном как руководитель ИТ-проектов (на моём счёту их уже 26, почти все связаны с внедрением ERP-систем), я накопил некоторый опыт управления, которым хотел бы поделиться в своих статьях на Habr. Надеюсь, мои истории будут полезны начинающим проектным менеджерам и тимлидам, заинтересуют зрелых руководителей или хотя бы развеселят сообщество. Аналитикам, программистам, инженерам и т.д. эта статья, скорее всего, не будет интересна.

Как и многие руководители проектов, я мечтаю об инструменте, который бы позволял мне легко и непринуждённо планировать проектные работы на горизонте всего проекта, а также на месяц и на неделю, мониторить выполнение работ, управлять ресурсами, сроками, пользоваться удобными дашбордами, быстро формировать отчёты для руководства (а не рисовать картинки в Share Point) и т.д. Мечты, мечты… В большинстве проектов мне был доступен MS Project и MS Excel. Ну хотя бы так.

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

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

С другой стороны, на ближайшую неделю нужен точный план-график либо реестр задач с конкретными исполнителями и сроками.

Рассмотрим такие планы-графики на моём любимом кейсе – проекте «засунуть слона в холодильник». Могу, конечно, ошибаться, но на простых и весёлых примерах всегда проще и интереснее объяснять методику.

Вперёд

Не панацея, но помощник. О статическом анализаторе кода

Reading time5 min
Views1.7K

Приветствую, уважаемые читатели Хабра!

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

Читать далее

Погружение в параллелизм в Go

Reading time10 min
Views9.1K

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

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

Я хотел углубиться в тему горутин с параллелизмом и, слушая на фоне "The Doors", поглощал информацию и выделял интересные мысли из статей

Надеюсь, Вы найдете для себя то, что искали.

Погрузиться в параллелизм

Какой у вас уровень английского?

Level of difficultyEasy
Reading time3 min
Views24K

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

Давайте разберемся, какие, вообще, бывают уровни. Обычно люди, далекие от изучения языков, говорят что-нибудь вроде: elementary (базовый, алфавит уже знаю), intermediate (средний, грамматику знаю, но не всю), advanced (продвинутый, ну это какой-то совсем недостижимый уровень, когда можешь поговорить с иностранцем на любую тему). А еще на учебниках пишут какие-то буквы типа А2 или С1, но непонятно зачем.

На самом деле, шкала CERF (Общеевропейские компетенции владения иностранными языками) показывает, какие задачи вы можете решать на языке. Скажем, А1 (beginner) – это уровень выживания. На этом уровне я могу представиться, рассказать, где живу и чем занимаюсь. Знаю счет от 1 до 100, названия месяцев и дней недели. Могу спросить, как пройти в библиотеку.

А, если я владею языком на уровне В2 (Upper intermediate), я могу выступить с презентацией на английском и рассуждать на разные абстрактные темы. Скажем, поговорить о том, как развитие AI влияет на индустрию путешествий.

Шкалу CERF придумали, чтобы языковые школы могли распределить учеников по группам. Когда вы приходите к репетитору или на курсы иностранного языка, вам обычно дают тест и говорят что-нибудь вроде: «у вас уровень A2, pre-intermediate». Однако уже тут начинаются сложности.

Я преподаватель английского. Учу взрослых, которым язык нужен для эмиграции, работы и бизнеса за рубежом, и за 15 лет практики повидала всякого. Скажем, я веду занятия в книжном клубе. Приходит новый участник – на 1-й встрече бодро рапортует, что у него уровень С1 (Advanced) и предъявляет учебник грамматики, соответствующего уровня. Однако, когда нужно сказать по-английски что-нибудь более сложнее, чем I like bananas (Я люблю бананы), он переходит на русский и цитирует советскую киноклассику про Семен Семеныча. Оказалось, что заполнять пропуски в учебнике и говорить на уровне Advanced – не одно и то же.

Читать далее

Как делать бизнес в Open Source

Reading time6 min
Views3.1K

Интервью Эмели Драль — кофаундера и технического директора Evidently AI. У её open source библиотеки для оценки, тестирования и мониторинга качества данных и моделей машинного обучения уже более 22 миллионов скачиваний. Расспросим её о пути в карьере, передаче знаний, необходимых скиллах и будущем отрасли.

Читать далее

Чат-бот с ИИ для тренировки английского произношения и грамматики

Level of difficultyEasy
Reading time4 min
Views16K

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

Читать далее

Диаграммы последовательности — единственная хорошая вещь, которую UML привнес в разработку ПО

Level of difficultyEasy
Reading time11 min
Views13K

От переводчика:

Я веду телеграмм‑канал, посвященный системному анализу, и провожу тренинги, и в какой‑то момент задался вопросом — а актуален ли сейчас UML? Если посмотреть обсуждения на SO, Reddit'e и в блогах — видно очень много постов в вопросом «Is UML Dead?». Я начал искать публикации на эту тему, и через некоторое время обнаружил этот пост, в котором были ссылки на статьи, которые я уже нашел, и ещё на некоторые, которых я до этого не видел. Мне показалось, это очень хороший сборник мнений, если вас тоже интересует судьба UML.

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

Читать далее

Давайте работать с proto ошибками правильно :)

Level of difficultyEasy
Reading time5 min
Views8.3K

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

Разобраться подробнее

Пару ласковых о Telegram

Level of difficultyEasy
Reading time4 min
Views68K



Tелеге на вас плевать, даже если вы платите ей деньги.

Привет, друзья!


Я пользуюсь Телегой почти с момента ее появления в далеком 2013 году. Последние два года покупаю премиум. Несколько раз дарил премиум друзьям. Наивно полагал, что Телега заботится о своих пользователях, особенно платных. В целом меня все устраивало, пока недавно я не попал в "интересную" ситуацию невозможности управлять собственным аккаунтом.

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

Обзор библиотеки Go Kit

Level of difficultyEasy
Reading time10 min
Views5.7K

Салют, Хабр!

Go Kit предоставляет стандартизированный способ создания сервисов, с ее помощью можно легко реализовать совместимость сервисов. С его помощью можно легко интегрировать различные транспортные протоколы, такие как HTTP, RPC, gRPC, и многое другое, а также реализовывать общие паттерны: логирование, метрики, трассировка. В общем, Go Kit хорошо подходит для разработки микросервисов на go.

Мотивацию создания этой либы разработчики описали так:

Go стал языком сервера, но он по-прежнему недостаточно представлен в так называемых «современных корпоративных» компаниях, таких как Facebook, Twitter, Netflix и SoundCloud. Многие из этих организаций обратились к стекам на основе JVM для создания своей бизнес-логики, во многом благодаря библиотекам и экосистемам, которые напрямую поддерживают их микросервисные архитектуры.

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

Читать далее

Fuzzing-тестирование. Практическое применение

Level of difficultyMedium
Reading time11 min
Views7.1K

Привет, Хабр! Меня зовут Никита Догаев, я Backend Team Lead в команде Контента на портале поставщиков Wildberries. Мы отвечаем за карточки, которые каждый день испытывают на прочность сотни тысяч продавцов из разных стран.

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

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

Анти-паттерны в Go Web Applications

Level of difficultyMedium
Reading time18 min
Views7.8K

В какой-то момент моей карьеры меня перестало радовать ПО которое я разрабатывал.

Больше всего мне нравилось работать с низкоуровневыми деталями и сложными алгоритмами. Но после перехода на пользовательские приложения эта часть работы почти исчезла. Теперь программирование казалось мне просто перемещением данных из одного места в другое с помощью уже готовых библиотек и инструментов. Знания, которые я получил раньше о программном обеспечении, уже не были такими полезными.

Читать далее

Information

Rating
7,778-th
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity

Specialization

Backend Developer
Senior
From 4,000 $