Задать вопрос
  • Как заставить моё расширение выполнить fetch ( http://localhost ) на сторонних сайтах?

    Запрос не проходит именно на локалхост? Возможно, дело в безопасности, а запросы на нормальные доменные имена выполняются?
  • Какие статьи почитать (или видео), чтобы разобраться полностью в теме про роутинг в .net?

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

    Vadim2006, Шо-то уж очень много времени прошло )) у меня этот код работал, что у вас не знаю, надо отлаживаться, либо выложите в сандбокс какой-то, чтобы можно было в онлайне потыкать
  • Как стримить кучу картинок с минимальной латенси?

    Jeer
    @Jeer Автор вопроса
    Привет, спасибо
    По капчурингу тут используется raspivid, хотя вышла новая библиотека libcamera. Raspivid больше не будет поддерживаться и надо в любом случае на новую пересаживаться, но это не суть важно в моем вопросе
    По ссылке транслируется именно видео, а как я уже писал, в других источниках говорится, что так как не требуется передавать звуковую дорожку, можно просто отправлять отдельные кадры как jpeg, и это вроде как должно работать быстрее, вот про это хотелось бы каких-то подробностей
    Мне кажется, это гибче, при плохом сигнале (например, очередь можно сделать, и если она будет сильно расти, можно считать, что медленно отправляются) можно будет на лету сжимать в более низкое разрешение или уменьшать частоту кадров.
    Хотя может такое и с видео делается
    Ну и приемник там тоже непонятный, не веб апи ) так что вроде всё мимо
    Я подробнее еще посмотрю попозже, может что интересное узнаю
  • Сайты для поиска единомышленников?

    Сергей Горностаев, В целом такие сайты есть, но там обычно помойка, да

    Так а что делать тогда?
    Вот, например, я пишу какой-то таск трекер для себя, проект есть в опен сорце, там есть киллер-фичи, например, игровые механики, с ними интересно. Мне не нужны специалисты, тащу в одно лицо, хотя от помощи не отказался бы. Ну и это ясно, что поделка, в жире/трелло/битриксе/яндексе понятное дело больше функционала. Но мне было бы приятно, если бы моя опен-сорцная поделка использовалась по назначению другими людьми. Что мне надо делать, писать статьи на хабр? Создавать канал на ютубе и группу в вк? В общем, использовать "бесплатные каналы раскрутки и продаж", в эту сторону копать, получается. Хотя это всё и не к вопросу автора, похоже

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

    Сергей Горностаев,
    найти бесплатного бэкендера для реализации своей идеи

    почему настолько категорично? я вижу вопрос про поиск единомышленников. Это не означает, "сделать всё за меня". Да и даже так, понятно, что должен быть какой-то принцип равноценного обмена, если нужен специалист, который что-то будет делать, он должен получить какое-то вознаграждение. Часто это деньги, универсальная валюта, но не всегда.
    И тут мы вообще не знаем, что за проект. Если коммерческий, то там никто не будет ничего делать, это не интересно, я писал ниже. В остальных же проектах мотивацией может быть что угодно. Волонтеры почему ходят выгуливать собак в приюты? Так может там нужно помочь чего с приемом оплаты настроить, нужен бекендер. Или бота какого запилить. Чуваки ракеты или воздушные шары запускают и потом гоняют на вездеходе по тайге, чтобы найти свою камеру, может им что надо помочь сделать и можно будет сгонять с ними. Другие чуваки может делают фестивали какие-то, но и у них есть волонтеры, которые помогают. Может там можно лендинг какой запилить и пройти на фестиваль бесплатно потом, почему не поучаствовать? А может вообще кто строит робота-краба, который способен своей металлической клешней поймать какую-то рыбу. Я вот еще не участвовал в робо-рыбалке, почему не присоединиться?
    Про гит да, все правильно. Даже если автора собьет автобус, я смогу продолжить проект, если сам им пользуюсь. Но вопрос автора в том, где пиарятся такие проекты? На каких площадках? Я уверен, что в гите куча проектов умных домов. И вот куча народа делает примерно одно и то же. Почему они не могут собраться на какой-то площадке и обсудить и принять какие-то свои стандарты и пилить единый проект?
  • Сайты для поиска единомышленников?

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

    Вроде про это автор и спрашивает, как людям можно вписаться в существующий проект? Я не вижу противоречий в этом треде с вопросом автора. Да, у многих опытных и не очень разработчиков есть свои идеи или проекты, на которые часто нет времени. Тем не менее, в интересные репозитории контрибьютят левые разработчики - это основа опен сорца.
    Конечно, если предлагается какая-то шляпа, никто не будет в этом участвовать. Таких проектов, разумеется, большенство. Но это не отменяет того факта, что есть интересные проекты, в которых можно и поучаствовать, всё индивидуально
  • С чего начинается Frontend & Backend разработка?

    sowefap339, Как проектировать БД немного другой вопрос, чем больше этим будешь заниматься, тем с каждым разом быстрее это будешь делать.
    Обычно есть бизнесовые поля - это то, что видишь на прототипе. Тебе их как-то надо разложить по разными таблицам, обычно так, чтобы не было дублей. Это вопрос нормализации данных, часто пишут заумными словами, но суть там обычно простая, данные и связи не должны дублироваться, это порождает аномалии (почти как в сталкере)
    Помимо бизнесовых полей добавляются технические, какой пользователь создал запись, дата создания, может аналогичные с датой последнего изменения и последним пользователем. Даты могут быть или дублироваться по utc, если сервис кантри-агностик (в разных часовых поясах)

    Я не пробовал, подруга занималась, какие-то управжнения по базам https://sql-ex.ru/?Lang погляди
  • Как залить код в IskraJS из браузера через USB?

    здрасте, так, ну то есть есть желание сделать просто аналог espruino ide? Я смотрю, что они используют web serial, загуглил и прям по первой ссылке есть документация https://developer.mozilla.org/en-US/docs/Web/API/W...
    Про это речь? Или про то, что искра с компьютером не должна быть связана проводами, а типа в браузере пишете, код передается по интернету на искру и она выполняет? Пока все еще не очень понятно
  • Как залить код в IskraJS из браузера через USB?

    здрасте, ясно. Ну если что, делается не сложно, свою пару строк кода я смогу найти в случае необходимости. Другое дело, насколько я помню, у меня все же как-то кривовато работало, такое ощущение иногда, что не обновлялся код, старый выполнялся, вот с этим непонятно, как отлаживаться нормально. А в целом технология мне понравилась, вроде перспективно, что можно перезаливать код на лету, в целом есть удобная js консоль, для веб разработчиков искра должна заходить по идее )
    А вы чего хотите получить вообще? Что-то интересное?
  • Как правильно работать с секретами?

    Jeer
    @Jeer Автор вопроса
    Василий Банников >я в общем-то надеюсь, что секреты добавляются не каждый день и поправить иногда скрипт для запуска - это не большая проблема.

    Это как раз и смущает, получается должен быть какой-то скрипт для запуска, где он должен лежать и как с ним работать? Например, мне понадобилось создать еще какой-то стенд, дев-стенд или для нагрузочного тестирования, не суть важно. Мне нужно руками залезть на какой-то похожий стенд, командами повыписывать переменные окружения куда-то в блокнот, затем залезть на новую виртуалку и там руками повбивать аналогичные переменные. Понадеяться, что ничего не забыл. Затем скопировать какой-то скрипт для запуска, который по сути маппит переменные окружения в докер run. Понадеяться, что скрипт актуальный.
    По сути это текстовички, которые будут копироваться с сервера на сервер. Но где система контроля версий? Где правило infrastructure as code?
    С --env-file для докера (не для .net проекта) звучит попроще в том плане, что если нужно развернуть аналогичный стенд, то можно просто скопировать один файл. Ну и в целом сравнивать два файла проще, чем отдельные переменные, а если мы их засунем в гит, пусть даже в отдельный приватный репозиторий, то придем к тому, с чего начали, что нельзя секреты хранить в коде, кто получит доступ к репозиторию, получит доступ вообще ко всем секретам, и разницы как бы нет с тем, чтобы хранить настройки окружения в appsettings.Release.json и appsettings.Prod.json в приватном репозитории
    В общем, звучит всё как-то очень не прикольно и я не могу отделаться от мысли, что как-то все живут и ни у кого никаких проблем в этом нет. (и без куберов с хелмом).
    Есть какие-то статьи нормальные или даже может коллективные стандарты, как с этим всем работать, чтобы удобно было?
  • Как правильно работать с секретами?

    Jeer
    @Jeer Автор вопроса
    кубер мне пока сказали рано ковырять, ну и мелкие проекты без него как-то живут.
    про докер сварм почитаю, такое надо в ответы закидывать, а не в комменты )
    в целом склоняюсь к тому, чтобы сделать апи для деплоймента, выглядит просто и должно быть удобно, но кажется изобретением велосипеда, как другие-то со всем этим живут, хочется узнать
  • Как правильно работать с секретами?

    Jeer
    @Jeer Автор вопроса
    Первое, тема какая-то мега-обширная и глаза в принципе разбегаются
    Давай разберем по косточкам, переменные окружения, это пары ключ-значение. Если говорить в контексте линукса, то мы можем задать и получить такими командами:
    > MY_VAR='Linuxize'
    > echo $MY_VAR
    > printenv MY_VAR


    Второе, то, что ты привел, гуглится по словам appsettings.json vs environment variables или override appsettings.json with environment variables
    Вкратце, в конфиг мы добавляем что-то вроде такого:
    var configuration = new ConfigurationBuilder()
      .AddJsonFile("appsettings.json")
      .AddJsonFile($"appsettings.{env.EnvironmentName}.json")
      .AddEnvironmentVariables()
      .Build();

    И теперь, если у нас есть в файле appsettings.json есть, например
    {
      "ConnectionStrings": {
        "AppConnection": "server=localhost;port=3308;database=asu;user=root;password=1234"
      },

    Тогда мы можем задать на сервере (или даже переопределить в райдере или студии через переменные окружения этого проекта). В общем, создать в терминале переменную ASPNETCORE__ConnectionStrings__AppConnection='другое подключение' и тогда при запуске проекта у меня будет использовано другое подключение. Вроде там просто через двойное подчеркивание идет, ну и можно свой префикс поставить.
    Тут я всё правильно понял?
    Ну это уже как минимум неудобно, например, я добавляю какое-то внешнее апи, мне нужно в appsettings.json добавить три строчки (url, user, password) и руками лезть на все мои окружения и создавать руками такие переменные. Плюс еще писать куда-то в чат своей команде, что мол добавьте себе вот такое, иначе ничего работать не будет. Создавая новую виртуалку для тестирования, мне нужно как-то залезть на работающую и повыдирать все необходимые переменные окружения и руками потом добавить на новую машину, кажется, что я не до конца понимаю, как с этим удобно работать

    Конечно же третье, это докер, у него я не уверен, что будет доступ в принципе к переменным окружения на какой-то машине, так как он изолирован. Я увидел, что у него есть свои переменные окружения и мы должны задавать именно в докере, чтобы схема, описанная выше, заработала. Я вижу флаг --build-arg:
    docker build --build-arg HTTP_PROXY=http://10.20.30.2:1234 --build-arg FTP_PROXY=http://40.50.60.5:4567 .

    Это нам не подходит, так как сборки лежат в докерхабе в открытом репозитории. В принципе, прокатит, если будет приватный репозиторий (то есть можно хранить все секреты в гитхаб секретах, например, и делать сборку через gha под конкретное окружение). Хотя это все равно не правильно, потому что на прод мы должны ставить именно ту же самую сборку, которую ставили на тестовое окружение и тестировали, а не собирать новую.
    Дальше я вижу, что можно переменные окружения все же прокидывать через docker run
    docker run -e MYVAR1 --env MYVAR2=foo ubuntu bash
    Вроде как это именно то, что нужно, но... эти переменные будут задаваться так же, как я писал во втором пункте и просто прокидываться на запуск в докер контейнер? Тогда помимо того ада добавится еще один шаг на запуск контейнера с правильными переменными окружения, это многострочная нечитаемая команда, которую нужно будет править с добавлением новой переменной, стало только хуже.
    Увидел еще команду на запуск --env-file ./env.list, выглядит перспективно, но я не вижу повсеместного использования

    Вроде нормально расписал, надеюсь ход моих мыслей понятен и проблемные места подсвечены.
    Как с этим всем нужно работать удобно и правильно?
  • Как правильно работать с секретами?

    Jeer
    @Jeer Автор вопроса
    Можешь скинуть пару ссылок на туториалы (или видосы от индусов), я не очень хорошо формулирую запрос, видимо, как с этим правильно работать, чтобы удобно было?
  • Туториалы что-то не помогают, как правильно работать с докером для .net core?

    Jeer
    @Jeer Автор вопроса
    Я поприседал, но смог запустить. Итак, если я собираю образ на локальном компе вот так:
    FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
    
    # Copy everything
    COPY Atheneum ./Atheneum
    COPY Api ./Api
    WORKDIR /Api
    # Restore as distinct layers
    RUN dotnet restore
    # Build and publish a release
    RUN dotnet publish -c Release -o /publishfolder --no-restore
    
    # Build runtime image
    FROM mcr.microsoft.com/dotnet/aspnet:6.0
    WORKDIR /publishfolder
    COPY --from=build /publishfolder .
    
    ENTRYPOINT ["dotnet", "Api.dll"]


    Тогда образ весит 218.47 Мб

    Если же я только копирую необходимые файлы вот так:
    FROM mcr.microsoft.com/dotnet/aspnet:6.0
    WORKDIR publishfolder
    COPY . .
    
    EXPOSE 9000
    ENTRYPOINT [ "dotnet", "Api.dll" ]


    И вызываю это из git hub actions, тогда в хабе пишет 86 метров, но это compressed. После того, как скачал образ на комп, он весит так же, как и первый, 218.47 Мб
    (31 метр это видимо перчая строчка в слоях в докер хабе была, хотя сейчас там стоит 29, не понимаю, где вообще это число увидел).
    В общем, вроде разобрался
  • Туториалы что-то не помогают, как правильно работать с докером для .net core?

    Jeer
    @Jeer Автор вопроса
    Сергей В, но... если я делаю паблиш у себя и копирую только получившиеся файлы в докер с базовым рантаймом, то образ весит 31 мегабайт.
    Если же я делаю по твоей картинке, то образ занимает чуть более 900 метров.
    Меня все еще не покидает чувство, что туториалы меня обманывают. По факту второй образ я делаю на локальной машине и он в итоге собирается, но не могу запустить, возможно что-то делаю не так