Как эффективно выстроить рабочий день на удаленной работе

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

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

Пять важнейших шагов

1. Эргономика рабочего места

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

Идеальным вариантом будет работа в отдельной комнате, но не все обладают такими жилищными условиями. Натягивайте шторки и ставьте ширмы, но присутствие кого-либо рядом не должно отвлекать.

2. Собираем рабочий инструментарий

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

3. Налаживаем продуктивность

Здесь нужно разбивать задачу на составляющие части, а затем решать каждую из них последовательно. Без самоконтроля разобраться не получится. Приведём пример мышления:

«Я почти сделал этот этап, необходимо ещё немного, и я смогу встать. Уже выполнил. Интересно, что в следующей части? Налажу всё, настрою в работу, а затем отойду. А может сделать небольшой фрагмент, чтобы потом было легче? Да, я сделаю это».

Так можно не заметить, как восемь часов пролетят за вдвое меньший промежуток времени. Необходимо постоянно быть движущей силой и погонщиком в одном лице. Здесь больше «нельзя», чем «можно». Если не взять себя в руки, то планы будут сорваны. Если устали, никто не мешает лечь поспать днём для восстановления сил.

4. Корректируем психологические аспекты

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

5. Вводим эффективный график

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

Желательно для каждого типа работ предусмотреть приблизительный дедлайн на исполнение. Для этого требуется планировать следующий рабочий день каждый вечер. Если получилось сделать быстрее, то это должно рассматриваться как преимущество. И пусть в условиях карантина не получится сходить на улицу, зато можно использовать это время с пользой. То, что обычно тратится на дорогу, можно сложить в единый пакет, а ещё добавить +2 часа ежедневно. И получается, что за 4 дня мы тратим 8 часов дорожных временных трат и ещё столько же выжимаем из удлиненного ежедневного времени. Итого, пятидневную рабочую неделю можно закрыть за три дня. Если позволит начальство. Или просто повысить свою зарплату.

Основные камни преткновения

Те, кто пытается создать дома рабочую атмосферу, наиболее часто жалуются на ряд неудобств. Рассмотрим, как их преодолеть наиболее эффективно:

Дети и домашние животные. Ребенку можно всё пояснить, а коту, лежащему на клавиатуре, это сделать не получится. С малышами нужно проводить профилактическую беседу. Один из лучших способов – это полностью погрузиться в громкую любимую музыку в наушниках, а затем просто игнорировать запросы. За 3-5 дней все привыкнут к такой обстановке.

Соблазн отправиться на перекур или питьё чая. Здесь потребуется устанавливать строгие запреты для себя самого. В этом поможет таймер смартфона. Ранее звонка выходить куда-либо воспрещается. Обеденный перерыв можно подгадать под всю семью, а питьё кофе легко переносится за рабочий стол.

Быстрая утомляемость. Она обусловлена ленью, неудобным стулом и монотонной работой на фоне звуков дома. Здесь также помогут наушники и музыка.

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

Низкая эффективность труда. Для устранения нужно сравнить процесс в офисе и дома, а затем сделать соответствующие выводы. Недостаточное количество компьютерных программ, неудобный стул. А возможно, что это просто желание посмотреть любимые видеоролики? То, что можно успеть за 8 часов, легко растягивается на 12-14. Это уже вопросы к собственной организованности. Необходимо задавать себе вопросы, ругать себя внутри, разделиться на начальника и подчиненного.

Несравненная польза

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

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

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

Перенос FreeBSD сервера с ZFS root файловой системой на новый pool

Попались мне под руку пара винтов побольше и еще один компьютер. Наслышан я о чудесах и простоте переноса ZFS и решил попробовать.

Задача перенести сервер под FreBSD, что уже работает, на новый сервер с помощью ZFS.

Ну и так сказать своеобразный бекап.

Бекап это сомнительно. Потому как на исходном тоже стоит всё на «мирроре»

Создаем ключ

# ssh-keygen

