Форум программистов, компьютерный форум, киберфорум
Scilab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/40: Рейтинг темы: голосов - 40, средняя оценка - 4.95
Заблокирован

Обработка сигналов и изображений на SciLab

23.01.2016, 05:50. Показов 7361. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе утро!
Помогите, пожалуйста, кто-нибудь и чем может. Как правильно пользоваться средствами SciLab 5.5.0 — при сравнении и расчётах по модуляциям сигналов?
Смотрите почти аналог: Очерк А.Б.Сергиенко "Цифровая модуляция"

Вопросы такие:
1) три вида сигналов - синусоидальный, прямоугольный, треугольный;
2) три метода модуляции сигналов - амплитудная, фазовая и частотная;
3) сравнить эти методы по критериям энергетической эффективной, вероятности ошибки на бит и объему сигнала.

Описание рисунков — ниже, с применением критериев
Кликните здесь для просмотра всего текста
Основными критериями эффективности различных видов модуляции являются критерии спектральной и энергетической эффективности. Энергетическая эффективность характеризует энергию, которую необходимо 4 затратить для передачи информации с заданной достоверностью (вероятностью ошибки). Спектральная эффективность характеризует полосу частот, необходимую для того, чтобы передавать информацию с определенной скоростью. Кроме данных критериев, виды модуляции сравниваются по устойчивости к различным типам помех и искажений и сложности аппаратной реализации. Существуют также специфические критерии, существенные для отдельных систем связи, отражающие особенности канала связи. Было показано [1, 2, 3], что увеличение позиций (уровней) модуляции (модуляции M-ASK, M-PSK и M-QAM) увеличивает спектральную эффективность в k = log2 M раз. Также было отмечено, что MSK (частотная модуляция с минимальным сдвигом) является спектрально в 2.6 раза менее эффективной, чем QPSK (квадратурная модуляция) и в 1.3 раза менее эффективной, чем BPSK (двоичная фазовая модуляция). Сравним виды модуляции по критерию энергетической эффективности. В [1, 2] показано, что с увеличением позиционности модуляции, вероятность битовой ошибки увеличивается. Таким образом, как правило, при увеличении спектральной эффективности энергетическая эффективность уменьшается. Сравним двухуровневые OOK, BPSK и MSK. Соответствующие графики были получены в [1] и показаны на рис.2. Как видно из рис.2 OOK (бинарная амплитудная манипуляция) и MSK имеют одинаковую эффективность и уступают BPSK (и, соответственно, QPSK) по энергетической эффективности приблизительно3 дБ.

По результатам приведенного сравнения можно сделать вывод о том, что при числе уровней до 4 включительно QPSK является спектрально и энергетически наиболее эффективным видом модуляции. Сравним теперь модуляции с числом уровней M>4. На рис.3, полученного в [1], изображено сравнение энергетической эффективности для амплитудной, фазовой и амплитудно-фазовой манипуляции при M=16 и M=64.5

Как видно из рис.3 амплитудная модуляция существенно более10 дБ при M=16 уступает фазовой и амплитудно-фазовой, поэтому при M=64 сравнение с ней не проводится. При сравнении M-PSK с M-QAM видно, что M-QAM превосходит по эффективности M-PSK, причем энергетический выигрыш M-QAM увеличивается с ростом M. Например, для M=16 выигрыш составляет около 4 дБ, а при M=64 около10 дБ. Физически это объясняется тем, что расстояние между соседними точками в сигнальном созвездии M-PSK меньше, чем M-QAM. Сигнальное созвездие M-PSK представляет собой окружность с равномерно распределенными на ней точками, а созвездие M-QAM – квадрат с равномерно распределенными по его площади точками. Чем больше расстояние между точками в созвездии, тем менее вероятна ошибка в детектировании соседнего символа. Таким образом, при ограниченной полосе, при M ≤ 4 наиболее эффективной является модуляция QPSK, а при M > 4 – QAM. QPSK является частным случаем QAM при M=4. Можно считать QAM наиболее эффективным видом модуляции при любом числе уровней.
Миниатюры
Обработка сигналов и изображений на SciLab   Обработка сигналов и изображений на SciLab  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.01.2016, 05:50
Ответы с готовыми решениями:

