TGViewer
Channel Public Channel
Точка входа в программирование

Точка входа в программирование

@prog_point

Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Subscribers
18K
Photos
1.8K
Videos
293
Links
3.3K

Showing posts older than #5008 · Back to latest

Older Posts 20 shown
Post #5007 4.22K
GameDev: разработка игр 80% корпоративных программ геймификации ломаются на одном и том же месте По данным AmplifAI, игровые кампании дают в среднем вовлечённость на 100–150% выше, чем классические подходы, а геймифицированный контент шерится в 12 раз чаще. При этом примерно 80%…
  • 👍 1
  • 👎 1
  • 👏 1
  • 🆒 1
Post #5006 1.09K

Forwarded from GameDev: разработка игр

80% корпоративных программ геймификации ломаются на одном и том же месте

По данным AmplifAI, игровые кампании дают в среднем вовлечённость на 100–150% выше, чем классические подходы, а геймифицированный контент шерится в 12 раз чаще. При этом примерно 80% корпоративных программ геймификации не достигают целей. Спрос огромный, качество — низкое, а причина проста: делать это берутся не те люди.

В статье разбирают, как корпоративные клоны механик упускают баланс и контекст, и что делать, чтобы прогрессия не превращалась в цифровой пендель. Для геймдевелоперов это отличная ниша, где есть и деньги, и возможность применить свои скиллы на практике.
  • ❤ 2
  • 🙏 2
  • 😐 1
Post #5005 1.1K

Forwarded from Сохранёнки программиста

Почему DuckDB обгоняет Spark на одной машине

Разбор от endjin объясняет, как встраиваемая база DuckDB превращает ноутбук в инструмент для аналитики на миллиардах строк: скорость здесь — не в масштабе, а в бережном использовании железа. Колоночное хранилище читает только нужные столбцы, векторизованное выполнение обрабатывает данные пачками по 1024–2048 значений, умещаясь в кэш процессора, а min-max-индексы пропускают целые группы строк по фильтрам. Всё параллелится на все ядра.

В тесте TPC-H DuckDB на одной машине справилась за 1 минуту 16 секунд, Spark на 32 узлах — около 8 минут. Распределённые накладные расходы дороже выигрыша от кластера.

Это не замена PostgreSQL или Kafka: один писатель, одна нода, petabyte уйдут в распределённые системы. Статья полезна тем, кто строит ETL и хочет понять, где сидит производительность.

Сохраните, если выбираете инструменты для аналитики.
  • ❤ 2
  • 😘 2
  • 👍 1
Post #5004 1.09K

Forwarded from Zen of Python

Метакласс: не магия, а ещё один уровень явности Python

Если класс — фабрика объектов, то метакласс играет роль фабрики самих классов. В Python 3 это не опция, а дефолт: любой ваш класс является экземпляром type, а class Foo: pass раскрывается в type('Foo', (), {}).

Свой метакласс наследуется от type и переопределяет __new__ или __init__. Он позволяет собирать, изменять или регистрировать классы программно, но в Python явность важнее изящества. В большинстве случаев ту же задачу решают наследование или декоратор класса.

Отсюда следует, почему в Python всё есть объект, включая само определение класса. Разбираемся в деталях.
  • 😁 2
  • 👍 1
Post #5003 1.09K
Git изнутри: можно не зубрить команды, а собрать свой

Когда Git кажется набором магических слов вроде commit и branch, сложно понять, что происходит на самом деле. Туториал Никиты Лешенко предлагает собрать Git своими руками: вы пишете крошечные версии команд и видите, как хранилище проекта содержит файлы, историю изменений и разницу между версиями.

Это хороший следующий шаг после базовых команд. Не нужно проходить весь материал сразу — достаточно попробовать первую часть и увидеть, что за каждой командой стоит простая механика, а не тёмная магия.
  • ❤ 2
Post #5002 1.03K
Ваша память ещё работает или нейронки уже и помнят всё за вас?

Чтобы это проверить мы приготовили для вас «Меморину» — игру, которая поможет проверить вашу память.

Всё просто: нужно запомнить и выбрать одинаковые карточки. Если память плохая, то рано или поздно вы всё равно справитесь. А если хорошая, то сможете увидеть ваш потолок скорости.

Ну что, готовы проверить? Тогда переходите по ссылке: https://tprg.ru/ha7S
  • 🔥 2
  • 🤗 1
Post #5000 2.97K
Как собрать разрозненный Python в одну картинку

Real Python предлагает проверить понимание концепций языка тремя шагами: объяснить концепцию своими словами, найти ей знакомый аналог и применить в маленькой задаче.

