Обновить

Технотекст

Technical Governance для IDP на 7000 разработчиков

Время на прочтение14 мин
Охват и читатели8.3K

Всем привет, меня зовут Дмитрий Гаевский, я руковожу созданием внутренней платформы для разработчиков в Тинькофф. Последние два года стали знаковыми для российской ИТ-отрасли с точки зрения «распаковки» тем о таких платформах. Крупные технологические компании начали делиться опытом, и сегодня я расскажу о нашем кейсе. 

Читать далее

Полдюжины правил для статического анализатора Detekt

Время на прочтение4 мин
Охват и читатели3.7K

Техлид Android-команды KODE Дмитрий Суздалев выпустил полноценный опенсорс-проект: набор улучшений для статического анализатора Kotlin-кода Detekt, которые обучают его проверять соблюдение различных правил при использовании библиотеки Jetpack Compose.

Набор правил попал в еженедельный Compose Newsletter, так что теперь самое время поделиться им с сообществом Хабра.

Читать далее

Кто такой data-инженер в Тинькофф и как им стать

Время на прочтение7 мин
Охват и читатели19K

Привет! Меня зовут Михаил Иванов, я работаю архитектором DWH в Тинькофф и занимаюсь развитием Batch ETL направления платформы обработки данных. Я расскажу о направлении data engineering в Тинькофф, о том, чем занимаются data-инженеры и как попасть к нам в команду.

Читать далее

Core Data в современном интерьере SwftUI. Взаимосвязь объектов. Динамический @FetchRequest. часть 2

Время на прочтение18 мин
Охват и читатели3.2K
В первой части этой статьи мы рассмотрели основы работы с Core Data в SwiftUI на примере шаблонного приложения, предложенное Apple. Это было тривиальное приложение, в котором всего лишь один объект Core Data с одним единственным атрибутом, и тем не менее было показано, что давая объектам Core Data дополнительную функциональность с помощью „синтаксического сахара“ в расширении extension их классов class, автоматически генерируемых Xcode, можно добиться комфортной работы с Core Data в SwiftUI. Эти классы являются миниатюрными ViewModels для наших SwiftUI Views, так как они реализуют протоколы ObservableObject и Identifiable. И Apple научила их прекрасно «играть» на поле реактивности SwiftUI.

Во второй части статьи я хочу показать, что роль автоматически генерируемых Xcode классов class для объектов Core Data существенно возрастает при работе с реальными взаимосвязанными объектами — рейсами Flights, аэропортами Airports и авиакомпаниями AirLines, которые мы получаем в интернете на сайте компании FlightAware и размещаем в локальной базе данных Core Data.

Создаваемое в этой части статьи приложение с именем CoreDataSwiftUIFlights является сильно упрощенной модификацией реального приложения Enroute из стэнфордских курсов CS193P 2020, которое оперативно подкачивает данные с сервера FlightAware и требует от вас платной подписки на сервис FlightAware .

Однако, просто зарегистрировавшись на сайте компании FlightAware, вы можете бесплатно получить временной срез любой интересующей вас информации о рейсах Flights, аэропортах Airports и авиакомпаниях Airlines в JSON формате. Эти данные размещаются в Core Data с учетом взаимосвязей этих объектов, и вы можете не просто видеть всю информацию о рейсах, но и делать различные запросы к ней с помощью фильтров и сортировать ее нужным вам способом.



Код находится на Github.
Читать дальше →

Делаем видеозвонки с помощью Angular, WebRTC и Openvidu

Время на прочтение6 мин
Охват и читатели9.6K

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

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

Читать далее

Лабиринты из линий: превращаем сложный сценарий в понятную схему на языке ДРАКОН

Время на прочтение7 мин
Охват и читатели6.6K

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

Меня зовут Кирилл Богатов, я дизайнер разговорных продуктов в KODE. Я нашёл способ упрощать сложные схемы при помощи языка ДРАКОН. В статье расскажу о том, как я к нему пришёл, чем он так хорош и как с его помощью мы стали тратить на проектирование почти вдвое меньше времени.

Читать далее

Как ускорить Python с помощью C-расширений. Часть 2

Время на прочтение10 мин
Охват и читатели6.1K

Привет, Хабр! Меня зовут Игорь Алимов, я ведущий разработчик группы Python в МТС Digital, и это вторая часть статьи, посвященной тому, как писать быстрый код на Python с использованием C-расширений. Я расскажу о всех нюансах и приведу конкретный пример применения этого метода.