Цифровая обработка сигналов и изображений
Здравстуйте!!! Подскажите какие можно использовать компоненты и алгоритмы, чтобы создать программу цифровой обработки сигналов и...

Обработка ЧМ сигналов(спектры ЧМ сигналов)
Доброго времени суток! Ранее задавала вопрос: "Алгоритм обработки ЧМ сигналов, основанный на понятии «мгновенный спектр сигнала»" ...

Низкочастотная фильтрация изображений (книга Гонсалеса “Цифровая обработка изображений”)
Здравствуйте. Я пытаюсь реализовать на java низкочастотную фильтрацию изображений. Реализую по книге Гонсалеса "Цифровая...

15
Заблокирован
23.01.2016, 06:27  [ТС]
Есть интересные наработки, которые пока скачать не могу, ниже.

Математический Аппарат Теории Сигналов и Систем: Учебно-методическое пособие для лабораторных работ / Долгих Д. А. – 2013. 16 с.

Кликните здесь для просмотра всего текста
Математический Аппарат Теории Сигналов и Систем
Учебно-методическое пособие для лабораторных работ
Авторы Долгих Д. А.
УДК не указано

Лабораторные работы по курсу математический аппарат теории сигналов и систем выполняются на компьютерах в программном продукте SciLAB. Для ознакомления с принципами работы с данным программным продуктом можно воспользоваться [1]. Помощь в использовании SciLAB также можно получить, посетив ресурс http://www.scilab.org/ или же воспользовавшись контекстной помощью поставляемой вместе с программным продуктом.
Год издания 2013
Количество страниц 16
Математический Аппарат Теории Сигналов и Систем: Учебно-методическое пособие для лабораторных работ / Долгих Д. А. – 2013. 16 с. (Вы не можете скачать)

Содержание
Введение
Лабораторная работа №1
Согласованная фильтрация
Цель работы
Теоретическая часть
Лабораторное задание
Список минимально необходимых команд SciLAB
Контрольные вопросы
Лабораторная работа №2
Цифровые виды модуляции. DQPSK модуляция
Цель работы
Теоретическая часть
Лабораторное задание
Список минимально необходимых команд SciLAB
Контрольные вопросы
Лабораторная работа №3
Цифровые виды модуляции, OFDM
Цель работы
Теоретическая часть
Лабораторное задание
Список минимально необходимых команд SciLAB
Контрольные вопросы
Литература
0
Заблокирован
23.01.2016, 07:20  [ТС]
Три вида сигналов - синусоидальный, прямоугольный, треугольный.

Хорошо поясняется всё многообразие форм сигнала на сайте Формы и характеристики электрических сигналов, где приводятся: синусоидальный, меандр, прямоугольный, треугольный, пилообразный, импульсы и запускающие сигналы (триггеры).

Например, смотрите рисунок ниже для треугольного сигнала.

Смотрим книгу: Б.И. Филиппов. Теория электрической связи. Учебное пособие. Новосибирск-2011
Три метода модуляции сигналов - амплитудная, фазовая и частотная.

На стр. 15 — методы модуляции, рисунок ниже.
Миниатюры
Обработка сигналов и изображений на SciLab   Обработка сигналов и изображений на SciLab  
0
Заблокирован
23.01.2016, 08:03  [ТС]
У меня установлен SciLab 5.5.0, на котором даю пояснения — как могу и умею.
Первый блин комом! SciLab не всё понимает из кода MatLab! Друзья, что делать?!

Как аналог кода использовал Пример 2 от А. Б. Сергиенко "Цифровая модуляция".

