Как стать автором
Обновить
33
0
Chikiro @Chikiro

Пользователь

Отправить сообщение

Написание приложений, основаных на Qt, на языке Python

Время на прочтение5 мин
Количество просмотров120K
Доброе время суток.
Недавно решил изучить ещё один язык программирования. Выбор пал на python. Написал несколько маленьких скриптов. Но прежде всего я хотел писать приложения с графическим интерфейсом. В интернете наткнулся на этот небольшой туториал, прочтение которого вылилось в предлагаемый Вашему вниманию перевод. Надеюсь, что кому-нибудь он будет полезен.


Это руководство нацелено на получение представления о том как писать маленькие приложения на python, использующие библотеку Qt.

Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии34

Оптимизация JavaScript — делаем билд процесс

Время на прочтение2 мин
Количество просмотров2K
В моем проекте очень много классов взаимодействуют на клиентской части. Каждый класс лежит в отдельном файле для удобства разработки. Хорошей практикой для увеличения скорости загрузки страницы, является уменьшение количества запросов к серверу. Поэтому чем меньше файлов и рисунков включать в страницу тем быстрее она загрузится. В случае с рисунками – СSS спрайты помогут уменьшить количество запросов. А в случае с js и css файлами – это конкатенация файлов и сжатие. Об этом и поговорим.

Очень удобный инструмент с открытым исходным кодом js-builder

js-builder

Отличный инструмент для того чтоб сформировать в правильном порядке конкатенацию файлов. Работает с любыми расширениями, которые задаешь. Также сжимает js.
В моем проекте я использую библиотеку prototype.js. Билдер при сжатии прототайпа выдает эксепшн. Поэтому я скачал исходники и перебилдил так чтоб билдер занимался только конкатенацией без сжатия. Пересобранную длл, можно скачать тут
Билдер также содержит консольное приложение. А это то что нужно для билда.
Далее необходимо сделать компрессию файлов которые сгенерирует билдер.
Для этой цели я использовал YUI Compressor. Отличная библиотека с высокой степенью сжатия.
Осталось только как то автоматизировать процесс сборки. Для этого я написал batch файл (я в виндовс работаю).
Выглядит он (build.bat) примерно так
set path1=D:\Projects \build\

%path1%JSBuilder\JSBuildConsole.exe /path=%path1%MyHeritageBuild.jsb

java -jar %path1%yuicompressor-2.3.1\build\yuicompressor-2.3.1.jar
%path1%build\output_file_from_js_builder.js -o %path1%target-min.js

java -jar %path1%yuicompressor-2.3.1\build\yuicompressor-2.3.1.jar
%path1%build\style-all.css -o %path1%style-all-min.css


В моем случае джс билдер на выходе дает 2 файла — css и js, а компрессор их сжимает.
Надеюсь это поможет вам создать удобный процесс сборки файлов.

Эту статью я взял из своего техноблога на сайте www.kigorw.com
Всего голосов 29: ↑26 и ↓3+23
Комментарии13

text-overflow в Firefox и все, все, все

Время на прочтение9 мин
Количество просмотров14K
Многие наверняка сталкивались с проблемой, когда какой-нибудь текст нужно выводить в одну строку. При этом текст может быть весьма длинным, а ширина блока, в котором этот текст находится, обычно ограничена, хотя бы тем же размером окна браузера. На эти случаи придумано свойство text-overflow, которое внесено в рекомендацию CSS3, а впервые было реализовано в IE6, очень давно. В случае использования этого свойства для блока, если его текст больше по ширине чем сам блок, то текст обрезается и в конце ставится многоточие. Хотя тут не все так просто, но вернемся к этому чуть позже.
С Internet Explorer'ом все понятно, что же относительно других браузеров? И хотя в настоящий момент из спецификации CSS3 свойство text-overflow исключено, Safari его поддерживает (по крайней мере, в 3-й версии), Opera тоже (с 9-й версии, правда называется свойство -o-overflow-text). А Firefox — нет, не поддерживает, и даже в 3-й версии не будет. Печально, но факт. Но может можно что-то сделать?

Читать дальше →
Всего голосов 63: ↑58 и ↓5+53
Комментарии48

CSS: все о сжатии

Время на прочтение1 мин
Количество просмотров1.7K
После статей «Практический CSS/JS: архивируем все!» и «JavaScript: жать или не жать» стало ясно, что проблема уменьшения CSS-файлов в размере действительно актуальна, и общественности хотелось бы аналогичного исследования уже конкретно для такой оптимизации. Которое, собственно, и приведено ниже.

