Data Transmission TechnologiesСети OTN - Optical Transport Network

Sept. 7, 2015, 4:26 a.m.

dwdm, OTN, стек протоколов

DWDM networks are not initially digital networks because they provide users with only a few spectral channels, which are only data transmission medium. Also originally DWDM multiplexers perform SDH multiplexer functionality, in consequence of which inherited a number of shortcomings that became apparent with increasing data rates.

Optical Transport Network (OTN)

Disadvantages DWDM systems inherited from SDH systems:

  • Insufficient effectiveness of FEC codes, taken as SDH standard. This prevents further increase the spectral density of channels in DWDM multiplexers.
  • Too "small" switching units for backbone networks operating at speeds of 10 and 40 Gb / s. Even the maximum size of the containers VC-4 (140 Mbit / s) are large enough for the unit of STM-multiplexer 256, which must commute up to 256 containers for each of its ports.
  • Not taken into account peculiarities of different types of traffic. SDH technology developers took into account only the voice traffic.

To overcome these drawbacks, a new technology aimed optical transport networks (Optical Transport Network, OTN)

Fiber Optic Transmission LinesFOTL - Tutorial 010. Measurement of losses by optical testers

There are two methods of measuring the loss in the optical fibers which, in accordance with G. 651 and G. 652, is considered the reference - fiber breakup method and the method of insertion loss. The loss measurements are made by means of optical testers. In the method of fiber breakup P1 measured power (in dBm), passed through the fiber. The fiber breaks off at a distance of about two meters away from the injection point and measured radiation power P2 (dBm), passed through a short section of the remaining fiber. The value of loss in the fiber is determined as the difference between A (dB) = P1 (dBm) - P2 (dBm)

Measurement of losses by the breakup of fiber

Data Transmission TechnologiesDELL Networking. Basics Routing Policy (Part 3)

Sept. 5, 2015, 11:43 a.m.

DELL, Route-Map

VLAN Traffic Redirection

Passing traffic without PBR

Example. Comparison of packets from one VLAN, then routing the output of another VLAN to their destination.

Remote server X, Y, Z hourly cached on the local server A, B, C. Members VLAN 10 use locally cached server 99% of the time, but occasionally need access to current data from the server X, Y, Z, which are located in another city . Traffic on the road between the local and remote servers are often higher than 100% of the bandwidth. To minimize delays in traffic between VLAN 10 user stations and remote servers are configured PBR to avoid bottlenecks.

QtQt/C++ - Lesson 016. How to set QCheckBox in the cell center in QTableWidget?

Sept. 4, 2015, 10:54 a.m.

qcheckbox, qcheckbox center, Qt, QTableWidget

One of the first problems in working with The QTableWidget , which are trying to solve, start to work with this widget - setting QCheckBox in the middle of the cell. The fact that the standard check box in QTableWidget checkbox attached to the left edge of the cell, while the right side is given for explanatory text. But the text may not be, but the area still remains. But at the same time it allows you to set QTableWidget in his cell widgets, which we use to solve this problem.

This article is an extension of a previous article on working with QTableWidget , therefore, to see the full code of the project I encourage you also to the article. This article provides only the code necessary to solve the problem.

Project Structure for QCheckBox center

Project structure remains the same as in the previous article .


The form for the application window QCheckBox

In the main application will be placed:

  • QTableWidget
  • QLable

QtQt/C++ - Lesson 015. QTableWidget – How to create a table with checkboxes?

Using QTableWidget will be the first in a manner that will advise you to create tables with checkboxes on Qt. So let's look at this option and work with tables in Qt and certainly applicable checkboxes.

So, the lesson to be more close to reality, grabbed some code from lesson QDataWidgetMapper . Namely, take a class to work with the database, so they'd just do a table from the database. After that, make the shape of the main application window and output data from the table with the mapping checkboxes. Naturally, when the application database table is created and populated by several records, which we will display in the widget.

Data Transmission TechnologiesEthernet over SDH

Sept. 3, 2015, 4:19 a.m.


Ethernet and SDH technologies are focused on computer and information networks. But the main problem in their interaction is pairing constant fixed speed SDH channels with pulsating Ethernet traffic. For example, VC-4 has a speed of 149.760 Mb / s, while Ethernet 100Base-T has a speed of 100 Mbit / s, respectively. Thus SDH payload channel is 70%, whereas the payload transmission GigabitEthernet generally drops to 40%. To solve these problems using technology GFP, VCAT and LCAS. In fact, these procedures have formed SDH network of the New Generation (NG SDH). Many network operators are given the opportunity to upgrade their networks instead of complete replacement of existing equipment.

Data Transmission TechnologiesDELL Networking. Basics Routing Policy (Part 2)

Sept. 2, 2015, 11:38 a.m.

DELL, Route-Map

Server Priority

DELL Networking - Server Priority

In this example, the database server should be provided more bandwidth at a specific time to access the storage server.

Configuring VLAN interface on 1G

console(config)#vlan 10 
console(config)#interface vlan 10 
console(config-if-vlan10)#ip address 
console(config)#interface gi1/0/1 
console(config-if-Gi1/0/1)#switchport trunk allowed vlan 10 
console(config-if-Gi1/0/1)#switchport mode trunk 

QtQt/C++ - Lesson 014. Dynamic creation of widgets in Qt

In complex projects may not be enough to have a static widget in the interface as the incoming information can change every second. Therefore the question on creation of dynamic widgets, such as the layout Qt buttons.

This tutorial describes how to dynamically create QPushButton buttons, receiving signals from these buttons, and the subsequent removal of these buttons from the layout Qt.

Project Structure

