Как открыть базу данных SQLite

Решил добавить полезные программы и расширения для работы с базой данной SQLite.
Она очень популярна для использования программ как для Android так и для Python/Django, PHP. Лично мне очень нравится расширение для Firefox, очень удобно с ним работать. Возможно и вам, что-нибудь понравиться.
Читать

Главный «Секрет» стабильного заработка.

О том, КАК СИЛЬНО Вы мечтаете решить материальные проблемы, погасить ненавистные кредиты, увеличить зарплату и ЗАЖИТЬ по-человечески — знаете только Вы.
Не позволяйте потоку забот похоронить свою мечту о лучшей жизни под тяжестью ежедневной рутины.  Читать

Мониторинг состояния Asterisk с помощью MonAst

Осмотр возможностей

MonAst позиционируется разработчиками как инструмент мониторинга, который действует как панель оператора для Asterisk. Распространяется по лицензии BSD. Проект написан с использованием Python (демон для связи с Asterisk по AMI), PHP, JS (AJAX).

Из возможностей просмотра (в режиме real-time) — следующее:

  • Работа с несколькими серверами (с помощью переключения между ними)
  • Многопользовательский режим с указанием прав доступа
  • Отображение пользователей и пиров (SIP, IAX, DAHDI, Khomp, etc…)
  • Отображение активных каналов и вызовов (с именем канала и CallerID)
  • Каналы конференции (с отображением подключённых пользователей)
  • Припаркованные звонки (Parked Calls)
  • Очереди (с отображением статистики, участников и ожидающих клиентов)

Из возможностей выполнения операций:

  • Выполнение (инициация) вызовов
  • Трансфер вызовов
  • Сброс вызовов
  • Паркование вызовов
  • Прослушивание звонков (Spy Calls)
  • Приглашение участников в конференцию
  • Удаление участников конференции
  • Добавление пользователей (или пиров) как участника любой очереди
  • Удаление участников из очереди
  • Постановка и снятие с паузы участников очереди
  • Выполнение CLI команд

Как видно — список возможностей достаточно обширный.

Установка

Подопытной системой у нас будет чистая Ubuntu 10.10 с базовыми программами и обновлениями. MonAst не обязательно ставить на хосте с Asterisk. У меня, к примеру, MonAst стоит локально на ноутбуке — и я прекрасно мониторю все наши 6 серверов с Asterisk.

Прежде чем приступить к установке MonAst — пробежимся по требованиям.

Так как демон, с помощью которого происходит обмен между Asterisk и MonAst (посредством AMI — Asterisk Manager API) написан на Python, то первым делом проверяем его присутствие в системе:

it@ubuntu-test ~ $ python --version

Python 2.6.6


Если видим нечто подобное — значит все в порядке. Если по каким то причинам его нет — выполняем команду:

it@ubuntu-test ~ $ sudo apt-get update && sudo apt-get install python


Двигаемся дальше.

Так как все это будет отображаться через web-интерфейс, то нужно иметь установленный http сервер с поддержкой php, а так же php-pear. Если ранее данного комплекта не стояло — выполняем команду (дополнительно поставим mc — для удобства навигации и редактирования):

it@ubuntu-test ~ $ sudo apt-get install apache2 php5 php-pear mc


Ну и напоследок — установка зависимостей для обсуждаемого продукта. Этот список у нас невелик:

  1. Twisted Python 10.1+
  2. zope.interface 3.6+
  3. Starpy SVN-Trunk
  4. PHP PEAR Packages: (HTTP_Client)

Пакет zope.interface уже стоял в системе (был в наличии из коробки).

Ставим пакет HTTP_Client:

it@ubuntu-test:/usr/src$ sudo pear install HTTP_Client

WARNING: "pear/HTTP_Client" is deprecated in favor of "pear/HTTP_Request2"

WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update

WARNING: "pear/HTTP_Request" is deprecated in favor of "pear/HTTP_Request2"

WARNING: "pear/Net_URL" is deprecated in favor of "pear/Net_URL2"

downloading HTTP_Client-1.2.1.tgz ...

Starting to download HTTP_Client-1.2.1.tgz (10,202 bytes)

.....done: 10,202 bytes

downloading HTTP_Request-1.4.4.tgz ...

Starting to download HTTP_Request-1.4.4.tgz (17,109 bytes)

...done: 17,109 bytes

