Программистика
Canal cerrado
Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager
Mostrar más5 770
Suscriptores
-424 horas
+57 días
-8730 días
Archivo de publicaciones
5 769
Не умеешь писать чистый, безопасный и надежный код?
Научим. Читай по 10 минут в день и на любом собеседовании тебя оторвут с руками:
Арсенал Безопасника - инструменты и техники отладки, которые используют профессионалы по безопасности. Научись быстро выявлять и устранять ошибки, уязвимости, утечки данных.
Git Разработчика - лучшие практики организации кода и паттерны проектирования. Умение писать чистый код — повод просить прибавку к зарплате.
5 769
🛡Хакатоны и их роль в развитии технологий: Как они проходят и какие проекты рождаются
Хакатоны стали неотъемлемой частью технологической культуры и инновационного процесса. Эти мероприятия, которые объединяют программистов, дизайнеров и других специалистов, способствуют быстрому созданию новых проектов и решений. В этой статье мы рассмотрим, что такое хакатоны, как они проходят и какие значимые проекты были созданы благодаря этим мероприятиям.
Что такое хакатон?
Хакатон (от слов "hack" и "marathon") — это интенсивное мероприятие, обычно длительностью от 24 до 72 часов, на котором участники работают в командах над созданием прототипов программных или аппаратных решений. Цель хакатона — быстро разработать инновационные проекты, которые могут быть полезны в различных областях, от бизнеса до социальных инициатив.
Как проходят хакатоны?
👀Подготовка
⏺Объявление и регистрация: Организаторы хакатона объявляют тему мероприятия, сроки и условия участия. Участники регистрируются индивидуально или командами.
⏺Формирование команд: На некоторых хакатонах команды формируются заранее, а на других — непосредственно перед началом мероприятия. Иногда организаторы помогают участникам найти команду, проводя специальные сессии знакомств.
👀Начало мероприятия
⏺Открытие и презентация: Хакатон начинается с открытия, на котором организаторы рассказывают о правилах, расписании и ресурсах, доступных участникам. Иногда выступают спикеры, которые делятся своим опытом и вдохновляют участников.
⏺Идеи и брейншторминг: Команды начинают обсуждать идеи и выбирать, над чем они будут работать. Этот этап включает в себя брейншторминг и предварительное планирование проекта.
👀Разработка
⏺Кодирование и проектирование: Основная часть хакатона посвящена разработке. Участники пишут код, создают дизайн, тестируют и интегрируют свои решения. Важно эффективно распределить задачи внутри команды.
⏺Менторство и поддержка: На многих хакатонах присутствуют менторы — опытные специалисты, которые помогают участникам советами и технической поддержкой.
👀Завершение
⏺Презентация проектов: В конце хакатона команды представляют свои проекты жюри и другим участникам. Это может быть демонстрация приложения, рассказ о решении проблемы или показ прототипа.
⏺Оценка и награждение: Жюри оценивает проекты по различным критериям, таким как инновационность, техническая сложность и потенциальное влияние. Лучшие проекты получают призы и признание.
Роль хакатонов в развитии технологий
👀Инновации и прототипы
Хакатоны способствуют быстрому созданию инновационных решений. Участники работают в условиях ограниченного времени, что стимулирует их к креативному мышлению и эффективной работе. Многие успешные стартапы и продукты начинались как проекты на хакатонах.
👀Сотрудничество и обучение
Хакатоны предоставляют уникальную возможность для сотрудничества между людьми с разными навыками и опытом. Участники учатся работать в команде, обмениваться знаниями и решать проблемы совместными усилиями. Это также отличная возможность для профессионального роста и сетевого взаимодействия.
👀Влияние на бизнес и общество
Многие хакатоны ориентированы на решение реальных проблем, будь то улучшение бизнес-процессов или разработка социальных инициатив. Проекты, созданные на хакатонах, могут иметь значительное влияние на различные отрасли и общество в целом.
👀Примеры успешных проектов
⏺GroupMe: Приложение для группового обмена сообщениями, созданное на хакатоне TechCrunch Disrupt в 2010 году. Впоследствии было приобретено компанией Skype.
⏺EasyTaxi: Приложение для вызова такси, разработанное на хакатоне в Бразилии. Сегодня это одно из крупнейших приложений для вызова такси в Латинской Америке.
⏺Pebble: Умные часы, которые начали свой путь на хакатонах и получили огромный успех на платформе Kickstarter.
Хакатоны играют важную роль в развитии технологий, предоставляя платформу для инноваций, сотрудничества и быстрого прототипирования. Эти мероприятия не только способствуют созданию новых продуктов и решений, но и помогают участникам развивать свои навыки.
@programistica // #article5 769
Хеш-таблицы в 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 769
👀 Книга: Python. Создаем программы и игры
⏺Знакомство с python
⏺Установка и начало работы
⏺Среда IDLE
⏺Переменные и типы данных
⏺Основные операторы
И многое другое
@programistica // #doc
5 769
💻 Вопрос из собеседования: Преобразуйте следующий цикл 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 769
⚡️ Топовые курсы теперь можно смотреть бесплатно!
😎 IT Syndicate — собрали весь свежак от популярных онлайн школ и выложили у себя на канале.
📁 Полный курс разработки игр на Python [1.03 Гб]
📁 Fullstack-программист за 2 месяца [7.99 Гб]
📁 OSINT и профессиональное использование поисковых систем [2.92 Гб]
📁 И многое другое!
🔥 Успей зайти прямо сейчас, пока доступ не прикрыли — IT Syndicate!
5 769
💻Приведение типов (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 769
🖼️ Библиотека 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 769
+1
Привет! Меня зовут Саша Аксёнов, мне 28 лет, живу в Питере. Я — фаундер IT-компании Unistory и автор Телеграм-канала Unicorn story.
В своих проектах делаем нестандартные вещи на базе web3 и ML. Что-то по-настоящему новое вместо того, чтобы пилить сайты на Битриксе или обложки для Chat GPT.
Подписывайся на мой Телеграм-канал — здесь я пощу мемы, рассказываю про децентрализованный AI, индусский код и синдром самозванца.
А еще — публикую вакансии для разработчиков, менеджеров, дизайнеров и вообще любых талантливых чуваков.
5 769
💻 Вопрос из собеседования: Как удалить все пробелы из строки?
Можно разделить строку в местах пробелов, а затем снова соединить без пробелов:
s = 'A string with white space'
''.join(s.split())
#=> 'Astringwithwhitespace'
Так же можно так:
s = 'A string with white space'
s.replace(' ', '')
#=> 'Astringwithwhitespace'
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥@programistica // #jobs
5 769
👀 Книга: Python с нуля
⏺Разrовор с компьютером
⏺Установка Python
⏺Хранение и изменение информации
⏺Управление данными
⏺Обработка ошибок
⏺Пакеты
⏺Коллекции данных
И многое другое
@programistica // #doc
5 769
💻 Линус Торвальдс: Создатель ядра 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 // #article5 769
💻 Вопрос из собеседования: Как отсортировать словарь по ключам, в алфавитном порядке?
Нельзя «отсортировать» словарь, поскольку словари не поддерживают упорядочение, но можно вернуть отсортированный список кортежей с ключами и значениями из словаря:
d = {'c':3, 'd':4, 'b':2, 'a':1}
sorted(d.items())
#=> [('a', 1), ('b', 2), ('c', 3), ('d', 4)]
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥@programistica // #jobs
5 769
Хотите стать Linux-экспертом?
Наш канал - ключ к профессиональному успеху!
🔧 Уникальные гайды по администрированию Linux;
👨💻 Продвинутые техники и рекомендации по разработке на языках C/C++;
📚 Подробные статьи о внутреннем устройстве операционных систем;
🤓 Интересные факты и новости из мира технологий;
Присоединяйтесь к нам и становитесь частью сообщества истинных гуру Linux и программирования!
5 769
⚙️ Миф: Программирование — это только для математиков
Существует распространенное заблуждение, что программирование требует глубоких знаний в математике и что только люди с математическим складом ума могут стать успешными программистами. Однако, это далеко от истины. Хотя математика может быть полезной, особенно в определенных областях, таких как разработка игр, криптография или машинное обучение, большинство задач в программировании не требуют сложных математических вычислений. Важнее логическое мышление, умение решать проблемы и творческий подход.
Основные аргументы:
👀Логическое мышление и решение проблем:
⏺Программирование больше связано с логикой и структурированным мышлением. Способность разбивать сложные задачи на более мелкие, управляемые части и находить эффективные решения является ключевым навыком для программистов.
⏺Программисты часто сталкиваются с задачами, требующими креативного подхода и нестандартного мышления, что не всегда связано с математикой.
👀Практические навыки:
⏺Многие аспекты программирования можно освоить через практику и опыт. Понимание синтаксиса языков программирования, умение работать с различными инструментами и фреймворками, а также знание лучших практик разработки программного обеспечения приходят с практикой, а не с изучением математики.
⏺Онлайн-курсы, книги и учебные пособия предлагают множество ресурсов для изучения программирования без необходимости углубляться в математические теории.
👀Разнообразие специализаций:
⏺Программирование включает в себя множество специализаций, таких как веб-разработка, мобильная разработка, разработка игр, анализ данных, DevOps и многие другие. В каждой из этих областей требуются разные навыки и знания, и не все из них связаны с математикой.
⏺Например, веб-разработчикам часто нужно больше внимания уделять дизайну интерфейсов, пользовательскому опыту и взаимодействию с базами данных, чем решению математических задач.
Программирование — это навык, который может освоить любой, независимо от математических способностей. Важнее всего желание учиться, терпение и настойчивость. Если у вас есть интерес к технологиям и желание создавать что-то новое, программирование может стать для вас увлекательным и полезным занятием. Математика может быть полезным инструментом, но она далеко не единственный путь к успеху в мире программирования.
@programistica // #article
5 769
🖼️ Библиотека Python: FuzzyWuzzy
FuzzyWuzzy — это библиотека Python, предназначенная для сравнения строк и определения степени их схожести, используя алгоритмы нечеткого сравнения. Она позволяет легко находить совпадения между строками, даже если они содержат опечатки или небольшие различия, что делает её полезной для задач очистки данных, сопоставления и поиска дубликатов.
⚙️ Пример использования
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
# Примеры строк для сравнения
string1 = "Привет, как дела?"
string2 = "Привет, как твои дела?"
# Используем метод ratio для вычисления схожести строк
similarity_ratio = fuzz.ratio(string1, string2)
print(f"Схожесть строк (ratio): {similarity_ratio}%")
# Используем метод partial_ratio для вычисления схожести подстрок
partial_similarity_ratio = fuzz.partial_ratio(string1, string2)
print(f"Схожесть подстрок (partial_ratio): {partial_similarity_ratio}%")
# Примеры списка строк для поиска наиболее похожей строки
choices = ["Привет, как твои дела?", "Здравствуйте, как поживаете?", "Привет, что нового?"]
# Используем метод extractOne для поиска наиболее похожей строки
best_match = process.extractOne(string1, choices)
print(f"Наиболее похожая строка: {best_match[0]} с точностью {best_match[1]}%")
Этот код выполняет следующие шаги:
⏺Сравнивает две строки string1 и string2 с использованием метода fuzz.ratio, который возвращает процент схожести.
⏺Сравнивает подстроки с использованием метода fuzz.partial_ratio.
⏺Ищет наиболее похожую строку из списка choices с использованием метода process.extractOne.
✔️ Установка
pip install fuzzywuzzy
⛓ Ссылка на документацию
@programistica // #Library5 769
Всем доброе утро.
Тут меня спрашивали, как сделать такое форматирование текста в телеграм:
print("Hello World")
Так давайте же разберёмся, как это сделать. А делается это до ужаса просто, нам понадобится лишь такой символ: ```.
👩💻Так выглядит схема, чтобы сделать необходимый эффект:
```Язык программирования кода код код код```‼️Важно: символ
``` и название языка должны быть на одной строке, код начинается со следующей и последняя строчка кода должна находится на той же строке, что и замыкающий символ ```
👩💻До публикации:
```python print("Hello World")```👩💻После:
print("Hello World")
Надеюсь вам стало понятно, как делать такое классное форматирование текста под код в телеграме. Если понравилось, ставьте побольше реакций.
@programistica // #article5 769
💻 Вопрос из собеседования: Как вернуть двоичный код целого числа?
Используйте функцию bin():
bin(5)
#=> '0b101'
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥@programistica // #jobs
5 769
💻 Вопрос из собеседования: Как вернуть двоичный код целого числа?
Используйте функцию bin():
bin(5)
#=> '0b101'
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥@programistica // #jobs
5 769
Бесплатный мини-курс Skillbox — то, что нужно для дизайнеров, мечтающих о карьере в IT. Узнайте, как создавать удивительные пользовательские интерфейсы, которые перевернут представление об опыте пользователей.
За пять дней вы освоите ключевые принципы UX/UI-дизайна, научитесь работать в Figma и создадите свой первый проект. Скорее записывайтесь: https://epic.st/r8kMFf?erid=2VtzqxH25aZ
В программе:
— Знакомимся с профессией UX/UI-дизайнера
— Делаем крутой проект в Figma
— Погружаемся в нюансы UX/UI-дизайна
— Ищем новых заказчиков
Спикеры:
— Дмитрий Матвеев, арт-директор Wildberries. 15 лет в дизайне, создаёт сервисы, которыми пользуются 30 миллионов человек в месяц, ведёт вебинары и образовательные курсы по дизайну
— Максим Чистов, основатель и арт-директор студии Nine Squares. Работал со «СберМаркетом», ВКонтакте, Disney, AliExpress
🎉 Вас ждут подарки: скидка 10 000 рублей на любой курс Skillbox, гайды и книги для старта в профессии, персональная карьерная консультация и год бесплатного изучения английского языка.
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