В интернете было найдено 6 различных инструментов для минимизации CSS-кода (однако, с одним из них, перловым модулем, разобраться не удалось, поэтому приведены результаты только для 5), далее ими обрабатывались несколько примеров, которые затем подвергались еще и архивированию. Результаты, опять-таки, представлены в виде графиков, ибо таблицы я нахожу менее информативными.

График сжатия CSS-файлов

читать дальше на webo.in →
Всего голосов 41: ↑39 и ↓2+37
Комментарии29

Оптимизируем «тяжелые» JavaScript-вычисления

Время на прочтение1 мин
Количество просмотров2.1K
Примечание: ниже приведен перевод заметки из блога разработчика YUI-утилит Julien Lecomte «Running CPU Intensive JavaScript Computations in a Web Browser», в которой автор рассматривает выполнение «тяжелых» вычислений в веб-браузере и приводят ряд методов для их «оптимизации». Мои комментарии даны курсивом.

Введение



Шаблон, который я хочу ниже обсудить, хорошо известен и используется уже более 10 лет. Целью данной заметки является представить этот шаблон в новом свете и, что более важно, обсудить возможные пути для уменьшения накладных расходов.

Наиболее существенным препятствием для выполнения в веб-браузере «тяжелых» вычислений является тот факт, что весь интерфейс пользователя в браузере останавливается и ждет окончания исполнения JavaScript-кода. Это означает, что ни при каких условиях нельзя допускать того, чтобы для завершения работы скрипта требовалось более 300 мс (а лучше, если горадо меньше). Нарушение этого правила неминуемо ведет к плохому восприятию ресурса пользователем (bad user experience).

К тому же в веб-браузерах у JavaScript-процесса имеется ограниченное время для завершения своего выполнения (это может быть как фиксированное число — в случае браузеров на движке Mozilla — или какое-либо другое ограничение, например, максимальное число элементарных операций — в случае Internet Explorer). Если скрипт выполняется слишком долго, то пользователю выводится диалоговое окно, в котором запрашивается, нужно ли прервать скрипт.

читать дальше на webo.in →
Всего голосов 37: ↑34 и ↓3+31
Комментарии19

Практический JS: разгоняем все, что движется

Время на прочтение1 мин
Количество просмотров876
Примечание: ниже находится перевод статьи «Speed Up Your Javascript Load Time», в ней автор рассматривает некоторые наиболее эффективные техники и методы действия по уменьшению времени отработки JavaScript'а на клиенте. Большая часть из них общеизвестна, но в статье важно не просто их перечисление, а общий подход для решения задачи оптимизации времени загрузки. Далее мои комментарии курсивом.

JavaScript становится все популярнее и популярнее. Каждый уважающий себя вебсайт старается применить его хоть где-нибудь: будь то подгрузка динамических данных через AJAX, или же некоторые специальные (визуальные) эффекты. К несчастью, за все нужно платить: приходится использовать «тяжелые» JavaScript-библиотеки, которые добавляют к размеру вашей страницы десятки или даже сотни килобайтов кода.

Пользователи так ненавидят ждать: им подавай все и сразу. Давайте тогда рассмотрим несколько методов, которые помогут вам «причесать» ваш сайт. Здесь находятся все рабочие примеры, которые будут приведены далее.

читать дальше на webo.in →
Всего голосов 51: ↑49 и ↓2+47
Комментарии27

Десять рекомендаций разработчику программного обеспечения

Время на прочтение6 мин
Количество просмотров2.8K
Разработка комплексных программных систем сопряжена со значительными трудностями, обусловленными необходимостью:
a) быстрого создания прототипа системы,
b) обеспечения качества ее модели и исходных кодов,
с) внесения изменений в течение жизни системы.

Далее приведены десять рекомендаций, которые помогут разработчикам на их трудном пути создания комплексных систем.
Читать дальше →
Всего голосов 28: ↑22 и ↓6+16
Комментарии18

Эффективный цветовой контраст. Дизайн для людей с частичными проблемами зрения и восприятия цвета

Время на прочтение2 мин
Количество просмотров6.4K
Здесь упоминаются три основных правила эффективного выбора цветов, которые хорошо воспринимаются практически всеми. Далее приводятся объяснения трех свойств цвета в человеческом восприятии — тона, яркости и насыщенности — в контексте науки о зрении.

Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии19

MooTools 1.2 Beta 2

