• Пишем Wake-on-LAN сервис на ESP8266 при помощи ChatGPT
• Необычные вкусы покупателей: что такое товарные пары и как их исследовать
• Kafka. Лучшие практики применения. Настройки Producer & Consumer
• Словари в Python: обзор и как пользоваться
• Хотите, покажу вам магию живого кода на p5py?
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья объясняет концепцию символьных и жёстких ссылок на файлы, акцентируя внимание на hard links в Windows, малоизвестных многим веб-разработчикам. В простых примерах раскрывается принцип работы ссылок и их отличия от привычных ярлыков.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию, которая принимает строку и проверяет, является ли она палиндромом. Функция должна игнорировать пробелы, знаки препинания и регистр букв.
"A man, a plan, a canal, Panama"
True
Решение задачи
import re
def is_palindrome(s):
# Оставляем только буквы и цифры, приводим к нижнему регистру
cleaned = re.sub(r'[^a-zA-Z0-9]', '', s).lower()
return cleaned == cleaned[::-1]
# Пример использования:
input_string = "A man, a plan, a canal, Panama"
result = is_palindrome(input_string)
print(result) # Ожидаемый результат: True
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье показано, как создать свою страшилку на Хэллоуин с помощью Python и p5py, прямо в онлайн-IDE. Без лишних установок и настроек — просто открывай браузер и начинай программировать.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья предлагает структурированный подход к обучению Go для новичков. Автор курса «Go-разработчик с нуля» делится опытом и помогает пошагово создать API для управления библиотекой книг, чтобы закрепить полученные знания.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Напишите функцию, которая принимает строку и два дополнительных аргумента — слово для замены и новое слово. Функция должна заменить все вхождения указанного слова в строке на новое слово.
Входная строка:
"The weather is nice today. Nice weather makes me happy."
Слово для замены: "nice"
Новое слово: "great"
Ожидаемый вывод:
"The weather is great today. Great weather makes me happy."
Решение задачи
def replace_word(text, old_word, new_word):
return text.replace(old_word, new_word)
# Пример использования:
input_text = "The weather is nice today. Nice weather makes me happy."
result = replace_word(input_text, "nice", "great")
print(result) # Ожидаемый результат: "The weather is great today. Great weather makes me happy."
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья анализирует роль языка и цифровизации в накоплении и передаче знаний. Обсуждаются вызовы структурирования данных, которые, несмотря на успехи машинного обучения и реляционных баз, всё ещё затрудняют полное понимание накопленной информации.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
• Пришёл на вакансию дизайнера, а стал питонистом: как IT-специалисты нашли свою первую работу
• На сколько денег может рассчитывать ИТ-предприниматель в разных ветках развития
• Анализ задачи с собеседования в Google: конь и телефонные кнопки
• Быстрый старт в QA Fullstack: чем вооружиться будущему стажеру в Альфа-Банке
• Как убить самоорганизацию в команде: вредные советы для лидера
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья объясняет использование функции scatterplot() из seaborn для визуализации взаимосвязи числовых переменных. Рассказывается о параметрах настройки цвета, размера и стиля точек, что помогает в многомерном анализе данных.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
os
в Python для работы с файловой системой?Модуль
os
в Python предоставляет инструменты для взаимодействия с операционной системой. С его помощью можно управлять файлами и директориями, получать информацию о системе и переменных окружения, а также выполнять системные команды. Этот модуль особенно полезен для кроссплатформенных сценариев.import os
# Получение текущей директории
current_dir = os.getcwd()
print('Текущая директория:', current_dir)
# Создание новой директории
os.mkdir('new_folder')
print('Создана директория new_folder')
🗣 os позволяет удобно и кроссплатформенно работать с файловой системой, выполнять команды и настраивать окружение.
Please open Telegram to view this post
VIEW IN TELEGRAM
Каждый Django-разработчик рано или поздно сталкивается с неожиданно «тяжелыми» запросами, способными превратить быстрое приложение в неповоротливого слона. Рассказываем, как с помощью django-pgactivity выследить и обезвредить такие запросы, прежде чем они создадут проблемы вашим пользователям.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Сколько раз ты избегал нового только потому, что боялся облажаться? Ошибка кажется концом света, но на деле это просто этап обучения. Сидя в зоне уверенности, ты никогда не узнаешь, насколько можешь быть сильнее, умнее, опытнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья объясняет, как создать приложение для автоматического анализа онлайн-встреч. Используя API BotHub (Whisper-1 + Claude 3.5 Sonnet), вы научитесь извлекать ключевые идеи, распределять задачи и генерировать отчёты в формате PDF.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию, которая принимает список чисел и возвращает второе наибольшее число. Если в списке меньше двух уникальных чисел, функция должна вернуть
None
.[10, 20, 4, 45, 99]
45
[5, 5, 5]
None
Решение задачи
def find_second_largest(numbers):
# Удаляем дубликаты и сортируем список в порядке убывания
unique_numbers = sorted(set(numbers), reverse=True)
# Если уникальных чисел меньше двух, возвращаем None
return unique_numbers[1] if len(unique_numbers) >= 2 else None
# Пример использования:
print(find_second_largest([10, 20, 4, 45, 99])) # Ожидаемый результат: 45
print(find_second_largest([5, 5, 5])) # Ожидаемый результат: None
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья открывает цикл о кастомизации Django админки, начиная с основ. Рассматриваются ключевые шаблоны и механизм их поиска, чтобы упростить понимание структуры и облегчить работу с админкой.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию, которая принимает строку и возвращает список всех её подстрок. Подстрока — это непрерывная последовательность символов, содержащаяся в строке.
"abc"
['a', 'ab', 'abc', 'b', 'bc', 'c']
Решение задачи
def generate_substrings(s):
substrings = []
for i in range(len(s)):
for j in range(i + 1, len(s) + 1):
substrings.append(s[i:j])
return substrings
# Пример использования:
input_string = "abc"
result = generate_substrings(input_string)
print(result) # Ожидаемый результат: ['a', 'ab', 'abc', 'b', 'bc', 'c']
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья посвящена новому free-threaded режиму в CPython 3.13, который открывает возможности параллельного выполнения потоков. Рассматриваются особенности его использования и влияние на производительность.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Frontender's notes [ru]
Supply Chain атака на npm: Shai-Hulud — угроза, которая заражает проекты
Недавняя атака на экосистему npm под названием Shai-Hulud привлекла внимание разработчиков по всему миру. Это масштабная supply chain атака, которая затронула более 500 пакетов, включая популярные библиотеки, такие как
ℹ️ Что делать разработчикам
📌 Supply chain атаки становятся всё более изощрёнными и опасными. Ранее мы переживали только за typosquatting, а теперь столкнулись с реальными «npm-червями», которые могут заразить проекты на всех уровнях. Если вы работаете с публичными пакетами, регулярный аудит зависимостей и CI/CD — теперь часть обязательной практики.
🚪 Frontender's notes
Недавняя атака на экосистему npm под названием Shai-Hulud привлекла внимание разработчиков по всему миру. Это масштабная supply chain атака, которая затронула более 500 пакетов, включая популярные библиотеки, такие как
ngx-toastr
, tinycolor
, react-jsonschema-form-extras
и пакеты от CrowdStrike
.❌ Заражённые пакеты содержат вредоносный скрипт bundle.js. Этот скрипт запускает TruffleHog для поиска секретных данных, таких как GitHub токены, NPM ключи или AWS креды, и отправляет их на внешний сервер. Дополнительно создаётся вредоносный workflow в папке .github/workflows, который будет автоматически запускаться при каждом CI-процессе. В итоге, атака действует как червь, распространяясь через каждый новый пакет, заражая downstream-проекты.
• Проверить проекты на наличие заражённых версий пакетов
• Ротировать npm-токены, GitHub PAT и облачные креды, чтобы минимизировать последствия
• Аудитировать CI/CD конфигурации для выявления подозрительных изменений
• Обновлять пакеты только из доверенных источников, избегать использования сомнительных версий
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Science | Machinelearning [ru]
This media is not supported in your browser
VIEW IN TELEGRAM
Генерация баз данных теперь за пару секунд 🚶♂️
Нужна база данных, но нет времени и желания на долгое проектирование? Тогда Database Build — это то, что вам нужно!
Что умеет Database Build?
Database Build — идеальный инструмент для разработчиков, тестировщиков и всех, кто работает с базами данных. Ускорьте процесс разработки и создавайте базы без усилий.
Data Science
Нужна база данных, но нет времени и желания на долгое проектирование? Тогда Database Build — это то, что вам нужно!
Что умеет Database Build?
— Мгновенная генерация базы данных: Просто напишите текстовое описание, и нейросеть преобразует его в полноценную структуру базы с таблицами, связями и диаграммами
— Фейковые данные за секунды: Нужны тестовые данные? Создайте их прямо в сервисе
— Экспорт в SQL или загрузка на сервер: Не нужно копировать и вставлять — сразу получите готовую базу в нужном формате или загрузите её на сервер
— Бесплатно: Сервис доступен без платы — можно без риска протестировать
Database Build — идеальный инструмент для разработчиков, тестировщиков и всех, кто работает с базами данных. Ускорьте процесс разработки и создавайте базы без усилий.
Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
List comprehension — это лаконичный способ создания списков в Python. С его помощью можно быстро преобразовать или отфильтровать элементы из другого итерируемого объекта, написав компактный и читаемый код.
# Создание списка квадратов чисел от 0 до 9
squares = [x**2 for x in range(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# Фильтрация чётных чисел
evens = [x for x in range(10) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8]
🗣️ List comprehension позволяет комбинировать создание и обработку списков в одну строку, что делает код более компактным и удобным для чтения. Однако его стоит использовать разумно, чтобы не усложнять логику.
Please open Telegram to view this post
VIEW IN TELEGRAM