Рубрика «Программирование» - 606

image

Всем привет!

Серией данных дайджестов на Habrahabr хотелось бы продолжить некогда начатую alrusdi, Dead_Angel, WarmongeR идею опубликования свежих новостей, статей, релизов из мира Python.

Планируется выпускать дайджест 2 раза в месяц. Это будет не очень большие по размеру статьи с интересными (на взгляд автора) материалами из мира Python. Будут очень приветствоваться присланные актуальные материалы, которые будут добавлены в ближайший дайджест, а также люьые замечания и предложения.

А теперь к делу!

Читать полностью »

На Code.org у детей не сохранилась домашняя работа: кончился 32-битный индекс - 1
Задание из вступительного курса «Введение в информатику» на платформе Code Studio

Сайт для обучения программированию Code.org попал в неловкую ситуацию. Из-за «технических проблем» на платформе Code Studio утром 20 января с 9:19 до 10:33 PST работы школьников по программированию — весь написанный код и другие действия на сайте — не удалось сохранить.

Технический директор образовательного сайта Джереми Стоун (Jeremy Stone) оперативно опубликовал объяснение произошедшего: «До нынешнего времени мы хранили работы по программированию учеников в таблице с 32-битным индексом, — написал он. — Эта база данных может хранить только 4 млрд строк информации об активности. Мы не осознавали, что приближаемся к этому лимиту, и таблица заполнилась».
Читать полностью »

Классические алгоритмы генерации лабиринтов. Часть 1: Вступление - 1

Предисловие


На написание статьи меня сподвигло практически полное отсутствие материалов на русском языке про алгоритмы генерации лабиринтов. На Хабре, из того, что вообще есть по теме, можно отметить две статьи: раз и два. Ценность и пользу из которых несет лишь вторая. В первой – просто перевод формального алгоритма и небольшое его пояснение. Что, конечно, неплохо, но очень скудно и не вызывает желания изучать тему дальше.

Если моя статья Вам понравится, я продолжу писать о различных алгоритмах. Мы рассмотрим два самых примитивных и простых случая – генерация двоичного дерева и Сайдвиндер, который, по своей сути, просто чуть измененная версия двоичного дерева со одним заметным плюсом. ОСТОРОЖНО ТРАФИК.Читать полностью »

Марк Рейнхольд (Mark Reinhold) главный архитектор платформы Java в Oracle на днях сообщил в рассылке что разработка JDK 9 прошла фазу «Feature Complete». Что значит, что добавление новой функциональности в проект приостановлено и теперь необходимо сконцентрировать усилия сообщества разработчиков на исправлении ошибок.
Читать полностью »

Blockchain — это технология, на базе которой построен Bitcoin. И если пару лет назад вся слава доставлась криптовалюте, то сегодня все чаще можно слышать смелые фразы вроде: "Forget Bitcoin, Long Live Blockchain". Активно развиваются платформы вроде Ethereum, IPFS или Overstock, которые рассматривают блокчейн не как инструмент для создания еще одной платежной системы, а как совершенно обособленную технологию, сравнимую по своей инновационности разве что с Интернетом.

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

meme

Читать полностью »

Даже люди, бесконечно далекие от темы криптовалют, скорее всего слышали про майнинг. Наверное и ты, дорогой читатель, задумывался о том, чтобы включить свой игровой Pentium 4 на ночь, а утром проснуться уже богатым.

Но, как это часто случается в мире блокчейна, тех кто слышал — много, а вот тех, кто реально понимает процесс от начала до конца, — единицы. Поэтому в последней главе я пострался максимально подробно охватить все тонкости, начиная от технической реализации PoW, заканчивая рентабельностью майнинга на видеокартах.

mining_meme

Читать полностью »

В среде программирования Scratch область действий ограничена сценой. Сцена дает возможность смотреть на мир в рамках по х от -240 до 240. А по у от -180 до 180. Но что делать, когда этого пространства недостаточно? Как снять это ограничение? 

Расширение мира в Scratch - 1
Читать полностью »

image

Здравствуйте, уважаемые читатели! Вот я и добрался до Хабра и хочу поведать здесь историю своего проекта. Многие аспекты собственного опыта и работы приходится описывать довольно общими терминами, чтобы не задеть коммерческую тайну тех организаций, о которых идёт речь.

Суть данного рассказа в том, чтобы поделиться найденным методом решения проблемы производительности компьютеров на Windows и рассказать про подход, который позволил сделать данное решение полностью универсальным и индивидуальным для каждого пользователя. На написание кода и подбор наиболее эффективных механизмов потребовалось около 2х лет ежедневной работы, а также консультации и помощь от большого количества моих товарищей из разных IT областей, за что им огромное спасибо.
Читать полностью »

Часть 2. Генераторы

В вводной статье серии вы, надеюсь уже, успели познакомиться с генераторами. В этом туториале мы закрепим полученные знания, научимся писать собственные (в том числе рекурсивные) генераторы. Хотя он и посвящен генераторам, про свойства мы тоже не забудем. Более того, мы будем их активно использовать, демонстрируя всю мощь механизма генераторов. Рассмотрим механизм предусловий (preconditions). Возможно, более логичным было бы посвятить свойствам вторую статью серии и, возможно, это стало бы правильным решением. Однако, по моим личным наблюдениям, наибольшие трудности вызывают именно генераторы. Свойства мы рассмотрим в следующей статье.

Читать полностью »

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

Хочу предупредить, что статья нацелена на новичков. Людей которые хотели бы написать свою первую многопользовательскую игру. Если вы хоть раз занимались сетевым взаимодействием в играх, ничего полезного здесь не найдёте.

Техническое отступление

И дабы не остаться теоретическим материалом была написана небольшая демка. Ее можно запустить, посмотреть какими данными обмениваются клиент и сервер. На чьём примере и будет рассмотрено клиент-серверное взаимодействие.

Приложение использует технологию canvas для графики и websockets для взаимодействия с сервером. Код не является предметом обсуждения, поэтому писался быстро (основная часть около 2-3 часов), без проектирования и рефакторинга. Я не рекомендую использовать его или его часть где бы то ни было.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js