• Как сделать синхронизацию?

    LiptonOlolo, так я наоборот сказал, что если данных немного, можно не уведомление гнать, а сразу данные ) а вообще чего, идея рабочая, идите делайте, хватит по форумам сидеть ))
  • Какие ресурсы можете порекомендовать?

    reinmaker90, вам же привели ссылку на эту книгу. По ссылке указано, что она изначально бесплатная, видимо поэтому в продаже и не найти )
  • Можно ли создать свою программу?

    *текстовый чат, а не текстовый файл, конечно же ) руки по привычке набирают )
  • Как протащить изображение через SignalR?

    Jeer
    @Jeer Автор вопроса
    Спасибо, это посмотрю
  • Как протащить изображение через SignalR?

    Jeer
    @Jeer Автор вопроса
    Johnny Gat, нет, это лишь промежуточный шаг, в дальнейшем хочу посмотреть, как можно без конвертации отобразить байты в картинку. Через холст там или ещё как, если это возможно. Тут требуется проверить именно корректность переданных байтов. Самый логичный, как по мне, способ - конвертнуть в Base64 на клиенте, должно было отобразиться без проблем, но я встал в тупик и теперь не знаю, что с этим делать )
  • Как протащить изображение через SignalR?

    Jeer
    @Jeer Автор вопроса
    верно, я её преобразовал в Base64 на стороне клиента
  • Как подобрать гусеничную платформу на алиэкспрессе?

    Jeer
    @Jeer Автор вопроса
    Спасибо, ух, что вы делаете, просто волшебство. Надеюсь, когда-нибудь я дорасту до этого.
    Я делал через motion, но всё равно тормозило, так я не сильно разобрался в настройках. Читал про gstreamer и другие, похожие продукты. В комментариях так же указывалось, что задержка на них довольно большая.
    Дошёл до чужих мыслей, что раз нет аудиодорожки, то логичнее/проще/быстрее отправлять отдельные картинки покадрово. Мне это подходит, хоть и будет колхоз, сейчас копаю в этом направлении. Думаю, что теперь у меня всё получится.
    С питоном я исторически не знаком, вместо него использую js.

    Спасибо вам ещё раз за старания
  • Как подобрать гусеничную платформу на алиэкспрессе?

    Jeer
    @Jeer Автор вопроса
    Вау, это нереально круто, вы молодец!
    Да, я как раз смотрю на TS100, получается, надо брать и не думать )
    Там у вас в комментариях был вопрос "Рекомендую всем брать шасси с амортизаторами, иначе робот будет очень жестко ездить по неровностям" - обсуждаемая модель как раз с амортизаторами, верно? или я ошибаюсь?
    Ещё такой вопрос, вы не разбирались с камерами, чтобы транслировать в реальном времени видео с малины на компьютер? Машинное зрение, конечно, интересно, но это слишком сложно для меня сейчас ) Копаю сейчас эту тему, вижу миллион вариантов, но что пытался сделать сразу тормозит
  • Как оформить вот это вот всё с инвестором?

    Привет, ну как? Более трёх лет прошло, получилось что-то? Вы-таки пошли в акселератор/инкубатор? Они вам помогли в решении вопроса?
  • Как подобрать гусеничную платформу на алиэкспрессе?

    Jeer
    @Jeer Автор вопроса
    Спасибо. Да, в том и соль, что знаний ноль ) даже так, мне интересней копаться с программной составляющей, а вот в механике полный провал. Жаль среди знакомых нет того, у кого было бы наоборот, вот это было бы здорово )
    Спасибо за ссылку, очень интересно!
  • Почему не устанавливается npm?

    И? делать-то с этим что? На другой версии аналогичная ошибка
  • Как подобрать гусеничную платформу на алиэкспрессе?

    Jeer
    @Jeer Автор вопроса
    Александр Волков, вообще я думал, что достаточно лишь откалибровать, то есть, нажать танку полный вперёд, затем просто посчитать на сколько он отклонился от прямой и добавить коэффициент замедления на опережающий мотор. Думаю, этого было бы достаточно
  • Как подобрать гусеничную платформу на алиэкспрессе?

    Jeer
    @Jeer Автор вопроса
    kisaa, да, вы правы, я не так подошёл к задаче, затупил )
  • Как подобрать гусеничную платформу на алиэкспрессе?

    Jeer
    @Jeer Автор вопроса
    Привет, спасибо за ответ
    Насчет четырёхгусеничных
    раз
    два
    три

    Два мотора синхронизировать не так сложно. А когда мотора четыре, то нужно синхронизировать каждый с каждым другим, это ж ну намного сложнее
  • Какой helpdesk open source посоветуете исходя из моего ТЗ?

    Ну по жире есть свои бомж-варианты, типа зарегистрировать лицензию на студента и продлевать каждые несколько месяцев, но в целом да, подход такой себе )
  • Как писать асинхронные js функций в html?

    Jeer
    @Jeer Автор вопроса
    Константин, Привет,
    Аналогичный вызов апишки, IssueModel так же плоская модель, её видно html-е.
    export class ListComponent implements OnInit{
    
      public dataSource: IssueModel[];
    
      constructor(private service: IssueApiService
        , private router: Router
      ) { }
    
      async ngOnInit() {
        this.dataSource = await this.service.GetList();
      }
    }

    export class IssueApiService extends BaseApiService {
      constructor(public http: HttpClient) {
        super('Issue', http)
      }
    
      public async GetList() {
        return this.get<IssueModel[]>('GetList').toPromise();
      }
    
      public async Create(model: FormGroup) {
        model.controls["type"].setValue(+model.controls["type"].value);
        return this.post<number>('Create', model.value).toPromise();
      }
    
      public async Update(model: FormGroup) {
        return this.post<number>('Update', model.value).toPromise();
      }
    
      public async Details(id: number) {
        return this.get<any>('Details?id=' + id).toPromise();
      }
    }
  • Как писать асинхронные js функций в html?

    Jeer
    @Jeer Автор вопроса
    Антон Швец, еще не очень понимаю, зачем всё писать в комментарии к посту, есть же ответы, там можно вести обсуждение. Тут не очень удобно
  • Как писать асинхронные js функций в html?

    Jeer
    @Jeer Автор вопроса
    Антон Швец, Привет, отличный комментарий.
    Не очень понял про AsyncPipe. У меня есть функция
    public async getUser(userId: string) {
        const profiles = await this.GetProfiles();
        return profiles.find(x => x.id == userId);
      }

    Она помечена как async, соответственно, даже если я явно не указываю тип, эта функция возвращает промисс, верно? Именно эту функцию я и пытаюсь отобразить прямо в шаблон. Что не так?
    И потом, когда будет получен результат выполнения этой функции, это будет модель UserProfileModel, внутри оработает геттер, котрый получает просто первое заполненное поле. Геттер не вызовется, если не будет получен результат.

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

    Антон, в туториалах про эти вещи не пишут ) видимо, я не смог правильно донести свою мысль, постараюсь получше расписать. Сейчас я только постигаю ангуляр, это верно, в данный момент изучаю реактивное программирование. Принцип SPA приложения в том, что существуют простые crud api-шки с простыми моделями. Есть модель пользователя (UserProfileModel, в тексте вопроса). Есть модель IssueModel с полями { assignee, reporter, summary, description }, где assignee - это ссылка на пользователя. Естественно, отображать на экране ссылку мне не нужно, мне требуется отобразить какие-то другие поля по этой ссылке. Какие варианты есть это сделать:
    1. Классический, который использовался до SPA: я усложняю запросы на бекенде, делаю инклюд на пользователей. Усложняю модели, добавляю в модель Issue не только ссылку на пользователя, но и самого пользователя целиком, даже если мне нужно будет всего пара полей (это делается, чтобы лишний раз не лазить в код, мало ли понадобится еще что-то).
    2. Подход склейки моделей. Мы можем усложнить только модель на фронте, оставив простые api-шки. Добавим в модель Issue целиком пользователя только на фронте. В момент загрузки списка issue, мы можем одновременно грузить всех пользователей, потом каким-нибудь волшебным .map склеивать в одну большую модель. Тут есть разные варианты, если данных отображается немного можно вначале загрузить issue, после этого взять айдишники пользователей и с бека получить только этих пользователей. Работать будет, но... вариант такой себе
    В обоих случаях выше мы видим усложнение моделей, соответственно, увеличение количества багов, увеличение сопровождения, дольше вносить новые изменения, хуже читабельность, сложнее логика и т.д. Не хочу так.
    3. Что я пытаюсь добиться в текущем подходе: оставить простой бекенд. Оставить простые модели на фронте. Не плодить вот эти вот "объединённые модели", склейки через map. Есть плоская простая модель issue, есть плоская простая модель юзера. Если у меня в одной моделе ссылка на другую модель (айдишник), то.. у меня же SPA приложение, чёрт побери, я хочу с этим айдишником залезть в другой сервис и вытащить необходимую инфу. Сейчас я могу это сделать, если данные уже загружены. Хотя это всё равно будет лучше, чем первые два варианта, но мне нужно будет помимо загрузки списка issue в этом компоненте руками дёргать загрузку списка пользователей, хотя они не относятся к issue. Это так же довольно криво.
    Так же я хочу использовать реактивные принципы, так как issue и юзеры загружаются асинхронно, грубо говоря, отрисовывается страница issue, поля assignee пустые, а пользователи могут появиться позже, но когда появятся, просто отобразятся на странице. Не надо говорить, что всё необходимо загрузить заранее. Как это правильно делается?

    Разве я обсуждаю какой-то вычурный функционал? По-моему, достаточно стандартная задача. Разве все решают такую задачу по первым двум вариантам? Или я что-то упускаю? Третий вариант мне кажется самым перспективным. Единственное, должно существовать какое-то изящное решение. К примеру, использовать ангуляровский резолвер компонента (хоть это и не реактивно), либо вынести имя пользователя в небольшой компонент, возможно, это может сработать
  • Как писать асинхронные js функций в html?

    Jeer
    @Jeer Автор вопроса
    Aetae, привет. В этом и заключается мой вопрос, где нужно производить эти вычисления?