Description of the Project:

  • - profile;
  • mainwindow.h - header file of the main application window;
  • mainwindow.cpp - source of window;
  • main.cpp - the main source file from which the application starts;
  • mainwindow.ui - form of the main application window;
  • qdynamicbutton.h - header file of the wrapper class, which simplifies the process of working with dynamic objects in this lesson;
  • qdynamicbutton.cpp - source file wrapper class that simplifies the process of working with dynamic objects in this lesson.

AVRMacro Assembler in the example of AVR

Aug. 31, 2015, 8 p.m.

AVR, macro, Assembler

Macro - a set of commands and instructions that are grouped together into a single command to automate programming tasks, speed up frequently performed editing and formatting actions.

Macros can also be used to accelerate software development for microcontrollers on Assembler programming language. During compilation macros are replaced by a sequence of commands microcontroller. Such an approach to programming facilitates the perception of the program code, reduce the size of the source, as well as to bring the programming in Assembler in appearance to the programming language C.

QtQt/C++ - Lesson 013. QMenu – How to work with context menu in QTableView?

To use the context menu in Qt is used QMenu class. When performing actions that should cause the menu handler is called, which creates the menu and binds handlers to act in this menu.

In this lesson, work with the shortcut menu will be shown in the example code from the tutorial on working with QDataWidgetMapper. In this lesson, the two files from the previous lesson will be modified, but the project will not work if you do not include it as in the previous lesson files that can not be edited.

Project structure for QMenu

Project structure remains the same as in the tutorial, which is based on the lesson. Changes in the code will be subjected to only two files:

  • mainwindow.h
  • mainwindow.cpp
How to become an author?

Contribute to the evolution of the EVILEG community.

Learn how to become a site author.

Learn it

Good day, Dear Users!!!

I am Evgenii Legotckoi, developer of EVILEG. And it is my hobby project, which helps to learn programming another programmers and developers

If the site helped you, and you want also support the development of the site, than you can donate by following ways


Let me recommend you the excellent hosting on which EVILEG is located.

For many years, Timeweb has been proving his stability.

For projects on Django I recommend VDS hosting

View Hosting Timeweb
May 29, 2020, 2:32 p.m.

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:40points,
  • Rating points-8
May 26, 2020, 11:29 a.m.
Artem Sun-Dun-Chan

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:50points,
  • Rating points-4
May 25, 2020, 11:33 a.m.
Mitja Nagibin

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:50points,
  • Rating points-4
Last comments
May 29, 2020, 1 p.m.
Evgenij Legotskoj

Django - Tutorial 023. Like Dislike system using GenericForeignKey

Думал так, но похоже что нет. {{ post.votes.likes.user.username }} Это же QuerySet будет, а не отдельный единственный объект {% for vote in post.votes %} {{ vote.user.username …
May 29, 2020, 11:43 a.m.
Vladislav Melenchuk

Django - Tutorial 023. Like Dislike system using GenericForeignKey

А как получить имя пользователя, который поставил лайк? Думал так, но похоже что нет. {{ post.votes.likes.user.username }}
May 29, 2020, 6:30 a.m.
Evgenij Legotskoj

Qt/C++ - Lesson 039. How to paint stroke in QSqlTableModel by value in the column?

У меня работает. Исправлял в проекте, который приложен к статье. А что происходит в вашем коде, с учётом места вызова этого кода, я знать не могу ;) Дебажьте и добавляйте условия, кото…
May 29, 2020, 6:27 a.m.
Mihail A

Qt/C++ - Lesson 039. How to paint stroke in QSqlTableModel by value in the column?

QModelIndexList rowIndexes = ui->tableView->selectionModel()->selectedRows(); model->removeRows(rowIndexes.first().row(), rowIndexes.size()); model-&…
May 29, 2020, 6:14 a.m.
Evgenij Legotskoj

Django - Tutorial 036. How to add authentication through social networks. VKontakte

Неправильно прописали URL, на который возвращается ответ от OAuth ВКонтакте. Настраивайте ваше приложение в консоли разработчика ВКонтакте
Now discuss on the forum
May 29, 2020, 1:27 p.m.
Dzhon Kofi

QMap<> какой ключ лучше

это ясно. Вопрос в том, как быстро мапа будет отрабатывать, если ключом будет QModelIndex. Какой параметр индекса возьмет за ключ. И вот насколько это будет медленнее или быстрее, чем QString пр…
May 29, 2020, 11:10 a.m.
Dzhon Kofi

QModelIndex становится не действительным, но валидный

Привет. Есть проблема с индексом и для меня это чистая магия: Сначала, что делаю: на вьюхе есть редактируемые ячейки. Пользователь редактирует одну, потом внезапно решает не сохраниться и ш…
May 29, 2020, 7:52 a.m.
Vladimir Sergeevich

Масштабирование двумя пальцами на мобильных платформах

Я планировал описать этот момент на блоге, но никак руки не доходят (уже год). Летом дойдут. Тем не менее, у меня в репозитории лежит рабочий код игрушки "пазлы", где есть все это. …
May 29, 2020, 6:51 a.m.
Evgenij Legotskoj

Графическое ускорение

Зависит от платформы и поддерживаемых технологий. В QML в первую очередь используется OpenGL и отрисовка производится средствами GPU. Но может переключаться на использование CPU и прог…
May 29, 2020, 1:55 a.m.
Igor' Poroshin

QTablwView + QSqlQueryModel скрыть пустой столбец

Да, понятно. В данном случае лучше использовать серверную процедуру (если такие поддерживаются), в которой будет проверяться наличие всех пустых строк у нужного столбца и вызываться соответ…
© EVILEG 2015-2020
Recommend hosting TIMEWEB