Ввожу код
Matlab M Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// соответствующий код
N = 10000; // число передаваемых бит
x = randint(N, 1); // цифровое сообщение
M = 2; // двоичнаЯ манипулЯциЯ
Fd = 300; // символьнаЯ скорость
Fs = 9600; // частота дискретизации
f0 = 1180; // частота “нуля”
f1 = 980; // частота “единицы”
Fc = (f0 + f1) / 2; // среднЯЯ частота
tone = f1 – f0; // разнос частот
s = dmod(x, Fc, Fd, Fs, 'fsk', M, tone); // манипулированный сигнал
snr = -10:10; // вектор отношений С/Ш (в децибелах)
for k = 1:length(snr)
sn = awgn(s, snr(k), 'measured'); // добавлЯем шум
// когерентнаЯ демодулЯциЯ
y_c = ddemod(sn, Fc, Fd, Fs, 'fsk', M, tone);
// некогерентнаЯ демодулЯциЯ 
y_nc = ddemod(sn, Fc, Fd, Fs, 'fsk/noncoherence', M, tone);
// расчет вероЯтностей ошибок
[n_err, er_c(k)] = symerr(x, y_c);
[n_err, er_nc(k)] = symerr(x, y_nc);
end
// вывод графика
semilogy(snr, er_c, snr, er_nc)
Ответ SciLab 5.5.0, он просит пояснений недопонимает часть кода MatLab
Matlab M Скопировано
1
2
3
4
5
6
-->exec('C:\Users\admin\Documents\Спецпапка для сервера\BBB.sce', -1)
x = randint(N, 1); // цифровое сооÐ
                  !--error 4 
Неизвестная переменная: randint
at line       3 of exec file called by :    
вера\BBB.sce', -1
Ему непонятно только два слова. Как быть?
Миниатюры
Обработка сигналов и изображений на SciLab  
0
 Аватар для AlexKazancev
7 / 7 / 2
Регистрация: 09.09.2012
Сообщений: 73
23.01.2016, 10:31
вместо randint воткните int(rand(N,1)*N) - матрица случайных чисел от 0 до N
exec ('...',-1) - что за -1 ? В хэлпе такого нет.
1
Заблокирован
23.01.2016, 11:04  [ТС]
Цитата Сообщение от AlexKazancev Посмотреть сообщение
вместо randint воткните int(rand(N,1)*N) - матрица случайных чисел от 0 до N
exec ('...',-1) - что за -1 ? В хэлпе такого нет.
AlexKazancev, спасибо за помощь! Про (-1) ничего пока не знаю, только полчаса назад скачал книгу: Е. Р. Алексеев, Е. А. Чеснокова, Е. А. Рудченко. Scilab: Решение инженерных и математических задач. Библиотека ALT Linux

Ввожу исправленный код:
Matlab M Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// соответствующий код
N = 10000; // число передаваемых бит
x = int(rand(N,1)*N); // цифровое сообщение
M = 2; // двоичнаЯ манипулЯциЯ
Fd = 300; // символьнаЯ скорость
Fs = 9600; // частота дискретизации
f0 = 1180; // частота “нуля”
f1 = 980; // частота “единицы”
Fc = (f0 + f1) / 2; // среднЯЯ частота
tone = f1 – f0; // разнос частот
s = dmod(x, Fc, Fd, Fs, 'fsk', M, tone); // манипулированный сигнал
snr = -10:10; // вектор отношений С/Ш (в децибелах)
for k = 1:length(snr)
sn = awgn(s, snr(k), 'measured'); // добавлЯем шум
// когерентнаЯ демодулЯциЯ
y_c = ddemod(sn, Fc, Fd, Fs, 'fsk', M, tone);
// некогерентнаЯ демодулЯциЯ 
y_nc = ddemod(sn, Fc, Fd, Fs, 'fsk/noncoherence', M, tone);
// расчет вероЯтностей ошибок
[n_err, er_c(k)] = symerr(x, y_c);
[n_err, er_nc(k)] = symerr(x, y_nc);
end
// вывод графика
semilogy(snr, er_c, snr, er_nc)
Опять ему не так, тянет жилы из меня:
Matlab M Скопировано
1
2
3
4
5
6
exec('C:\Users\admin\Documents\Спецпапка для сервера\BBB.sce', -1)
tone = f1 – f0; // разнос частот
            !--error 2 