# cat /root/.ssh/id_rsa.pub | ssh root@127.0.0.1 ‘cat >> /root/.ssh/authorized_keys’

[root@server ~]# zpool list -v

NAME                                     SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT

Грузимся с CD и работаем в Live-режиме mfsBSD

# mkdir /root/.ssh

# camcontrol devlist

vi /etc/ssh/sshd_config 

В конфиге разрешаем root-у логиниться. 

Отключаем DNS проверку, чтобы побыстрее было немного. 

PermitRootLogin yes 

UseDNS no 

Задаем пароль для пользователя root: 

# passwd root 

Указываем интерфейсу нужный IP адрес 

ifconfig re0 add 127.0.0.0.1/24 

или dhclient re0

запускаем sshd: /etc/rc.d/sshd onestart

Далее создаём разделы…

# gpart create -s gpt ada0

# gpart add -b 40 -s 512k -t freebsd-boot ada0

# gpart add -s 8g -t freebsd-swap ada0

# gpart add -t freebsd-zfs ada0

[root@mfsbsd ~]# gpart show

=>        40  1953522976  ada0  GPT  (932G)

          40        1024     1  freebsd-boot  (512K)

        1064    16777216     2  freebsd-swap  (8.0G)

    16778280  1936744736     3  freebsd-zfs  (924G)

Создаем пул:

# zpool create -f tank /dev/ada0p3

Пул готов к приёму данных.

Переходим на сервер-источник. 

Создаем рекурсивный снапшот, который и будем передавать:

# zfs snapshot -r tank@21-04-13 

Передаем его на сервер приемник:

# screen

# zfs send -vR tank@21-04-13 | ssh 127.0.0.0.1 zfs recv -F tank

Ждем окончания передачи. У меня примерно 213 GB передавалось около 12 часов.

Переходим опять на сервер-приемник root@mfsbsd:~ 

# csh

# zfs list -t snapshot 

# zpool list

# mkdir /tmp/tank

# mount -t zfs tank/root /tmp/tank

# gpart bootcode -b /tmp/tank/boot/pmbr -p /tmp/tank/boot/gptzfsboot -i 1 ada0

# chroot /tmp/tank

Ввиду того, что с сервера-источника нам передалось всё, то поправим немного /etc/fstab. Дело в том, что своп на источнике подключен в fstab по меткам gpt. 

Настройка по меткам

# cat /etc/fstab

/dev/gptid/dadde41e-913d-11eb-92f9-ac1f6bd74a62 none swap sw 0 0

# gpart list

2. Name: ada0p2

   Mediasize: 8589934592 (8.0G)

   Sector Size: 512

   Stripe Size: 4096

   Stripe Offset: 0

   Mode: r0w0e0

   defimedia: HD(2,GPT,fffe5673-d7ad-11dd-a24d-50465d8ab2bb,0x428,0x1000000)

   rawuuid: fffe5673-d7ad-11dd-a24d-50465d8ab2bb

   rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b

   label: (null)

   length: 8589934592

   offset: 544768

   type: freebsd-swap

   index: 2

   end: 16778279

   start: 1064

# vi /etc/fstab 

/dev/gptid/dadde41e-913d-11eb-92f9-ac1f6bd74a62 none swap sw 0 0 >

fffe5673-d7ad-11dd-a24d-50465d8ab2bb

Второй вариант без меток

[root@msfbsd ~]# cat /etc/fstab 

# Device Mountpoint FStype Options Dump Pass#

### /dev/gpt/swap0 none swap sw 0 0

>

/dev/ada0p2 none swap sw 0 0

Правим файлы в скопированной системе.

[root@mfsbsd ~]#

# zfs umount -a

# exit

Скажем кто у нас bootfs и сделаем экспорт:

# zpool set bootfs=tank/root tank

# zpool export tank

# shutdown -r now

На источнике можно удалить ненужный снапшот: 

# zfs destroy -r tank@move

Взял на afabla немного подправил на свой лад. Автору респект!

