Pull to refresh

Как я учил Javascript (и jQuery) на практике

Lumber room
Совершенно нет настроения уйти дальше содержания в заметках про Couchdb или Strophe JS и, возможно, XMPP вцелом, поэтому расскажу как я учил JavaScript.

Поскольку опыт показал, что без немедленного использования полученных знаний на практике, знания улетучиваются из моей головы с фантастической скоростью, я решил написать что-нибудь для себя полезное. И т.к. в тот момент я испытывал потребность в web-морде для Amarok и таковой (по крайней мере, понравившейся мне) нагуглить не удалось, вопрос приложения сил и полученных знаний решился сам собой.

Disclaimer: это статья не про «Как выучить JS за месяц» — я сам его не знаю.
Драму «Как закалялась сталь^H^H двигалась разработка» желающие могут посмотреть в git log.
Это просто описание без глубокомысленных выводов и в конце пара вопросов к тем, кто знает JS получше.

Читать дальше →
Total votes 10: ↑5 and ↓5 0
Views 2.3K
Comments 8

Автоматическое тестирование в PHP

IT systems testing *
Sandbox
Работа по TDD имеет очевидные преимущества: у разработчика всегда есть чётко описанная в виде теста цель, и он сразу узнает, когда она будет достигнута.
Тем не менее, есть и некоторые издержки: необходимо постоянно запускать один и тот же тест при изменениях в нем или в соответствующем классе, чтобы не пропустить тот самый момент истины. Вроде бы не такая уж и большая проблема, но постоянное переключение в консоль для проверки сделанных изменений на работоспособность, да и вообще помнить о необходимости этих манипуляций — лишнее рассеивание внимания.

Далее о том, как все это дело автоматизировать.

Читать дальше →
Total votes 30: ↑27 and ↓3 +24
Views 11K
Comments 15

QtDbus — тьма, покрытая тайною. Часть 1

C++ *Qt *
Наше путешествие началось Qt Graphics Framework, нас завербовали его светлой стороной, а потом мы долго получали граблями по разным частям тела.

Данная статья — это спин-офф основного сюжета. В ней сказ пойдет о QtDBus. Этот модуль Qt появился еще в четвертой версии и был хоть как-то документирован и снабжен примерами. Но грянул Qt 5.0, и уж не знаю по чему, но это привело к тому, что на сторону тьмы перешла вышеназванная дока..
Читать дальше →
Total votes 34: ↑32 and ↓2 +30
Views 25K
Comments 20

QtDbus Часть 2. Победное сияние чистого разума

Programming *Qt *
Tutorial
Предыдущая часть оставляла мрачные прогнозы, но все оказалось гораздо, гораздо, гораздо лучше.

Разбор бонус-левела
Итак, спасибо хабражителю KOL93, он обратил внимание на то, что у QDbusAbstractAdaptor должен быть родитель. Для меня это оказалось новостью, т.к. я сильно привык, что родителя может и не быть. Может это убережет еще кого-то от подобного ляпа.

Вдобавок мое незнание патернов, есть такой патен «Адаптер». Так вот QAbstractAdaptor собственно это он и есть. С учетом вышесказанного и замечания доки, что этот класс должен быть легковесным пример, действительно проясняющий подход либы должен быть таким:
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 8.2K
Comments 2

Скрипт, обрабатывающий события системы с помощю DBus

*nix *
Dbus — средство межпроцессного взаимодействия. Другими словами, средство позволяющее одной программе «отдавать приказы» другой программе.
В сети легко найти примеры, как из командной строки с помощью DBus управлять различными программами. Но слабо раскрыта тема, как отслеживать сигналы исходящие от других программ. В данной статье хочу исправить эту несправедливость и разобрать пример обработки событий получаемых от системы посредством Dbus.
Читать дальше →
Total votes 32: ↑28 and ↓4 +24
Views 17K
Comments 10

Awesome WM и Dbus

Lua *
Я думаю ни для кого не будет секретом, что у Awesome есть «узкое место», если мы запускаем внешний скрипт, который например должен считать данные из файла, или интернета и вернуть результат в виджет или саму систему, то мы периодически можем наблюдать явлениие «фриза», т.е. когда система перестает реагировать на нажатия клавиш и мыши до получения результата обработки (правда активный клиент при этом продолжает работать). Чаще всего это происходит при использовании io.popen или awful.util.pread
Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Views 12K
Comments 7

Спецификация D-Bus. Часть 1

Programming **nix *C *
Translation
Tutorial

Данная статья открывает серию публикаций с переводом спецификации D-Bus (Версия 0.36 от 2020-04-21). Поскольку у D-Bus нет логотипа, то в качестве обложки была использована картинка автобуса с D-образным корпусом. Для краткого введения в тему D-Bus рекомендую прочитать перевод обзорной статью написанной авторами D-Bus: https://habr.com/ru/post/529966/

Читать далее
Total votes 5: ↑5 and ↓0 +5
Views 6.9K
Comments 2