Первую часть статьи читайте здесь, чтобы увидеть продолжение – переходите под кат!

Читать далее

И мы улетели…но

Время на прочтение8 мин
Охват и читатели47K

В 2013 году я уволился из одной большой «зеленой» компании (не банк) и уехал на далекий «зеленый континент» с целью «на людей посмотреть, себя показать». В мыслях было, при удачном стечении обстоятельств, не только выучить английский язык, но и остаться на ПМЖ. Было все это задолго до того, как подобное стало мейнстримом.

Спустя полгода я вернулся обратно на Родину. У меня не было тогда «взгляда побитой собаки», ощущения, что я неудачник, который не смог ассимилироваться и все в этом роде. Было стойкое понимание, что я не готов жить и работать разнорабочим в чужой стране за 5 долларов час…

Поговорил с коллегами по М.Видео-Эльдорадо и друзьями из других компаний о том, как сложился или не сложился опыт их эмиграции и почему. Под катом несколько реальных историй ребят, принявших решение уехать или оставаться в стране в феврале-марте 2022 года. Кто-то уехал и остался, кто-то вернулся. Кто-то ни на миллиметр не сдвинулся с места. Все-таки эмиграция и туризм, или «зимовка» (как хотите) разные вещи.

Далее по тексту вообще нет цели топить «за» или «против». Лично мне было интересно узнать об опыте разных людей и сравнить со своим 10-летней давности. Многое совпало. Go под кат! А потом в комментарии.

Читать далее

Такие «джуны» нам не нужны

Время на прочтение5 мин
Охват и читатели169K

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

Читать далее

Сделай так, чтобы оно больше не падало

Время на прочтение8 мин
Охват и читатели8.2K

Привет, меня зовут Ярослав Иссинский, я руководитель Технической платформы в группе «М.Видео-Эльдорадо». Сегодня я хочу рассказать про переход в публичное облако на примере крупной ритейл-компании.

Читать далее

Магазин в 60-мерном пространстве или как сделать A/B-тесты точнее и надёжнее

Время на прочтение14 мин
Охват и читатели4.6K

Всем привет! Меня зовут Костя Гусев @nevoy, и в М.Видео-Эльдорадо моя команда развивает внутренние и партнёрские продукты. Перед тем, как поменять ассортимент или цены на полках 1 300 розничных магазинов, мы должны убедиться, что новое товарное предложение, как минимум, не приведёт к оттоку текущих покупателей, а еще лучше – привлечет новых. Для проведения подобных экспериментов мы пересмотрели подход к A/B-тестированию с учетом нашей офлайн-специфики, о чем и хотим рассказать в этой статье. 

Читать далее

Как мы распознавали птиц при помощи камер и искусственного интеллекта

Время на прочтение11 мин
Охват и читатели5K

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

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

Читать далее

Когда лучше делегировать, а когда оставить задачу себе? Инструкция для начинающих руководителей

Время на прочтение7 мин
Охват и читатели13K

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

DIY. Книги для всех, даром

Время на прочтение7 мин
Охват и читатели37K

Lingtrain cover


⚡ Градиент обреченный


Upd. 11.06.2022 Многие заинтересовались генерацией изображений нейросетями. Вот Colab (интерактивная среда для запуска кода) для рисования картинок в стиле pixel art по текстовому описанию. Просто запускайте, ближе к концу увидете ячейку для ввода текста. Примеры картинок из Colab'а в комментариях.


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


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


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

Сделать книжку

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

Время на прочтение23 мин
Охват и читатели13K


Масштабирование больших языковых моделей (LLM) является захватывающей темой, поскольку рассматривается как один из лучших кандидатов на пути к ИИ человеческого уровня. Уже сейчас LLM могут отвечать на вопросы, генерировать реалистичные статьи и поддерживать, казалось бы, осмысленный разговор на широкий круг тем. Некоторые исследователи ИИ даже утверждают, что LLM возможно уже могут «слегка обладать сознанием», а журналисты выпускают статьи вроде «роботы захватят весь мир» с картинками терминаторов. Однако, скептики возражают, что большинство таких моделей — это просто большая ассоциативная память, без истинного понимания реальности и неспособная к определенным типам задач. Одна из таких задач, которая привлекла мое внимание — игра в шахматы. В то время как специализированные шахматные движки давно обыгрывают чемпионов мира, даже очень большие языковые модели, такие как GPT-3 с сотнями миллиардов параметров едва справляются с такой простой задачей как мат в один ход. А с такими способностями к стратегии, эти модели едва ли справятся с завоеванием мира. Поэтому как шахматист со стажем и по совместительству разработчик нейросетей я решила попробовать устранить этот недостаток.
Читать дальше →