Неправильный множитель.
at line      10 of exec file called by :    
вера\BBB.sce', -1
Миниатюры
Обработка сигналов и изображений на SciLab  
0
Заблокирован
23.01.2016, 11:55  [ТС]
Попробовал заменить: tone = f1 – f0; —> Fn = f1 – f0; —> затем пытался —> Ft = f1 – f0; (в четырёх местах!)
Matlab M Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// соответствующий код
N = 10000; // число передаваемых бит
x = int(rand(N,1)*N); // цифровое сообщение
M = 2; // двоичнаЯ манипулЯциЯ
Fd = 300; // символьнаЯ скорость
Fs = 9600; // частота дискретизации
f0 = 1180; // частота “нуля”
f1 = 980; // частота “единицы”
Fc = (f0 + f1) / 2; // среднЯЯ частота
Ft = f1 – f0; // разнос частот
s = dmod(x, Fc, Fd, Fs, 'fsk', M, Ft); // манипулированный сигнал
snr = -10:10; // вектор отношений С/Ш (в децибелах)
for k = 1:length(snr)
sn = awgn(s, snr(k), 'measured'); // добавлЯем шум
// когерентнаЯ демодулЯциЯ
y_c = ddemod(sn, Fc, Fd, Fs, 'fsk', M, Ft);
// некогерентнаЯ демодулЯциЯ 
y_nc = ddemod(sn, Fc, Fd, Fs, 'fsk/noncoherence', M, Ft);
// расчет вероЯтностей ошибок
[n_err, er_c(k)] = symerr(x, y_c);
[n_err, er_nc(k)] = symerr(x, y_nc);
end
// вывод графика
semilogy(snr, er_c, snr, er_nc)

Всё равно ему не нравится. Почему?
Matlab M Скопировано
1
2
3
4
5
6
exec('C:\Users\admin\Documents\Спецпапка для сервера\BBB.sce', -1)
Ft = f1 – f0; // разнос частот
          !--error 2 
Неправильный множитель.
at line      10 of exec file called by :    
вера\BBB.sce', -1
Понимаю, Scilab не любит: када многа букафф… как найти с ним общий язык?! Вконец замучил капризами.
Миниатюры
Обработка сигналов и изображений на SciLab  
0
Заблокирован
23.01.2016, 12:13  [ТС]
Модераторы, пожалуйста, удалите картинку с поста #7. Она совершенно из другой темы. Так получилось, сильно переживал и по рассеянности её отправил. Хотел удалить, но не успел по времени.
0
Заблокирован
23.01.2016, 12:34  [ТС]
Планы у меня такие. Сейчас отдохну 2-3 часа. Потом посмотрю примеры решений, которые предлагает Scilab, ниже на картинке. Как-то надо выходить из тупика.
Миниатюры
Обработка сигналов и изображений на SciLab  
0
 Аватар для AlexKazancev
7 / 7 / 2
Регистрация: 09.09.2012
Сообщений: 73
23.01.2016, 13:29
Из Хэлпа exec('name') - без всяких -1 и прочих включений. Удалите ,-1 из exec

Добавлено через 9 минут
Fortran Скопировано
1
2
3
4
f0 = 1180; // частота “нуля”
f1 = 980; // частота “единицы”
Fc = (f0 + f1) / 2; // среднЯЯ частота
Ft = f1-f0; // разнос частот
С символами всё ОК? вот это работает
0
Заблокирован
23.01.2016, 16:52  [ТС]
Цитата Сообщение от AlexKazancev Посмотреть сообщение
Из Хэлпа exec('name') - без всяких -1 и прочих включений. Удалите ,-1 из exec
AlexKazancev, как удалить? Что и откуда? Выражайтесь понятнее, совсем не понимаю о чём пишете? Где этот Хэлп exec('name') даже не представляю. По-прежнему код не работает.

Может есть более умные решения. Сердце подсказывает надо сделать конверсию кода МатЛаб в Сайлеб, как на рисунке ниже.
Миниатюры
Обработка сигналов и изображений на SciLab  
0
Заблокирован
23.01.2016, 18:57  [ТС]
Похоже, Scilab не нравится само обозначение файла *.sce'. Попробовал: *.sci, *.sc — толку нет. Смотрите на апостроф, метка самого Scilab: '.
(Что означает?) Неправильный множитель.
at line 10 of exec file called by :
ts\Scilab\BBB.sce', -1

— в строке 10 выполняемого файла называли: TS \ Scilab \ BBB. sce' , -1

Пытаюсь докопаться до сути. Смотрите две картинки внизу.

