JavaRush /Java блог /Random UA /Ділимося досвідом. Мій перехід з Windows на Ubuntu

Ділимося досвідом. Мій перехід з Windows на Ubuntu

Стаття з групи Random UA
Початківцям програмістам дуже часто рекомендують працювати не під Microsoft Windows, а під Linux. Тому є маса причин, пов'язаних із самою структурою та логікою Linux, її безпекою, а також з ліцензіями додатків. Пропонуємо до вашої уваги переклад статті Офіра Чакона (Ofir Chakon), співзасновника та CTO компанії DataGen Technologies , який ділиться досвідом переходу з Windows на Linux Ubuntu. Стаття розрахована на новачків, які мало знають про світ Linux.
Ділимося досвідом.  Мій перехід з Windows на Ubuntu - 1
Людям, які проводять більшу частину часу біля комп'ютера, іноді потрібно ставити собі питання про основні комп'ютерні звички. Гадаю, ви вже здогадалися, що йтиметься про операційну систему, яку щодня використовує кожен із нас. Зараз Windows встановлений більш ніж на 90% настільних комп'ютерів! Користувачі вибирають Windows з різних причин:
  1. Windows поставляється практично з кожним стандартним ПК.

  2. Якщо ви користуєтеся Windows багато років, лише змінюючи версії, то, швидше за все, звикли, і вам складно перервати цю традицію.

  3. Швидше за все, у вашому оточенні ви бачите лише користувачів Windows і, можливо, MacOS, тому ви не помічаєте альтернативи. Більшість людей вважають, що Windows є єдиним варіантом для їх ПК.
Повинен визнати: Windows добре спроектована, зручна, відмінно підходить для виконання більшості завдань користувача і регулярно оновлюється.
Ділимося досвідом.  Мій перехід з Windows на Ubuntu - 2
Альтернативою Windows, про яку я збираюся розповісти, є Linux . Це сімейство операційних систем на базі ядра, яке так і називають - "ядро Linux". Linux є Unix-подібною, тобто ця операційна система базується на тих самих принципах, що й системи на основі Unix (MacOS, наприклад). Більшість збірок Linux є повністю безкоштовними, розробляються спільнотою, мають відкритий вихідний код і поширюються у формі дистрибутивів. Серед них - Ubuntu , CentOS , Debianі так далі. Дистрибутив - це набір програм із зручним (у більшості випадків) установником, готовий до роботи на пристрої. Кожен з них має свої плюси та мінуси та мають безліч варіантів застосування. Linux є досить «легкою ОС» у сенсі споживання ресурсів, тому використовується у вбудованих системах, пристроях «розумного дому», IoT («інтернету речей») та багато іншого. Android OS також базується на Linux. Я — підприємець, який працює в галузі технологій, з більш ніж семирічним досвідом у розробці ПЗ та data science, і змушений визнати, що перехід від Windows до Ubuntu призвів до одного з найістотніших підвищень продуктивності за час моєї професійної діяльності.

Як я на це наважився

У якийсь момент я став помічати, що мої основні робочі інструменти, наприклад, Android Studio IDE і симулятор Android, на комп'ютері під керуванням Windows, ледве дозволяють досягти прогресу в роботі з точки зору латентності. Я подумав про те, що це пов'язано з обладнанням, тому вирішив перейти на комп'ютер Lenovo Y50-70 з 16 ГБ оперативної пам'яті та жорстким диском SSD об'ємом 512 ГБ.
Ділимося досвідом.  Мій перехід з Windows на Ubuntu - 3
Після встановлення необхідного програмного забезпечення для продовження розробки проекту я зрозумів, що стикаюся з подібними проблемами знову, але вже на новому комп'ютері. У моїй роботі було не так вже й багато додатків, які використовують великі обсяги оперативної пам'яті, і, зрозуміло, я очікував, що мій новий ПК працюватиме, як космоліт. Але такого не сталося, і я зрозумів, що мені потрібно змінити стратегію. У мене виникло природне припущення, що проблема не в апаратній складовій, і я почав шукати підхід до програм. Під час навчання в коледжі я якийсь час працював із Linux, і тепер вирішив вивчити цей варіант докладніше. Ubuntu – найпопулярніший дистрибутив цієї операційної системи для ПК. Він доступний як клієнтська «користувацька» версія, а також у варіанті для серверів. Саме ця двоїстість і схабола шальки терезів на користь Ubuntu, оскільки мені потрібні були і клієнтська, і серверна ОС. Я вивчив безліч ресурсів в Інтернеті, де точабося дискусії на кшталт «Linux чи Windows», «Windows vs. Ubuntu». Багато чого зрозумів, але все одно чекав чогось… Якогось «знаку згори» чи що. Таким знаком виявилася вірусна атака, яка змусила мене зробити резервну копію всіх файлів, відформатувати жорсткий диск, після чого розпочати роботу. Тільки цього разу – з операційною системою яка змусила мене створити резервну копію всіх файлів, відформатувати жорсткий диск, після чого розпочати роботу. Тільки цього разу – з операційною системою яка змусила мене створити резервну копію всіх файлів, відформатувати жорсткий диск, після чого розпочати роботу. Тільки цього разу – з операційною системоюUbuntu . Я мав певні думки про те, що, можливо, варто одночасно встановити Windows і Ubuntu для плавного переходу. Тепер я радий, що цього не зробив. Причиною того, що я повністю відмовився від Windows, стало моє бажання повністю зануритися в Ubuntu без можливості повернутися до Windows. Ось деякі уроки, які я виніс під час переходу від Windows до Linux . Вони можуть бути цікавими будь-якому користувачеві, але в основному призначені для розробників, кодерів, програмістів і кожної людини, яка пише код або створює продукти.

Продуктивність