Контакт-центр в Битрикс24

Контакт-центр — это инструмент, который объединяет все каналы коммуникации с клиентами: почту, телефонию, социальные сети и мессенджеры, чат и форму на сайт и даже рекламные площадки.

Отзыв сертификатов OpenVPN

Что делать в случае если требуется отказать какому-либо клиенту в доступе по его сертификату. Причины могут разными — закрытый ключ, связанный с сертификатом скомпрометирован или украден, пользователь забыл пароль на ключ, либо просто хотите прекратить доступ данного человека в вашу сеть. Решением этой задачи является создание списка отзыва сертификатов (Certificate Revocation List — CRL), в котором перечисляются отозванные вами клиентские сертификаты и руководствуясь которым сервер будет отклонять запросы.

В качестве примера, отзовём сертификат пользователя client2. Пример будет для Linux/BSD/Unix.

cd /usr/local/etc/openvpn
. ./vars
./revoke-full client2

В результате видим примерно следующее:

Using configuration from /usr/local/etc/openvpn/openssl.cnf
DEBUG[load_index]: unique_subject = "yes"
Revoking Certificate 04.
Data Base Updated

или

Using configuration from /usr/local/etc/openvpn/openssl.cnf
DEBUG[load_index]: unique_subject = "yes"
client2.crt: /C=RU/ST=NN/O=TEST/CN=client2/emailAddress=me@myhost.ru
error 23 at 0 depth lookup:certificate revoked

Обратите внимание на «Ошибку 23» в последней строке, указывающую на неудавшуюся попытку проверки отозванного сертификата. Скрипт revoke-full как раз и создает CRL (certificate revocation list) — crl.pem. Этот файл (не является секретным) должен быть скопирован в каталог, видимый OpenVPN сервером, а путь к нему прописан в конфиге server.conf.

crl-verify /usr/local/etc/openvpn/crl.pem

Теперь при подключении, все клиентские сертификаты будут проверяться на наличие в CRL, и если таковое будет найдено, в соединении будет отказано. При использовании crl-verify в OpenVPN, CRL-файл перечитывается по умолчанию каждый час. Таким образом, если в момент добавления сертификата в исключения, клиент уже установил связь, то он будет продолжать работу. Чтобы изменения применились наверняка перезапустите демон OpenVPN сервера.

При отзыве сертификата бывает ещё ошибка такого вида:

error on line 282 of config file '....openvpn/easy-rsa/openssl.cnf'

Решается комментированием следующих строчек в openssl.cnf:

#[ pkcs11_section ]
#engine_id = pkcs11
#dynamic_path = /usr/lib/engines/engine_pkcs11.so
#MODULE_PATH = $ENV::PKCS11_MODULE_PATH
#PIN = $ENV::PKCS11_PIN
#init = 0

Напоследок замечу, что возможно сгенерировать новую пару сертификат/ключ с тем же именем, как у отозванного ранее сертификата. Например в случае, когда пользователь забыл свой пароль на предыдущий сертификат, и его отозвали по этой причине.

По материалам mdex-nn.ru

Бекап всей системы CentOS 7

Как сделать бэкап всей системы в CentOS

Если вам нужно создать backup всей вашей системы, то необходимо выполнить команду:

tar cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /

Этой команды хватит чтобы создать бекап.

Поговорим о том что же в этой команде написано:
1. Запускаем команду от рута и создадим так званый тарбол (утилита tar с опцией «c») и заархивируем его в архив gz (опция «z»). С опцией «–exclude» исключим из нашего архива все системные папки и файлы устройств и наш архив (чтобы он рекурсивно не начал запаковывать сам в себя). По окончанию, получим в корневой директории наш cжатый архив системы в файле backup.tgz.

Восстанавливаем из бекапа