Суть — не зубрить, а увидеть, как идея работает в коде. Возьмите тему, которую пока не чувствуете, и опишите её так, будто соседу по парте. Да, тот самый метод утёнка. Потом дайте себе пять минут и сравните её с похожей. Разница, которую вы сформулируете словами, лучше конспекта покажет, где остались дыры.
  • ❤ 2
Post #4999 1.06K
19 учебных проектов на Python, которые помогают перейти от синтаксиса к работающей программе

Если после переменных, условий и циклов непонятно, куда двигаться, подборка Mimo даёт готовый маршрут: 19 проектов для начинающих — от списка дел и угадайки слова до чат-бота и классификатора изображений. К каждому проекту приложены исходный код и пошаговые инструкции, чтобы можно было собрать программу, а не только прочитать про неё.

Начните с малого: список дел или игра «угадай слово» тренируют ввод данных, проверку условий и работу с циклами. Это не абстрактные упражнения, а конкретные программы, в которых видно, как отдельные темы соединяются в работающий код.

Когда база будет увереннее, можно взяться за проекты посложнее — получение данных через API Звёздных войн или классификатор картинок. В материале всё разложено по уровню, так что удобно выбрать следующий шаг под себя.
  • ❤ 4
Post #4997 1.05K
Git игнорирует файлы на трёх уровнях, не только через .gitignore

Если вы только начинаете с Git, вы уже встречали .gitignore — файл, в котором перечисляют, что Git не должен отслеживать: node_modules/, .env, логи. Но иногда правило нужно только вам, и править общий .gitignore ради одного файла не хочется.

Тут помогают ещё два уровня. .git/info/exclude работает только в вашей локальной копии репозитория. Это идеально для личных заметок или экспериментальных скриптов. А ~/.config/git/ignore задаёт правила сразу для всех репозиториев на вашей машине, например для системных файлов.

Чтобы проверить, почему конкретный файл не попадает в git status, запустите git check-ignore -v filename. Команда покажет, какой именно список его скрыл. Разбираем каждый уровень в статье.
  • ❤ 7
Post #4996 1.15K
ИИ для автоматизации рассчётно-кассового обслуживания: как убрать ручной ввод паспортов

В банках оператор до сих пор часто перепечатывает паспортные данные руками. Долго, дорого и с ошибками. В статье показывают, как это чинят с помощью OCR и компьютерного зрения.

Что под капотом:
— Разворот паспорта распознаётся меньше чем за секунду — даже с бликами, тенями и если снято под углом. Тянет 103 языка, паспорта РФ и СНГ, права, рукописный текст и штампы;
— Всё крутится on-premise, документы не уходят на сторону. На одном сервере без всякой GPU — до 125 разворотов в секунду, точность 99,9%.

Самое интересное: распознавание можно запускать прямо в браузере через WebAssembly, то есть на устройстве пользователя, без отправки данных на сервер и обратно. Встраивается в интернет-банк и в мини-аппы Telegram и MAX.

Плюс антифрод: 600+ признаков подделки, проверка NFC-чипа, детект дипфейков.

Из живого кейса — в РНКО «Металлург» ручного ввода стало меньше минимум в 4 раза.
  • ❤ 1
Post #4995 992
  • ❤ 6
  • 💯 2
Post #4993 1.21K
Почему ваш пет-проект ещё не бизнес, а вы — не предприниматель

У каждого второго разработчика в столе лежит проект, который «вот-вот станет бизнесом». Осталось дописать пару фич — и дальше всё поедет само. Спойлер: не поедет. Разбираемся, где заканчивается код и начинается бизнес: почему всё стартует не с технологии, а с чужой проблемы, чем фаундер отличается от тимлида и почему рабочий сервис с первыми пользователями и MRR — это не бизнес, а промежуточный результат.

Простой тест: уйдите в отпуск на две недели, и если без вас всё встало — поздравляем, у вас пока не бизнес, а вы сами и есть главный «производственный ресурс».

Внутри ещё и про AR-очки на трамвайном заводе, которые зарубили сами рабочие: история о том, как ценность решения определяете не вы.
  • ❤ 1
  • 👍 1
Post #4992 1.1K

Forwarded from Типичный программист

Разработчик превратил зубдробилку Vim в игру про доставку мороженого

Marcus Michaels из Лондона сделал Vim Scoops — браузерную игру, где фургон мороженого ездит по карте исключительно Vim-движениями. Сначала hjkl, потом прыжки по словам w и начала строк 0. Цель на каждом уровне — добраться до клиента за минимальное число ходов.

