
qwerty
05.12.2017
17:48:58
за то теперь никого не посадят за лайк в VK

Oleg
05.12.2017
18:03:26
вопрос по opensource разработке
вот допустим есть проблема
issue открыт

Google

Oleg
05.12.2017
18:04:07
какой общепринятый механизм есть для определения кто решает проблему?

Eto
05.12.2017
18:04:47
Кто возьмётся тот и решает.

Oleg
05.12.2017
18:04:47
без такого механизма 2 и более людей могут начать решать проблему, а это как-то расточительно в плане ресурсов
ну понятно, что кто возьмётся

Eto
05.12.2017
18:05:22
Обычно пишут, когда решили сделать.

Oleg
05.12.2017
18:05:39
в issue? или создают wip pull request?
или ещё как-то?
или общепринятого нет?

Eto
05.12.2017
18:07:55
На себя можно вешать issues, можно написать в комментариях, можно просто сделать PR пока issue бесхозное или открыть WIP PR, но это обычно для чего-то большого и требующего обратную связь.
Конкретные проекты могут иметь определённые правила в этом, а могут и не иметь.
https://tomayko.com/blog/2012/adopt-an-open-source-process-constraints

Oleg
05.12.2017
18:09:48
на себя повесить issue не будучи в команде, которая имеет write доступ в репозитарий вроде нельзя же

Eto
05.12.2017
18:10:49
Да, можно, если состоишь в команде. А это ещё нужно заслужить своими действиями.

Oleg
05.12.2017
18:13:07

Google

Stepanos
05.12.2017
19:45:31
https://github.com/deviator/duseful/pull/5
так лучше уже?

Oleg
05.12.2017
20:08:40
супер!

Stepanos
05.12.2017
20:10:51
буду джава раздел допиливать потехоньку
вопросов много будет по многопоточности)) ибо я ее в D не шарю, остальное вроде +- шарю

Oleg
05.12.2017
20:13:20
думаю общими усилиями можно все вопросы осветить будет

Stepanos
05.12.2017
20:16:24
прочитал еще сравнение с питоном - интересньіе вещи открьіл для себя)

Eto
05.12.2017
20:30:04
Сравнения с C нет?

Ackeard
05.12.2017
20:47:44
/1@PollBot

Oleg
05.12.2017
21:28:38
Сравнения с C нет?
имеет смысл? С++ практически расширение С. Часть возможностей в С отсутствует, а что присутствует общее с С++.
/1@PollBot
там есть новое голосование, старое не поддерживало несколько вариантов
на каких ресурсах вы состоите в группах по языку D?
▪️ telegram (dlang.ru)
▫️ vk (vk_dlang)
▪️ habrahabr
▫️ Discord
▪️ IRC
▫️ jabber(d@conference.jabber.ru)
? Можно выбрать несколько вариантов
Сравнения с C нет?
хотя, наверное, можно сделать, так как есть люди, знающие С, но плохо знающие С++

Eto
05.12.2017
22:36:10
Да, мне лично пофиг на всё в C++, кроме перегрузки функций и операторов.
У D есть свой Discord?

Andrey
05.12.2017
22:42:12
https://discord.gg/S9yzYuA

Oleg
05.12.2017
22:57:31
либо ссылками
хотя лучше ссылками

qwerty
06.12.2017
08:06:29
а у нас нельзя удалить элемент из массива через Range как-нибудь

Google

qwerty
06.12.2017
08:06:43
по аналогии с erase в векторе из C++

Igor
06.12.2017
08:07:47
a = a[0..1] ~ a[2..$] ?

Eto
06.12.2017
08:08:20
Изврат.

Igor
06.12.2017
08:08:26
)

qwerty
06.12.2017
08:08:58
А что извращенского в удалении элемента из контейнера?
везде это есть

Evil
06.12.2017
08:11:26

Igor
06.12.2017
08:12:15
я не возражаю что изврат
)

Evil
06.12.2017
08:15:24
Учитывая, что и так пишем на D, то все тут. Хотя отличный язык.