Бекап мы то сделали, но наверное нужно еще и научится разворачивать его.Как это сделать? Ну, для начала, нужна будет всё-таки работающая система. Можно выполнить установку системы или просто загрузиться с Live CD/DVD). Я буду думать, что у всех есть уже готовая установленная и готова к работе система на которой хотим сделать развертку нашего архив backup. Для этого необходимо выполнить команду:

tar xvpfz /backup.tgz -C /

На этом тема «как сделать бэкап всей системы в centos» завершена.

По материалам 100.org.ua

Сертификат CCNA. Получение.

Срок действия сертификата CCNA – три года. Для подтверждения сертификата необходимо один из следующих экзаменов: текущий экзамен CCNA, либо экзамен ICND, либо любой экзамен с префиксом 642, входящий в программу уровня Профессионала, либо экзамен на получение сертификата специалиста Cisco (кроме специалистов по продажам), либо один из текущих письменных экзаменов CCIE.

Сертификат CCNA (Cisco Certified Network Associate – Сертифицированный Cisco Сетевой Специалист) свидетельствует о базовых знаниях в области вычислительных сетей. Специалисты с квалификацией CCNA способны установить, настроить и эксплуатировать службы локальных, распределенных сетей, а также службы доступа по телефонным линиям для сетей малого масштаба (до 100 узлов), включая следующие протоколы (но не ограничиваясь ими): IP, IGRP, Serial, Frame Relay, IP RIP, VLANs, RIP, Ethernet, Access Lists.

Источник

micro — лучше чем vim и nano

Micro — простой и легковесный текстовый редактор для терминалов, написанный на Go. Он поставляется в виде бинарного файла и не требует зависимостей.

Как можно догадаться из названия, micro претендует стать заменой старому доброму nano, сохраняя его простоту, но в то же время обладая большими возможностями:

легкая установка — micro представляет собой один исполняемый бинарный файл, не зависящий от других библиотек;
привычные сочетания клавиш;
табы и возможность разделения рабочего пространства;
нормальная поддержка мыши;
плагины на Lua;
подсветка синтаксиса из коробки для более чем 75 языков;
анализ и подсветка ошибок в коде;
поддержка цветовых схем, в том числе и true color.


Micro распространяется под лицензией MIT.

===============
micro: https://micro-editor.github.io/

Опции: https://github.com/zyedidia/micro/blob/master/runtime/help/options.md

Плагины: https://micro-editor.github.io/plugins.html

===============
По материалам: Черный треугольник, Linux.org.ru

Автоматическая установка SSL на Billmanager certbot

Автоматическая установка SSL на Billmanager
SSL сертификат Let’s Encrypt в Billmanager средством certbot

# /usr/local/mgr5/sbin/letsencrypt.sh domain.tld
# service httpd restart

domain.tld должен быть привязан к серверу, в свойствах панели не должно стоять использовать кастомного сертификата.

Как стать программистом приложений на Android

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

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

Как стать программистом приложений на Android, изображение №1

Что делает Андроид-разработчик

Здесь нет такого, что если ты стал разработчиком, то должен уметь делать всё. Конечно, есть мастера на все руки, но чаще происходит разделение обязанностей. Не стоит также впадать в уныние, если всё кажется слишком сложным, и вам не хватит пол жизни чтобы всё постигнуть. Всё сразу не нужно, работа есть как для профессионалов, так и для новичков (черновая работа, правда, но с чего-то нужно начинать ;)).

Как разработчик, вы можете выбрать работу, наиболее близкую к сердцу:

  • Продумывание пользовательского интерфейса, внутренней логики и структуры приложения, удобная навигация – всё это называется UI (User Interface)
  • Написание кода по прописанным алгоритмам (блок-схеме)
  • Оптимизация кода уже рабочего продукта, для мобильных устройств важно минимальное потребление энергии
  • Для онлайн-банков и кошельков особенно важна тема безопасности, нужно найти потенциально уязвимые места и переписать код на безопасный
  • Тестировщик, нужно тестировать приложение на разных версиях ОС, устройствах, в нестандартных условиях
  • На финальном этапе нужно написать документацию для пользователя, загрузить приложение в Google Play и другие магазины приложений
  • Дальше идёт по кругу изучение статистики пользователей, отзывов и доработка

Как всему этому обучаться

Есть два варианта:

  • Самостоятельно с помощью книг, документации, инструкций, которых полно, тематических форумов, видеоуроков на ютубе, статей в блогах
  • Приобрести курс по разработке на андроиде
  • Записаться на групповое или индивидуальное обучение

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

Самостоятельное обучение методом проб и ошибок может подзатянуться во времени, к тому же нужно обладать талантом самоорганизации и не бросить всё это дело. Ведь на первичную подготовку уйдёт от 3-х месяцев до года. В любом случае лучше начинать хоть с какого-нибудь курса со структурированной подачей. Это станет отправной точкой для дальнейшего погружения в тему разработки.

Самый быстрый результат получается в групповых или индивидуальных занятиях, например, в школе разработчиков ITEA https://itea.ua/courses-itea/mobile-development/android-advanced/. В этом случае не уходят сотни часов на поиск недостающих элементов мозаики в интернете. Как говорят программисты, 80% времени уходит на гугление вопросов почему что-то работает не так, как ожидается :).

Что нужно знать программисту приложений

Никогда не получится выучить всё, т.к. это тоже самое что знать состав всех товаров в гипермаркете :). К тому же, постоянно выходят обновления инструментов программиста. Вот с чего нужно начинать новичку:

  • Основа – язык программирования Java, именно на нём написано большинство приложений, лучше подходит для приложений, где нужно взаимодействовать с аппаратной частью смартфона
  • Язык программирования Kotlin – это рекомендованный Гуглом язык (Android – это разработка гугла, если что). Постепенно переходят на него, но Java нужно знать обязательно, потом всё-равно придётся с ним столкнуться, поэтому лучше выучить его сразу, а не потом, обрывочно
  • Среда разработки Android Studio – та самая программа с эмулятором андроида, в которой создаётся приложение
  • Общие принципы разработки: объектно-ориентированное программирование (ООП), правильное оформление кода (чтобы не было «говнокода»), удобное именование функций переменных и др.
  • Языки разметки HTML и XML, стили CSS – эти знания также позволят верстать сайты
  • Базовые принципы дизайна от Google – Material Design
  • Принципы работы и структура ОС Android
  • Изучение популярных библиотек и фреймворков (готовые функции для решения типовых задач, которые упрощают разработку)
  • Распределённая система управления версиями Git и GitHub – необходимо для работы команде и создания своего портфолио, позволяет вносить изменения в проект без хаоса
  • UI- и unit-тестирование, чтобы протестировать работу приложение во всевозможных ситуациях, обучиться автоматизации тестирования можно здесь https://itea.ua/courses-itea/qa/automated-testing/
  • Основы алгоритмизации – научит с нуля проектировать приложение на Android
  • Английский язык практически «Must Have», придётся читать документацию и форумы на английском языке, и вообще языки Java и Kotlin становятся более понятными, если знаешь английский

Карьера на Андроиде

После 3-х месяцев обучения вы можете претендовать на должность интерна или Junior (юниор – младший специалист). Далее, по мере развития скилов, станете Middle (средним, стандартным) специалистом. И если всё пойдёт по плану, то есть шансы стать Senior’ом, они получают приличные зарплаты. После сеньора можно пойти на тимлида (лидера команды). Вообще, зарплата программиста варьируется от 500 до 5000$ и выше. Зависит от профессионализма, опыта, портфолио и страны работодателя.

Небольшая ремарка, некоторые люди боятся, что Google перейдёт на другую ОС, и тогда они останутся не у дел. Как в 2016 году шли разговоры о новой ОС Fuchsia. Это всё неважно, ведь людям по-прежнему нужны будут приложения, просто у разработчиков добавится работы, нужно портировать свои приложения на другую ОС. К слову, языки программирования не сильно отличаются друг от друга. Когда знаешь Java, то чтобы перейти на другой язык понадобится всего месяц. Структуры операционных систем также не меняются на 100% в другую сторону.

Вот вы прошли через бессонные ночи и решили, что пора явиться в мир. Где работают андроид-разработчики? Конечно, это студии мобильной разработки, которые ведут сразу несколько проектов. Работа в такой студии обеспечит быстрый профессиональный рост и достойный заработок.

Во-вторую очередь разработчиков нанимают бизнесы, которым нужно своё приложение. Нужно быть готовым, что здесь вы станете тем самым специалистом на все руки, может даже винду кому-то переустановите :).

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

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

По материалам IT-LIKE.

Запуск сервера

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

У BIOS есть специальное меню настройки — BIOS Setup Utility. Зайти в него можно нажатием специальной клавиши во время прохождения POST. Чаще всего клавишами для входа в BIOS являются Del и F2, тем не менее, при загрузке всегда указано, нажатие какой клавиши откроет настройки BIOS.

Меню настройки современного UEFI BIOS — Aptio Setup Utility
BIOS Setup Utility предоставляет интерфейс для настройки, для взаимодействия с которым требуется только клавиатура. BIOS Setup Utility дает информацию об установленном оборудовании и позволяет изменять параметры работы материнской платы и подключенного оборудования.

Возможные названия и опции того или иного параметра зависят от многих факторов, среди которых:

версия BIOS;
модель материнской платы;
модель установленного в материнскую плату оборудования.
Среди параметров нам интересен приоритет загрузки (Boot Priority). Он задает порядок, в котором BIOS опрашивает устройства с целью найти на них загрузочную область. Как только BIOS найдет загрузочную область, управление передается загрузчику и начинается следующий этап.

Приоритет загрузки в Aptio Setup Utility
Загрузчик ОС
После прохождения POST BIOS ищет загрузочную область, опрашивая устройства в заданном порядке. В режиме Legacy загрузочная область на диске называется Master Boot Record (MBR). MBR — особая структура, размещаемая в первых 512 байтах диска. Эти 512 байт содержат следующие данные:

код первого этапа загрузчика — с 0 по 445 байт;
таблица разделов — с 446 по 509 байт;
«магическое» число 0xAA55 — с 510 по 511 байт.
Если магического числа 0xAA55 нет, то считается, что MBR-запись на этом диске не найдена, и BIOS приступает к опросу следующего диска.

Когда BIOS находит MBR-запись, он копирует ее с диска в оперативную память по адресу 0x7C00 и совершает прыжок по этому адресу. После прыжка начинается первый этап (Stage 1) работы загрузчика. Из-за ограниченности в размерах смысл работы первого этапа сводится к загрузке в память кода второго этапа (Stage 2) и передаче ему управления.

Код Stage 2 хранится сразу после структуры MBR и до начала первого раздела диска. Исторически этот промежуток содержит 31 КБ памяти, а в современных системах достигает 1 МБ. Тем не менее, для сохранения совместимости размер второго этапа не превышает 31 КБ.

Второй этап подготавливает окружение для запуска третьего этапа:

загружает необходимые драйверы файловых систем;
находит код третьего этапа на файловой системе;
загружает код в оперативную память и передает ему управление.
Задачи Stage 3 сводятся к минимальной настройке окружения и загрузчика:

перевести процессор в Protected Mode;
загрузить установленные расширения GRUB2;
найти Stage 4 на файловой системе и передать ему управление.
Protected Mode — режим совместимости с x86 процессорами. В этом режиме процессор способен выполнять 32-битные команды, а адресное пространство расширяется до 4 ГиБ. В Protected Mode появились значительные нововведения, среди которых:

страничная адресация памяти;
кольца защиты;
виртуальная память.
Четвертый этап (Stage 4) работает уже в 32-битном режиме, при необходимости загружается с диска расширения графического интерфейса, «разбирает» файл grub.cfg и отображает знакомое меню выбора ОС.