Автор пользуется Vim ежедневно и сделал игру PWA, чтобы тренировать память в мёртвых зонах связи по дороге на работу. Если вам тоже скучно запоминать motion'ы в Vim обычным способом, то попробуйте этот.
theregister Vim text editor game teaches you keyboard shortcuts with ice cream delivery Browser game teaches Vim's famously unintuitive movement commands to keep your hands on the keyboard
  • 👀 3
Post #4991 1.14K

Forwarded from Типичный программист

KolibriOS 0.7.7: ОС, которая влезает на дискету

Представьте: в 2026 году ОС целиком лезет на 3,5-дюймовую дискету и загружается быстрее, чем вы допиваете кофе. Это не демо и не эмулятор: KolibriOS 0.7.7 существует, и редактор Hackaday Дженни Лист проверила его на ThinkPad.

Это российский форк MenuetOS, ядро написано на FASM, плоском ассемблере, образ около 1 МБ, а требования смешны: процессор класса i586, 8 МБ ОЗУ, 1 МБ на диске. При этом внутри браузеры, игры, эмуляторы, графические редакторы и среда разработки.

Без HTTPS в повседневное использование не пойдёт, но для старого железа, тонких клиентов и разбора того, как ОС может быть маленькой, находка, которую стоит сохранить.
  • 👍 5
  • 😱 3
  • 😁 2
Post #4989 1.57K
Что такое Unix timestamp и зачем он вам понадобится

Когда сервер присылает дату не строкой вроде «1 июня 2024», а числом вроде 1717200000 — это Unix timestamp. Простыми словами: количество секунд с полуночи 1 января 1970 года по Гринвичу. Так компьютеры хранят момент времени одним целым числом, не связываясь с часовыми поясами и форматами.

Новичку это встречается в API, логах и базах данных. Сначала кажется странной математикой, но именно timestamp удобно сравнивать, считать интервалы и переводить в любой часовой пояс.

Попробуйте в консоли браузера: new Date(1717200000 * 1000) и сравните с new Date(). В статье разобраны примеры для Python, Java и других языков — чтобы вы могли переводить timestamp в привычную дату в своих проектах.
  • ❤ 2
Post #4988 1.29K

Forwarded from Веб-страница

Тестируйте Vue-компоненты в браузере, без Node и сборки

Мне давно не хватало лёгкого способа гонять фронтенд-тесты без тяжёлого Node-окружения. Playwright хорош, но новый процесс браузера на каждый тест и Node-оркестрация быстро утомляют. Автор jvns.ca пошёл другим путём: вместо отдельного браузера запускает интеграционные тесты Vue-компонентов прямо в открытой вкладке.

Взял QUnit, встроил тесты в страницу и получил кнопку для перезапуска одного теста. Это удобно, когда в тестах много сетевых запросов и отлаживать хочется по одному. Для проектов без сборки так можно проверить компоненты в реальном DOM, не поднимая отдельный браузер.

Если у вас небольшой Vue-проект без Node-сборки, я бы попробовал такую схему в QA перед релизом. Подробности в заметке.
Julia Evans Testing Vue components in the browser Hello! One of my long term projects on here is figuring out how to write frontend Javascript without using Node or any other server JS runtime.
  • ❤ 1
Post #4987 1.14K
Соберите чат-бота на Python и потренируйте его на своих сообщениях

Туториал по ChatterBot предлагает собрать настоящего собеседника: сначала бот повторяет простые фразы, потом вы чистите выгрузку переписки из WhatsApp регулярными выражениями, и учите бота отвечать на ваши примеры. В финале можно подключить локальную языковую модель, которая работает на вашем компьютере, через Ollama, чтобы ответы звучали по делу, а не по шаблону.

Это учебный проект, который связывает ввод-вывод, строки и работу с библиотекой в одну работающую программу. Разбор с примерами кода — попробуйте пройти его и изменить тему бота под себя.
  • ❤ 2
Post #4986 987

Forwarded from Zen of Python

Отправка почты из Python: stdlib, локальный SMTP и сторонние библиотеки

В стандартной библиотеке Python для работы с почтой есть пакет email и модуль для SMTP-соединений: формируете сообщение, добавляете вложения и адресатов, подключаетесь к серверу и отправляете. Для отладки удобно поднять локальный SMTP-сервер — письма не уйдут в интернет, но вы увидите, как они собираются.

Явное лучше неявного, но ручная сборка писем со временем утомляет. Статья разбирает сторонние инструменты вроде Yagmail и transactional email-сервисов, чтобы вы могли выбрать между «всё под контролем» и готовым решением.

Кому полезно: тем, кто отправляет уведомления, рассылки или отчёты из Python и хочет сравнить подходы.
  • 🔥 2
  • ❤ 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →