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

Привет, читатели!

На той неделе у нас вышло переиздание классической книги «Архитектура компьютера».

image

Предлагаем пополнить коллекцию хорошими книгами с 18% скидкой, подробности внутри
Читать полностью »

Привет!

Как я учился на своих ошибках или как сделать вторую игру лучше - 1

Хочу поделиться с вами опытом разработки двух игр под Андроид, их продвижением и рассказать об ошибках, которые я совершал, и как я решил их избежать в будущем. Год назад я начал делать свою первую игру на Андроид. Всё начиналось с идеи. Обычная, ничем не примечательная — запоминать фигурки на экране. Ради опыта и своего первого проекта на Google Play я начал усердно работать с моим братом.

Ошибка №1 — Нежелание прислушиваться к чужому мнению

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

Сам Unity Engine (далее Unity), как и многие другие игровые движки, наиболее приспособлен к компонентно-ориентированному программированию (далее КОП), так как Behavioral Pattern — один из базовых паттернов архитектуры движков, наряду с паттерном «Component» из классификации Decoupling Patterns. Потому именно компонент является базовой единицей для реализации бизнес-логики в Unity. В этой статье я расскажу о том, как применять КОП в Unity.
Читать полностью »

В тюрьме Кремниевой долины организовали видеолекции

В тюрьме с инкубатором стартапов теперь учат программировать - 1Основной проблемой системы наказания в уголовном праве остаётся высокий процент рецидивной преступности и повторного попадания заключённого в пенитенциарное учреждение. И с этим активно борются, пытаясь устроить будущую жизнь заключённых на свободе.

Иногда меры этого противодействия выглядят несколько странно и экзотично, к примеру, два года назад в тюрьме Сан-Квентина впервые проводилась программа Последней мили, в рамках которой заключённые изучали основы предпринимательства и социальных медиа. Этим дело не ограничилось: как в самом настоящем инкубаторе стартапов проекты заключённых показали реальным предпринимателям. И ничего не удивительного в этом нет: Кремниевая долина расположена в часе езды от этой тюрьмы.

Теперь заключённых в тюрьме Сан-Квентина начали учить азам веб-программирования. И это выглядит вполне оправданным шагом: с подобными знаниями они вполне смогут устроиться в жизни. В прошлый четверг от руководства тюрьмы поступили приглашения местным СМИ посмотреть на то, как в рамках проекта Code 7370 18 заключённых в течение 6 месяцев по четыре дня в неделю по восемь часов в сутки изучают HTML, CSS и JavaScript. Как заявляется, это первый случай, когда в тюрьме США заключённых учат писать код.
Читать полностью »

Часть 1. Challenge

Читая ленту на oDesk, наткнулся на интересный проект по моему направлению (а я отслеживаю, в основном, задачи на написать что-то, прикрутить что-то или иным способом замучить Google Apps Script или приложения Google Apps). Клиент просил написать скрипт, который будет отсылать ему выделенный фрагмент из Google Spreadsheet по нажатию кнопки. Но была в описании одна фраза, зацепившая меня — «Мне сказали, что невозможно создать скрипт, который будет печатать из Google Apps». Я всегда очень любил и люблю «невозможные» задачи:

— Мы сами знаем, что она не имеет решения, — сказал Хунта, немедленно ощетиниваясь. — Мы хотим знать, как её решать.
Аркадий и Борис Стругацкие. Понедельник начинается в субботу

Статья рассчитана на читателей, уже знакомых с Google Apps Script и сопутствующими технологиями.
Читать полностью »

Игру Smash Bros. портировали под калькуляторы TI-83-84 - 1

Калькуляторы типа TI-83/84 от Texas Instruments — это специализированные вычислительные устройства, которые далеко ушли от тех калькуляторов, к которым многие из нас привыкли. Возможности таких устройств весьма обширны, и благодаря такой функциональности некоторые умельцы даже запускают на калькуляторах Texas Instruments игры.

К примеру, еще пару лет назад на калькуляторах запустили Portal. Теперь настала очередь классической аркады Super Smash Bros.

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

Часто при многопользовательском или параллельном доступе к данным возникает ситуация, когда необходимо заблокировать/дать доступ к переменной или участку памяти одновременно нескольким процессам. Решается данная задача с помощью мьютексов, семафоров, мониторов и т. д. В данном посте рассмотрим как же реализован один из методов предоставления совместного доступа к данным — семафор — в СУБД Intersystems Caché.
Семафоры, или как разруливать доступ к ресурсам в DBMS Caché - 1 Семафоры, или как разруливать доступ к ресурсам в DBMS Caché - 2
Читать полностью »

Привет.

Многие разработчики, интересующиеся разработкой пользовательских интерфейсов (да и просто пользователи Android) уже успели ознакомиться с новой концепцией интерфейса Material Design, активно продвигаемой Google в рамках выпуска Android 5.0. Знакомясь с руководством по оформлению приложений и внимательно разглядев недавно обновившийся Google Play, я обратил внимание на один очень симпатичный компонент — иконку меню (в народе известную как hamburger icon), анимированно превращающуюся в иконку «назад», и решил реализовать такой компонент на Qt с использованием декларативного языка описания интерфейса QML.

QML: анимированная иконка-«бутерброд» в стиле Material Design за 20 минут - 1

В этой статье я расскажу, как реализовать такой компонент и с какими проблемами и сложностями можно столкнуться в процессе. Ссылка на полный исходный код в конце поста.

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

Представим типичный пользовательский интерфейс. Есть несколько элементов управления, которые запускают некоторые повторяемые (за время жизни приложения) действия разной сложности. Чтобы сложные действия, такие как обращение к различным носителям, обращение к сети или сложное вычисление, не снижали отзывчивость интерфейса, они должны быть асинхронными. Дополнительно могут быть элементы управления, отменяющие асинхронно запущенное действие. Действие имеет свойство состояния (неактивно, запущено, завершено успешно, завершено с ошибкой, отменено), которое тем или иным образом отображается пользователю. Принятый в WPF, Silverlight и WinPhone шаблон проектирования MVVM диктует, чтобы такое «действие» было частью модели представления, давая возможность вызывать сервисы модели из пользовательского интерфейса без создания между ними жёсткой связи. К сожалению, такое «действие» в базовой библиотеке классов не реализовано. Ближайшие имеющиеся в библиотеке сущности, такие как задачи System.Threading.Tasks.Task, команды System.Windows.Input.ICommand и делегаты System.Delegate, не подходят: задачи всегда одноразовые и не могут представлять повторяемое действие, делегаты и команды не поддерживают отмену и не содержат свойств состояния, а команды вообще не могут быть асинхронными. Далее я предлагаю решение в виде небольшой библиотеки классов, дающей возможность легко использовать описанные «действия» в ваших приложениях.
Читать полностью »

Синтаксис Lua позволяет реализовать шаблоны в стиле PHP буквально несколькими регулярными выражениями.
Для начала посмотрим, что из этого выйдет.

Подстановка переменных

<a href="<%url%>"><%label%></a>

Логические конструкции

Будет
<? if 1 > 2 then ?>
лучше
<? else ?>
хуже
<? end ?>

Циклы

<ul>
<? for i = 1, 9999 do ?>
  <li>ФЗ №<%i%></li>
<? end ?> 
</ul>

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


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