Pull to refresh
49
0
Send message

Как описать большую систему в нотации С4

Reading time6 min
Views30K

Хабр, привет!
Нас зовут Дмитрий Фролов и Владимир Мясников.Мы стандартизировали подход по документированию внутренних систем в команде интеграционного тестирования Мир Plat.Form с помощью «Модели С4».

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

Давайте разберемся, что такое «Модель С4» и какие задачи она помогает решать. С чего начать, если вам поступила задача задокументировать «большую» систему – читайте под катом.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments14

Какие проблемы решает Release Train в мобильной разработке

Reading time9 min
Views7.1K

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

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

В этой статье расскажу, что при росте приложения Додо Пиццы стало для нас отправной точкой и заставило внедрить Release Train. В конце поделюсь результатами, помогло ли это.

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

Погнали
Total votes 21: ↑19 and ↓2+17
Comments6

Памятка РП. Микросервисная архитектура

Level of difficultyMedium
Reading time75 min
Views15K

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

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments3

Зарплаты IT-специалистов во второй половине 2023: -15% за счет регионов

Level of difficultyEasy
Reading time5 min
Views151K

Пришло время снова смотреть, сколько зарабатывают IT-специалисты, а точнее — сколько им платили во второй половине 2023. 

Напомним, что каждые полгода мы на Хабр Карьере анализируем зарплаты в IT и отслеживаем изменения на рынке. В этот раз мы изучили 34 114 зарплат, приглашаем обсуждать результаты.

Медианная зарплата IT-специалистов сейчас — 141 000 ₽, это на 15% меньше, чем в первом полугодии 2023, когда рост был 10%. В основном на это повлияло снижение зарплат в регионах на 20%, где IT-специалистам сейчас платят в среднем 120 000 ₽. В Москве средняя зарплата — 187 000 ₽, а в Санкт-Петербурге — 150 000 ₽.

Смотреть зарплаты
Total votes 120: ↑115 and ↓5+110
Comments168

Добавление собственных данных в LLM с помощью RAG

Level of difficultyMedium
Reading time28 min
Views15K

Этот материал посвящён тому, как добавлять собственные данные в предварительно обученные LLM (Large Language Model, большая языковая модель) с применением подхода, основанного на промптах, который называется RAG (Retrieval‑Augmented Generation, генерация ответа с использованием результатов поиска).

Большие языковые модели знают о мире многое, но не всё. Так как обучение таких моделей занимает много времени, данные, использованные в последнем сеансе их обучения, могут оказаться достаточно старыми. И хотя LLM знакомы с общеизвестными фактами, сведения о которых имеются в интернете, они ничего не знают о ваших собственных данных. А это — часто именно те данные, которые нужны в вашем приложении, основанном на технологиях искусственного интеллекта. Поэтому неудивительно то, что уже довольно давно и учёные, и разработчики ИИ‑систем уделяют серьёзное внимание вопросу расширения LLM новыми данными.

До наступления эры LLM модели часто дополняли новыми данными, просто проводя их дообучение. Но теперь, когда используемые модели стали гораздо масштабнее, когда обучать их стали на гораздо больших объёмах данных, дообучение моделей подходит лишь для совсем немногих сценариев их использования. Дообучение особенно хорошо подходит для тех случаев, когда нужно сделать так, чтобы модель взаимодействовала бы с пользователем, используя стиль и тональность высказываний, отличающиеся от изначальных. Один из отличных примеров успешного применения дообучения — это когда компания OpenAI доработала свои старые модели GPT-3.5, превратив их в модели GPT-3.5-turbo (ChatGPT). Первая группа моделей была нацелена на завершение предложений, а вторая — на общение с пользователем в чате. Если модели, завершающей предложения, передавали промпт наподобие «Можешь рассказать мне о палатках для холодной погоды», она могла выдать ответ, расширяющий этот промпт: «и о любом другом походном снаряжении для холодной погоды?». А модель, ориентированная на общение в чате, отреагировала бы на подобный промпт чем‑то вроде такого ответа: «Конечно! Они придуманы так, чтобы выдерживать низкие температуры, сильный ветер и снег благодаря…». В данном случае цель компании OpenAI была не в том, чтобы расширить информацию, доступную модели, а в том, чтобы изменить способ её общения с пользователями. В таких случаях дообучение способно буквально творить чудеса!

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments1

Главное событие в мире AI: создатель ChatGPT рассказал, в какое будущее он нас всех ведет

Level of difficultyEasy
Reading time25 min
Views94K

В этой статье мы расскажем вам про самые важные фичи, внедренные за последние полгода в ChatGPT (самую мощную нейросетку в мире), а также обсудим – каким видением будущего поделился Сэм Альтман на прошедшей 7 ноября конференции от OpenAI. Спойлер: они хотят запилить «агентов Смитов», которые смогут самостоятельно взаимодействовать с миром!

Это мы читаем →
Total votes 114: ↑104 and ↓10+94
Comments104

Как заонбордиться тимлиду — первые 90 дней на новой работе

