Search
Write a publication
Pull to refresh
223
0
Павло @TheShock

Senior JS Developer

Send message

Настоящее скругление углов картинок на клиенте

Reading time3 min
Views27K
О скруглении углов в html-верстке сказано уже столько, что я пойму тех кто прочитав заголовок иронично улыбнется и подумает «опять 25, ну сколько можно...». Поэтому я постараюсь кратко изложить суть, и сразу предупрежу, что этот метод вы едва ли могли видеть раньше.
Читать дальше →

Nano: И всё-таки его придётся выучить [3]

Reading time1 min
Views44K
Заканчиваем. Предыдущие части: [1], [2]. Комбинации для запоминания: undo/redo, поиск/замена.
Скриншот Scribus с справкой по nano
В конце топика — ссылка на PDF'ку c обобщённой шпаргалкой и её исходник (на картинке скриншот редактора).

Отмена действий по-умолчанию не работает и требует запуска редактора с опцией «поддержка отмены» (да, nano по-умолчанию не поддерживает undo). Ключ командной строки -u.

nano -u sometext.

После этого начинают работать команды:

Alt-U — undo
Alt-E — redo.

Заметим, что в справке (Ctrl-G) оно появляется тоже, только если запустить nano с опцией -u.

Если nano запущен без -u, то единственной формой undo является отмена вырезанных по Ctrl-K строк обратным их вставлением — Ctrl-U.

С поиском чуть лучше.
Читать дальше →

Support Details — поддержка без мучений

Reading time1 min
Views1.2K
Все разработчики (особенно веб-приложений) сталкивались с одной очень важной проблемой — а именно поддержкой пользователей. Техническая подкованность пользователей очень часто ниже базовой, поэтому, вместо чёткого сабмита бага или проблемы, мы получаем что-то похожее на:
Превет я Уася у миня ни робатаить виселоя ферма што делать?77???

Ну или более грамотный сабмит от домохозяйки, но ничуть не более информативный. Так как все экстрасенсы в бессрочном отпуске, то максимум, о чём можно догадаться, это о платформе Windows (из-за популярности платформы среди пользователей Рунета). Но веб-разработчику надо узнать и версию браузера, и много чего другого. Для того, чтобы избежать долгих пыток (себя и юзверя), существует удобный вебо-сервис Emulus Support Details.

На этом сервисе легко можно узнать операционную систему, версию браузера, версию Adobe Flash, а также ряд другой информации. При этом это всё легко можно экспортировать в *.pdf, *.csv, а также отправить на e-mail с указанием отправителя. Таким образом, без долгих попыток вызнать конфигурацию и объяснений, где что узнать и куда нажать, можно получить всю необходимую информацию. Сервис пойдёт на пользу в первую очередь разработчикам приложений на Flash и службам поддержки клиентов.

Скриншот:

Когда не нужна тригонометрия

Reading time4 min
Views54K
Просматривая различный код по выводу на экран какой-нибудь даже примитивной графики, я заметил чрезмерную любовь некоторых программистов к тригонометрии. Часто код пестрит синусами, косинусами и арктангенсами там, где без них можно обойтись. Этим грешат даже хорошие программисты, которые способны спроектировать сложную систему, но почему-то не освоили вектора в объёме школьной программы. Буквально азов векторной алгебры хватает для решения многих насущных проблем. В этом топике я хочу провести краткий ликбез, напомнить основные действия с векторами на плоскости и в качестве примера решить две задачи без тригонометрии: поиск отражённого луча по падающему лучу и произвольно расположенному зеркалу, а также рисование наконечника стрелки. Если вы можете представить в голове рисование произвольно направленной стрелки без синусов и косинусов, смело пропускайте этот топик. Для остальных постараюсь объяснять попроще.
Читать дальше →

Открытый конкурс для разработчиков Chrome Apps

Reading time3 min
Views944
image

Привет, Хабрасообщество!

Интерес к браузеру Google Chrome растет с каждым днем, счастливых пользователей становится все больше. Google развивает этот замечательный продукт так стремительно, что в Chrome 7 обещает увеличение скорости в 60 раз!

Однако Google Chrome — это не только милый и быстрый браузер, но еще и великолепная лаборатория для исследований и экспериментов. Уверен, многие видели невероятные возможности браузера в работе с HTML5 и Расширениями.

Недавно было объявлено о скором запуске Chrome Web Store для Chrome Apps.
Так как это тема новая, сообщество GTUG, при поддержке Google, проводит открытый конкурс по Chrome Apps. Основной информационный ресурс тут.
Читать дальше →

«Карусель смерти»

Reading time1 min
Views5.3K
Муравьи продолжают удивлять нас своим необычным, даже паранормальным, поведением. Предлагаю Вашему вниманию следующую загадку природы…


Аудиоряд: Rammstein — Links 2 3 4
Использованные видеоролики:1, 2, 3 и другие.
Монтаж и пояснения: www.SmartVideos.ru

