
Roman
29.04.2018
14:16:49

Человек
29.04.2018
14:18:45

Roman
29.04.2018
14:19:09
я в QML создавал бенчмарки на более 100.000 динамичных объектов, рандомгно изменяя их свойства.. так оно летало в 60 фпс да и проц не сильно нагружало

Google

Человек
29.04.2018
14:19:31

Kirill
29.04.2018
14:20:08
нет
тогда зачем ты это используешь? О_о это же жесть о_О

Человек
29.04.2018
14:20:43

Roman
29.04.2018
14:20:56

Человек
29.04.2018
14:21:27

Kirill
29.04.2018
14:22:05

Человек
29.04.2018
14:23:04
я переписал её, пытаскивает пароли и записывает всё в файл. Другие программы мне не нужны. мне сейчас конкретно нужно скомпилировать под 32 бита

Roman
29.04.2018
14:23:11

Kirill
29.04.2018
14:28:58

Человек
29.04.2018
14:29:17
тоесть я должен из под 32 бит компилить?

Roman
29.04.2018
14:30:20

Zerogoki
29.04.2018
14:42:02

Google

Zerogoki
29.04.2018
14:46:36
Как проверить на существование директории в текущей папке?
os.Stat сможет отличить директорию от файла с таким же именем?
И вот os.Mkdir принимает битовую маску разрешений. Но что с кроссплатформенностью? На винде ntfs, там совершенно другие права доступа
Можно просто 0 передать и забить?

Olzhas
29.04.2018
14:57:25
Ioutil.Readdir?

Zerogoki
29.04.2018
14:57:42
Но я создать хочу


Subbotin
29.04.2018
15:22:06
сложно объяснить человеку, который никогда не использовал QML, что есть что-то получше DOM'а... это настолько же сложно как объяснить на словах человеку, который всю жизнь слушал музыку на наушниках за 10 баксов, чем дорогие студийные наушники лучше...
но я постараюсь вкратце: в QML есть объекты и свойства. Свойства эти по своей природе динамичны, можно привязать одно свойство к другому с помощью сигналов и слотов.
Т.е. стили можно привязать к логике практически без потерь производительности и overhead'а.
в DOM'е же всё иначе.. сам по себе DOM довольно статичен и динамичным его делает JavaScript. Стили ты не привяжешь к логике никак, ты лишь можешь повесить обработчик события и в нём манипулировать DOM... но это очень, ОЧЕНЬ затратно по ресурсах CPU и памяти. Следственно добиться true 60 fps очень сложно, если у тебя многое делается через JS
в итоге то же приложение, которые на Qt работало бы на 60 фпс и 20% CPU, в вебе в лучшем случае как минимум 40% сожрёт и фпс будет просидать порой до 40,30
Я тут как-то показывал qml верстальщику на html+css. Он сказал, что пиздец сложно и непонятно. Но вот у меня схожие ощущения. После браузерного дома qml это как глоток свежего воздуха.
Кстати вроде в планах есть кутэ для wasm.


Roman
29.04.2018
15:27:01
Кстати вроде в планах есть кутэ для wasm.
забудь, Qt для веба это сказка. Почему? Размер бинаря.
Qt очень большой, слишком большой для веба. 90% кода там в вебе всё равно не нужен.
Поэтому на WASM'е стоит написать новый Scene Graph для браузеров с языком похожим на QML, но приспособленным для web'а

Kirill
29.04.2018
15:29:43
никогда бы не подумал что в голанг чате будет так много обсуждения qt и другого декстопа

Roman
29.04.2018
15:30:17
к тому-же у Qt Quick движка встроенный JavaScript дшижок под названием V4, он гораздо менее развит нежели современные JS движки в браузерах типа V8.
зачем запускать JS движок внутри JS движка? понимаешь?
намного логичнее использовать ресурсы браузера, но рисовать в WASM на WebGL и писать не на HTML/CSS а на QML-подобном языке

Roman
29.04.2018
15:37:09
как устроены веб-приложения https://www.youtube.com/watch?v=auIlGqEyTm8

Roman
29.04.2018
15:48:52
как устроены веб-приложения https://www.youtube.com/watch?v=auIlGqEyTm8
0:10 JavaScript event handlers
0:12 object deep copying through JSON serialization
0:21 element queries
0:30 butter-smooth transitions
1:02 junior frontend-developer & a web framework
1:21 big, slow, self-written reinvented wheel
1:25 tradeoffs and workarounds
1:29 cascading style sheets
1:42 delivered UX
2:01 JSON API over HTTP
2:12 junior Node.js backend-developer

Daniel
29.04.2018
15:51:32

Roman
29.04.2018
15:55:11

Zerogoki
29.04.2018
16:12:49
Как объявить функцию, чтобы она принимала слайс любого типа?
Встроенная append же так может

Kirill
29.04.2018
16:13:39

Google

Savely
29.04.2018
16:14:49
Встроенная 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
func append(slice []Type, elems ...Type) []Type

Zerogoki
29.04.2018
16:15:04
А почему там не интерфейс?
А какой-то Type, который из воздуха взяли