Reading time7 min
Views9.4K

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

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

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments5

Джон Кармак взялся за сильный ИИ — и у него особый подход. Список фундаментальной литературы для начала

Level of difficultyMedium
Reading time7 min
Views35K

В рубрике «Выдающиеся программисты 21 века» уже была статья про гения программирования Джона Кармака, создателя движков для Doom, Quake и других культовых игр. Потом он занялся разработкой ракет (они в Armadillo Aerospace реализовали вертикальную посадку раньше SpaceX), а затем — систем VR, софта для Oculus Rift и других устройств. Сейчас началась четвёртая фаза в его карьере.

В интервью изданию Dallas Innovates 52-летний Кармак рассказал о новом проекте — системе сильного ИИ (AGI), над которым он работает самостоятельно, без участия больших корпораций, как отшельник в своём особняке в Далласе.

Сильный ИИ общего назначения не будет уступать среднему человеку в понимании происходящего и решении проблем. По оценке Кармака, с вероятностью 60% такая система (альфа-версия) будет создана до 2030 года, с вероятностью 95% — до 2050 года. Это самая важная и интересная задача, которая сейчас стоит перед человечеством.
Читать дальше →
Total votes 99: ↑96 and ↓3+93
Comments94

Опыт публикации в AppGallery

Reading time4 min
Views9.4K

Я опубликовал приложение Android Broadcast в AppGallery и расскажу вам о своём опыте работы с этим магазином, а также сравним его с Google Play. Практически всё к чему я привык в магазине от Google я нашёл в AppGallery. Также я нашел кое-что интересное, что может позволить вам быстрее стартануть своё приложение и игру и проверить интерес аудитории к вашему продукту.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments2

Как внедрить In-app Updates в Android-приложение на React Native

Reading time9 min
Views7.7K

В 2019 году Google выпустила In-app Updates — возможность обновлять Android-приложения без перехода в Google Play. Однако до сих пор довольно мало приложений поддерживают этот способ обновления.

Когда я внедрял In-app Updates в приложение Профи для специалистов — без сложностей не обошлось. Пришлось покопаться в документации, статьях и даже пару раз переписать реализацию.

Чтобы меньше людей наступали на мои грабли, я сделал пошаговую инструкцию по интеграции In-app Updates в Android-приложение на React Native. Если следовать ей — сможете внедрить эту опцию за день.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments3

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

Reading time13 min
Views35K

Главная сложность в разработке приложения – накодить его функционал. Например, сделать редактирование текста для приложения-блокнота. Так я полагал, когда был моложе и наивнее.

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

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

Читать далее
Total votes 58: ↑57 and ↓1+56
Comments20

CameraX+ML Kit для распознавания номера карты в действии

Reading time8 min
Views7.7K

Привет, меня зовут Виталий Беляев, я Android-разработчик в red_mad_robot. В этой статье я расскажу про опыт интеграции CameraX с ML Kit на замену библиотеки card.io, и что в итоге из этого получилось.

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments7

Представьте — вам дали гору денег, но забрали программирование навсегда. Обрадуетесь? Что будете делать?

Reading time6 min
Views79K

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

Когда я об этом думаю, меня съедает чернющая тоска — я все никак не успеваю стать достаточно богатым, чтобы разорвать порочный круг “работать чтобы есть чтобы дальше работать” и дать им жизнь, которую сам считаю счастливой.

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

Теперь мне кажется — что это я на самом деле несчастен.

Читать далее
Total votes 184: ↑162 and ↓22+140
Comments462

Знакомство с App Gallery. Создаем аккаунт разработчика

Reading time4 min
Views18K


Что происходит, кто виноват и что делать


Недавно Google прекратил сотрудничество с Huawei. Это привело к тому, что Huawei на своих новых девайсах уже не может использовать сервисы Google (магазин приложений, геолокация, карты, пуши, аналитика etc), что для пользователя превращает девайс в кирпич. Если бы это не была китайская компания, то, скорее всего, на этом её бизнес, связанный с Android, просто бы прекратился. Но компания китайская, большая и они пошли по пути импортозамещения, в кратчайшие сроки реализовав функционал, аналогичный Google сервисам.


В этой серии статей мы хотим поделиться своим опытом использования Huawei Mobile Services в уже готовом приложении, использующем Google Mobile Services для аналитики (Firebase Analytics), карт и геолокации. Текста получилось довольно много и о сильно разных сервисах, засим статей будет несколько. Начнём мы с основ — регистрации аккаунта разработчика и базовых вещей в коде.


  1. Создаём аккаунт разработчика, подключаем зависимости, подготавливаем код к внедрению. ← вы тут
  2. Встраиваем Huawei Analytics. тык
  3. Используем геолокацию от Huawei.
  4. Huawei maps. Используем вместо Google maps для AppGallery.

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

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments2

«Умный дом» в каждую квартиру многоквартирного дома, или наш MVP

Reading time6 min
Views18K


В прошлой статье мы рассказали о создании нашей команды, но в этой статье хотим рассказать как именно мы реализовали первый наш проект.

Описание объекта


Итак наш первый объект — жилой дом имеющий следующие характеристики:

  • 15 этажей
  • 135 квартир
  • Импульсные приборы учета холодного водоснабжения у каждой квартиры
  • Тепловые счетчики с M-bus у каждой квартиры
  • Счетчики электроэнергии с RS-485 интерфейсом у каждой квартиры
  • Датчик температуры в каждой квартире
  • Один клапан на подающем трубопроводе отопления в квартиру
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments38

RPi-няня

Reading time15 min
Views13K
Периодически меня подмывает сделать что-то странное. Очевидно бесполезную вещь, которая не оправдывает себя по объему вложенных средств, и через полгода после создания пылиться на полке. Но зато полностью оправдывает себя по количеству эмоций, полученному опыту и новым рассказам. На Хабре даже есть две моих статьи про такие эксперименты: Алкоорган и умная кормушка для птиц.

Что ж. Пришло время рассказать о новом эксперименте. Как собрал, что из этого вышло и как повторить.



К новому проекту меня подтолкнуло событие, в каком-то смысле, банальное — родился сын. Я заранее устроил себе отпуск на месяц. Но ребёнок оказался тихим — было свободное время. И спящий рядом деть.

Дома много разных embedded-железок для computer vision. В итоге решил сделать видео-няню. Но не такую унылую, которыми завалены все магазины. А что-то поумнее и поинтереснее.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments7

Стрим видео с Android устройства по UDP в JAVA приложение

Reading time7 min
Views9.9K
Итак, выходим на финишную прямую. Стримить видео с андроида на VLC плеер мы уже научились, теперь осталось только интегрировать окошко с видео в JAVA приложение и начать рулить роботелегой.



В этом нам очень сильно поможет проект с открытым исходным кодом VLCJ CAPRICA.
The vlcj project provides a Java framework to allow an instance of a native VLC media player to be embedded in a Java application.
Идея у ребят простая, но гениальная (реально перцовая). Вместо мучений с библиотеками FFmpeg и прочим, надо сразу вызывать специалиста ядро нормального, функционального и профессионального медиаплеера VLC. И вызвать его прямо из JAVA приложения.

Кому интересно, просим под кат.
Total votes 12: ↑12 and ↓0+12
Comments1

Android Camera2 API от чайника, часть 3. Media Codec и стрим видео по UDP

Reading time22 min
Views13K
Итак, со съемками фоточек и записью видео при помощи Camera2 API мы вроде бы, разобрались. Осталось только научиться передавать видеопоток c Android устройства страждущим получателям извне. Конечной целью, как уже неоднократно ранее говорилось, является интеллектуализация роботелеги — ставим на неё смартфон и так сказать, превращаем обезьяну в человека. В этом нам поможет Media Codec. И конечно, новое Camera2 API.


Кому интересно, прошу под кат.
Total votes 19: ↑19 and ↓0+19
Comments12

Как подписывать приложения для macOS Catalina 10.15

Reading time11 min
Views13K
image

[Прим. пер.: переведя вызвавший широкое обсуждение на Хабре пост, я заинтересовался новыми правилами для разработчиков ПО, введёнными компанией Apple. В этой статье рассказывается о личном опыте освоения правил одним из разработчиков игр.]

Введение


В новой версии macOS Apple сделала обязательными некоторые требования к приложениям, которые раньше были рекомендациями: 64-битные исполняемые файлы, подписывание и нотаризация. Не удовлетворяющие этим требованиям приложения больше запускаться не будут.

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

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

Я только что закончил разбираться с тем, как реализовать соответствие этим требованиям для моей игры Airships: Conquer the Skies. Airships работают на Java, а потому требуют ещё и JVM, но в целом всё остальное будет применимо для большинства разработчиков.

Вот что я узнал о подписывании и нотаризации приложения для Mac, которое не было скомпилировано непосредственно Xcode. Учтите, что информация получена из моих собственных исследований и может быть точной не на 100%. Вопросы и поправки приветствуются.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments11

Муравейник или крепость? Строю дом по цене квартиры. 1 часть

Reading time3 min
Views77K
Часть 1. Строительство
Часть 2. Отопление
Часть 3. Электроснабжение
Часть 4. Комфорт дома и гаджеты.

Как и многие гики, я пришел к мысли, что здоровье гораздо дороже любых денег. Одно из слагаемых этого здоровья — это душевный покой и отсутствие отвлекающих и раздражающих соседей сверху, снизу, сбоку… Так я пришел к строительству своего дома. На своем примере я хочу показать, с какими проблемами предстоит столкнуться и как избежать трудностей впоследствии. В следующих выпусках, если этот понравится, расскажу о домашней сети, организации видеонаблюдения IP-камерами, резервном и автономном электроснабжении и многом другом, но сначала надо построить жилище.

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


Total votes 130: ↑118 and ↓12+106
Comments602

Information

Rating
Does not participate
Registered
Activity