Время на прочтение1 мин
Количество просмотров690
На днях вышла вторая бета MooTools версии 1.2

Что нового:
Всего голосов 16: ↑15 и ↓1+14
Комментарии15

Прототипирование web-сайтов. Собирая воедино.

Время на прочтение8 мин
Количество просмотров24K
«Единственный возможный источник экономического подъема – это повышение качества и, как следствие, привлекательности продукта или услуги. А повышения качества невозможно добиться, сокращая затраты на проектирование и программирование»
Алан Купер «Психбольница в руках пациентов»

Спасибо всем, кто принял участие в голосовании на Хабрахабре:
1. Как выглядит процесс прототипирования в твоей компании?
2. Кто занимается прототипированием web-проектов в которых ты участвуешь?
3. Устраивает ли вас текущая ситуация с прототипированием web-сайтов в вашей компании?
Пришло время обсудить результаты
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии40

Вперед в будущее! Переход с ICQ на Jabber

Время на прочтение6 мин
Количество просмотров38K
*Преамбула*
В связи с глобальной тенденцией перехода умных людей на Jabber, и инертного сопротивления этому переходу людьми, привыкшими к ICQ, было принято решение написать качественную аргументированную статью, о том, почему же все таки стоит сменить средство общения.
Итак, статья:


Для многих из нас ICQ является синонимом слов «общение в интернете», мы используем его по делу и для развлечения, находим с его помощью новых друзей и поддерживаем связь со старыми. За годы использования этой программы накопились сотни контактов в списке и длиннющая история переписки. В общем, все вроде бы устраивает, и идея перейти на что-то новое сразу наталкивается на логичный вопрос: «А зачем? Мне и так неплохо».

Итак, Jabber — это не очередной ICQ-клиент. Это система онлайн-общения нового поколения.
Она пришла на смену устаревшим месенджерам, место которых уже давно на интернет-свалке.

jabber
Почему же общаться в Jabber лучше, чем в ICQ?
Всего голосов 167: ↑157 и ↓10+147
Комментарии386

Конструктор для создания контент-зависимых приложений в стиле Веб 2.0

Время на прочтение5 мин
Количество просмотров3K
SAPID CMF
Речь пойдет о недавно открытом Open Source проекте SAPID CMF. Само по себе название SAPID кому-то может показаться чем-то смутно знакомым. Да, жила-была такая простенькая CMS SAPID, которая позволяла администрировать сайты inline, требовала лишь 1МБ дискового пространства и умудрялась обходиться без СУБД. Однако мало кто помнит, что создавалась эта система с целью продемонстрировать возможности парадигмы XML Sapiens. CMS SAPID благополучно и помпезно встретила свою первую годовщину, а затем 2 года никаких существенных ее новых релизов, как это ни прискорбно, не наблюдалось. Впрочем, последний год на сайте сообщества SAPID время от времени проскакивала информация о работах над новой ветвью проекта SAPID CMF. Вуаля! Вот она — ветка, доступна для загрузки
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии23

Blitz Templates

Время на прочтение2 мин
Количество просмотров3.8K


Blitz Templates — быстрый и удобный шаблонизатор для крупных интернет-проектов, разрабатываемых на php. На первых порах может быть не совсем очевидно, зачем нужен Blitz для php, в то время, когда этот язык, по сути дела, и есть шаблонизатор, только весьма навороченный.

Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии164

Практический CSS/JS: архивируем все!

Время на прочтение1 мин
Количество просмотров2.8K
Примечание: ниже частичный перевод статьи «Compress JavaScript and CSS without touching your application code», в которой описывается статичное сжатие CSS- и JS-файлов на сервере и корректная выдача их затем клиенту. Далее даны мои комментарии с более комплексным решением. Приношу извинения, если для кого-то тема будет слишком знакома или неинтересна: в Рунете нормальной статьи на данную конкретную тематику обнаружить не удалось.

Для обеспечения корректного архивирования вашего веб-контента, по-видимому, наиболее общий подход будет заключаться в выполнении по порядку следующих пунктов:

  • Проверить, умеет ли клиент принимать файлы в формате gzip-encoded.
  • Обеспечить соответствующий вывод на стороне сервера через gzip-функции, либо уповать на то, что всем этим займется непосредственно Apache.
  • Поиграться с .htaccess, чтобы обеспечить корректный content type.


читать дальше на webo.in →
Всего голосов 38: ↑36 и ↓2+34
Комментарии68

My Favourite Game

Время на прочтение1 мин
Количество просмотров858
Firefox 2Честно скажу — люблю Firefox. Люблю еще с тех времен, когда никакого Fx и в помине не было, зато был движок Gecko на котором работал Netscape Navigator, отныне павший в войне браузеров и официально прекращающий свою разработку и поддержку с конца 2007 года. Но не будем о грустном, сегодня доля Fx в России около 15 процентов (примерно столько же имеет и любимая многими Opera), а в Европе по некоторым данным и все 30, на сегодняшний день загружено почти 500 миллионов копий по всему миру. С каждым днем эти цифры постоянно увеличиваются.

Как известно, Fx поддерживает расширения, которые могут изменять и дополнять любую деталь как самого браузера, так и содержимого просматриваемых сайтов. Итак, свежее меню моего Firefox:
  • Adblock 0.5.3.043 — баннерорезка
  • Context Search 0.4.1 — выпадающее меню поисковиков по правой кнопке мыши в контексте страницы
  • CustomizeGoogle 0.68 — гуглотюнинг
  • Deepest Sender 0.8.0 — блог-клиент
  • del.icio.us Bookmarks 1.5.44 — социальные закладки в браузере
  • Download Statusbar 0.9.5.2 — интерфейс качалки в статусбаре
  • Flashblock 1.5.5 — флэшстоппер
  • Gmail Notifier 0.6.2.2 — gmail-уведомлялка
  • ImgLikeOpera 0.6.15 — экономия трафика на картинках
  • InfoLister 0.9f — генератор списка установленных плагинов и тем
  • Locationbar² 0.7.2.1 — удобная адресная строка
  • Magic's Video — Downloader 1.5.311207 — флэш-качалка
  • MinimizeToTray 0.0.1.2006102615+ — сворачивание в панель задач Виндоус
  • OpenSearchFox 0.1.5 — добавление поисковиков из любой формы поиска
  • Organize Search Engines 1.1.2 — организация поисковиков с помощью разделителей и папок
  • Paste and Go 2 0.8 — вставить и перейти (фишка opera)
  • PDF Download 1.0.0.0 — pdf-качалка
  • Restarter 1.0 — рестартер
  • Sxipper 1.2.4 — паролевставлялка
  • Tab Mix Plus 0.3.6 — настройка работы табов
Всего голосов 42: ↑24 и ↓18+6
Комментарии121

Динамический Favicon

Время на прочтение1 мин
Количество просмотров5.9K
Небольшое эссе о том, как менять Favicon без перезагрузки страницы.

Недавно перед нами стояла задача как динамически менять Favicon без перезагрузки страницы. Решение «в лоб», т.е. замена значения href у favicon link ничего не дала, пришлось крепко задуматься и начать пробовать все возможные альтернативные варианты. Сработал способ пересоздания ноды link в документе. Это удалось заставить работать везде, кроме Internet Explorer. Есть подозрение, что ему не нравится имя файла с иконкой или его формат (PNG).

собственно, код
Всего голосов 42: ↑40 и ↓2+38
Комментарии49

CSS Sprites: все, что вы знали, но боялись спросить

Время на прочтение1 мин
Количество просмотров6K
Сейчас уже много где написано и упомянуто про технику CSS sprites (aka CSS Image Maps). Я не буду открывать Америку и рассказывать о ней дотошно еще раз, а просто хочу привести несколько примеров и полезных ссылок. И пару советов из собственной практики.

Сама техника заключается в том, что мы создаем комбинированное изображение, из которого затем «вырезаем» с помощью свойств background-position нужный нам в данном случае кусок. На текущем уровне поддержки браузерами (я полагаю, что 99,9%) оно является просто must-have для любого уважающего себя интернет-ресурса (ибо позволяет сократить число запросов к серверу, отделить поведение от представления, возложить труд по анимации на CSS-движок браузера, а не на JS-движок, т.е. это будет работать даже с выключенными скриптами, и много-много прочих «вкусностей»). Но обо всем по порядку. Поехали.

читать дальше на webo.in →
Всего голосов 95: ↑92 и ↓3+89
Комментарии57

jQuery для верстальщика (часть 1): стрелочки для ссылочек

Время на прочтение2 мин
Количество просмотров2.8K
Эта мини-статья посвящена очень простой вещи, которая будет интересна, прежде всего, начинающим пользователям библиотеки <a href=«jquery.com>jQuery. Я покажу, как прикреплять к каждой ссылке небольшое изображение, чтобы выделить ее.

Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии54

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирована
Активность