По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Многие слышали, но боялись "пощупать" страшного зверя по имени FreeSwitch (FS). Уверяю Вас, что страшного ничего нет. Правда придется перестроить свои мозги на его понимание. Он сильно отличается от Asterisk. И хотя FS такая же программная АТС как и Asterisk, но задачи у них разные. FS позиционируется как "провайдерская" АТС, а Asterisk офисный вариант. Несмотря на это, я его использую даже, как говорится, "для дома, для семьи", то есть дома на одноплатнике Orange PI Plus 2E. Так как на нем стоит Ubuntu 16, то описывать установку я буду для Ubuntu из исходников. Если кому-то нужно попроще, то может установить на Debian (разработчики именно его рекомендуют. Как поставить из пакетов можно почитать здесь https://freeswitch.org/confluence/display/FREESWITCH/Linux А для самых искушенных даже на Windows :) https://freeswitch.org/confluence/display/FREESWITCH/Windows Сначала необходимо выполнить обновление системы: apt-get update apt-get upgrade Установим зависимости: apt-get install autoconf automake devscripts gawk g++ git-core libjpeg-dev libncurses5-dev libtool make python-dev gawk pkg-config libtiff5-dev libperl-dev libgdbm-dev libdb-dev gettext libssl-dev libcurl4-openssl-dev libpcre3-dev libspeex-dev libspeexdsp-dev libsqlite3-dev libedit-dev libldns-dev libpq-dev libtool-bin libopus-dev libshout3-dev libmpg123-dev libmp3lame-dev libsndfile-dev libavresample-dev libswscale-dev libpng-dev libpng++-dev mpg123 После этого перезагружаемся: reboot Создаем папку и клонируем гит: cd /usr/src git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git cd /usr/src/freeswitch ./bootstrap.sh –j Подключаем необходимые модули: mcedit modules.conf + mod_rtmp + mod_directory + mod_callcenter + mod_dingaling + mod_shout + mod_cidlookup + mod_curl + mod_xml_curl Мне нужно было использовать zrtp и хранить данные в базе PostgreSQL (кстати, разработчики считают MySQL недобазой :)) Собираем с ключами: ./configure --enable-zrtp --enable-core-pgsql-support make make install Если при сборке FS ругается на openssl (switch_core_cert.lo) или что то подобное, то нужно проверить версию. Под 1.1.0 не устанавливается. Нужно ставить 1.0.2 Устанавливаем звуковые файлы: 8 kHz Standard Audio make sounds-install make moh-install 16 kHz High Definition Audio make hd-moh-install make hd-sounds-install 32 kHz Ultra High Definition Audio make uhd-moh-install make uhd-sounds-install 48 kHz CD Quality Audio make cd-sounds-install make cd-moh-install Установим русские звуковые файлы: make sounds-ru-install make cd-sounds-ru-install make uhd-sounds-ru-install make hd-sounds-ru-install Установим права и владельцев: adduser --disabled-password --quiet --system --home /usr/local/freeswitch --gecos "FreeSWITCH Voice Platform" --ingroup daemon freeswitch chown -R freeswitch:daemon /usr/local/freeswitch/ chmod -R o-rwx /usr/local/freeswitch/ Создадим init скрипт для запуска /etc/init.d/freeswitch: #!/bin/bash ### BEGIN INIT INFO # Provides: freeswitch # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Freeswitch debian init script. # Author: Matthew Williams # ### END INIT INFO # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin DESC="Freeswitch" NAME=freeswitch DAEMON=/usr/local/freeswitch/bin/$NAME DAEMON_ARGS="-nc" PIDFILE=/usr/local/freeswitch/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME FS_USER=freeswitch FS_GROUP=daemon # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions # # Function that sets ulimit values for the daemon # do_setlimits() { ulimit -c unlimited ulimit -d unlimited ulimit -f unlimited ulimit -i unlimited ulimit -n 999999 ulimit -q unlimited ulimit -u unlimited ulimit -v unlimited ulimit -x unlimited ulimit -s 240 ulimit -l unlimited return 0 } # # Function that starts the daemon/service # do_start() { # Set user to run as if [ $FS_USER ] ; then DAEMON_ARGS="`echo $DAEMON_ARGS` -u $FS_USER" fi # Set group to run as if [ $FS_GROUP ] ; then DAEMON_ARGS="`echo $DAEMON_ARGS` -g $FS_GROUP" fi # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null -- || return 1 do_setlimits start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --background -- $DAEMON_ARGS || return 2 # Add code here, if necessary, that waits for the process to be ready # to handle requests from services started subsequently which depend # on this one. As a last resort, sleep for some time. } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Wait for children to finish too if this is a daemon that forks # and if the daemon is only ever run from this initscript. # If the above conditions are not satisfied then add some other code # that waits for the process to drop all resources that could be # needed by services started subsequently. A last resort is to # sleep for some time. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" } # # Function that sends a SIGHUP to the daemon/service # do_reload() { # # If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. # start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME return 0 } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; status) status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? ;; #reload|force-reload) # # If do_reload() is not implemented then leave this commented out # and leave 'force-reload' as an alias for 'restart'. # #log_daemon_msg "Reloading $DESC" "$NAME" #do_reload #log_end_msg $? #;; restart|force-reload) # # If the "reload" option is implemented then remove the # 'force-reload' alias # log_daemon_msg "Restarting $DESC" "$NAME" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;; esac exit 0 Установим ссылку на CLI cd /usr/local/bin/ ln -s /usr/local/freeswitch/bin/fs_cli fs_cli Проверим всё ли запускается: cd /usr/local/freeswitch/bin ./freeswitch freeswitch@s02d> sofia status (или просто нажимаем F5) freeswitch@s02d> list_users Если нет ошибок, и высветились профили и пользователи, то можно отключаться: freeswitch@s02d> shutdown Меняем стандартный пароль для всех пользователей (указав свой): mcedit /usr/local/freeswitch/conf/vars.xml <X-PRE-PROCESS cmd="set" data="default_password=lkhd456hkhggl2"/> Включаем русский язык, если нужно: mcedit /usr/local/freeswitch/conf/vars.xml <X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/ru/RU/elena"/> <X-PRE-PROCESS cmd="set" data="default_language=ru"/> После правки применяем изменения: fs_cli -x "reloadxml" Устанавливаем необходимые кодеки: mcedit /usr/local/freeswitch/conf/vars.xml <X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,PCMU,PCMA,VP8"/> <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=OPUS,PCMU,PCMA,VP8"/> Ну и в конце стартуем FS: service freeswitch start Для подключения к FS используем следующую команду: fs_cli -rRS Вот и всё. Мы установили и запустили FreeSwitch. О том, как настраивать пользователей, гейты, диалплан читайте в следующих статьях.
img
Поиск работы после IT-курсов может показаться непростой задачей. Онлайн-школы стали настоящим прорывом, предоставляя ученикам возможность научиться новому или вообще сменить профессию на лету. Однако, как только последнее занятие завершено и диплом получен, возникает вопрос: «Как же теперь найти работу после прохождения курсов и воплотить в реальность все то, чему меня научили?» В этой статье мы не только дадим полезные советы по поиску работы после курсов, но и проанализируем текущее состояние IT-рынка. Мы разберемся, какие шаги стоит предпринять после окончания обучения, а также поговорим о неочевидных ценностях прохождения курсов. Трудоустройство в IT С 2020 года мировые кризисы практически не прекращаются — и это ожидаемо привело к трансформациям во всех сферах экономики. Изменения коснулись и IT-сферы: офисы многих компаний закрылись или переехали за рубеж, что неизбежно повлекло сокращения, и, что скрывать, панику среди специалистов. Да, многих работников действительно сократили, но уже сейчас этот процесс значительно замедлился. В августе 2023 года наиболее востребованными IT-специалистами в России остаются разработчики, специалисты технической поддержки, аналитики и менеджеры проектов. По данным исследований hh.ru IT-сфера привлекает множество соискателей из разных профессиональных областей. Зарплаты в IT-сфере сейчас растут медленнее, чем пару лет назад, хотя она так и остается одной из самых высокооплачиваемых на российском рынке. Хоть конкуренция среди IT-специалистов и высока, уверенные знания, хорошее портфолио и настойчивость помогут даже начинающему специалисту доказать свою ценность потенциальному работодателю. Так что устроиться на работу даже после курсов программирования или обучения по любой другой специальности — вполне посильная задача. Чем помогают курсы для поиска работы в IT «А реально ли после курсов найти работу? Может, еще за месяц онлайн-обучения можно врачом стать?» — наверняка вы хоть раз, да слышали подобные высказывания. Мнение, что работа после онлайн курсов недостижима, является весьма обобщенным и недостоверным. По данным исследования Института образования НИУ ВШЭ, 60% выпускников смогли найти работу после курсов программирования и изучения других IT-направлений. Более того, в некоторых случаях курсы будут гораздо эффективнее университетской программы: на них дают только нужные дисциплины, а программа заточена на практику, чего не скажешь про университет. Кроме того, курсы помогают: в нетворкинге — вы познакомитесь с будущими коллегами по цеху, которые могут помочь вам советом или порекомендовать потенциальному работодателю. Также в чатах выпускников нередко публикуются вакансии и приглашения на стажировку.; освоить актуальные знания с упором на практику. Например, Merion Academy разрабатывает курсы после которых можно найти работу: обучение базируется на лх, которые можно обсудить с наставниками и научиться выполнять задачи в реальных условиях; создать портфолио даже с нулевым опытом — для этого достаточно использовать тот проект, над которым работали во время обучения на курсе. После курсов можно устроиться на работу — и эта возможность зависит от конкретной программы обучения, образовательной платформы, а также от того, насколько студент готов вкладывать усилия в обучение и практику. Несмотря на мнения скептиков, работа после прохождения курсов — вполне реальная задача при условии выбора подходящего вам направления и тренировки профессиональных умений. Как и где искать работу после курсов Помните, что поиск работы требует настойчивости и активности. Если вам интересно, реально ли найти работу после курсов программирования или любого другого обучения — да, вполне реально, если вы открыты поиску и не скрываете своих навыков. Не стесняйтесь использовать все доступные платформы и методы, чтобы даже статистически увеличить свои шансы на успех. Вот что вам может помочь: Онлайн-платформы с вакансиями: регистрируйтесь на hh.ru, SuperJob, Rabota.ru и других похожих сайтах. Настройте профиль, указав свои умения и опыт, а затем откликайтесь на подходящие вакансии. Социальные сети: создайте профессиональные аккаунты минимум на LinkedIn и Facebook. Помните, что многие компании ищут потенциальных сотрудников «среди своих». Платформы для стажировок: подайте заявки на платформы типа Future Today, Changellenge, Jobby, Grintern. Это классный способ получить опыт и создать интересное портфолио. Участие в хакатонах и конкурсах: Хакатоны.рф или Codenrock помогут вам показать себя в деле, получить реальный опыт и привлечь внимание работодателей. Фриланс: если вы готовы работать над проектами временно, попробуйте платформы для фриланса, такие как Kwork, FL.ru. Это хороший способ получить реальный опыт и заработать деньги. Советы для поиска Можно ли после курсов найти работу, но быстро и без заморочек? Скажем сразу: потрудиться придется еще до того, как вас позовут на первое собеседование. Стоит ли оно того? Однозначно! Расскажем о ключевых моментах. Как оформить резюме Резюме — важнейший шаг на пути к успешной карьере. Признаки хорошего резюме: краткость и ясность: резюме должно быть лаконичным и информативным. Предоставьте самую важную информацию о себе, своих навыках и образовании; акцент на достижениях: подчеркните конкретные достижения и проекты, над которыми вы трудились, особенно если они связаны с IT-сферой; адаптация под вакансию: откликаясь на вакансию, адаптируйте свое резюме под требования и ключевые слова из объявления. Что указывать в портфолио Портфолио – это наглядный кейс, который демонстрирует ваши навыки и способности потенциальным работодателям. Как его составить? Рассмотрим два случая: если у вас нет опыта работы: курсы, после которых можно найти работу, предполагают пополнение портфолио как минимум одним проектом, над которым вы трудились во время обучения. Не стесняйтесь презентовать его во всей красе! Если у вас есть и другие таланты, например, вы умеете рисовать или заниматься дизайном, покажите и это. Если у вас есть опыт, но его мало — определитесь с тем, какие проекты лучше всего демонстрируют ваши навыки. Выберите те, которые подчеркивают ваши сильные стороны и отображают разнообразие ваших умений. Подготовьте описание для каждого проекта, включая его цель, технологии, которые были использованы, вашу роль и результаты, которых вы достигли. Объясните, какие сложности вы преодолели и какие решения приняли в ходе работы над проектом. Построение личного бренда В современном мире, где рекомендации и социальные сети идут впереди человека, личный бренд становится неотъемлемой частью карьерного пути. Что здесь важно учесть: проявляйте себя: пишите статьи, участвуйте в вебинарах и подкастах — привлекайте к себе внимание как к специалисту; создайте лендинг: хорошей идеей может быть создание сайта или лендинга для вашего блога и портфолио. Кстати, это позволит вам продемонстрировать свои навыки веб-разработки и создать удобную платформу для презентации проектов; и снова нетворкинг: участвуйте в событиях, хакатонах, встречах профессионалов. Заводите полезные знакомства, презентуйте свою экспертность и обменивайтесь опытом. Что делать, если не получается найти работу Если у вас возникают трудности с поиском работы после курсов, не отчаивайтесь. Отказ — это не приговор. У вас всегда есть возможность попробовать снова, прокачав нужные умения и подготовившись более тщательно. Проблема: не получается проходить собеседования. Решение: репетируйте прохождение собеседований с друзьями или однокурсниками. Изучайте типичные вопросы, которые могут задавать на собеседованиях, и готовьте к ним ответы. Используйте время между собеседованиями для развития и совершенствования своих умений. Продолжайте изучать новые технологии и выполняйте практические задания, чтобы пополнить портфолио и повысить свою конкурентоспособность на рынке труда. Проблема: резюме не вызывает интереса у работодателя, после отклика приходят отказы. Решение: проанализируйте свое резюме. Возможно, стоит подкорректировать его, чтобы выделить ключевые навыки и достижения. Редактируйте свое резюме для каждой конкретной вакансии, чтобы соответствовать всем требованиям работодателя. Если у вас возникают сложности, не стесняйтесь обращаться за помощью к более опытным коллегам. Они могут предложить вам свежий взгляд на ситуацию и поддержать вас. То же самое касается и общения с людьми, которые прошли через подобный опыт: это даст вам уверенность и вдохновение. Итог: можно ли устроиться на работу после курсов? Даже учитывая все кризисы последних лет, спрос на IT-экспертов сохраняется и вряд ли упадет. Технологии растут и развиваются — а с ними развивается и спрос на программистов, QA-инженеров, системных администраторов и других специалистов этой сферы. И IT-курсы — это классная база для того, чтобы начать свою карьеру. Продолжайте изучать новое — рынок труда всегда находится в движении, а инновации меняют картину каждый день. Создание хорошего резюме и портфолио, использование всех доступных инструментов вроде нетворкинга и социальных сетей помогут вам сделать огромный шаг к тому, чтобы найти работу мечты.
img
В этом руководстве мы опишем некоторые из наиболее часто используемых команд управления службами Apache (HTTPD) , которые полезно знать, разработчику или системному администратору, и держать эти команды под рукой. Мы покажем команды для Systemd и SysVinit. Убедитесь, что следующие команды должны выполняться от имени пользователя root или sudo и работать с любым дистрибутивом Linux, таким как CentOS, RHEL, Fedora, Debian и Ubuntu. Про Linux за 5 минут
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59