Останні відповіді

  1. Дякую, мені трохи страшно залазити в /var/log/syslog бо є пара глючних сервісів які його нещадно засмітили

    По апаратній проблемі, не зовсім зрозумів як його підключити на "гарячу".. хоча мабуть підключу зарання, дійсно - дякую за пораду! Не додумався


  2. Обидва варіанти можуть бути правильними, але вони можуть використовуватися в різних контекстах.

    1. "Реліз сервера" вказує на те, що ви описуєте випуск або випуски програмного забезпечення, які стосуються сервера. Це додаток до слова "реліз", що показує, що ви випускаєте серверну частину програми або оновлення для неї.

    2. "Реліз серверу" може використовуватися, коли ви звертаєте увагу на те, що сам сервер випускається, можливо, як продукт або як частина оновлення апаратного забезпечення.

    Отже, вибір між "реліз сервера" і "реліз серверу" залежить від того, на що саме ви намагаєтеся звернути увагу в вашому тексті.


  3. Якщо проблема програмна, то варто перевірити /var/log/syslog та journalctl, там має бути видно що останнє запускалося.

    Якщо проблема апаратна, то ядро може падати в Kernel panic, для перевірки необхідно підключити монітор і можливо буде зрозуміла причина.


  4. Якщо до 192.168.0.1 пароль qwerty123 - то не важлива :)


  5. Це повторювана в кожному проекті операція множення номеру сторінки на ліміт її записів :)


  6. Самий дієвий спосіб вивчити будь яку мову - це модифікація вже існуючого пакету під свої потреби.


  7. Rust, Go - враховуючи кількість проектів в актуальному стані на GitHub

    Все інше і так доведеться вивчити :)


  8. Користуюсь Debian з робочим столом i3

    Якщо вистачає досвіду збирати нові пакети для розробки то не ловитимете системні глюки при оновленнях. Debian - тому що просто банально звик до нього за другий десяток років ну і сервери на ньому, тому так простіше мені.

    Єдине що, i3 більше підійде досвідченим користувачам то може краще все таки починати з KDE. Gnome не раджу бо це тотальна мука в роботі, робочий стіл не працює як у другому, більше смартфон на компі чи смарт тв.

    Довго сидів на убунті, але після втрати бекапу з паролями браузеру, що зберігались в профілі snap, поставив крапку. Особливо вибішує, що навіть коли видаляєте snap, то щоб встановити firefox воно буде підступно знову підсовувати цю версію замість репозиторію.

    Ще думав про арч, але не хочу постійно довбатись в системі замість роботи. Якби ставив то:

    • Manjaro - там свої репи, тому від тру арч - імхо тільки назва
    • EndeavourOS - може згодиться новачку який хоче арч але ще не вміє налаштовувати систему

  9. Якось у мене була така проблема з qBittorrent, робив здається так:

    [Service]
    MemoryHigh=256M
    MemoryMax=512M
    MemorySwapMax=512M
    

    Але це не вирішить проблему, просто програма буде "висіти" з обмеженням. Тре фіксити саму причину а не її наслідки.


  10. Мені соромно, що досі не знав дві речі:

    • browser.urlbar.decodeURLsOnCopy
    • слово "марудно"

  11. Manual QA може використовувати різноманітні інструменти з штучним інтелектом (AI), які полегшують та поліпшують їх роботу. Ось деякі з них:

    1. AI-прогнозування дефектів: Інструменти для прогнозування дефектів можуть використовувати дані з попередніх тестувань для передбачення областей програмного коду, які можуть бути вразливими або мають більше ймовірності містити дефекти.

    2. AI-тестування автоматизації: AI може використовуватися для створення та підтримки автоматизованих тестів. Це може включати ідентифікацію та виправлення регресійних дефектів, оптимізацію сценаріїв тестування та автоматичне створення та підтримку тестових скриптів.

    3. AI-аналіз даних: Інструменти аналізу даних з AI можуть допомогти у виявленні закономірностей та тенденцій у результатах тестування, що допоможе в розумінні та прогнозуванні проблем.

    4. AI-перевірка тексту: Інструменти для перевірки тексту з AI можуть використовуватися для автоматичної перевірки та корекції граматичних помилок, стилістичних недоліків та інших аспектів текстового вмісту, що включається у документацію та звіти про тестування.

    5. AI-рекомендації для тестування: Інструменти можуть пропонувати рекомендації стосовно того, які тести слід виконати наступними, на основі історії тестування, важливості функцій та інших факторів.

    Ці інструменти можуть значно полегшити та прискорити роботу manual QA, дозволяючи їм зосередитися на більш складних аспектах тестування, таких як тестування взаємодії користувача та визначення загальної якості продукту.


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

    Недостатня кібербезпека в ІоТ може мати серйозні наслідки, такі як порушення приватності користувачів, крадіжка конфіденційної інформації, відмова пристроїв або навіть можливість використання їх у якості частини ботнету для здійснення масштабних кібератак.

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


  13. Прибрав expo-router/babel з файлу babel.config.js і все працює.


    1. ChatGPT for Email Communication and Reporting.
    2. Fireflies.ai for Meeting Management.

  14. Qualyfid — це асистент на базі штучного інтелекту для автоматизації створення тестової документації. Цей сервіс значно спрощує роботу, перетворюючи короткі описи завдань на детальні документи з тест-кейсами за лічені секунди.


  15. Знайдіть індекс елемента масиву, який потрібно видалити, за допомогою indexOf, а потім видаліть цей індекс за допомогою splice.

    const array = [2, 5, 9];
    
    console.log(array);
    
    const index = array.indexOf(5);
    if (index > -1) { // only splice array when item is found
      array.splice(index, 1); // 2nd parameter means remove one item only
    }
    
    // array = [2, 9]
    console.log(array); 
    

    Другим параметром splice є кількість елементів, які потрібно видалити. Зауважте, що splice модифікує масив на місці та повертає новий масив, що містить елементи, які було видалено.


  16. Node.js є виконавчим середовищем для JavaScript, яке дозволяє виконувати код JavaScript поза браузера, на сервері. В основі Node.js лежить дві ключові ідеї: використання мови програмування JavaScript та подійно-орієнтоване асинхронне програмування.

    Основні особливості Node.js включають:

    1. JavaScript на сервері: Раніше JavaScript використовувався переважно для розробки клієнтської частини веб-сайтів (у браузері). З Node.js ви можете використовувати JavaScript для розробки серверних додатків.

    2. Події та асинхронність: Node.js побудований на асинхронному програмуванні та подійно-орієнтованому підході. Це дозволяє обробляти багато запитів одночасно без блокування виконання інших операцій.

    3. Платформонезалежність: Node.js є платформонезалежним, що означає, що ви можете використовувати його на різних операційних системах, таких як Windows, macOS та Linux.

    4. Розширюваність: Node.js має широкий вибір модулів та бібліотек, які дозволяють легко використовувати його для різних завдань.

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


  17. Пагінація - це процес розділення великої кількості даних або вмісту на окремі сторінки для полегшення навігації та удосконалення користувацького досвіду. Це часто використовується в інтернет-ресурсах, де потрібно відображати багато інформації, наприклад, на веб-сайтах, в блогах чи в пошукових результатах.

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

    Наприклад, на веб-сайтах з каталогами товарів або результатами пошуку можна побачити пагінацію, яка дозволяє переглядати товари або результати по частинам, а не на одній довгій сторінці.


  18. Існує кілька таблиць кодів символьної інформації, які визначають відповідності між символами та числовими значеннями (кодами). Тут кілька з найпоширеніших:

    1. ASCII (American Standard Code for Information Interchange): ASCII - це одна з перших і найпоширеніших таблиць кодів, в якій символам відповідають числові значення від 0 до 127. ASCII визначає 128 символів, які включають літери, цифри, пунктуацію та контрольні символи.

    2. Unicode: Unicode - це стандарт, який розширює можливості кодування тексту, включаючи більше символів з різних письменниць та символи різних мов. Він може використовувати різні кодування, такі як UTF-8, UTF-16, та UTF-32. Unicode включає тисячі символів, і ця таблиця постійно розширюється.

    3. ISO-8859 (Latin): Це серія таблиць кодів, які розширюють ASCII, додавши додаткові символи для підтримки різних європейських мов. Кожен з кодів ISO-8859 охоплює 256 символів.

    4. Windows-1252 (CP-1252): Це розширення коду ISO-8859-1, яке включає деякі додаткові символи та підтримує літери з різних європейських алфавітів.

    5. EBCDIC (Extended Binary Coded Decimal Interchange Code): Використовується в системах IBM. Це інший кодовий стандарт, який використовується для представлення символів.

    Ці таблиці визначають способи взаємодії між комп'ютерами та програмами при обробці текстової інформації. Unicode стає все більш загальноприйнятим, оскільки він дозволяє представляти символи з різних культур та мов у єдиному стандарті.


  19. Асинхронне програмування - це підхід до розробки програмного коду, коли виконання завдань може бути розділене на декілька незалежних від інших частин. У традиційному синхронному програмуванні виконання задач відбувається послідовно: кожна задача чекає, доки попередня завершиться, перед тим як почати своє виконання.

    Асинхронне програмування дозволяє виконувати багато завдань паралельно, зокрема в ситуаціях, коли одне завдання очікує на завершення іншого (наприклад, ввод-вивід, мережеві запити тощо). У асинхронному коді використовуються асинхронні операції та конструкції, такі як асинхронні функції, обіцянки (Promises), або ключові слова як "async" та "await".

    Цей підхід особливо корисний у випадках, коли чекати на завершення певної операції неефективно, і виконання інших задач може продовжуватися в проміжках часу, коли потрібні дані ще не готові. Асинхронне програмування використовується в багатьох сучасних мовах програмування, таких як Python, JavaScript, Java, C#, і багатьох інших.


  20. Unicode включає в себе велику кількість символів, яка постійно зростає. На момент мого останнього оновлення в січні 2022 року, Unicode 14.0 містить понад 144 тисячі знаків. Кількість символів може змінюватися через додавання нових символів та розширення стандарту.

    Необхідно зауважити, що кількість кодових точок (code points) в Unicode визначається їх номерами, а кількість байтів, необхідних для кодування конкретного символу, залежить від використовуваного кодування (наприклад, UTF-8, UTF-16, UTF-32). У зв'язку з цим, можна визначити кількість байтів, але визначення точної кількості символів може бути складнішим завданням через можливість використання комбінованих символів та інших особливостей Unicode.


  21. Обмеження при створенні статті наступні:

    • Максимальна довжина заголовка: 191 символ
    • Мінімальна довжина тексту: 100 слів
    • Максимальна кількість тегів: 7
    • В тегах забороняється використовувати спецсимволи ([]{}#%^&()=\|/"~) та emoji.

  22. У автора статті в DevZone є кілька можливостей при створенні статті:

    1. Редагування тексту: Автор може використовувати текстовий редактор для створення контенту статті. Він має доступ до різних стилів, форматування тексту, списків, посилань та інших функцій редагування тексту.

    2. Вставка мультимедіа: Автор може вставляти зображення, відео, аудіо та інші медіа-елементи у статтю.

    3. Додавання коду: Автор має можливість додавати блоки коду у своїй статті. DevZone підтримує різні мови програмування та підсвічування синтаксису для полегшення читання коду.

    4. Категорізація: Автор може вибрати категорію для своєї статті, щоб допомогти іншим користувачам знайти відповідний контент.

    5. Перегляд та редагування: Після публікації статті автор може переглянути її, а також редагувати та оновлювати зміст при необхідності.

    Щодо обмежень, деякі можливі обмеження при створенні статті в DevZone включають:

    1. Мінімальна довжина статті: Існує вимога до мінімальної кількості символів, яка може бути варіативною, але зазвичай становить близько 500-600 символів.

    2. Видалення details>summary тегів: Якщо ви використовуєте тег details>summary в своїй статті, він автоматично видаляється, навіть якщо ви працюєте в режимі HTML редактора.

    На жаль, повний список доступних або заборонених тегів для авторів не надається. Однак, ви можете скористатися наявними функціями текстового редактора в DevZone для форматування та створення своєї статті.


  23. REST (Representational State Transfer) - це архітектурний стиль для розробки мережевих застосунків, який базується на декількох ключових принципах та обмеженнях. REST був вперше представлений Рой Філдінгом у його докторській дисертації в 2000 році і став популярним підходом до створення веб-служб та API.

    Основні принципи REST включають:

    1. Ресурси (Resources): У REST всі дані вважаються ресурсами, такими як документи, зображення, користувачі тощо. Кожен ресурс має унікальний ідентифікатор (URI), який визначає його адресу в мережі.

    2. Представлення (Representation): Ресурси можуть мати різні представлення, такі як HTML, JSON, XML тощо. Клієнт може вибрати підходящий формат даних.

    3. Стан (Stateless): Кожен запит від клієнта до сервера повинен містити всю необхідну інформацію для зрозуміння та обробки запиту. Сервер не повинен зберігати інформацію про попередні запити від клієнта.

    4. Взаємодія з ресурсами за допомогою стандартних методів HTTP: REST використовує стандартні HTTP-методи, такі як GET (для отримання даних), POST (для створення нового ресурсу), PUT (для оновлення існуючого ресурсу), DELETE (для видалення ресурсу) та інші, для взаємодії з ресурсами.

    5. Безстанційність (Statelessness): Кожен запит до сервера має бути безстанційним, тобто сервер не повинен зберігати інформацію про стан клієнта між запитами. Клієнт повинен включати всю необхідну інформацію в самому запиті.

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