Pull to refresh
8
Данильченко Артем@serjeant

backend-разработчик

2
Subscribers
Send message

А вы не пробовали просто платить людям достойно, чтобы они не искали приключения на стороне? Может человеку на ипотеку не хватате и приходится ещё подработки искать. Создайте дух настоящей инженерной компании, а не рассадник эффективных менеджеров, когда на 1 разраба 5 человек менеджеров.
За 10 лет на удаленке ни разу не сталкивался с тем что чьито переработки "негативно сказывается и на продуктивности, и на мотивации остальных сотрудников."
А вот ежечастное заполнение жопочасов в tempo или трекеры очень даже негативно влияют. На продуктивность,желание работать и даже больше скажу - приводят к выгорянию. Проверено на себе и друзьях.
Так что думайте, вы скорее потеряете всю команду,чем получите эффективную разработку.

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

Есть ещё вот такая удобная штука:
https://github.com/vanzan01/cursor-memory-bank
а к ней в связку платный плагин https://supercode.sh/ru. Правда после обновления курсора он перестал у меня работать и поддержка не отвечает...

Спасибо за статью!
Хотел бы дополнить, что квадрифилярную антенну можно купить и на территории РФ (правда частота там больше для cubesat подходит) https://radial.ru/catalog/antennas/circularly/vh-436/
Так же кроме приема фото метеоспутников, можно организовать прием телеметрии cubesat.
https://satnogs.org/about/


Спасибо за статью. Подскажите,а почему вы не захотели использоваться MQTT из состава NATS?

Не просто форк, мы так же самостоятельно реализуем функционал, который доступен только в Vault EE версии. Так же в нашем roadmap учитываются запросы от наших клиентов, например, сертификация ФСТЭК и шифрование по ГОСТ.
Из последнего что мы сделали - встроенный механизм auto unseal кластера Stronghold, репликация KV, автоматические бэкапы по расписанию (файл / S3).

Отличный подход! Спасибо за статью! Надеюсь рано или поздно компании откажутся от лавкодинга в пользу рефакторинга.
Когда приходишь на новую работу в первую очередь на тебя вываливают кучу легаси кода и с ним приходится разбираться. А не деревья вертеть как на собесе.

А, теперь понял. Да согласен, это надо учитывать. Спасибо, что подсветил.

А можете привести пример?

Вот например такой код работает нормально
func main() {
ctx, done := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL)
defer done()
g, gctx := errgroup.WithContext(ctx)

// just a ticker every 2s g.Go(func() error { ticker := time.NewTicker(2 * time.Second) i := 0 for { i++ if i > 10 { return nil } select { case <-ticker.C: fmt.Println("ticker 2s ticked") case <-gctx.Done(): fmt.Println("closing ticker 2s goroutine") return gctx.Err() } } }) // just a ticker every 1s g.Go(func() error { ticker := time.NewTicker(1 * time.Second) i := 0 for { i++ if i > 10 { return nil } select { case <-ticker.C: fmt.Println("ticker 1s ticked") case <-gctx.Done(): fmt.Println("closing ticker 1s goroutine") return gctx.Err() } } }) // wait for all errgroup goroutines go func() { err := g.Wait() if err != nil { if errors.Is(err, context.Canceled) { fmt.Println("context was canceled") } else { fmt.Printf("received error: %v\n", err) } } else { fmt.Println("finished clean") } }() time.Sleep(5 * time.Second) fmt.Println("before done") done() fmt.Println("after done") time.Sleep(1 * time.Second) }

Вывод:
ticker 1s ticked
ticker 1s ticked
ticker 2s ticked
ticker 1s ticked
ticker 2s ticked
ticker 1s ticked
before done
closing ticker 1s goroutine
closing ticker 2s goroutine
context was canceled
after done

/

Очень странно, почему вы не использовали синтаксис go для обмена значениями переменных:
first,second = second,first

*first,*second = *second,*first, кстати прежде чем разыменовывать указатели, было бы неплохо их на nil проверить.

Статья вообще ни о чем.

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


Определение буферов протоколов
Эффективная сериализация с использованием буферов протоколов

Это я так понимаю дословный перевод protobuf с искажением смысла?

Спасибо за статью! Благодаря вашему циклу публикаций, я тоже построил дома систему резервирования на базе стабилизатора и инвертора от компании MicroArt. Очень радуюсь, что удачно вложил деньги. Спасало и зимой при отключении света на сутки и летом, когда в СНТ либо очень низкое напряжение, либо отключения каждый час.

Не надо так... Пожалуйста, оставайтесь на java и не пишите код на go. Зачем забивать гвозди микроскопом? Потом обычным гошникам очень тяжело будет после вас поддерживать проект, проще будет выкинуть всё и переписать.

Спасибо большое за статью! Ваш пример вдохновляет и дает повод развиваться в профессиональном плане!

А почему вы не смотрите в сторону задач по разбору и поиску ошибок в коде? Это же ближе к практике и тому чем человеку придется на работе за ниматься.

А зачем вы её на английском написали? При этом рекламируете для русскоговорящей аудитории. Было бы правильно делать на 2х языках сразу.

Information

Rating
4,602-nd
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity

Specialization

Десктоп разработчик, Бэкенд разработчик
Ведущий
Golang
C++
Qt
C
Системное программирование
Linux kernel