Cоздаю файл MMM.m вроде как от MatLab, как аналог кода использовал всё тот же Пример 2 от А. Б. Сергиенко "Цифровая модуляция".
Matlab M Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// соответствующий код
N = 10000; // число передаваемых бит
x = randint(N, 1); // цифровое сообщение
M = 2; // двоичнаЯ манипулЯциЯ
Fd = 300; // символьнаЯ скорость
Fs = 9600; // частота дискретизации
f0 = 1180; // частота “нуля”
f1 = 980; // частота “единицы”
Fc = (f0 + f1) / 2; // среднЯЯ частота
tone = f1 – f0; // разнос частот
s = dmod(x, Fc, Fd, Fs, 'fsk', M, tone); // манипулированный сигнал
snr = -10:10; // вектор отношений С/Ш (в децибелах)
for k = 1:length(snr)
sn = awgn(s, snr(k), 'measured'); // добавлЯем шум
// когерентнаЯ демодулЯциЯ
y_c = ddemod(sn, Fc, Fd, Fs, 'fsk', M, tone);
// некогерентнаЯ демодулЯциЯ 
y_nc = ddemod(sn, Fc, Fd, Fs, 'fsk/noncoherence', M, tone);
// расчет вероЯтностей ошибок
[n_err, er_c(k)] = symerr(x, y_c);
[n_err, er_nc(k)] = symerr(x, y_nc);
end
// вывод графика
semilogy(snr, er_c, snr, er_nc)
Новый файл в Notepad++ выглядит так, якобы после преобразования:
Matlab M Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
****** Начало сессии mfile2sci() ******
   Файл для преобразования: C:/Users/admin/Documents/Scilab
 /MMM.m
   Путь к файлу результатов: C:/Users/admin/Documents/Scila
 b/
   Рекурсивный режим: ВЫКЛ
   Только числовые значения использованы в M-
 file: НЕТ
   Режим расширенного вывода: 3
   Форматировать код программы: НЕТ
   Чтение M-файла...
   Чтение M-файла: Готово
   Изменение синтаксиса...
   Изменение синтаксиса: Готово
Мой друг Scilab как обычно недоволен, начинаю догадываться, что же он хочет — пишет мне… ёпрст… и далее:
Matlab M Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  ****** Начало сессии mfile2sci() ******
  Файл для преобразования: C:/Users/admin/Documents/Scilab/MMM.m
  Путь к файлу результатов: C:/Users/admin/Documents/Scilab/
  Рекурсивный режим: ВЫКЛ
  Только числовые значения использованы в M-file: НЕТ
  Режим расширенного вывода: 3
  Форматировать код программы: НЕТ
  Чтение M-файла...
  Чтение M-файла: Готово
  Изменение синтаксиса...
  Изменение синтаксиса: Готово
tone = f1 – f0; ;// разнос частоÑ
            !--error 2 
Неправильный множитель.
at line      18 of function MMM called by :  
endfunction
at line      47 of exec file called by :    
 
at line     203 of function mfile2sci called by :  
at line     142 of function cb_m2sci_gui called by :  
getcallbackobject(170);cb_m2sci_gui;if exists(
while executing a callback
Ладно, сейчас сделаю полное преобразование. Получилось выше частичное!
Миниатюры
Обработка сигналов и изображений на SciLab   Обработка сигналов и изображений на SciLab  
0
Заблокирован
23.01.2016, 23:31  [ТС]
Цитата Сообщение от AlexKazancev Посмотреть сообщение
Из Хэлпа exec('name') - без всяких -1 и прочих включений. Удалите ,-1 из exec
AlexKazancev, помогите, пожалуйста. С ног сбился, ничего не получается. Не могу удалить (-1).
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
24.01.2016, 04:46
Лучший ответ Сообщение было отмечено Kravtsov_18 как решение

Решение

Цитата Сообщение от Kravtsov_18 Посмотреть сообщение
Всё равно ему не нравится. Почему?
Matlab M Скопировано
1
2
3
4
5
6
exec('C:\Users\admin\Documents\Спецпапка для сервера\BBB.sce', -1)
Ft = f1 – f0; // разнос частот
          !--error 2 
Неправильный множитель.
at line      10 of exec file called by :    
вера\BBB.sce', -1
В выражении f1 – f0 записан не минус, а тире (например как результат копирования из PDF). Замени минусом.
Цитата Сообщение от Kravtsov_18 Посмотреть сообщение
AlexKazancev, помогите, пожалуйста. С ног сбился, ничего не получается. Не могу удалить (-1).
Да не надо ничего удалять. Этот -1 добавляет сам scilab при запуске, это "тихий" режим исполнения.
0
Заблокирован
24.01.2016, 05:49  [ТС]
Цитата Сообщение от grizlik78 Посмотреть сообщение
Да не надо ничего удалять.
grizlik78, огромное спасибо!

Если нетрудно, то, пожалуйста, отредактируйте остальные 14 строк до конца.

SciLab новую песню запел "Неизвестная переменная" на старый мотив:
Matlab M Скопировано
1
2
3
4
5
6
-->exec('C:\Users\admin\Documents\Scilab\ПРИМЕР 2\BBB.sce', -1)
, Fd, Fs, 'fsk', M, Ft); // манипулир
                        !--error 4 