Kirill
29.04.2018
16:16:41
это просто абстрактный тип, который используется только в документации

Zerogoki
29.04.2018
16:16:56
А где можно посмотреть исходник append?

Savely
29.04.2018
16:17:58

Zerogoki
29.04.2018
16:18:47
Лол, она в builtin.go
func append(slice []Type, elems ...Type) []Type

Kirill
29.04.2018
16:18:51
append под копотом содержит несколько разных функций

Zerogoki
29.04.2018
16:19:05
Не в доках, но и по факту там Type

Kirill
29.04.2018
16:19:09

Savely
29.04.2018
16:19:12
https://stackoverflow.com/questions/31790311/where-is-append-implementation

Kirill
29.04.2018
16:19:24
https://golang.org/src/runtime/slice.go
тут

Zerogoki
29.04.2018
16:20:00

Savely
29.04.2018
16:20:16
короче пили интерфейс и свитч типов

Zerogoki
29.04.2018
16:20:26
Но код же должен быть где-то
Мне просто интересно на него посмотреть

Savely
29.04.2018
16:20:35
ну вон я ссылку дал

Kirill
29.04.2018
16:21:14

Zerogoki
29.04.2018
16:21:27
А почему её тогда можно вызвать?

Google

Savely
29.04.2018
16:21:31
https://github.com/golang/go/blob/master/src/cmd/compile/internal/gc/ssa.go#L2292

Zerogoki
29.04.2018
16:21:35
Если нет функции, то компилятор ругаться будет

Kirill
29.04.2018
16:21:36
потому что компилятор знает что делать

Zerogoki
29.04.2018
16:23:02
А вообще, я тут просто захотел написать универсальную функцию, которая разбивает слайс на некое количество блоков размера n
Ну, в последнем меньше может быть

Kirill
29.04.2018
16:23:37
либо использовать интерфейс, либо писать функцию для каждого типа

Savely
29.04.2018
16:23:55

Zerogoki
29.04.2018
16:25:02
Ага

Kirill
29.04.2018
16:25:20

Admin
ERROR: S client not available

Savely
29.04.2018
16:25:29
Ага
https://gist.github.com/L11R/329d9d39cbbd428c3f754d445db216e4
из своего кода

Zerogoki
29.04.2018
16:26:06
Да я-то знаю, как это писать
Вопрос был про универсальность

Savely
29.04.2018
16:26:21
ну на интерфейс исправить и поехали

Zerogoki
29.04.2018
16:26:49
Я так вообще сделал
var tasks [][]string
var buf []string
for _, ip := range ipList {
if len(buf) >= MaxGoroutines {
tasks = append(tasks, buf)
buf = buf[:0]
}
buf = append(buf, ip)
}
tasks = append(tasks, buf)

Savely
29.04.2018
16:27:14
MaxGoroutines?

Zerogoki
29.04.2018
16:27:26
Ага

Savely
29.04.2018
16:27:47
видимо ты таки что-то другое пилишь

Zerogoki
29.04.2018
16:27:48
Это я формирую список заданий, чтобы одновременно over 9000 горутин не крутлось

Google

Zerogoki
29.04.2018
16:28:20
Разбиваю на блоки заданного размера и запускаю по горутине на каждый элемент их

Savely
29.04.2018
16:28:21
а, это у тебя лимит как раз
так для этого лучше использовать sync.Wait, не?
там всё красиво

Zerogoki
29.04.2018
16:29:03
Я так и делаю
var results []HostInfo
var mutex sync.Mutex
var wg sync.WaitGroup
for _, task := range tasks {
wg.Add(len(task))
for _, ip := range task {
go HostWorker(ip, &results, &mutex, &wg)
}
wg.Wait()
}
Я это раньше с каналами пытался написать, но что-то там не так пошло, а это работает
Вот кстати по интерфейсам
func MakeTasks(input []interface{}, max int) [][]interface{}
Как туда []string передать?
Кстати, где можно почитать, как работает дебаггер в GoLand? Там прямо как в питоне дебаг, несмотря на то, что язык компилируемый
Прямо пошагово значения всех переменных с именами смотреть можно

Roman
29.04.2018
17:21:58

Savely
29.04.2018
17:25:16
Берешь да передаешь

tsov
29.04.2018
17:31:10
какой vds/vps самый дешевый для ssh -D туннеля?

Sergey
29.04.2018
17:48:23
https://www.arubacloud.com/vps/virtual-private-server-range.aspx

Bagira
29.04.2018
18:06:45
Добрый вечер! Кто подскажет, где можно найти главного разработчика в проект? Или может кто-то посоветует? От 200к/месяц + % доля в кампании. Условия предлагаем хорошие, где искать?

Daniel
29.04.2018
18:09:55
В принципе - тут и искать
Или в слаке тематическом
Но нужны подробности

Bagira
29.04.2018
18:15:36
Но нужны подробности
Платёжная система. Описание и тз - наверное при личном общении с человеком. Деньги предлагаем очень хорошие. Проект большой, с выходом на ico