Читать дальше →

Итоги конкурса JS1k

Reading time4 min
Views725
Подведены итоги конкурса скриптов размером 1024 байт или меньше. Ниже список победителей.

1. Legend Of The Bouncing Beholder (автор: @marijnjh)
2. Миниатюрные шахматы (Oscar Toledo G.)
3. Тетрис со звуком (@sjoerd_visscher)
4. WOLF1K и буквы в цветах радуги (@p01)
5. Бинарные часы (tweetable) (@alexeym)
6. Mother fucking lasers (@evilhackerdude)
7. Схема графического движка (Lars Ronnback)
8. Многопользовательский настольный теннис (@feiss)
9. Генератор кода по азбуке Морзе (@chrissmoak)
10. Пульсирующие 3D-провода (@unconed)

Сайт с демками пока лежит, но некоторые из них можно найти на сайтах авторов.
Читать дальше →

База изображений в любых форматах и разрешениях

Reading time3 min
Views4.5K
заказчик: Пусть аватарки пользователей у нас будут в 50×50 и 100×100, в JPEG
разработчик: Готово

заказчик: Надо переделать, чтобы аватарки были в PNG
разработчик: Сделал

заказчик: Пусть аватарки будут в GIF, 25×25 и 40×40
разработчик: Ага, проверяй
заказчик: Уже? Как ты это так быстро делаешь???
разработчик: …
Читать дальше

Самый главный алгоритм

Reading time1 min
Views4.7K
От всей души рекомендую видео лекцию А. Степанова (человека создавшего STL): «о истории алгоритма нахождения наибольшего общего делителя», это популярная лекция оказалась бесконечно интересной, в ней рассказывается, на примере этого алгоритма о развитие алгоритмического знания всего человечества с эпистемологической точки зрения в разрезе истории с античных времен с Пифагора до наших дней до Кнута.

image
Посмотреть можно здесь:
часть1
video.yandex.ru/users/ya-events/view/129
часть2
video.yandex.ru/users/ya-events/view/128
Читать дальше →

Производительность и оптимизация отрисовки графики во Flash

Reading time3 min
Views12K

Во время создания нашей игры на флэше (осторожно — вконтакт!), в определенный момент мы столкнулись с проблемой производительности.

FPS начал падать даже на весьма производительных системах… Проблема была типична для всех флэш-игр — большое количество векторной графики. Как вы понимаете, векторная графика — это весьма ресурсоемкая штука. Ведь при рендере плееру приходится заново рассчитывать разнообразные хитрые кривые и т.п., что явно проигрывает по скорости работе с растровой графикой. При чем — проигрывает на порядок (а то и несколько порядков).

По старой доброй традиции в зубы был взят Google и начался поиск решения…
Читать дальше →

Социальные игры: Земля в опасности — 2!

Reading time3 min
Views890
Это продолжение истории про то, как мы втроем (классическим треугольником из флешера, юниксоида и художника) сделали игру для социальных сетей. Прошло два месяца и хочется поделиться опытом поиска партнеров для развития: оказывается это вполне реально, спасибо Хабру!
Читать дальше →

Создание игры на Javascript Canvas

Reading time13 min
Views71K

Здравствуйте! Я предлагаю вам со мной создать небольшую казуальную игру на нескольких человек за одним компьютером на Javascript Canvas.
В статье я пошагово разобрала процесс создания такой игры при помощи MooTools и LibCanvas, останавливаясь на каждом мелком действии, объясняя причины и логику добавления нового и рефакторинга существующего кода.
Читать дальше →

Database Connection Pool

Reading time3 min
Views161K
Добрый день, хабралюди!
2 недели назад я начал работать juior java разработчиком, и, соответственно, получать много нового для себя опыта. Сегодня я решил совместить приятное с полезным и начать этот опыт оформлять в письменные мысли — в виде статей о тех технологиях, принципах и приёмах, с которыми я столкнулся на своём джуниорском пути. Нижеследующая статья — первая среди подобных, и выкладывая её здесь, я хочу, во-первых, понять, нужны ли хабрасообществу подобные вещи — рассказы не умудрённых опытом и сотнями проектов старожилов, а небольшие попытки поделится опытом от джуниора джуниору, — а во-вторых, как обычно, услышать замечания, исправления и критику.
Спасибо за внимание.


Подавляющее большинство современных веб-приложений использует базы данных для хранения информации. Приложение может обмениваться информацией с БД, используя соединение (database connection). Если создавать при каждом обращении к БД, получается проигрыш во времени: выполнение транзакции может занять несколько милисекунд, в то время как на создание соединения может уйти до нескольких секунд. С другой стороны, можно создать одно-единственное соединение (например, используя шаблон "Singleton") и обращаться к базе данных только через него. Но это решение чревато проблемами, в случае высокой нагрузки: если одновременно сто пользователей попытается получить доступ к базе данных используя одно соединение, образуется очередь, что также пагубно сказывается на производительности приложения.