downloading Net_URL-1.0.15.tgz ...

Starting to download Net_URL-1.0.15.tgz (6,303 bytes)

...done: 6,303 bytes

downloading Net_Socket-1.0.10.tgz ...

Starting to download Net_Socket-1.0.10.tgz (5,429 bytes)

...done: 5,429 bytes

install ok: channel://pear.php.net/Net_URL-1.0.15

install ok: channel://pear.php.net/Net_Socket-1.0.10

install ok: channel://pear.php.net/HTTP_Request-1.4.4

install ok: channel://pear.php.net/HTTP_Client-1.2.1


Как видим — в процессе установки говорит об устаревании пакета и предлагает поставить более новый:

it@ubuntu-test:/usr/src$ sudo pear install HTTP_Request2


Пакеты Twisted и StarPy будем ставить из исходников. Но при установке выявились еще зависимости, которые и исправляем (попутно перейдем в режим суперпользователя):

it@ubuntu-test:~$ sudo su

root@ubuntu-test:~$ cd /usr/src/

root@ubuntu-test:/usr/src# wget http://pypi.python.org/packages/source/T/Twisted/Twisted-12.0.0.tar.bz2#md5=cf49a8676c21c50faf1b42b528049471

root@ubuntu-test:/usr/src# wget http://downloads.sourceforge.net/project/starpy/starpy/1.0.0a13/starpy-1.0.0a13.tar.gz

root@ubuntu-test:/usr/src# tar -xvf Twisted-12.0.0.tar.bz2

root@ubuntu-test:/usr/src# tar -xvf starpy-1.0.0a13.tar.gz

root@ubuntu-test:/usr/src# apt-get install build-essential gcc-4.5 libssl-dev python-dev

root@ubuntu-test:/usr/src# cd Twisted-12.0.0

root@ubuntu-test:/usr/src/Twisted-12.0.0# python setup.py install


Если видим надпись «Finished processing dependencies for Twisted==12.0.0» — значит установка прошла успешно и переходим дальше. Если выскакивает ошибка — то скорее не хватает какого-то компонента. Проверте по списку — все ли зависимости установлены? Идем дальше:

root@ubuntu-test:/usr/src/Twisted-12.0.0# cd ..

root@ubuntu-test:/usr/src# cd starpy-1.0.0a13

root@ubuntu-test:/usr/src/starpy-1.0.0a13# python setup.py install

root@ubuntu-test:/usr/src/starpy-1.0.0a13# cd ..


Ну и самый главный виновник торжества. На момент написания актуальная версия — 3.0b4:

root@ubuntu-test:/usr/src# wget http://downloads.sourceforge.net/project/monast/Monast%20for%20Asterisk%201.4%2C%201.6%20and%201.8/3.0b4/monast-3.0b4.tar.gz

root@ubuntu-test:/usr/src# tar -xvf monast-3.0b4.tar.gz

root@ubuntu-test:/usr/src# cd monast-3.0b4

root@ubuntu-test:/usr/src/monast-3.0b4# ./install.sh


В процессе установки скрипт задаст пару вопросов относительно путей. Если предложенные им варианты устраивают — соглашаемся. Иначе прописываем свои данные. Я лишь изменил путь, куда ложатся .php файлы

MonAst HTML path [/var/www/html/monast]: /var/www/asterisk/monast/



Может показаться что на этом установка закончена. Но не тут то было. Стартовый скрипт /etc/init.d/monast ставится лишь для систем SuSE, RedHat, Debian, Gentoo, Slackware, FreeBSD. Но не Ubuntu и ей подобные. Потому копируем скрипт от Debian и добавляем его в автозагрузку:

root@ubuntu-test:/usr/src/monast-3.0b4# cp contrib/init.d/rc.debian.monast /etc/init.d/monast

root@ubuntu-test:/usr/src/monast-3.0b4# chmod 755 /etc/init.d/monast 

root@ubuntu-test:/usr/src/monast-3.0b4# update-rc.d monast defaults 91 60


Вот теперь установка у нас окончена. Можно переходить к настройке.

Настройка

Перво наперво нужно выполнить настройку самого Asterisk, дабы сабжевое ПО могло успешно подключится и обмениваться информацией. На сервере с Asterisk переходим по пути /etc/asterisk/ и правим файл manager.conf. Если серверов несколько — делаем подобные поправки на нужных.

