Pull to refresh
1
Aleksey@IteraTTread⁠-⁠only

Вечно недовольный и ворчащий 2х-летний дед

Send message

Калькулятор лотов для MetaTrader 5: как автоматизировать рутину в трейдинге

Level of difficultyMedium
Reading time4 min
Reach and readers6.3K

В этой статье обозреваю возможности платформы для трейдинга MetaTrader 5, но глазами программиста. Покажу, как самому написать на MQL5 программы‑советники (по‑трейдерски — индикаторы), которые избавят трейдеров от рутины.

Читать далее

Не пора ли уволить вашего CTO?

Reading time46 min
Reach and readers31K

В современном ИТ сложилась парадоксальная ситуация.

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

Парадокс объясняется просто: в современном ИТ отвратительная организация. Настолько отвратительная, что многих её директоров впору увольнять, потому что именно они отвечают за её значительную часть, но многого не делают.

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

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

Даже если они не из ИТ-сферы.

Решить, что же делать с CTO

Используем агентов LLM для миграции кода

Level of difficultyMedium
Reading time9 min
Reach and readers5.1K

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

Читать разбор

Text-to-SQL нового поколения: как мультиагентная система решает задачу

Level of difficultyEasy
Reading time10 min
Reach and readers7.7K

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

Это универсальная платформа, где данные под полным контролем, а точность запросов на порядок выше. Text-to-SQL — лишь первое применение. Архитектура позволяет решать любые AI-задачи, где критична надежность. 

Читать далее

Учим Chat GPT «предсказывать будущее»

Level of difficultyEasy
Reading time4 min
Reach and readers5.7K

Метод Монте-Карло — простая математическая игрушка, которую Chat GPT может легко запустить в своем интерпретаторе Python, проанализировать выходные данные и отдать анализ с красивыми графиками. В статье рассказываю про юзкейсы использования

Читать

Соедините с оператором! Как постараться не взбесить клиентов роботом в контакт-центре

Level of difficultyEasy
Reading time4 min
Reach and readers5K

Привет, Хабр! Меня зовут Николай, я начальник управления клиентских коммуникаций РГС. Мы, как и большинство компаний на рынке сегодня, стараемся оптимизировать процессы с помощью искусственного интеллекта (ну а как иначе?). Но есть нюанс: недавно я задумался, как часто я сам, будучи адептом внедрения ИИ в контакт-центр, прошу голосового помощника позвать оператора. И, как оказалось, — очень часто.

Читать далее

Опросили 1000 пользователей о недочётах в интерфейсах, которые осложняют им процесс совершения покупок в интернете

Reading time4 min
Reach and readers6.6K

Всем привет! Я Саша, арт-директор KISLOROD. Мы занимаемся разработкой и развитием интернет-магазинов.

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

Читать далее

Как работает цензура на государственном уровне? Разбираем на примере слитого китайского фаерволла. Часть 1

Level of difficultyEasy
Reading time8 min
Reach and readers58K

Мы скачали 500 ГБ утечку из Великого Китайского Файрвола чтобы вам не пришлось и решили их изучить. Разбираемся, как он работает, кого обслуживает и как его обходят.

Читать далее

Почему ChatGPT недостаточно для бизнеса: обзор Teamly AI для средних и крупных компаний

Reading time6 min
Reach and readers4K

AI-помощник от Teamly встроен в базу знаний и возвращает только релевантные ответы – без фантазий моделей и без вывода данных за контур компании. Рубрика Продукт дня. 

Читать далее

Правда, что в английском 16 времён?

Level of difficultyEasy
Reading time4 min
Reach and readers30K

Почему кто-то говорит, что их всего 3, кто-то, что их 12, а ещё кто-то, что их 16 или вообще больше?

Так сколько же их на самом деле?

А главное, сколько из них тебе нужно знать?

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

Тянуть бедного кота за хвост не буду, а сразу перейду к делу. Начну вот с чего:

