Программистика
Canal cerrado
Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager
Mostrar más5 598
Suscriptores
-224 horas
+87 días
-8530 días
Archivo de publicaciones
5 598
💻 Вопрос из собеседования: Как выполняется обработка исключений в Python?
Для обработки исключений Python предоставляет конструкцию из трех слов:
try, except и finally.
Синтаксис выглядит примерно так:
try:
# попробовать сделать это
except:
# если блок try не сработал, попробовать это
finally:
# всегда делать это
Ниже упрощенный пример такой конструкции. Здесь блок try терпит неудачу, поскольку мы не можем складывать целые числа со строками. Блок except устанавливает val = 10, а затем блок finally выводит complete:
try:
val = 1 + 'A'
except:
val = 10
finally:
print('complete')
print(val)
#=> complete
#=> 10
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥@programistica // #jobs
5 598
🖼️ Библиотека Python: SpaCy
SpaCy — это мощная библиотека для обработки естественного языка (NLP) на Python, разработанная для быстрого и эффективного анализа текста. Она предоставляет инструменты для токенизации, лемматизации, распознавания именованных сущностей, синтаксического анализа и многих других задач, что делает её идеальной для разработки приложений, связанных с обработкой текстов.
⚙️ Пример использования
import spacy
# Загружаем английскую модель
nlp = spacy.load("en_core_web_sm")
# Пример текста
text = "Apple is looking at buying U.K. startup for $1 billion."
# Обработка текста
doc = nlp(text)
# Токенизация
print("Tokens:")
for token in doc:
print(f"{token.text} (lemma: {token.lemma_}, pos: {token.pos_}, tag: {token.tag_})")
# Распознавание именованных сущностей (NER)
print("\nNamed Entities:")
for ent in doc.ents:
print(f"{ent.text} ({ent.label_})")
# Синтаксический анализ
print("\nDependency Parsing:")
for token in doc:
print(f"{token.text} --> {token.dep_} --> {token.head.text}")
# Часть речи (POS) и лемматизация
print("\nPOS and Lemmatization:")
for token in doc:
print(f"{token.text} - POS: {token.pos_}, Lemma: {token.lemma_}")
# Распознавание предложений
print("\nSentences:")
for sent in doc.sents:
print(sent.text)
Этот код выполняет следующие задачи:
⏺Загружает английскую модель SpaCy.
⏺Обрабатывает пример текста.
⏺Выполняет токенизацию и выводит токены с их леммами, частями речи и тегами.
⏺Распознает именованные сущности (NER) и выводит их.
⏺Выполняет синтаксический анализ и выводит зависимости между словами.
⏺Выводит части речи и леммы для каждого токена.
⏺Разбивает текст на предложения и выводит их.
✔️ Установка
pip install spacy
python -m spacy download en_core_web_sm
⛓ Ссылка на документацию
@programistica // #Library5 598
PyPI
PyPI (Python Package Index) — это официальный репозиторий программного обеспечения для языка программирования Python. Он позволяет разработчикам публиковать свои пакеты, а пользователям — легко устанавливать и управлять этими пакетами.
Основные функции PyPI
⏺Публикация пакетов: Разработчики могут загружать свои пакеты на PyPI, делая их доступными для сообщества.
⏺Установка пакетов: Пользователи могут легко устанавливать пакеты из PyPI с помощью инструмента pip.
⏺Управление зависимостями: PyPI и pip помогают управлять зависимостями между различными пакетами.
Установка пакетов с PyPI
pip install имя_пакета
Установка конкретной версии пакета
pip install имя_пакета==версия
Обновление пакета
pip install --upgrade имя_пакета
Удаление пакета
pip uninstall имя_пакета
Публикация пакета на PyPI
Чтобы опубликовать свой пакет на PyPI, нужно выполнить несколько шагов:
⏺Создание структуры пакета: Убедитесь, что ваш проект имеет правильную структуру.
⏺Создание файла setup.py: Этот файл содержит метаданные о вашем пакете.
⏺Сборка пакета: Создание дистрибутивов вашего пакета.
⏺Загрузка на PyPI: Публикация пакета на PyPI.
Пример файла setup.py
from setuptools import setup, find_packages
setup(
name="my_package",
version="0.1.0",
author="Ваше Имя",
author_email="your.email@example.com",
description="Краткое описание вашего пакета",
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
url="https://github.com/ваш_репозиторий",
packages=find_packages(),
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
python_requires='>=3.6',
)
Сборка и публикация пакета
👀Установка необходимых инструментов:
pip install setuptools wheel twine
👀Сборка пакета:
python setup.py sdist bdist_wheel
👀Загрузка на PyPI:
twine upload dist/*
Вас попросят ввести учетные данные для PyPI. После этого ваш пакет будет доступен для установки через pip.
PyPI — это важный инструмент для разработчиков и пользователей Python, который значительно упрощает процесс распространения и использования программного обеспечения. Благодаря PyPI и pip, установка и управление пакетами становятся быстрыми и удобными.
@programistica // #article5 598
👀 Книга: FastAPI веб-разработка
⏺Современная Всемирная паутина
⏺Обзор FastAPI
⏺Создание веб-сайта
⏺Асинхронность, конкурентность и обзор библиотеки Starlette
⏺Pydantic, подсказки типов и обзор моделей
И многое другое
@programistica // #doc
5 598
💻 Первый программист
Ада Лавлейс, полное имя Августа Ада Кинг, графиня Лавлейс (1815–1852), была английской математиком и писательницей, которая вошла в историю как первый в мире программист. Она была дочерью поэта лорда Байрона и Анны Изабеллы Милбэнк. Несмотря на поэтическое наследие, Ада проявила большой интерес к математике и науке, что было необычно для женщины того времени.
Ее вклад в программирование связан с работой над аналитической машиной Чарльза Бэббиджа. Аналитическая машина представляла собой проект механического компьютера, который, если бы был построен, мог бы выполнять любые вычисления, заданные пользователем. В 1842–1843 годах Ада перевела на английский язык статью итальянского математика Луиджи Менабреа о машине Бэббиджа. Однако она не просто перевела статью, но и добавила к ней свои собственные комментарии и заметки, которые в три раза превышали объем оригинального текста.
В этих заметках (известных как "Notes") Ада описала алгоритм для вычисления чисел Бернулли с помощью аналитической машины. Этот алгоритм считается первой в мире программой для компьютера. Она также предвидела, что машины могут использоваться не только для вычислений, но и для создания музыки, графики и других форм искусства, что делает ее видение компьютеров удивительно современным.
Лавлейс также ввела понятие "петли" и "ветвления" в программировании, что является основой для современных алгоритмов. Она понимала, что машина может манипулировать символами и выполнять сложные задачи, если ей дать правильные инструкции.
Хотя аналитическая машина Бэббиджа так и не была построена при жизни ни его, ни Ады Лавлейс, ее работы заложили фундамент для будущего развития компьютерных наук. В 1980 году Министерство обороны США назвало новый язык программирования "Ada" в ее честь, признавая ее вклад в развитие этой области.
Таким образом, Ада Лавлейс не только стала первым программистом, но и предсказала многие аспекты использования компьютеров, которые стали реальностью только в XX и XXI веках.
@programistica // #article
5 598
Декораторы в python
Декораторы — это мощный инструмент, который позволяет модифицировать поведение функций или методов без изменения их исходного кода. Декораторы часто используются для логирования, контроля доступа, измерения времени выполнения и других задач.
Основы декораторов
Декоратор — это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию, которая обычно расширяет поведение оригинальной функции.
Пример простого декоратора
Рассмотрим простой пример декоратора, который будет выводить сообщение перед и после вызова функции:
def my_decorator(func):
def wrapper():
print("Что-то происходит до вызова функции.")
func()
print("Что-то происходит после вызова функции.")
return wrapper
@my_decorator
def say_hello():
print("Привет!")
say_hello()
Описание кода:
⏺Декоратор my_decorator: Эта функция принимает другую функцию func и возвращает новую функцию wrapper.
⏺Функция wrapper: Внутри этой функции мы добавляем дополнительное поведение перед и после вызова func.
⏺Использование декоратора: С помощью синтаксиса @my_decorator мы применяем декоратор к функции say_hello.
⏺Вызов say_hello: Когда мы вызываем say_hello, фактически выполняется функция wrapper.
Пример декоратора с аргументами функции
Декораторы могут работать и с функциями, которые принимают аргументы:
def my_decorator(func):
def wrapper(*args, **kwargs):
print("Что-то происходит до вызова функции.")
result = func(*args, **kwargs)
print("Что-то происходит после вызова функции.")
return result
return wrapper
@my_decorator
def greet(name):
print(f"Привет, {name}!")
greet("Анна")
Описание кода:
⏺Функция wrapper: Используем *args и **kwargs для передачи всех аргументов и ключевых словарных аргументов в func.
⏺Возврат результата: Если функция func возвращает значение, мы возвращаем его из wrapper.
Пример использования декораторов для логирования
Рассмотрим пример декоратора, который будет логировать вызовы функций:
import time
def log_decorator(func):
def wrapper(*args, **kwargs):
print(f"Вызов функции {func.__name__} с аргументами {args} и {kwargs}")
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"Функция {func.__name__} выполнена за {end_time - start_time:.4f} секунд")
return result
return wrapper
@log_decorator
def add(a, b):
return a + b
@log_decorator
def multiply(a, b):
return a * b
print(add(3, 5))
print(multiply(4, 6))
Описание кода:
⏺Декоратор log_decorator: Логирует вызовы функций и измеряет время их выполнения.
⏺Функции add и multiply: Применяем декоратор к этим функциям для получения логов и времени выполнения.
Декораторы — это мощный механизм, который позволяет изменять поведение функций и методов гибким и удобным способом. Они широко используются в различных библиотеках и фреймворках Python для решения множества задач, таких как логирование, контроль доступа, кеширование и многое другое.
@programistica // #article5 598
Прокачайте навыки в Python-разработке на бесплатном практическом мини-курсе! Минимум скучной теории — больше мощной практики на реальных задачах разработчиков. После прохождения добавите 4 проекта в портфолио!
Записаться и узнать подробную программу: https://epic.st/ivCAlv?erid=2Vtzqwb99VT
Кому подойдёт курс:
— Тем, кто хочет карьерных перемен
— Тем, кто уже знает основы Python
— Тем, кто хочет попасть в IT, но сомневается
В финале мини-курса вас ждёт прямой эфир с экспертом Анастасией Борневой — руководителем направления по исследованию данных в «Сбере». В прямом эфире она поделится профессиональными секретами, разберёт ваши работы и ответит на вопросы.
Вас ждут крутые подарки: чек-листы, гайды и другие бонусы. Эти материалы пригодятся в работе и помогут больше узнать о профессии.
Откройте новые возможности!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
5 598
💻 Вопрос из собеседования: Приведите пример генератора словарей (dict comprehension)
Ниже мы создадим словарь с буквами алфавита в качестве ключей и индексами в качестве значений:
# создаем список букв
import string
list(string.ascii_lowercase)
alphabet = list(string.ascii_lowercase)
# генерация словаря
d = {val:idx for idx,val in enumerate(alphabet)}
d
#=> {'a': 0,
#=> 'b': 1,
#=> 'c': 2,
#=> ...
#=> 'x': 23,
#=> 'y': 24,
#=> 'z': 25}
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥@programistica // #jobs
5 598
Не умеешь писать чистый, безопасный и надежный код?
Научим. Читай по 10 минут в день и на любом собеседовании тебя оторвут с руками:
Арсенал Безопасника - инструменты и техники отладки, которые используют профессионалы по безопасности. Научись быстро выявлять и устранять ошибки, уязвимости, утечки данных.
Git Разработчика - лучшие практики организации кода и паттерны проектирования. Умение писать чистый код — повод просить прибавку к зарплате.
5 598
🛡Хакатоны и их роль в развитии технологий: Как они проходят и какие проекты рождаются
Хакатоны стали неотъемлемой частью технологической культуры и инновационного процесса. Эти мероприятия, которые объединяют программистов, дизайнеров и других специалистов, способствуют быстрому созданию новых проектов и решений. В этой статье мы рассмотрим, что такое хакатоны, как они проходят и какие значимые проекты были созданы благодаря этим мероприятиям.
Что такое хакатон?
Хакатон (от слов "hack" и "marathon") — это интенсивное мероприятие, обычно длительностью от 24 до 72 часов, на котором участники работают в командах над созданием прототипов программных или аппаратных решений. Цель хакатона — быстро разработать инновационные проекты, которые могут быть полезны в различных областях, от бизнеса до социальных инициатив.
Как проходят хакатоны?
👀Подготовка
⏺Объявление и регистрация: Организаторы хакатона объявляют тему мероприятия, сроки и условия участия. Участники регистрируются индивидуально или командами.
⏺Формирование команд: На некоторых хакатонах команды формируются заранее, а на других — непосредственно перед началом мероприятия. Иногда организаторы помогают участникам найти команду, проводя специальные сессии знакомств.
👀Начало мероприятия
⏺Открытие и презентация: Хакатон начинается с открытия, на котором организаторы рассказывают о правилах, расписании и ресурсах, доступных участникам. Иногда выступают спикеры, которые делятся своим опытом и вдохновляют участников.
⏺Идеи и брейншторминг: Команды начинают обсуждать идеи и выбирать, над чем они будут работать. Этот этап включает в себя брейншторминг и предварительное планирование проекта.
👀Разработка
⏺Кодирование и проектирование: Основная часть хакатона посвящена разработке. Участники пишут код, создают дизайн, тестируют и интегрируют свои решения. Важно эффективно распределить задачи внутри команды.
⏺Менторство и поддержка: На многих хакатонах присутствуют менторы — опытные специалисты, которые помогают участникам советами и технической поддержкой.
👀Завершение
⏺Презентация проектов: В конце хакатона команды представляют свои проекты жюри и другим участникам. Это может быть демонстрация приложения, рассказ о решении проблемы или показ прототипа.
⏺Оценка и награждение: Жюри оценивает проекты по различным критериям, таким как инновационность, техническая сложность и потенциальное влияние. Лучшие проекты получают призы и признание.
Роль хакатонов в развитии технологий
👀Инновации и прототипы
Хакатоны способствуют быстрому созданию инновационных решений. Участники работают в условиях ограниченного времени, что стимулирует их к креативному мышлению и эффективной работе. Многие успешные стартапы и продукты начинались как проекты на хакатонах.
👀Сотрудничество и обучение
Хакатоны предоставляют уникальную возможность для сотрудничества между людьми с разными навыками и опытом. Участники учатся работать в команде, обмениваться знаниями и решать проблемы совместными усилиями. Это также отличная возможность для профессионального роста и сетевого взаимодействия.
👀Влияние на бизнес и общество
Многие хакатоны ориентированы на решение реальных проблем, будь то улучшение бизнес-процессов или разработка социальных инициатив. Проекты, созданные на хакатонах, могут иметь значительное влияние на различные отрасли и общество в целом.
👀Примеры успешных проектов
⏺GroupMe: Приложение для группового обмена сообщениями, созданное на хакатоне TechCrunch Disrupt в 2010 году. Впоследствии было приобретено компанией Skype.
⏺EasyTaxi: Приложение для вызова такси, разработанное на хакатоне в Бразилии. Сегодня это одно из крупнейших приложений для вызова такси в Латинской Америке.
⏺Pebble: Умные часы, которые начали свой путь на хакатонах и получили огромный успех на платформе Kickstarter.
Хакатоны играют важную роль в развитии технологий, предоставляя платформу для инноваций, сотрудничества и быстрого прототипирования. Эти мероприятия не только способствуют созданию новых продуктов и решений, но и помогают участникам развивать свои навыки.
@programistica // #article5 598
Хеш-таблицы в python
Хеш-таблицы — это структуры данных, которые позволяют эффективно хранить и извлекать данные с использованием хеш-функций. В Python хеш-таблицы реализованы с помощью встроенного типа данных dict (словарь).
Основные концепции хеш-таблиц
👀
Хеш-функция: Преобразует ключ в индекс массива, где будет храниться значение.
👀Коллизии: Ситуации, когда два разных ключа имеют одинаковый хеш. Разрешаются с помощью различных методов, таких как цепочки (chaining) или открытая адресация (open addressing).
Словари в Python
Словарь — это неупорядоченная коллекция пар "ключ-значение", где каждый ключ уникален. Словари обеспечивают быстрый доступ к значениям по ключам благодаря использованию хеш-таблицы.
Примеры использования словарей
👀Создание и инициализация словаря
# Создание пустого словаря
my_dict = {}
# Создание словаря с начальными значениями
my_dict = {
"ключ1": "значение1",
"ключ2": "значение2",
"ключ3": "значение3"
}
👀Добавление и обновление элементов
my_dict["ключ4"] = "значение4" # Добавление нового элемента
my_dict["ключ2"] = "новое значение2" # Обновление значения существующего ключа
👀Доступ к элементам
value = my_dict["ключ1"] # Получение значения по ключу
# Использование метода get для безопасного доступа
value = my_dict.get("ключ5", "значение по умолчанию") # Возвращает "значение по умолчанию", если ключ не найден
👀Удаление элементов
del my_dict["ключ3"] # Удаление элемента по ключу
value = my_dict.pop("ключ4", "значение по умолчанию") # Удаление и возврат значения по ключу
👀Проверка наличия ключа
if "ключ1" in my_dict:
print("ключ1 присутствует в словаре")
👀Итерация по словарю
# Итерация по ключам
for key in my_dict:
print(key, my_dict[key])
# Итерация по значениям
for value in my_dict.values():
print(value)
# Итерация по парам ключ-значение
for key, value in my_dict.items():
print(key, value)
👀Пример использования словаря
Рассмотрим пример, в котором мы используем словарь для подсчета количества вхождений каждого слова в тексте:
def word_count(text):
words = text.split()
counts = {}
for word in words:
word = word.lower() # Приводим слово к нижнему регистру для учета разных регистров
if word in counts:
counts[word] += 1
else:
counts[word] = 1
return counts
text = "Python is great and Python is fun"
result = word_count(text)
for word, count in result.items():
print(f"Слово '{word}' встречается {count} раз(а)")
Описание кода:
⏺Функция word_count: Принимает текст, разбивает его на слова и использует словарь для подсчета количества вхождений каждого слова.
⏺Нормализация слов: Приводим слова к нижнему регистру для учета разных регистров.
⏺Подсчет слов: Используем словарь counts для хранения количества вхождений каждого слова.
⏺Вывод результата: Итерируем по словарю и выводим количество вхождений каждого слова.
Словари — это мощный и гибкий инструмент для работы с данными. Они обеспечивают быстрый доступ к значениям по ключам, благодаря использованию хеш-таблиц, и широко используются в различных задачах программирования.
@programistica // #article5 598
👀 Книга: Python. Создаем программы и игры
⏺Знакомство с python
⏺Установка и начало работы
⏺Среда IDLE
⏺Переменные и типы данных
⏺Основные операторы
И многое другое
@programistica // #doc
5 598
💻 Вопрос из собеседования: Преобразуйте следующий цикл for в генератор списков (list comprehension)
👩💻Дан следующий цикл
for:
a = [1,2,3,4,5]
a2 = []
for i in a:
a2.append(i + 1)
print(a2)
#=> [2, 3, 4, 5, 6]
👩💻Результат:
a3 = [i+1 for i in a]
print(a3)
#=> [2, 3, 4, 5, 6]
Генератор списка обычно считается более каноническим способом в Python, если он остается понятным.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥@programistica // #jobs
5 598
⚡️ Топовые курсы теперь можно смотреть бесплатно!
😎 IT Syndicate — собрали весь свежак от популярных онлайн школ и выложили у себя на канале.
📁 Полный курс разработки игр на Python [1.03 Гб]
📁 Fullstack-программист за 2 месяца [7.99 Гб]
📁 OSINT и профессиональное использование поисковых систем [2.92 Гб]
📁 И многое другое!
🔥 Успей зайти прямо сейчас, пока доступ не прикрыли — IT Syndicate!
5 598
💻Приведение типов (type casting) в Python
Приведение типов (type casting) в Python — это процесс преобразования значений одного типа данных в другой. Это полезно, когда необходимо выполнить операции, требующие определённого типа данных, или когда нужно гарантировать, что данные имеют правильный формат. В Python существует несколько встроенных функций для приведения типов.
Основные функции приведения типов:
➡️int(): Преобразует значение в целое число.
x = "10" #строка
y = int(x)
print(y) # Вывод: 10
➡️float(): Преобразует значение в число с плавающей точкой.
x = "10.5" #строка
y = float(x)
print(y) # Вывод: 10.5
➡️str(): Преобразует значение в строку.
x = 10 #целое число
y = str(x)
print(y) # Вывод: "10"
➡️bool(): Преобразует значение в булево значение (True или False).
x = 1
y = bool(x)
print(y) # Вывод: True
x = 0
y = bool(x)
print(y) # Вывод: False
И так же почти можно приводить любой тип данный в другой, достаточно написать: тип_данных(значение),
Но так же есть автоматическое приведение типов данных.
➡️Автоматическое приведение типов
В некоторых случаях Python автоматически приводит типы данных. Например, при выполнении арифметических операций между целыми числами и числами с плавающей точкой:
x = 5
y = 2.0
result = x + y
print(result) # Вывод: 7.0
print(type(result)) # Вывод: <class 'float'>
Приведение типов — это важная часть работы с данными в Python. Оно позволяет вам гарантировать, что данные имеют правильный формат для выполнения различных операций и функций. Используйте встроенные функции Python для безопасного и эффективного преобразования типов данных.
@programistica // #article5 598
🖼️ Библиотека Python: PyFilesystem2
PyFilesystem2 — это библиотека для Python, которая предоставляет абстрактный интерфейс для работы с файловыми системами, позволяя разработчикам взаимодействовать с файлами и директориями независимо от их физического местоположения. Она поддерживает множество файловых систем, включая локальные, удаленные (FTP, SFTP), архивы (ZIP, TAR) и даже виртуальные файловые системы, что делает управление файлами более гибким и удобным.
⚙️ Пример использования
from fs.memoryfs import MemoryFS
from fs import open_fs
# Создаем виртуальную файловую систему в памяти
mem_fs = MemoryFS()
# Создаем и открываем файл для записи
with mem_fs.open('example.txt', 'w') as file:
file.write('Hello, PyFilesystem2!')
# Открываем файл для чтения и читаем его содержимое
with mem_fs.open('example.txt', 'r') as file:
content = file.read()
# Выводим содержимое файла на экран
print(content)
# Демонстрация работы с локальной файловой системой
# Открываем текущую директорию
local_fs = open_fs('.')
# Создаем и открываем файл для записи в локальной файловой системе
with local_fs.open('local_example.txt', 'w') as file:
file.write('Hello from the local filesystem!')
# Открываем файл для чтения и читаем его содержимое
with local_fs.open('local_example.txt', 'r') as file:
local_content = file.read()
# Выводим содержимое файла на экран
print(local_content)
# Закрываем файловые системы
mem_fs.close()
local_fs.close()
⏺Создание виртуальной файловой системы: Мы создаем файловую систему в памяти (MemoryFS).
⏺Запись данных: Создаем файл example.txt и записываем в него строку "Hello, PyFilesystem2!".
⏺Чтение данных: Открываем файл example.txt для чтения и выводим его содержимое на экран.
⏺Работа с локальной файловой системой: Открываем текущую директорию, создаем файл local_example.txt, записываем в него данные, читаем их и выводим на экран.
⏺Закрытие файловых систем: Закрываем обе файловые системы (виртуальную и локальную).
✔️ Установка
pip install fs
⛓ Ссылка на документацию
@programistica // #Library5 598
+1
Привет! Меня зовут Саша Аксёнов, мне 28 лет, живу в Питере. Я — фаундер IT-компании Unistory и автор Телеграм-канала Unicorn story.
В своих проектах делаем нестандартные вещи на базе web3 и ML. Что-то по-настоящему новое вместо того, чтобы пилить сайты на Битриксе или обложки для Chat GPT.
Подписывайся на мой Телеграм-канал — здесь я пощу мемы, рассказываю про децентрализованный AI, индусский код и синдром самозванца.
А еще — публикую вакансии для разработчиков, менеджеров, дизайнеров и вообще любых талантливых чуваков.
5 598
💻 Вопрос из собеседования: Как удалить все пробелы из строки?
Можно разделить строку в местах пробелов, а затем снова соединить без пробелов:
s = 'A string with white space'
''.join(s.split())
#=> 'Astringwithwhitespace'
Так же можно так:
s = 'A string with white space'
s.replace(' ', '')
#=> 'Astringwithwhitespace'
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥@programistica // #jobs
5 598
👀 Книга: Python с нуля
⏺Разrовор с компьютером
⏺Установка Python
⏺Хранение и изменение информации
⏺Управление данными
⏺Обработка ошибок
⏺Пакеты
⏺Коллекции данных
И многое другое
@programistica // #doc
5 598
💻 Линус Торвальдс: Создатель ядра Linux и его влияние на мир открытого программного обеспечения
Линус Торвальдс — финский программист, наиболее известный как создатель ядра операционной системы Linux. Его работа не только изменила мир операционных систем, но и оказала огромное влияние на движение за открытое программное обеспечение. Этот материал расскажет о жизни Линуса Торвальдса, истории создания Linux и его влиянии на современный мир технологий.
Ранние годы и образование
Линус Бенедикт Торвальдс родился 28 декабря 1969 года в Хельсинки, Финляндия. С ранних лет он проявлял интерес к компьютерам и программированию. В 1988 году он поступил в Хельсинкский университет, где изучал компьютерные науки. Именно там он впервые познакомился с операционной системой Unix, которая впоследствии станет вдохновением для создания Linux.
Создание Linux
В 1991 году, будучи студентом, Линус Торвальдс начал работу над проектом, который впоследствии стал ядром Linux. Он хотел создать бесплатную альтернативу коммерческим Unix-системам, доступную для всех. 25 августа 1991 года Линус сделал своё первое объявление о проекте в группе новостей comp.os.minix:
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since April, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
Влияние на мир открытого программного обеспечения
👀Открытый исходный код
Одним из ключевых факторов успеха Linux стало его лицензирование под лицензией GNU General Public License (GPL). Это означало, что любой желающий мог использовать, изменять и распространять код Linux, что способствовало его быстрому развитию и распространению. Сообщество разработчиков по всему миру начало активно участвовать в проекте, внося свой вклад и улучшая систему.
👀Распространение и использование
Сегодня ядро Linux используется в самых разных областях: от серверов и суперкомпьютеров до мобильных устройств и встроенных систем. Некоторые из наиболее известных операционных систем на базе Linux включают:
⏺Android: Самая популярная мобильная операционная система в мире.
⏺Ubuntu, Fedora, Debian: Популярные дистрибутивы для настольных компьютеров и серверов.
⏺Red Hat Enterprise Linux (RHEL): Корпоративная версия Linux, широко используемая в бизнесе.
👀Влияние на другие проекты
Успех Linux вдохновил множество других проектов с открытым исходным кодом. Примеры включают веб-сервер Apache, базу данных MySQL и язык программирования Python. Эти проекты стали основой для многих современных технологий и приложений.
👀Личная жизнь и философия
Линус Торвальдс продолжает активно участвовать в развитии ядра Linux, занимая позицию главного разработчика. Он также известен своими прямыми и честными высказываниями по поводу программирования и технологий. Его философия открытости и сотрудничества вдохновляет многих разработчиков по всему миру.
Линус Торвальдс — это не просто создатель ядра Linux; он символизирует силу открытого программного обеспечения и важность сотрудничества в мире технологий. Его работа оказала огромное влияние на развитие операционных систем и вдохновила целое поколение разработчиков. Linux и сегодня продолжает оставаться ключевым элементом в мире IT, благодаря чему наследие Линуса Торвальдса будет жить еще долгие годы.
@programistica // #article
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