root@asterisk ~ $ mcedit /etc/asterisk/manager.conf


; 

; AMI - The Asterisk Manager Interface 

; 



[general] 

enabled = yes		; Активируем AMI

port = 5038		; Порт, по которому к данному сервису будет подключаться MonAst

bindaddr = 0.0.0.0	; Прослушиваем все интерфейсы в системе для принятия подключения

displayconnects = yes	; Показывать в консоли Asterisk о факте подключения



webenabled = no 	; Выключаем встроенный в Asterisk static_http



allowmultiplelogin = yes	; Разрешаем вход вход под одним и тем же пользователем с разных мест.

timestampevents = yes		; Добавлять метку времени для событий



; debug = on	; Можно включить отладочный режим для сообщений AMI



[monast_user]                                                                                                                  

secret=qwerty123				; Пароль для подключения

deny=0.0.0.0/0.0.0.0				; Запрещаем подключение с любого адреса

permit=127.0.0.1/255.255.255.0		; И постепенно разрешаем нужные

permit=192.168.1.10/255.255.255.0		; Так разрешаем конкретный хост

permit=192.168.2.0/255.255.255.0		; А вот так можно разрешить подсеть

writetimeout=100				; Таймаут для посылки команд



; Разрешения для данного пользователя. Можно указать all, но так наглядней

read=system,call,log,verbose,command,agent,user,config,originate,reporting

write=system,call,log,verbose,command,agent,user,config,originate,reporting


После чего перезагрузим конфигурацию Asterisk для модуля manager:

root@asterisk$ asterisk -rx "manager reload"


На этом настройка Asterisk закончена. Переходим к конфигурации самого MonAst’а.

Файл с параметрами находится по пути /etc/monast.conf. Его и правим. Скажу наперед — сложностей в настройке не возникло, приведенные в файле комментарии четко описывают тот или иной параметр. Но для примера приведу свой пример файла

root@ubuntu-test:/usr/src/monast-3.0b4# cd /etc/

root@ubuntu-test:/etc# mcedit monast.conf


# Copyright (c) 2008-2011, Diego Aguirre

# All rights reserved.



##

## Global Section

##

[global]



# Bind client connetions on host:port

bind_host = 127.0.0.1		; Разрешаем подключения с локального хоста

bind_port = 5039		; Порт для подключения к демону.



# Use client autentication on browser 

auth_required = true		; Указываем сто аутентификация обязательна



## ===================================



##

## Servers Definitions

##



[server: Server1]		; Параметры для первого сервера

hostname = 192.168.1.1

hostport = 5038

username = monast_user

password = qwerty123



# Default user context

default_context = default



# Context to use in transfer calls

transfer_context = default



# Context and prefix for meetme

meetme_context = default

meetme_prefix  = 



[server: Server2]		; Параметры для второго сервера

hostname = 192.168.2.1

hostport = 5038

username = monast_user

password = qwerty123



# Default user context

default_context = default



# Context to use in transfer calls

transfer_context = default



# Context and prefix for meetme

meetme_context = default

meetme_prefix  = 



## ===================================



##

## Peers Definitions

##

[peers]

# sort peers (options: channel, callerid)

sortby = callerid



# default show/hide

default = show



# hide peer when default = show

;<Server Name>/SIP/user-1 = hide



# show peer when default = hide

;<Server Name>/SIP/user-2 = show



# always show peer.

;<Server Name>/SIP/user-3 = force



# force CallerID (only in forced mode)

;<Server Name>/SIP/user-4 = force,Diego Aguirre <5555>



# Create peer groups

;<Server Name>/@group/Group 1 = SIP/user-1,SIP/user-2

;<Server Name>/@group/Group 2 = SIP/user-3,SIP/user-4



## ===================================



##

## Meetmes / Conferences Definitions

##

[meetmes]

# default show/hide

default = hide



# hide meetme when default = show

;<Server Name>/1234 = hide



# show meetme when default = hide

;<Server Name>/1234 = show



# always show meetme

;<Server Name>/1234 = force



## ===================================



##

## Queues Definitions

##

[queues]

# defualt show/hide

default = hide



# show queue queue01

;<Server Name>/queue01 = show



# show queue queue02 with display name Support

;<Server Name>/queue02 = show,Support



# hide queue queue03

;<Server Name>/queue03 = hide



# Map Member name

