
Женя
19.04.2017
09:27:22
получаю сигнал в виде байтового потка от 0 до 255, где 0 - нет сигнала, а 255 - максимально громкий сигнал. Обычная человеческая речь вызыват колебания от 100 до 150. Сигнал RING - всплески до 240

Vasily
19.04.2017
09:28:19
Ну дык все просто тогда
Окошко двигаем, смотрим всплески
Если максимальный 150, то, значит, трубку поднял

Google

Женя
19.04.2017
09:31:46

Alexander
19.04.2017
09:33:15
считай RMS

Женя
19.04.2017
09:33:19

Vasily
19.04.2017
09:33:55
Ну считать максимальный за секунду скорее

Женя
19.04.2017
09:34:00

Vasily
19.04.2017
09:34:11
С шагом в 100 мс, допустим

Alexander
19.04.2017
09:35:53

Женя
19.04.2017
09:36:06
уже

Ilya
19.04.2017
09:36:15
смотри, у тебя есть сигнал, потом его отсутствие, снова сингнал, потом полезные данные. Высчитываешь среднее значение (среднее значение из максимальных за маленький промежуток времени - 1/20 секунды) для участка длинной в 2-3 секунды, если оно около 220-255, то это был гудок, если около 0-20 - пустота, если что то другое - полезный сигнал

Женя
19.04.2017
09:36:17
это не то же самое что и средне арефметическое?

Ilya
19.04.2017
09:39:00
только тебе, надо сделать это для потоковых данных

Женя
19.04.2017
09:40:23
да в этом и сложность, и этих потоков может быть дофига

Google

Ilya
19.04.2017
09:40:39
можно адаптировать этот алгоритм для потока
у тебя есть какое то среднее значение - оно вначале 0, когда появляется сигнал (гудок) оно начинает возрастать с каким то коэффициентом, когда сигнала нет - убывать, будет такая ломаная линия
но как только будет полезный сигнал она перестанет быть идеально ломанной
тебе надо высчитывать угол наклона и как только он отклонится от нормального - это полезный сигнал
возможно ещё используя значения в точке изменения направления кривой
я бы предложил почитать про вейльвет преобразования, но это на любителя

Alexander
19.04.2017
09:48:13
https://github.com/asterisk/dahdi-linux/blob/master/drivers/dahdi/dahdi-base.c

Му
19.04.2017
09:48:23
Я не специалист в этой ботве, но мне кажется надо не угол измерять, а применить преобразования Фурье

Женя
19.04.2017
09:51:29
а если больше нуля и меньше порогового значения для Ring - то снята

Vasily
19.04.2017
09:57:50
Я все-таки испорченный человек

a
19.04.2017
10:19:20
Ребят, скиньте учебники по С# для начинающих.
Плиз плиз плиииз...

Андрей
19.04.2017
10:20:38
Скит, Троелсен, Рихтер
иии, забыл как мужика фамилия
эээ

zig ? zag
19.04.2017
10:21:30

Андрей
19.04.2017
10:21:44
Шилдт)
во

Google

Андрей
19.04.2017
10:22:04
имхо пачта мастридов
пачка
(сказал чувак который всего этого не прочитал)
?

Roman
19.04.2017
10:23:49
Книжки это хорошо, но вот только единственный способ научиться писать код - это ...(барабанная дробь...) - писать код))

zig ? zag
19.04.2017
10:24:23

Андрей
19.04.2017
10:26:28

Roman
19.04.2017
10:26:30
Пишешь и думаешь: "Млять, дофига сложно" - как сделать проще.. и потом начинается DRY, IoC, паттерны, вот это всё. И не от того, что "так правильно", а от того что тебе это необходимо. Оно тогда и в голове лучше оседает и скилл начинает вырастать чуть ли не в геометрической прогрессии.
У меня так было
А через неоптимизируемый говнокод должен пройти каждый))

Андрей
19.04.2017
10:27:43
а то паттерны и DRY можно юзать вовсю, но какой в этом смысл если ты не понимаешь что у тебя класс метод по ссылке передаётся?
класс в метод


zig ? zag
19.04.2017
10:28:25
Ребят, скиньте учебники по С# для начинающих.
тут выше верно говорят, можно обчитаться, но лично для меня эффективным стартом была тонюсенькая книжка, листов на 150, где были только практические примеры с комментариями(автора не вспомню, может люди тут подскажут). то есть можно было почти с самого старта как из кубиков сложить решение большинства практических задач, а потом уже вникать в детали реализации и понимать, почему именно это так, и уже модифицировать изначально работающие примеры, а не биться головой об стенку, не понимая, почему вот это не собирается или работает неверно.