Linux працює швидше, ніж Windows 8.1 та Windows 10 завдяки своїй «легкій» архітектурі. Після переходу на Linux я помітив різке збільшення швидкості та продуктивності при використанні тих самих інструментів, з якими я працював у Windows. Linux підтримує безліч ефективних інструментів для розробників і дозволяє легко керувати ними.

Безпека

Linux є програмним забезпеченням із відкритим вихідним кодом. Теоретично кожен може внести в неї свій код, щоб щось поліпшити, додати функції, виправити помилки, знизити ризики та багато іншого. Звичайно, кожен великомасштабний проект з відкритим вихідним кодом має спостерігачів, які вивчають всі його аспекти. Тому, з погляду безпеки, Linux, природним чином, безпечніший, ніж Windows. Крім того, основні зусилля хакерів спрямовані саме на операційну систему виробництва Microsoft. Замість того, щоб встановлювати антивіруси та сторонні інструменти для очищення шкідливих програм, вам просто потрібно дотримуватися репозиторіїв, що рекомендуються, і все буде добре.

Розробка програмного забезпечення

Термінал у Linux – козирний туз цієї операційної системи . Ви можете робити з терміналом майже все - встановлювати програми, конфігурувати програми та сервери, керувати файловою системою та багато іншого. Ну а для розробників термінал — щось на зразок тотемного ідола. Немає нічого зручнішого, ніж отримати можливість запускати сервери, тренувати моделі машинного навчання, звертатися до віддалених машин, компілювати та запускати сценарії з того самого вікна терміналу. Це суттєво прискорює продуктивність!
Ділимося досвідом.  Мій перехід з Windows на Ubuntu - 4

Модульність

Разом з Linux розробник отримує величезні можливості модульності. Ви можете легко налаштувати будь-що, отримати доступ до будь-якого «куточка» вашого комп'ютера, контролювати процеси та керувати віртуальними середовищами для різних проектів. Оскільки ваш сервер, ймовірно, заснований на Linux, вам простіше імітуватиме поведінку, використовувати аналогічне програмне забезпечення та пакети, а також автоматизувати робочі потоки для процесів розгортання.

Робота з віддаленими серверами Linux

Більшість серверів, які підтримують роботу всього інтернету, засновані на Linux з багатьох причин, які я не перераховуватиму тут. Linux надає будь-які інструменти, необхідні для розробки масштабованих безпечних серверів. Таким чином, освоєння Linux для налаштування та обслуговування серверів є обов'язковою умовою для будь-якого ІТ-підприємця, який керує end-to-end додатками. У такій ситуації під час роботи з Windows на локальному комп'ютері вам доведеться використовувати сторонні інструменти, такі як PuTTY, для підключення та взаємодії з віддаленими серверами на базі Linux, що не так зручно. Наприклад, для копіювання файлів вам потрібно завантажити інший інструмент, коли ви використовуєте Windows. Величезною перевагою роботи з локальною машиною на базі Linux є можливість підключення до будь-якого віддаленого сервера за допомогою одного рядка, запущеного в терміналі. Хости можуть бути збережені у файлі, а також як і SSH-ключі та імена користувачів, тому все, що вам потрібно зробити для підключення через SSH, це: ssh ofir-server І все, ви підключені! Жодних паролів не потрібно. Це проста демонстрація однієї з багатьох можливостей налаштування та підтримки серверів на базі Linux з використанням локальної машини на базі Linux. Більшість популярних хмарних провайдерів мають CLI (інтерфейс командного рядка) для легкої інтеграції.

Знайомство з низькорівневими принципами ОС

Реалізація Windows дуже високорівнева. Іншими словами, ви майже не стикаєтесь із внутрішніми проблемами та реалізацією самої операційної системи. У Linux все якраз навпаки. При використанні Linux ви часто стикаєтеся з налаштуваннями, які потрібно зробити з терміналу, шляхом редагування файлів, додавання завдань планувальника, оновлення програмного забезпечення, установки драйверів і так далі. При роботі з Ubuntu, AskUbuntu.com - ваш друг. Ви не тільки отримуєте більше можливостей як розробника, але також навчайтеся (іноді і не легко), як вирішувати проблеми, моніторити машину для пошуку потенційних проблем, налаштовувати різні компоненти та багато іншого.
Ділимося досвідом.  Мій перехід з Windows на Ubuntu - 5

Не все ідеально, але все ж

  1. Становлення користувача Ubuntu ґрунтується на кривій навчання. Деякі речі, які робабося самі собою під Windows, тепер потрібно буде налаштовувати, можливо, буде необхідно налаштувати за допомогою AskUbuntu.com. Очікуйте метушні, якщо на комп'ютері встановлено спеціальне обладнання, таке як графічні процесори.

  2. Я вважаю, що кожен підприємець в ІТ-сфері повинен бути трохи дизайнером, точніше мати мінімальні навички графічного дизайну. На жаль, Adobe не випустила жодного зі своїх продуктів для користувачів Linux, тому їх неможливо запустити безпосередньо. Альтернатива в Ubuntu називається GIMP. Це безкоштовне ПЗ, що задовольняє всі основні вимоги розробника-дизайнера (і навіть трохи більше).
Незважаючи на недоліки, я не шкодую, що перейшов на Linux. Тепер я постійно працюю, використовуючи Ubuntu і навіть шкодую, що не перейшов на неї на кілька років раніше.

Висновки

Linux – не для всіх. Як зазначено вище, ви повинні перевірити, чи він відповідає вашим повсякденним завданням. Але якщо ви вважаєте себе підприємцем у сфері ІТ, розробником, вченим-програмістом або просто програмістом — людиною, яка так чи інакше координує або взаємодіє з технічним матеріалом, пов'язаним із написанням коду, вам варто спробувати Ubuntu.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