Anonymous
я видел. он как я понял через системный scp копирует
мм ... да, так и есть. Но в целом там не сильно сложно должно быть
🅺🆁🅴🅻
мм ... да, так и есть. Но в целом там не сильно сложно должно быть
ага, тоже так думал, но увы не получается. системный scp не подходит совсем. нужно реализовывать все через go. сейчас перепишу код и выложу то что не получается
🅺🆁🅴🅻
Так, прошу прощения за бейспокойство. Видимо коряво что-то делал. Все получилось.
🅺🆁🅴🅻
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 сокета?
Anonymous
я щас блин вскроюсь почему *icmp.PacketConn может "терять" (не видеть) часть приходящих сообщений? :)
а в wireshark'e они есть ? Я в свое время тоже повоевал с этим icmp, но вот потерянных пакетов у меня не было
Wingman
есть
Wingman
в tcpdump`е
Wingman
там суть в том, что на том же хосте у меня всякие мониторинги — и летает куча пингов софтинка все их видит и читает из сокета но _нужные_ (те, которые она ожидает) - периодически пропадают (не вычитываются), хотя они 100% прилетают
Anonymous
Я делал подобное, пингалку :D
Anonymous
Сейчас открыл код, и у меня там таки ipv4.PacketConn
Anonymous
но ... уже не помню как Я к этому пришел )
Wingman
да какая разница, оно же внутри себя ipv4.packetconn и держит, по идее
Wingman
точнее net.PacketConn
Wingman
говно
Anonymous
У меня вот так, все работает ОК
Wingman
https://play.golang.org/p/b9VxyWqZFsD
пасиба, раскурю
Anonymous
пасиба, раскурю
для в6 там чуть иначе ... не суть таже
Wingman
никому %)
Anonymous
в6 нинужин
ну, мне был нужен :D
🅺🆁🅴🅻
у вас файл example.txt лежит в корне на удалейно машине?
Не. задача стояла такая. Файл лежащий на локальной машине отдать по ssh на удаленную машину. Файл example лежит на локальной. Впринципе код у меня теперь отрабатывает все на отлично. Просто я по глупости в прошлый раз копировал папку :)
Anonymous
не, та же фигня :(
Хз, возможно firewall или еще что ... надо уже копать по ситауции. Т.к. у меня все ходит, где-то по сотне пакетов в секунду
Anonymous
в пики
Wingman
у меня побольше
Anonymous
попробуй сделать код на сях, тот же raw сокет, и смотри что приходит
Wingman
ну вот собираюсь, да
Wingman
но лееееееееееень)
Wingman
в свое время наоборот свой старый пингер c -> go переписал
Anonymous
у меня старого не было, нужна была пингалка на go
Anonymous
уже который год работает и кушать не просит )
Anonymous
часть BE для приложеньки
Wingman
попробуй сделать код на сях, тот же raw сокет, и смотри что приходит
ну и таки да, старая добрая сишка видит все пакеты :(
Сергей
Привет всем, подскажите, есть ли возможность на go сделать вытесняющую многозадачность как в Erlang? Всмысле чтобы планировщик переключал горутины и одна горутина не блокировала весь поток?
Сергей
Я слышал, что что-то похожее делается через select
Сергей
все ок, уже так работает
Круто, я наверное немного отстал от жизни. А с какой версии?
Сергей
Так что получается на данный момент модель акторов отличается от ерланговой только тем, что в го общий сборщик мусора на все горутины
Сергей
И гораздо проще расшарить данные между горутинами
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
Alexey
В Go вытеснение может произойти при каждом вызове функции. Если есть какой-то цикл, который долго не вызывает функции/методы вообще (например, только числа считает), то можно вставить runtime.Gosched()
Alexey
Но это очень странная ситуация, если честно
Alexey
Без вызовов функций?
Alexey
Покажите мне такое
Alexey
я знаю
Nikita
"Встроенные" - это как? В го нет всроенных функций
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
Roman
типа того, но нет, без кодогенерации
а как же это работает без кодогенерации то?! это-ж типичная generic функция
Nikita
https://golang.org/pkg/builtin/#append func append(slice []Type, elems ...Type) []Type Type это же generic type? он оптередляется при кодогенерации для всех используемых с append типов?
Точно знаю за мапы, перед компиляцией, функции взаимодействия с мапами подставляются на runtime.makemap, mapaccess1и т.п.