• Это приложение вирусное?

    @calculator212
    На мой смартфон автоматически скачался яндекс старт
    Честно говоря - это стандартная практика для них. Когда одно приложение тащит за собой 20 других, правда я думал что эта практика осталась в прошлом, но похоже всё возвращается
    Ответ написан
    2 комментария
  • Как правильно устанавливать соединение с БД?

    @calculator212
    Например, в Java были репозитории с методами типа findUserBy(Id,Username и так далее)
    Вероятно использовалась ORM, в го они тоже есть. Но советовал бы вам попробовать пописать запросы в ручную, т.к. это довольно часто встречается можете для начала почитать гайд
    Ответ написан
    Комментировать
  • Куда обратиться для аудита проекта на python / DRF / vue?

    @calculator212
    Интересует отчёт о функционале кода и его качестве
    Зависит от размера проекта, если проект не особо большой можете поискать на фриланс биржах, можно узнать в чатах разрабов, не факт что получится нормального найти, но у нас еще эта индустрия не особо развита.
    а также примерные сроки реализации такого проекта в человеко/часах.
    Тут тяжело дать нормальную оценку, т.к. сильно зависит от уровня разработчиков, работали ли они раньше с такими проектами, уровня их оплаты, от того как часто менялось тз и в каком виде оно вообще было дано, в лучшем случае вам дадут примерные верхние и нижние границы. Можно конечно испозовать штуки типа scc которые покажут сколько понадобилось на разработку ПО разрабов и денег в зависимости от строчек кода(но не стоит сильно доверять таким утилитам)
    Ответ написан
    Комментировать
  • Как решить ошибку при попытке отправить запрос в GPT-3 API?

    @calculator212
    The OpenAI API expects a JSON payload
    Кажется вы используете не json. Судя по коду вы добавляете параметры к запросы. Вам нужно создать json по нужному шаблону и поместить его в тело.
    Ответ написан
    Комментировать
  • В каких случаях использовать импортируемые поля в структуре go?

    @calculator212
    Я слышал, что желательно делать поля неимпортируемыми и использовать геттеры и сеттеры
    А где слышали?Вообще это не всегда верно, например даже стандартная библиотека для работы с csv там можно настраивать поля напрямую. В целом если у вас поля с простыми типами данных то в целом это не имеет особого смысла. Это имеет смысл если нужно работать с интерфейса или спрятать за ними часть сложной логики. Насколько я знаю эти идеи тащат люди из других языков, но паттерны которые распространены в Java или C# не всегда подходят для го поэтому не стоит все буквально воспринимать.
    На редите есть обсуждение этого вопроса тут.
    Ответ написан
    2 комментария
  • Какие есть сервисы для автоматического создания субтитров по api?

    @calculator212
    Whisper
    В нём же вроде есть тайминги тут
    Ответ написан
    Комментировать
  • Как использовать рекомендуемый нейминг интерфейсов?

    @calculator212
    В целом там написано для большинства случаев, если нет возможности добавить -er то не нужно натягивать сову на глобус, ниже пример из исходников самого языка
    642f2c660601c893729082.png
    Ответ написан
    Комментировать
  • Как перейти с Python Django на Go?

    @calculator212
    Из похожего - это beego, но стоит прочесть https://habr.com/ru/post/444022/. Многие используют gin или что-то в этом духе(всё это обертки над стандартной net/htpp) или используют обертки над fasthttp.
    Подскажите как это сделать
    Если опыт в вебе есть, то просто пройти го тур, загуглить go roadmap и гуглить/читать книги/маны по нужному направлению.
    Ответ написан
    Комментировать
  • Как правильно организовать поиск по большому кол-во бд?

    @calculator212
    Есть несколько больших postgresql таблиц(по ≈ 1млн строк в каждой).
    1млн не так много данных, но если не хватает скорости то можете попробовать создать индексы. Со стороны клиента можно создать пул соединений.
    Ответ написан
  • Можно ли программно отправлять сообщения от лица человеческих аккаунтов Telegram?

    @calculator212
    Хочу написать несколько ботов, которые будут от имени телеграм-аккаунтов, не помеченных как боты
    tdlib, это оф. апи, чтобы работать от пользовательского аккаунта, от него можно нормально писать. Иногда нужно скачать tdlib(с гитхаба) снизить версию до версии поддерживаемой в либе и потом использовать.
    Ответ написан
    Комментировать
  • Перспективно ли изучения GO для начинающих?

    @calculator212
    JS, CSS, HTML и конечно Python
    с этим стеком проще найти работу.
    Но правильно ли я понимаю что backend и GO в частности, если говорить о чем-то более менее коммерчески значимом, то это ТОЛЬКО более менее крупная компания и коллектив?
    Go есть и в небольших конторах, но обычно джуны на го никому не нужны.
    А если рассчитывать на фриланс - то это "ни о чем", несерьезно и нет перспектив, ну разве что боты в телеграм писать.
    Специалист с опытом может учавтсвовать в среднесрочных проектов. Писать ботов можно на го, но он не особо популярен для этого.
    Ответ написан
    5 комментариев
  • Как правильно выводить длину видео?

    @calculator212
    Просто делать проверку на то, что длительность меньше одного часа. Если использовать ваш код, то можно сделать так
    arr.map((item) => {
      let media = new Audio(item);
      media.onloadedmetadata = function () {
        
        let ac = new Date(media.duration * 1000);
        const hours = ac.getUTCHours();
        
        if (hours == 0){
          console.log(ac.toISOString().slice(14, 19))
        } else {
          console.log(ac.toISOString().slice(11, 19))
        }  
        
      };
    });
    Ответ написан
    Комментировать
  • Как прочитать конкретную строку в файле по её номеру(golang)?

    @calculator212
    тут можно посмотреть
    Ответ написан
    Комментировать
  • Как описать функцию в интерфейсе?

    @calculator212
    как мне правильно описать эту функцию в интерфейсе?
    Если вы имеете ввиду, как скомпилировать код во втром случае, то вам нужно сделать так, чтобы структура удовлетворяла бы вашему интерефейсу, т.е. нужно возвращаемое значение SetNum поменять на IGroup.
    type IGroup interface {
    	SetNum(num int) IGroup
    }
    
    type Group struct {
    	num int
    }
    
    
    func (r Group) SetNum(num int) IGroup {
    	r.num = num
    	return r
    }
    
    func NewGroup(num int) Group {
    	return Group{
    		num: num,
    	}
    }
    И всё скомпилируется
    Ответ написан
  • На сколько глубоко могут уходить подколлекции в нэйминге URI в REST?

    @calculator212
    На сколько глубоко могут уходить подколлекции в нэйминге URI в REST?
    До 2к символов, в целом написание таких длинных запросов не противоречит идеологии rest, т.к. rest это не про то какой длины должен быть url, а про стиль взаимодействия.
    :id/profiles/:id/tags/:id/color/:id/more-fields/:id/more-fields/:id/more-fields/:id
    Конкретно в этом случае используется странное решение(на мой взгляд), и не совсем понятно зачем так делать, т.к. задавать это все через параметры проще. Но т.к. rest это просто стиль архитектуры, то вам никто не запретит так делать, но если кому-то достанется такой код, то он будет не в восторге.
    И теперь я хочу сделать апишку для получения информации о каждом тэге. Или хочу его изменить. С одной стороны мы можем использовать
    GET /accounts/:id/profiles/:id/tags/:id
    в данном случае возможно имеет еще смысл таких url до 2-го id на id тегов уже явно бесполезно и его проще задать параметром, хотя можно сделать, чтобы только id аккаунта был в url, всё остальное можно засунуть в параметры, но тут я не знаю архитектуры приложения, возможно вам так удобнее или проще.
    Ответ написан
    2 комментария
  • Как менять подключения к базе данных во время работы веб-сервера?

    @calculator212
    Когда я запускаю сервер, я подключаюсь к бд как админ
    Может я чего-то не понял, но где связь между запуском бд и подключением к ней, postgres же примерно так запускается sudo service postgresql start, а подключение уже идёт отдельно.
    Как это сделать(сменить подключение)?
    Закрыть текущее и открыть новое, например считать данные из конфига и по ним сделать новое подключение, конкретнее сказать сложно, т.к. не знаю структуру вашего проекта.
    подключаться под нужной ролью?
    В целом можно сделать соединения(пулы) с разными ролями в зависимости от прав пользователя.

    (сменить подключение)?
    Так конечно можно делать, но база может быстро упасть под нагрузкой, т.к. открытие/закрытие соединения довольно тяжелый процесс.
    Ответ написан
  • Достаточно ли будет чтения cppreference для освоения STL?

    @calculator212
    Как по мне ваш вопрос не совсем корректен, т.к. непонятно что именно вы хотите.
    По идее я всегда вместо книг по стд либам читаю документацию

    Если вам достаточно документации то да. В книгах обычно представлена более структурированная информация. Проблема может возникнуть с тем, что стандартная бибилиотека большая и по документации её довольно тяжело изучать, но если вы знаете нужные вам темы/разделы, то наверное не сильно вам нужны книги, возможно хватит бегло просмотреть оглавление. Обзор стандартов можете глянуть тут(узнаете какой стандарт что добавлял, и как всё примерно внутри работает).
    Ответ написан
    Комментировать
  • Как посоветуете хранить словарь python в бд?

    @calculator212
    Есть словарь, достаточно большой(id: name).
    если тут только словарь то можно просто в редис засунуть, думаю вам хватит производительности
    Ответ написан
    Комментировать
  • Чем можно заменить связку MS Excel + VBA в Linux?

    @calculator212
    3. LO и OO открытое ПО, но не входят в реестр российского ПО, однако многие российские дистрибутивы Linux поставляются именно с LO.
    Честно говоря не совсем понятен этот пункт, вы можете использовать LO ,т.к.законопроект запрещает закупать иностранное ПО, про open source ничего не говорится. Во-вторых запрет идёт не для всех подряд сфер, а для ограниченной области. На хабре вам в комментах писали, что можно увелечить производительность LO при необходимости. В целом конечно лучший вариант написать свое ПО для работы, но как я понял этот вариант не подходит.
    Вы конечно можете предположить, что LO тоже могут запретить, но это маловерятно, т.к. этот пакет уже используется в astra linux, который используется для работы с критической информацией немного инфы. Поэтому если нет желания писать свой софт стоит выбрать LO.
    Ответ написан
  • Как надежно хранить фото и видео?

    @calculator212
    - Ставить ли отдельный ПК с несколькими дисками под нужды домашнего файл-сервера? Или хватит своего ПК.
    Если хотите надежно хранить то вам нужен RAID, какой именно решайте сами.

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

    - Достаточно ли будет например Acronis'а, чтобы делать резервное копирование на 2 разных диска?
    В целом особой разницы нет через что бэкап делать.
    Ответ написан
    6 комментариев