Что же такое время?

В английском, как и в любом другом нормальном языке, всего 3 времени: прошедшее, настоящее и будущее. А то, что мы привыкли называть «временами» на самом деле являются (сейчас будет красивый термин) «временными формами глагола».

По сути, это как в русском. Мы все говорим, что в русском языке всего три времени. Но форм глаголов больше:

1) Я делаю;

2) Я делал;

3) Я сделал;

4) Я буду делать;

5) Я сделаю.

В русском языке минимум 5 временных форм глагола, а в английском их 16 (или больше, об этом напишу ниже). Но и в том, и в том всего 3 времени.

Просто в бытовом общении мы все называем эти формы «временами», хотя имеем в виду немного другое. И я тоже называю их временами, ведь так проще мне объяснять и тебе понимать.

Поэтому и здесь я продолжу все эти формы называть временами.

Так сколько же этих времён?

Зависит от того, какую классификацию мы рассматриваем.

Классификация № 1 – Стандартные 12 времён.

Как мы уже поняли, всего у нас три главных времени: прошедшее, настоящее и будущее. Но также существуют так называемые группы времён (считай, как в русском есть совершенный и несовершенный вид глагола): Simple, Continuous, Perfect и Perfect Continuous.

Читать далее

Наследие кода: разбор С и С++ модулей Erlang, которые работают десятилетиями

Level of difficultyMedium
Reading time19 min
Reach and readers10K

Код некоторых модулей Erlang/OTP старше, чем большинство современных junior-разработчиков. Эти файлы — настоящие цифровые патриархи, десятилетиями обеспечивающие работу банковских транзакций, телефонных сетей и систем обмена сообщениями. Мы решили заглянуть под "капот" этого языка-долгожителя, чтобы проверить, что именно скрывается в строках, на которые сегодня полагаются миллионы пользователей. А вот что мы нашли, узнаем в этой статье.

Читать далее

Оживляем самый массовый карточный таксофон двухтысячных

Level of difficultyMedium
Reading time8 min
Reach and readers21K

Приветствую всех!
Эпоха фрикинга таксофонов в России безвозвратно ушла. Все оставшиеся аппараты переведены на бесплатное обслуживание, а карты оплаты давным-давно упразднены. Но что, если сейчас раздобыть такой аппарат и попробовать запустить его в домашних условиях? Именно этим мы сегодня и займёмся.

Итак, сегодня мы разберём один из самых массовых отечественных таксофонов и посмотрим на его устройство. Узнаем, какие методы защиты в нём имеются, полазим по сервисному меню и, конечно, попробуем подключить его к линии и позвонить. Как водится, будет много интересного.

Бесплатный звонок

Код, за который не стыдно: Практика чистописания для начинающих Python-разработчиков

Level of difficultyMedium
Reading time21 min
Reach and readers10K

Каждый из нас хотя бы раз в жизни писал код, который можно описать фразой: «Ну, оно как-то работает, лучше не трогать». Мы наспех добавляем костыль, чтобы успеть к дедлайну, оставляем переменную с именем data2 или пишем функцию на 200 строк, обещая себе вернуться к ней «позже». И знаете что? Это «позже» никогда не наступает.

Читать далее

Системный архитектор на фотоохоте: про доверие птиц, магию момента и мужика с пивом

Level of difficultyEasy
Reading time6 min
Reach and readers6.6K

Команда ГК InfoWatch объединяет людей с самыми разными увлечениями и интересами. Некоторые могут показаться неожиданными. Наш системный архитектор Вадим Кононенко — фотограф-анималист. Его работы выставляются на тематических выставках, используются в научных работах. Последние несколько лет предмет его интереса — птицы-падальщики.

Читать далее

Почему дисциплина через силу не работает

Level of difficultyEasy
Reading time15 min
Reach and readers158K

