О скруглении углов в html-верстке сказано уже столько, что я пойму тех кто прочитав заголовок иронично улыбнется и подумает «опять 25, ну сколько можно...». Поэтому я постараюсь кратко изложить суть, и сразу предупрежу, что этот метод вы едва ли могли видеть раньше.
Павло @TheShock
Senior JS Developer
Nano: И всё-таки его придётся выучить [3]
1 min
43KЗаканчиваем. Предыдущие части: [1], [2]. Комбинации для запоминания: undo/redo, поиск/замена.
В конце топика — ссылка на PDF'ку c обобщённой шпаргалкой и её исходник (на картинке скриншот редактора).
Отмена действий по-умолчанию не работает и требует запуска редактора с опцией «поддержка отмены» (да, nano по-умолчанию не поддерживает undo). Ключ командной строки -u.
nano -u sometext.
После этого начинают работать команды:
Заметим, что в справке (Ctrl-G) оно появляется тоже, только если запустить nano с опцией -u.
Если nano запущен без -u, то единственной формой undo является отмена вырезанных по
С поиском чуть лучше.
В конце топика — ссылка на PDF'ку c обобщённой шпаргалкой и её исходник (на картинке скриншот редактора).
Отмена действий по-умолчанию не работает и требует запуска редактора с опцией «поддержка отмены» (да, nano по-умолчанию не поддерживает undo). Ключ командной строки -u.
nano -u sometext.
После этого начинают работать команды:
Alt-U
— undoAlt-E
— redo.Заметим, что в справке (Ctrl-G) оно появляется тоже, только если запустить nano с опцией -u.
Если nano запущен без -u, то единственной формой undo является отмена вырезанных по
Ctrl-K
строк обратным их вставлением — Ctrl-U
.С поиском чуть лучше.
+21
Support Details — поддержка без мучений
1 min
1.2KВсе разработчики (особенно веб-приложений) сталкивались с одной очень важной проблемой — а именно поддержкой пользователей. Техническая подкованность пользователей очень часто ниже базовой, поэтому, вместо чёткого сабмита бага или проблемы, мы получаем что-то похожее на:
Ну или более грамотный сабмит от домохозяйки, но ничуть не более информативный. Так как все экстрасенсы в бессрочном отпуске, то максимум, о чём можно догадаться, это о платформе Windows (из-за популярности платформы среди пользователей Рунета). Но веб-разработчику надо узнать и версию браузера, и много чего другого. Для того, чтобы избежать долгих пыток (себя и юзверя), существует удобный вебо-сервис Emulus Support Details.
На этом сервисе легко можно узнать операционную систему, версию браузера, версию Adobe Flash, а также ряд другой информации. При этом это всё легко можно экспортировать в *.pdf, *.csv, а также отправить на e-mail с указанием отправителя. Таким образом, без долгих попыток вызнать конфигурацию и объяснений, где что узнать и куда нажать, можно получить всю необходимую информацию. Сервис пойдёт на пользу в первую очередь разработчикам приложений на Flash и службам поддержки клиентов.
Скриншот:
Превет я Уася у миня ни робатаить виселоя ферма што делать?77???
Ну или более грамотный сабмит от домохозяйки, но ничуть не более информативный. Так как все экстрасенсы в бессрочном отпуске, то максимум, о чём можно догадаться, это о платформе Windows (из-за популярности платформы среди пользователей Рунета). Но веб-разработчику надо узнать и версию браузера, и много чего другого. Для того, чтобы избежать долгих пыток (себя и юзверя), существует удобный вебо-сервис Emulus Support Details.
На этом сервисе легко можно узнать операционную систему, версию браузера, версию Adobe Flash, а также ряд другой информации. При этом это всё легко можно экспортировать в *.pdf, *.csv, а также отправить на e-mail с указанием отправителя. Таким образом, без долгих попыток вызнать конфигурацию и объяснений, где что узнать и куда нажать, можно получить всю необходимую информацию. Сервис пойдёт на пользу в первую очередь разработчикам приложений на Flash и службам поддержки клиентов.
Скриншот:
+41
Когда не нужна тригонометрия
4 min
54KПросматривая различный код по выводу на экран какой-нибудь даже примитивной графики, я заметил чрезмерную любовь некоторых программистов к тригонометрии. Часто код пестрит синусами, косинусами и арктангенсами там, где без них можно обойтись. Этим грешат даже хорошие программисты, которые способны спроектировать сложную систему, но почему-то не освоили вектора в объёме школьной программы. Буквально азов векторной алгебры хватает для решения многих насущных проблем. В этом топике я хочу провести краткий ликбез, напомнить основные действия с векторами на плоскости и в качестве примера решить две задачи без тригонометрии: поиск отражённого луча по падающему лучу и произвольно расположенному зеркалу, а также рисование наконечника стрелки. Если вы можете представить в голове рисование произвольно направленной стрелки без синусов и косинусов, смело пропускайте этот топик. Для остальных постараюсь объяснять попроще.
+199
Открытый конкурс для разработчиков Chrome Apps
3 min
925Привет, Хабрасообщество!
Интерес к браузеру Google Chrome растет с каждым днем, счастливых пользователей становится все больше. Google развивает этот замечательный продукт так стремительно, что в Chrome 7 обещает увеличение скорости в 60 раз!
Однако Google Chrome — это не только милый и быстрый браузер, но еще и великолепная лаборатория для исследований и экспериментов. Уверен, многие видели невероятные возможности браузера в работе с HTML5 и Расширениями.
Недавно было объявлено о скором запуске Chrome Web Store для Chrome Apps.
Так как это тема новая, сообщество GTUG, при поддержке Google, проводит открытый конкурс по Chrome Apps. Основной информационный ресурс тут.
+40
«Карусель смерти»
1 min
5.1KМуравьи продолжают удивлять нас своим необычным, даже паранормальным, поведением. Предлагаю Вашему вниманию следующую загадку природы…
Аудиоряд: Rammstein — Links 2 3 4
Использованные видеоролики:1, 2, 3 и другие.
Монтаж и пояснения: www.SmartVideos.ru
Аудиоряд: Rammstein — Links 2 3 4
Использованные видеоролики:1, 2, 3 и другие.
Монтаж и пояснения: www.SmartVideos.ru
+124
Итоги конкурса JS1k
4 min
711Подведены итоги конкурса скриптов размером 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)
Сайт с демками пока лежит, но некоторые из них можно найти на сайтах авторов.
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)
Сайт с демками пока лежит, но некоторые из них можно найти на сайтах авторов.
+34
Игра, в которой нужно проектировать работу дорожных светофоров
1 min
2.1KКак-то переходя с одного конца Таганской площади на другой, задумался о том, что для того, чтоб перекрёсток был эффективным, нужно грамотно продумать работу светофоров (с учётом пешеходных переходов), что далеко не самая простая задача.
В связи с чем возникла идея создания игры — таймкиллера, в котором работу светофоров как раз предлагается продумать игроку: рассчитывать время работы, взаимосвязи, режимы работы. При этом это всё завязано на времени суток (на потоке транспорта).
Мне кажется это было бы интересно.
На эту тему было несколько похожих жанром игр. Например игра, в которой нужно на скорость включать/выключать светофоры, чтоб машины успевали проезжать и не врезались — но это быстро надоедает. Ну и несколько игр на физику — в одной нужно строить мосты, в другой — башни, потом нажимать кнопку «test» и смотреть что получилось — это было довольно интересно и увлекательно. Из этого жанра довольно много игр и они довольно популярны.
В связи с чем возникла идея создания игры — таймкиллера, в котором работу светофоров как раз предлагается продумать игроку: рассчитывать время работы, взаимосвязи, режимы работы. При этом это всё завязано на времени суток (на потоке транспорта).
Мне кажется это было бы интересно.
На эту тему было несколько похожих жанром игр. Например игра, в которой нужно на скорость включать/выключать светофоры, чтоб машины успевали проезжать и не врезались — но это быстро надоедает. Ну и несколько игр на физику — в одной нужно строить мосты, в другой — башни, потом нажимать кнопку «test» и смотреть что получилось — это было довольно интересно и увлекательно. Из этого жанра довольно много игр и они довольно популярны.
+46
База изображений в любых форматах и разрешениях
3 min
4.5Kзаказчик: Пусть аватарки пользователей у нас будут в 50×50 и 100×100, в JPEG
разработчик: Готово
заказчик: Надо переделать, чтобы аватарки были в PNG
разработчик: Сделал
заказчик: Пусть аватарки будут в GIF, 25×25 и 40×40
разработчик: Ага, проверяй
заказчик: Уже? Как ты это так быстро делаешь???
разработчик: …
разработчик: Готово
заказчик: Надо переделать, чтобы аватарки были в PNG
разработчик: Сделал
заказчик: Пусть аватарки будут в GIF, 25×25 и 40×40
разработчик: Ага, проверяй
заказчик: Уже? Как ты это так быстро делаешь???
разработчик: …
+123
Самый главный алгоритм
1 min
4.6KОт всей души рекомендую видео лекцию А. Степанова (человека создавшего STL): «о истории алгоритма нахождения наибольшего общего делителя», это популярная лекция оказалась бесконечно интересной, в ней рассказывается, на примере этого алгоритма о развитие алгоритмического знания всего человечества с эпистемологической точки зрения в разрезе истории с античных времен с Пифагора до наших дней до Кнута.
Посмотреть можно здесь:
часть1
video.yandex.ru/users/ya-events/view/129
часть2
video.yandex.ru/users/ya-events/view/128
Посмотреть можно здесь:
часть1
video.yandex.ru/users/ya-events/view/129
часть2
video.yandex.ru/users/ya-events/view/128
+97
Производительность и оптимизация отрисовки графики во Flash
3 min
12KВо время создания нашей игры на флэше (осторожно — вконтакт!), в определенный момент мы столкнулись с проблемой производительности.
FPS начал падать даже на весьма производительных системах… Проблема была типична для всех флэш-игр — большое количество векторной графики. Как вы понимаете, векторная графика — это весьма ресурсоемкая штука. Ведь при рендере плееру приходится заново рассчитывать разнообразные хитрые кривые и т.п., что явно проигрывает по скорости работе с растровой графикой. При чем — проигрывает на порядок (а то и несколько порядков).
По старой доброй традиции в зубы был взят Google и начался поиск решения…
+21
Социальные игры: Земля в опасности — 2!
3 min
864Это продолжение истории про то, как мы втроем (классическим треугольником из флешера, юниксоида и художника) сделали игру для социальных сетей. Прошло два месяца и хочется поделиться опытом поиска партнеров для развития: оказывается это вполне реально, спасибо Хабру!
+35
+19
Создание игры на Javascript Canvas
13 min
70KЗдравствуйте! Я предлагаю вам со мной создать небольшую казуальную игру на нескольких человек за одним компьютером на Javascript Canvas.
В статье я пошагово разобрала процесс создания такой игры при помощи MooTools и LibCanvas, останавливаясь на каждом мелком действии, объясняя причины и логику добавления нового и рефакторинга существующего кода.
+100
Database Connection Pool
3 min
158KДобрый день, хабралюди!
2 недели назад я начал работать juior java разработчиком, и, соответственно, получать много нового для себя опыта. Сегодня я решил совместить приятное с полезным и начать этот опыт оформлять в письменные мысли — в виде статей о тех технологиях, принципах и приёмах, с которыми я столкнулся на своём джуниорском пути. Нижеследующая статья — первая среди подобных, и выкладывая её здесь, я хочу, во-первых, понять, нужны ли хабрасообществу подобные вещи — рассказы не умудрённых опытом и сотнями проектов старожилов, а небольшие попытки поделится опытом от джуниора джуниору, — а во-вторых, как обычно, услышать замечания, исправления и критику.
Спасибо за внимание.
Подавляющее большинство современных веб-приложений использует базы данных для хранения информации. Приложение может обмениваться информацией с БД, используя соединение (database connection). Если создавать при каждом обращении к БД, получается проигрыш во времени: выполнение транзакции может занять несколько милисекунд, в то время как на создание соединения может уйти до нескольких секунд. С другой стороны, можно создать одно-единственное соединение (например, используя шаблон "Singleton") и обращаться к базе данных только через него. Но это решение чревато проблемами, в случае высокой нагрузки: если одновременно сто пользователей попытается получить доступ к базе данных используя одно соединение, образуется очередь, что также пагубно сказывается на производительности приложения.
Database Connection Pool (dbcp) — это способ решения изложенной выше проблемы.
2 недели назад я начал работать juior java разработчиком, и, соответственно, получать много нового для себя опыта. Сегодня я решил совместить приятное с полезным и начать этот опыт оформлять в письменные мысли — в виде статей о тех технологиях, принципах и приёмах, с которыми я столкнулся на своём джуниорском пути. Нижеследующая статья — первая среди подобных, и выкладывая её здесь, я хочу, во-первых, понять, нужны ли хабрасообществу подобные вещи — рассказы не умудрённых опытом и сотнями проектов старожилов, а небольшие попытки поделится опытом от джуниора джуниору, — а во-вторых, как обычно, услышать замечания, исправления и критику.
Спасибо за внимание.
Подавляющее большинство современных веб-приложений использует базы данных для хранения информации. Приложение может обмениваться информацией с БД, используя соединение (database connection). Если создавать при каждом обращении к БД, получается проигрыш во времени: выполнение транзакции может занять несколько милисекунд, в то время как на создание соединения может уйти до нескольких секунд. С другой стороны, можно создать одно-единственное соединение (например, используя шаблон "Singleton") и обращаться к базе данных только через него. Но это решение чревато проблемами, в случае высокой нагрузки: если одновременно сто пользователей попытается получить доступ к базе данных используя одно соединение, образуется очередь, что также пагубно сказывается на производительности приложения.
Database Connection Pool (dbcp) — это способ решения изложенной выше проблемы.
+19
«LibCanvas» — фреймворк для работы с Javascript Canvas, запущен сайт + игра «Asteroids»
1 min
6.4K Здравствуйте. Я продолжаю развитие фреймворка для работы с Javascript Canvas, основанного на MooTools и предназначенного для создания анимаций, игр, ui и всего, что вы пожелаете. И сегодня — очень важный момент для этого фреймворка — публичный запуск официального сайта.
Добро пожаловать на
К запуску мы с greedykid и Nutochka портировали «Asteroids» — культовую игру восьмидесятых, но с более усовершенствованной графикой, которая работает во всех современных браузерах (да-да, про ie < 9 тут ничего не было). Работа над Астероидами показала мне потенциал этой технологии. Я уверен, что это далеко не предел, у меня есть идеи и даже интересные реализации и потому я продолжу развитие этого фреймворка. Ждите новых интересных приложений.
Добро пожаловать на
libcanvas.com
К запуску мы с greedykid и Nutochka портировали «Asteroids» — культовую игру восьмидесятых, но с более усовершенствованной графикой, которая работает во всех современных браузерах (да-да, про ie < 9 тут ничего не было). Работа над Астероидами показала мне потенциал этой технологии. Я уверен, что это далеко не предел, у меня есть идеи и даже интересные реализации и потому я продолжу развитие этого фреймворка. Ждите новых интересных приложений.
+75
Air-эмулятор браузера iPad
1 min
8.6KНе так давно у меня был не совсем удачный пост про небольшой сервис, эмулирующий браузер iPad. Теперь же мне хочется описать air-приложение, эмулирующее работу браузера iPad.
+5
Делаем игру Pinball на Игровом Движке Blender
1 min
3.7KЗакончил перевод 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 все эти элементы уже используются в полной мере.
В главе рассказываются контруктивные особенности создания игры Pinball в BGE.
Наверное все в детстве игрались в эту аркаду. Я помню летом в доме отдыха провел несколько дней рядом с этим аппаратом стуча по кнопкам и заставляя шарик бегать по наклоненному полю и набивать мне очки :)
b3d.mezon.ru/index.php/Blender_GameKit_2/Pinball
В этой главе рассказывается об использовании новых логических блоков (Контроллер NAND, Сенсор Delay (задержка), система State (состояний), и Сенсор Actuator) созданных в рамках Apricot Project и появившихся в Blender 2.48.
P.s.
В следующей главе описывающей создание симулятора подводной лодки в BGE все эти элементы уже используются в полной мере.
+29
Web store
1 min
777Сегодня обновился до версии 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
+4
Пишем виджет рабочего стола под Maemo5 на Qt. Часть первая
9 min
2.7KДоброго времени суток хабрачеловек. Продолжаю писать статьи о N900. На этот раз адресую ее разработчикам. И не только разработчикам для N900 а всем разработчикам вообще.
Адресую всем разработчикам, так как возникает достаточно много споров о том, что для N900 писать не перспективно. По крайней мере у меня сложилось такое впечатление, после прочтения комментариев в обсуждениях моей предыдущей статьи. Вот в этой статье я попытаюсь показать что это не так.
В этой и следующей статьях я продемонстрирую создание приложения для N900 на Qt. И это не простое приложение, а виджет рабочего стола. Исходными данными будут:
Таким образом я намереваюсь продемонстрировать, что создание приложений на Qt действительно не требует знаний специфики платформы в подавляющем большинстве случаев. И если приложение использует только Qt API, то оно является абсолютно переносимым между официально поддерживаемыми платформами.
Адресую всем разработчикам, так как возникает достаточно много споров о том, что для N900 писать не перспективно. По крайней мере у меня сложилось такое впечатление, после прочтения комментариев в обсуждениях моей предыдущей статьи. Вот в этой статье я попытаюсь показать что это не так.
В этой и следующей статьях я продемонстрирую создание приложения для N900 на Qt. И это не простое приложение, а виджет рабочего стола. Исходными данными будут:
- отсутствие знаний Hildon и GTK;
- отсутствие специфичных знаний о мобильных платформах вообще;
- небольшие знания разработки настольных приложений на Qt/С++ или на любом другом языке (в этом случае придется потратить немного больше времени за чтением Qt-документации);
- немножко усидчивости и заинтересованности(хоть это и самый последний пункт, но совершенно очевидно, что он самый важный).
Таким образом я намереваюсь продемонстрировать, что создание приложений на Qt действительно не требует знаний специфики платформы в подавляющем большинстве случаев. И если приложение использует только Qt API, то оно является абсолютно переносимым между официально поддерживаемыми платформами.
+32
Information
- Rating
- Does not participate
- Location
- Киев, Киевская обл., Украина
- Date of birth
- Registered
- Activity