MYCSS

2023-12-21

Ось і закінчився модуль навчання з #GoIT #Python #WEB 15. Груповий проєкт на #FastAPI.

Ось і закінчився модуль навчання з #GoIT #Python #WEB 15.
Сьогодні, 2023.12.21, був захист курсових проєктів.
Дякую моїй команді котра складалася з 4-х розробників за нашу спільну роботу за останні два тижні.
Ось частина нашого групового проєкту на #FastAPI.

Команда:

  1. Team Lead: Sasha Danylenko - https://www.linkedin.com/in/sasha-danylenko-9a7a0b287/
  2. Scrum Master: Oleksander Borovyk - https://www.linkedin.com/in/oleksander-borovyk/
  3. Developer: Oleksii Hladkov - https://www.linkedin.com/in/oleksii-hladkov/
  4. Developer: Lex Xai🐍 - https://www.linkedin.com/in/lexxai/





2023-12-04

Нотатка: Python. Django framework. ORM "GROUP BY". SQLite.

Django SQL GROUP BY.

А Ви знали що його не має в ORM у прямому вигляді ?
SELECT x.* FROM logs x WHERE x.username = 'user1' GROUP BY x.host

DBeaver тестування

Є таблиця log доступу користувачів:

CREATE TABLE logs (
	id INTEGER PRIMARY KEY AUTOINCREMENT,
	date DATETIME,
	host VARCHAR,
	request VARCHAR,
	username VARCHAR
);

CREATE INDEX logs_host_IDX ON logs (host);
SEED LOG TABLE

Стала проста задача для SQL запиту. Для отримання унікальних записів IP адрес з яких отримував доступ певний користувач.

2023-12-03

Закінчення курсу Python Web. 14 моїх домашніх завдань.

Shcool GoIT. Course: Python Web. Homework.

https://github.com/lexxai/goit_python_web_homework

Нотатка: патч порту сервера NGINX для додавання модуля JWT AUTH. Платформа FreeBSD.

Постала задача як зробити просту автентифікацію за JWT токеном безпосередньо через NGINX сервер.

За підпискою NGINX PLUS jwt-auth є у базовому комплекті. У Community verision jwt-auth не має.

Знайшов модуль від автора nginx-auth-jwt  і вирішив додати до FreeBSD порту пакетів, щоб надалі було зручно собі оновлювати.

Результат оформив собі до репозиторію : https://github.com/lexxai/port_nginx_add_jwt_auth.

nginx hwt-auth FreeBSD port 3rd party module

Приклад використання nginx.conf:

load_module /usr/local/libexec/nginx/ngx_http_auth_jwt_module.so;

