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

В прошлом посте я обосновал то как можно с помощью javascript проигрывать покадровую анимацию.

На основе предыдущей статьи я написал скринсейвер по играм.

Как устроен скринсейвер:
Вначале я написал сам скринсейвер, представляющий собой небольшую программку-браузер, растянутую на весь экран.
Основная анимация скринсейвера была написана на javascript.

Вот несколько скриншотов скринсейвера:

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

На идею создания небольшого движка покадровой анимации меня подтолкнул гугл.

image

Виды покадровых картинок, которые javascript движок превращает в анимацию:

1.

|1кадр|2кадр|3кадр|4кадр|5кадр|...|

2.

|1кадр|
|2кадр|
|3кадр|
|4кадр|
|5кадр|
|...|

3.

|1кадр|2кадр|3кадр|
|4кадр|5кадр|6кадр|
|7кадр|8кадр|9кадр|

В итоге я написал два движка которые позволяют создавать анимацию из спрайтов.
cartoon_background.js
cartoon_image.js
Читать полностью »

Время от времени я вступаю в обсуждения о том, что я писал, чтобы узнать, каковы общие настроения и не сделал ли я какую-нибудь ужасную ошибку, о которой мне просто никто не сказал. Самые неожиданные комментарии, которые я встретил, касались того, насколько быстро этот сайт загружается, ведь для большинства страниц нужно всего два запроса — один на HTML-файл и один на CSS, — в сумме меньше десяти килобайт, и что это впечатляет.

Отчасти эта скорость обусловлена удачей. Я использую виртуальный хостинг и не могу контролировать работу других сайтов на том же сервере.

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

Сегодня существуют разные мнения по поводу успешности объектной технологии. С одной стороны, большинство современных mainstream языков программирования являются объектно-ориентированными, с другой стороны, нередко можно услышать критику ООП, дескать, объектно-ориентированное программирование «провалилось» и не оправдало тех надежд, которые были возложены на нее индустрией разработки ПО. Все, мол, ожидали наступления вселенского счастья в виде увеличения повторного использования, упрощения сопровождения, да и вообще, обещали, что думать придется кому-то другому, а я за это буду деньги получать.

Причин у подобных разочарований тоже несколько. Во-первых, такое отношение к ООП может быть следствием завышенных ожиданий, а ведь Фред Брукс еще двадцать лет назад писал о том, что не стоит ждать «серебряных пуль», способных на порядок увеличить продуктивность труда программиста. Во-вторых, никто из серьезных сторонников ООП (типа Гради Буча или Бертрана Мейера) не обещали, что все будет просто. ООП – это не волшебная палочка, которая сделает из любого УГ конфетку, даже обертку которой можно будет использовать повторно.

Так вот вопрос: как же можно достичь той заветной мечты, когда системы можно будет строить из готовых компонентов, не написав при этом ни строчки кода? Я не уверен, что в таком виде эта мечта вообще осуществима из-за неотъемлемой сложности ПО, а также потому, что часто само решение влияет на решаемую задачу. Тем не менее, если направить энергию, затрачиваемую на повторное использование в правильное русло, то с разумным количеством трудозатрат можно поднять «реюз» кода на достойный уровень.

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

Меня время от времени озадачивают вопросами в связи с мимолётной заметкой, которую я сделал в 2010, по поводу того, что я больше не программирую ради заработка. Это правда. Я не работал в качестве full-time программиста с 2003-го. Короткая версия этих вопросов — «Почему?». Более длинная версия — «Слушай, ты ведёшь супер-технический блог о программировании и, похоже, ты знаешь все эти штучки, но неужели ты не хочешь работать программистом?».Читать полностью »

19 мая в офисе JetBrains состоится вторая встреча Scala-разработчиков в Санкт-Петербурге. Первая встреча прошла 1 октября, отчет с видео можно посмотреть по ссылке.

image

Подробнее о докладах на странице мероприятия или под катом.

Мероприятие бесплатное, для посещения необходимо зарегистрироваться.

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

Отечественные Qt проектыКак известно, с использованием фреймворка Qt написано немало программ, причём отечественных среди них в последнее время становится всё больше. Итак, что же было написано в России с использованием этого фреймворка?

Kaspersky Internet Security

Kaspersky Internet Security 2012 – решение для обеспечения оптимального уровня безопасности. Инновационная гибридная защита мгновенно устраняет вредоносные программы, спам и другие интернет-угрозы, экономя ресурсы компьютера за счет комбинации облачных и антивирусных технологий.

В папке программы обнаружил следующие модули: qtcore, qtdeclarative, qtgui, qtnetwork, qtscript, qtsql, qtwebkit.

2ГИС

2ГИС – бесплатный электронный справочник организаций с картой города. 11 550 000 пользователей ПК в более чем 150 городах России и Украины регулярно используют 2ГИС в личных целях и для решения бизнес-задач.

Пруфлинк: «Оффлайновая версия 2ГИС разработана с использованием фреймворка Qt 4.8 и имеет нативный интерфейс, созданный в соответствии с Apple Human Interface Guidelines».Читать полностью »

Привет, дорогой читатель!

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

Вступление

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

image

Файл проекта находится здесь.

Под катом вы увидите исходный код программы и пояснения к нему.

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

image

Можно долго спорить, является ли возможность перегружать операторы сильной или слабой стороной конкретного языка. Но факт остается фактом — в Scala такая возможность есть. Так почему бы её не использовать?

Материал статьи рассчитан в основном на начинающих Scala-разработчиков.

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

Пару недель назад я пил пиво с друзьями в Сан-Франциско и кто-то язвительно заметил:

У тебя слишком много хипстеров, эдак вы не отмасштабируетесь. Найми несколько жиробасов, знающих C++."

Шутка смешная, но заставила меня задуматься. Кто эти «жиробасы, знающие C++» или, как сказал еще кто-то, «бородатые парни в растянутых свитерах, которые поддерживают сервера Google»? И почему если ты встретил одного из них, это как дернуть за нитку клубка и они вообще все, похоже, друг друга знают?

Причина в том, что…
Читать полностью »


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