;<Server Name>/@member/SIP/user-1 = Diego Aguirre <5555>



## ===================================



## Define users and roles to use on auth_required is set to true

## roles must be:

##                originate : user can originate, transfer, park and drop calls

##                agent     : user cans add, remove, pause and unpause members on queues

##                command   : user can execute asterisk cli commands

##                spy       : user can start a spy



[user: admin]		; Мего-админ

secret  = SuperPuperDruper

roles   = originate,queue,command,spy 

servers = ALL



[user: manager]	; Пользователь с возможностью просмотра обеих (всех) серверов

secret  = password

roles   = originate

servers = ALL



[user: server1]		; Пользователь с возможностью просмотра одного (первого) серверов

secret  = 12345

roles   = originate

servers = Server1



[user: server2]		; Пользователь с возможностью просмотра и выполнения команд на одном (втором) сервере 

secret  = 54321

roles   = originate,command

servers = Server2


Сохраняем изменения и перезагружаем демон:

root@ubuntu-test:/etc# /etc/init.d/monast restart


Все. Можно подключаться и проверять. Открываем браузер и в строке адреса вбиваем: http://localhost/asterisk/monast/

Если ставили «auth_required = true» то вводим логин, пароль — и наслаждаемся рабочим инструментом 🙂

MonAst Mixed Pannels

Важное замечание. В режиме «без аутентификации» все, кто работают в панели оператора MonAst — имеют полные права, т.е. являются «суперпользователями». А как мы знаем «Оружие, данное в неумелые руки, может навредить». Будьте внимательны.

Так же в файле /var/www/asterisk/monast/lib/config.php находятся параметры адреса и порта, где работает демон monast.py, параметры отображение вкладок debug и cli, а так же некоторых не менее интересных параметров.

Обзор возможностей

Теперь же пробежимся по возможностям данного программного продукта.

После входа на web-интерфейс мы видим несколько вкладок. А если быть точнее:

  • Mixed Pannels — Вкладка с практически всем разделами сразу. Удобство заключается в том, что можно отобразить лишь нужные и, не переключаясь, видеть необходимую информацию в одном месте.
  • Peers/Users — Просмотр и управление достуными пирами и пользователями.
  • Meetme Rooms — Просмотр и управление конференциями
  • Channels/Calls — Просмотр и управление активными вызовами и поднятыми каналами.
  • Parked Calls — Просмотр и управление припаркованными вызовами
  • Queues — Просмотр и управление очередью звонков
  • Asterisk CLI — Командная строка Asterisk. Если у пользователя есть права выполнения команд в консоли, то именно здесь можно ввести нечто схожее с «core show version» 🙂

Разобраться в возможностях не составляет труда и, возможно, даже лучше будет если Вы сами пробежитесь и опробуете доступные функции — так вы четко будете понимать что и как работает. Но я все таки опишу парочку интересных из них 🙂

Originate call (инициирование вызова). Из названия функции ясно — можно соединить внутреннего абонента с каким либо номером (если он, номер, сможет обработаться Вашим dialplan’ом). Для выполнения функции нужно нажать правой кнопкой мыши (далее по тексту — пкм) на нужном аккаунте и выбрать соответствующий пункт. В появившемся окне вводим нужный номер и, вуаля — у выбранного человека звонит телефонный аппарат, он берет трубку и Asterisk соединяет его с выведенным нами номером. Так же можно перетащить мышкой один аккаунт на другой и, согласившись — инициировать соединение между ними.

Meetme Rooms (комната конференции). Перейдя в данный раздел можно управлять уже созданными конференциями, либо создать новую и пригласить туда определённых участников. Для создания своей конференции — переходим в соответствующий раздел, нажимаем «Create Dynamic Meetme» и в окне вводим запрашиваемую информацию. Нажали «Ок» — и процесс пошел-поехал 🙂

Spy (прослушивание вызова). Что она делает? Из названия можно понять — дает возможность подключится к выбранному разговору и прослушать речевой поток. Функция может быть полезна при использовании в call-центрах для контроля и проверки агентов. При этом в процессе разговора собеседники даже не подозревают о факте прослушивания. По крайней мере я, тестируя данную возможность, никакого сигнала или уведомления не слышал. Для того, чтобы пользователь панели имел право на прослушивание — нужно чтобы в поле roles его прав доступа присутствовало spy. Потому для того, чтоб ограничить использование данной функции с нехорошим умыслом — включайте аутентификацию для доступа к панели и давайте права на ее использование только доверенным для этого пользователям. Начальнику отдела, например 🙂

Заключение

MonAst, как и альтернативные проекты с подобной функциональностью (FOP, Links и пр.) однозначно имеет право на существование и, соответственно, использование в рабочем процессе.

Простота использования, относительная лёгкость в установке и настройке, мониторинг нескольких серверов с одного места — все это, в большинстве случаев, будет более чем достаточно.

Ссылки



2016-09-11T16:34:23
Asterisk

Установка Asterisk 13 на Debian 8

В сегодняшней статье мы расскажем, как установить Asterisk 13 на Debian 8

Установим зависимости, которые будут необходимы для корректной работы Asterisk

apt-get install -y build-essential autoconf libncurses5-dev libssl-dev libxml2-dev libsqlite3-dev libmysqlclient-dev curl 

mpg123 libxml2 libxml2-dev libaudiofile-dev subversion sox libsox-fmt-all uuid-dev libjansson-dev libiksemel-dev libssl-dev 

libtiff5-dev mysql-client libmyodbc lame linux-headers-`uname -r` mysql-server mysql-client

При установки у вас нужно будет задать пароль для пользователя root в MySQL

Запустим и включим автозагрузку MySQL

/etc/init.d/mysql restart

systemctl enable mysql

Переходим в /usr/src/ скачиваем, распаковываем и компилируем pjproject

cd /usr/src 

wget http://www.pjsip.org/release/2.4.5/pjproject-2.4.5.tar.bz2 

tar -xjvf pjproject-*.tar.bz2 

rm -f pjproject-*.tar.bz2 

cd pjproject-* 

CFLAGS='-DPJ_HAS_IPV6=1' ./configure --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr 

make dep && make && make install

Устанавливаем DAHDI

cd /usr/src 

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz 

tar xvfz dahdi-linux-complete-current.tar.gz 

rm -f dahdi-linux-complete-current.tar.gz 

cd dahdi-linux-complete-* 

make all && make install && make config

Устанавливаем LibPRI

cd /usr/src 

wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz 

tar xvfz libpri-current.tar.gz 

rm -f libpri-current.tar.gz

cd libpri-* 

make && make install

Устанавливаем SpanDSP

apt-get install -y libspandsp2 libspandsp-dev

Теперь можно перейти к установке Asterisk 13

cd /usr/src 

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz

Распаковываем

tar xvfz asterisk-13-current.tar.gz 

rm -f asterisk-13-current.tar.gz 

cd asterisk-13*

Начнем установку Asterisk 13. Необходимые модули устанавливаем командой make menuselect.

contrib/scripts/get_mp3_source.sh 

contrib/scripts/install_prereq install 

./configure

make menuselect

По большей части, все необходимые модули уже включены. Вы можете что-то добавить или удалить. как минимум нужны следующие компоненты

Add-ons: format_mp3. Если будите использовать связку с mysql и собиарть cdr то следуюет добавить res_config_mysql,app_myql,cdr_mysql

Core Sound Packages: CORE-SOUNDS-EN-(GSM), CORE-SOUNDS-RU-(GSM), CORE-SOUNDS-EN-(WAV), CORE-SOUNDS-RU-( WAV)

Extras Sound Packages: EXTRA-SOUNDS-EN-GSM, EXTRA-SOUNDS-EN-WAV

Продолжим установку

make && make install && make config && make samples && ldconfig

Сделаем Русский язык по умолчанию:

sed -i 's/defaultlanguage = en/defaultlanguage = ru/' /etc/asterisk/asterisk.conf