Что мы действительно (не)знаем о наличии сознания у сверхбольших нейросетей?

Время на прочтение28 мин
Охват и читатели57K
image

В последнее время чаще стали появляется новости о том, что тот или иной эксперт в области ИИ заявил про появление у машины сознания. То Илья Суцкевер, директор по науке в OpenAI напишет о том, что «может быть, сегодняшние большие нейронные сети немножко обладают сознанием». А то и вовсе инженер Гугла Леймон Блейк найдет у искусственного интеллекта LaMDA разум и сознание и выложит в доказательство диалоги с ним. Резонанс последнего эпизода вообще большой — после объявления о том, что Блека отстранили от работы, а он в свою очередь собирается нанять для ИИ адвоката, разные конспирологические версии появились даже в комментариях на Хабре. Ну и чего бы им не появиться, если реально серьезный разбор вопроса о «сознании» нейросети с технической точки зрения найти трудно. Кроме того, что «комиссия по этике Гугл рассмотрела вопрос и решила, что ИИ не обладает сознанием», да еще ряда давно известных общефилософских размышлений ничего особо и нет. Поэтому, как человек потративший по роду работы более сотни часов своей жизни на общение с моделями такого рода и поиску в них проблем, я решил, что будет полезно восполнить пробел более подробным обзором вопроса. Завесу мистической тайны сознания нейросетей приподнимаем под катом )
Читать дальше →

Как создать свою СУБД с нуля и не сойти с ума. Практическое пособие начинающему некроманту. Часть первая

Время на прочтение43 мин
Охват и читатели45K

Наступил Апокалипсис.

Нет, не стоит бежать запасаться банками с консервами и крышками отечественной бай-колы! Апокалипсис произошёл только в нашей фантазии и с определённой целью — чтобы проверить, а может ли человек, обладающий только книгами по теме и стандартной библиотекой языка, воссоздать инструмент, который будет служить ему верой и правдой?

Так родился учебный проект SicQL, реляционная СУБД, чей символ — сова — это олицетворение силы знаний и мудрости. Олицетворение тех знаний и той мудрости, которые мы получим, создав с нуля то, чем мы пользуемся каждый день, может, не осознавая всей сложности таких инструментов.

Приглашаю присоединиться к увлекательному путешествию!

Принять приглашение на борт

Разработка источника питания со входным напряжением 1000В на основе карбид-кремниевых транзисторов

Время на прочтение5 мин
Охват и читатели13K

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



Рассказываю про эту разработку.

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

Составляем документацию разработчика пошагово без диет и тренировок

Время на прочтение8 мин
Охват и читатели25K

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

Привет! Это Теодора — технический писатель Платформы, жизненно важного департамента Ozon. Документация для нас имеет большое значение, потому что вся компания пользуется нашими разработками: инфраструктурой as a service; фреймворками и библиотеками; инструментами для работы с базами данных и аналитикой и прочим. Сотни инженеров ежедневно обращаются к нашим сервисам и нуждаются в их описании.

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

Читать далее

Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana

Время на прочтение37 мин
Охват и читатели141K

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

Как какой из двух категорий относится эта статья — решать вам.

В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring.

Вначале мы напишем пару простых микросервисов на Spring Boot, докеризуем их, зальём в AWS, настроим красивые доменные имена и HTTPS, прикрутим логирование и мониторинг, Prometheus и Grafana. Это небольшое путешествие по всем кругам ада, из которого вы не вернетесь прежним.

Текст написан на основе текстов и демо-проекта microservice-customer за авторством @kamaruzzaman. Если вы потеряли нить повествования, всегда можно зайти на GitHub и найти весь код в пригодном для запуска виде. Если захочется закопаться в тему, то бро Дима Чуйко (@Teapot) написал вам ещё две части статьи "Микросервисы: от CRUD до Native Image" (раз, два).

Последняя важная оговорка. В этом гайде будут использоваться технологии Amazon и обычные дистрибутивы OpenJDK. Автор осознает, что мы живём в России, и возможно, вместо Amazon куда лучше подойдет что-то вроде SberCloud или MTS Cloud, а вместо обычного OpenJDK - Axiom JDK с сертификацией по ФСТЭК. Особенности российских технологий - тема для отдельной статьи. Если вы захотите таковую после чтения этого гайда - отметьтесь в комментариях.

Читать далее