Как перестать тащить всё на силе воли и начать делать важные вещи с такой же лёгкостью, как играть в компьютерные игры?

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

Всем наверняка попадались эти видосы:

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

Потом идёт в душ с холодной водой и на следующем кадре одинокий волк вышел на пробежку в пустой парк.

И, как мы слышим, фоном ко всему этому играет затасканная музыка из рилсов.

Читать далее

Архитектура ИТ решений. Часть 4. Архитектура приложений. 4.2. Портфель прикладных систем

Reading time14 min
Reach and readers4.2K

Портфель прикладных систем (Application Portfolio) - это ключевое понятие в управлении ИТ-архитектурой, описывает потребности бизнес-процессов предприятия в информационных технологиях, которые способны обеспечить автоматизированное ведение деятельности. Включает в себя набор интегрированных информационных систем. Как существующих, так и вакантных на данный момент, то есть тех, которые потребуются в будущем для обеспечения новых потребностей бизнеса и деятельности организации.

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

Рассмотрим эффект применения этого инструмента с разных ракурсов.

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

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

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

Читать далее

Космос как стартап: NASA приземлила свой код на GitHub

Reading time12 min
Reach and readers9.3K

Космос — самый дорогой стартап в истории человечества, поэтому неудивительно, что его технологии давно окупаются на Земле. И хотя мы привыкли к историям о космических материалах, беспроводных наушниках и системе навигации GPS, NASA сделала кое-что более близкое разработчикам — выложила в Open Source фреймворк, который управляет космическими миссиями.

core Flight System (cFS) зародился как инструмент для управления спутниками и марсоходами, но довольно быстро превратился в модульную платформу, которая позволяет переиспользовать код. Open Source фреймворк не просто «приземлился» и уже помогает делать дроны, промышленные контроллеры и двигать науку в университетских лабораториях, а меняет подход к разработке сложных систем.

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

Читать далее

Кто быстрее: исследую производительность std::format

Reading time7 min
Reach and readers13K

Я, как и многие другие другие разработчики на C++, слышал о преимуществах нового std::format: удобство, безопасность и высокая производительность по сравнению с более старыми способами форматирования строк. 

Моя жизнь была прекрасна и полна надежд, пока я не увидел один бенчмарк, где format оказался медленнее всех. Как же так? Неужели «устаревший» std::stringstream или даже operator+ все еще лучше? Далее расскажу о своем небольшом исследовании производительности форматирования, доступного разработчикам на C++, и о необычных результатах, которые я получил.

Читать далее

Шаблоны и принципы деления кода на классы

Level of difficultyEasy
Reading time14 min
Reach and readers9.3K

За 9 лет разработки ПО  я периодически выступал в  роли ментора и сталкивался с проблемой, которую недавно озвучил начинающий программист после онлайн-курсов: 

«Не понимаю, как делить код на классы».

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

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

Так и родилась идея написать эту статью.

Читать далее

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

Reading time9 min
Reach and readers52K

Всем привет! Меня зовут Олег Смоляков, в Яндексе я больше 15 лет занимался разработкой, а теперь отвечаю за улучшение процесса найма разработчиков.

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

TLDR: мы решили обновить процесс найма, вместо порой хаотичных собеседований в каждом отдельном сервисе внедряем единую систему оценки по профессии и уровню (например, «Senior C++ Developer»), кандидат, успешно прошедший оценку навыков, теперь сможет претендовать на аналогичные вакансии в любом из 90+ сервисов компании, а всё это вместе делает процесс найма прозрачным, понятным, без дублирования технических интервью и в целом эффективным для всех участников.

А теперь подробнее о том, почему мы на это пошли и как всё устроено.

Читать далее

Information

Rating
Does not participate
Date of birth
Registered
Activity

Specialization

Десктоп разработчик, Разработчик приложений
Средний
C#
ООП
Английский язык
C++
Python
Git
Linux
Bash
Ubuntu