sed -i 's/;language=en/language=ru/' /etc/asterisk/*.conf

Создаем пользователя и даем права

adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk

chown -R asterisk:asterisk /var/lib/asterisk/

chown -R asterisk:asterisk /var/log/asterisk/

chown -R asterisk:asterisk /var/run/asterisk/

chown -R asterisk:asterisk /var/spool/asterisk/

chown -R asterisk:asterisk /etc/asterisk

Раскомментируем в /etc/default/asterisk

AST_USER="asterisk"

AST_GROUP="dialout"

Запускам Asterisk

service asterisk start



2016-09-11T14:03:28
Asterisk

Видеолекции курса Java

Видеолекции курса Java.

Лектор: Алексей Владыкин.

Рекомендуемая литература по курсу:

Первоисточники:

Лекция 1. Введение в Java.

  • История и эволюция Java
  • Особенности Java
  • Разновидности Java
  • Экосистема Java
  • Неформальное знакомство с языком
  • Стандартные инструменты JDK

Дополнительные материалы


Скачать: Презентация

Лекция 2. Примитивные типы в Java.

  • Примитивные и ссылочные типы
  • Тип boolean
  • Тип char
  • Целочисленные типы
  • Вещественные типы
  • Преобразование типов


Посмотреть видео на сайте Лекториума

Дополнительные материалы


Скачать: Презентация

Лекция 3. Массивы и строки в Java.

  • Массивы
    • объявление, создание, инициализация, индексация
    • одномерные и многомерные, представление в памяти
    • java.util.Arrays
  • Строки
    • строковые литералы
    • операции со строками
    • java.lang.StringBuilder
    • поддержка различных кодировок
    • регулярные выражения


Посмотреть видео на сайте Лекториума

Дополнительные материалы


Скачать: Презентация

Лекция 4. Объекты, классы и пакеты в Java.

  • Основы ООП
  • Объявление класса
  • Использование класса
  • Наследование
  • Пакеты
  • Модификаторы доступа
  • Вложенные классы


Посмотреть видео на сайте Лекториума

Дополнительные материалы


Скачать: Презентация

Лекция 5. Управляющие конструкции и исключения в Java.

  • Условные операторы (if, switch)
  • Циклы (for, while, do)
  • Операторы break и continue, метки
  • Исключения, типы исключений
  • Конструкция try/catch/finally, try с ресурсами, multicatch


Посмотреть видео на сайте Лекториума

Дополнительные материалы


Скачать: Презентация

Лекция 6. Стандартная библиотека: java.io + java.nio.file.

  • Доступ к файловой системе: java.io.File и java.nio.file.*
  • Потоки байт: InputStream, OutputStream
  • Потоки символов: Reader, Writer
  • java.io.StreamTokenizer и java.util.Scanner


Посмотреть видео на сайте Лекториума

Дополнительные материалы


Скачать: Презентация

Лекция 7. Стандартная библиотека: java.util.

  • Collections Framework
    • Списки
    • Множества
    • Ассоциативные массивы
    • Generics

Посмотреть видео на сайте Лекториума

Дополнительные материалы


Скачать: Презентация

Лекция 8. Стандартная библиотека: java.lang.reflect.

  • Reflection API
  • Аннотации


Посмотреть видео на сайте Лекториума

Дополнительные материалы


Скачать: Презентация

Лекция 9. Разработка многопоточных приложений на Java, часть 1.

  • Общие сведения о параллелизме
  • Управление потоками
  • Синхронизация потоков
  • Модель памяти


Посмотреть видео на сайте Лекториума

Дополнительные материалы


Скачать: Презентация
Демки

Лекция 10. Разработка многопоточных приложений на Java, часть 2.

  • Атомарные типы
  • Примитивы синхронизации
  • Коллекции
  • ExecutorService
  • ForkJoinPool


Посмотреть видео на сайте Лекториума

Дополнительные материалы


Скачать: Презентация
Демки

Лекция 11. Модульное тестирование на Java.

  • Основные идеи
  • JUnit
  • Mockito
  • Java Logging API


Посмотреть видео на сайте Лекториума

Дополнительные материалы


Скачать: Презентация
Демки

Лекция 12. Разработка сетевых приложений на Java.

  • Сокеты
  • URI и URL
  • Библиотека Netty


Посмотреть видео на сайте Лекториума

Дополнительные материалы


Скачать: Презентация
Демки

Дополнительные материалы:
Личная страница лектора курса.

Автор: Roman Brovko

Влияние солнечного ультрафиолета на кожу часть — 1


После жаркого лета с приходом осени, загар который радует  своим  красивым  оттенком кожу,  отступает и  многие обнаруживают, что от привлекательности не остаётся и следа, а наоборот прибавляется  ряд эстетических проблем в виде высыпаний, покраснений,  сухости, новых морщин, гиперпигментации.

Почему ультрафиолетовое излучение  влияет на такие  процессы? 

Под воздействием солнца, клетки кожи (меланоциты)  чтобы защитить себя  от вредного воздействия ультрафиолета,  вырабатывают  пигмент  меланин, который  окрашивает наше тело в коричневый оттенок. 
Так, что загар   – это естественная защитная реакция клеток на солнечный ожог и пока вы загораете, кожа усиленно защищается.

Но,  к сожалению естественной защиты не достаточно, так как пигменты меланина не могут поглотить все спектры  лучей  достигающие Земли, они справляются с неглубоко проникающими лучами спектра — В  но от более глубоких спектра — А  не в силах защитить.


Ультрафиолетовое излучение принято делить на два типа УФАи УФВ принципиальная разница между ними  в энергии излучения и глубине проникновения в кожу. 

УФВ лучи имеют длину волны 280 – 320 нм, проникают в поверхностные слои кожи, но несут большую энергию, поэтому достаточно быстро могут вызвать ожог, привести к снижению иммунитета и утолщению эпидермиса,   стимулируют синтез нового меланина, который придаёт коже оттенок.

Солнечный ожог — это реакция кожи на повреждение, а также своего рода защитная реакция:  ведь обгорев на солнце,  появляется желание найти укрытие от него.

Обожжённая кожа сначала покрывается волдырями, затем облазит, а с нею удаляются те клетки, что имеют опасные поломки в ДНК,  по этой причине ученые стали считать, что  повреждения, вызванные этими лучами, не несут серьёзных последствий. 

УФА лучи имеют длину волны 320 – 400 нм, они проникают в глубокие слои кожи, повреждают её основание и структуру, разрушая волокна коллагена и эластина, именно УФА лучи ответственны за преждевременное старение кожи,  они способствуют  выработке  свободных кислородных радикалов,  которые активируют перекисное окисление липидов (жиров). 

УФА лучи на самом деле более коварны они не вызывают покраснений и ожогов но  именно их обвиняют в необратимом (в том числе и канцерогенном) воздействии на кожу. Эти лучи повреждают молекулы  ДНК и нарушают её синтез, вызывают аллергические процессы ( фотоаллергия и фототоксичность)

Эти лучи с легкостью  проникают через тучи,  одежду, стекло и действуют на протяжении всего года. 

Общее  действие ультрафиолетового излучения

Многим известно, что в небольших дозах ультрафиолетовое излучение благотворно воздействует на организм: активизирует обмен веществ, улучшает кроветворение, повышает сопротивляемость к простудным заболеваниям, способствует выработке витамина D3, который регулирует кальциевый обмен.

Но при больших дозах  установлено негативное  влияние на иммунную систему организма, УФ лучи активизируют многие вирусы и бактерии, вызывают распад важнейших частей клеток,  в которых возникают вещества блокирующие процессы ДНК и синтеза РНК.

Длительный загар вызывает   мутагенные процессы в тканях:  так как нормальные клетки под воздействием УФО прекращают выполнять свои функции, а это сразу же отображается на обмене веществ, барьерной (защитной функции) и регенерации.

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

Из за нарушения   в коже  барьерной функции снижается локальный иммунитет, теряется способность противостоять вторжению болезнетворных микробов (стафилококкам, стрептококкам  и др.) а это ведёт к обострению угревой сыпи и её нагноению. Ранее дерматологи  назначали облучение под кварцевой лампой,  так как считалось, что УФО обладает хорошим бактерицидным действием, но как выяснилось, позже, что такое  лечение   акне  не решало проблему а у вы переводило в хроническую форму по  вышеперечисленным причинам.

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

Под воздействием УФО может образоваться красная сеть из лопнувших капилляров (телеангиэктазии) 


При длительном облучении на солнце, кровь быстрее подступает  к поверхности кожи и переполняет мельчайшие кровеносные сосуды. Увеличиваясь в  диаметре  изменяется строение их стенок, капилляры расширяются еще сильнее и не выдерживая  давления лопаются. Нарушается микроциркуляция с возникновением застойных явлений которые задерживают выход токсинов а это также  негативно  влияет на процесс старения. 


При близкорасположенных сосудах, лучше воздержаться от загара на совсем

Из за нарушенного местного  обмена кожа становиться грубой, она не сможет получить достаточное количество питательных веществ, при плохой регенерации не сможет воспроизводить здоровые, молодые клетки. Все это приведет к преждевременному старению которое принято называть — фотостарением.

Об этом виде старения читайте во второй части » Влияние солнечного ультрафиолета на кожу»  — часть 2