🅺🆁🅴🅻
Так, прошу прощения за бейспокойство. Видимо коряво что-то делал. Все получилось.
Co(n)stantine👨🔬
🅺🆁🅴🅻
client := scp.NewClient(host+":22", sshConfig)
138 err := client.Connect()
139 if err != nil {
140 fmt.Println("Couldn't establisch a connection to the remote server ", err)
141 return
142 }
143
144 f, _ := os.Open("example.txt")
145 // Close client connection after the file has been copied
146 defer client.Close()
147
148 // Close the file after it has been copied
149 defer f.Close()
150
151 // Finaly, copy the file over
152 // Usage: CopyFile(fileReader, remotePath, permission)
153
154 client.CopyFile(f, "/example.txt", "0655")
🅺🆁🅴🅻
sshConfig := &ssh.ClientConfig{
86 User: "user",
87 Auth: []ssh.AuthMethod{ssh.Password("password")},
88 }
89 sshConfig.HostKeyCallback = ssh.InsecureIgnoreHostKey()
Wingman
я щас блин вскроюсь
почему *icmp.PacketConn может "терять" (не видеть) часть приходящих сообщений? :)
Wingman
интересно, может ли гошка тупо "не успевать" вычитать всё из raw сокета?
Wingman
есть
Wingman
в tcpdump`е
Wingman
там суть в том, что на том же хосте у меня всякие мониторинги — и летает куча пингов
софтинка все их видит и читает из сокета
но _нужные_ (те, которые она ожидает) - периодически пропадают (не вычитываются), хотя они 100% прилетают
Anonymous
Я делал подобное, пингалку :D
Anonymous
Сейчас открыл код, и у меня там таки ipv4.PacketConn
Anonymous
но ... уже не помню как Я к этому пришел )
Wingman
да какая разница, оно же внутри себя ipv4.packetconn и держит, по идее
Wingman
точнее net.PacketConn
Roman
Wingman
говно
Anonymous
Anonymous
У меня вот так, все работает ОК
Wingman
Subbotin
Wingman
Wingman
никому %)
Subbotin
🅺🆁🅴🅻
у вас файл example.txt лежит в корне на удалейно машине?
Не. задача стояла такая. Файл лежащий на локальной машине отдать по ssh на удаленную машину. Файл example лежит на локальной. Впринципе код у меня теперь отрабатывает все на отлично. Просто я по глупости в прошлый раз копировал папку :)
Wingman
Anonymous
не, та же фигня :(
Хз, возможно firewall или еще что ... надо уже копать по ситауции. Т.к. у меня все ходит, где-то по сотне пакетов в секунду
Anonymous
в пики
Wingman
у меня побольше
Anonymous
попробуй сделать код на сях, тот же raw сокет, и смотри что приходит
Wingman
ну вот собираюсь, да
Wingman
но лееееееееееень)
Wingman
в свое время наоборот свой старый пингер c -> go переписал
Anonymous
у меня старого не было, нужна была пингалка на go
Anonymous
уже который год работает и кушать не просит )
Anonymous
часть BE для приложеньки
Wingman
Сергей
Привет всем, подскажите, есть ли возможность на go сделать вытесняющую многозадачность как в Erlang? Всмысле чтобы планировщик переключал горутины и одна горутина не блокировала весь поток?
Artem
Сергей
Я слышал, что что-то похожее делается через select
Alexei
Anonymous
Subbotin
Artem
Сергей
Сергей
Так что получается на данный момент модель акторов отличается от ерланговой только тем, что в го общий сборщик мусора на все горутины
Сергей
И гораздо проще расшарить данные между горутинами
Maksim
были сомнения относительно данной конторы, теперь их точно нет)
Anonymous
#вакансия #job #golang #python
Backend Developer (Golang, Python)
В отдел Quantitative Trading группы компаний QBF, требуется backend-разработчик.
Мы занимаемся разработкой количественных продуктов, стратегий и соответстующей инфраструктуры.
Стек:
Golang, Python, Docker, Gitlab CI, PostgreSQL, Microservice Architecture, AWS
Обязанности:
* Разработка инфраструктуры для автоматизированной торговли
* Разработка коннекторов к биржам и брокерам и других микросервисов
Требования:
* Опыт коммерческой разработки на GoLang или Python
* Навыки работы с сокетами
* Навыки многопоточного и асинхронного программирования
* Навыки работы с SQL / noSQL базами данных
* Опыт разработки Web-сервисов
Будет плюсом:
* Опыт проектирования или разработки систем алгоритмической торговли
* Знание какого-либо frontend фреймворка (Angular, React и т.д)
* C / C++ / Java
* Опыт работы с AWS
* Bloomberg API
* Unit tests / Integration tests
* Понимание микроструктуры рынка и механизмов ценообразования основных производных финансовых инструментов
* Отличные коммуникативные навыки и умение находить подход к разным людям.
Условия:
* Гибкий график работы
* Офис ММДЦ «Москва-Сити»
* Оформление по ТК РФ
Вилка: 120-200
Контакты:
qr@qbfin.ru
t.me/QBFQR
Roman
Alexey
В Go вытеснение может произойти при каждом вызове функции. Если есть какой-то цикл, который долго не вызывает функции/методы вообще (например, только числа считает), то можно вставить runtime.Gosched()
Alexey
Но это очень странная ситуация, если честно
Alexey
Roman
Alexey
Без вызовов функций?
Alexey
Покажите мне такое
Alexey
я знаю
Nikita
"Встроенные" - это как? В го нет всроенных функций
Roman
Roman
нашёл)))
Lex
Привет, нашел вот такой код но смутно понимаю, что это и как оно работает, не подскажете что это?
var _ controller.Provisioner = &hostPathProvisioner{}
где controller.Provisioner это интерфейс а hostPathProvisioner это тип структура
Aleksandr
думаю это проверка на интерфейс. не скомпилится
Aleksandr
сайд эффект - выполнится init в пакете controller
Aleksandr
больше не вижу практических применений
Daniel
это именно проверка на интерфейс
Daniel
я у себя всегда втыкаю - иначе рискую получить панику в рантайме
Lex
ок, то есть если для hostPathProvisioner не будут определены методы интерфейса то код тупо не скомпилируется, так?
Daniel
так
Lex
отлично, спасибо большое
Roman
https://golang.org/pkg/builtin/#append
func append(slice []Type, elems ...Type) []Type
Type это же generic type? он оптередляется при кодогенерации для всех используемых с append типов?
Илья
типа того, но нет, без кодогенерации
Илья
// Type is here for the purposes of documentation only. It is a stand-in
// for any Go type, but represents the same type for any given function
// invocation.
type Type int
Nikita