Неизвестная переменная: dmod
at line      11 of exec file called by :    
МЕР 2\BBB.sce', -1
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
24.01.2016, 08:43
Аналогов функций dmod, ddemod, symerr в scilab не видать. Скорее всего их придётся реализовывать самостоятельно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2016, 08:43
Помогаю со студенческими работами здесь

Обработка экспериментальных данных Scilab
Здравтвуйте! В результате эксперимента была определена некоторая табличная зависимость. С помощью метода наименьших квадратов определить...

JavaScript to Scilab ( and Algorithm Pseudocode) Перевод с JavaScript в Scilab. C псевдокода в Scilab
function diff_sort_arr(array_1,array_2, set_value) { var n = array_1.length, m = array_2.length, i = 0, k = 0, j = 0, array_3 = ;...

Обработка изображений. Изменение размеров изображений
Подскажите пожалуйста, как изменить размер изображения в MathCad. Какой код нужен для уменьшения/увеличения изображения?

Обработка сигналов
Здравствуйте, подскажите, пожалуйста, какие-нибудь статьи, источники посмотреть для такой задачи: есть сигнал, он проходит через некую цепь...

Обработка сигналов
Привет всем! Написал следующий код: void func(int sig, siginfo_t* sinfo, void *_addinfo) { switch(sig){ case SIGINT:{ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
Метод с двумя буферами (или double buffering) или ping-pong buffering
Hrethgir 02.04.2025
Из ответов LM модели. Метод, который предполагает использование двух массивов для хранения промежуточных результатов сложения векторов, обычно применяется в сценариях, где необходимо минимизировать. . .
На любовном киберфронте
Alexander-7 01.04.2025
Недавно на одном малоизвестном сайте знакомств мною заинтересовалась девушка: «Текст немного странный. Но, судя по адресу почты, иностранка», – подумал я. Поколебавшись пару суток, я ответил ей:. . .
Как работает Node.js изнутри
run.dev 29.03.2025
Node. js изменил подход к разработке веб-приложений, позволив использовать JavaScript не только на стороне клиента, но и на сервере. Созданный в 2009 году Райаном Далем, этот открытый,. . .
Моки в Python: Mock Object Library
py-thonny 29.03.2025
Тестирование кода требует особого подхода, когда речь идёт о компонентах, взаимодействующих с внешним миром. Мы часто сталкиваемся с непредсказуемостью HTTP-запросов, чтением данных из базы или. . .
JavaScript: Управление памятью и улучшение производительности
run.dev 29.03.2025
В отличие от низкоуровневых языков программирования, JavaScript не требует ручного выделения и освобождения памяти. Здесь работает автоматический сборщик мусора, который определяет, какие объекты. . .
Мультитенантная архитектура со SpringBoot и PostgreSQL
ArchitectMsa 29.03.2025
SaaS-приложения редко обслуживают одного клиента и обычно они должны поддерживать множество организаций, каждая из которых работает в своём изолированном пространстве. Мультитенантная архитектура. . .
std::span в C++: Производительность и лучшие практики
NullReferenced 28.03.2025
std::span — одно из самых недооценённых нововведений стандарта C++20, которое радикально меняет подход к работе с непрерывными последовательностями данных. По сути, это невладеющее представление. . .
Многопоточность в C#: Threadpool
UnmanagedCoder 28.03.2025
Пул потоков в C# — это коллекция заранее созданных и готовых к использованию потоков, которые находятся в распоряжении приложения. Вместо того чтобы создавать и уничтожать потоки для каждой небольшой. . .
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер