Pull to refresh
222
0
Павло @TheShock

Senior JS Developer

Send message

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

Reading time3 min
Views27K
О скруглении углов в html-верстке сказано уже столько, что я пойму тех кто прочитав заголовок иронично улыбнется и подумает «опять 25, ну сколько можно...». Поэтому я постараюсь кратко изложить суть, и сразу предупрежу, что этот метод вы едва ли могли видеть раньше.
Читать дальше →
Total votes 161: ↑143 and ↓18+125
Comments122

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

Reading time1 min
Views43K
Заканчиваем. Предыдущие части: [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.

С поиском чуть лучше.
Читать дальше →
Total votes 77: ↑49 and ↓28+21
Comments39

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

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

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

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

Скриншот:
Total votes 55: ↑48 and ↓7+41
Comments55

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

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

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

Reading time3 min
Views925
image

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

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

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

Недавно было объявлено о скором запуске Chrome Web Store для Chrome Apps.
Так как это тема новая, сообщество GTUG, при поддержке Google, проводит открытый конкурс по Chrome Apps. Основной информационный ресурс тут.
Читать дальше →
Total votes 64: ↑52 and ↓12+40
Comments38

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

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


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

Читать дальше →
Total votes 152: ↑138 and ↓14+124
Comments249

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

Reading time4 min
Views711
Подведены итоги конкурса скриптов размером 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)

Сайт с демками пока лежит, но некоторые из них можно найти на сайтах авторов.
Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments23

Игра, в которой нужно проектировать работу дорожных светофоров

Reading time1 min
Views2.1K
Как-то переходя с одного конца Таганской площади на другой, задумался о том, что для того, чтоб перекрёсток был эффективным, нужно грамотно продумать работу светофоров (с учётом пешеходных переходов), что далеко не самая простая задача.

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

На эту тему было несколько похожих жанром игр. Например игра, в которой нужно на скорость включать/выключать светофоры, чтоб машины успевали проезжать и не врезались — но это быстро надоедает. Ну и несколько игр на физику — в одной нужно строить мосты, в другой — башни, потом нажимать кнопку «test» и смотреть что получилось — это было довольно интересно и увлекательно. Из этого жанра довольно много игр и они довольно популярны.
Total votes 66: ↑56 and ↓10+46
Comments66

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

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

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

заказчик: Пусть аватарки будут в GIF, 25×25 и 40×40
разработчик: Ага, проверяй
заказчик: Уже? Как ты это так быстро делаешь???
разработчик: …
Читать дальше
Total votes 157: ↑140 and ↓17+123
Comments153

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

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

image
Посмотреть можно здесь:
часть1
video.yandex.ru/users/ya-events/view/129
часть2
video.yandex.ru/users/ya-events/view/128
Читать дальше →
Total votes 107: ↑102 and ↓5+97
Comments62

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

Reading time3 min
Views12K

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

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

По старой доброй традиции в зубы был взят Google и начался поиск решения…
Читать дальше →
Total votes 47: ↑34 and ↓13+21
Comments49

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

Reading time3 min
Views864
Это продолжение истории про то, как мы втроем (классическим треугольником из флешера, юниксоида и художника) сделали игру для социальных сетей. Прошло два месяца и хочется поделиться опытом поиска партнеров для развития: оказывается это вполне реально, спасибо Хабру!
Читать дальше →
Total votes 55: ↑45 and ↓10+35
Comments44

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

Reading time13 min
Views70K

Здравствуйте! Я предлагаю вам со мной создать небольшую казуальную игру на нескольких человек за одним компьютером на Javascript Canvas.
В статье я пошагово разобрала процесс создания такой игры при помощи MooTools и LibCanvas, останавливаясь на каждом мелком действии, объясняя причины и логику добавления нового и рефакторинга существующего кода.
Читать дальше →
Total votes 122: ↑111 and ↓11+100
Comments76

Database Connection Pool

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


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

Database Connection Pool (dbcp) — это способ решения изложенной выше проблемы.
Читать дальше →
Total votes 49: ↑34 and ↓15+19
Comments38

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

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

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

libcanvas.com



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

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

Reading time1 min
Views8.6K
Не так давно у меня был не совсем удачный пост про небольшой сервис, эмулирующий браузер iPad. Теперь же мне хочется описать air-приложение, эмулирующее работу браузера iPad.
Читать дальше →
Total votes 25: ↑15 and ↓10+5
Comments7

Делаем игру 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 все эти элементы уже используются в полной мере.
Total votes 35: ↑32 and ↓3+29
Comments9

Web store

Reading time1 min
Views777
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
Total votes 26: ↑15 and ↓11+4
Comments15

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

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

Таким образом я намереваюсь продемонстрировать, что создание приложений на Qt действительно не требует знаний специфики платформы в подавляющем большинстве случаев. И если приложение использует только Qt API, то оно является абсолютно переносимым между официально поддерживаемыми платформами.
Инструкции и результаты под катом.
Total votes 36: ↑34 and ↓2+32
Comments18

Information

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