Летучая
19.04.2017
10:28:41
тут выше верно говорят, можно обчитаться, но лично для меня эффективным стартом была тонюсенькая книжка, листов на 150, где были только практические примеры с комментариями(автора не вспомню, может люди тут подскажут). то есть можно было почти с самого старта как из кубиков сложить решение большинства практических задач, а потом уже вникать в детали реализации и понимать, почему именно это так, и уже модифицировать изначально работающие примеры, а не биться головой об стенку, не понимая, почему вот это не собирается или работает неверно.
двачну
у меня старт был в виде серии видосов с практическими примерами по существу + тренировка на петах с говнокодом

Roman
19.04.2017
10:29:40
Практика рулит

Андрей
19.04.2017
10:30:53

Google

Андрей
19.04.2017
10:31:50
я сам тут без году неделя, но уже приходилось отвечать на вопросы людей, которые хотят сделать супер-пупер REST сервис с преферансом и куртизанками.
тут - всмысле в .NET

Roman
19.04.2017
10:33:02

Андрей
19.04.2017
10:33:08
и иной раз поражаюсь от того, что люди начинают работать не зная элементарных вещей
что такое хидер не в курсе, а уже хотят получать JSON вместо XML
не знают что такое ConnectionString, но хотят юзать EF
такое не сильно помогает в развитии я думаю

Andrew
19.04.2017
10:35:27

Roman
19.04.2017
10:35:48
Ну начинают читать "а как сделать JSON в Web API вместо XML", видят десяток ответов, которые сводятся либо к изменению порядка отработки сериализаторов, либо к хэдеру => читают про сериализаторы и хэдеры => читают про Pipeline прохождения запроса => целостная картинка и понимание "почему так")

Андрей
19.04.2017
10:36:56

Roman
19.04.2017
10:37:08
Но если человек ленивая жопа и ему на всё насрать, то хоть супермегауберахеренной литературой обложи - он как был нулём, так и останется, по причине того что ему это не нужно

Mikhail
19.04.2017
10:37:35

Андрей
19.04.2017
10:37:51

Andrew
19.04.2017
10:38:27

Андрей
19.04.2017
10:39:54

Andrew
19.04.2017
10:49:50

Андрей
19.04.2017
10:50:18
ну я не претендую на абсолютную истину)

Roman
19.04.2017
10:50:57
ну вот таки хотя бы надо иметь представление о том, что это у тебя там за строчка такая в Web.config?
А ещё про то что означают её параметры и как они стакаются с EF'ом, плюс знать тот диалект SQL, к которому цепляемся, реляционную теорию для понимания как таблицы, объединения и джоины работают. Ещё плюсом будет умение оптимизировать запросы, понимание работы индексов, триггеров, механизмов репликации, резервного копирования... А стоп.. мы ж про джуниора.. ну тогда если он просто поймёт что строка из Web.config передаётся в EF для соединения с базой, и что после изменения контекста нужно делать Add-Migration - то это будет просто отлично. А к тому, что описано выше, он прийдёт попозже, только тогда он уже не Junior, а Middle, как минимум будет))

Andrew
19.04.2017
10:51:29
Прост еф не рокетсайнс

Google

Roman
19.04.2017
10:51:45

Дмитрий
19.04.2017
10:52:08
Если Id модели перед добавлением в бд вручную менять (на несуществующее) ничего же не будет? Это ведь просто поле еще одно

Vasily
19.04.2017
10:52:23

Andrew
19.04.2017
10:52:57
Ну

Дмитрий
19.04.2017
10:53:00
а то пытаюсь выловить ошибку на SaveChanges, в эксепшене ничего не написано полезного

Andrew
19.04.2017
10:53:17

Vasily
19.04.2017
10:53:38

Andrew
19.04.2017
10:54:02
Или дао заюзать

Roman
19.04.2017
10:54:14

Дмитрий
19.04.2017
10:56:05
нет никаких аттрибутов у него

Евген
19.04.2017
11:00:08
читаю чат и понимаю насколько я мало знаю всего, даже грустно?

Sergey
19.04.2017
11:00:25

Евген
19.04.2017
11:00:42

Дмитрий
19.04.2017
11:00:59
нет

Евген
19.04.2017
11:01:27
а id сам задаешь? по сути не должен ругаться, если он в рамках указанного типа данных
а вообще если нет автоинкремента, то он после первой записи на другие должен ругаться, либо ты в той области, где я не плавал еще?

Mikhail
19.04.2017
11:22:11
нет
а в бд у поля автоинкремент настроен? или как он ид присваивает?

Gid
19.04.2017
11:23:05
Братан
Еф автодетектит ид
Эта группа больше не существует