Igor
06.12.2017
08:30:12
может ошибаюсь, но если говорить о слайсах то удалять элемент из слайса который может использоваться кем-то еще - тоже изврат
добавлять - да, перемещать целиком - да, но двигать данные внутри?

Eto
06.12.2017
08:37:46

qwerty
06.12.2017
08:38:25
да я знаю
мне и надо удалить элемент контейнера

Igor
06.12.2017
08:40:35
https://dlang.org/phobos/std_algorithm_mutation.html#remove
удалить по позиции, по значению?

qwerty
06.12.2017
08:43:56
ну да по значению. Я бы сказал по итератору
или по указателю
как std::vector::erase в C++

Google

Andrey
06.12.2017
09:39:13
если контейнера, то возможно так
auto a = Array!int(1, 2, 3, 4, 5);
auto r = a[2..3];
a.linearRemove(r);
writeln(a[]);

Oleg
06.12.2017
14:25:58
https://docs.google.com/forms/d/e/1FAIpQLSdPFx9ebHJ05QSW1VypBsQPw-1RbZ1v8FMgo1su6NvN6VErBw/viewform
наконец начали собирать фидбеки

qwerty
06.12.2017
14:49:03
кто автор формы?
dlang foundation
?

Andrey
06.12.2017
14:55:40

Oleg
06.12.2017
14:55:46
кто автор формы?
https://forum.dlang.org/thread/hrtakvaqrhvayeidqxbb@forum.dlang.org
webfreak001

Admin
ERROR: S client not available

Andrey
06.12.2017
14:56:03
контейнеры, ранги, массивы.. ))

qwerty
06.12.2017
14:56:14
ничего себе сколько людей из рашки
ассоциативный массив это реализация hash table ?
да
не могу понять red black tree и hash set это одно и то же или нет
вот я смотрю на определение в некоторых ресурсах и пишут, что hash set не сортирует элементы. Однако, я смотрю на реализацию в python и его реализация hashset сортирует их
как и красно черное дерево

Andrey
06.12.2017
19:21:35
red black tree это дерево, а hash set - хэш таблица

Google

qwerty
06.12.2017
19:48:46
hash map - это таблица

Dmitry
06.12.2017
19:52:31
Интересный коммент:
"Пробывали писать на aiohttp, и… не получилось. В определенный момент пришлось переписать все на стандартном стэке Flask + SQLAlchemy. Aiohttp — хороший фреймворк для написания простых и плоских (flat) приложений (вроде todo-листа или веб-чата), но когда дело доходит до написания серьезных приложений, насыщенных ООП и с хоть какой-нибудь вложенностью, то делать это крайне тяжело. Поскольку любые функции для работы с БД должны быть корутинами, то и функции, вызывающие их, так же должны быть корутинами. В результате весь код превращается в одну большую корутину, со всеми вытекающими последствиями."
У D такая же ситуация?

Andrey
06.12.2017
20:14:23
hash map - это таблица
Тут я имел ввиду что hashmap hashset это хэш таблицы, где hashmap хранит значения, а hashset не хранит.

qwerty
06.12.2017
20:14:35
во!
то есть все-таки разные вещи?

Andrey
06.12.2017
20:15:24
грубо говоря hashset это урезанный hashmap


qwerty
06.12.2017
20:25:15
Интересный коммент:
"Пробывали писать на aiohttp, и… не получилось. В определенный момент пришлось переписать все на стандартном стэке Flask + SQLAlchemy. Aiohttp — хороший фреймворк для написания простых и плоских (flat) приложений (вроде todo-листа или веб-чата), но когда дело доходит до написания серьезных приложений, насыщенных ООП и с хоть какой-нибудь вложенностью, то делать это крайне тяжело. Поскольку любые функции для работы с БД должны быть корутинами, то и функции, вызывающие их, так же должны быть корутинами. В результате весь код превращается в одну большую корутину, со всеми вытекающими последствиями."
У D такая же ситуация?
тут дело не в языке, а скорее в архитектуре приложения. Когда нужен realtime, то берется такая асинхронная сетевая либа и соответственно строишь свое приложение исходя из того, что он должно быть realtime. И этот realtime надо контролировать. Если realtime не нужен (имеется ввиду, что не надо вручную им управлять. Делать корутины и т. п.), то берется какой-то веб фреймворк и делаешь endpiont-ы по которым доступны операции с данными. А вся асинхронность кладется на плечи веб-сервера. Бывает, что надо то и другое и пишут тогда 2 приложения на разных технологиях. Это обычная практика.
Однако в своем высказывании я не до конца уверен, потому что есть nodejs, на котором пишется оба типа приложений. Но про мир JS я сказать ничего не могу


Oleg
06.12.2017
20:38:14
тут дело не в языке, а скорее в архитектуре приложения. Когда нужен realtime, то берется такая асинхронная сетевая либа и соответственно строишь свое приложение исходя из того, что он должно быть realtime. И этот realtime надо контролировать. Если realtime не нужен (имеется ввиду, что не надо вручную им управлять. Делать корутины и т. п.), то берется какой-то веб фреймворк и делаешь endpiont-ы по которым доступны операции с данными. А вся асинхронность кладется на плечи веб-сервера. Бывает, что надо то и другое и пишут тогда 2 приложения на разных технологиях. Это обычная практика.
Однако в своем высказывании я не до конца уверен, потому что есть nodejs, на котором пишется оба типа приложений. Но про мир JS я сказать ничего не могу
/*зануда-мод*/
думаю не стоит вводить людей в заблуждение словом realtime, ибо в мире веб нет realtime
т.к. realtime это требование к системе, когда алгоритм должен отреагировать на входные данные за заданный промежуток времени, а выход за пределы это критическая (для hard realtime) или восстановимая (для soft realtime), но всё же ошибка.
Ни одна операционная система общего пользования (linux, windows, macos) в том виде, в котором её обычно используют не может подходить для realtime в этом понимании. Есть модификации планировщика задач linux, которые приближают выполнение софта к soft realtime, но и это тоже не про веб.
в вебе, насколько я понимаю, ценится среднее время отклика, т.к. гарантировать передачу данных за фиксированное время никто не может


qwerty
06.12.2017
20:45:49
Realtime подразумевает фиксированное время реагирования или не более определённого времени
?


Oleg
06.12.2017
22:28:01
Realtime подразумевает фиксированное время реагирования или не более определённого времени
не более определённого времени (в смысле гарантированно)
классический пример soft realtime это воспроизведение видео: если кадр будет разжиматься/отображаться медленней частоты кадров, то будет неприятно/невозможно смотреть видео, но, как минимум никто не умрёт
системы, от которых зависит жизнь чаще всего hard realtime — если там что-то будет долго тупить, то это крайне критично
и опять же hard/soft realtime не обязательно будут иметь требование к скорости реакции на данные в пределах миллисекунд
пример: домменая печь — система должна гарантированно реагировать на входящие данные в пределах минуты, но это однозначно должно произойти (система в этот момент не имеет права копаться со swap-разделом, совершать обновление или ещё какие-то действия)
так же из производства пример: механизм насыпания точной массы песка/щебня — створки должны закрыться именно в положенный момент, иначе песка/щебня будет насыпанно больше или меньше заданной массы (учитывается ещё масса падающего столба, который ещё не упал на весы, но преодолел створку)


Stepanos
06.12.2017
22:39:51
такие вещи апаратно делаются

Oleg
06.12.2017
22:39:57
не всегда
ну и что сейчас "аппаратно"?
сейчас именно "аппаратно" уже никто не делает, а делается микроконтроллеры с программами, которые выполняются в реальном времени

Stepanos
06.12.2017
22:41:23
ну да, realtime
я не говорю о механике

Oleg
06.12.2017
22:44:42
я в целом об использовании слова realtime как термина. когда люди под одним и тем же словом понимают разные вещи случается недопонимание

Andrey
06.12.2017
22:45:47
нужна спец пометка возле слова, когда человек использует термин в своем понимании

Oleg
06.12.2017
22:45:59
ну или хотябы кавычки