Database Connection Pool (dbcp) — это способ решения изложенной выше проблемы.
Читать дальше →

«LibCanvas» — фреймворк для работы с Javascript Canvas, запущен сайт + игра «Asteroids»

Reading time1 min
Views6.5K
Здравствуйте. Я продолжаю развитие фреймворка для работы с Javascript Canvas, основанного на MooTools и предназначенного для создания анимаций, игр, ui и всего, что вы пожелаете. И сегодня — очень важный момент для этого фреймворка — публичный запуск официального сайта.

Добро пожаловать на

libcanvas.com



К запуску мы с greedykid и Nutochka портировали «Asteroids» — культовую игру восьмидесятых, но с более усовершенствованной графикой, которая работает во всех современных браузерах (да-да, про ie < 9 тут ничего не было). Работа над Астероидами показала мне потенциал этой технологии. Я уверен, что это далеко не предел, у меня есть идеи и даже интересные реализации и потому я продолжу развитие этого фреймворка. Ждите новых интересных приложений.
Читать дальше →

Air-эмулятор браузера iPad

Reading time1 min
Views8.7K
Не так давно у меня был не совсем удачный пост про небольшой сервис, эмулирующий браузер iPad. Теперь же мне хочется описать air-приложение, эмулирующее работу браузера iPad.
Читать дальше →

Делаем игру Pinball на Игровом Движке Blender

Reading time1 min
Views3.7K
imageЗакончил перевод 5 главы книги Blender GameKit2

В главе рассказываются контруктивные особенности создания игры Pinball в BGE.

Наверное все в детстве игрались в эту аркаду. Я помню летом в доме отдыха провел несколько дней рядом с этим аппаратом стуча по кнопкам и заставляя шарик бегать по наклоненному полю и набивать мне очки :)

b3d.mezon.ru/index.php/Blender_GameKit_2/Pinball

В этой главе рассказывается об использовании новых логических блоков (Контроллер NAND, Сенсор Delay (задержка), система State (состояний), и Сенсор Actuator) созданных в рамках Apricot Project и появившихся в Blender 2.48.

P.s.
В следующей главе описывающей создание симулятора подводной лодки в BGE все эти элементы уже используются в полной мере.

Web store

Reading time1 min
Views785
image
Сегодня обновился до версии 6.0.472.0 dev и первое что я заметил это иконку web-приложения. (какую, видите сами!!!)
Предвкушая нечто фееричное, спустя 3 секунды раздумий, кликнул по ярлыку, однако меня кинуло на chrome.google.com/extensions?hl=ru
Я так понимаю, уже вот-вот…
upd
в списке установленных расширений/приложений — не значится!
для тех, кто ещё не выбрал канал:
Stable channel: www.google.com/chrome?platform=win
Beta channel: www.google.com/chrome/eula.html?extra=betachannel
Dev channel: www.google.com/chrome/eula.html?extra=devchannel

Пишем виджет рабочего стола под Maemo5 на Qt. Часть первая

Reading time9 min
Views2.8K
Доброго времени суток хабрачеловек. Продолжаю писать статьи о N900. На этот раз адресую ее разработчикам. И не только разработчикам для N900 а всем разработчикам вообще.
Адресую всем разработчикам, так как возникает достаточно много споров о том, что для N900 писать не перспективно. По крайней мере у меня сложилось такое впечатление, после прочтения комментариев в обсуждениях моей предыдущей статьи. Вот в этой статье я попытаюсь показать что это не так.
image
В этой и следующей статьях я продемонстрирую создание приложения для N900 на Qt. И это не простое приложение, а виджет рабочего стола. Исходными данными будут:
  • отсутствие знаний Hildon и GTK;
  • отсутствие специфичных знаний о мобильных платформах вообще;
  • небольшие знания разработки настольных приложений на Qt/С++ или на любом другом языке (в этом случае придется потратить немного больше времени за чтением Qt-документации);
  • немножко усидчивости и заинтересованности(хоть это и самый последний пункт, но совершенно очевидно, что он самый важный).

Таким образом я намереваюсь продемонстрировать, что создание приложений на Qt действительно не требует знаний специфики платформы в подавляющем большинстве случаев. И если приложение использует только Qt API, то оно является абсолютно переносимым между официально поддерживаемыми платформами.
Инструкции и результаты под катом.

Blender GameKit 2 — первая глава на русском языке

Reading time1 min
Views5.3K
image

Первая глава из книги «Blender GameKit2» описывающая процесс создания игры в Blender теперь и на русском языке.

b3d.mezon.ru/index.php/Blender_GameKit_2/Pumpkin_Run_-_playing_with_3D_games_technology

Эта статья будет полезна всем начинающим игростроителям и интересующимся данной темой.

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity