Архив за 31 марта 2014

    Начало апреля — особое время года. Это не только день смеха — именно сейчас на необъятных просторах нашей родины массово просыпаются ежи. Тощие, голодные, вонючие, они рвутся из своих зимовищ навстречу теплу. Уличные коты уже не могут спать спокойно — их миски с кормом, наполняемые заботливыми старушками, отныне должны кормить не только котов. Бомжи, чертыхаясь, отпинывают в сторону очередного ежа, который пришел отъедаться на помойку после долгой зимы. А автомобилисты тщетно выкручивают руль, чтобы не дать появиться на дороге еще одной лепешке в форме ежа.
    Изображение:Правильный и неправильный хват ежа

    Данная статья уникальный в своем роде материал — при обилии ежей вокруг нас, они остаются незамеченными большинством горожан. А все ежеводы либо покупают ежей в питомниках, либо берут ежа, когда тот, буквально, уже стучит в дверь дачного домика. Мы же попробуем поймать ежа своими силами. Этот текст — та редкая в нашей отрасли информация, которая не устареет через полгода, то, возможно единственное, полезное знание, которое вы сможете передать своим детям. Ну и вы же все равно работаете по ночам, так почему бы не сделать передышку и не прогуляться?Читать полностью »

Эмуляция нажатия мультимедийных клавиш в Windows, Linux и Mac OS X

В перечислении Qt::Key для события QKeyEvent определены 15 типов клавиш управления мультимедиа (см. таблицу в конце статьи). Все они могут быть использованы в фильтре событий (installEventFilter) для обработки нажатия клавиш на мультимедийной клавиатуре (позволяющей управлять аудиоустройством и воспроизведением).
В статье рассмотрена обратная задача — отправка в систему команд управления мультимедиа путем эмуляции нажатия соответствующих клавиш в Windows, Linux и MacOSX (операционные системы упорядочены по времени, потраченному на поиск решения). Представленный в статье материал может быть отправной точкой к дальнейшему изучению вопроса кроссплатформенной отправки событий в цикл обработки системных сообщений.
Читать полностью »

LUA в nginx: лапшакод в стиле inline php
Не стоит воспринимать данный пост всерьез. Несмотря на то, что это работает, в текущем виде данное решение является исключительно забавным концептом и не более того. Так же пост ни в коей мере не является усмешкой над php, который является одним из основных моих рабочих инструментов.

Думаю, что все разработчики на PHP (включая меня) так или иначе проходили через период, когда код представляет из себя жуткую смесь html и php, напиханных в одном файле. И речь не о шаблонах, а вообще о всей логике в лапше/спагетти-коде.
И в качестве концепта я решил к первому апреля набросать реализацию чего-то подобного, но на lua под nginx. Прямо как на картинке.
Читать полностью »

Аналитика и прочие управления требованиями — как раковая опухоль: все время норовят расползтись и пожрать всю доступную бумагу.

Нам это не нравится. Поэтому мы экспериментируем с форматами постановок: пользовательских ожиданий, брифов, функциональных требований, так называемых технических заданий и т. п.
Читать полностью »

Для студентов технических специальностей ВУЗов в качестве исторической справки.
Заведующая автомобильно-механическим отделением Лозовского филиала Харьковского автомобильно-дорожного техникума, преподаватель высшей категории, Кожокару Елена Владимировна

125 лет назад, 31 марта 1889 г., состоялось официальное открытие самой узнаваемой архитектурной достопримечательности Парижа — Эйфелевой башни. Теперь она известна во всем мире как символ Франции.

Во время строительства Густав Эйфель решил выгравировать под первым балконом башни, на всех четырёх её сторонах, имена 72-х самых известных французских инженеров, математиков и ученых, которые внесли весомый вклад в историю развития науки. Причем, какой-либо алфавитный или хронологический порядок следования имён на башне отсутствует.

История Эйфелевой башни и… «Начертательная Геометрия»
Эйфелева башня, Париж
Читать полностью »

Внесу и свой вклад в тренд темного программирования.
Многим из вас знакома дилемма: использовать ли DI в своем проекте или нет.
Поводы перехода на DI:

  • создание развитой системы авто-тестов
  • повторное использование кода в различном окружении, в том числе в различных проектах
  • использование 3rd-party библиотек, построенных на DI
  • изучение DI

Доводы не использовать DI:

  • усложнение понимания кода (поначалу)
  • необходимость конфигурирования контекста
  • изучение DI

Допустим, у нас есть большой рабочий проект, принято решение: переводить на DI. Разработчики чувствуют свой потенциал, уровень мидихлориан в крови зашкаливает.
Перевод legacy проекта на Dependency Injection. Путь Ситха
Путь тебя ждет тернистый и долгий, мой юный падаван.

Если проект большой и в нем много разработчиков, одним коммитом вряд ли удастся сделать такой рефакторинг. Поэтому мы используем несколько плохих практик, упростив переход, а затем от них избавимся.
Читать полностью »

Достаточно много интереса проявляется среди технического сообщества к Docker и Ansible, я надеюсь, что после прочтения данной статьи, вы тоже разделите этот интерес. Вы так же получите навыки практического применения Ansible и Docker в настройке сервера и окружения для Rails приложения.

«Почему бы просто не взять и использовать Heroku?», спросите вы.
Прежде всего, я могу запустить Docker и Ansible на любой машине, с любым хостинг провайдером. Во вторых, я предпочитаю гибкость, удобству. Я могу, таким же образом, запускать все что угодно, не только web приложения. Ну и напоследок, потому что я эксперементатор в душе, я получаю удовольствие от понимания того как оно все вместе работает. Фундаментальная основа Heroku это Linux контейнер. Та же технология лежит и в основе Docker'a. На самом деле, одним из девизов Docker'a является «Контейнеризация это новая виртуализация»
Читать полностью »

Как web страницу легко превратить в PDF?
Для меня было очень неожиданно то, что в хабе по Java практически нет информации по работе с PDF документами, поэтому я, из личного опыта, хочу на примере сервлета показать как легко можно любую web-страницу превратить в PDF документ.
Читать полностью »

В эпоху ЭЛТ-мониторов бытовало поверье, что чахлый кактус, стоящий рядом с экраном, может уберечь пользователя от вредных излучений. Хотя целебная сила кактуса — вещь довольно сомнительная, комнатные растения вполне могут быть полезны — они увлажняют воздух, вырабатывают кислород, радуют глаз и вообще улучшают микроклимат. Бразильский промышленный дизайнер Хулио Радеска разработал офисный стол со встроенной гидропонной системой для выращивания полезных комнатных растений. Ёмкости для цветов составляют одно целое со столешницей — никакой возни с горшками и землёй, нужно лишь периодически заливать питательный раствор в специальную воронку и иногда удалять пыль с листьев.

image
Читать полностью »

Ngbuild. Собираем Angular приложение без лишних слов Хочу поделиться своим билдером для Angular.js приложения.
Вкратце суть.
Есть файл, в котором объявляется наш главный модуль /app.js:

angular.module('App',['/some_path/my_module.js']);

В качестве требуемого модуля у него указан путь к другому файлу /some_path/my_module.js

angular.module('MyModule',[]);

Обращаемся к билдеру

ngbuild app.js app.build.js

И смотрим в файл /app.build.js

angular.module('MyModule',[]);
angular.module('App',['MyModule']);

Под катом будет еще несколько примеров использования и интеграции с gulp и grunt.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js