...
	location /token_protected {
		auth_jwt "closed site";
		auth_jwt_key_file .jwt_keyfile.json keyval;
		auth_jwt_validate_exp on;
		auth_jwt_validate_iat on;
		auth_jwt_validate_sig on;
		auth_jwt_validate_sub on;
		....



2023-09-22

Сертифікат : Google IT Google IT Automationwith Python - Full Course Completed

Сертифікат : Google IT Google IT Automationwith Python - Full Course Completed on Sep 20, 2023

 

Google IT Automation with Python Specialization

Google IT Automation Certificate - Credly

Google IT Automation with Python 

This six-course certificate, developed by Google, is designed to provide IT professionals with in-demand skills -- including Python, Git, and IT automation -- that can help them advance their careers. The hands-on curriculum is designed to teach learners how to write code in Python, with a special focus on how this applies to automating tasks in the world of IT support and systems administration. Those who received this certificate passed all graded assessments with a score of 80% of above. They should have a strong foundation in how to use Git and GitHub, troubleshoot and debug complex problems, and apply automation at scale by using configuration management and the Cloud in order to prepare them for more advanced IT Support Specialist or Junior Systems Administrator positions. 

2023-09-21

Сертифікат : Google IT Automation with Python Specialization - Configuration Management and the Cloud - Completed on Sep 20, 2023

Ось 5-й курс "Configuration Management and the Cloud" з 6 курсів за напрямком "Google IT Automation with Python Specialization" на платформі Coursera та за підтримки (2022-2023 UA Prometheus)  - успішно завершено - Вересень 2023.

Google IT Automation with Python Specialization - Configuration Management and the Cloud

2023-09-08

Нотатка: pyzbar, pyinstaller, poetry, python - missing lib

При використанні бібліотеки pyzbar, її компоненти не додаються до exe файлу створеного за допомогою pyinstaller.
Ось розв'язання проблеми. У мене середовище: Python 3.11.5 та poetry.
pyinstaller "../some_app/main.py" --clean --name some_app --onefile --version-file "../versionfile.txt" --add-binary "%VIRTUAL_ENV%\Lib\site-packages\pyzbar\*.dll;pyzbar"

EXE файл після цього самодостатнім є, додаткових dll додавати не треба.

Перевірено у Windows Sandbox.

За матеріалами.

2023-09-05

Нотатка: збільшення диску iscsi, TrueNAS, zfs, ubuntu

Блочний пристрій сервер Ubuntu - sda = 500G

lsblk
sda           8:0    0   500G  0 disk
└─sda1        8:1    0   500G  0 part

Збільшую том іscsi до 600G (TrueNAS).

Новий розмір тому для iscsi target

2023-08-14

Full course : Google Cybersecurity Professional Certificate. Put It to Work: Prepare for Cybersecurity Jobs - Completed on Aug 6, 2023

Ось і 8-й курс "Put It to Work: Prepare for Cybersecurity Jobs" з 8-ми курсів за напрямком Google Cybersecurity Professional Certificate на платформі Coursera та за підтримки (2022-2023 UA Prometheus)  - успішно завершено. За що отримано підсумковий сертифікат за всі 8 курсів.

Google Cybersecurity Professional Certificate

Google Cybersecurity Certificate Issued by Coursera (Credly)


Put It to Work: Prepare for Cybersecurity Jobs

Google Cybersecurity Professional Certificate - Put It to Work: Prepare for Cybersecurity Jobs

 About course

  • Determine when and how to escalate a security incident

  • Engage with the cybersecurity community

  • Find and apply for cybersecurity jobs

  • Prepare for job interviews


SKILLS YOU WILL GAIN

2023-08-11

Ось і закінчилася наша перша частина навчання в #GoIT з курсу #Python #Developer - Python Core 15

Ось і закінчилася наша перша частина навчання в #GoIT з курсу #Python #Developer - Python Core 15 (ментор Volodymyr Dunkin).
Останнім завданням було виконання командної курсової роботи.

В результаті цього, за неділю роботи, наша команда (11 - "From Zerro to Herro") з 5-ти розробників - створила у межах проєкту консольний додаток "Персональний помічник" - Assistant bot. Де мені випала посада "Team Lead".

З результатами роботи можна ознайомитися на презентації нашого навчального проєкту котрий підготувала і провела "Scrum master" команди - Маргарита.

Велика подяка команді за участь.

Відео презентації: https://www.youtube.com/watch?v=ZYg62JWlqEw
Код проєкту : https://github.com/lexxai/goit_python_core_project_team_11

 


 

2023-08-04

Закінчення курсу Python Core. 14 моїх домашніх завдань. GoIT academy

Shcool GoIT. Course: Python Core. Homework.

  1. https://github.com/lexxai/goit_python_core_hw_06

    Модуль 6. Робота з файлами. Work with files.

    #python

  2. https://github.com/lexxai/goit_python_core_hw_07

    Модуль 7. Створення та встановлення власних пакетів. Creating and installing custom packages, virtual environment.

    #python

  3. https://github.com/lexxai/goit_python_core_hw_08

    Модуль 8. Можливості деяких вбудованих пакетів Python. Work with date and time. Collections. Comprehensions.

    #python

  4. https://github.com/lexxai/goit_python_core_hw_09

    Модуль 9. Функції (декоратори, замикання). Functions. Decorators. Closure. Carrying.

    #python

  5. https://github.com/lexxai/goit_python_core_hw_10

    Модуль 10. Основи роботи з класами. OOP. Basics of working with classes.

    #python

  6. https://github.com/lexxai/goit_python_core_hw_11

    Модуль 11. Магічні методи. OOP. 'Magic' class methods.

    #python

  7. https://github.com/lexxai/goit_python_core_hw_12

    Модуль 12. Серіалізація та копіювання об'єктів. Serialization and copy objects.

    #python

 

2023-08-02

FreeBSD qemu-guest-agent 8.0.2 freeze before shapshot. Proxmox snaphsot of pgsql database instance VM.

Задача - коректно зберігати базу даних при створені знімку віртуальної машини в Proxmox.

Що є:

Proxmox VE, VM з сервером FreeBSD 13, база даних postgresql.

Виконання:

Встановлюю qemu-guest-agent.

pkg version -x qemu-guest-agent
qemu-guest-agent-8.0.2 

Налаштовую qemu-guest-agent:

/etc/rc.d

qemu_guest_agent_enable="YES"
qemu_guest_agent_flags="-d -v --fsfreeze-hook" 

Скрипт для оброки freeze-hook

scripts/qemu-guest-agent/fsfreeze-hook

#!/bin/sh

# This script is executed when a guest agent receives fsfreeze-freeze and
# fsfreeze-thaw command, if it is specified in --fsfreeze-hook (-F)
# option of qemu-ga or placed in default path (/etc/qemu/fsfreeze-hook).
# When the agent receives fsfreeze-freeze request, this script is issued with
# "freeze" argument before the filesystem is frozen. And for fsfreeze-thaw
# request, it is issued with "thaw" argument after filesystem is thawed.

LOGFILE=/var/log/qga-fsfreeze-hook.log
FSFREEZE_D=$(dirname -- "$0")/fsfreeze-hook.d

# Check whether file $1 is a backup or rpm-generated file and should be ignored
is_ignored_file() {
    case "$1" in
        *~ | *.bak | *.orig | *.rpmnew | *.rpmorig | *.rpmsave | *.sample | *.dpkg-old | *.dpkg-new | *.dpkg-tmp | *.dpkg-dist | *.dpkg-bak | *.dpkg-backup | *.dpkg-remove)
            return 0 ;;
    esac
    return 1
}

# Iterate executables in directory "fsfreeze-hook.d" with the specified args
[ ! -d "$FSFREEZE_D" ] && exit 0
for file in "$FSFREEZE_D"/* ; do
    is_ignored_file "$file" && continue
    [ -x "$file" ] || continue
    printf "$(date): execute $file $@\n" >>$LOGFILE
    "$file" "$@" >>$LOGFILE 2>&1
    STATUS=$?
    printf "$(date): $file finished with status=$STATUS\n" >>$LOGFILE
done

exit 0

/usr/local/etc/qemu/fsfreeze-hook.d/pg-flush.sh

#!/bin/sh

# Flush PGSQL tables to the disk before the filesystem is frozen.
# At the same time, this keeps a read lock in order to avoid write accesses
# from the other clients until the filesystem is thawed.

case "$1" in
    freeze)
        logger -t pg-flush "freeze pg before stop service"
        service postgresql stop
        sync
        logger -t pg-flush "freeze pg after sync"
        ;;

    thaw)
        logger -t pg-flush "thaw pg starting service"
        service postgresql start
        logger -t pg-flush "thaw pg service `service postgresql status`"
;; *) exit 1 ;; esac 
Proxmox snapshot VM
tail -f /var/log/messages
Aug  1 17:39:24 pleroma pg-flush[40320]: freeze pg before stop service
Aug  1 17:39:24 pleroma postgres[29734]: [10-1] 2023-08-01 17:39:24.116 [29734] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[29739]: [10-1] 2023-08-01 17:39:24.116 [29739] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[29736]: [10-1] 2023-08-01 17:39:24.116 [29736] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[29733]: [10-1] 2023-08-01 17:39:24.116 [29733] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[29738]: [10-1] 2023-08-01 17:39:24.116 [29738] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[29730]: [10-1] 2023-08-01 17:39:24.116 [29730] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[29735]: [10-1] 2023-08-01 17:39:24.116 [29735] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[29737]: [10-1] 2023-08-01 17:39:24.116 [29737] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[29731]: [10-1] 2023-08-01 17:39:24.116 [29731] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[16588]: [10-1] 2023-08-01 17:39:24.116 [16588] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[37548]: [10-1] 2023-08-01 17:39:24.116 [37548] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[47096]: [10-1] 2023-08-01 17:39:24.116 [47096] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[29742]: [10-1] 2023-08-01 17:39:24.116 [29742] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[47073]: [10-1] 2023-08-01 17:39:24.116 [47073] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma postgres[47076]: [10-1] 2023-08-01 17:39:24.116 [47076] FATAL:  terminating connection due to administrator command
Aug  1 17:39:24 pleroma pg-flush[40334]: freeze pg after sync
Aug  1 17:39:24 pleroma pg-flush[40343]: thaw pg starting service
Aug  1 17:39:24 pleroma pg-flush[40365]: thaw pg service pg_ctl: server is running (PID: 41234) /usr/local/bin/postgres "-D" "/var/db/postgres/data12"

Прослухав курс AWS Certified Solutions Architect - Associate (SAA-C03) Cert Prep: 2 Storage Design - LinkedIn Learning!

Прослухав курс AWS Certified Solutions Architect - Associate (SAA-C03) Cert Prep: 2 Storage Design для підготовки сертифікаційного екзамену у межах навчальної системи LinkedIn Learning! як вільний слухач - без сертифікації. (Але у 2024 р. - отримав сертифікат).
Субтитри доступні українською мовою (автоматичні).

у 2024 р. - отримав сертифікат

Storage Solutions, Amazon Web Services (AWS)

Gigabyte vs Gibibyte

2023-07-26

Microsoft Web Store (App Store) сертифікувала розширення "CST" (Переклад субтитрів у реальному часі для відео на Coursera)

Ось і Microsoft Web Store (App Store) нарешті сертифікувала 👏 розширення "CST" для браузера 📖 щоб допомагати учням вчитися на Coursera 😀 (Переклад субтитрів у реальному часі для відео на Coursera)

Microsoft Edge Web Store (365 App Strore)

https://github.com/lexxai/coursera-subtitle-translate-extension

Microsoft Edge Web Store (365 App Strore)


Google Cybersecurity Professional Certificate - Assets, Threats, and Vulnerabilities - Completed on July 26, 2023

Ось це 5-й курс "Assets, Threats, and Vulnerabilities" за напрямком Google Cybersecurity Professional Certificate на платформі Coursera та за підтримки (2022-2023 UA Prometheus)  - успішно завершено.

Google Cybersecurity Professional Certificate - Assets, Threats, and Vulnerabilities

2023-07-25

Відомі правила конфіденційності

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


Три найвпливовіші галузеві правила, про які повинен знати кожен фахівець з безпеки:

  • Загальний регламент захисту даних (GDPR)
  • Стандарт безпеки даних індустрії платіжних карток (PCI DSS)
  • Закон про звітність і безпеку медичного страхування (HIPAA)

GDPR

GDPR – це набір правил і положень, розроблених Європейським Союзом (ЄС), який надає власникам даних повний контроль над їхньою особистою інформацією. Відповідно до GDPR, типи особистої інформації включають ім'я, адресу, номер телефону, фінансову інформацію та медичну інформацію особи.

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

PCI DSS

PCI DSS – це набір стандартів безпеки, сформований великими організаціями фінансової індустрії. Це положення спрямоване на захист транзакцій з кредитними та дебетовими картками від крадіжки даних та шахрайства.

HIPAA

HIPAA – це закон США, який вимагає захисту конфіденційної інформації про здоров'я пацієнтів. HIPAA забороняє розголошення медичної інформації особи без її відома та згоди.

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

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

2023-07-24

Google Cybersecurity Professional Certificate - Tools of the Trade: Linux and SQL - Completed on July 24, 2023

Ось це 4-й курс "Tools of the Trade: Linux and SQL" за напрямком Google Cybersecurity Professional Certificate на платформі Coursera та за підтримки (2022-2023 UA Prometheus)  - успішно завершено.

Google Cybersecurity Professional Certificate - Tools of the Trade: Linux and SQL
 

Розширення для браузера CSA version 2.1.0 - інтегровано модуль автоматичного перекладу субтитрів CST для відео з англійської мови

Сьогодні вночі, лінь таки виграла.🐌😀


Проходячи курси на Coursera 🇬🇧 англійською, я зберігаю відео з субтитрами за допомогою розширення для браузера CSA. А субтитри перекладаю 🇺🇦 за допомогою розширення для браузера CSТ.

Ось ліньки стало 🖱️ 'клікати' 🤪 зайвий раз на панелі розширень, і інтегрував модуль перекладу до розширення CSA.

Тепер як тільки сторінка оновлюються і на ній є відео 📽️, субтитри перекладаються автоматично у розширенні CSA починаючи з версії v.2.1.0.

P.S. 🎓 сертифікат "Linux, SQL" вночі (або вже під самий ранок) теж отримав :)

з'ясував що chrome.runtime повідомлення "не прийняти" у межах одної content сторінки. Прийшлося посилати через посередника 'background' і chrome.tabs

розширення для браузера CSA v.2.1.0

розширення для браузера CSA v.2.1.0


Google Cybersecurity Professional Certificate - Connect and Protect: Networks and Network Security - Completed on July 23, 2023

Ось це 3-й курс "Connect and Protect: Networks and Network Security" за напрямком Google Cybersecurity Professional Certificate на платформі Coursera та за підтримки (2022-2023 UA Prometheus)  - успішно завершено.

Google Cybersecurity Professional Certificate - Connect and Protect: Networks and Network Security

2023-07-10

Завершив курс Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning (DeepLearning.AI TensorFlow Developer)

Нова програма навчання від GwG UA з вивчення курсів DeepLearning.AI TensorFlow Developer на платформі Coursera. З циклу ML Bootcamp від Google.

TensorFlow Developer Professional Certificate
Безкоштовний 2-х місячний доступ для 2000 учасників до TensorFlow Developer Professional Certificate на Coursera, що складається з 4 курсів.
Доступ надаватиметься за умови реєстрації на цьому сайті, детальніше про умови на сторінці "Деталі програми"
Курси цього сертифікату є провідниками у світ машинного навчання для того, щоб отримати практичні навички за допомогою TensorFlow.


2023-07-07

Історія створеної локальної мережі до того як офіс розбомбили...

Мережа

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

T2600G-28TS (TL-SG3424).

Брав ще за 5000 грн.

Google Cloud: DevOps Engineer, SRE Learning Path

Так як час вичерпано на навчання, занотую що мало бути за програмою навчання DevOps Engineer, SRE Learning Path

A DevOps Engineer is responsible for defining and implementing best practices for efficient and reliable software delivery and infrastructure management. 

Reliable Google Cloud Infrastructure: Design and Process COMPLETION BADGE

Нарешті знайшов час і завершив цей курс DevOps SRE що дався мені легко і близько до душі. 

І по закінченню отримав цей Reliable Google Cloud Infrastructure: Design and Process COMPLETION BADGE.

Reliable Google Cloud Infrastructure: Design and Process Jul 6, 2023

Reliable Google Cloud Infrastructure: Design and Process

This course equips students to build highly reliable and efficient solutions on Google Cloud using proven design patterns. It is a continuation of the Architecting with Google Compute Engine or Architecting with Google Kubernetes Engine courses and assumes hands-on experience with the technologies covered in either of those courses. Through a combination of presentations, design activities, and hands-on labs, participants learn to define and balance business and technical requirements to design Google Cloud deployments that are highly reliable, highly available, secure, and cost-effective. 

Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready