Я слышал, что желательно делать поля неимпортируемыми и использовать геттеры и сеттерыА где слышали?Вообще это не всегда верно, например даже стандартная библиотека для работы с csv там можно настраивать поля напрямую. В целом если у вас поля с простыми типами данных то в целом это не имеет особого смысла. Это имеет смысл если нужно работать с интерфейса или спрятать за ними часть сложной логики. Насколько я знаю эти идеи тащат люди из других языков, но паттерны которые распространены в Java или C# не всегда подходят для го поэтому не стоит все буквально воспринимать.
Подскажите как это сделатьЕсли опыт в вебе есть, то просто пройти го тур, загуглить go roadmap и гуглить/читать книги/маны по нужному направлению.
Есть несколько больших postgresql таблиц(по ≈ 1млн строк в каждой).1млн не так много данных, но если не хватает скорости то можете попробовать создать индексы. Со стороны клиента можно создать пул соединений.
Хочу написать несколько ботов, которые будут от имени телеграм-аккаунтов, не помеченных как ботыtdlib, это оф. апи, чтобы работать от пользовательского аккаунта, от него можно нормально писать. Иногда нужно скачать tdlib(с гитхаба) снизить версию до версии поддерживаемой в либе и потом использовать.
JS, CSS, HTML и конечно Pythonс этим стеком проще найти работу.
Но правильно ли я понимаю что backend и GO в частности, если говорить о чем-то более менее коммерчески значимом, то это ТОЛЬКО более менее крупная компания и коллектив?Go есть и в небольших конторах, но обычно джуны на го никому не нужны.
А если рассчитывать на фриланс - то это "ни о чем", несерьезно и нет перспектив, ну разве что боты в телеграм писать.Специалист с опытом может учавтсвовать в среднесрочных проектов. Писать ботов можно на го, но он не особо популярен для этого.
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))
}
};
});
как мне правильно описать эту функцию в интерфейсе?Если вы имеете ввиду, как скомпилировать код во втром случае, то вам нужно сделать так, чтобы структура удовлетворяла бы вашему интерефейсу, т.е. нужно возвращаемое значение 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?До 2к символов, в целом написание таких длинных запросов не противоречит идеологии rest, т.к. rest это не про то какой длины должен быть url, а про стиль взаимодействия.
:id/profiles/:id/tags/:id/color/:id/more-fields/:id/more-fields/:id/more-fields/:idКонкретно в этом случае используется странное решение(на мой взгляд), и не совсем понятно зачем так делать, т.к. задавать это все через параметры проще. Но т.к. rest это просто стиль архитектуры, то вам никто не запретит так делать, но если кому-то достанется такой код, то он будет не в восторге.
И теперь я хочу сделать апишку для получения информации о каждом тэге. Или хочу его изменить. С одной стороны мы можем использоватьв данном случае возможно имеет еще смысл таких url до 2-го id на id тегов уже явно бесполезно и его проще задать параметром, хотя можно сделать, чтобы только id аккаунта был в url, всё остальное можно засунуть в параметры, но тут я не знаю архитектуры приложения, возможно вам так удобнее или проще.
GET /accounts/:id/profiles/:id/tags/:id
Когда я запускаю сервер, я подключаюсь к бд как админМожет я чего-то не понял, но где связь между запуском бд и подключением к ней, postgres же примерно так запускается sudo service postgresql start, а подключение уже идёт отдельно.
Как это сделать(сменить подключение)?Закрыть текущее и открыть новое, например считать данные из конфига и по ним сделать новое подключение, конкретнее сказать сложно, т.к. не знаю структуру вашего проекта.
подключаться под нужной ролью?В целом можно сделать соединения(пулы) с разными ролями в зависимости от прав пользователя.
(сменить подключение)?Так конечно можно делать, но база может быстро упасть под нагрузкой, т.к. открытие/закрытие соединения довольно тяжелый процесс.
По идее я всегда вместо книг по стд либам читаю документацию
3. LO и OO открытое ПО, но не входят в реестр российского ПО, однако многие российские дистрибутивы Linux поставляются именно с LO.Честно говоря не совсем понятен этот пункт, вы можете использовать LO ,т.к.законопроект запрещает закупать иностранное ПО, про open source ничего не говорится. Во-вторых запрет идёт не для всех подряд сфер, а для ограниченной области. На хабре вам в комментах писали, что можно увелечить производительность LO при необходимости. В целом конечно лучший вариант написать свое ПО для работы, но как я понял этот вариант не подходит.
- Ставить ли отдельный ПК с несколькими дисками под нужды домашнего файл-сервера? Или хватит своего ПК.Если хотите надежно хранить то вам нужен RAID, какой именно решайте сами.
Сколько лет живут диски, если просто "лежат"?Тут не угадаете, может попасться диск, который проработает 10 лет(не редкость для домашних пк), а может диск сломаться через год если не повезет.
- Достаточно ли будет например Acronis'а, чтобы делать резервное копирование на 2 разных диска?В целом особой разницы нет через что бэкап делать.
Я написал такую систему, но после того как код был написан, я задал себе вопрос, всё ли я сделал правильно или как вообще правильно ?Стоит поподробнее описать как вы сделали, из описания не очень понятно, как вы реализовали это функцию, также непонятно что рассылает система и какой язык вам нужен для кода.
В целом да, лучше создать нужные таблицы в БД и брать данные для отправки оттуда. Планировщик лучше сделать внутри приложения, который при наступлении определенного времени будет делать запрос в БД, получать список людей, которым нужно отправить письмо и затем отправлять.
Я так понимаю нужно использовать базу данных, в которой нужно хранить состояние рассылки для конкретного пользователя по полю(телефон/почта) и из этой базы можно было бы брать данные и отменять запланированные задачи по рассылке для пользователя.
как сертификаты проверяются, при необходимости говорить, что сертификат на сервере дохлый, или что, наоборот, сертификат плохой, но жить можно, как бы на http без ssl.Браузер сам говорит об этом и куче подозрительных вещей, непонятно зачем для этого писать отдельный софт.
Слышала, что расширения для браузеров пишут на java script - но мне это видится извращением каким-то.Честно говоря наобот, js создавался для браузера.
У меня вопрос: я хочу написать расширение для браузера, изменяющее содержимое веб-страниц. Всех. Абсолютно всех. Без исключения.Что именно должно делать расширение?
И чтобы со стороны сайтов это расширение невозможно было детектировать.Можете сказать зачем - это нужно? И в целом содержимое страниц постоянно меняется из-за динамических запросов.
...как распарсить htmlпарсинг в целом это не проблема, большая проблема получить html, который получит конечный пользователь, для примера попробуйте получить html-код для конечного пользователя с переводом текста из google translate без selenium.
Возможно, работать со внутренними структурами данных браузера.Что это значит, слишком расплывчато сформулировано?
не загружать скрипты совсем.Любой браузер это умеет