creator cover LLIaMMaH
LLIaMMaH

LLIaMMaH 

Изредко стримлю игры

377subscribers

111posts

About

Добрый день, путник.
Спасибо, что нашел немного времени и заскочил. На данном ресурсе можно оформить подписку и тем самым поддержать меня и проекты, которыми я занимаюсь.
Для игры на серверах Minecraft необходимо наличие лицензии. На данный момент всегда доступны два сервера:
1) Minecraft Vanilla 1.20.2
2) Minecraft Gregtech New Horizons (GTNH)
Сервер ARK: Survival Evolved временно остановлен, так как одному играть скучно. Если будут желающие, то сервер будет запущен снова.
Если у тебя есть желание поддержать проект, то выбери подписку, которая тебя устроит и подпишись. В любое время ты сможешь отписаться.
Так же, я решил выложить несколько скриптов для RutonyChat. Буду рад, если вам они понравились и вы их используете.
Для тех, кто изучает язык программирования Python найдётся немного выложенных скриптов по данному языку.
PS: Блог был восстановлен, но к сожалению переехал на новое доменное имя. Ссылки исправил где увидел. Если у вас попалась ссылка, которая ведёт на старое доменное имя (https://notes.lliammah.space) то просьба сообщить мне, чтобы я исправил её. Новый адрес блога: https://notes.jdi.su

Lazydocker: Революция в управлении Docker! Полный гайд от установки до про-использования

Что такое Lazydocker?
Lazydocker — это терминальная утилита с текстовым пользовательским интерфейсом (TUI) для управления Docker-контейнерами, образами, томами и сетями. Она предоставляет простой и интуитивно понятный интерфейс для выполнения повседневных операций с Docker без необходимости запоминать сложные команды.

Преимущества Lazydocker:

  • Визуальный интерфейс для всех Docker-объектов
  • Быстрый доступ к логам и статистике
  • Упрощенное выполнение сложных команд
  • Интерактивный мониторинг в реальном времени
  • Кроссплатформенность
---
Полную версию статьи можно прочитать на https://notes.jdi.su

Как я восстановил папку после `rm -rf app/` с помощью Docker и Git

Катастрофа с `rm -rf`
Работая над проектом, я случайно выполнил команду `rm -rf app/` и удалил папку с исходным кодом. Паника наступила мгновенно: проект ещё не был отправлен в удалённый репозиторий, и я испугался, что потерял все последние изменения файлов. К счастью, у меня были два спасительных варианта: ранее собранный Docker-контейнер и локальные Git-коммиты. В этой статье я расскажу, как я восстановил папку `app/` сначала из контейнера, а затем из Git для сверки, и поделюсь командами, которые помогли мне. Если вы попали в похожую ситуацию, это руководство для вас!
Шаг 1: Осознание проблемы
После выполнения `rm -rf app/` я понял, что папка с кодом моего Telegram-бота исчезла и локальные файлы пропали. PyCharm в локальной истории показал, что папки была удалена, но к сожалению он такое откатить не может. Значит нужно вытаскивать файлы от туда, где они были до момента удаления, а это:
- Docker-контейнер, который я недавно собирал и запускал с помощью `make local-build`. К счастью, я не успел выполнить очистку (`make clean`), так что контейнер и образ были на месте.
- Локальный Git-репозиторий с несколькими коммитами, где папка `app/` ещё существовала.
Я решил попробовать оба способа восстановления, чтобы вернуть файлы и убедиться в их целостности.
Прочитать статью полностью можно на моём блоге.

Проверка переменной на None в Python

Одной из общих задач при написании кода на Python является проверка того, является ли значение переменной `None` или нет. В `Python` есть несколько способов сделать это, но некоторые из них являются более предпочтительными по сравнению с другими.
Рассмотрим три самых распространенных способа проверки значения на `None`:
Представьте, что у вас есть коробка, и вы хотите проверить, пуста ли она или нет.
Вариант 1: if val != None:
Аналогия: Вы открываете коробку и смотрите, пуста ли она. Если внутри что-то есть, вы говорите: "Коробка не пустая".
```python
val = None
if val != None:
    print("Коробка не пустая")
else:
    print("Коробка пустая")
```
Объяснение: Здесь вы просто проверяете, не равно ли содержимое коробки (переменная val) значению None.
Вариант 2: if not (val is None):
Аналогия: Вы открываете коробку и говорите: "Если внутри нет ничего, то коробка не пустая".
```python
val = None
if not (val is None):
    print("Коробка не пустая")
else:

Почему обучение сегодня доступно как никогда, но важно оставаться бдительным

Современный мир предоставляет уникальные возможности для обучения. Благодаря развитию технологий и появлению множества онлайн-ресурсов, каждый человек может освоить новые навыки или углубить уже имеющиеся знания, не выходя из дома. Это особенно ценно в условиях ограниченного времени и загруженного графика. Онлайн-обучение позволяет экономить часы на дорогу до места учебы и обратно, делая процесс максимально комфортным и эффективным.
Однако, как и во всем, здесь есть свои подводные камни. С ростом популярности онлайн-образования появилось множество недобросовестных платформ, которые используют обманные методы для привлечения клиентов. Одной из самых распространенных схем является оформление кредитов на обучение без полного информирования клиента о его обязательствах. В результате люди могут оказаться в долговой яме, даже не начав обучение.
Чтобы избежать таких ситуаций, важно быть внимательным при выборе образовательного ресурса. Первое, что стоит сделать, — это поискать отзывы о платформе. Обращайте внимание на дату публикации отзыва: чем он свежее, тем лучше. Однако помните, что некоторые компании заказывают фальшивые отзывы за деньги. Чтобы распознать такие комментарии, сравните их тексты. Если вы заметили повторяющиеся фразы или шаблонные формулировки, это повод задуматься о достоверности информации.
Также рекомендуется изучить несколько независимых источников. Например, портал https://edtechs.ru/prof/ предоставляет полезную информацию о современных образовательных трендах и проверенных платформах. Здесь можно найти обзоры курсов, советы по выбору направления и другие материалы, которые помогут принять взвешенное решение.
Главный совет — не торопитесь. Прежде чем оформлять кредит или подписывать договор, тщательно изучите условия обучения, стоимость и программу курса. Помните, что качественное образование требует времени и усилий, а мошенники часто играют на желании получить быстрый результат. Будьте терпеливы и критичны в своем выборе.
Обучение — это инвестиция в себя, которая может значительно улучшить качество вашей жизни. Но чтобы эта инвестиция оказалась успешной, важно выбирать надежные и проверенные ресурсы. Оставайтесь бдительными, изучайте информацию и принимайте решения осознанно. Тогда обучение станет не только полезным, но и безопасным шагом на пути к вашим целям.

Модуль 2. Домашняя работа по уроку "Цикл for. Элементы списка. Полезные функции в цикле"

Цель: закрепить навык решения задач при помощи цикла for, применив знания об основных типах данных.
Задача "Всё не так уж просто":
Дан список чисел numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
Используя этот список составьте второй список primes содержащий только простые числа.
А так же третий список not_primes, содержащий все не простые числа.
Выведите списки primes и not_primes на экран(в консоль).
Пункты задачи:
- Создайте пустые списки primes и not_primes.
- При помощи цикла for переберите список numbers.
- Напишите ещё один цикл for (вложенный), где будут подбираться делители для числа из 1ого цикла.
- Отметить простоту числа можно переменной is_prime, записав в неё занчение True перед проверкой.
- В процессе проверки на простоту записывайте числа из списка numbers в списки primes и not_primes в зависимости от значения переменной is_prime после проверки (True - в prime, False - в not_prime).
- Выведите списки primes и not_primes на экран(в консоль).
Пример результата выполнения программы:
Исходный код:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
Вывод на консоль:
Primes: [2, 3, 5, 7, 11, 13]

Модуль 2. Домашняя работа по уроку "Стиль кода часть II. Цикл While"

Цель: применить навыки создания цикла while, а так же применения операторов break и continue.
Задача "Нули ничто, отрицание недопустимо!":
Дан список чисел [42, 69, 322, 13, 0, 99, -5, 9, 8, 7, -6, 5]
Нужно выписывать из этого списка только положительные числа до тех пор, пока не встретите отрицательное или не закончится список (выход за границу).
Пункты задачи:
- Запишите исходный список в переменную my_list.
- Напишите цикл while с соответствующими задаче условиями.
- Используйте операторы прерывания/продолжения цикла в соответствии с условиями задачи.
Результат выполнения программы:
Исходные данные:
my_list = [42, 69, 322, 13, 0, 99, -5, 9, 8, 7, -6, 5]
Вывод на консоль:
42
69
322
13
99
Примечания:
Чтобы перебрать список вам понадобиться обращение по индексу, запишите в отдельную переменную начальное значение - 0.
Чтобы не выйти за границу списка, в условии цикла while рекомендуется сравнивать текущий индекс и длину списка (функция len()).

Модуль 2. Домашняя работа по уроку "Условная конструкция. Операторы if, elif, else"

Цель: Применить навыки создания условных конструкций и знания операторов if, else, elif / and, or, not.
Задача "Все ли равны?":
На вход программе подаются 3 целых числа и записываются в переменные _first, second_ и _third_ соответственно.
Ваша задача написать условную конструкцию (из if, elif, else), которая выводит кол-во одинаковых чисел среди 3-х введённых.
Пункты задачи:
1. Если все числа равны между собой, то вывести 3
2. Если хотя бы 2 из 3 введённых чисел равны между собой, то вывести 2
3. Если равных чисел среди 3-х вообще нет, то вывести 0
Пример результата выполнения программы:
Ввод в консоль 1:
123
456
789
Вывод на консоль 1:
0
Ввод в консоль 2:
42
69
42

Модуль 2. Самостоятельная работа по уроку "Цели и задачи. Поток выполнения программы"

Самостоятельная работа по уроку "Цели и задачи. Поток выполнения программы. Как интерпретатор показывает переменные."
1. Создайте новый проект
2. В файл main.py добавьте следующий код
print('Hi, PyCharm')
x = 43
y = 32
print(x * y)
print("End line")
Согласно скриншоту нажмите на самую первую строчку в коде на нумерации строк, чтобы поставить точку остановки (breakpoint)
Ваша задача:
1. Запустите проект нажав на иконку дебага справа от запуска проекта "жучок"
2. В консоли посмотрите на результат программы
3. Используйте Step Over (см. скриншот) для перехода к следующему шагу выполнения программы
4. Посмотрите на консоль и на ход выполнения программы

Модуль 1. Дополнительное практическое задание по модулю

Цель: Применить знания полученные в модуле, решив задачу повышенного уровня сложности
Предисловие:
Сложность подобных задач заключается в:
1. Отсутствии чёткого алгоритма решения. Его вы должны придумать сами на основе полученных ранее знаний (синтаксиса и инструментов).
2. Объединении большинства тем изученного модуля.
3. Предполагаемом большом объёме решения.
Задание "Средний балл":
Вам необходимо решить задачу из реальной жизни: "школьные учителя устали подсчитывать вручную **средний балл каждого ученика**, поэтому вам предстоит автоматизировать этот процесс":
На вход даны следующие данные:
1. Список: grades = [[5, 3, 3, 5, 4], [2, 2, 2, 3], [4, 5, 5, 2], [4, 4, 3], [5, 5, 5, 4, 5]]
2. Множество: students = {'Johnny', 'Bilbo', 'Steve', 'Khendrik', 'Aaron'}
1. Список _grades_ содержит списки оценок для каждого ученика в алфавитном порядке.
Например: 'Aaron' - [5, 3, 3, 5, 4]
1. Множество _students_ содержит неупорядоченную последовательность имён всех учеников в классе.
Напишите программу, которая составляет словарь, используя grades и students, где ключом будет имя ученика, а значением - его средний балл.
Вывод в консоль:
{'Aaron': 4.0, 'Bilbo': 2.25, 'Johhny': 4.0, 'Khendrik': 3.6666666666666665, 'Steve': 4.8}

Модуль 1. Практическое задание по теме "Словари и множества"

Цель: Написать программу на языке Python, используя Pycharm, для работы со словарями и множествами.
1. В проекте, где вы решаете домашние задания, создайте модуль 'module_1_6.py' и напишите весь код в нём.
2. Работа со словарями:
  - Создайте переменную `my_dict` и присвойте ей словарь из нескольких пар ключ-значение.
Например: Имя (`str`) - Год рождения (`int`).
  - Выведите на экран словарь `my_dict`.
  - Выведите на экран одно значение по существующему ключу, одно по отсутствующему из словаря `my_dict` без ошибки.
  - Добавьте ещё две произвольные пары того же формата в словарь `my_dict`.
 - Удалите одну из пар в словаре по существующему ключу из словаря `my_dict` и выведите значение из этой пары на экран.
  - Выведите на экран словарь `my_dict`.
3. Работа с множествами:
  - Создайте переменную `my_set` и присвойте ей множество, состоящее из разных типов данных с повторяющимися значениями.
  - Выведите на экран множество `my_set` (должны отобразиться только уникальные значения).
  - Добавьте 2 произвольных элемента в множество `my_set`, которых ещё нет.
  - Удалите один любой элемент из множества `my_set`.
  - Выведите на экран измененное множество `my_set`.
**Примечания:**
- Для вывода значений на экран используйте функцию print().
- Помните, что словарь и множество - неупорядоченные коллекции.
Subscription levels8

Подписка B1

$1.36 per month
Данная подписка даёт доступ для игры на сервере (при наличии лицензионного аккаунта Minecraft) и немного расширенные права в игре. Так же как и остальные подписки копит средства на новое железо для сервера.
+ chat

Подписка B2

$2.71 per month
Более расширенные права на серверах Minecraft. Доступ ко всем постам по Python.
+ chat

Подписка B3

$4.1 per month
Более расширенные права на серверах Minecraft. Доступ ко всем постам по Python.
+ chat

Подписка B4

$5.5 per month
Более расширенные права на серверах Minecraft. Доступ ко всем постам по Python.
+ chat

Подписка B5

$6.8 per month
Более расширенные права на серверах Minecraft. Доступ ко всем постам по Python.
+ chat

Подписка B6

$10.2 per month
Все привилегии прошлых подписок. Отдельная благодарность. Добавление информации о спонсоре на стримах, в вики проектов и прочих местах где допускается такая информация.
+ chat

Подписка B7

$13.6 per month
Все привилегии прошлых подписок. Отдельная благодарность. Добавление информации о спонсоре на стримах, в вики проектов и прочих местах где допускается такая информация.
+ chat

Подписка B8

$27.1 per month
Все привилегии прошлых подписок. Отдельная благодарность. Добавление информации о спонсоре на стримах, в вики проектов и прочих местах где допускается такая информация.
+ chat
Go up